From nobody Sun Apr 12 15:24:46 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=1715757372; cv=pass; d=zohomail.com; s=zohoarc; b=V4aVnsNThOi1+WyrskZceguxi5Xaa+Eiu2w4hYy3PzRI136vj3EqE269/89BGAT67tfrsVk0MUwIPoQUnpir+vPRSBwOAjOsanAJBSKtozsk2sH/zOPZDOEk/3Vw7yrjgyF/ZurvYfsnJLemsIHD4VY8Gh3QgNoc0DnvR4yjNZc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1715757372; 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=mWrNNAaJaIPTkry3BhmfpwvoRGFU2OPTQ+DvsncCn3U=; b=hsYSzpLXwgNZfrXafOUfygTPk5P7+6gqT9Clhn0RSOltVYwFgXveJCrI+OIuf2pQCnkomEIB1kT2G9IYkR7c53X1vzzs+MvFFy9kwsDKdi+RTm3j8iHeIYGjx4rheMauTP/m1bZOIi746D/gP7BoHjGEV7DGRDNKCMch/B+NK/Q= 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 1715757372639364.549805286632; Wed, 15 May 2024 00:16:12 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s78qe-0004c8-46; Wed, 15 May 2024 03:14:48 -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 1s78qM-0004Yr-Ik for qemu-devel@nongnu.org; Wed, 15 May 2024 03:14:31 -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 1s78qJ-0000oW-Lv for qemu-devel@nongnu.org; Wed, 15 May 2024 03:14:29 -0400 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:19 +0200 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:17 +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:17 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1715757267; x=1747293267; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=mWrNNAaJaIPTkry3BhmfpwvoRGFU2OPTQ+DvsncCn3U=; b=C2EUs9hPTmMNBNxS1b0pSM6JPSjpL8XkfexAsuNzyG4hAFUyCBTn7rw9 rhElGGvLGDiUElLgHZvkmjUD2fFpQ3HU8/6zRyY06S0YTvqvayTzHyiEX xm1D4BwnNMOxGX9iQEOLOEZ8qtUYSLNgJGg2BRzwKXS42PULy15j/BsMc oVCTaVaPKeAV1HY+0eVuRrjcq6vxdd8dxVV+193MZouLYK46PVNVjJBpX U8TOvdFPAjMvvK1Bm7AOLVHB0ylxcyws5R73fG6hBqYcnHbhD4uA9BBZU TznYdPdonKilaQI/37ngkHauBoje7TDplsFqfxjXt2W5zF7Ng1VsfozBq g==; X-IronPort-AV: E=Sophos;i="6.08,161,1712613600"; d="scan'208";a="12581802" X-MGA-submission: =?us-ascii?q?MDFvjhHg6qsZitBI+5IywTdK9eursV928Nv+//?= =?us-ascii?q?b1YdeGCQmczQCVeYlh5Njkgt1p5MohSiecv5wcV+xKci0NKGLUfsJJF5?= =?us-ascii?q?SzBIKnz2FP3P1p8hxenLcBZL0/EprF+FvJPpngwp9l361YLI5+h42U05?= =?us-ascii?q?reqfP8Zz/yS5shCnFlAjyw2Q=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j6PTvIrfW9ZydZPrNE/ofGAMwrieRyp2uxOx0kTjVvz815AoSOJMRmj4L1I9a9hIZ8qHdlsgC2WXEoHX59kBEz4LkkUxbwg17463xb0wdz0/Fb7Fhkdie2yo64AOMJzUC3DeSR8FgOCIDSU6n9omArbPmiUMu+uP9mHk/UD9OOCGH84ATzB4F2UzV4ArhmkhGK4bWU4o5QEB1piiQKpk6gLayNlIvr+DdiW8DFcBtHOs7a5UygaFmKZ9Ue8b6dvC5ins5Lq6w1rNSmqhQjFBqNPpC8jfWPa/8Loy1tnKr0PIh7XwV3C4homGwti9xP7zW2o2G3TLusePIJcZIx40mA== 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=mWrNNAaJaIPTkry3BhmfpwvoRGFU2OPTQ+DvsncCn3U=; b=mpd5tyAEltd3W5I0ldwwF42A4E5e9ex/R0aSQDR7NaGzcmnw1ndmQoOudj4f4i/35F4yWJl7y0FHVLhdwQQV0QwD+ItjedaKPfPea7423Iq79YeyxtJHxs94re4Kvkx/ZYl3qCxaFgjGHUv4s59gut4yw4fSVTj5ilu0Qq60Y/nzr0vJkCiB8f0qUO3IOFwVNe4IHEPGneu6F+5H4NLk0yxHH1wGdL3A5OaOFFEczX+kyP79c2dz2oKsSkrwqTc9e+Ea7erk9fWcb8kiuMOY43phPyr1Ac7XOyK9KLny9nXAfSOuFDmixxule6myOJ6QJ4M2XETV71H/+XmG1YXeNA== 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 Subject: [PATCH ats_vtd v2 13/25] intel_iommu: add support for PASID-based device IOTLB invalidation Thread-Topic: [PATCH ats_vtd v2 13/25] intel_iommu: add support for PASID-based device IOTLB invalidation Thread-Index: AQHappd/Mn4U7rZK2kaAPkj64rXn9w== Date: Wed, 15 May 2024 07:14:17 +0000 Message-ID: <20240515071057.33990-14-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: 0a08e020-04fe-498a-e046-08dc74aea21a 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?B?LzRma3h4ZmdiTWl5amtyUXl2M0E2dmt4WVBwUVdjOFZ0b0hpV0tmdUo4U1Vs?= =?utf-8?B?cDNWUy95alUxdWhPSHRGeGdHb2hRNHMycUpFL0pXKy9pNm11cVV3K2xTY01B?= =?utf-8?B?RHp1Q0o5Q3MrRnRTQ0pObTNjbVV3SmJoek1FK25vVDdHQnlPd1grV25NOUVG?= =?utf-8?B?RnJGWXAvRll5TXNrb0RhdnpZRVVWNEdSblNHdWlWZHUrN1l1OG5sL3RuTWo5?= =?utf-8?B?STk1YTBUamZWTlFTL1JWSHkvcmZ2aFFZUFFvN1V0YnZYMzVWU1Zsbm1Rb3Az?= =?utf-8?B?d2xhN2xqa2lkM1JURThqV2Q3NXdFM0hISzVuOFdsNFpiS0VHSm9uZk16WFZM?= =?utf-8?B?bm83eGlrZXMzNERLbE5qNjQrdGU0VW1zZStFR2R4U1JuUDU4cUZCYlFESStJ?= =?utf-8?B?cXdwNDg5Rmc4emxvRXI3NktraEFXZnRINUFmUmJkUHQvMVFkZW9ha2Q5by9w?= =?utf-8?B?anJkRlkvM3ZjQUhhODg3elJoTmJpYStyRlF3cUo1UmJLcERpOTYwaWgyMWtJ?= =?utf-8?B?QVl6NG5UVHI4S2NnZkJlYkFSMHZEcnpGalVKdFFCT3lWTDNuVXFWTXMvOVU4?= =?utf-8?B?KzdKeC9LeVRSYXpqSlFJY0ZqMUh5MDl5U3krck11R0Y1Y1IydWljVEFDZm10?= =?utf-8?B?LzM0aWtPR1ExdzhYYXptNmErS3ZEcnFEWkluNGFQSVJLeHk4MTRCZmdFTkxp?= =?utf-8?B?NHBEOU40Z3hSTHE2KzVON0hpblZtMGpJVlhVcTRuOS8vVjJ1eGVVdDV6dlVX?= =?utf-8?B?TlpzR3NsVXFPSkFMNVJQc241K0FidkJSN2kyNU95WTlhWlZyVUJub2xZcWdU?= =?utf-8?B?a00wTkFpdFZpWGQ3bDJ5WE93RFpFbGk3aHZKTzZLWjl5dXg4a2VsNlZNbkFI?= =?utf-8?B?bXBWZWdBMkdkZm0ycjhvK2xrbG1RTXdIVkJ2YTdRcVc0cEV0bG0xV3o2LzFH?= =?utf-8?B?SkFXendBb254NFU5YUNianViM3BWWUNabWFJUUVycXltcTlzaTg4NmpZUGQ2?= =?utf-8?B?bUVWbzBnSERzSHdQME9XbFdEbXF0QzRMdGhhQTJ3OUsrVVZQUmE3akQ1Ny9v?= =?utf-8?B?bkIzam5YWEpjMFB2OEZESUVWV0lLbVR3aFZtazd3dFEzYXdEU2xYVENMeHlQ?= =?utf-8?B?OHJ3ZEtVWnlTRk5qYXpPVDRtQkw1R0ZkTy9UTXluQlFZY2JGcldNL0RKMTEr?= =?utf-8?B?bjFBME1LeGxTN2RYcVRCM3FBd2pwWTJ5YUhpVXlkbWdBSVB0RExjVXpGaEt5?= =?utf-8?B?VVRsUWh0Rk1ycTJNK2xMOWJNNzlJK3QvMzRNS3oyeFo1VDJ5ZWlwTGdsK3F2?= =?utf-8?B?S0FxSVNQREhRZFppRGw2YmMzNlJxYkZRa3VzS1V6cXM4djhsN1ZSRzlXaU5K?= =?utf-8?B?NllJdlJLQ00vL2MxNml0R29PRE11L2FEbHp5T1k4NG1wZG14NWxPUERZZTh6?= =?utf-8?B?RmxxZWN3S3BPWFN1K0ZrQ1hRRjExcDNzUHZzL25NZFpPbUpCdzlITm1Hejk4?= =?utf-8?B?WDVIMDBBWUJHVnVERTkwaHZabGl3SlBVRGVhbE5EUWxFTVpxaVVrcml3Zmp2?= =?utf-8?B?VlV2K3IrOUVXNitmcklKeGN6bTJrcDl5ZmV5WXZjY0txeVNHYXJmT1RNOThF?= =?utf-8?B?bTJZanpCMWN4ZHBDdVhpOFBmMWgrdkVscTNqdnJoTG9wcWx3M3ViRlpxSUZo?= =?utf-8?B?ZllGNndyVFBCM0JGdEFEbWJ2amJ0V3ZwREFsWE5ZTnE1MGIxam0wQkUvZTBh?= =?utf-8?B?a0c1eENGN2J0RGMwVnR3V1lBRFZSQXNYSmxjVWxBaWVUZnRET1NUNjZ1TmNU?= =?utf-8?B?cFBnczFXZzBjQzBTVm8xdz09?= 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?B?dVFMbmF4UEcrbHJvbzVNWG9PNkRqQVF1SzNJWTJaSUkzb0x5WTVHOFY4b3dV?= =?utf-8?B?ZXNkVUVUUUpEa1JOZlc0TlZicGVrOXdUNGdiSi9nbjlQTTA3WDcrYWJaSVZY?= =?utf-8?B?T2Q4QzVpYnM0ZEJuanpDZE5GTUpHbzd0eTZOYUJBbXUwNVhwYy9CdG5RTnRT?= =?utf-8?B?Q2tqemtkOGVUcmJOWUpSOUJITmhqV0JkWXJHQU8vWlpLU0UrK1NnVjJPb1Fm?= =?utf-8?B?MGZGdGMxVzNZdUtOazNLU1Z1Zit2eTdqOFRxd21DeWxuT2pWWWhGREpHVzlH?= =?utf-8?B?c0J0dFBPTEV6aFdoYXV0KzlFUHNKOHdxdjNSazRuSzhFQVRZeHI2djZoTW9v?= =?utf-8?B?RkpHOVRyUXQwRHNoNlNZMXNwYkxIZ1NPZjJHUnliQUJXSWx5NFgxVkNwSHJL?= =?utf-8?B?MTlYb2I2UTBlSTFqS2NPcUNhZjg5MUdyNmFieXF0ZEY2Z2RzM2lWbmU5a2Nn?= =?utf-8?B?V01iM2NKWTRHWmx4RjFPc1NmN0lTY3A1MjMyaHFpMTJOZHVWVlJ3TVF0N1FZ?= =?utf-8?B?UUNJY3M4QVRraElLUjQycGp3ckZtR2dIZUVQUDdlNWkwTUpBV1I1VElRZmR1?= =?utf-8?B?YXlEK2QrelpTS1RDOGVycHJtbVhLcHNMeFhMWmNSK3p1NEF3L3ZYaWlBSmtn?= =?utf-8?B?R1NTbDkyVDFNWlQ5cURLT0lQbnZMaFdVWUgrOVoyRDdHU1paYmRZamFlWjdF?= =?utf-8?B?MEVvdUZJKzVwQllLN09odzgwaFNmZTBBcHIwVjFEbXhiTjdneElSU2RGZUNC?= =?utf-8?B?SHprRHJwcm5ScXJERDFDL2N4eW16R2FzY1BsUDhmZVdOQlRGa0RERXZyVXUz?= =?utf-8?B?dElGQWNiYVo0MmQyTVJFbXBBQ29PbFFubzZLaGxweGpLVTR5YUxEbjJqTGJu?= =?utf-8?B?Qnd2eDN2QmI4V09PVjZXWWhJa2tFQmk1R3BHU2JScjFlaEZKQXoxY2VIbXl2?= =?utf-8?B?N0FjWm1yRWJxU1VzbUhHdDVOYlNqdXhobTh3UUEvQ240QlVIdi9wRkUwdXFV?= =?utf-8?B?ek5tbFYwazBxeTIyOUF1WnBCMXJCV2tMYk9hWWhBV01qVHNnbUtXUXRUdmVZ?= =?utf-8?B?RzUvYzM0c3NOWTVIL0Z5UEF3L1h6VlF6VTZHc1dRSVYrajVSZWFrOU9xN2RV?= =?utf-8?B?V0ptd200ZUhEanpreXZYTnJWS1AvMk5zZElwZ2t5N3BRd3JuMEZsYVVyRkh3?= =?utf-8?B?Uk5uZTBmcFNnMGlkbFE0b29LWVYvcjFxMkpuTkVKOTR3cWV1aXZNUWZWSHRa?= =?utf-8?B?dng1c0tvcXBWYlQxNmIwSjM5c245QUZtbUEwK3R3cVpwK3ZPNGVudUFmbWlC?= =?utf-8?B?VFlJL1V3clVqNHkxeTlWMUFMWUxmcjAvOW8zQ2M1cU04dGkrVGZlbytJNHBB?= =?utf-8?B?Z1dCbm96bXc0ZXFFR3JpOVNKangyWFJyTzVuQXYxa2FPQnQ2SE1TZEVpVU1r?= =?utf-8?B?UHgwd1VOOE5mL0lwVk8xYlU4clFDUlNrK0FUUk4yQ2tNSk9wNGZRbU1XODUv?= =?utf-8?B?MUVTVjRPTkd4MVkwaU93MVlpZ0ovVFBhSXpSb3Z3NVgwd1hPUEE5bjlyUi9a?= =?utf-8?B?ejNlQzdlUTczckgyNjMxMUU4REE5eks4a0RlNm5QOFFUN1lzVHh2NVhtK2tY?= =?utf-8?B?aU9rcHRUeUR4TjhTbUxnL1lENk5rL0lTUzVqazd1NURxMlhXcGlndkJNdTls?= =?utf-8?B?bmt0ZnZqUDZvZ1ByZ0czak5lMVpzbkhQdUczTDg3YmdlOGFxaC9mQThUejZT?= =?utf-8?B?SFBpU1lkWFVueFozZTdBRzhzSE8zbHVDcTJSZ0NNVjZiS2UxcGd0bU5vRWdO?= =?utf-8?B?MnNrbCtNVms3OGN5Y211ZTFqeE5pOThKTEhFdXc4SktReUh4YWtCOTFuUEVo?= =?utf-8?B?U3dxcjBjN3ZIY2pkaUJndmtxMmpzQzhSVTg3UGJleGh4eUxZSDFmMTlDaExG?= =?utf-8?B?QzVWVmxaTmU0Zlc4SVhsaVE3YXJaTVF0d21UeExkR1F2SGdBaVkra0xtL2VO?= =?utf-8?B?RURIcmFjbk1UYktXS09id2p4eGhnSTVTb0lFRklMZG5qOEx4UkYxK1NOOGQw?= =?utf-8?B?V3hTYTZFZlFWZ1hRTHhPNzVVVVNmNkJmdlFsc3JoTjYrcElPNXJ0NHB2QmdN?= =?utf-8?B?WWRIdWQzTlpxNWNqbGd0S0xWM1lFS1ozajZ0TG1ZcWwxNENSSk9BSXFaVlM1?= =?utf-8?Q?MxexGMxeGzJGDR9kiSVaYNo=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: 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: 0a08e020-04fe-498a-e046-08dc74aea21a X-MS-Exchange-CrossTenant-originalarrivaltime: 15 May 2024 07:14:17.2084 (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: BVu02JEEbSkBG141tPbXlYQgoygAgbwdc+7gXTkX2BIxZqYe20gBv8Ch2lUUrMpyFIvwOawRJG8pl7lMDPNxdkJaR89b/u04ijAYCmI5LUR/d9aWUif+hGuyHRYsKLIG X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB6718 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.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+importer2=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer2=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1715757373015100003 Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/i386/intel_iommu.c | 42 ++++++++++++++++++++++++++++++---- hw/i386/intel_iommu_internal.h | 10 ++++++++ 2 files changed, 47 insertions(+), 5 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 166103510e..fd4710ba28 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -4341,11 +4341,43 @@ static void do_invalidate_device_tlb(VTDAddressSpac= e *vtd_dev_as, static bool vtd_process_device_piotlb_desc(IntelIOMMUState *s, VTDInvDesc *inv_desc) { - /* - * no need to handle it for passthru device, for emulated - * devices with device tlb, it may be required, but for now, - * return is enough - */ + uint16_t sid; + VTDAddressSpace *vtd_dev_as; + bool size; + bool global; + hwaddr addr; + uint32_t pasid; + + if ((inv_desc->hi & VTD_INV_DESC_PASID_DEVICE_IOTLB_RSVD_HI) || + (inv_desc->lo & VTD_INV_DESC_PASID_DEVICE_IOTLB_RSVD_LO)) { + error_report_once("%s: invalid pasid-based dev iotlb inv desc:" + "hi=3D%"PRIx64 "(reserved nonzero)", + __func__, inv_desc->hi); + return false; + } + + global =3D VTD_INV_DESC_PASID_DEVICE_IOTLB_GLOBAL(inv_desc->hi); + size =3D VTD_INV_DESC_PASID_DEVICE_IOTLB_SIZE(inv_desc->hi); + addr =3D VTD_INV_DESC_PASID_DEVICE_IOTLB_ADDR(inv_desc->hi); + sid =3D VTD_INV_DESC_PASID_DEVICE_IOTLB_SID(inv_desc->lo); + if (global) { + QLIST_FOREACH(vtd_dev_as, &s->vtd_as_with_notifiers, next) { + if ((vtd_dev_as->pasid !=3D PCI_NO_PASID) && + (PCI_BUILD_BDF(pci_bus_num(vtd_dev_as->bus), + vtd_dev_as->devfn) =3D=3D sid))= { + do_invalidate_device_tlb(vtd_dev_as, size, addr); + } + } + } else { + pasid =3D VTD_INV_DESC_PASID_DEVICE_IOTLB_PASID(inv_desc->lo); + vtd_dev_as =3D vtd_get_as_by_sid_and_pasid(s, sid, pasid); + if (!vtd_dev_as) { + return true; + } + + do_invalidate_device_tlb(vtd_dev_as, size, addr); + } + return true; } =20 diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index d63ff049a7..3d59e10488 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -424,6 +424,16 @@ typedef union VTDInvDesc VTDInvDesc; #define VTD_INV_DESC_DEVICE_IOTLB_RSVD_HI 0xffeULL #define VTD_INV_DESC_DEVICE_IOTLB_RSVD_LO 0xffff0000ffe0fff8 =20 +/* Mask for PASID Device IOTLB Invalidate Descriptor */ +#define VTD_INV_DESC_PASID_DEVICE_IOTLB_ADDR(val) ((val) & \ + 0xfffffffffffff000ULL) +#define VTD_INV_DESC_PASID_DEVICE_IOTLB_SIZE(val) ((val >> 11) & 0x1) +#define VTD_INV_DESC_PASID_DEVICE_IOTLB_GLOBAL(val) ((val) & 0x1) +#define VTD_INV_DESC_PASID_DEVICE_IOTLB_SID(val) (((val) >> 16) & 0xffffUL= L) +#define VTD_INV_DESC_PASID_DEVICE_IOTLB_PASID(val) ((val >> 32) & 0xfffffU= LL) +#define VTD_INV_DESC_PASID_DEVICE_IOTLB_RSVD_HI 0x7feULL +#define VTD_INV_DESC_PASID_DEVICE_IOTLB_RSVD_LO 0xfff000000000f000ULL + /* Rsvd field masks for spte */ #define VTD_SPTE_SNP 0x800ULL =20 --=20 2.44.0