xref: /qemu/include/hw/i386/apic.h (revision b5ee0468e9d28c6bd47cce70f90b5032dd10ecc2)
1aa28b9bfSBlue Swirl #ifndef APIC_H
2aa28b9bfSBlue Swirl #define APIC_H
3aa28b9bfSBlue Swirl 
492a16d7aSBlue Swirl 
5cf6d64bfSBlue Swirl /* apic.c */
6*b5ee0468SBui Quang Minh void apic_set_max_apic_id(uint32_t max_apic_id);
792a16d7aSBlue Swirl int apic_accept_pic_intr(DeviceState *s);
892a16d7aSBlue Swirl void apic_deliver_pic_intr(DeviceState *s, int level);
902c09195SJan Kiszka void apic_deliver_nmi(DeviceState *d);
1092a16d7aSBlue Swirl int apic_get_interrupt(DeviceState *s);
1192a16d7aSBlue Swirl void cpu_set_apic_base(DeviceState *s, uint64_t val);
1292a16d7aSBlue Swirl uint64_t cpu_get_apic_base(DeviceState *s);
1392a16d7aSBlue Swirl void cpu_set_apic_tpr(DeviceState *s, uint8_t val);
1492a16d7aSBlue Swirl uint8_t cpu_get_apic_tpr(DeviceState *s);
1592a16d7aSBlue Swirl void apic_init_reset(DeviceState *s);
1692a16d7aSBlue Swirl void apic_sipi(DeviceState *s);
175d62c43aSJan Kiszka void apic_poll_irq(DeviceState *d);
189cb11fd7SNadav Amit void apic_designate_bsp(DeviceState *d, bool bsp);
192cb9f06eSSergio Andres Gomez Del Real int apic_get_highest_priority_irr(DeviceState *dev);
20b2101358SBui Quang Minh int apic_msr_read(int index, uint64_t *val);
21b2101358SBui Quang Minh int apic_msr_write(int index, uint64_t val);
22b2101358SBui Quang Minh bool is_x2apic_mode(DeviceState *d);
23aa28b9bfSBlue Swirl 
240e26b7b8SBlue Swirl /* pc.c */
2592a16d7aSBlue Swirl DeviceState *cpu_get_current_apic(void);
26aa28b9bfSBlue Swirl 
27aa28b9bfSBlue Swirl #endif
28