On Wed, Sep 25, 2024 at 10:44 AM Edgar E. Iglesias <edgar.igles...@amd.com> wrote:
> On Wed, Sep 25, 2024 at 05:38:13PM +0100, Julien Grall wrote: > > Hi Edgar, > > > > On 25/09/2024 17:34, Edgar E. Iglesias wrote: > > > On Wed, Sep 25, 2024 at 08:44:41AM +0100, Julien Grall wrote: > > > > Hi, > > > > On 24/09/2024 17:23, Edgar E. Iglesias wrote: > > > > > From: Stewart Hildebrand <stewart.hildebr...@amd.com> > > > > > > > > > > When virtio-pci is specified in the dom0less domU properties, > create a > > > > > virtio-pci node in the guest's device tree. Set up an mmio handler > with > > > > > a register for the guest to poll when the backend has connected and > > > > > virtio-pci bus is ready to be probed. Grant tables may be used by > > > > > specifying virtio-pci = "grants";. > > > > > > > > > > [Edgar: Use GPEX PCI INTX interrupt swizzling (from PCI specs). > > > > > Make grants iommu-map cover the entire PCI bus. > > > > > Add virtio-pci-ranges to specify memory-map for direct-mapped > guests. > > > > > Document virtio-pci dom0less fdt bindings.] > > > > > Signed-off-by: Stewart Hildebrand <stewart.hildebr...@amd.com> > > > > > Signed-off-by: Edgar E. Iglesias <edgar.igles...@amd.com> > > > > > --- > > > > > docs/misc/arm/device-tree/booting.txt | 21 +++ > > > > > xen/arch/arm/dom0less-build.c | 238 > ++++++++++++++++++++++++++ > > > > > xen/arch/arm/include/asm/kernel.h | 15 ++ > > > > > 3 files changed, 274 insertions(+) > > > > > > > > > > diff --git a/docs/misc/arm/device-tree/booting.txt > b/docs/misc/arm/device-tree/booting.txt > > > > > index 3a04f5c57f..82f3bd7026 100644 > > > > > --- a/docs/misc/arm/device-tree/booting.txt > > > > > +++ b/docs/misc/arm/device-tree/booting.txt > > > > > @@ -276,6 +276,27 @@ with the following properties: > > > > > passed through. This option is the default if this property > is missing > > > > > and the user does not provide the device partial device > tree for the domain. > > > > > +- virtio-pci > > > > > > > > Similar question to the other patches, why is this specific to > virtio PCI? > > > > QEMU (or another device module) is free to emulate whatever it wants > behind > > > > the PCI hosbtridge. > > > > > > There's no hard limitatino to only virtio-pci devices it's more of a > > > recommendation that PVH guests should not use "emulated" devices but > > > there's nothing stopping it. > > > > Could you provide a bit more details where this requirement is coming > from? > > For instance, I would expect we would need to do some emulation to boot > > Windows on Arm. > > > > I see. I guess it just came from my mental model, I thought part of the > philosophy behind PVH was to avoid emulated devices and use > paravirualized (virtio or something else) or passthrough whereever > possible (except for the basic set of devices needed like vGIC, vuart, > MMU). > For example, we would recommend users to use virtio-net in favor of an emulated eepro1000 or whatever other NIC models available in QEMU. But there is no hard requirement nor limitation, a user can connect any available PCI device from the QEMU set. Another thing we're looking to do is to minimize the QEMU build (Kconfig + configure flags) to create a small build with only the stuff needed for virtio-pci. Best regards, Edgar