From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
To: Julien Grall <julien@xen.org>
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>,
<xen-devel@lists.xenproject.org>, <sstabellini@kernel.org>,
<bertrand.marquis@arm.com>, <michal.orzel@amd.com>,
<Volodymyr_Babchuk@epam.com>, <dpsmith@apertussolutions.com>
Subject: Re: [PATCH v1 2/6] xen/arm: Reserve resources for virtio-pci
Date: Tue, 24 Sep 2024 19:11:41 +0200 [thread overview]
Message-ID: <ZvLyzZ8n-QgrYOCW@zapote> (raw)
In-Reply-To: <465cb8b5-5f46-42ce-be8f-a38c1c23a805@xen.org>
On Tue, Sep 24, 2024 at 05:35:20PM +0100, Julien Grall wrote:
> Hi Edgar,
>
> On 24/09/2024 17:23, Edgar E. Iglesias wrote:
> > From: "Edgar E. Iglesias" <edgar.iglesias@amd.com>
> >
> > Reserve memory ranges and interrupt lines for an externally
> > emulated PCI controller (e.g by QEMU) dedicated to hosting
> > Virtio devices and potentially other emulated devices.
> >
> > Signed-off-by: Edgar E. Iglesias <edgar.iglesias@amd.com>
> > ---
> > xen/include/public/arch-arm.h | 17 +++++++++++++++++
> > 1 file changed, 17 insertions(+)
> >
> > diff --git a/xen/include/public/arch-arm.h b/xen/include/public/arch-arm.h
> > index e19f0251a6..654b827715 100644
> > --- a/xen/include/public/arch-arm.h
> > +++ b/xen/include/public/arch-arm.h
> > @@ -494,6 +494,20 @@ typedef uint64_t xen_callback_t;
> > #define GUEST_RAM1_BASE xen_mk_ullong(0x0200000000) /* 952GB of RAM @ 8GB */
> > #define GUEST_RAM1_SIZE xen_mk_ullong(0xee00000000)
> > +/* Virtio PCI - Ordered by decreasing size to keep things aligned */
> > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_TYPE xen_mk_ullong(0x43000000)
> > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE xen_mk_ullong(0x0f000000000)
> > +#define GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE xen_mk_ullong(0x100000000)
> > +
> > +#define GUEST_VIRTIO_PCI_ECAM_BASE (GUEST_VIRTIO_PCI_PREFETCH_MEM_BASE + \
> > + GUEST_VIRTIO_PCI_PREFETCH_MEM_SIZE)
> > +#define GUEST_VIRTIO_PCI_ECAM_SIZE xen_mk_ullong(0x10000000)
> > +
> > +#define GUEST_VIRTIO_PCI_MEM_TYPE xen_mk_ullong(0x02000000)
> > +#define GUEST_VIRTIO_PCI_MEM_BASE (GUEST_VIRTIO_PCI_ECAM_BASE + \
> > + GUEST_VIRTIO_PCI_ECAM_SIZE)
> > +#define GUEST_VIRTIO_PCI_MEM_SIZE xen_mk_ullong(0x00002000000)
>
> Why is this specific to virtio PCI? However, I am not entirely convinced we
> should have a second PCI hostbridge exposed to the guest for a few reasons:
> 1. This require to reserve yet another range in the address space (could
> be solved with a more dynamic layout)
> 2. From your instructions, the guest needs to explicitly do a PCI rescan.
>
> So rather than having a second hostbridge, have you considered to extend the
> existing hostbridge (implemented in Xen) to support a mix of physical PCI
> device and virtual one?
>
Thanks Julien,
It's briefly come up in a couple of discussions but I haven't looked
carefully at it. It is a good idea and it's probably worth prototyping
to see what the gaps are in hypercall interfaces, QEMU support etc.
Cheers,
Edgar
next prev parent reply other threads:[~2024-09-24 17:12 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-24 16:23 [PATCH v1 0/6] xen/arm: Add Virtio-PCI for dom0less on ARM Edgar E. Iglesias
2024-09-24 16:23 ` [PATCH v1 1/6] xen/arm: Decrease size of the 2nd ram bank Edgar E. Iglesias
2024-09-24 16:30 ` Julien Grall
2024-09-24 23:34 ` Stefano Stabellini
2024-09-24 23:40 ` Edgar E. Iglesias
2024-09-24 16:23 ` [PATCH v1 2/6] xen/arm: Reserve resources for virtio-pci Edgar E. Iglesias
2024-09-24 16:35 ` Julien Grall
2024-09-24 17:11 ` Edgar E. Iglesias [this message]
2024-09-24 17:24 ` Julien Grall
2024-09-24 23:16 ` Stefano Stabellini
2024-09-25 7:36 ` Julien Grall
2024-09-25 18:09 ` Stefano Stabellini
2024-09-24 16:23 ` [PATCH v1 3/6] xen/arm: create dom0less virtio-pci DT node Edgar E. Iglesias
2024-09-24 23:55 ` Stefano Stabellini
2024-09-25 13:03 ` Stewart Hildebrand
2024-09-26 22:15 ` Edgar E. Iglesias
2024-09-25 2:48 ` Stewart Hildebrand
2024-09-25 7:44 ` Julien Grall
2024-09-25 16:34 ` Edgar E. Iglesias
2024-09-25 16:38 ` Julien Grall
2024-09-25 16:44 ` Edgar E. Iglesias
2024-09-25 16:49 ` Edgar E. Iglesias
2024-09-25 17:45 ` Julien Grall
2024-09-25 18:42 ` Edgar E. Iglesias
2024-09-25 22:20 ` Stefano Stabellini
2024-10-01 19:30 ` Stewart Hildebrand
2024-09-24 16:23 ` [PATCH v1 4/6] xen/arm: io: Add support for mmio background regions Edgar E. Iglesias
2024-09-24 23:59 ` Stefano Stabellini
2024-09-24 16:23 ` [PATCH v1 5/6] xen/arm: io: Add a read-const writes-ignored mmio handler Edgar E. Iglesias
2024-09-25 0:02 ` Stefano Stabellini
2024-09-24 16:23 ` [PATCH v1 6/6] xen/arm: dom0less: Add a background PCI ECAM mmio region Edgar E. Iglesias
2024-09-25 0:07 ` Stefano Stabellini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZvLyzZ8n-QgrYOCW@zapote \
--to=edgar.iglesias@amd.com \
--cc=Volodymyr_Babchuk@epam.com \
--cc=bertrand.marquis@arm.com \
--cc=dpsmith@apertussolutions.com \
--cc=edgar.iglesias@gmail.com \
--cc=julien@xen.org \
--cc=michal.orzel@amd.com \
--cc=sstabellini@kernel.org \
--cc=xen-devel@lists.xenproject.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.