aboutsummaryrefslogtreecommitdiffstats
path: root/tools/ioemu/patches/xen-platform-device
diff options
context:
space:
mode:
Diffstat (limited to 'tools/ioemu/patches/xen-platform-device')
-rw-r--r--tools/ioemu/patches/xen-platform-device32
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);