qemu/include/hw/intc/intc.h
<<
>>
Prefs
   1#ifndef INTC_H
   2#define INTC_H
   3
   4#include "qom/object.h"
   5
   6#define TYPE_INTERRUPT_STATS_PROVIDER "intctrl"
   7
   8#define INTERRUPT_STATS_PROVIDER_CLASS(klass) \
   9    OBJECT_CLASS_CHECK(InterruptStatsProviderClass, (klass), \
  10                       TYPE_INTERRUPT_STATS_PROVIDER)
  11#define INTERRUPT_STATS_PROVIDER_GET_CLASS(obj) \
  12    OBJECT_GET_CLASS(InterruptStatsProviderClass, (obj), \
  13                     TYPE_INTERRUPT_STATS_PROVIDER)
  14#define INTERRUPT_STATS_PROVIDER(obj) \
  15    INTERFACE_CHECK(InterruptStatsProvider, (obj), \
  16                    TYPE_INTERRUPT_STATS_PROVIDER)
  17
  18typedef struct InterruptStatsProvider InterruptStatsProvider;
  19
  20typedef struct InterruptStatsProviderClass {
  21    InterfaceClass parent;
  22
  23    /* The returned pointer and statistics must remain valid until
  24     * the BQL is next dropped.
  25     */
  26    bool (*get_statistics)(InterruptStatsProvider *obj, uint64_t **irq_counts,
  27                           unsigned int *nb_irqs);
  28    void (*print_info)(InterruptStatsProvider *obj, Monitor *mon);
  29} InterruptStatsProviderClass;
  30
  31#endif
  32