[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH] vpci/header: cope with devices not having vpci allocated
On 25.05.2023 15:27, Roger Pau Monné wrote: > On Thu, May 25, 2023 at 11:05:52AM +0200, Jan Beulich wrote: >> On 25.05.2023 10:30, Roger Pau Monne wrote: >>> When traversing the list of pci devices assigned to a domain cope with >>> some of them not having the vpci struct allocated. It's possible for >>> the hardware domain to have read-only devices assigned that are not >>> handled by vPCI, or for unprivileged domains to have some devices >>> handled by an emulator different than vPCI. >>> >>> Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> >>> --- >>> xen/drivers/vpci/header.c | 14 ++++++++++++++ >>> 1 file changed, 14 insertions(+) >>> >>> diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c >>> index ec2e978a4e6b..3c1fcfb208cf 100644 >>> --- a/xen/drivers/vpci/header.c >>> +++ b/xen/drivers/vpci/header.c >>> @@ -289,6 +289,20 @@ static int modify_bars(const struct pci_dev *pdev, >>> uint16_t cmd, bool rom_only) >>> */ >>> for_each_pdev ( pdev->domain, tmp ) >>> { >>> + if ( !tmp->vpci ) >>> + /* >>> + * For the hardware domain it's possible to have devices >>> assigned >>> + * to it that are not handled by vPCI, either because those are >>> + * read-only devices, or because vPCI setup has failed. >> >> So this really is a forward looking comment, becoming true only (aiui) >> when my patch also makes it in. > > The r/o part yes, device setup failing is already possible. > > I think it's fine to have the r/o part added already. > >>> + * For unprivileged domains we should aim for passthrough >>> devices >>> + * to be capable of being handled by different emulators, and >>> hence >>> + * a domain could have some devices handled by vPCI and others >>> by >>> + * QEMU for example, and the later won't have pdev->vpci >>> + * allocated. >> >> This, otoh, I don't understand: Do we really intend to have pass-through >> devices handled by qemu or alike, for PVH? Or are you thinking of hybrid >> HVM (some vPCI, some qemu)? > > I was thinking about hybrid. > >> Plus, when considering hybrid guests, won't >> we need to take into account BARs of externally handled devices as well, >> to avoid overlaps? > > On that scenario we would request non-overlapping BARs for things to > work as expected, I think that's already the case for HVM if you mix > QEMU and demu for the same domain. > >> In any event, until the DomU side picture is more clear, I'd suggest we >> avoid making statements pinning down expectations. That said, you're the >> maintainer, so if you really want it like this, so be it. > > OK, I don't have a strong opinion, so I'm fine with dropping the "For > unprivileged domains ..." paragraph. > > Would you like me to resend with that dropped? Yes, please, because ... > I assume you also want the commit message adjusted to not mention > unprivileged domains? ... some adjustment will be wanted. Mentioning (vague) plans in the description is fine with me, if you want to. Jan
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |