2
0

intc.h 897 B

12345678910111213141516171819202122232425262728
  1. #ifndef INTC_H
  2. #define INTC_H
  3. #include "qom/object.h"
  4. #define TYPE_INTERRUPT_STATS_PROVIDER "intctrl"
  5. typedef struct InterruptStatsProviderClass InterruptStatsProviderClass;
  6. DECLARE_CLASS_CHECKERS(InterruptStatsProviderClass, INTERRUPT_STATS_PROVIDER,
  7. TYPE_INTERRUPT_STATS_PROVIDER)
  8. #define INTERRUPT_STATS_PROVIDER(obj) \
  9. INTERFACE_CHECK(InterruptStatsProvider, (obj), \
  10. TYPE_INTERRUPT_STATS_PROVIDER)
  11. typedef struct InterruptStatsProvider InterruptStatsProvider;
  12. struct InterruptStatsProviderClass {
  13. InterfaceClass parent;
  14. /* The returned pointer and statistics must remain valid until
  15. * the BQL is next dropped.
  16. */
  17. bool (*get_statistics)(InterruptStatsProvider *obj, uint64_t **irq_counts,
  18. unsigned int *nb_irqs);
  19. void (*print_info)(InterruptStatsProvider *obj, GString *buf);
  20. };
  21. #endif