[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH for-4.21] tools/libxc: fix xc_physdev_map_pirq_msi() with PCI segments != 0
- To: xen-devel@xxxxxxxxxxxxxxxxxxxx
- From: Roger Pau Monne <roger.pau@xxxxxxxxxx>
- Date: Fri, 17 Oct 2025 16:14:34 +0200
- Arc-authentication-results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=citrix.com; dmarc=pass action=none header.from=citrix.com; dkim=pass header.d=citrix.com; arc=none
- Arc-message-signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=0gQj1pMsmb7+ZVEz8JVRpOUrAauqwu3sRsy1uxzpjAw=; b=FF1JorMKLzR9XODvpoyysiCsw1ja4vTLGNhuukajlSlAy9ISQO7TJfSFxFVYhEa1Zdw4zdEhxoi8stZhRGYFMtYZsRwzA4YB+DAfO4HWSgdGPPOTD2TFKrq9gXZtirPnv5iDA1i3YKCxH8qJlJ5X8tvxnrlUXRRxPQC+7d7ENgRPToKX+zmocO9/w1GYEosBAw/QcoIywR2pVzkq2Dv4mWayS9xKMaAcHI4BRVNGSkGD/IFPuP/xLS5Jjj0E69JwFxCVMUWZkPjbxo5MZrC7Abd4XwdAZQv36S/ykoTWtHAg13gjy7dZdBF2yy15zTdc0uyLBUGrW8XrwauyT5pKPQ==
- Arc-seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Cvke+1iwVeq2SVODEsoXdlgtn6EOmFNsxeNMlQlyOxl8IwTqiIlpSFzTd9y7o+Y39YeV1WjSyApHdII5/SwboYO6SQwtYF21/x8qKqgW2fPeIlIKzL4iKexE0S61EkV4OuE97urEqEgtrROR8dPisQZS/oOuOLrJ3+ZwTqMkrUq7cdo9oLWs3XaSsxSBb3pyYMsd+RNcFlDRgFD00BXk6AGRoKWDXMacN87dE7uMNN3u1rAh+xSK6igYBShN3L/f7iP6FG4x9YFYTSIXtDM2kKjOG99MQqw5S1Drvy7OcmYvSlr/2fqHcBOiVt8wJwaWaqeceidw8t6hzlphWh9O9Q==
- Authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=citrix.com;
- Cc: oleksii.kurochko@xxxxxxxxx, Roger Pau Monne <roger.pau@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Juergen Gross <jgross@xxxxxxxx>
- Delivery-date: Fri, 17 Oct 2025 14:15:05 +0000
- List-id: Xen developer discussion <xen-devel.lists.xenproject.org>
Otherwise it's not possible for device models to map IRQs of devices on
segments different than 0. Keep the same function prototype and pass the
segment in the high 16bits of the bus parameter, like it's done for the
hypercall itself.
Fixes: 7620c0cf9a4d ("PCI multi-seg: add new physdevop-s")
Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx>
---
I think it's 4.21 material, as otherwise it's not possible to passthrough
PCI devices on segments != 0.
---
tools/libs/ctrl/xc_physdev.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/libs/ctrl/xc_physdev.c b/tools/libs/ctrl/xc_physdev.c
index 25e686d7b389..1307d6836d72 100644
--- a/tools/libs/ctrl/xc_physdev.c
+++ b/tools/libs/ctrl/xc_physdev.c
@@ -79,7 +79,7 @@ int xc_physdev_map_pirq_msi(xc_interface *xch,
}
memset(&map, 0, sizeof(struct physdev_map_pirq));
map.domid = domid;
- map.type = MAP_PIRQ_TYPE_MSI;
+ map.type = MAP_PIRQ_TYPE_MSI_SEG;
map.index = index;
map.pirq = *pirq;
map.bus = bus;
--
2.51.0
|