* [PATCH v2 0/2] tools: Fix PVH dom0 passthrough with legacy irq @ 2025-03-08 0:17 Jason Andryuk 2025-03-08 0:17 ` [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() Jason Andryuk 2025-03-08 0:17 ` [PATCH v2 2/2] tools/libxl: Skip missing PCI GSIs Jason Andryuk 0 siblings, 2 replies; 7+ messages in thread From: Jason Andryuk @ 2025-03-08 0:17 UTC (permalink / raw) To: xen-devel Cc: Roger Pau Monné, Jason Andryuk, Anthony PERARD, Juergen Gross A PCI device may not have a legacy IRQ assigned. This series allows passthrough of such a device to a guest. It relies on a Linux change to xen-pciback to also handle missing legacy IRQs: https://lore.kernel.org/xen-devel/20250226200134.29759-1-jason.andryuk@amd.com/T/#u Jason Andryuk (2): tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() tools/libxl: Skip missing PCI GSIs tools/libs/ctrl/xc_linux.c | 11 ++++++++--- tools/libs/light/libxl_x86.c | 10 ++++++++-- 2 files changed, 16 insertions(+), 5 deletions(-) -- 2.34.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() 2025-03-08 0:17 [PATCH v2 0/2] tools: Fix PVH dom0 passthrough with legacy irq Jason Andryuk @ 2025-03-08 0:17 ` Jason Andryuk 2025-03-12 15:54 ` Anthony PERARD 2025-03-12 15:56 ` Andrew Cooper 2025-03-08 0:17 ` [PATCH v2 2/2] tools/libxl: Skip missing PCI GSIs Jason Andryuk 1 sibling, 2 replies; 7+ messages in thread From: Jason Andryuk @ 2025-03-08 0:17 UTC (permalink / raw) To: xen-devel Cc: Roger Pau Monné, Jason Andryuk, Anthony PERARD, Juergen Gross It is valid for a PCI device to not have a legacy IRQ. In that case, do not print an error to keep the lgs clean. This relies on pciback being updated to return -ENOENT for a missing GSI. Fixes: b93e5981d258 ("tools: Add new function to get gsi from dev") Signed-off-by: Jason Andryuk <jason.andryuk@amd.com> --- v2: Use Xen code style Print sbdf --- tools/libs/ctrl/xc_linux.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/tools/libs/ctrl/xc_linux.c b/tools/libs/ctrl/xc_linux.c index 92591e49a1..2b2d7b3196 100644 --- a/tools/libs/ctrl/xc_linux.c +++ b/tools/libs/ctrl/xc_linux.c @@ -77,9 +77,14 @@ int xc_pcidev_get_gsi(xc_interface *xch, uint32_t sbdf) ret = ioctl(xencall_fd(xch->xcall), IOCTL_PRIVCMD_PCIDEV_GET_GSI, &dev_gsi); - if (ret < 0) { - PERROR("Failed to get gsi from dev"); - } else { + if ( ret < 0 ) + { + if ( errno != ENOENT ) + PERROR("Failed to get gsi for dev %04x:%02x:%02x.%u", + sbdf >> 16, (sbdf >> 8) & 0xff, sbdf >> 3 & 0x1f, sbdf & 0x7); + } + else + { ret = dev_gsi.gsi; } -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() 2025-03-08 0:17 ` [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() Jason Andryuk @ 2025-03-12 15:54 ` Anthony PERARD 2025-03-12 15:56 ` Andrew Cooper 1 sibling, 0 replies; 7+ messages in thread From: Anthony PERARD @ 2025-03-12 15:54 UTC (permalink / raw) To: Jason Andryuk; +Cc: xen-devel, Roger Pau Monné, Juergen Gross On Fri, Mar 07, 2025 at 07:17:10PM -0500, Jason Andryuk wrote: > It is valid for a PCI device to not have a legacy IRQ. In that case, do > not print an error to keep the lgs clean. > > This relies on pciback being updated to return -ENOENT for a missing > GSI. > > Fixes: b93e5981d258 ("tools: Add new function to get gsi from dev") > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech> Thanks, -- Anthony Perard | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() 2025-03-08 0:17 ` [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() Jason Andryuk 2025-03-12 15:54 ` Anthony PERARD @ 2025-03-12 15:56 ` Andrew Cooper 2025-03-12 17:09 ` Jason Andryuk 1 sibling, 1 reply; 7+ messages in thread From: Andrew Cooper @ 2025-03-12 15:56 UTC (permalink / raw) To: Jason Andryuk, xen-devel Cc: Roger Pau Monné, Anthony PERARD, Juergen Gross On 08/03/2025 12:17 am, Jason Andryuk wrote: > It is valid for a PCI device to not have a legacy IRQ. In that case, do > not print an error to keep the lgs clean. This logs looks a little too clean of o's. ~Andrew ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() 2025-03-12 15:56 ` Andrew Cooper @ 2025-03-12 17:09 ` Jason Andryuk 0 siblings, 0 replies; 7+ messages in thread From: Jason Andryuk @ 2025-03-12 17:09 UTC (permalink / raw) To: Andrew Cooper, xen-devel Cc: Roger Pau Monné, Anthony PERARD, Juergen Gross On 2025-03-12 11:56, Andrew Cooper wrote: > On 08/03/2025 12:17 am, Jason Andryuk wrote: >> It is valid for a PCI device to not have a legacy IRQ. In that case, do >> not print an error to keep the lgs clean. > > This logs looks a little too clean of o's. Oops. Can this be fixed on commit, please? Thanks, Jason ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 2/2] tools/libxl: Skip missing PCI GSIs 2025-03-08 0:17 [PATCH v2 0/2] tools: Fix PVH dom0 passthrough with legacy irq Jason Andryuk 2025-03-08 0:17 ` [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() Jason Andryuk @ 2025-03-08 0:17 ` Jason Andryuk 2025-03-12 15:57 ` Anthony PERARD 1 sibling, 1 reply; 7+ messages in thread From: Jason Andryuk @ 2025-03-08 0:17 UTC (permalink / raw) To: xen-devel Cc: Roger Pau Monné, Jason Andryuk, Anthony PERARD, Juergen Gross A PCI device may not have a legacy IRQ. In that case, we don't need to do anything, so don't fail in libxl__arch_hvm_map_gsi() and libxl__arch_hvm_unmap_gsi(). Requires an updated pciback to return -ENOENT. Fixes: f97f885c7198 ("tools: Add new function to do PIRQ (un)map on PVH dom0") Signed-off-by: Jason Andryuk <jason.andryuk@amd.com> --- v2: Use gsi < 0 - Jan --- tools/libs/light/libxl_x86.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/libs/light/libxl_x86.c b/tools/libs/light/libxl_x86.c index a3164a3077..0a7f64ad46 100644 --- a/tools/libs/light/libxl_x86.c +++ b/tools/libs/light/libxl_x86.c @@ -901,7 +901,10 @@ int libxl__arch_hvm_map_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid) int pirq = -1, gsi, r; gsi = xc_pcidev_get_gsi(CTX->xch, sbdf); - if (gsi < 0) { + if (gsi < 0 && errno == ENOENT) { + LOGD(DEBUG, domid, "xc_pcidev_get_gsi no gsi"); + return 0; + } else if (gsi < 0) { return ERROR_FAIL; } @@ -925,7 +928,10 @@ int libxl__arch_hvm_unmap_gsi(libxl__gc *gc, uint32_t sbdf, uint32_t domid) int pirq = -1, gsi, r; gsi = xc_pcidev_get_gsi(CTX->xch, sbdf); - if (gsi < 0) { + if (gsi < 0 && errno == ENOENT) { + LOGD(DEBUG, domid, "xc_pcidev_get_gsi no gsi"); + return 0; + } else if (gsi < 0) { return ERROR_FAIL; } -- 2.34.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/2] tools/libxl: Skip missing PCI GSIs 2025-03-08 0:17 ` [PATCH v2 2/2] tools/libxl: Skip missing PCI GSIs Jason Andryuk @ 2025-03-12 15:57 ` Anthony PERARD 0 siblings, 0 replies; 7+ messages in thread From: Anthony PERARD @ 2025-03-12 15:57 UTC (permalink / raw) To: Jason Andryuk; +Cc: xen-devel, Roger Pau Monné, Juergen Gross On Fri, Mar 07, 2025 at 07:17:11PM -0500, Jason Andryuk wrote: > A PCI device may not have a legacy IRQ. In that case, we don't need to > do anything, so don't fail in libxl__arch_hvm_map_gsi() and > libxl__arch_hvm_unmap_gsi(). > > Requires an updated pciback to return -ENOENT. > > Fixes: f97f885c7198 ("tools: Add new function to do PIRQ (un)map on PVH dom0") > Signed-off-by: Jason Andryuk <jason.andryuk@amd.com> Reviewed-by: Anthony PERARD <anthony.perard@vates.tech> Thanks -- Anthony Perard | Vates XCP-ng Developer XCP-ng & Xen Orchestra - Vates solutions web: https://vates.tech ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2025-03-12 17:10 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-03-08 0:17 [PATCH v2 0/2] tools: Fix PVH dom0 passthrough with legacy irq Jason Andryuk 2025-03-08 0:17 ` [PATCH v2 1/2] tools/ctrl: Silence missing GSI in xc_pcidev_get_gsi() Jason Andryuk 2025-03-12 15:54 ` Anthony PERARD 2025-03-12 15:56 ` Andrew Cooper 2025-03-12 17:09 ` Jason Andryuk 2025-03-08 0:17 ` [PATCH v2 2/2] tools/libxl: Skip missing PCI GSIs Jason Andryuk 2025-03-12 15:57 ` Anthony PERARD
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.