diff options
-rw-r--r-- | hw/apic.c | 1 | ||||
-rw-r--r-- | hw/apic.h | 20 | ||||
-rw-r--r-- | hw/ioapic.c | 1 | ||||
-rw-r--r-- | hw/mc146818rtc.c | 1 | ||||
-rw-r--r-- | hw/pc.c | 1 | ||||
-rw-r--r-- | hw/pc.h | 17 |
6 files changed, 24 insertions, 17 deletions
@@ -18,6 +18,7 @@ */ #include "hw.h" #include "pc.h" +#include "apic.h" #include "pci.h" #include "msix.h" #include "qemu-timer.h" diff --git a/hw/apic.h b/hw/apic.h new file mode 100644 index 0000000000..132fcab4d0 --- /dev/null +++ b/hw/apic.h @@ -0,0 +1,20 @@ +#ifndef APIC_H +#define APIC_H + +typedef struct IOAPICState IOAPICState; +void apic_deliver_irq(uint8_t dest, uint8_t dest_mode, + uint8_t delivery_mode, + uint8_t vector_num, uint8_t polarity, + uint8_t trigger_mode); +int apic_init(CPUState *env); +int apic_accept_pic_intr(CPUState *env); +void apic_deliver_pic_intr(CPUState *env, int level); +int apic_get_interrupt(CPUState *env); +qemu_irq *ioapic_init(void); +void ioapic_set_irq(void *opaque, int vector, int level); +void apic_reset_irq_delivered(void); +int apic_get_irq_delivered(void); + +int cpu_is_bsp(CPUState *env); + +#endif diff --git a/hw/ioapic.c b/hw/ioapic.c index b0ad78f241..7ad8018518 100644 --- a/hw/ioapic.c +++ b/hw/ioapic.c @@ -22,6 +22,7 @@ #include "hw.h" #include "pc.h" +#include "apic.h" #include "qemu-timer.h" #include "host-utils.h" diff --git a/hw/mc146818rtc.c b/hw/mc146818rtc.c index a53785593f..89a423e08f 100644 --- a/hw/mc146818rtc.c +++ b/hw/mc146818rtc.c @@ -25,6 +25,7 @@ #include "qemu-timer.h" #include "sysemu.h" #include "pc.h" +#include "apic.h" #include "isa.h" #include "hpet_emul.h" @@ -23,6 +23,7 @@ */ #include "hw.h" #include "pc.h" +#include "apic.h" #include "fdc.h" #include "pci.h" #include "vmware_vga.h" @@ -35,21 +35,6 @@ uint32_t pic_intack_read(PicState2 *s); void pic_info(Monitor *mon); void irq_info(Monitor *mon); -/* APIC */ -typedef struct IOAPICState IOAPICState; -void apic_deliver_irq(uint8_t dest, uint8_t dest_mode, - uint8_t delivery_mode, - uint8_t vector_num, uint8_t polarity, - uint8_t trigger_mode); -int apic_init(CPUState *env); -int apic_accept_pic_intr(CPUState *env); -void apic_deliver_pic_intr(CPUState *env, int level); -int apic_get_interrupt(CPUState *env); -qemu_irq *ioapic_init(void); -void ioapic_set_irq(void *opaque, int vector, int level); -void apic_reset_irq_delivered(void); -int apic_get_irq_delivered(void); - /* i8254.c */ #define PIT_FREQ 1193182 @@ -150,8 +135,6 @@ void isa_cirrus_vga_init(void); void isa_ne2000_init(int base, int irq, NICInfo *nd); -int cpu_is_bsp(CPUState *env); - /* e820 types */ #define E820_RAM 1 #define E820_RESERVED 2 |