Hello!
The original patches to support pcie-root severely restricted what
could
plug into what because in real hardware you can't plug a PCI device into
a PCIe slot (physically it doesn't work)
But how do you know whether the device is PCI or PCIe ? I don't see anything like
this in the code, i see that for example "all network cards are PCI", which is,
BTW, not true in the real world.
The behavior now is that if libvirt is auto-assigning a slot for a
device, it will put it into a hotpluggable true PCI slot, but if you
manually assign it to a slot that is non-hotpluggable and/or PCIe, it
will be allowed.
But when i tried to manually assign virtio-PCI to PCIe i simply got "Device requires
standard PCI slot" and that was all. I had to make patch N4 in order to overcome
this.
BTW, I'm still wondering if the arm machinetype really does
support the
supposedly Interl-x86-specific i82801b11-bridge device
Yes, it works fine. Just devices behind it cannot get MSI-X enabled. By the way, you
should be using virtio-pci with PC guests for a while, does it also suffer from this
restriction there ?
(and the new > controller devices - ioh3420 (pcie-root-port),
x3130-upstream
(pcie-switch-upstream-port), and xio3130-downstream
(pcie-switch-downstream-port).
Didn't try that, but don't see why they would not work. PCI is just PCI after
all, everything behing the controller is pretty much standard and arch-independent.
Kind regards,
Pavel Fedin
Expert Engineer
Samsung Electronics Research center Russia