From patchwork Thu May 2 15:29:20 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: 1930667 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=et0dWkf4; 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 4VVdJH4rWhz1ydT for ; Fri, 3 May 2024 01:33:51 +1000 (AEST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s2YNI-0003f3-C8; Thu, 02 May 2024 11:29:32 -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 1s2YNH-0003dr-3n for qemu-devel@nongnu.org; Thu, 02 May 2024 11:29:31 -0400 Received: from smarthost1.eviden.com ([80.78.11.82]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1s2YND-0005yz-OD for qemu-devel@nongnu.org; Thu, 02 May 2024 11:29:30 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1714663768; x=1746199768; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=E2oyVReCNycO15PF5GywpqRq2wxJJlE+TmbfE5B4/k4=; b=et0dWkf4lh/o5PhG7C3lVEoemB8PCyoYG5kJ15FbQa5UHVOzqgNTb4bL 3ss0g92fsu1mmU+yDPq1KDxXsAAYPD5xi66c9TVTgt2tR/dW42Yfu34Bp F+CheEkUXQ6qYToirBLxkWzWkswVNT4EMQM4s047hKsSITPJpO7QQwUY3 BEMO/xnIjEzywUWLcTMqGbSeVrJxGEpy4lHjLnIj69nG/Ow3DmelimooZ Y6Tdl07gkLMHJ1NlumIua2yMqz6bJUWGdSgCJI+CLtgQ2cu2GapyryGIB 0WyjG8KFc4HxSB5qJ7vCW2Idi11JMKF9o9Dxl0llWJbxhdLioOSnT/Naz Q==; X-IronPort-AV: E=Sophos;i="6.07,247,1708383600"; d="scan'208";a="11730667" X-MGA-submission: MDEZqJ8AQz14cuTSg3bDFy0yEtYHFlxnDWtnjyLgn7o5stfxqXUszR6pAsbfyl6ZapwNaA/8uOGN+kpBQkGFYUiCFW72ZsGQouA78b+8Q5EFBTvYxsta4iSv1eJwI0VFfEnpcOxfgoJ7PndXY+3s+dQL3jGGKYSzRXjg7m9YfD7gVw== Received: from mail-am6eur05lp2104.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.104]) by smarthost1.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 May 2024 17:29:21 +0200 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=WTLyFIp8deA+vkuKcl5779Ur+rZiGJ11ZgiV1QtWG8uuhzDiul3c8n84aszfesjIA6kT2Bcg552yz12v6oBuvjziz2sa9kv5gSR2C/soT005xDDaQenIQpONjRXof0FDlWocLmQ6Oxyn17mtmSuC3KoG6JzhKWZrEppI82dckgaPLp/4SHtb0zZBROaKcpSnbceL3CQVHWkba7FckG4YnjqlESoN+1mit65NC1AlwSmroWo+B9dl9JnozYGqOyMyYot9PL0ZXYYDlal6LddrZkcijfLv+uFUfWtiBEml4+VarqE27EJ+w4p95zGyWl/iKg3bqSKXVUSPMHqFGs5VyQ== 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=E2oyVReCNycO15PF5GywpqRq2wxJJlE+TmbfE5B4/k4=; b=aIjTf9OTf0ddPSEbxUdNn4sTJMd2YCq9VAazDfXIqU32mmR2AGH2AanUR+SMRbMDGciAeLdj9LVhlqtRCPMCkROzPdaIkZy9OhnnT1T9PoV4nQFAP2ZL9j06IvYi4PVhcrGcqreOiD+CsL5YzAZj9M4j2YoSSFonwmDo0OmiPA3/WpWmUGkuEmSwNThTaN6y5JHX6oKvgsjP038O0cW8lEMhqMPBWVsGohtktprmEE/9OUUlrCixpWg8WpoAaCrYRYQ6R3wBnYTmu3L/iKpNGG0yV6wwXAT6jdrGa1zQ7wEzG7cWxINEJr3k0mUOs2A+Caj/LJH1TCQxuA5vdzA45w== 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 AS8PR07MB7768.eurprd07.prod.outlook.com (2603:10a6:20b:351::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.29; Thu, 2 May 2024 15:29:20 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::fbd7:ca71:b636:6f9d]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::fbd7:ca71:b636:6f9d%4]) with mapi id 15.20.7519.035; Thu, 2 May 2024 15:29:20 +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 v1 16/24] intel_iommu: implement the get_address_space_pasid iommu operation Thread-Topic: [PATCH ats_vtd v1 16/24] intel_iommu: implement the get_address_space_pasid iommu operation Thread-Index: AQHanKWAk9uYkE5wSkm3TNSa/hRJRg== Date: Thu, 2 May 2024 15:29:20 +0000 Message-ID: <20240502152810.187492-17-clement.mathieu--drif@eviden.com> References: <20240502152810.187492-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240502152810.187492-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_|AS8PR07MB7768:EE_ x-ms-office365-filtering-correlation-id: 802e0276-0916-4017-8e9d-08dc6abca32d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|1800799015|366007|376005|38070700009; x-microsoft-antispam-message-info: =?utf-8?q?eTqDt6mj2kA6mgZQ47ue1OkH7MRQvlR?= =?utf-8?q?s2wzvsX08oNGsviwXb+2dZizA9KLKGvYbFZIl2P47i1bmpDZpPXOD8ybnZwUtYaTz?= =?utf-8?q?9WKktbmgd2XXvf6KwVx8XY9BnnUS5y8/f9xQ6fg69DHRx13ZK6x1an+vz/CQg+efW?= =?utf-8?q?ESD1cBDFM14BzdwQ8uxmTVqDIVqwrqThRHTuy+A0boA0Q6iO5hkiuMMLSah8s0n7b?= =?utf-8?q?shCUleEb0XM15w6llUlfN2s7NbMSCM3MvZwBuLpm0FudBFCZNKl34F4gICg42Ls7c?= =?utf-8?q?PCouB0wHCOGuiNyNT+1dwUDZyZRLPhctlNdg4CGZZqyowtzAmhX2YTm25MHRUr436?= =?utf-8?q?DrAb9UrUPa6aomNyzenfqFBR2qa5r+2B6nF7/Zl0z6tav8yUePjZh81Of5PGZG1vC?= =?utf-8?q?zT2KdBZBdV8pPxV7s7iTV/yziZ0qNKTD7I69M9vTsc6PropxiBR3UcAb/xxFLR0L0?= =?utf-8?q?Csa/caMvLMviL32eT9+aPR3YFkpJrGSgML1bzCcFr9Nq1/dSkP96pw0W5HHgM9HNo?= =?utf-8?q?9l4sViyrcky1Ox+w7p7KtYYL4q0f8KVNX1jgP/5aumRI2jyvPO+i6gSStHjF5OQOr?= =?utf-8?q?bZ9g6Le365GuSs4TD2EguPGsbtUKC55lb+XQeSs96DU8RZcbRI5Fv4ULqOTQP07ew?= =?utf-8?q?mPWM7RZREQzJm9l5R9Ie7D+uTMiPaPqtmlgXRpw66J1CVU4UsqKK/9sg4uEaiDZRy?= =?utf-8?q?SRwYYtXMUVf9BbAjnpZewn0+tSRq853NVyyxFDhgfLCmXHO6cNTTEe5QvnqVBZP2x?= =?utf-8?q?0PkYG00KSDgxUy1doquqQqXmfCTkzD2a9eSHZYcpqXtyikaHWN0xHfY77WJaWEJVM?= =?utf-8?q?TkG13WJL1shpa8d2sYp3Aime0vh/26tfmbWguSePUg4gPzdA31mvHR6XjpGVFgSv9?= =?utf-8?q?fQ+2VDMopXQ/tq+eSCZK54dADiMqctaIiUTmzQ7nzkb8kNZzBle7VMk67eTmM+3ul?= =?utf-8?q?0npC31jCJkdaJMCswb2VPFpN89WmqKJgh23UWpY7OmO2abM7vRScVGUFXrRfC+/HZ?= =?utf-8?q?FsJt01YW77Hc96NRjRV8D6N9sL5o2LyUBkzNW8aWaZfgbV7eJOPrVkW/pS48WfMRL?= =?utf-8?q?+ORcCSTAeuZ6cMX4HhelIOveCHR3UBej/vmR0eVTwhQpn9MGUS+opJyD3vfuK12c8?= =?utf-8?q?1h8FZQYrB8QyCJgTn2j7u4qp/W693RcK+gRLPe+2BI0L9JZdelDp6vyv8t9zkl4mG?= =?utf-8?q?XNTo0HjW0Z1SDru1RSpNRCCTO83T5mC0f1wP88cjYOGFUuxbxrCwIwqvuMeakPpO6?= =?utf-8?q?T9/dZGkdcoLUy+Gj1XIO5Ywi/OmOX/O3RHg=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)(1800799015)(366007)(376005)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?q?Shc4tNhAP3belOIBKz4IX4sqzjdg?= =?utf-8?q?zOHeJzt/+5fk9eAhtlZHpbV5FNz1SAjrs12XoTVNh3NBNpvoCWPP5KgJxtSNdX95e?= =?utf-8?q?bQINtJsZtg+BZ1LFxwrLO0BKznBzT0mCR3s/baMKaM7VHPVWV64+eo1ITp6V+cQf6?= =?utf-8?q?vuJOQPk9mnRTjtfVUK8C/UmlCcOOBwRYjOlt4IwJz4CTZaZPcrtc9fDVGmGlVC6ej?= =?utf-8?q?YNeaRntj1AyIPmQWKtwYBpN6pd9S4G7j/DDi4aJ3sMrot1D1j6z0OTGCymKtoMnRa?= =?utf-8?q?xKzWcky4exCHVCiEC6bRYFRja8599mGmLuMxD/9R7Fgxm4LhQQC7QPPjPVJNWlIUh?= =?utf-8?q?IVlR7F+sBrKYl0/R8X/Tlb7BUoiZOIgzhUPgeAIglpf0gW/uki0INI8BSjiwW98qL?= =?utf-8?q?bWs9ML3/aubghLNp2D1Grpf9iQkAoV4T9p6/xZXmX46NJQD0ZsaRzTFXSQrQX42QV?= =?utf-8?q?53/dnBI6p+PDJr3OdRA8GsJoUf18Wexoa26Qn2llxwFUMEYQk4fd396FWyM4dNAoM?= =?utf-8?q?ORtIAC3yf6MS0HTyTCULRwgQ9QT5rv/z3hmmBYrFCFixXDRGF58sQM5NeOlN73cBJ?= =?utf-8?q?uPGB8tw0u1rkfO6gh8qG1hJYSR5e9rIi8SVXwZ/ecJp/8EhAy15PCPRCuuzuZwk/F?= =?utf-8?q?pdVnmtA3GOKbCofFuKAY2euNqbtFtun1J15PPvWMy6exh9lgFxrxFOgaReUAW/IjJ?= =?utf-8?q?TpFpvL9moqWVk2l2V3Ic9bV9MhM7W3JiRqD6waq+2DqGg0nfLJUnTyPxUBS4PaRmM?= =?utf-8?q?lufoDtmvMDl/UbXQJLQ0Y1Ac4T2H2Ovokq/Gl9tc7+UBEj3cJc/sgV7Lxdxsfm1aE?= =?utf-8?q?Wa/M1fC4H/vAuOScdoXFck/NFRRTnWpGGxQ63v5qPt2RVvpzE8bhUxtPdPUuA4wQP?= =?utf-8?q?ybm0lGsI1d2DjdWsrjieCwk6vFei3njTTIDCzvJuR4uKiTLz/o6fAy1SOXXTZXQcy?= =?utf-8?q?LC7wKH4Y7wDX76e1jneRjWoXyJABGDBy9rGT0aE6pGTZ3Yni+c3PsPRq+vEf6net4?= =?utf-8?q?s7UUFHEHaSTf+JAGMEp7dliQqL3M9TQSbdRRlkcJersbLZmX8XIdmgelSTZ6TiiBw?= =?utf-8?q?b2EhnXrCGlZCX5NfNMA6viIqyLdmTVW6Ooj5qTennu8+74J+0fsNTHCjASBS6fpy5?= =?utf-8?q?1C5Pn8sHI2P162BcLgqE9yIe8CDdqqKxejWP2KC/E/f9qdm+EpGS+n2k5E7F5ridb?= =?utf-8?q?RcGV2unQTP0Mkg0TjndEWAwXa3e3zxoHMtVq28fA0hvdsSpMsfwcp4qi89ToctjFL?= =?utf-8?q?clT42DcP2cE4iUMRlI2URnQXjL8cj5JopoOPRjsqTi/QsjBjzStGFdEOlp1XUD1zQ?= =?utf-8?q?WG5XcWr7cqx/D8SgMDg1jb8r7m8J9Wcb9NwjIZFsd6JtM1l+93yytv+02ZRah06LQ?= =?utf-8?q?4F2z+HeiXpNl6oauk2n66cx4CfutbHmoPcATqpi8egH/HjcH1VQGF85Y1HgiZuAxU?= =?utf-8?q?kPhnhkk+C2FI6HClPBG1+dNq7iDQ7yFj7w7fefftC4PGtRSftxcm1SILO/Wqg/08w?= =?utf-8?q?nJl5cLqtLCsG2oMGbUotrCMRz2DH5euUglKVOQDI7l5DVtKGInl5tms=3D?= Content-ID: <2B95F4E780163A45933357B178439382@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: 802e0276-0916-4017-8e9d-08dc6abca32d X-MS-Exchange-CrossTenant-originalarrivaltime: 02 May 2024 15:29:20.3775 (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: GS3LOLPbNmPrxCpSf3rmdizM5cvOTy2Z+Lf/MQ54VAScW9r74kRqjg/FrnBZSq8HSE6vgIENZp1aLW7TkAu6DXMYX6czbh0I6Wq9PaUBndBrfo/N/dR8JDl1uJJD4UVo X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7768 Received-SPF: pass client-ip=80.78.11.82; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost1.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 | 13 ++++++++++--- include/hw/i386/intel_iommu.h | 2 +- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index e7c1a5582a..e9fa48b378 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -5432,7 +5432,7 @@ static const MemoryRegionOps vtd_mem_ir_fault_ops = { }; VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, PCIBus *bus, - int devfn, unsigned int pasid) + int devfn, uint32_t pasid) { /* * We can't simply use sid here since the bus number might not be @@ -5983,19 +5983,26 @@ static void vtd_reset(DeviceState *dev) vtd_refresh_pasid_bind(s); } -static AddressSpace *vtd_host_dma_iommu(PCIBus *bus, void *opaque, int devfn) +static AddressSpace *vtd_host_dma_iommu_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, PCI_NO_PASID); + vtd_as = vtd_find_add_as(s, bus, devfn, pasid); return &vtd_as->as; } +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 PCIIOMMUOps vtd_iommu_ops = { .get_address_space = vtd_host_dma_iommu, + .get_address_space_pasid = vtd_host_dma_iommu_pasid, .set_iommu_device = vtd_dev_set_iommu_device, .unset_iommu_device = vtd_dev_unset_iommu_device, }; diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h index 0d5b933159..bac40e4d40 100644 --- a/include/hw/i386/intel_iommu.h +++ b/include/hw/i386/intel_iommu.h @@ -325,6 +325,6 @@ struct IntelIOMMUState { * create a new one if none exists */ VTDAddressSpace *vtd_find_add_as(IntelIOMMUState *s, PCIBus *bus, - int devfn, unsigned int pasid); + int devfn, uint32_t pasid); #endif