[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [Qemu-devel] [PATCH RFC V3 04/12] xen: Add the Xen platform pci device
On Fri, Sep 17, 2010 at 12:14:59PM +0100, anthony.perard@xxxxxxxxxx wrote: > +static int xen_platform_initfn(PCIDevice *dev) > +{ > + PCIXenPlatformState *d = DO_UPCAST(PCIXenPlatformState, pci_dev, dev); > + uint8_t *pci_conf; > + > + pci_conf = d->pci_dev.config; > + > + pci_config_set_vendor_id(pci_conf, PCI_VENDOR_ID_XENSOURCE); > + pci_config_set_device_id(pci_conf, 0x0001); > + pci_set_word(pci_conf + PCI_COMMAND, PCI_COMMAND_IO | > PCI_COMMAND_MEMORY); > + > + pci_config_set_revision(pci_conf, 1); > + pci_config_set_prog_interface(pci_conf, 0); > + > + pci_config_set_class(pci_conf, PCI_CLASS_OTHERS << 8 | 0x80); > + > + pci_conf[PCI_HEADER_TYPE] = PCI_HEADER_TYPE_NORMAL; Eliminate this line. Don't overwrite multifunction bit. Please refer to 498238687fd3a2bf3efb32694732f88ceac72e99 6eab3de16d36c48a983366b09d0a0029a5260bc3 > + pci_conf[PCI_INTERRUPT_PIN] = 1; > + > + /* Microsoft WHQL requires non-zero subsystem IDs. */ > + /* http://www.pcisig.com/reflector/msg02205.html. */ > + pci_set_word(pci_conf + PCI_SUBSYSTEM_VENDOR_ID, > pci_conf[PCI_VENDOR_ID]); > + pci_set_word(pci_conf + PCI_SUBSYSTEM_ID, 0x0001); > + > + pci_register_bar(&d->pci_dev, 0, 0x100, > + PCI_BASE_ADDRESS_SPACE_IO, platform_ioport_map); > + > + /* reserve 16MB mmio address for share memory*/ > + pci_register_bar(&d->pci_dev, 1, 0x1000000, > + PCI_BASE_ADDRESS_MEM_PREFETCH, platform_mmio_map); > + > + platform_fixed_ioport_init(d); > + > + return 0; > +} -- yamahata _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |