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
   8typedef struct InterruptStatsProviderClass InterruptStatsProviderClass;
   9DECLARE_CLASS_CHECKERS(InterruptStatsProviderClass, INTERRUPT_STATS_PROVIDER,
  10                       TYPE_INTERRUPT_STATS_PROVIDER)
  11#define INTERRUPT_STATS_PROVIDER(obj) \
  12    INTERFACE_CHECK(InterruptStatsProvider, (obj), \
  13                    TYPE_INTERRUPT_STATS_PROVIDER)
  14
  15typedef struct InterruptStatsProvider InterruptStatsProvider;
  16
  17struct InterruptStatsProviderClass {
  18    InterfaceClass parent;
  19
  20    /* The returned pointer and statistics must remain valid until
  21     * the BQL is next dropped.
  22     */
  23    bool (*get_statistics)(InterruptStatsProvider *obj, uint64_t **irq_counts,
  24                           unsigned int *nb_irqs);
  25    void (*print_info)(InterruptStatsProvider *obj, Monitor *mon);
  26};
  27
  28#endif
  29