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

Reply via email to