aboutsummaryrefslogtreecommitdiff
path: root/hw/pc.h
diff options
context:
space:
mode:
Diffstat (limited to 'hw/pc.h')
-rw-r--r--hw/pc.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/hw/pc.h b/hw/pc.h
index abf02decac..8cfec6c0dc 100644
--- a/hw/pc.h
+++ b/hw/pc.h
@@ -3,6 +3,8 @@
#include "qemu-common.h"
#include "ioport.h"
+#include "isa.h"
+#include "fdc.h"
/* PC-style peripherals (also used by other machines). */
@@ -36,6 +38,14 @@ uint32_t pic_intack_read(PicState2 *s);
void pic_info(Monitor *mon);
void irq_info(Monitor *mon);
+/* ISA */
+typedef struct isa_irq_state {
+ qemu_irq *i8259;
+ qemu_irq *ioapic;
+} IsaIrqState;
+
+void isa_irq_handler(void *opaque, int n, int level);
+
/* i8254.c */
#define PIT_FREQ 1193182
@@ -78,6 +88,29 @@ void rtc_set_date(RTCState *s, const struct tm *tm);
extern int fd_bootchk;
void pc_register_ferr_irq(qemu_irq irq);
+void pc_cmos_set_s3_resume(void *opaque, int irq, int level);
+void pc_acpi_smi_interrupt(void *opaque, int irq, int level);
+
+void pc_cpus_init(const char *cpu_model);
+void pc_memory_init(ram_addr_t ram_size,
+ const char *kernel_filename,
+ const char *kernel_cmdline,
+ const char *initrd_filename,
+ ram_addr_t *below_4g_mem_size_p,
+ ram_addr_t *above_4g_mem_size_p);
+qemu_irq *pc_allocate_cpu_irq(void);
+void pc_vga_init(PCIBus *pci_bus);
+void pc_basic_device_init(qemu_irq *isa_irq,
+ FDCtrl **floppy_controller,
+ RTCState **rtc_state);
+void pc_init_ne2k_isa(NICInfo *nd);
+#ifdef HAS_AUDIO
+void pc_audio_init (PCIBus *pci_bus, qemu_irq *pic);
+#endif
+void pc_cmos_init(ram_addr_t ram_size, ram_addr_t above_4g_mem_size,
+ const char *boot_device, DriveInfo **hd_table,
+ FDCtrl *floppy_controller, RTCState *s);
+void pc_pci_device_init(PCIBus *pci_bus);
void ioport_set_a20(int enable);
int ioport_get_a20(void);