[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [RFC PATCH 0/5] hw/arm/virt: Add support for user-creatable nested S
From: |
Daniel P . Berrangé |
Subject: |
Re: [RFC PATCH 0/5] hw/arm/virt: Add support for user-creatable nested SMMUv3 |
Date: |
Fri, 13 Dec 2024 11:58:02 +0000 |
User-agent: |
Mutt/2.2.13 (2024-03-09) |
On Fri, Nov 22, 2024 at 05:38:54PM +0000, Shameerali Kolothum Thodi via wrote:
>
>
> > -----Original Message-----
> > From: Nathan Chen <nathanc@nvidia.com>
> > Sent: Friday, November 22, 2024 1:42 AM
> > To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>
> > Cc: qemu-arm@nongnu.org; qemu-devel@nongnu.org;
> > eric.auger@redhat.com; peter.maydell@linaro.org; jgg@nvidia.com;
> > ddutile@redhat.com; Linuxarm <linuxarm@huawei.com>; Wangzhou (B)
> > <wangzhou1@hisilicon.com>; jiangkunkun <jiangkunkun@huawei.com>;
> > Jonathan Cameron <jonathan.cameron@huawei.com>;
> > zhangfei.gao@linaro.org; Nicolin Chen <nicolinc@nvidia.com>
> > Subject: Re: [RFC PATCH 0/5] hw/arm/virt: Add support for user-creatable
> > nested SMMUv3
> >
> > >> 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
>
> Thanks. Just wondering why libvirt mandates usage of pcie-switch for multiple
> device plugging rather than just using pcie-root-ports?
Libvirt does not rquire use of pcie-switch. It supports them, but in the
absence of app requested configs, libvirt will always just populate
pcie-root-port devices. switches are something that has to be explicitly
asked for, and I don't see much need todo that.
With regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|