apic: convert to qdev
[qemu.git] / hw / apic.h
blob77078caa03611eb90bddcc3cbfa040cc0f01d9c5
1 #ifndef APIC_H
2 #define APIC_H
4 /* apic.c */
5 typedef struct APICState APICState;
6 void apic_deliver_irq(uint8_t dest, uint8_t dest_mode,
7 uint8_t delivery_mode,
8 uint8_t vector_num, uint8_t polarity,
9 uint8_t trigger_mode);
10 APICState *apic_init(void *env, uint8_t apic_id);
11 int apic_accept_pic_intr(APICState *s);
12 void apic_deliver_pic_intr(APICState *s, int level);
13 int apic_get_interrupt(APICState *s);
14 void apic_reset_irq_delivered(void);
15 int apic_get_irq_delivered(void);
16 void cpu_set_apic_base(APICState *s, uint64_t val);
17 uint64_t cpu_get_apic_base(APICState *s);
18 void cpu_set_apic_tpr(APICState *s, uint8_t val);
19 uint8_t cpu_get_apic_tpr(APICState *s);
20 void apic_init_reset(APICState *s);
21 void apic_sipi(APICState *s);
23 /* pc.c */
24 int cpu_is_bsp(CPUState *env);
25 APICState *cpu_get_current_apic(void);
27 #endif