1 #ifndef APIC_H 2 #define APIC_H 3 4 5 /* apic.c */ 6 void apic_deliver_irq(uint8_t dest, uint8_t dest_mode, uint8_t delivery_mode, 7 uint8_t vector_num, uint8_t trigger_mode); 8 int apic_accept_pic_intr(DeviceState *s); 9 void apic_deliver_pic_intr(DeviceState *s, int level); 10 void apic_deliver_nmi(DeviceState *d); 11 int apic_get_interrupt(DeviceState *s); 12 void apic_reset_irq_delivered(void); 13 int apic_get_irq_delivered(void); 14 void cpu_set_apic_base(DeviceState *s, uint64_t val); 15 uint64_t cpu_get_apic_base(DeviceState *s); 16 void cpu_set_apic_tpr(DeviceState *s, uint8_t val); 17 uint8_t cpu_get_apic_tpr(DeviceState *s); 18 void apic_init_reset(DeviceState *s); 19 void apic_sipi(DeviceState *s); 20 void apic_poll_irq(DeviceState *d); 21 void apic_designate_bsp(DeviceState *d, bool bsp); 22 int apic_get_highest_priority_irr(DeviceState *dev); 23 24 /* pc.c */ 25 DeviceState *cpu_get_current_apic(void); 26 27 #endif 28