From e1a237441dbe31873d6d9c7d9eee2f1653b5f9e8 Mon Sep 17 00:00:00 2001 From: bellard Date: Mon, 5 Apr 2004 20:26:03 +0000 Subject: [PATCH] port 92 access git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@708 c046a42c-6fe2-441c-8c8c-71466251a162 --- hw/pc.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/hw/pc.c b/hw/pc.c index 5431a41ac3..e62d56da1c 100644 --- a/hw/pc.c +++ b/hw/pc.c @@ -177,6 +177,17 @@ static uint32_t speaker_ioport_read(void *opaque, uint32_t addr) (dummy_refresh_clock << 4); } +static void ioport92_write(void *opaque, uint32_t addr, uint32_t val) +{ + cpu_x86_set_a20(cpu_single_env, (val >> 1) & 1); + /* XXX: bit 0 is fast reset */ +} + +static uint32_t ioport92_read(void *opaque, uint32_t addr) +{ + return ((cpu_single_env->a20_mask >> 20) & 1) << 1; +} + /***********************************************************/ /* Bochs BIOS debug ports */ @@ -355,6 +366,9 @@ void pc_init(int ram_size, int vga_ram_size, int boot_device, register_ioport_read(0x61, 1, 1, speaker_ioport_read, NULL); register_ioport_write(0x61, 1, 1, speaker_ioport_write, NULL); + register_ioport_read(0x92, 1, 1, ioport92_read, NULL); + register_ioport_write(0x92, 1, 1, ioport92_write, NULL); + pic_init(); pit_init(0x40, 0); -- GitLab