From patchwork Wed May 15 07:14:18 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: CLEMENT MATHIEU--DRIF X-Patchwork-Id: 1935303 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@legolas.ozlabs.org Authentication-Results: legolas.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=eviden.com header.i=@eviden.com header.a=rsa-sha256 header.s=mail header.b=PSBl5WzT; dkim-atps=neutral Authentication-Results: legolas.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org (client-ip=209.51.188.17; helo=lists.gnu.org; envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org; receiver=patchwork.ozlabs.org) Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by legolas.ozlabs.org (Postfix) with ESMTPS id 4VfPhb4R0Hz20KD for ; Wed, 15 May 2024 17:18:23 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s78ql-0004dl-HB; Wed, 15 May 2024 03:14:55 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s78qd-0004cF-67 for qemu-devel@nongnu.org; Wed, 15 May 2024 03:14:47 -0400 Received: from smarthost3.eviden.com ([80.78.11.84]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s78qM-0000oW-UP for qemu-devel@nongnu.org; Wed, 15 May 2024 03:14:46 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1715757271; x=1747293271; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=wfT87Hm9vtsWcq1mrFUqY+kwxQjnIxyJ2Nm4l9OdZrY=; b=PSBl5WzT2fBTFmuivdXtkHGhW8FHbQiRTFCVQDbCMb7l5euOsZBFvywH lInAqblsoxlIGlCUzFaG2RkS67IQtvPocvvhT6GhPikuTWfTn/x5k7YfZ 0p0aTFhYCyWiYDqXo67VEEqSIdeAIMZTWphZ3lQ4wwTEna+PnE5fSB+db 4baqViHeDx5bE6Xa2zTkjIzJrr23Nc7aPXEoBWejSJMkr+M0GPqWtIuk8 fpuTMjDYKe8Teo7vXXg+VkGe/rnQJgcAaVB1jFFbNKnL66xBKE8ynC5iz odyh/uYf1ciN0TQubtA1ufI05VD4LtY8na1Ooe5AnbpvigHK8ZYx2E5wh A==; X-IronPort-AV: E=Sophos;i="6.08,161,1712613600"; d="scan'208";a="12581806" X-MGA-submission: MDFxmMsDuGfN1DEXDP745mYfXRJTnO+YtbpkBI5Dc/tCVXC6OTp6kJZ7qpsqHaDNFhCC2wAttAYlerD3J0gnijTR31/r0cOKJvWrlwKB9BmYlzTT7xUkxbAXU8HsmLsBgCEqqsS/OtHo8kk/QbxwwSs7PCRWphhwykXKQSMgUylj/w== Received: from mail-vi1eur04lp2050.outbound.protection.outlook.com (HELO outbound.mail.protection.outlook.com) ([104.47.14.50]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 May 2024 09:14:20 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e1WEdYKSYd4k7HkV5iFjyCkF5mh9OdkEExYpp6LAF33YoRi0ayvLnp5cUKTSZTQ4TYc/AloA2dN3QWxFciLhFzBKyi9tJkadO8CnOO7FRw0WkYUzFVbZs6ccou+RSXYLpdJrzMW2VKsWM4M1CywrIgD0fX5VL99AjpKBmuIBv65RjY9qA62nwN5RyYp4XG4S0GmDQxyT09lrLpxy7z6WCWKg6vs4Unea2WUH9nWTJ+Ldbx7wUPwti3gArSDdVgQzZdpXY5IKOKV5Fo863lrpdtTic/XdkyFDuYozWMLMTjkZL+yYVE3Vz0a9v0a2Ow3MihkpSEUnwXlmMsSczYQ/LA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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=wfT87Hm9vtsWcq1mrFUqY+kwxQjnIxyJ2Nm4l9OdZrY=; b=QnnC4fkckX7DzbvHSfZGyjn1EPD3VBO1Hsm/VrjohE6S2NUTAzV3uLSyIclOayCBB3zziNLpcdx6KxnjpGHUVUiqW/E3Caixtqt9m0vhzL/Ic9VNw++k2yhds6GjwnyvyVFdEvYusVmbXHGsmXF3aPVYudisvaQNydGWXxOFWjTJywUIXtG8zbdV949XuwamnnjrCCHjcceo1LTbMeO5LtjTgc1Xwe62UhnCYhiBqhBQiJcK39gOe83a0VvwsagqDyWKZZXl5gH27iPpB+OSkCEy/5cK3yucWjTQxeyp6NtXgbUm41tdfxfsLTS+i1GEM6IH0J0fxH05FC3nUeRPpA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=eviden.com; dmarc=pass action=none header.from=eviden.com; dkim=pass header.d=eviden.com; arc=none Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by VI1PR07MB6718.eurprd07.prod.outlook.com (2603:10a6:800:18f::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7587.27; Wed, 15 May 2024 07:14:18 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::fbd7:ca71:b636:6f9d]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::fbd7:ca71:b636:6f9d%5]) with mapi id 15.20.7544.056; Wed, 15 May 2024 07:14:18 +0000 From: CLEMENT MATHIEU--DRIF To: "qemu-devel@nongnu.org" CC: "jasowang@redhat.com" , "zhenzhong.duan@intel.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "joao.m.martins@oracle.com" , "peterx@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v2 18/25] intel_iommu: implement the get_memory_region_pasid iommu operation Thread-Topic: [PATCH ats_vtd v2 18/25] intel_iommu: implement the get_memory_region_pasid iommu operation Thread-Index: AQHappeA+wCa4WX+yUqp2IC7H1FoVg== Date: Wed, 15 May 2024 07:14:18 +0000 Message-ID: <20240515071057.33990-19-clement.mathieu--drif@eviden.com> References: <20240515071057.33990-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240515071057.33990-1-clement.mathieu--drif@eviden.com> Accept-Language: en-GB, fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=eviden.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: AM8PR07MB7602:EE_|VI1PR07MB6718:EE_ x-ms-office365-filtering-correlation-id: 00ef1aac-0b2a-41d2-8d82-08dc74aea2ef x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|366007|376005|1800799015|38070700009; x-microsoft-antispam-message-info: =?utf-8?q?jVJ3vIw9KmVI1+c/QEubLEH0s3Cwbx8?= =?utf-8?q?6kOblqtaFRCDBjbszkJCgty/4VlvUJjcNcYCSf8R5ej7qrw2zx7Y/syVguy7ZZi6s?= =?utf-8?q?ZVhGDVuTwtcCU685rQBZdRLoZvIXnxXsxg2v7ygaJ0YvFq8WI2qkW63OAyfPCfV7C?= =?utf-8?q?GzwIhchYfolax/WbsVYi81prXFBrQa0IMTiEVg/dzv+ZiaNI/ZeLiOlfWc9Ez+uXK?= =?utf-8?q?OfF2nPvwfh94RcgooIYMTF5OHuniXnox7h7U9m4rO3dFWUiDU/9bXOzkalX83y5LD?= =?utf-8?q?7+5mbfcwWvcHj0ZJ25nB7P8z/nr5T13amRN+QSpUqVpBEhQP/aY0o2dyspQJy0QX9?= =?utf-8?q?JtxKKqSBY7cd3VsArr+uiE54ectf3rmeymq0qC7fnVtlQ1AS0tWrX3hFZ/LPYlANi?= =?utf-8?q?FJTys+RQLC4c3L8KvUTPtHoWyVe5skYK3QU1cb1fBNWr8SLEfRdPFUxh0+Lg7brs4?= =?utf-8?q?dtD6I/J6afr+HIlv+9zjZaoAcwze1Qzng8wrFAVcWbqZaSfRBOY+jrnfk9r7INNhh?= =?utf-8?q?+OwzymMD7vZffJ2pnqQf50nEr5kWeB/huNLv2o3U5n/I5jQbaaz59ReozCSGrOM8U?= =?utf-8?q?WfTVB+w72zrHZ9ZvTmhzoofx9BIB156/EWdDyjvprFfb0NQygwFcXo1SD43dj3Kwc?= =?utf-8?q?8Y2fLLkySOvmamPqIjrH3ryHxTTnwayoxDP/pypDnkKk2n4nA2iRklxbwksLKlDEC?= =?utf-8?q?A7whSoK8y+AU+Qws2MWoFFVgc6mtIIR1l+y7EX9rHHAn7F2llIAEq19X+Gu9LYD6M?= =?utf-8?q?4z57De8lrImEGgKgsxCRa4DL6YeWpnYzAcQfdFZkqUJYJTRolaRMO8t91dsCKg2tt?= =?utf-8?q?D66XNIelpHhdxi2ale5cA+2sN/eWcvR4gLWVYtST1X5py3XM89m+AHokhbiQgOzxt?= =?utf-8?q?yZE53uauOqjrjiUO+5lI0CHQ5dCyhsqnJ+kH9saP1DDrUzd/H7o4GKpkQVQ4PLl2g?= =?utf-8?q?IJYomS1Ch9d84P9QbZhkNr5NKBUkyrw8q3Bk/qp7PqmwUbqSd2b4VwMPJjKzAKn6s?= =?utf-8?q?69jMNuAlh4xfzFPqscnPMBzReT5bhap8sFKkXHagqzygqPp7ZoAnm76Kns/DzSLDS?= =?utf-8?q?SrbUj3Log/fkIXCGcsq36IeQUoQU+eCD8jyII0pAYX/f4l84I5xmiTyd8sJ5QJqpd?= =?utf-8?q?wgp+oX0H6N9Tzu8XMEm1tjVVFY2rl6K9IjuSnCaV2r3IMTq3gTzZ3ed4O5gsC6b5q?= =?utf-8?q?mhbfEZcdiqagLSwmFny15Um4n98fC29OAJ5N3z82IxketQTUKx8HtWAxVveMucnz3?= =?utf-8?q?WzeneYWBGInKuSZtMWkvMTITwT0scfcOGZw=3D=3D?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM8PR07MB7602.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(376005)(1800799015)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?ODhIGHzNDti9+QnPaA+a10sX5PFH?= =?utf-8?q?phYHRo4lrUm/V0OCDLKijSgnmuQnZSVeCTOJLn095eaDLueNhAJneW7PUmKipzZJG?= =?utf-8?q?CWyBHQ+fJTVfjIajjWz7GmyymjAAtkx15/thDCIGQmIsstnQJ0P8KOQQ2Zn/7MX/H?= =?utf-8?q?sjxsc5BnvRbos0ZG3JfIAsQvJaiH7KK7AisaLNWK9il0XsLK1O95j2dT6KRtEUgif?= =?utf-8?q?K0v7O0mJbWdbh/eQ0+++/Srl5aIb+xW46NGryY9pH6ElipxK9jJdlgbPc9NSyThdd?= =?utf-8?q?ZrGAVLSd+oIq9LkgRh6pP4UgpFIvah2FTnPdvaNJXZtDOIpSWjZYSO0jaRu2DOdvA?= =?utf-8?q?zYRU2WFFaj2rnyDppaW6y9K2JN7AY4whON3anfjA88+EjRcTe2NstvSLI79ifdF46?= =?utf-8?q?baPVLJVORfFq1hXzeBDNhz/Alo/9u0rStIEW+9EPps0YLQUVAVLJ8WwUt+t/r9VgG?= =?utf-8?q?ztFUNjb2MYnrP+KVik/YDCwF/tDfhgkZwZ03tDPJDNG0fjir86AKx3qOuSuF1enir?= =?utf-8?q?uvDJg0k03WaoNgdwzC4cQv33jb39gF5w73g15p+SifA/yH3ej9PiTXRI92HlSjitm?= =?utf-8?q?wKjceLykRA3f6jkrdEvaLDnk/B/SDizdogt2jneytZ5PBZ038HYPI7VNntDFBMiZi?= =?utf-8?q?pqeApc2BCmbksZsql4rpeFL0CXO53rZLZP2oU/xaXiMArpAdiUNPQTYmX+QnhjhlB?= =?utf-8?q?X2Bgdof9wXlvfQyo8yADI1tcPuFnKTYmuJLHeyOq2UuZs/E344mgO594C0po+qr1o?= =?utf-8?q?TdNg+j0wjb6Q+3sCjkK8r30thQrNYBuxe6c9t+7SbzT73TWEZnVP3HbJ1xDrZfD2E?= =?utf-8?q?KCoqrkTPYm7ztME+hgSUSreV641sq4MWqXmnU8xUzNLplA50nHj0hi8f3Y2o+SqXW?= =?utf-8?q?xFg/odUgDDQkIxqeLL2VVIiTLUzoj2hmhcvhniJyE0wjWBrPhtRSgd7ihaNjFzvyc?= =?utf-8?q?VF/l6j/virGgzC5ewCWYkMXi189JwVEjFnJ/mYaJQ7DdwBgWzGzms+xu9AB95zqtM?= =?utf-8?q?tO8BFSmd37IHdYPMr1FfHypB1Eo2S/rRnCOPa04g+FP8vApnbmpi8BGJ4plPSG+yn?= =?utf-8?q?uXSkh/1l8HcpnFmMEV6047D3xywenpkeEwgwqVyn319mcbRPY8rtBwUeAHzqSuyVb?= =?utf-8?q?8Ob2tYOYC/8+CzxNujQtwaE5y7vhoJ4Ub7vSzS7JJsnzvg9E3QVR/HYUVL4CwvwoL?= =?utf-8?q?NqBtns+MIXEBnUEXy4V+VELGBxIHUKBDJebghMFAC2E1q+fVzTmeM/s1uhOdtTqc0?= =?utf-8?q?B461BR4GK6tJKYml9fOpHea7IPKad0DG6rTlIKUVQS0wop4RI7XtOHF4+PBUHxxor?= =?utf-8?q?3Xnccq+SV96D0KkB+aPf6LkOxIO8ZWm8nEEKGUPLhF1VALYHLU0ghMOENsJN4W2s1?= =?utf-8?q?s8AmW/2g0Sm9jty65ZeKNOhYm9TTucazU/NWrjMgpEsUthxzYzcCN8YrA35feURmW?= =?utf-8?q?BfMq6oPS9PnWhLikegu371pXx40Ns/Uw12XL9B/K4FZdnk/VLP9xpfBzWVlN/Jm9u?= =?utf-8?q?ndO3judP/BMalqHwbIPBMJM0jXmJ845su6KedojG2HIaoGwfnwVGAh4=3D?= Content-ID: <875B6603ACF6DF4FA2517CB43EC0ACC8@eurprd07.prod.outlook.com> MIME-Version: 1.0 X-OriginatorOrg: eviden.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM8PR07MB7602.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 00ef1aac-0b2a-41d2-8d82-08dc74aea2ef X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2024 07:14:18.3760 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 7d1c7785-2d8a-437d-b842-1ed5d8fbe00a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0pmXlBrbswZ6tnuK56rOm57AXC2qBhpUCSU66R8snQ0+ntGxih6gSU/8IhvTaH1cYMAcwFweiS8ya7ZDWOxT1Zh/xM1MpdY0YY75x2OGaDOOROb3crZ6iTULUY5b/Itw X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB6718 Received-SPF: pass client-ip=80.78.11.84; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost3.eviden.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Signed-off-by: Clément Mathieu--Drif --- hw/i386/intel_iommu.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index e48b169cda..53f17d66c0 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -5997,9 +5997,24 @@ static AddressSpace *vtd_host_dma_iommu(PCIBus *bus, void *opaque, int devfn) return vtd_host_dma_iommu_pasid(bus, opaque, devfn, PCI_NO_PASID); } +static IOMMUMemoryRegion *vtd_get_memory_region_pasid(PCIBus *bus, + void *opaque, + int devfn, + uint32_t pasid) +{ + IntelIOMMUState *s = opaque; + VTDAddressSpace *vtd_as; + + assert(0 <= devfn && devfn < PCI_DEVFN_MAX); + + vtd_as = vtd_find_add_as(s, bus, devfn, pasid); + return &vtd_as->iommu; +} + static PCIIOMMUOps vtd_iommu_ops = { .get_address_space = vtd_host_dma_iommu, .get_address_space_pasid = vtd_host_dma_iommu_pasid, + .get_memory_region_pasid = vtd_get_memory_region_pasid, .set_iommu_device = vtd_dev_set_iommu_device, .unset_iommu_device = vtd_dev_unset_iommu_device, };