On Sun, 2013-03-17 at 14:19 +0200, Michael S. Tsirkin wrote: > On Thu, Mar 14, 2013 at 04:01:35PM -0600, Alex Williamson wrote: > > Windows will fail to start drivers for devices with an Endpoint type > > PCIe capability attached to a Root Complex (code 10 - Device cannot > > start). The proper type for such a device is Root Complex Integrated > > Endpoint. Devices don't care which they are, so do this conversion > > automatically. > > > > This allows the Windows driver to load for nec-usb-xhci when attached > > to pcie.0 of a q35 machine. > > > > Signed-off-by: Alex Williamson <alex.william...@redhat.com> > > I think it's a bit ugly from the API perspective, > in that an integrated endpoint is not converted to a regular one. > > I think it would be cleaner to have pcie_cap_init do exactly > what it's told to do, maybe failing if you give it an > incorrect configuration. On top of this add > pcie_endpoint_cap_init which sets the type explicitly. > Hmm? > > Not critical, so applied as is for now.
Thanks! I like the pcie_endpoint_cap_init idea, I'll make a wrapper that adds that and selects the correct type for the bus. Thanks, Alex