mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 02:01:24 +01:00
tools/libxl: Skip missing PCI GSIs
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:f97f885c71("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> master commit:d3ac8fdce2master date: 2025-03-13 10:23:52 +0100
This commit is contained in:
1 parent
1ddf72bbdf
commit
f2ddbeb9dd
1 file changed
+8
-2
@@ -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;
|
||||
}
|
||||
|
||||
|
||||