>> Also as a heads up, I've added support for auto-inserting PCIe switch
>> between the PXB and GPUs in libvirt to attach multiple devices to a SMMU
>> node per libvirt's documentation - "If you intend to plug multiple
>> devices into a pcie-expander-bus, you must connect a
>> pcie-switch-upstream-port to the pcie-root-port that is plugged into the
>> pcie-expander-bus, and multiple pcie-switch-downstream-ports to the
>> pcie-switch-upstream-port". Future unit-tests should follow this
>> topology configuration.
>
> Ok. Could you please give me an example Qemu equivalent command option,
> if possible, for the above case. I am not that familiar with libvirt
and I would
> also like to test the above scenario.
You can use "-device x3130-upstream" for the upstream switch port, and
"-device xio3130-downstream" for the downstream port:
-device pxb-pcie,bus_nr=250,id=pci.1,bus=pcie.0,addr=0x1 \
-device pcie-root-port,id=pci.2,bus=pci.1,addr=0x0 \
-device x3130-upstream,id=pci.3,bus=pci.2,addr=0x0 \
-device xio3130-downstream,id=pci.4,bus=pci.3,addr=0x0,chassis=17,port=1 \
-device vfio-pci,host=0009:01:00.0,id=hostdev0,bus=pci.4,addr=0x0 \
-device arm-smmuv3-nested,pci-bus=pci.1
-Nathan