ia64/xen-unstable

changeset 11905:a77e38f63785

[HVM] Windows HCT requires non-zero subvendor details in platform PCI device.

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
author kfraser@localhost.localdomain
date Thu Oct 19 16:32:11 2006 +0100 (2006-10-19)
parents f5321161c649
children e2de39c56f92
files tools/ioemu/hw/xen_platform.c
line diff
     1.1 --- a/tools/ioemu/hw/xen_platform.c	Thu Oct 19 15:53:12 2006 +0100
     1.2 +++ b/tools/ioemu/hw/xen_platform.c	Thu Oct 19 16:32:11 2006 +0100
     1.3 @@ -97,7 +97,8 @@ struct pci_config_header {
     1.4      uint8_t  bist; /* Built in self test */
     1.5      uint32_t base_address_regs[6];
     1.6      uint32_t reserved1;
     1.7 -    uint32_t reserved2;
     1.8 +    uint16_t subsystem_vendor_id;
     1.9 +    uint16_t subsystem_id;
    1.10      uint32_t rom_addr;
    1.11      uint32_t reserved3;
    1.12      uint32_t reserved4;
    1.13 @@ -126,6 +127,11 @@ void pci_xen_platform_init(PCIBus *bus)
    1.14      pch->header_type = 0;
    1.15      pch->interrupt_pin = 1;
    1.16  
    1.17 +    /* Microsoft WHQL requires non-zero subsystem IDs. */
    1.18 +    /* http://www.pcisig.com/reflector/msg02205.html.  */
    1.19 +    pch->subsystem_vendor_id = pch->vendor_id; /* Duplicate vendor id.  */
    1.20 +    pch->subsystem_id        = 0x0001;         /* Hardcode sub-id as 1. */
    1.21 +
    1.22      pci_register_io_region(d, 0, 0x100, PCI_ADDRESS_SPACE_IO,
    1.23                             platform_ioport_map);
    1.24