aboutsummaryrefslogtreecommitdiffstats
path: root/hw
diff options
context:
space:
mode:
authorBlue Swirl <blauwirbel@gmail.com>2010-03-21 19:46:26 +0000
committerBlue Swirl <blauwirbel@gmail.com>2010-03-21 19:46:26 +0000
commitaa28b9bf9ba0904766b15e7ab8d62a76cb3225da (patch)
tree3afc291dfc479de4ca7613c1316bda8aa2389909 /hw
parentaaf12c25312c49620777a232e8f770357450a603 (diff)
Move x86 specific PC declarations to a separate file
x86 definitions (especially CPUState uses) prevent many files from being compiled within libhw. Move x86 specific declarations (APIC stuff) to a separate file. Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw')
-rw-r--r--hw/apic.c1
-rw-r--r--hw/apic.h20
-rw-r--r--hw/ioapic.c1
-rw-r--r--hw/mc146818rtc.c1
-rw-r--r--hw/pc.c1
-rw-r--r--hw/pc.h17
6 files changed, 24 insertions, 17 deletions
diff --git a/hw/apic.c b/hw/apic.c
index 3c90f4c84..9029dad61 100644
--- a/hw/apic.c
+++ b/hw/apic.c
@@ -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 000000000..132fcab4d
--- /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 b0ad78f24..7ad801851 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 a53785593..89a423e08 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"
diff --git a/hw/pc.c b/hw/pc.c
index 2b3063df8..ba14df067 100644
--- a/hw/pc.c
+++ b/hw/pc.c
@@ -23,6 +23,7 @@
*/
#include "hw.h"
#include "pc.h"
+#include "apic.h"
#include "fdc.h"
#include "pci.h"
#include "vmware_vga.h"
diff --git a/hw/pc.h b/hw/pc.h
index d54959aa5..5bbe39abf 100644
--- a/hw/pc.h
+++ b/hw/pc.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