From nobody Sun Apr 12 15:19:55 2026 Delivered-To: importer2@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass header.i=@eviden.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=eviden.com); dmarc=pass(p=reject dis=none) header.from=eviden.com ARC-Seal: i=2; a=rsa-sha256; t=1715757546; cv=pass; d=zohomail.com; s=zohoarc; b=WycjeFhH10z0k0LZtrjHTiylcRRZqAa2xRzsHhu3gevWxN3Woo7RRyQZxH6atIWe4BnaqFLegSOghC5n/ktT1j5oQbb3dk856Fe1bFt8V0hPtMamFrHpDPpyNvorGLQ5KFAY1Rfm/iFjj5ux2VSTmyy7HedCvqRetT8K+3kTcSc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1715757546; h=Content-ID:Content-Type:Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DF5SAdKmOTa81i1Lq2VmreQVuK6SYI6Kvt/QgV8+aZ0=; b=Yy8tyWDF2AbbxJLso70dTOp0wFbzuPT1RflgFFuX2VU5XI6tjJmwRmLDbP38J1fqP9+QmbKPzzFGLKSf4Kbvn5WWJP5QMFikCH/zTVC8EsULQm3Qf0s2PS/4R8qbzKgkPNoyFU/rIceYn9q5/CxAjIv3NU3AOC3NHLfbzDdMIRI= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass header.i=@eviden.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer2=patchew.org@nongnu.org; arc=pass (i=1 dmarc=pass fromdomain=eviden.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1715757546493668.8273129719767; Wed, 15 May 2024 00:19:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s78qa-0004be-EC; Wed, 15 May 2024 03:14:44 -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 1s78qK-0004Y2-Rf for qemu-devel@nongnu.org; Wed, 15 May 2024 03:14:29 -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 1s78qB-0000oS-Vm for qemu-devel@nongnu.org; Wed, 15 May 2024 03:14:28 -0400 Received: from mail-db8eur05lp2104.outbound.protection.outlook.com (HELO EUR05-DB8-obe.outbound.protection.outlook.com) ([104.47.17.104]) by smarthost1.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 May 2024 09:14:18 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS5PR07MB9896.eurprd07.prod.outlook.com (2603:10a6:20b:676::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.55; Wed, 15 May 2024 07:14:15 +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:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1715757260; x=1747293260; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=DF5SAdKmOTa81i1Lq2VmreQVuK6SYI6Kvt/QgV8+aZ0=; b=DHSKGvy6qDHnw4cUZ9X0C96Y4Hm2ZS9xyKhIfHPSpqzogft/8Ad1H88i cAJjocMw3t6X9ryLGSOtyYWW6Y2c24F73+fMF7lf9RXIdz44FaLWFtdDr AlEa/jJQ4375ofIp9N2Be9UtgVC9w4+jxLg+KgsH2rPanagvstpFSl4oS GgCTt8GYe8jtA01jl8uOhc1LPuSBIl89KmLaFxOoCdA6rNDEk+CvcLPZ/ 0lwsFC3jlj4z8d7QNuDz/MVdcYq47GVVv7d9izkMgctE/e5zlSJUDLqMY vQHZmZapfH1qbvX40jQi2OQgxrw+qO75+0gjmnN+WeX2nEH7GAcJTUdhK w==; X-IronPort-AV: E=Sophos;i="6.08,161,1712613600"; d="scan'208";a="12580198" X-MGA-submission: =?us-ascii?q?MDHt+GikQvihNGNDiRqe7P9GNAmc04/nzB3Blw?= =?us-ascii?q?VlPSEegY3m9i/MUGF3X7xRy8HYXrpikdPlyHd+TYBuJSAa+yq1ih0jfV?= =?us-ascii?q?s+5lN0tLu9XTH885HqUs85TINKsmQPpbmOQ0idpyEqPg8uE+EJnDsidA?= =?us-ascii?q?CIp6gcZ7tmgaKKsdhRQQ0hbQ=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a5FYm9PHVu0ViGJJhnT76xQ6ZqR+X/r9geAQ2vWl5zaIu9+em2BeY3KFjTp76dIk8lLBUEHLwNnSYxiu47qSYDReF3GR1HEt8j2cSL7kTZy9TLXJVSPDJrNoJzvBYrg6EEtJcf1ZfJj30WvDJI8HgJZS9NOB8mfqkNV5XWOZ3l81oYjCBtPN9e6deBctFcSYgx6a4TuS3ogCL6fhw8uAcVw0bwfOs+Rdu5z7Affy6onANURtgWLX4griiFJfoO65tCLjU0CQPGigcHQ9+iDcsqeV2kzRmxRPeVKJT8zpsFrLBYV+Jls8RMPUKqFYrXC8ljNGMCXIuMcm5HjG+jDWAg== 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=DF5SAdKmOTa81i1Lq2VmreQVuK6SYI6Kvt/QgV8+aZ0=; b=HyWdUGW9yMoCk3hrYFSng2VyIf+mcPc6xdF/f5oQ1FJF/onekk6CCsXTK7DccLja1zhs8pT6+OL2HtEcVjDZcE7gUsnEwevbzPIEEEww/4pXy8o+OMszOlsi7BH+lyqLBDjX6vswByKtHv+gHef/bmGwSSbC3oXzPzVvgTm6Mi3dZGK2R6ygBufr99cXBSPutl0Ua41mYmqQFbqgZAdiOOEFTj0rcReGVaiHTPV7Dzk1sdASTJMkur5vEUT3u/TnMlyY8Wj3AkOQysWCZRok/1311jsecZp3Ubsg0B5EJ+V9TbSwgcNGF7RozOATKboesAJHbrXgBsYa5Jv73Pt33g== 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 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 , =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= Subject: [PATCH ats_vtd v2 06/25] intel_iommu: extract device IOTLB invalidation logic Thread-Topic: [PATCH ats_vtd v2 06/25] intel_iommu: extract device IOTLB invalidation logic Thread-Index: AQHappd+ypinSPAnNEWGRCEtiSZMgA== Date: Wed, 15 May 2024 07:14:15 +0000 Message-ID: <20240515071057.33990-7-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_|AS5PR07MB9896:EE_ x-ms-office365-filtering-correlation-id: 4aac8f47-67a7-4ac3-98d8-08dc74aea114 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230031|376005|366007|1800799015|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?NG5LdkZUcFJ2eTgweHFGYms1U1l3WEx3bGtmamc1TnpramxsOVhXR1FFNHlm?= =?utf-8?B?eXMrNHgvVnlVYkdSVXpYVU5LT0psUEx6V1R4YTUzbmtlRHNZL3d0SnVxRlMw?= =?utf-8?B?cFlMdzc2TTdoLzA5OUdPeDZzaHFxYnc4MjV4bktnd0hUQXhDUUhRdlJHSzRq?= =?utf-8?B?aTJ5ODZnUEhiNHFzUW5CdmxEY00zVXE1WlYramVVZVFJUVc3Smo3SjhTdWxn?= =?utf-8?B?cC8xQUpzNzBTV2svNkc5c013SlNxczNKakUxclRNY1hIYXFSdUljMTQ0S29K?= =?utf-8?B?OG1RSU1ZNDR0dHk1aFdSaDd1K0lxbGVtdjBSRjV2amNsUHZ6L2FFOHNSdlZ3?= =?utf-8?B?Ny9tQ2RwMFkwWnlYMG11WkZvWVRTNi9pWEVaZ1JCSEphcnUxNmhaSXphaHBC?= =?utf-8?B?WER3VTFReHlia1kvdE9nNzJ1S2hMbDNwQzhCT053dlQ1ME93NVdlUzZVMzlj?= =?utf-8?B?Mk9CeUg5bTFFN3diZ2xFQ1VibmsyalQ3RUlmLzg2dENOTDdxeTdaQ3Rrb2to?= =?utf-8?B?cWV5MWRHcDFZcGdQa1ROWU1ETWVvanY0dFFsajFyZ3JqUG0ycDRnS25DVlRE?= =?utf-8?B?dHFZOVFuTVlPNno5WHc3YVdvMlljeUpwcDRiYXpGZWFQekxIU1IzcTRVc0lV?= =?utf-8?B?V2lxRUx1Z05EZFo2VnJGRmZ6cmIyQXo0TlJ6c0FWK25xbHl5N1BYWElYc2Y0?= =?utf-8?B?OGxzQnlUMXpBNWVMOXV5SUFOS0kzSkVEZkJxQWxDNU9scjdwQUcvc3p4Ym5v?= =?utf-8?B?NGZuK2w3TjBVWm9WTi9BTlFxNlc5djVvOGRBM2UxT3VOOFEzM3dxTnNCUWlP?= =?utf-8?B?TlNIOWQ5NWhPMlMxQTl2RzRhR3ZNR0UyR1VJZGttZ0toTnhCNmY3THFTRjBB?= =?utf-8?B?SkEvanZxa21XbHVIc01JNG92VkhrVnlaRzJHMlF6QzJyMnErN3VYQ1Z6R2RR?= =?utf-8?B?RXlUMEpjeEU3RkhpNWJ1YTQ3MlB4dDVjc2duYUJMUktGeDZnWUVkWmNJeUlO?= =?utf-8?B?Mzh3U3IydnNmVmZsTkY2RXUyL3BncG5WNGJGUVROejZ0ZFZFV0VSVlg5cjJh?= =?utf-8?B?Q3FTZnhuUzU0dlgrMkJ1cWdUQXkzTzM0VUF6TjJFZG11MlA2ZWpDVnprdVFx?= =?utf-8?B?aGRCVGd0aGVSakV2bXp3NkRSb0pRSEZPWi9uSGdEMitjSWZVKy9BUzlHSHZ1?= =?utf-8?B?eDhucGxzcjFSYkJKc0s1Q1l5bndkdFVlTU5USWVMZjBEOUxtRzJBRHllSTlw?= =?utf-8?B?Q1pqR0ZiK2g2UldvY3JyMW1iRkFDREJlSjdMejlNS1R1cTNNU3NJa093WWY1?= =?utf-8?B?TmpCVS9RczZTZ1dJdkV0cm0zc1kyWkNMVTVEQ3FtTzNWbjFkcHRvbTE2U1RZ?= =?utf-8?B?bm01SFMwc2dxbWEzMGQ1eDk0VzZiRjA0RTAya0lFR1dWMmtySVZSRDlyZWxu?= =?utf-8?B?SnFzTFdMUEg3VS8zbGIvNTBjV3lySzFNRDh6bVRMalpvMnp0b1Zib2FmZVlI?= =?utf-8?B?Mys0VmsyNzIwYjNwYm1qaE5zdU5ualdtcStOandxZVdLSUV3N2Nzb3doQytq?= =?utf-8?B?NDlhZTlIQlFLblZZWWJRVnpvMlR2YnlGME1tb21nNWxONTE2MXgyeGtWZTMx?= =?utf-8?B?eDB5cVhRYWxZelcybkdvWmxwWXBTM2swaHQ5YUJQNTh3d1AvWUJiMDJGYi96?= =?utf-8?B?aEVZNldaVUFhL055N1RDc212eVNJejNGNUR0aDYyN1N1b2Npem5lS1VrSFZ2?= =?utf-8?B?K0lwSkxPdDdvemxKTHF6YUx5TEJmRHN5czZPV1BnTXc5R2F2aFNqeFMwMkVH?= =?utf-8?B?R2V1b3AzV00rWHdFV1U2UT09?= 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)(376005)(366007)(1800799015)(38070700009); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?N0x4V0lNTEtlNjBVODVOQUIxVE1hZUJldzhFYUJSTWVOOFFkeVYxT3FacUI4?= =?utf-8?B?NHNicmk5MEs1MHU3NXhLVTl3eVZKVENxOTZ6R2lhZWRjZUl5VWk1R0tYQW9z?= =?utf-8?B?L0pCWXh0cXdaOEhNRFJxanF2cmFsdm9rMGxqOHo4YTFsNFhyS0ZVN3FjcDJa?= =?utf-8?B?VUxhTHFha1l4elZzMWtOaVFzYVBGeXZxdzhNQUNnQnFXRW16NVIrM0FWK085?= =?utf-8?B?M0dpRnNHTENnZzdsR3FGUUFZYTN3TEtPVXVselBYbVJBVE53VFJzTnZkNHdX?= =?utf-8?B?ODR2bFYxMjNhb2VPUHhTV3NwTFBrL05BWDdtbmFBZTBwMFVyNk0wTkJuU2t4?= =?utf-8?B?bkY3VXNRK2xwMktJYXNwc0pXVmExOGpTM0VSbkF5eXgwY0w5a3BNLzBXeCsx?= =?utf-8?B?cDFzSGtZc0dXRHJCaWVKdjRGdUlTTER3ZEUrMVRFWHozbjc1aHBwR2NCdXNJ?= =?utf-8?B?WmhRbDZRelhRTk14RFlnTklRbEF0WkoxcmNQbm1jRmdtaHpldFByd3NwM1hQ?= =?utf-8?B?Tm9ycllrTE1XY0ZuZWJkU3kzeEFicE00OExqQWNOOFlTQVN0Q1k4UUVvUC90?= =?utf-8?B?eldzTDR6UVlqQk5BMGJab0YxOWxoOGlzeVdudHpOc2N5ZlVSa2xEbzhCTFJm?= =?utf-8?B?dEtoQXZoQk5lNlFiYzVJTllrM2JhN052d25NeWV1akdoM3RkYWFlekp5ZE1E?= =?utf-8?B?dTcxOG5XK3JiOUlUcVo4MkprUWdnUlBrSG1SM2hzQkF5cnNhd1gxZjNIMnVB?= =?utf-8?B?MlFNVVl1NHR0bFBnbXVCdisrTHUzZk8zOFlMUTFJMS9mYWsrQ2Y1Q0lvdXpI?= =?utf-8?B?d1hadTcxSnhqS2ZWSDdteE5QNjg1ZkhEZXZhWE9XNzd6UmlXUDNWbVE2Ynpk?= =?utf-8?B?M1VhZm95VUxaWUw5Qk0zQ0RSMzBJRXBQZ2lSamFReUJXNnk1TG5RL1dvaG5v?= =?utf-8?B?MmEyNHdRcVdGV0dWTDFlZjgySDQ5RzFEWS91blB3T0F2VE9iWk9BbEQ4SEJw?= =?utf-8?B?UE1YUCtjQ3FzYVVPTlJESFgwOEJmQ2FwYjRjUVN4NkpycHhNVWE4bzNkZjNL?= =?utf-8?B?WWNEaVptYWt6Z0J0UXRDRTF0UXE2bUJ3ZXJUQUw5dnhxUEhCWFBxc3dUSUxx?= =?utf-8?B?bWRRcHFLZmxxME5LVHU0eXNOWmFmemJFeXJyMUNCZENzV0E0UmNrdjdqcXBC?= =?utf-8?B?TnBMdWllUW83UGtzMVF1MmJydGVvSjNldURka0JqelNVWUJvK3lNQUVuUmg4?= =?utf-8?B?RjNqWUV1TXN5OU9qNEw5UE1aN2RnZ1JIY3BFNEYzd3o0cVRVUE1lNWwzdVgx?= =?utf-8?B?WThhNFJJRzBSRFh4aTFjY2ErVnZWK0didnd1aEUvMy9LcnhsS0t5UWVHYWFP?= =?utf-8?B?UXRhbHdCMTI2dyt1K0JPcG0xblJrS2x1OVR1RWtvdCtDaXhsaGF1aXJzQkZh?= =?utf-8?B?NWtVVVBkUkx4c3Z1VWE1OW9DVVdaa054eUFEZFZZSWJMUm93b0JQaUNBQVVi?= =?utf-8?B?WjFyR1JRck1rU3QzTGhlaXZUeGFxVzhLQUxPSFl4OG5jckd5VlZsNmxKcnJs?= =?utf-8?B?T25oVDZxOGs2U0FIbFJTb2lKYmpaSHA2ajFsTW94ekVRUGdRMzk1aS9TaElM?= =?utf-8?B?K0JvT2FXWnlBczFuT0MvTEJZbEZuUWI0WnNmTGJ3Z0JFeUUyVVN3aTdiamhN?= =?utf-8?B?Q1d2bWk3THFRQmdHb0FRZTBtOVU0T1E3c0tyTW0yTlZCUVMxT0VZYnFlcEh5?= =?utf-8?B?a3MzL0l0R3h2Qk04RVBMSENHTjBMdW9nQmpKRzR0TXdkcjNwcTVsT1p5QXhW?= =?utf-8?B?cDY0bDR5NDU2U0hvTFF6eVIwdXd4OWtpeDRjZFNvSjZEWDBVM0JhL2lBUW0w?= =?utf-8?B?RlIvRDUxdUZpejl0MklMd1V3UWtUc1NzR3BOb1V2QjdYTlVPalB5Q2N5U3lq?= =?utf-8?B?S3MrK0Y3aEp1ZTA0eDVTL3dQangrYVlZUVpHQm53WDZkMVV4QzNaRFZrQWc2?= =?utf-8?B?ckx4THpYWTh6ZUNtU2gvdlFyam8vc0R2K2lsVXNDZzNacDV0QUgzaEZrTkF6?= =?utf-8?B?NUlsZzl0TWFabGovb1p0T2lQMW1kNmZDM3RTSGM3K1VSOHQ3RVJ6NEtnZk1r?= =?utf-8?B?VHpieldmbFl0bzBlZHpuU3Fza2ZOaHU4akQ3Y3ZRRFJFM0xiaEFtUW5rSGov?= =?utf-8?Q?LMLYxkzDZ0WE//ZFQjeFr3w=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <715FCAB949C26347B4CC5AD1170AF369@eurprd07.prod.outlook.com> Content-Transfer-Encoding: quoted-printable 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: 4aac8f47-67a7-4ac3-98d8-08dc74aea114 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2024 07:14:15.5207 (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: /Pg/G4dDC69kvgKxr4GONU2oTVXFhZ3snYRb2YQ4bsFfaO+E1mij68JE6DsZFGfCoHTYd/hBy6+u1O50zz9nTfPoZftbuHS7JYD0wegRCZ3zsdKZ/SYgD+y3u15eTfUx X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS5PR07MB9896 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer2=patchew.org@nongnu.org; helo=lists.gnu.org; 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+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1715757548437100003 This piece of code can be shared by both IOTLB invalidation and PASID-based IOTLB invalidation Reviewed-by: Philippe Mathieu-Daud=C3=A9 Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/i386/intel_iommu.c | 57 +++++++++++++++++++++++++------------------ 1 file changed, 33 insertions(+), 24 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 7a4dd738a3..dbdf13470d 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -4292,6 +4292,38 @@ static bool vtd_process_inv_iec_desc(IntelIOMMUState= *s, return true; } =20 +static void do_invalidate_device_tlb(VTDAddressSpace *vtd_dev_as, + bool size, hwaddr addr) +{ + /* + * According to ATS spec table 2.4: + * S =3D 0, bits 15:12 =3D xxxx range size: 4K + * S =3D 1, bits 15:12 =3D xxx0 range size: 8K + * S =3D 1, bits 15:12 =3D xx01 range size: 16K + * S =3D 1, bits 15:12 =3D x011 range size: 32K + * S =3D 1, bits 15:12 =3D 0111 range size: 64K + * ... + */ + + IOMMUTLBEvent event; + uint64_t sz; + + if (size) { + sz =3D (VTD_PAGE_SIZE * 2) << cto64(addr >> VTD_PAGE_SHIFT); + addr &=3D ~(sz - 1); + } else { + sz =3D VTD_PAGE_SIZE; + } + + event.type =3D IOMMU_NOTIFIER_DEVIOTLB_UNMAP; + event.entry.target_as =3D &vtd_dev_as->as; + event.entry.addr_mask =3D sz - 1; + event.entry.iova =3D addr; + event.entry.perm =3D IOMMU_NONE; + event.entry.translated_addr =3D 0; + memory_region_notify_iommu(&vtd_dev_as->iommu, 0, event); +} + static bool vtd_process_device_piotlb_desc(IntelIOMMUState *s, VTDInvDesc *inv_desc) { @@ -4307,9 +4339,7 @@ static bool vtd_process_device_iotlb_desc(IntelIOMMUS= tate *s, VTDInvDesc *inv_desc) { VTDAddressSpace *vtd_dev_as; - IOMMUTLBEvent event; hwaddr addr; - uint64_t sz; uint16_t sid; bool size; =20 @@ -4334,28 +4364,7 @@ static bool vtd_process_device_iotlb_desc(IntelIOMMU= State *s, goto done; } =20 - /* According to ATS spec table 2.4: - * S =3D 0, bits 15:12 =3D xxxx range size: 4K - * S =3D 1, bits 15:12 =3D xxx0 range size: 8K - * S =3D 1, bits 15:12 =3D xx01 range size: 16K - * S =3D 1, bits 15:12 =3D x011 range size: 32K - * S =3D 1, bits 15:12 =3D 0111 range size: 64K - * ... - */ - if (size) { - sz =3D (VTD_PAGE_SIZE * 2) << cto64(addr >> VTD_PAGE_SHIFT); - addr &=3D ~(sz - 1); - } else { - sz =3D VTD_PAGE_SIZE; - } - - event.type =3D IOMMU_NOTIFIER_DEVIOTLB_UNMAP; - event.entry.target_as =3D &vtd_dev_as->as; - event.entry.addr_mask =3D sz - 1; - event.entry.iova =3D addr; - event.entry.perm =3D IOMMU_NONE; - event.entry.translated_addr =3D 0; - memory_region_notify_iommu(&vtd_dev_as->iommu, 0, event); + do_invalidate_device_tlb(vtd_dev_as, size, addr); =20 done: return true; --=20 2.44.0