All of lore.kernel.org
 help / color / mirror / Atom feed
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



  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.