apic.h 1.0 KB

1234567891011121314151617181920212223242526272829303132
  1. #ifndef APIC_H
  2. #define APIC_H
  3. #include "qemu-common.h"
  4. /* apic.c */
  5. void apic_deliver_irq(uint8_t dest, uint8_t dest_mode, uint8_t delivery_mode,
  6. uint8_t vector_num, uint8_t trigger_mode);
  7. int apic_accept_pic_intr(DeviceState *s);
  8. void apic_deliver_pic_intr(DeviceState *s, int level);
  9. void apic_deliver_nmi(DeviceState *d);
  10. int apic_get_interrupt(DeviceState *s);
  11. void apic_reset_irq_delivered(void);
  12. int apic_get_irq_delivered(void);
  13. void cpu_set_apic_base(DeviceState *s, uint64_t val);
  14. uint64_t cpu_get_apic_base(DeviceState *s);
  15. void cpu_set_apic_tpr(DeviceState *s, uint8_t val);
  16. uint8_t cpu_get_apic_tpr(DeviceState *s);
  17. void apic_init_reset(DeviceState *s);
  18. void apic_sipi(DeviceState *s);
  19. void apic_handle_tpr_access_report(DeviceState *d, target_ulong ip,
  20. TPRAccess access);
  21. void apic_poll_irq(DeviceState *d);
  22. void apic_designate_bsp(DeviceState *d);
  23. /* pc.c */
  24. DeviceState *cpu_get_current_apic(void);
  25. /* cpu.c */
  26. bool cpu_is_bsp(X86CPU *cpu);
  27. #endif