--- linux-2.6-xen-sparse/drivers/xen/fbfront/xenkbd.c | 6 ++++++ tools/ioemu/hw/cirrus_vga.c | 4 ++++ tools/ioemu/hw/ide.c | 4 ++++ tools/ioemu/hw/rtl8139.c | 6 ++++-- 4 files changed, 18 insertions(+), 2 deletions(-) Index: build-64-unstable-13762/linux-2.6-xen-sparse/drivers/xen/fbfront/xenkbd.c =================================================================== --- build-64-unstable-13762.orig/linux-2.6-xen-sparse/drivers/xen/fbfront/xenkbd.c +++ build-64-unstable-13762/linux-2.6-xen-sparse/drivers/xen/fbfront/xenkbd.c @@ -123,7 +123,13 @@ int __devinit xenkbd_probe(struct xenbus set_bit(i, kbd->keybit); kbd->name = "Xen Virtual Keyboard"; + kbd->id.bustype = BUS_PCI; + kbd->id.vendor = 0x5853; /* XenSource, Inc. */ + kbd->id.product = 0x0002; ptr->name = "Xen Virtual Pointer"; + ptr->id.bustype = BUS_PCI; + ptr->id.vendor = 0x5853; /* XenSource, Inc. */ + ptr->id.product = 0x0003; input_set_abs_params(ptr, ABS_X, 0, XENFB_WIDTH, 0, 0); input_set_abs_params(ptr, ABS_Y, 0, XENFB_HEIGHT, 0, 0); Index: build-64-unstable-13762/tools/ioemu/hw/rtl8139.c =================================================================== --- build-64-unstable-13762.orig/tools/ioemu/hw/rtl8139.c +++ build-64-unstable-13762/tools/ioemu/hw/rtl8139.c @@ -3423,8 +3423,10 @@ void pci_rtl8139_init(PCIBus *bus, NICIn pci_conf[0x0e] = 0x00; /* header_type */ pci_conf[0x3d] = 1; /* interrupt pin 0 */ pci_conf[0x34] = 0xdc; - pci_conf[0x2c] = pci_conf[0x00]; // same as Vendor ID - pci_conf[0x2d] = pci_conf[0x01]; + pci_conf[0x2c] = 0x53; /* subsystem vendor: XenSource */ + pci_conf[0x2d] = 0x58; + pci_conf[0x2e] = 0x04; /* subsystem device */ + pci_conf[0x2f] = 0x00; s = &d->rtl8139; Index: build-64-unstable-13762/tools/ioemu/hw/cirrus_vga.c =================================================================== --- build-64-unstable-13762.orig/tools/ioemu/hw/cirrus_vga.c +++ build-64-unstable-13762/tools/ioemu/hw/cirrus_vga.c @@ -3340,6 +3340,10 @@ void pci_cirrus_vga_init(PCIBus *bus, Di pci_conf[0x0a] = PCI_CLASS_SUB_VGA; pci_conf[0x0b] = PCI_CLASS_BASE_DISPLAY; pci_conf[0x0e] = PCI_CLASS_HEADERTYPE_00h; + pci_conf[0x2c] = 0x53; /* subsystem vendor: XenSource */ + pci_conf[0x2d] = 0x58; + pci_conf[0x2e] = 0x05; /* subsystem device */ + pci_conf[0x2f] = 0x00; /* setup VGA */ s = &d->cirrus_vga; Index: build-64-unstable-13762/tools/ioemu/hw/ide.c =================================================================== --- build-64-unstable-13762.orig/tools/ioemu/hw/ide.c +++ build-64-unstable-13762/tools/ioemu/hw/ide.c @@ -2502,6 +2502,10 @@ void pci_piix3_ide_init(PCIBus *bus, Blo pci_conf[0x0a] = 0x01; // class_sub = PCI_IDE pci_conf[0x0b] = 0x01; // class_base = PCI_mass_storage pci_conf[0x0e] = 0x00; // header_type + pci_conf[0x2c] = 0x53; /* subsystem vendor: XenSource */ + pci_conf[0x2d] = 0x58; + pci_conf[0x2e] = 0x06; /* subsystem device */ + pci_conf[0x2f] = 0x00; pci_register_io_region((PCIDevice *)d, 4, 0x10, PCI_ADDRESS_SPACE_IO, bmdma_map);