diff options
Diffstat (limited to 'hw/pc.h')
-rw-r--r-- | hw/pc.h | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -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); |