diff options
-rw-r--r-- | .rootkeys | 1 | ||||
-rw-r--r-- | tools/ioemu/hw/pc.c | 1 | ||||
-rw-r--r-- | tools/ioemu/hw/port-e9.c | 47 | ||||
-rw-r--r-- | tools/ioemu/target-i386-dm/Makefile | 2 |
4 files changed, 50 insertions, 1 deletions
@@ -593,6 +593,7 @@ 428d0d84lyG0XDg5MxLMSee3MWgq3g tools/ioemu/hw/pc.c 428d0d84HWR3Q7dEESycfJ7hSWdGig tools/ioemu/hw/pci.c 428d0d84Noyn4ik0UX1E7OdfuFdrIw tools/ioemu/hw/pckbd.c +4294307e0KIA9jaU_1OMIGCcNeLdeQ tools/ioemu/hw/port-e9.c 428d0d840SMURRjsz9V96rwt-naynw tools/ioemu/hw/ppc.c 428d0d84MI7kZftH_c0FK1qiiyQBZg tools/ioemu/hw/ppc_chrp.c 428d0d859-xwA89jmzFk6x9UyXjAeA tools/ioemu/hw/ppc_prep.c diff --git a/tools/ioemu/hw/pc.c b/tools/ioemu/hw/pc.c index 11bc03dd4a..d27ac4058e 100644 --- a/tools/ioemu/hw/pc.c +++ b/tools/ioemu/hw/pc.c @@ -572,4 +572,5 @@ void pc_init(int ram_size, int vga_ram_size, int boot_device, if (pci_enabled) { pci_bios_init(); } + port_e9_init(); } diff --git a/tools/ioemu/hw/port-e9.c b/tools/ioemu/hw/port-e9.c new file mode 100644 index 0000000000..374ec108d5 --- /dev/null +++ b/tools/ioemu/hw/port-e9.c @@ -0,0 +1,47 @@ +/* + * QEMU Port 0xe9 hack + * + * Copyright (c) 2000-2004 E. Marty, the bochs team, D. Decotigny + * + * Permission is hereby granted, free of charge, to any person obtaining a + * copy of this software and associated documentation files (the "Software"), + * to deal in the Software without restriction, including without limitation + * the rights to use, copy, modify, merge, publish, distribute, sublicense, + * and/or sell copies of the Software, and to permit persons to whom the + * Software is furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + * DEALINGS IN THE SOFTWARE. + */ +#include <stdio.h> +#include <unistd.h> +#include <inttypes.h> + +#include "vl.h" +#include "exec-all.h" + +static void bochs_e9_write(void *opaque, uint32_t address, uint32_t data) +{ + fputc(data, logfile); +} + +static uint32_t bochs_e9_read(void *opaque, uint32_t address) +{ + return 0xE9; +} + +void port_e9_init () +{ + register_ioport_write(0xe9, 1, 1, bochs_e9_write, NULL); + register_ioport_read (0xe9, 1, 1, bochs_e9_read, NULL); +} + + diff --git a/tools/ioemu/target-i386-dm/Makefile b/tools/ioemu/target-i386-dm/Makefile index 945f38178e..74a0d3a563 100644 --- a/tools/ioemu/target-i386-dm/Makefile +++ b/tools/ioemu/target-i386-dm/Makefile @@ -271,7 +271,7 @@ endif # Hardware support VL_OBJS+= ide.o ne2000.o pckbd.o vga.o dma.o -VL_OBJS+= fdc.o mc146818rtc.o serial.o i8259.o i8254.o pc.o +VL_OBJS+= fdc.o mc146818rtc.o serial.o i8259.o i8254.o pc.o port-e9.o ifeq ($(TARGET_ARCH), ppc) VL_OBJS+= ppc.o ide.o ne2000.o pckbd.o vga.o $(SOUND_HW) dma.o $(AUDIODRV) |