diff options
Diffstat (limited to 'tools/ioemu/patches/xen-platform-device')
-rw-r--r-- | tools/ioemu/patches/xen-platform-device | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/tools/ioemu/patches/xen-platform-device b/tools/ioemu/patches/xen-platform-device index 09dcaf6e5f..d2fcda7452 100644 --- a/tools/ioemu/patches/xen-platform-device +++ b/tools/ioemu/patches/xen-platform-device @@ -3,8 +3,8 @@ will come later. Index: ioemu/Makefile.target =================================================================== ---- ioemu.orig/Makefile.target 2006-08-17 19:50:18.866050726 +0100 -+++ ioemu/Makefile.target 2006-08-17 19:55:35.776020218 +0100 +--- ioemu.orig/Makefile.target 2006-10-24 14:41:01.000000000 +0100 ++++ ioemu/Makefile.target 2006-10-24 14:41:01.000000000 +0100 @@ -359,6 +359,7 @@ VL_OBJS+= usb-uhci.o VL_OBJS+= piix4acpi.o @@ -15,8 +15,8 @@ Index: ioemu/Makefile.target ifeq ($(TARGET_BASE_ARCH), ppc) Index: ioemu/hw/pc.c =================================================================== ---- ioemu.orig/hw/pc.c 2006-08-17 19:50:02.406869984 +0100 -+++ ioemu/hw/pc.c 2006-08-17 19:55:35.777020107 +0100 +--- ioemu.orig/hw/pc.c 2006-10-24 14:41:00.000000000 +0100 ++++ ioemu/hw/pc.c 2006-10-24 14:41:01.000000000 +0100 @@ -823,6 +823,9 @@ } #endif /* !CONFIG_DM */ @@ -30,8 +30,8 @@ Index: ioemu/hw/pc.c Index: ioemu/hw/xen_platform.c =================================================================== --- /dev/null 1970-01-01 00:00:00.000000000 +0000 -+++ ioemu/hw/xen_platform.c 2006-08-17 19:55:35.777020107 +0100 -@@ -0,0 +1,138 @@ ++++ ioemu/hw/xen_platform.c 2006-10-24 14:41:04.000000000 +0100 +@@ -0,0 +1,144 @@ +/* + * XEN platform fake pci device, formerly known as the event channel device + * @@ -131,7 +131,8 @@ Index: ioemu/hw/xen_platform.c + uint8_t bist; /* Built in self test */ + uint32_t base_address_regs[6]; + uint32_t reserved1; -+ uint32_t reserved2; ++ uint16_t subsystem_vendor_id; ++ uint16_t subsystem_id; + uint32_t rom_addr; + uint32_t reserved3; + uint32_t reserved4; @@ -150,16 +151,21 @@ Index: ioemu/hw/xen_platform.c + d = pci_register_device(bus, "xen-platform", sizeof(PCIDevice), -1, NULL, + NULL); + pch = (struct pci_config_header *)d->config; -+ pch->vendor_id = 0xfffd; -+ pch->device_id = 0x0101; ++ pch->vendor_id = 0x5853; ++ pch->device_id = 0x0001; + pch->command = 3; /* IO and memory access */ -+ pch->revision = 0; ++ pch->revision = 1; + pch->api = 0; + pch->subclass = 0x80; /* Other */ + pch->class = 0xff; /* Unclassified device class */ + pch->header_type = 0; + pch->interrupt_pin = 1; + ++ /* Microsoft WHQL requires non-zero subsystem IDs. */ ++ /* http://www.pcisig.com/reflector/msg02205.html. */ ++ pch->subsystem_vendor_id = pch->vendor_id; /* Duplicate vendor id. */ ++ pch->subsystem_id = 0x0001; /* Hardcode sub-id as 1. */ ++ + pci_register_io_region(d, 0, 0x100, PCI_ADDRESS_SPACE_IO, + platform_ioport_map); + @@ -172,9 +178,9 @@ Index: ioemu/hw/xen_platform.c +} Index: ioemu/vl.h =================================================================== ---- ioemu.orig/vl.h 2006-08-17 19:50:22.278673522 +0100 -+++ ioemu/vl.h 2006-08-17 19:55:35.778019997 +0100 -@@ -1209,6 +1209,9 @@ +--- ioemu.orig/vl.h 2006-10-24 14:41:01.000000000 +0100 ++++ ioemu/vl.h 2006-10-24 14:41:01.000000000 +0100 +@@ -1212,6 +1212,9 @@ void xenstore_check_new_media_present(int timeout); void xenstore_write_vncport(int vnc_display); |