From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899673; cv=pass; d=zohomail.com; s=zohoarc; b=kIdhatW5XksGMa+Ta6BrGy31UL09jPbkyzy1xjn3AJLu9RLEEm3/eFAcavs2iw+ZJKG0DYVOkuxbG0yhZWKgT0O76uR48YsFHQldSiiW9R6HvVeXe81n74l7N0YLGRTaY0A+v7YVccZNQfCz0h2EVQJfsNm5jxbm+sIb4lCgsEU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899673; 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=wllwYGVimOAK1sNkbxPQGXJMOd3677JZSN8l+Hwiayc=; b=JhUCj2i5Ijp00PKSjKoalNkwwwEfn7iylMChtN7X4ZF/yJVNhvh8AkwhJ8Lcs3oe+KmEVCO+qPEJWdKLFi1WMEOGEz6ksD/qOpQT7u3uVEjBeX2hZLeKJRharI7RH0Lel4KOiDYcV5ppMOF6efTkzc6B9nc7gDCAeSWiKjvOdtA= 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+importer=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 1719899673687491.55106105195387; Mon, 1 Jul 2024 22:54:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRV-0007u9-Oo; Tue, 02 Jul 2024 01:52:41 -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 1sOWRU-0007tr-Ml for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:40 -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 1sOWRS-0006Tu-Jo for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:40 -0400 Received: from mail-am6eur05lp2110.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.110]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:33 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:31 +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.7741.017; Tue, 2 Jul 2024 05:52:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899559; x=1751435559; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=wllwYGVimOAK1sNkbxPQGXJMOd3677JZSN8l+Hwiayc=; b=GbPeYpZEy9aH+fPO+kvZMvWfrKRDvjQ9rRN+QXNUqmJp/RySmS/tHsWK nMaJU4qtXM6yuzHTpQeqmvkw/E/9j5zS8VUJ3fZJzuqCDRfOrL1liOH3R +SJurssY1J1TdJTG29AqbHavBSbFgDqNyMIancwQxMDiSc8TbHaCv1WjN 5MdeK/2x0w862jC1BcBKpnCyZlEWIB36UIB/wR8aqr26YcgSmQK6VCFM+ TCGA1RXtuebgwNYdPWxteUENsC+J7dBwWJ4H7OZ6SD1fjuyjk7yJqljTR ZT+5ZxXM4I7oqNL0IFkQcHSTcWKWdctS1DhDLu4mIwr/tLPd1iEjZPhqv g==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721575" X-MGA-submission: =?us-ascii?q?MDGH6fPb9mMKieNzRlN5vVTjME4UMR1ZovjHMd?= =?us-ascii?q?qc7t0wafBIxqzXVR1IdxYdraHDQnpllBvzzGNSPD8ahExOnBgiZdbC9x?= =?us-ascii?q?4fnA73p86DgcIyi6F81auoap/bloYpR6IJvkCkfDkycfiTQBwiacG29B?= =?us-ascii?q?J5nns/MRlw80n0+Y5BMxeODg=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=U5SuRbyDbqmow8rEzMus8qujezFL+qFJRSdOlPfTvmWJkdfK1RtxtzNw2VE0B7qeq8U/7LperbpKVG2b0umBeKVVbG0MIF9BTcaAZhdyowTdtqP/VXatNJmede3tYO7lH32dN+w617oYF/F9Aocf3wcFAYSLzvNNAVfYSGaB3isLai7FIjC3vTVBJgaPSh2ScZlNiurtQQdmv14wZC6kBORohJcROdHB8/U0p1KZlXS3+BPLv7olU5DmsiRD8Z3k65lix3GMRqfmUz2HY3oMp30uNkFyriXHrVbGEVSuYevOByQbi3UwkT9oXNsUPOgxm8VMJP/DIOInNxUAWNqE/w== 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=wllwYGVimOAK1sNkbxPQGXJMOd3677JZSN8l+Hwiayc=; b=ShvA1NzpSAzU90D5GyU800Fajk4/rfUe6d9EpTswqLfrmDyEloiwgUUsdSQCcbzioGH52Lptqed2ZE32HzLcTfBhUWSdgdmfbLyxI1Z6x7Sw2IgHdanT3nHton93RJFczCR9B/prOh4iwGXxdYE/+Vd+Ic9f5WCS8qnu9jLGmndZLO6AJR1GxcOnyavZywrJQC3/pAJNO+ijjngopq5iV/TCEWMeB5JOKyV6pmM5QJa97YTP9Q00eTohGXFgcRjIKAvE0zsyFV+5aFEtCd0Xm05A2Sn3Ro3vf3VNB1McNra17tC/cw5T7HKHc7Z7h2pB2dMlMKvKURBj7d9/vQ+DUQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wllwYGVimOAK1sNkbxPQGXJMOd3677JZSN8l+Hwiayc=; b=L4VF0TDFip2xnX9M7X7kH8s8uplYNALEiEz6lWYGyBhAs0ptCEJkYmTaRYef0HT3x7BvuwQoY1w7TrGPwwpEUsG/vCIeipVZsQQsJOjrH6P0nEwMu7KtRD0CnLJ1KNwCgC9oFr9J5XlqIcyoeufh8f/A1huVUSoTBE3x55xOeSiC3uG2u4yRmpeHaZuF6URwu3PNDfifTYfAS1b+lqokR+9eGBEJgnGithQmQnyd9wINURlSFruPEJUU97gisqupGXwlmECzqHHyoc0X9onVSwM59FFWrS/jh2m5+yBfd+i3+TbpJgpTtvhgxb5ngOuG9zL6dAKXoU2QbZFW/ON3Uw== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 01/22] intel_iommu: fix FRCD construction macro. Thread-Topic: [PATCH ats_vtd v5 01/22] intel_iommu: fix FRCD construction macro. Thread-Index: AQHazEQHGsQhBlP7LEGqilns4McPCA== Date: Tue, 2 Jul 2024 05:52:31 +0000 Message-ID: <20240702055221.1337035-2-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 7579553c-357f-405d-dcfd-08dc9a5b29de x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?b28yb0RUdWVvRGVqTEt6VVR6Y3BQeCtqVGI1TVkwTXBYVWt4SThDYmlBais2?= =?utf-8?B?M0svQzNKSzJnQm9SR1R5cVBDbkFYcW1yY0tFeWlBcnk0NWJYS2owamdUR0Rr?= =?utf-8?B?d21jR1VNMklVVFVHclFsNUxwTnZMdEVtUjZTVFFMUzY5M29XMGg5OVBQVUEr?= =?utf-8?B?cWIwR1k3aFVjY1BiNktzeitZUXRONjFTS0g5bUhnbDQ3YzI4azRPRmsyMWxL?= =?utf-8?B?cGl6cmJUT0gzUTl2bnkrWnlXNHNCV3crMFloTk9DNVNtQjVPUUZoNm4rb3VO?= =?utf-8?B?ZkluekVOUlNPa05jTVB1VkhFYmxLVXkxa0ZncW96Z0N2UGZ1ck4yWkFJTnJL?= =?utf-8?B?SElkVHNoUTVURHFTUHcycjlCRWVGU2RwZTFCMzBGNFhOT0tNMGQ2aGZ0WEtl?= =?utf-8?B?SU03Q3ZiUUhsc3ZrNWdlbFdPVFlzampZc20xeHZSQVpXQVdsc1JiWUZ2bFpY?= =?utf-8?B?NHUzRFNXRUFXaWQ1WGpOem5VaGRwYSs4MGlnTDhUMlBjRVFvYWNENjIwblh5?= =?utf-8?B?MSsrbHgzSUNYTi9BMi9Hb1lqTnJaUS93eC9NWlBTR2tvMXViK3d1aERJd1l2?= =?utf-8?B?Wm5nT2J5VGNvbzJIM1E0V2YrNFcxckYyU2hzcEY3cjh1TkZoMnorOUMzUk8w?= =?utf-8?B?aWc5MjYrcytTeGZiNGQwYkZielZtczkyUkh5V2NyZ1VUYTJDYXZyazBTTjUy?= =?utf-8?B?ZklNTjZLaGtPSFlZaEN4dGhmK25ucVdrdm5OZGVjaUlZTFlZN09vK3ZGQ2Zp?= =?utf-8?B?YW5iNjcvV1l3djRkYlF2K0hiNVMyUHNzalNCbFB6Vktyd05rSVRCakxudG5x?= =?utf-8?B?SlFvTDJsWGFGTXM0dWlFWVYyYU0vWHA1cllXYndDWm5mK01XWjJ2aktNSm1I?= =?utf-8?B?QnN1bFBLSTR0L2tFdml0ZlpsZDkyNWJWcEdPL3JERUNIQytpTTM0ZlZzd0U0?= =?utf-8?B?SkxlT0dPNkdXSU1tYW51dVlsY0QzNW5COStIWHBiN3pKc2orZlI4eWlFT08y?= =?utf-8?B?anJVMTl0Q3JEV1NWWWpzTGhEc01ES2FjL0NWN2FHUDJlZENBTkNsYW4ydUZr?= =?utf-8?B?RnYrVTV2Z2d4NXI2MHBmb1ZHTHZQK2JsbVhTVVJBaTNsbTl5QTNFZE16SUJF?= =?utf-8?B?bnFrbzVZb0NrRnJWR1RyUlRuZ3luY3c5TmhrSW5aVENqYkhseDNyQjZMLzcv?= =?utf-8?B?ODI5TE1yRzNmeXVXY0NmL3ppQXpmR0N2V2o1REV2QWUvQW13WGJhRHpQdk5G?= =?utf-8?B?NnE4L1VNVWFSYXdSTXR1MFBkdFhmcEcwd1FHdS8vTXp1M2w1YlppUGh0Uk9i?= =?utf-8?B?VXBhek9CdzJkVUsrVmJLRjVZYzFIcXQ2NTViSkFTMkFXa2hkQi9BZit4RmhS?= =?utf-8?B?cmpRcXZYYTBiYnpqRlJtNUJ5bWtaL0dXM216OERvdGdVS1dXb3ZkMEJaVCtx?= =?utf-8?B?UGhsK3VVVmh0OS9zYmltMVVjbDZ5R3FIaE92NGhjdGEwSC9VWlhiaE1kcVFD?= =?utf-8?B?RmFuM3dNMjNwZUhMSHlkRG4xZVpQMFptd1ZLcmpQenQ5NmQzQUdwVWxIbU1J?= =?utf-8?B?dXFsOFpRelBSWlQwUjZLZis5TVFvVi92WWY5MDZmNmM1V1ZSRWZHV2U1WjRD?= =?utf-8?B?T2FLekZKT1A0S1NOZzErL3llSk1OTUVGdFlhWmk2YnZvUjRjZ0xEZXgyZC9S?= =?utf-8?B?UHNYUk1CYU8vUHRPMjN0SlFQRDhyejNxWVhBWjVKdGpEYmdkRFQ1b3YzQlVV?= =?utf-8?B?cG8vZWxtblVObjZ5Q0tGaGhZZC94dEZWQ25PUFZJYnd6QzZsZWFRSTU1SGll?= =?utf-8?B?WTBhSWdwVEtKdFprdlZlVkRhUlAvTEk0WGo5NWtlR1pLd1lpcW83UlhTdFRE?= =?utf-8?B?Qk5uTFFHdy83NFNwREkzeXBseGF6UHlsTVhlYTh3MmxUaFE9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dnk2bE1nQW1BOTJiMUFWZFp3NG00WmlnK1F6bGhicXBaYWRJZWVQa2NhR2Mr?= =?utf-8?B?RU5oUWNYNnRpMjFQMENLQzdySmZvYXpkZUcwQXBLZGwraHhqTlg1cDFHM2Vj?= =?utf-8?B?eThRa3BscTV0bzRZTWkwVi8yNTFySVc1YzZaZDdPQjJYZEVIK3ZWTGF1ZkFv?= =?utf-8?B?RU55c3FPdUlMOEhGTTJkMGVJMEZnZXArdUsraEJlS1NoTGVJSWdaYmRWN3NG?= =?utf-8?B?WWFTdEV1VFh3bUp0S0k0ZGhnU0hSL1hHY0JIUC91VUpZTi9KUXA3aFNFdVlj?= =?utf-8?B?TXFaM1lCd2RORzBLVGZ4WGc4cjJjMTYyNXFKNDFHMFd6MjZIMmJFZ1N6cmxu?= =?utf-8?B?Rk5ETHIyQUJ5QWh1OXRLMHZVMjdjcG02STR0WWp3N2d6S0hpcnBDYzdCK2xz?= =?utf-8?B?UG5jWWc3VGZ0Y1ZnYnBVK0hvTmpHUFRKeHY2WWhudDJiaytpbTAxVDZnZU1G?= =?utf-8?B?ZXh5Zmo3OTZoU0V4SjZpY3VLdE14dm1PeVFvNTVqaWpVeVRqZU1ySDVnM21B?= =?utf-8?B?MzFoQzZuVGZoRnZDeWZoZkQ1cWdxWjk3Z2wydU51ZjJNWmZmMG0rbVlzQk42?= =?utf-8?B?L0lmYlY0ZmpPWE9OZy82MjRTb1g5N2ZxbUttYnZHUEUwdlJNS0Z2U3RabHgz?= =?utf-8?B?dytzRU9INU10VkR1U0l1SGZFWm5LOG15eVFhTWNDRzZYZ2pmY2F6SlMrb0hI?= =?utf-8?B?U3J0Q2JJMDB6cGJadld1ZXNabkNRUXFuNkUyUUpWaXdxNkxjMG9WYWNEMTFm?= =?utf-8?B?SFdDQWZ3M3VrbWNQZ3dlUjBCY2JtVWZRdWkzTlUxa3FSM05JaXU5QlRQNEl0?= =?utf-8?B?SEdFU2ZOMFNGQ2NxRXFkVHJDS2RyNlczVHFkZGo4N1Y3ZnE4UlV2M2lIV2ZE?= =?utf-8?B?M2tCbHVsSkdZczJYUndscE52Q3lmMy9vWWZrY2tYTS90WW9pY3J6YW53ZWtY?= =?utf-8?B?aEZSRWU0MWdiQ0RzNVFIZEM5a1hlZXdlTmNzZGtMcGQ2N0RONlVjcDVObjZW?= =?utf-8?B?VWgyRVdqY21IMStLVjBnVjRDSlluc2REZko1RHd5OUpPd3FSMHdTRUk1azNn?= =?utf-8?B?WUlLazlBS1VVY0QrUGNrZXdKQThuZXV6WFpnN3R2RkZpdk53NUZ2ZGpZQ0Vo?= =?utf-8?B?WGp3TG5NYncwa24xN3JmTnBFU3lQWTMyY0xwSmg5c0VNQ2wzcXd1d3FTVlJl?= =?utf-8?B?b21TSFJiYzJKOVMydzF3QXlKNzIrQm9UN1hEcnFFL29VNlo4Z3l6QzZubEpj?= =?utf-8?B?TGVGeE1wZzF5VkhlNUErbThxUExQVURUQnVhQkVYS1kvR0p3U0JXUkVFYlFX?= =?utf-8?B?YVZSL0ROUm5TY0llZXJiSFpEelFxakZSNEVBT1cvdElhdVJ5amdncHdBeFZu?= =?utf-8?B?ODFZZDVaYit4dkhzN3VLOHpyYVZFaWNRSjg5dTBrSUJIanJ5dDAvLzA2ak9i?= =?utf-8?B?ZnpNQXV4Qy8zYzBNUHZPNGQyakNOVy9ZZlJiRkdjSmdpc3lPQlZjSThmUHhk?= =?utf-8?B?TmphZW9Kb3I5OUlWMkZXNHNIdTQwQXF4OFBrTVFXNHBWcUJBQWVBWHJZMFRN?= =?utf-8?B?ekdUaU84ZDNqK3NjVU9UcjF0Q2tMOGdXajJvOEdNV1FpU2JPWDdvZXNFN3Fa?= =?utf-8?B?Z21vTFluUmlUMkYvWEpvc1k3cHB5amI2bFgxQmxDdVh0eHMvTFVhNUdJakZp?= =?utf-8?B?aHN3b2lBL3pDNndGOHZRZnJtN1c5Nzk5OUp2dUpXaGs4aDZnOGJGQjl4RWxi?= =?utf-8?B?TTZycHhtK29lSGhLSXUzNTFPRWtDRkNlRjRMdFFYaGppQUc4SCtHYXRlTjJw?= =?utf-8?B?bnZ5OGR1ZlF1cXltckJWY0Y2U1dLLzBYM3oxbjNOV2VuWnp2Nm95Y05oang1?= =?utf-8?B?RS9kWWl5WXlEUjdnT2VzdkZiUUd4NHlJWnRSYVBQWDNwdEdkSURISExhS1Iy?= =?utf-8?B?dmhZZTVzSzRXQkdTRll0Y1RtenFaN3lnb3NQeWFYdTh4dWRmTmpSTzRjR0Zp?= =?utf-8?B?dHlKcXJSYUZjN2VMN1pGOEcyVG1BNW5RM0Z2U3laQVFDeXdGL0ZmM0xLa0Ry?= =?utf-8?B?MmdNRmgzUklzdkY2T2VVVDc0ZThJSFEySC9kTzR1VWJGaWI0cTlncXA5clE2?= =?utf-8?B?enBTTkh4VEhHTEV3ZG9vRlFrN1BoWXd0YzZpd1E2VHVQL3BrZ1dxekpYTzVr?= =?utf-8?Q?7KGBAG/oXMsjoaEYevoyfKw=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: 7579553c-357f-405d-dcfd-08dc9a5b29de X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:31.4848 (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: MNl8AnIAx7Gj/UX5yrdQ9Jl+wcPIfDBpwftBlHzVOY7F/K8Bs1Gd22uNTBVXxI9gonpw5AzCJIJaaFP7rkkY16AdtuGMGErkMgZBBY60CiOnYUEga7cGcPjpLefoo289 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899674649100005 From: Cl=C3=A9ment Mathieu--Drif The constant must be unsigned, otherwise the two's complement overrides the other fields when a PASID is present Signed-off-by: Cl=C3=A9ment Mathieu--Drif Reviewed-by: Yi Liu --- hw/i386/intel_iommu_internal.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index e8396575eb..b19f14ef63 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -272,7 +272,7 @@ /* For the low 64-bit of 128-bit */ #define VTD_FRCD_FI(val) ((val) & ~0xfffULL) #define VTD_FRCD_PV(val) (((val) & 0xffffULL) << 40) -#define VTD_FRCD_PP(val) (((val) & 0x1) << 31) +#define VTD_FRCD_PP(val) (((val) & 0x1ULL) << 31) #define VTD_FRCD_IR_IDX(val) (((val) & 0xffffULL) << 48) =20 /* DMA Remapping Fault Conditions */ --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899718; cv=pass; d=zohomail.com; s=zohoarc; b=FrO8e7KsPd5HqnfbhFycWGcGq7F5InbE8363GGUUhT+H4zKlYOnFYKYvY0d5okHhqXiB7Z86T3QbkFb/3qhHyl9SmAwgGZqbPuQFLn3/SYJCBZhtpAPHzRhekJKf0SnnLx4caXPMiP31Ncjhf7lDPqN+4qoI6WxV7PPfsv2Vys8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899718; 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=Z/2aj7kxHmZQngqgXS2PutUg5PHcoFHQ+gDj2SWJzVI=; b=Wq42Et+af7tMyKkSKAIIhopktS3UviiWxyEaE+iGpe16G4GGaK0wuNPtEHHVNAQEakXk1Nkx2RobVMfDzZHkzb9TW59Uw7SukRB7f3J+kTEKFEROZGaL0ByHSsxY7LAy4mdDSH0JslgtGQQesmRJczsNZHYpd/wN/HL3MaE5GZM= 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+importer=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 1719899718248955.7489851466541; Mon, 1 Jul 2024 22:55:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRf-00081b-QS; Tue, 02 Jul 2024 01:52:51 -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 1sOWRe-00080W-IO for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:50 -0400 Received: from smarthost2.eviden.com ([80.78.11.83]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOWRS-0006UB-Vj for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:50 -0400 Received: from mail-am6eur05lp2105.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.105]) by smarthost2.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:33 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:32 +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.7741.017; Tue, 2 Jul 2024 05:52:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899559; x=1751435559; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=Z/2aj7kxHmZQngqgXS2PutUg5PHcoFHQ+gDj2SWJzVI=; b=g3IY6RjBzW6p7cC9pg1Il0PzfARZQX0nhFTNwKljI2tg0tYMBhPYZGvL GrjeljdAoscPs5s3q1AYLZqOREYJYzq59hGT96wCyEb4latDSURpVADG8 OXaGyuq+VjgVqfUxkgl2SU/dSvzCP8LsBSxbTQ/2KXr1bAm/upTGlvqWC 5JfiX0HYLmDuZwlV5tyBeOBKVJ33F+GI4EBtVLidCx5Ifd3rZicPUn3Fg MCYBA2sgAk6432y+0vNk5L3BXf5PD3zhOei4bDJrUhrGHVHB+PRFe/MSy mAJzY7bVy6WHC1vev9lSfvyq6vlFrdOLa3e4hY9BFkKxcrF9enSHfNaNx Q==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721512" X-MGA-submission: =?us-ascii?q?MDEa/3R0jqSTVNu+oNnuIQyu4JL0tmnsW+0eYx?= =?us-ascii?q?A9LvvrHprt57e98mK9WuMor8PFqDBYmW02aqFrzIZUJSQxMB/6BHO7l5?= =?us-ascii?q?406K863MfLe8O/WvBGyJLnkPxEwfnIeIfxkCFl2BKdY4lHs0cAv9r6PW?= =?us-ascii?q?41BnwH5QIjRO3LV88sWYvZ6A=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=lITTMH1pKVLI93ihmUugU3xH0XuNs+RUIwPL21ELBJx/cjY5lN7Zo2y/4rscntciWxK3rKX5lXiPsMrK3/pJgT+xxNAuDW8NOzZQE90RUy6r9+a1nmV9xdxMEyQBtOX0JDkVNtkM7K859mvxsJltTqJ18oDZYrwr1xnwGELP0F0B8ySaY/H6fRIhSQKNeTPFAPpWuOEQ3n38uwvXQqlM2QOhyBnFOZIUkwrWJQE4+BPasyh0yGMdKukwxkHb4TL+mUDqsvhkQcIzsavNg9HSzM7xCT5+pR1m5wlckJEYieXi6i6Uex08nLm8C5zxzedRxFPC+7OtSZrskGrjg8U5cA== 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=Z/2aj7kxHmZQngqgXS2PutUg5PHcoFHQ+gDj2SWJzVI=; b=ibLdZJsGVu4WGc6a2PWvy65oYOG50ylJcCruVtLqcYwGltrTuHQsLAUhrLuw7m/6prp+lHPZQ02gvmmTjW257mezaIrQrFsFo4F3CCQmk9qcD3mjZj4tD1kA/J8jZa9++KVN6z/f+i1it51kYy/8uLIIwkwxZjw7Org13Wmk3xPPCm4oQLqPT8IaOfMOmu7cajLvdmKABYRxr13apzkTmMwbGHpnzVj5HhUgag2My4Vi/TOwluvBpHbvi2KB1fh0HVj/L5Lh47KamWv62R2qTNoasHgM3RRMPKqc9lwKSeMR0ROO6uUs8TaJ2t8mNI55BN1B2w76d5+47phVvzamgQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Z/2aj7kxHmZQngqgXS2PutUg5PHcoFHQ+gDj2SWJzVI=; b=kzWM7HLZRnIMf+guXcVg93+1UlX+UsSxrRsAixLxh5oSs4bxRFB/kIkL6qxgBCdDhzzKZol9fvHzmvGdoy2mh6rXHT59FqEKZqUDgmwagxFXXNx2ADr2fAuN1SAWSwjYtF0v/+cJPolCADwswv1bpYBAePQixgOCuo0XvYVOJQxBMAtp0CLu5nnLremycxttcsrNFvQSCaaLOaHt+Q1kZ7mfobmxhEI1bUAbZjxRLr+6cAgRmbGF/0z6FOfXROXhEfNq06GAAcCvAGsoo0aWK9wsB94aJ4ixeXrV+Pu0LpouYl2RInGhDLojYyy3KryaLH/Iv7SFWhCroOOMliQPfA== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 02/22] intel_iommu: make types match Thread-Topic: [PATCH ats_vtd v5 02/22] intel_iommu: make types match Thread-Index: AQHazEQH6yt3QFkvykGEU3nY0I4A8A== Date: Tue, 2 Jul 2024 05:52:32 +0000 Message-ID: <20240702055221.1337035-3-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 010aa57e-4704-4f45-6ecc-08dc9a5b2a77 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?MGdna1Ywa2NKVEYyRTIydU5QL0dxTFdCTXJFbnZiODJ2VUQrZlo0bDBoeVNT?= =?utf-8?B?RFFzUk16Wlg0bldzbG9xWldvL3lPQy9RZjRMV2M3VkZBNWwwRFEzd3ByMHRV?= =?utf-8?B?RVR6YndzU0Mrc3lxazRTNmErRjNWd2VXaXFFUmRUVmk0QW5WbmRwVWpLMU1J?= =?utf-8?B?MVNUNE8yQWRZNWZZSmlYdjEwUmhuOHJwdEJpWTY2bjlzSm1JaXpGZG43L1Z0?= =?utf-8?B?V1R6SHZaT1kyNjdQSHEvYTRMSVYyS09tV1F4YTdBM2VpUjZGaGdWVTA0Z2Ex?= =?utf-8?B?ZVUzM2tVbDJyK0c3NGJHcjNITEx6bmhoVi9ySmVKSVRJYlJ1QzVNU1ExS1hG?= =?utf-8?B?NmljeWtFMWZzaUZFWGtHcDJiak4xNnRsNDdxcGZPMXlRTjM5MlgyNkVGa1Ja?= =?utf-8?B?djdLQjhCYmN5SmRSSnVaVnZCMEZVQWZ4RVB1dTJGRHE2OVhWTGRRZEpMNW9o?= =?utf-8?B?UmIxdnlEYTBXL09DM0lpNHN6TEkrYmhMcXpGeFdnejNSalhMQkxFOHpqVWJX?= =?utf-8?B?czVoRGtFeXZZcXZPbHczUU9wSkszYkFEbklMbnFOSDBaUFFiZ2x4K2dzektV?= =?utf-8?B?cnViRURVNzFsUmlOMThyb1pxc29FVStzZlU4d3QrZk9ldWhwOFZGbTBzQ2lQ?= =?utf-8?B?d0lmWU4xRnU3ODN1M0NrTmF0eFZDZ01IQmVsNU5kTmRQNEsxY1JTYm5EdXlh?= =?utf-8?B?YjgrYm1EcEoxUzQ1UUdHN3YvZ0hUTHdvNCtFc2JSNlRuSXZRdUdaMUloeGlh?= =?utf-8?B?NnprTDgxN0N0eTVBQzhNZXhPeWtqVjRjY2ZFR2dVSDJtNTJ4KzN6OHlOTTdD?= =?utf-8?B?Tit1WmNpbUM0azFQVitOOWNybnBUdlV2NVlYUWtBWDRZaVVBcHBob3IxSHlL?= =?utf-8?B?NTJUalFTWU5nN2ErTmQ0UnBRVUYwNXF5N29uN0VvUU5CQjN5U0xuMnJkRTNp?= =?utf-8?B?Wk1QLzAybWJXdDlHMmxoTkZua3lqY2tYaTUyaW9zL0h4QXErUGluaEdmVDht?= =?utf-8?B?UVdpaG5zeTlhUjBwb3VNejFEeVVkaTFVUTdsMHJyQkdsU0Z1Z0JJSkVkTVF4?= =?utf-8?B?OHhHQWF1U21KZ0cyUzE4M2JwcXBKdlpUMCtmWGM0SWl5a045TmtZN2RYcjJN?= =?utf-8?B?NHdqSHhCRWpKd0JYaUFpWGwrcXRDTlR0Rjc4dWZhVHhUY2x6UjZRandyMW05?= =?utf-8?B?Y0ROU1NiU3IrQU9VeTBrMEVaN0k1bkozd3h3U0ZGTEdpSE1uVHVVL1VpQzAx?= =?utf-8?B?YVJMZHRTTHo2V1Z1MXJ0SHRsRm5ha0NZUklJenFtM0hIeUtzRnhiRDhrTkNF?= =?utf-8?B?L1YrVkQ3VHRBVzQ4MUViTUZyZUU2T3lLY3ZIZm9rZGlUWGdtWHh5TS9wb1E3?= =?utf-8?B?djFtRFIrbmd1TStwd2ZvUWdCck1BblllNmhuRFhIWGlKNWVvWVcxTlhFNllk?= =?utf-8?B?NzByMkJ0V2RxcHRMdjF0bk1mWlhhc0JYV24yVThqYUhMa0hMcXYyMzIxSHI1?= =?utf-8?B?dVpkbkRJYXM2ZmxlMHM4bUZrMHFCRnNsenl0SlIrc0RCQllTNEdtTnMreVBa?= =?utf-8?B?R1A4WDBuOW1hS3N1dk5tZFpNTmVoU21KNlBsVWVoZjhDZjVHR0ZsUnNxVDZv?= =?utf-8?B?QWNHTHFiSUNvRDNVWjk3UFR6SzZqTHlyZGJ4bXJ1cE5TOEVTbFMxVmZwM29n?= =?utf-8?B?YjczNXdHaUZuYVVWQkJUZmJ6QUpLQyt1Y1BmS2tISE05dXdmSW5aWm53Mmxk?= =?utf-8?B?djdHSDlwNzMvQXY2MDBWOFVjVXdSNEMrTFBFUnRUU0ZNYU02NCtxREkzV1FH?= =?utf-8?B?RGdWK3VZTmhtUkpXYktuMG9pSTdNcEtNMmFwTzIwaW42WW5FU0EvZ0dIL1Yz?= =?utf-8?B?S1BGcHZlY3RRbXFndGlFMjFXc3pCc0M5SEliMUZsUVppaXc9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bUpmVEF3bXd0SUdveDRuTkVSUHJIdFhlVnkwWDh0Vm15MmU3dXdFV2RhL0R0?= =?utf-8?B?SHNIMzNTZnJubEQ1b0dhUGFQY1JScEJaaUtIRHhJSCtlWUVBbFJaNFkwV1Va?= =?utf-8?B?YjZLQkRGZVBYK1FCd1hQajRKMnQySys0VGpoN01BNk1LeXV0bHdCTnRXOUNs?= =?utf-8?B?ckhMZ1VDSHMyS3pwRW4xRmVVdXVyVEVnVDVqUDJzOWVacFA2ZEljOXd4alpz?= =?utf-8?B?d0hEb08wWmxqQm1KV2RicVlqNEFlNFJkWXdrenh3eGxNcTVaQ0h1elhkTTF3?= =?utf-8?B?UEhOL25zS09kdWFERUFUM1BZN0JieGNXT0ZEZU1NWEY3UXdGRnFyVzVxZmNF?= =?utf-8?B?MVZFUFNNbzJQUjRKWC9nWVlUd0hubnNaZk9sTlVybFRXR3JicVp0bkt2VzBl?= =?utf-8?B?VllKN2p5RGFCMmJYYjZ1UGRiQWk0WnV5Zk1vZnljaDQrb3pVNW9xUTZEZm5F?= =?utf-8?B?SUV0OUo5WGk5VWhxR1UwQkVPdWJndmpOVmM4TnZPdWZqQVAvUzJCeEtxdzRz?= =?utf-8?B?TE5Ra2N2VDRvT1dWb1ZETnJZbGhSNWtPNmMvME9QaEkxR1NYTGxpanh6ZzV0?= =?utf-8?B?VkFjS1VhZWhMMDl0dllsNTdSSmlQQ2tsSVlSWnQxK28zUE5DL2dpQm1HUDdT?= =?utf-8?B?QzNMUVFwaEJBcHVHVDBubXBmdEdENnl1QklJMjZ5VHVtRGRJNFdZazJNdWJl?= =?utf-8?B?NW9YRlJxZnErUFpEOEY5K054UmdhS0hKbEZGa3c3NTJRK3YreUxaaCtxSU96?= =?utf-8?B?TWZUUjhpd1BWN0xZTVAwdGFtSmdmN1dLTlV4SCtTcjF2d3VxWEM2Y2Q4d1RK?= =?utf-8?B?WjBKSnJTalArcStzaFQ3NVBuNFNmd3ZYdXF2SkhhVGVYL08yN1lISXlFVzZN?= =?utf-8?B?eElQcjBvOEJ4b2FWdXJ0QURyMnZ4dHBEeVNRUU56ZGpJdE5EaHg1TERpVFdI?= =?utf-8?B?VG1BblIybEdDZk84eS9lMmE2djlCQ1ozL2loMXFlVytIK3B1WCswTFF2cXBM?= =?utf-8?B?ZVl0bitOVGszTUU3M08xZVRQVWM1UGt1V1VwSCtqQ2I4TGdZa0NiS2F6L016?= =?utf-8?B?RkZVMnFDakdERFJJTi96bjVieCtrQmNiNW42UU1heVJOVHZMYi9ISDdZS1Nq?= =?utf-8?B?ZndsV3k3NkRkMUpaUE05ZTVHSnB5NXZqOG9yRGJEYTE4WXpTZW1MN0U3Z1Fi?= =?utf-8?B?dks0ZkdtcTIvZmlnSUV3RFd4aHBYTkNvVUVpWHFsU3lyZTdLdjNKNEJKT1JN?= =?utf-8?B?ZUZiZnVFSUtsNGZRdlB3SjhUaGZJMTFOYlp1enQxa3BhbHFaalc4VU5VZENU?= =?utf-8?B?emQ0VUtDOURkdW95OGYxY0ZaVGMyNXNheGdNY2xiQkVHZXZHcXplb0ZsU3kx?= =?utf-8?B?OUNTS09tOW04cWoxcW84NnprL044cjk5SkhCODhBWWR6cU93MTducmJwSlpI?= =?utf-8?B?bjdCQzJlYkpxZmIwL1FmZGdUVTJXZGppM0x0VVhmaDhGUy9wTWRWVGpQREZ4?= =?utf-8?B?MGVUZmlsWWFuU2IwL0tXOEZlSzNYdzU5aHQ3b2FpdjdQbVdkVEJ2a2RYbjdw?= =?utf-8?B?dE1JNW5HQzNxN1poQ3dtOVlDMXczR3l3Z3kxQU42MlB3UVI0eUc2ZGUyNVow?= =?utf-8?B?dGJETUVqdHVMcmtYdStYTGdsTXhaM29HamJjVDF1OG5SeEttN05aWGFEQ3cr?= =?utf-8?B?dUFZNUtZUjY2V0ZMV25Tb3ozUmhXL1Z6RUMzMmNsMGFqeDR5Zkh1TlNsWVZB?= =?utf-8?B?WUhlZWwzUHFiWG9yVmRBL2w0dUx6Q0pvR3JoNURWM0F4NU1ESkFMWHN2VFd0?= =?utf-8?B?OFkrNTFSdDAycTRMNUEyZnViUk1LbEl6TGtGalVrK2pzN3grNVZ5ZzRuZHJr?= =?utf-8?B?MnFrM0pEUm52cEJnalVkUmhhTFhmQndPQmxJSk5nN3RmQmw3eDRvc3NKSzRq?= =?utf-8?B?M1MvYVBpTldOeC9TMHl6bnIra29HRkVUR2VOQmxGT0RscGFLd0EwSWtHNDNM?= =?utf-8?B?TmkveGQvZzAwS0ZxWTZZVjVvcFFQellGNlhmaWF2UVlYZVhIcHZ6MEhwNWcw?= =?utf-8?B?dlM5TWhrZGtReUVhNUZvZ1BYaXlxU3FkMEJDWGdnQWhkUGF0TVZicnNCeEph?= =?utf-8?B?VkQrakRJVmRXNncybEdORkxpbjZvQTFLbHJFaU03TUd6QksvMlhwaUdyb2cw?= =?utf-8?Q?m80lBHhKzv/qVOovqKHZqrs=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <923168C4B590A64787C729A3E86744AD@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: 010aa57e-4704-4f45-6ecc-08dc9a5b2a77 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:32.4620 (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: aoLbBv8h16nLbnIQ/a8QDrOK4AvcGBJIp7Qf3Aj+xKEl0alQaA0FzRGc/lwi2nsQrjvRj/HlIPsyUifQoqHsMEJ0vCd6oQfcNC+9go20XE5VtV7J7n0zrrestirUbAX3 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=80.78.11.83; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost2.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899718652100005 From: Cl=C3=A9ment Mathieu--Drif The 'level' field in vtd_iotlb_key is an unsigned integer. We don't need to store level as an int in vtd_lookup_iotlb. VTDIOTLBPageInvInfo.mask is used in binary operations with addresses. Signed-off-by: Cl=C3=A9ment Mathieu--Drif Reviewed-by: Yi Liu --- hw/i386/intel_iommu.c | 2 +- hw/i386/intel_iommu_internal.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index c3c0ecca71..c6474ae735 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -417,7 +417,7 @@ static VTDIOTLBEntry *vtd_lookup_iotlb(IntelIOMMUState = *s, uint16_t source_id, { struct vtd_iotlb_key key; VTDIOTLBEntry *entry; - int level; + unsigned level; =20 for (level =3D VTD_PT_LEVEL; level < VTD_PML4_LEVEL; level++) { key.gfn =3D vtd_get_iotlb_gfn(addr, level); diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index b19f14ef63..bd20746318 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -506,7 +506,7 @@ struct VTDIOTLBPageInvInfo { uint16_t domain_id; uint32_t pasid; uint64_t addr; - uint8_t mask; + uint64_t mask; }; typedef struct VTDIOTLBPageInvInfo VTDIOTLBPageInvInfo; =20 --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899629; cv=pass; d=zohomail.com; s=zohoarc; b=Bo2DiDcY0mVB3chj/0+OKeD8kCjkgsNJzcC+YQ+hdJTjPZ1pw55H5JFn9P47x++birXoKEOtMs5UX8i8Q2wico32nzbZS8MAIhOi5NbaBp07QdSy1lR/SRpryXV6YQ844JmZSyu3hvHjCRhWc1qKtn1IDFwQATaro4vYgdQvAZA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899629; 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=ozTIDtEY7hjZ6/CqnUwPAuiGQBOY2pjpxiBUFYZFZZY=; b=j2zSbjJoSr9ywH+NmnRCiJQyuc/oJmgiN+sGdrOkx925CbVozI0UYs42TlgNr1t2Vfo2DKJI3vNwWx9QC51kSiK8usLPKvp+y6y6OHtr5h+JUD+v9FLSyxCRQB+y1utsC0l9MQUxU2bJ4SreVlc9ox6e73pFs3rRU5+LcFHbQx4= 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+importer=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 1719899629264503.17663549884537; Mon, 1 Jul 2024 22:53:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRZ-0007vV-57; Tue, 02 Jul 2024 01:52:45 -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 1sOWRX-0007uU-3m for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:43 -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 1sOWRV-0006Tu-18 for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:42 -0400 Received: from mail-am6eur05lp2108.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.108]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:34 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:33 +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.7741.017; Tue, 2 Jul 2024 05:52:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899561; x=1751435561; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=ozTIDtEY7hjZ6/CqnUwPAuiGQBOY2pjpxiBUFYZFZZY=; b=lEjzlOLyXTRjZCqTWvzgcf/Q1Q3sughcSTfY11Wkx142ZZaEDgyhCmPZ 6ply84BUNhDSusknCke3EfGRvxp6Z+ALIQBs0NFRLJB1bPLlzW7fUyzWy rmcbC3bKM4WY8gt9CqQKAyXUiG7KdiKSfNEtZeKng0B3s1FkW/6KW8OL5 8INIcCZsgXmR9YuSVa/JVAiIjix45chvxMn0QcAOxDawkV8ZeBPMWVVOS ksj6BBI0ECbQwd0yqKLd9Xw9wL6NtpqeRmAbqvovKX4ypJxa6xcz9KNjK KEQhUgYWc9d9NxivbmHJFLbCyvWfzVenr3MAqUj4+9ay7xgqDYWW6iyGP Q==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721576" X-MGA-submission: =?us-ascii?q?MDG18OMg4f4xBuh0nzXnnu5iU7EXHK8R6Aqa0o?= =?us-ascii?q?zSm+RP2I5j7bNA7s+GyP8yIxmTHdKMirYqBGX5vRGPWJJRG+mnHrJYSc?= =?us-ascii?q?F9R30G1iDMFSYY3R/3H+gnTqzizdertzzZ7Yynp8+g2Trm2g9Si8i8jz?= =?us-ascii?q?sZQgdbjcOnSZLieVydlAkqFw=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kxHh4J0tB2zi1ormagUMPrLxN7szkgsrJeYQ3Q3dKjsNsVGVZdvbYb657V7SixMSDfwf8lKc9sh0ci8bRmvM03ktpJZTw9QMqNQYxhiaMqkal17xxdq16mivXYndGl17olxzTJ8RrHjT0v/vWiWeQMhPp2JS3n2YClSGwtSNFoGpFk2SfBKN7UkOXp3m145XIX7X8Gy9X5c+hw+172H09PrTxf5YdbLyyXx9fRQosjhMIoUbcSYzNnaRoD06QBiGtwUS0VzX+4zGR2R0n6NVgYJ0/TR+CAokPLYuoT8YGX+AJwHtiSxCcHacvCGwCMrG+YPkK4wnownf2B0xXvVmig== 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=ozTIDtEY7hjZ6/CqnUwPAuiGQBOY2pjpxiBUFYZFZZY=; b=gPoRgIaZtt/j1/eZ93bW0OkG86ty4CBRqRKHKHeXImX4PGMemQuDQLuJsljkUgGQpAXmxOmwKU4/XNXL9nTAoayk2je0+vF/1aCei+k8sYIj5NuLVelvSu5CprCMwd+K5EAG+juD5+7l4Me6SYEXT3MNFQkpiz4IGbqYEmW5ckXwGLlvUC2m0OeVBj3L7AlYx7EppmhBUfB512Zjk4AQZ0ZwXw1fJZVXCegIZTTxwX8VYP8jOzUvjEjiqr9GQi24gWt9d7AsermFJHNSV1u1HdAaj+zwdMdTMKJSSOfYf/tdpm1uE2WgHuHfXoyqBo8zPSGEKZ9a0Gn7pOUTRID6SQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ozTIDtEY7hjZ6/CqnUwPAuiGQBOY2pjpxiBUFYZFZZY=; b=jkV90/WAZOawAaJp7P7PxHF9fJZGIPVgqrWdLC1JzcAtLAd1J0Gl10h4gOhkZJ/mw/fMrQjm/6jITK4KbuAQIrG1dCLgK47p1DUc6++0VTONtKNvOM4a9+JUyewK0+TRI3JJPS2/6UVIUID/2hZzzfFpfxzlHFA0Gseti6oYhwo0t0DRUSVL8JSomevMECO7s+kBtUujnTG2bZAez+Y9CxD8/E3UIEeHC9LRhluflNzW++Y8xYkjW+3DLqSZl1VSI56FJbzxJ0A/Wwyf0iTYjUOpfoTxSYc04s6+iymUdM2dZ3RCebIyzF3ZqUS5pFvV/pXzFWFoI46lkEcY9unKbA== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 03/22] intel_iommu: return page walk level even when the translation fails Thread-Topic: [PATCH ats_vtd v5 03/22] intel_iommu: return page walk level even when the translation fails Thread-Index: AQHazEQIX64drBolXUuuM+UyOsesIA== Date: Tue, 2 Jul 2024 05:52:33 +0000 Message-ID: <20240702055221.1337035-4-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 6740b182-17a7-441c-f0db-08dc9a5b2afc x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?QlNtSExRS3E1NlVCMVRIb1RuKzRSV0RIZnBvTFRCSTZHRVpKUnd4c1NqOWpB?= =?utf-8?B?UnRDSkUxSGtrOFNTUjY5RVRMUE93eU54aEJxd1R1QjU5WFc2ejNXQVJNYWNH?= =?utf-8?B?emFETWcway9XRmhLKzcyRVVkL0RuUFRGK2Q3T0NpNHN5MzJidmRhTmh3cm4v?= =?utf-8?B?Q1BhTHZDams0N3dxQjk5OGtob0Z2Z3dMNHFsMDZiNGdoRk9uWGtGR1ZyNlph?= =?utf-8?B?V09ENjBkSC9hRW5ZN2Z6OFNVSUUvZlhTWDd6d2JxWndObUdhWDEwUGprLzdo?= =?utf-8?B?VFVoSm5HRkhGL2JLelgxZG1scGp4R2R3RmtmQ0pndndsTDg2MGJFbnEvNlpk?= =?utf-8?B?Z2IyOXJKdEUvUE5iMk5jRFE1R0JTRFFFNjdYY2o4QUJocEVZcjdyOERKaVNs?= =?utf-8?B?T082QXZwSUdaQTJGZGUyODJ6eFp2NHN1dnpMU2ZET3QzMlA3L01Db2xrYWZR?= =?utf-8?B?dHplNW42MmljOUVsVmRVVldaUXRrOUxOVkNSNWJwOG9YTjZlSGhnSWpBRWVs?= =?utf-8?B?T1dxbnhNYW9qUklrcEpMWVFFcFVHbUs2S1YzTEhYU250aG9DZEcvOGJzRFVo?= =?utf-8?B?cEJ2SGQ0N2wwT2hQajYzMmpmYVpNNkhGS0l5RzFBMFA1c29LTG9BOXFtdmo0?= =?utf-8?B?cFRzZHUvSmk1T05Sb3BVRENsVGtoR3hTNUI5cHZmUWs4R3pQVzhaaU11UEk1?= =?utf-8?B?NTVISVFVTlFrTFhZNkY5NTRuSkxTZnFLa0xtc0dDYlhDUFJ6NHczZjRvWnl2?= =?utf-8?B?M1VOZlVjZi9lY1pRamNORC9USW0rU1VVRWdTNzN6WncrYzV6eEdoaUxCRm94?= =?utf-8?B?MWxFbUN5eTVtbHJCaW10clhpQlVVTjEwVTJnNE9vcms5MnlEUXRWeU52UGVt?= =?utf-8?B?YUhTSGdiU0dEQ1ZRL0ZjcHRYOGhZWEhFWG5BY3Z4cXRUYWpXNTRpQmEvR2l3?= =?utf-8?B?NXpicm9UMUdFK1ROMEIyeUxEMGxnUEl3OHJhb0xkM3IyektyMzlOYlp3dWJM?= =?utf-8?B?OXArd09FS1dFamVUbkFFcExjdm5XNUllNTJCU2RaZ1BaZ2FtY3JYZTJLS2pj?= =?utf-8?B?MDUyOW1jcTVib1UzQVFvbmovNlBRVW1TcDgrb21PbDZXVzlWenZMMHVJTXhQ?= =?utf-8?B?cytHSE16NWwxaWRqQUUzaGRLSWlVZ2ZoR0ptdkx5OC9aOFZscHROWE1jQkFi?= =?utf-8?B?WEhyNktTVFZKamtSME1PcTFYbW9iV1phYndGZVhsOW92bHdWS0UrQkhkSnNQ?= =?utf-8?B?TmtYM0pXWllQeFFsTU1WdVYzMjNTWThMaWs5VWNLanY1ZzBkUndvWFkxNkxl?= =?utf-8?B?U1FJYSt3eklFVDVjMlNoSzBEaDF6emJSZ0dJbi90ajZFNjEyeXNSNVZpbitm?= =?utf-8?B?TkUyZlpWTXZIWW13ejR4ZVlQWFYxcDIwV01pdzhoVE9tT0dWbkNkbTZVcndN?= =?utf-8?B?MHJab3NXZ3F4N2Jya1FXcFJhMWU4U0dEZTlWSGtLZ0dvdU5IODc3TXNZdDJs?= =?utf-8?B?OC9VMHFERU1WZUZySnBJNkEyZERDN2FHOG9vS0h3ZnUwc2ltVjZJK0lEdTVC?= =?utf-8?B?YzF0MzJxK0VUN2NQODBCS3ZEN0JYTlMzRENNSzVHQy8rcmU2ZGp3NzlncWU1?= =?utf-8?B?blYyRUd0TmxrejFtRHZkbFZGWUFVTU9RYWFyL0hNTllFN0hKUStPajBqdDFv?= =?utf-8?B?alZmZE54ZUl4Slk0cG1QTmtCakE0U2t3ZXJXR1E0Y25jc1NZcFZIVlQyUVZT?= =?utf-8?B?c00wRUFldWlnNHk5Mm9FSUc2N0YzRDJJcFZ6UTNtb2xXaWhzL1FneVhNMVRD?= =?utf-8?B?VEdNUnpLZGJVcVVvZThHVDkyWHNaRGYwS1JqUjRKSXBsOUhhUDBZTmNmSHFt?= =?utf-8?B?Z3dVWmlFMHpKU29ZVFJVMkV4YzhvYXcrU01CNkhXNG5YVGc9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?S3JtOXh1aGxjSXJwQjRDVnVtRWU2eHk3TU50NU1TUmJJTVJKbUZINmdvRTBO?= =?utf-8?B?emxmQ1pSY3NBUjhBR1hVN0NqTzUvN2VwdmJ1cVhRcjd0TGVJWEl1SEFqUndT?= =?utf-8?B?TytLbUJnTXlrOStxVHF2c29YZ0RyMU8rU1FHUEE0akpjVTRnYkVFemQrMDkx?= =?utf-8?B?SWI0VWgxUjVZa0g0am1qN3d4dHlGbFV1cE9md1hXTEVTVm1PZ2JVU2ZaNnQ5?= =?utf-8?B?elpEc0R0VzZOcFN0Nm42dG9tM2NtSjBzVE5qL2MwalZ6U1ZuWWdnTGxJVWVG?= =?utf-8?B?VGFFUWNpZ25oT1pOQW9HbVFLOTdtaWZlazBRVmdzTHErZmxFcWxlMFVHQ1NQ?= =?utf-8?B?OGErcUZEVXBaV3dQYVZnYVFvMTlTMXNUR1FCRWkvOVpZbGoxR0haNk1qVlVH?= =?utf-8?B?ZzF2VWkzUU1jS0hyZWZYRUQ5VEFoak52TVJ4enV1U05zRkU0d3RsVzdvcDhu?= =?utf-8?B?WUIxdXc1eXF5SjcxdjZDNVFRRGpTVEUvNzI5S0FzZVNEOFFjQk45UjlHaVNz?= =?utf-8?B?OUhBMTAyMEdaeEZrWC9LZHRQcjQ4ZWp5eWM3ZlZsdVJhaXZGYkV0QTJ3dEtE?= =?utf-8?B?citkTnZCVkVIWHdiQzFEYTkvdVNNb0luRStWTnp2anhhS2ZvRkJCNDJrZGJ1?= =?utf-8?B?bitJa29SWTQzc1k5bm1vOW95Zm1TYUJjYXc4S3pzY25OZXZOZ1BEaU1LZDBx?= =?utf-8?B?NlI3OFQ4a2xVU09pL2xqV1JmL2VoUzJ2dHpGT0tzeWZHcUQ3V2wyR2VRbzU2?= =?utf-8?B?ejJhUjQ3L3BJUXVoSDc1RnRuS0RsZnh3bllMVzVXNGI5UTlSY2VHbTRSWFow?= =?utf-8?B?bmQySEdIMGt5T0h2TG9QeklxVWtZbzdTNzQrVjBmcnFLOEQ4T1luVDBSU1Vp?= =?utf-8?B?S1pGZ0VTNDhTSmVWZjNLSW1NdVVBbEhMdWtxWkNGR2dHRFlLdTlvdFF5QS9a?= =?utf-8?B?a3NBakNneTcweHBPN0dRZ2N5MnVMVmVqdzFLZDk2NmVnV2xzK09vNk5ZTGZU?= =?utf-8?B?RG1zWU5WcFJpaWMwREc0T0tDUFhiUlhGaTdDOUZzR0t2NVZSSHlqWDA4dkQw?= =?utf-8?B?MFJzbVgvdTBLbW1IQy80c0lLYWZmVnhjbCtGN3dIY0U2d25TTkdwQmFDamxJ?= =?utf-8?B?SE5YQU0yOVZJd053VVlGa2hZRFRYcEo0N3ZOcXpGamFzMTBGVXYrWTdFS0Z0?= =?utf-8?B?dzBacHlETUhjVU9FYUlTWDJPVXBQakVSdTIvZGtteUhYVTBHd2VmblN3MWNr?= =?utf-8?B?VWs1a0JGeHFEL2ZneWdkcU9aZTZQdmExT0dyTmxwZnYwOVd0ZWVXVHpUN1Fa?= =?utf-8?B?VkMxVjlxak5CdTlqUlRsYUFvWDRzYk8rcTZWa3VqTm1sQ0tJMmlRWEhnYlAx?= =?utf-8?B?OTFDTFE5QXQ4Y2lFMnBlK1BSVFJvNGJrcTVSczJ4QUR3MlNxSGRxNDRsWnVB?= =?utf-8?B?c3pwUVlDQngxdnJRZGZ4SittVzVNSjZ3dTcweDVKWUdmMm52NzRKWkJ3STln?= =?utf-8?B?VkgyRHkwSXhYVGV3a0ZDRG5SWHYvQlg3MmxvaTVJUTRtTXNSOElDQ0RXTEQy?= =?utf-8?B?ZHE4WnpsVHdWN1hTZXJGWDBXS1JFN0pYZFZsTHNnaVYrc2d3ek84S0VNam9l?= =?utf-8?B?ejBVdm9jQmNNSjM5RTZZM2FPSUZCazVKNDZNUXVQSnNjYlIwVVZyZHJSWklN?= =?utf-8?B?eFFEZnoxRGpldzRuWnl6Qm5BNEM4c2FzNFUyNEJyTWw5L3VWUmgzTyt4VE9I?= =?utf-8?B?MExVWkx0akZvaDh3N2VVTnlnbWxNTnhWTUZuQjlpUHFsa3IyVTZ5M0RlT1V6?= =?utf-8?B?aHR0cjBvMGkxRUhQTDZPQ2hVenFmaG9wVWVBNHJoWjQzMWpsTGtvNmQ3SWY1?= =?utf-8?B?UWlBQ2dkZHFYRUQ2VnNGZ1JOak5IVm9xZnZ2NHhzSW1YMit4eGdqaHVqNjRr?= =?utf-8?B?WTZZTlRtSFFzL2YwKzdsY1RqSlZPRUtLckZ3ZjFnNys3amhQYWZ4TDZDU256?= =?utf-8?B?eXFKVEtLVVh1ZXZwRVBScVVMKzdGWWlrZkZFRFpVemVaWTR2VW10azdpRis3?= =?utf-8?B?Vk9BYkxsek1MdHBnNVVNZi9sbW5LVmoxVGFOeEJ0S1VKYlY3eXJ3NldTbi9h?= =?utf-8?B?eEZiaHFYNEtTQ285MFNOUk1ockY2aXhtMndJa0d5VS9hRTB5aUlvcVlaQ1Iv?= =?utf-8?Q?ZeZWtK3NqqCYPRDm0+f4fjM=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <8F03BB60A4371545BB01E4B3D59AD471@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: 6740b182-17a7-441c-f0db-08dc9a5b2afc X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:33.3587 (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: JSY0UtuwjBJn4CRdGuoldqUw85aqyFoNJQSqE4vnpFRp1Bxx02utsUO5LO8bXyd0LQSQUAzboqM1A5ct+83+PPcCRybfdBY7Zz+xAYtyJv7+QJX4tDeTh0OX/VXxZnLn X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899630288100010 From: Cl=C3=A9ment Mathieu--Drif We use this information in vtd_do_iommu_translate to populate the IOMMUTLBEntry and indicate the correct page mask. This prevents ATS devices from sending many useless translation requests when a megapage or gigapage iova is not mapped to a physical address. Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/i386/intel_iommu.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index c6474ae735..98996ededc 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -2096,9 +2096,9 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VTDC= ontextEntry *ce, uint32_t pasid) { dma_addr_t addr =3D vtd_get_iova_pgtbl_base(s, ce, pasid); - uint32_t level =3D vtd_get_iova_level(s, ce, pasid); uint32_t offset; uint64_t flpte; + *flpte_level =3D vtd_get_iova_level(s, ce, pasid); =20 if (!vtd_iova_fl_check_canonical(s, iova, ce, pasid)) { error_report_once("%s: detected non canonical IOVA (iova=3D0x%" PR= Ix64 "," @@ -2107,11 +2107,11 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VT= DContextEntry *ce, } =20 while (true) { - offset =3D vtd_iova_level_offset(iova, level); + offset =3D vtd_iova_level_offset(iova, *flpte_level); flpte =3D vtd_get_pte(addr, offset); =20 if (flpte =3D=3D (uint64_t)-1) { - if (level =3D=3D vtd_get_iova_level(s, ce, pasid)) { + if (*flpte_level =3D=3D vtd_get_iova_level(s, ce, pasid)) { /* Invalid programming of context-entry */ return -VTD_FR_CONTEXT_ENTRY_INV; } else { @@ -2128,11 +2128,11 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VT= DContextEntry *ce, if (is_write && !(flpte & VTD_FL_RW_MASK)) { return -VTD_FR_WRITE; } - if (vtd_flpte_nonzero_rsvd(flpte, level)) { + if (vtd_flpte_nonzero_rsvd(flpte, *flpte_level)) { error_report_once("%s: detected flpte reserved non-zero " "iova=3D0x%" PRIx64 ", level=3D0x%" PRIx32 "flpte=3D0x%" PRIx64 ", pasid=3D0x%" PRIX32 = ")", - __func__, iova, level, flpte, pasid); + __func__, iova, *flpte_level, flpte, pasid); return -VTD_FR_PAGING_ENTRY_RSVD; } =20 @@ -2140,19 +2140,18 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VT= DContextEntry *ce, return -VTD_FR_FS_BIT_UPDATE_FAILED; } =20 - if (vtd_is_last_pte(flpte, level)) { + if (vtd_is_last_pte(flpte, *flpte_level)) { if (is_write && (vtd_set_flag_in_pte(addr, offset, flpte, VTD_FL_D) !=3D MEMTX_= OK)) { return -VTD_FR_FS_BIT_UPDATE_FAILED; } *flptep =3D flpte; - *flpte_level =3D level; return 0; } =20 addr =3D vtd_get_pte_addr(flpte, aw_bits); - level--; + (*flpte_level)--; } } =20 --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899612; cv=pass; d=zohomail.com; s=zohoarc; b=KUATt71naGsp3sJK3aA5ptffHIa/GFx/3zt/17TEEeYHlMQHLVOmAFE9om58mmRm1ZFj7i6C5BnlKPtYgE7sindh0l6gPBAcMbxcGTdppWRy2jzUYvlE2nj2AeAoHHq/kCn30jDpVXVl6sMdUePgxYLL08/rnhBjsjD0IJcuK/4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899612; 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=ypVe/9XWlbiYY67gHDpjPVysJYf8D8Q3GP6UPMoOP6s=; b=DLReCTsPfKQlAgXyZwKz6IhhbHwXOuPjj9DHP3OKeDmcJp0SxE1EMzK9JwwwvSkI70cKpXLBoqBTlssrdz056heQFfauOdjHwsyVXLneZgDLt5G30m9aCD6jckiXRHFwZavGtQ9CgySgO6ZU2jdq7ecRh+Hb9YETh8gVqSZhuG8= 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+importer=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 171989961270153.87389185573272; Mon, 1 Jul 2024 22:53:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRa-0007xr-Pj; Tue, 02 Jul 2024 01:52:46 -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 1sOWRY-0007v3-5P for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:44 -0400 Received: from smarthost2.eviden.com ([80.78.11.83]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOWRV-0006Uc-8E for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:43 -0400 Received: from mail-am6eur05lp2104.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.104]) by smarthost2.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:35 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:34 +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.7741.017; Tue, 2 Jul 2024 05:52:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899561; x=1751435561; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=ypVe/9XWlbiYY67gHDpjPVysJYf8D8Q3GP6UPMoOP6s=; b=qjDPZ0CN7hNJlTneAfhWD6IGtIf6vu2zTXv/iIsurFLVoaab1WdRDZcV OBor1geSgTE2+sduCGRd7Xum29C0RFoWPizB28It0buCGKKNJjaySxUCt LKZgEaSdtyM5+UiaDJk7VnO6RPE7F1u0B6C+fIvocleHxAU58cRmIwrVY NqnR67EHhcNfelpI5mOB3Grvr3HQZA1R+nh/MwvSlF3/iMC8cjaniUlS8 U1cZsky5o982TOgEXcrlQjyp3kJQ3gNXwHXj4iedvziZesAI+zyPNAWJr BrkFl4MMMh+TDavvyFv5QGgZ08vwZsvq/ZAXv2EgFMmFnJMaMagp7F/sY A==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721514" X-MGA-submission: =?us-ascii?q?MDG1dW4DwTKg5X29Mnzgw2RyST+/lIrN+Prd27?= =?us-ascii?q?3oED4kOqyp0zaimp1u2B6tGAvRl3wIC8mo0x+gTNdyOK96utJY8O94gd?= =?us-ascii?q?L8ePPL2XhIc0im1qxsA2bd72nuMWLV9srRfZd78ZCMAWyDarTAecOWz/?= =?us-ascii?q?VZJTjhvr/gmfMsMWiw9DF6ZA=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fLifgvqtK+AkNoVMzhXLSKQ6i/jpQqBsLfgUIS3W7uzYVVBh4W62oSYcXNjqXxcpVKaHHlfsaBaxM1nB16ofw9jpI6ZtP9FtKPtxPyXSiFNgwf18yJpVNPCsbEdEQZWxYo6N1XLc5n2PRd0nUCD8AY02RNg5id+nMNLg6gDLhEMk4X8fe10IpTmMeSvhQTweyJQf5IGn3RUsmF9ZryLHhn3YC07ySlVXvFu8lSCcVbhnByzZFiAKWfYnYRRF3vRMaqW8Yp6QH1aI8tm0RoiSHxo2xiNcOJc/j9IMORbwyEmndnuG8g1shdSDxfm3BsXW2Q61ARWTWhMSbjaKYP4ZKw== 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=ypVe/9XWlbiYY67gHDpjPVysJYf8D8Q3GP6UPMoOP6s=; b=dGb3YdoIbXyxnzPwgQxHQq7dVKFXdglMgPUZxCd+uHsbJ95h0erTwclU0A7EyIOo9gFmFs/LIUPPjGAiagv5//a2mm8GfGEizkIqUq9qf63m+yTohegbffzgcY3ip/cqH1+32mAxAq94n09r/xP+Vrxs9N508sDZn3gBmH0qXrUyF3KZorXXvZ6ZhYKcKtb+zOuZj0WaA6tBIoyptftPR+FxXbFyNsRUlnxbRMfN9HL8zE0RI8NY8Fp1yf98cM77p5oG0pIFc87/16F4GVOQhBVn6U+Y4tYh9gfw8w+GB68wOfzl5V9E+iH/MZdzKx+7Gpt49rvccH0kXeZWY/9x4A== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ypVe/9XWlbiYY67gHDpjPVysJYf8D8Q3GP6UPMoOP6s=; b=NDsi1z542F84ln+w1jla/A+ze1gedTDZ4DuS2vnbNHIP4ncn9ZT1KNm/dgStVNx36/eLndLxJM55hk75L08e5AX8aJmS4Of0dYn5DGjg6WQLAa/3UdckQEEKgkQEREY2c8Ch5II72MKhvj+uLHwEPR54nZqNI5GZERcCt5noNmwEt6aMY2dchARegAc8JcoQ3ORI0orX5fPRbtHmDWDBhQbwvsvePktUJ6VDfCrba1CCF/5BbOUVFRvF2rGGa9NAr5sNeE5cXOfJLNllLSWy/kDFZt39gCBv/5GjdGAR07R2MBeR+SN8ApCsmgA/mlH09rGYpwvrCu+NehFsFCPPow== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 04/22] intel_iommu: do not consider wait_desc as an invalid descriptor Thread-Topic: [PATCH ats_vtd v5 04/22] intel_iommu: do not consider wait_desc as an invalid descriptor Thread-Index: AQHazEQIBXXzL7bpek6rQxeDAgf6ew== Date: Tue, 2 Jul 2024 05:52:34 +0000 Message-ID: <20240702055221.1337035-5-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: c7d21eea-aa78-43c6-6826-08dc9a5b2b6f x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?aVExalNaMm1aQm4vSlRsaXdiVTR2allnR0hYOXZIR2s1bHhYUGo3NVFua0x0?= =?utf-8?B?VXFZanZTUE82eGNXVlJRZ1lYaVhIUGxVck5hSW5kcEthejBLNEdSRjFxSDZv?= =?utf-8?B?MFB6QUhtckhCODN6UDl1OG9IdVU0V25uRFFTcjVZSjJHUllXS0VsVEJEUUI0?= =?utf-8?B?K28zUlJ4Z0ZUZy9yNDJmWENFRmExK2VwMXFVWmc1NDNnT3h6L25qamZDb0JX?= =?utf-8?B?dXlwdGliMUthS0ZpVW5EaW5oRCtlOEtRdkgyK0NRN1ROZ2grSlZhb3paOWlW?= =?utf-8?B?RVMxWjZYRVF0K2h1NGI0aVJJOTlpNXN0dXJlaXB0QVFEUk5sVEVxRHJZYzlE?= =?utf-8?B?WmdYZVpZRzk3SGtheTQwUnAxVjUwSkdpY3E3M2lSdWFYbk1BcmZoYzYzQzds?= =?utf-8?B?WDZzcElPbzh3STQ2ZlBwb05wTUMzUndveStaMXpFNlJmMnRQY1k0UlEzSkgw?= =?utf-8?B?dG5seURFRE0vZUlDRDNLczdUZ1J2ZlczazZ6N1ZPRlVnMEVsTHRyUVdJeU93?= =?utf-8?B?SHhFY1lmMyt6TEhFYW9xaWYvSmllLzRXTmdYeWNPOTh6SCs0YVloZmV0cGpm?= =?utf-8?B?OGlxOVArVlV0VjBaSXFMZkp1ZmpxbVQ2MSt2Z2dHL1lmQ1lTaWpnNHNWbkN6?= =?utf-8?B?azRuRm16S2ZmeWNGanhRODBpQzVKYzcydFdvMVlOSTI4bTQwS09ja01sMzc3?= =?utf-8?B?bldYZjZjRXBLcnBTL1VEdXJWbUUxK0tVUmQwOVRKTy92YVlaeG1QdVEramha?= =?utf-8?B?eEx4WDNPbGJTajE4WGExcTYwWDZqTjVsL3Ewd3J4Qjdnd00za1ZDRG11MzFq?= =?utf-8?B?SFZUdGRqdVZENmZaajZ3SUJsc2xKRWR2dlBuTENDUUt1aUQ0TW1wdDdhbkVh?= =?utf-8?B?WGhjeEo4cEdack15RndleTNtUFVvOUNSK2FMeW0vYlBzSjhYRzRDTmw1bEl6?= =?utf-8?B?S2Z0ci8yN2NQenNMbklsUDZvRlNPam1JcWprUy82Yk9zMDhHM1d4LzlVQi9J?= =?utf-8?B?eE8vSHVPWUxMd3FBN1A5OEVCNTNWQXdmTHY1VUxBL3pBY05WaFE1UVZDRVFp?= =?utf-8?B?UVFUdW9hSlNBMFB2MStubnEzYlJpMGU2TEUxMlAvcmhYeWY4TnVYNVh3ZjNZ?= =?utf-8?B?ajhYZ2lRTzJScVlEVEJzYkxCTU5SNmp1TzkySEJMcnlOVnN1LzJiUU5YM2dv?= =?utf-8?B?Vm9MVGpWL1JIbmJkUmNDQzR5a1d0WE1qN3IySGJBSlF6SE54V2Ixa01lUzR3?= =?utf-8?B?djJPL0ppRURsQkxwWlhXajcvcXBWUUd1Mjc5c3pVUXhXRWgwNStuM2NiaS9S?= =?utf-8?B?Sk5NVkFRSFpDLzZISE5XTS9sdFFsQ2grQWZqUEpINnZpMTNmWmVRazhXTk5E?= =?utf-8?B?REdJYkxNS1BGT1RjeGFtUGlCdkp6MlM5b1JiNjlmSCtacy9Vd1hKNXl1ZnBs?= =?utf-8?B?cTY4RmFCSE5pUFV3UmdMWWZQYUQ1NVNIdDBkd3FTbFRsUW1wRndSRXZSM2N4?= =?utf-8?B?YkxaRUpFVGpBRDlOSlQvWlVNbC82RlJsUEd3aW9EVmRsMmNwL281TTA2RERD?= =?utf-8?B?TmRJbmlzdmh3NG1adE16MEZRWC9zTWVMSFpNK2lvdG81YzBPNWFHR0krVG4w?= =?utf-8?B?bzVLT3JMZUdpMHNpQWRHL3JHeWF3YS94VDF1VmFSUVZha2RGQUtPanEzb3ZU?= =?utf-8?B?N2ViNnJXVjkrNENyei9HSUZFckZmNE5EeUcvRDNZSEtkU0FSTG0rZ2o2TjBU?= =?utf-8?B?QTRXL1RIaU5zN0FYbHBnWTg0RWR5LzJPclFmV1FhQW5zQ1F5aDVSVmw5clZH?= =?utf-8?B?SkwwSGdLSzdBeGJSSnFoMUFScFFPTGI4aDNWQ1FYMUtzYkQrR0V5ZEs4TW9H?= =?utf-8?B?TGsxenlBQkJseVhaVmdwVTRtcExqVVF6Mk8vYnB2K1JuY3c9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?blhwY1M5b3RWRDRra0JEZHlWSE0xSGtqY2w4Vk5OUlpXS25CSVJwdCtQV2ds?= =?utf-8?B?L2dLNExsV1FTZlg4b0JFWm96ejNjTEw0d00wclA2OFYxMDFocytTejg1d3ZH?= =?utf-8?B?OEFscGViNzFXWnR6QmJmM2hEb2x5QlZvU0k1MWJ1QzlLd0hKYnoyKzBtRW1W?= =?utf-8?B?VWNtakRWenJMTEdUTlZ6VzZtbk5VWUlSS1BCM3NSaDFCelpRVW5UOWsxVkZN?= =?utf-8?B?Ull1eTVzQlpyeEkrUUhXM3Y4VEJaek5zWVNRcjN4eU9wTnBMVGd2eDZ3d04w?= =?utf-8?B?MXQxclZxZ0NNWmJUbklMb2NTdFB6V2Z0NDhzNmdaY1F1MlFCTFI4SEhIaThT?= =?utf-8?B?WDlxRGR4ZjZYMUNoVGxJUGNjMHRqNmQvTnJGTVBXSk5tR2VPRWMzSDFzbmVY?= =?utf-8?B?UVlYbUtPYzVUbmYzVGcvS0VydENhdC9RUmZIYUh3d2lRekJHTUtYNDhvWlNV?= =?utf-8?B?amhZc1M5V3FobVA0OXN0VDNxRlhSTWJJNFNxTGxLSXkxZ3VQK1VTc0NsUVo4?= =?utf-8?B?WWxsOVp6R2FSUkJNczFGUTkvZVp3WDQwaTk3WmlaQitYZ3BSbGJ3U04zcjhP?= =?utf-8?B?eVR2T091d0hkMzgvRUxBbFI5RDJTbWxGd3J3bG5jMy96OWlidzI5alVxRXRB?= =?utf-8?B?RmZJMkd5TWpXallSakkrNHhyL1VndDN0cnhrWkhMQk5EcjlNb3lHdEFSUXhS?= =?utf-8?B?VytzWlV6L0FhWm5pQWhpa1J4Y1FKeTVBcHVrMmNhL1laRmZWWjhXOTFyMXFE?= =?utf-8?B?Sm80RWFHVFJnVEFST3hqR1JUY0lsZlhlcThzNkpJeFMyN3lqcURCYXlCM1lr?= =?utf-8?B?RVFTWjZ1NE5MRy9VMWVCQWNOYkJzYkZveDRiSUxPcThOMXpUcHl3TURJYXF6?= =?utf-8?B?TlNYaFpuOFQwaDNNSTM2ajQrMzFRSG9rd2NsS0ZKM2NSckV2d0I1K0JIVWVm?= =?utf-8?B?d2ROSURpd0QzbkZaWk96YWU1aWdKSkFFYVg3TW5qTEhaNkhFSEkwa0pwbmM1?= =?utf-8?B?b25oQ2NROE80NWVJOGZjWlFZSTc1ZVBOdHhKOEExek9WUXNwNUlDTmNHWHd3?= =?utf-8?B?STVKbUdIS3gyK3E2YkZPN3h4TkhwcVAyd1UxYWIzaXlpVVU4UGR6NmoybmhB?= =?utf-8?B?NE15MEgrZmxOLytmZ2NTR1pKMFEvaWFvaWQreEFjRm8xU3BMSjVYS2V0WjBF?= =?utf-8?B?cDlFRW5ibjk3YWlRbEJxZ0gxcEhYZENRdnRsWmdaM09KQzNTZlVWbTJBSFJj?= =?utf-8?B?ZnpRYkpPWUVPUy81aDZPNGk5NUhpSGVheGl3VWVDcnloSWlhMi80OEJIanN6?= =?utf-8?B?THlWcnh4Rmg4anMyVVFXKzgvaUlqcE9FOG9nSU5KbXRySEdhdTc3UERSU0px?= =?utf-8?B?MXA4cS9ESFFSYUttbEF2dGM4ZEhWR2Vzb0RaOXdxSGxOVFFsM21qWHNzc0xv?= =?utf-8?B?eFJndndSVU5LWFFJQ0YwVjd1ZktlUXZ5ajdWdHZGcWk5cWZZTmEwc2FMZXFS?= =?utf-8?B?TG5zZDJzMnp2cWpPV1M3NEQ4WWZJOVlzaFRMK3J2YXNwOTMrMTMvdGZBWjU5?= =?utf-8?B?T29mc1o3Y0t1RDNpU09UUVo3bE1CblZYVUhYdGNyZlBlMG5YSG12UGt2RWYx?= =?utf-8?B?MHVwOXhPK29jemFjVDZZbXRCZFVlakJUbXNQeTI5aytrMGUyK0xIK2dya3d2?= =?utf-8?B?UFdjeXUwamM2LzZHUHhOdTQzS0luRWFtRkFQa2ZDOUpCaS9rY1I5K1VIcUQy?= =?utf-8?B?cWx2YzRIR2IzWmRaU3htRDVySkttQ3F0ZFZjczY4QmVObU1YMWE5a2J1UXFF?= =?utf-8?B?bkMzWDlsc3MxVFg4T2tiRzh4SGJkYVpSd2YwNU9ER3JnS1dzM2tsNVF5ZE8x?= =?utf-8?B?azF3RGU5blBEdzRTcWZUSUxJR3Fha1IyKzh2eS9RUGplbTVIR2U0Z0JVSmdC?= =?utf-8?B?MTY4c01TcHNycEw1SWNyQnBaN1p0bkxWeWZxeTZGd1cvQzZqVHRxVE03VThm?= =?utf-8?B?enBxSEJGVkZiMXJGRDB2TlB0UmF4bStTTGdCTWdjcGl1TWtpK3k0QjUwQmU5?= =?utf-8?B?VGNFdEUrbTZHUXphQTZMRzJSdzd6NFE4STJLUTJVTVhScEdZMlI0cVRCVCtN?= =?utf-8?B?eXBaaGpxWFZONUpwbm5PdWxPaEZ2aDdiNEloTDFQbVFsbkZjWFh0ajBwZ0ZI?= =?utf-8?Q?w1pmFIPIf2nCTX7M1mgRiWo=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <70B36C38F22B714284A3C3B1861D21DF@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: c7d21eea-aa78-43c6-6826-08dc9a5b2b6f X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:34.0728 (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: bzerqBSa0zrt5OVfHLdKsULtrGkWnnYudfzAFi2b4zcnTQN5LtyAHy8IF3+8irtZd2WQLvaAe+khnKWFXTZr1ESEQT2EpkgpD5eRa8ajFOgF0lQ4MFN36LkFtjfNhN3x X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=80.78.11.83; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost2.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899614409100015 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment Mathieu--Drif Reviewed-by: Zhenzhong Duan --- hw/i386/intel_iommu.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 98996ededc..71cebe2fd3 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -3500,6 +3500,11 @@ static bool vtd_process_wait_desc(IntelIOMMUState *s= , VTDInvDesc *inv_desc) } else if (inv_desc->lo & VTD_INV_DESC_WAIT_IF) { /* Interrupt flag */ vtd_generate_completion_event(s); + } else if (inv_desc->lo & VTD_INV_DESC_WAIT_FN) { + /* + * SW =3D 0, IF =3D 0, FN =3D 1 + * Nothing to do as we process the events sequentially + */ } else { error_report_once("%s: invalid wait desc: hi=3D%"PRIx64", lo=3D%"P= RIx64 " (unknown type)", __func__, inv_desc->hi, --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899676; cv=pass; d=zohomail.com; s=zohoarc; b=kKzcECF7J2chbk1/kOwk41lv7JTE+7B0qgNrn2BPDwT+jYfi9aVTbkFC2WA5M3uTbcPp+lByYFrbxGgUMHEsZ+gJRiXJJf1Rc1/rVjAA7jFo9i4KDpQG4MHwKYJJ8Vem8WsJH/JJ4p7DO1wYjHb9qKicjN27WZCzd1xG9o2gQJo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899676; 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=xT1iq8H2X9LjoI1WXr5hydii1xUTqbqC9xfPC6Rzqcw=; b=FHR3bbAskMl/Xc+gajPiv/sN0JBe/Fvad/hfMh+zSqflgI2iuIMV676fTTKNPKn1huKsBIr6UJnB+oPf7CiUuRR+npYZyEkZPVKSKG5yV5ey6h2zl/kmf5a/6qXkS3v4hcoguKOx0KoqJltq7M++kqKqv8DhVG/zHF5sy7rvV1k= 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+importer=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 1719899676213296.921199550913; Mon, 1 Jul 2024 22:54:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRc-0007yK-4b; Tue, 02 Jul 2024 01:52: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 1sOWRY-0007vD-Lj for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:44 -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 1sOWRW-0006V4-OR for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:44 -0400 Received: from mail-am6eur05lp2104.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.104]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:36 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:34 +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.7741.017; Tue, 2 Jul 2024 05:52:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899563; x=1751435563; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=xT1iq8H2X9LjoI1WXr5hydii1xUTqbqC9xfPC6Rzqcw=; b=kLabdy3jWzF+oHzSQsX5ubBDqka+h7GXewSRIL7+wLzTHV8uKiiDhgOG MXMMKJrRfbbyUt6YG5g95PYwdIPmfyXgKkbW2uPAowHbDHzS2YV4VtAQl D/k+CCkyldslvJzvLhm7MUljkpQcOQb55bqrK0wmnw8QkRmomYmmqOhAq yYg/vGxq9Di/3JCsa/yaJl3gy6MNUFIkslocqw78Qdygn/IG/oP1vFz9C we7b5I0UVdPlSag/m93EhdIksheDV2F5PuSOEJH9HGsvPPMOcLZoYui7E GtTyVD+ue9qlMrWbSZw5DJS3a8Z4iZhsX/mMh2gT365YK8MzKk1h+5PdM A==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721582" X-MGA-submission: =?us-ascii?q?MDH+rzUsov1EpOQpXUHmoB8GQuOMoQSVXsL/tN?= =?us-ascii?q?D9FjATf7jLcAnYlT1wbn1nKa3gOxg2wcdx5wNuEhEPDCc4vjM/10pXwo?= =?us-ascii?q?Jo8m23zNEzWa4l3ST+bjzlZpLXk8HwHD8jvAFH2PhFrUMctM40e7gm7L?= =?us-ascii?q?z5lnf8JXdz+dpM1qCiC9qEqw=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YzjB3CIrSp80mMorSbqE7Ds9DwkHIOHU5dHflRnFD3/8QhecrN6CIlRP6m6JU/u+xmAn8HRJdV+ieMHy0IDw+4Y/3I4VzzJTQU9qH3WZspCHzEGTZt4LY29EVhVIK8vwa3yMUSRvKNd7JZsvkaGIJdm8IspEUsqWYxA+1MTKTjeGBd2zm4n5a1TiCcqp5GBC4f7V1r9av2dMhJUMsEqSwzeVR7QPDeDXSfE37isrzbxMeGTF78vDHPWZFDN1ytG1o1EoYSq0fVSbj7/SwGfrUWz6VoeoP4d7eGr0CSQWJjfx7zBoBzi0LhZvLEhmF3CcnT3brl6CzfLoQmEGsuwkZw== 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=xT1iq8H2X9LjoI1WXr5hydii1xUTqbqC9xfPC6Rzqcw=; b=cYCVxIu38mP87LE4p8gA2b5kl4mAVmcGJYG2oRN8XFquf+B2J8kmZuQvl9nbGkR54b6YeG659Ak9kTsuNN+JtzrkK8v8OVGxiVlwy5Z0sU1VrwseDmWgZ7apZb6lCzlLDRXxkj9Oygj/iGVekpn07ZkZEkVDrUxwuFFlOKh/Ji+XWHSsPC8/bk9N0mQQWN+G6Q49tPZjmTNkMnjB9sOXwSCfXlkGSlbKe8H1+2ZtYK0BNuXBlSeXJqSx/eSe6GKBsvfTAbqkfOkxEuIGKLg0CpCTtxVB879T8pXAvSe3ZBxxG3p7H4CJIu2OMOCHAhrM1CtGGIQ2XF6pyLC8mSx84g== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xT1iq8H2X9LjoI1WXr5hydii1xUTqbqC9xfPC6Rzqcw=; b=O1MIF+bwmgZLGAMFPKgfdqpG/GHtBQi3jZS2DQrnnew5B1Zn6jEaKag7pwWZQtNXQHBwOLLjE7K5Dyt8TpjL02TNX+BNOpxRUvSGVTYIN2sKLQdAftVdOQttSoz/9F9JK6hVyC09gLSgnk/SN8nF7h5CyMReA/tRnbWwdhnTc6Ylz0xMyKHRlA8Q5/qZfsR9/F+K7I3CpoGoNUcd6fkuaYliMB3M0YWQPhIFH4qBZvpjeYtb5KR8wKdPOQ2G5WWBVPEbUZKiZ5YtrSYKjpvb/WcwT1NilwXNDdlzaYdOiCgn0OyLDdxsTgGwCVNqysAzg0MlQ5PWyKEYhwfJicNFbA== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 05/22] memory: add permissions in IOMMUAccessFlags Thread-Topic: [PATCH ats_vtd v5 05/22] memory: add permissions in IOMMUAccessFlags Thread-Index: AQHazEQJr4vF14tba02zG7kBavDB/g== Date: Tue, 2 Jul 2024 05:52:34 +0000 Message-ID: <20240702055221.1337035-6-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 1c3be23f-6469-4c11-57e9-08dc9a5b2bd8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Qzlzd3RwSmVMOUs0bG05RUs2akN6cTJJLzA0RHVOcTl0QUI3TEEvNWVKcVZ1?= =?utf-8?B?enJWM2ZrLytnUUo1S01Wb1ozT3p4YnVWcTNtaU1jN2x4Um54SjB2ditIZVh4?= =?utf-8?B?NmhoM05KQ092SW1NcGR6dHNVZTFwM3RaekJKd1YxZ0NZMTk0SEJmTXh5STIw?= =?utf-8?B?Si9NZzFQRTRkajhJQ1g5WnJlOVBZdCtCYmpvTTExKzZOWEx1SDJDT09YVXVS?= =?utf-8?B?OXNRRndsd1dLMkF6RlBNTm9vNlJabEFDRjEySEEveWdjWWlYc242cDZXeFlK?= =?utf-8?B?RFQyc3prR1czRVk4ZGpKcFR6elZFRXVrNGMwbm4vRVVTemk3K3BIYmpmVWVk?= =?utf-8?B?a0FwdDVlSEVlTG1uUlB5UFRwM0gxSmtkaE0rQ2NqNmRhUVdyMC9zZ0Q2cDJq?= =?utf-8?B?TklxdjhYaEJDR2lsNWU0cmtSMm9yNzBiZmNmd2ZwMnZFNTFhTmw2VWpldTdy?= =?utf-8?B?bFpFNy81Szk2ZndTb2lSTjJ3MnRjSG95M1RnTXdiTzBTY0JUeURGREhOMUNU?= =?utf-8?B?dHZQNGlqRlBTSmcwQjQxT2Z5TExJNWJwck5MdUxnQ3BCS2NOaTVyZ0E4NmNy?= =?utf-8?B?VVNrLzVZbjYvN3RZb1JMWkZNeXY5Mmo3OGg5OStoVHJVaGMyME9UOVh4MTBZ?= =?utf-8?B?UTZjOU9QNGhPOXpvREdZdHYvc1VpREZYUllZNDlOZWxIdTFiWStjWnRpc0dz?= =?utf-8?B?aVd0ZnpLWmh0YWh0RGFqTEpMTm00aS9zZS9Samd0V3hnS09nQUVONUIxMVFr?= =?utf-8?B?QmlDNWVvR3YyOTNwVzc4U0lkcWczZHRKMnBDaGZFN2xNWGVOOGNmZ3dmaWkx?= =?utf-8?B?Mk1INzk1K0pqSFp5UU9VT1NaVitRc3BtWHMwREtmZFBBbzBQZTVjUTVCVFhL?= =?utf-8?B?SlNJUjh6ZGxyc1B4QnpQcEpSQmNtdVc3cFpvSHBXNEhwRk1VRDhGYTV1SzFQ?= =?utf-8?B?aTdlcTBlS3BCb2NSN214amdTN0JQNDhFMDgxL2JYaUx3QlhkS0tUTHB4LzJH?= =?utf-8?B?bVZmUXY2eEZMVEVGRFZKbUk3VFBMemF5MzNhYklOeVNWMGtVRFpDZCtIOHQv?= =?utf-8?B?bjBGZU5WSWErRGRCaWY0aktlaW02WU9DV1ExMGxkK05KZHRzSTkydGUzYXJo?= =?utf-8?B?VXpTdWlQNXRBQWV4eHIxRG5DYkVQaDVxRkZ6S1NUOWJyRU9hTVB0MFV3ZjRT?= =?utf-8?B?QUZiOTBZSXo4V0RqMVVmUitNMkQwd2ZjTVMzZjJ0UUJTSEUyVTVRZ0NLWlZR?= =?utf-8?B?K1c2L1BBRDhKKzBvWlRGeTNnWVJsSng4SHNvcFMya3l2SWxIRGVHb1RGRVhz?= =?utf-8?B?dGZtdTdlblBqRmlLdC9ORWttRFhnWTQrcFIrOEgrVkFabEgxZ05BaTZkRW13?= =?utf-8?B?VHQyUk1OcncrUXVvUkprR2FkdlZpYUo3TnY4OFlMZ0pKVEJoOUR5ZzYyTmtY?= =?utf-8?B?amU2ZmlWT0hTSmZUL2Jka0kyU2wvNUJVaUc0dzRyakh2d1VOMENkc2FnNGpz?= =?utf-8?B?NlNjQTd3c1FsSTdWN1VZSnhweU94ZXJyYnBTRmg5YlFMRkdDOTZFNWlIcnVH?= =?utf-8?B?THllRVNXdDNrVGFXY2ZkbFJkY1oweHlUaTc4a2Z2azVzc09ETllPNjZBdGlI?= =?utf-8?B?bGg5RTBraFVKSVBvSmpSRjR5a3FKcHp5WkwrV2lmY05wSmV3c21vZU5leXQ3?= =?utf-8?B?Y0ZWU3VpL0dSdVk4bHdTQ1AzLzNybVN3cWVPT2ZkYTBPTFB0RlI1bXMvdEZG?= =?utf-8?B?REtWaEdOTUxiVC9iM0FTWlJacEZXalNnWDJGL1VuTmxDandnZ3BoS0FKc0RT?= =?utf-8?B?a1g1WVBsSm5zeEg3ejNCZWxZZzQrdnFoWlEzckRPSkg4QUZJaERoMnBGS2dX?= =?utf-8?B?NVFwM0lNaWJSNE13dzdRMkFSNXE5Z1NOM3BHN29rQzNnT3c9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?U3lpNXlhMUZjdHhZUHlMcWJDcC9TMTZNZU1QcjcrRGhVb1Yxb0thVFRBWDZ6?= =?utf-8?B?T2Yxb2o0WkY1aVdPRzRSc2tVNXloSVRqeTVXNFVDQzZiWHRoUTQ0VVQwakNx?= =?utf-8?B?T09sR2dtUW5YdTlUVlVDRDJxakRjdU5obzRaZEsrQWFOWEFmMlFHK0NtOGEw?= =?utf-8?B?UU9RUUJINkVkZkZVVWZRVkNjRXlkRHhxZlp1aGNBdDQ3M3RseHIxZ1J0ajAx?= =?utf-8?B?ajhON1U1QThlZmxOMWhRcUNibWRqT3VodU1RUVR1NDlSN25wSmMrRHBYM2o0?= =?utf-8?B?b0UxdEdDQ1ZDMTV5eW1XMHZ4eFFZUThqd0xrSDlkY2piUEIyU0NIQU5QMmsx?= =?utf-8?B?eVBtd0ZuSVJIOGxBZ29CSUIrWFR6K3F0dnpQbnpLczEvQ2J5bDh2ZU1CdWti?= =?utf-8?B?YyswRW92TERDc0ZPcmZVQkxNMWxXTEM2Vmk4bU95R0lIRG5UOHdOdmxxY3ht?= =?utf-8?B?dE51dDIwS0l6bTZtUTZrZm9NZVlESWtFcFF1WVd3R3IzbnFYVUZkNVJQaEl5?= =?utf-8?B?cWRVdUsxbnRpQUxLVVdXQnFDcTJZOUhlZXRNWVUxOUtPd2VWbGduQ0Rnc094?= =?utf-8?B?cjRHbmxhcXdzdktheDlvVjVEcmRubnJONDBIZmhPK3dvbDg3QisxWWprYlNC?= =?utf-8?B?RUw3QklXOG1vQjE5RDZGM0IybWRRdDQ5Q0dTaTZ1Y2ZYbkE0TXlRVC9CMC9L?= =?utf-8?B?VFlGbGNkUGsxNDk1aC9Tak80ZjNRbi9qaGlUV0dTSXBIODl2SWZIUWVMZzR0?= =?utf-8?B?eEZ3czRpUnlZSUdkS1NoMWd4L08rTnhVYkRVdmlTaWFyK082VGU1NUg5b1R6?= =?utf-8?B?YzdNS0U4N2FBNVdtdzlKVVVkZWpnRmx5K3JjOFdua0JMRUpqTHovZEFEUENs?= =?utf-8?B?SzdhRXVSWExoakxETUN2SFhYQWgzWUJLdXVYR2JJeWFkN2xONHRlWVZOWm9j?= =?utf-8?B?akRJQjFMK1JKM3JuOTZTUVV5MVcvWUFNbXJ5SjI1QTZ1MzFPcXhDQi9vd3Y4?= =?utf-8?B?ZEtnOVdja1diYnpSL24vRFYrak5CK1FpdUhDU05VQ1FKS3Z6SGNNV1RMWXNZ?= =?utf-8?B?dHlFeENUUit3anR1VitLMkR1ZWZLU3V6NVRYVXhWdjg1MnlHU2VIYWptQjZu?= =?utf-8?B?WUZXTU1FMlNOMThlSkdpRHpWd1Joc0JubUhLSlFjenZFNWxHemU1aUx1WVQ3?= =?utf-8?B?cVNodkxCcmNUemVKNmswQkRTY0F4VlFsbWlZaDBiWDFXNktuSzdIVXNtSUw5?= =?utf-8?B?QTFzdHRoR1VrMC9MWEd3OFJnK2h4S0QzUEhXRm4zOXJqRGdOMWlTeEQyZGVn?= =?utf-8?B?eTVYYWJSMHJNSGJLY3ZrV2NKQlNmZGphVHAvRytiYXM0ejNiNEtkZzFPZXU4?= =?utf-8?B?SjNPVkhoYWhnOE5YdnJtV2Vpd1g2M1I4blpvR05vU1drSWNGVUhWREIwR2ZJ?= =?utf-8?B?SDJEMmVhZDh3QytpREN5ajNnRHVWNldlR1hrUkdybzhITGZDRGliMkdxVHRi?= =?utf-8?B?eVJjSGNuUEdKTkcvZVVBbkFlczZ1MkN6Z3dGbHRZbCtYRGtxOTFwYm9NZ1Ri?= =?utf-8?B?SEo0MnhuenZRYjlHL2t0K2NEM3o3S3BQWGF3b2x0aFFlZElndk9VVmNnaFdZ?= =?utf-8?B?RE93V3B3YVRqOGI3c3pCR3R1OEkrc0R2QUsxMmFBdExjeVhmYTZqMTZwSkFl?= =?utf-8?B?cHJFbk5Jd1p1emFnejd1bkk2eDVRbTBQeXpoS1MyalNKOHhpcmY5UFppcnRn?= =?utf-8?B?UDcyN3BoakE4SGpzUFFLa1JuN2I5SVhCLzhwYzd1M1l1MEFVSVNzMkQwK0s5?= =?utf-8?B?VkFON0RyM2FKcEtGRFVMeldzS3k1dkpWdlVKYXVnaGkvRE92dlhNS21kOTln?= =?utf-8?B?TjdyaHhpZ2xkbWZrOHhDN3BSSHZqeHRaNndiRW82aWN6RTg2aDJzQVJpUS9x?= =?utf-8?B?dXBGemQvOUUxb3FFYW1qMkxUVUZXd2l1SCtwMkpsak1CcGxtUnhKMkFyaWkz?= =?utf-8?B?V2E2RkdGOTZZTUMyZzlMQXF4dGplRFlyUFMrSXB2aEhCanZOK29VcG1TTnlU?= =?utf-8?B?dzVnQlgyeE14NGE2QVdaRjR1KzN0V3pOYTJyUC9ZTzU1MkVoek9ZMEFFM282?= =?utf-8?B?UkpqbmhqRklBcm9Ta1BsN2ZKdVhhN29lUXM3RVBqcHBJVWY0cEhuaENQNXQr?= =?utf-8?Q?gGKoC4BoL48dkje9ni6AN6A=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: 1c3be23f-6469-4c11-57e9-08dc9a5b2bd8 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:34.7748 (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: sHmkaJzkvYgjswybdygVxkJjQzxU+uaePNscyMy1wy1CMzknH2+8qoC8CMdlC6zL98Wgek/Gx/nFbceR/jRuohsaapygXOrZS3GRzmvb/QOgrODcjwueMNfDtYZvsWzL X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899676453100013 From: Cl=C3=A9ment Mathieu--Drif This will be necessary for devices implementing ATS. We also define a new macro IOMMU_ACCESS_FLAG_FULL in addition to IOMMU_ACCESS_FLAG to support more access flags. IOMMU_ACCESS_FLAG is kept for convenience and backward compatibility. Here are the flags added (defined by the PCIe 5 specification) : - Execute Requested - Privileged Mode Requested - Global - Untranslated Only IOMMU_ACCESS_FLAG sets the additional flags to 0 Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- include/exec/memory.h | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/include/exec/memory.h b/include/exec/memory.h index 1be58f694c..aa8e114e77 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -110,15 +110,34 @@ struct MemoryRegionSection { =20 typedef struct IOMMUTLBEntry IOMMUTLBEntry; =20 -/* See address_space_translate: bit 0 is read, bit 1 is write. */ +/* + * See address_space_translate: + * - bit 0 : read + * - bit 1 : write + * - bit 2 : exec + * - bit 3 : priv + * - bit 4 : global + * - bit 5 : untranslated only + */ typedef enum { IOMMU_NONE =3D 0, IOMMU_RO =3D 1, IOMMU_WO =3D 2, IOMMU_RW =3D 3, + IOMMU_EXEC =3D 4, + IOMMU_PRIV =3D 8, + IOMMU_GLOBAL =3D 16, + IOMMU_UNTRANSLATED_ONLY =3D 32, } IOMMUAccessFlags; =20 -#define IOMMU_ACCESS_FLAG(r, w) (((r) ? IOMMU_RO : 0) | ((w) ? IOMMU_WO : = 0)) +#define IOMMU_ACCESS_FLAG(r, w) (((r) ? IOMMU_RO : 0) | \ + ((w) ? IOMMU_WO : 0)) +#define IOMMU_ACCESS_FLAG_FULL(r, w, x, p, g, uo) \ + (IOMMU_ACCESS_FLAG(r, w) | \ + ((x) ? IOMMU_EXEC : 0) | \ + ((p) ? IOMMU_PRIV : 0) | \ + ((g) ? IOMMU_GLOBAL : 0) | \ + ((uo) ? IOMMU_UNTRANSLATED_ONLY : 0)) =20 struct IOMMUTLBEntry { AddressSpace *target_as; --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899673; cv=pass; d=zohomail.com; s=zohoarc; b=QDlNjlndYU/r26C5xiOQLtPiFs+8p2bX4Z0jtR+SYZS3nLwovROOIz1KDYUHGW1vOFQ1Z7oo0B13HmernkSqdBBe3BM4AyJWp+o6WeO3ZEGEsx4Yx3GGC3qdElAGOcM5p+QaeMS+tJoCf80cS/xAby71aOhhV3Zk6PFZGtT3cJA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899673; 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=X34qgNpvmNLKL+VXXKfSHCmNzf0ODL2lEPqu6K2/sUk=; b=FH44UrL5b+5Pvegj8mao7M514kzKo5JBJ94l9BTroVghVWcdBky8GwoiM/fBXKWs1U3EnSuzhi1odFpitUWn4L6hwj8nfdWNM2oycieMPRfqd3hhwm2AmHHa7fmCDFSOrbFsfGJYWEnx0y+TDfmH0QFvg2RD0Jj4XvW5xr2iBfI= 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+importer=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 1719899673870116.69681150788449; Mon, 1 Jul 2024 22:54:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRb-0007yA-I3; Tue, 02 Jul 2024 01:52:47 -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 1sOWRZ-0007xh-Sl for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:45 -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 1sOWRX-0006Tu-FZ for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:45 -0400 Received: from mail-am6eur05lp2111.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.111]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:37 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:35 +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.7741.017; Tue, 2 Jul 2024 05:52:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899563; x=1751435563; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=X34qgNpvmNLKL+VXXKfSHCmNzf0ODL2lEPqu6K2/sUk=; b=DnGW/Ib7PTl8KO3qkyP9rYsbzsqc5ZJ4nLOJ/aNlkjB/rYycFp9Df1+w 8Aq0EzA68FtxRpNA/+wQmanFmZLi45k2xGRYjU0tBx6z60HGkjXaERTUW Kkd368hUYicGZ5owsvjQ7/Kp+dEU+Ai1O3PK8lr6sbXXPhLz0dU36Vrdt kXxla6vcU7H1fDmdbhuMzt9IgGr1aJpG5f6gUpjcTgFrbS1uTY1B0ZJ69 N6xOyx1eX9jQZKe3BTeaiSD8IUImZMWVRwCig4XL5QtPRndD5tlG6uQ6o 4aPutnvxyqyxNDjqLf3UeFqKDvW6gEdM7T071BbJKvCAjyzYsK0zbvHdy g==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721584" X-MGA-submission: =?us-ascii?q?MDGPKMREWgFGgTAMo+3y5D5JyNVVxl2/mN6Qc5?= =?us-ascii?q?509DPEPtB7TwqH82iMT/PLsAbt4GGfSY+5lTLK3NgBPK+ePk3zM7j/5L?= =?us-ascii?q?KXA/wqkPlm2SLgTBe+mPgOVsHM7iM9N5uODf/ey3shMomLMpQ2xbEM8P?= =?us-ascii?q?A0s321GA+v28fplcQ1RGxZNw=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=co9Z/CYgKHX9RPFwBfrKbD5WC0ggKBy7Wi4y/miFKWxjZi9ffVL+EGzXzWFroprsvdY61NqdSEe1z8CiW6BOhhwJCjAI8juHsGqG/cn+FBKlUgx4yW6xdCp8nsleUUxxEFjI5tZbBLH9uUdvt4D5XnKjIpQRuXmzE3+uMClpyPbL41kyyLJQ+rP7h6kZ2MhWqLsQuYqrMWkpBg7PK0u5zoF9dgdkDuLktveHWO7RrGiUwzW2m4FO3AMj13Ls8Qvy9lzT02Xt/kSGYChJz2cvvBhwmjSjzp5BPfLUF7YK0RR1nDuci+koz7kwdRb4NanjLZHeFq/1il3I1xH3E3ATGQ== 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=X34qgNpvmNLKL+VXXKfSHCmNzf0ODL2lEPqu6K2/sUk=; b=IJ1Wn2YTyh7uK8gma+7YJdqnsMm7dOhdGT38HlJQWiVwkAU0qamSw914nkpIghfh6MWS05liWUW3TZcIzt0auH3qVmmo7QlDbgxnR4GU/2nP2aUt0K2R/5vlNVpBRK5wl/SxQ1Dq7hmI44lZM/CUX2fi1xJ/7p6GzLN1LoG1XTSgkaSB5PnGrQbgU+Ut6GV9MjLIvnB821nOOcSe03ktdR6iK/3O06siQGVujQizF/ggeaeKAftZptzkRbMtC7QxcqlL0O2LZThgVHmgaIkonjEXMTMt06VGYYX5PxXONP0TRGvBmMZ020rqFJwM6oQjsTU25AJQsvZaYWxF5YgLxg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=X34qgNpvmNLKL+VXXKfSHCmNzf0ODL2lEPqu6K2/sUk=; b=Me69v9Z/Ek8ag95LIQPXDWv1s25s40NyOooihjpNU/dESGOgw/xpb5XPnn/nj6F3J7N0qgyFaNbjtvhHsPb/qOoTXhS2/AkrMZiRGomQKGngdGRpruxSNiakmcT0m6zEQr31fLG34rMVSjsNwmBUixoEW+201Z3G2Of4k/0dH11/SAJz5pMo2ZbXRo7RuZgnWrjvdXOvr0UiA3TP7W0wXm/KLQ9vYCrE/7VQgKrqHqM8KXwEvCykpN4Wkp/NllWYl0YMKYAuGbkfJrJ52QN8xazP5C3bWhR7qR0DYNbryMhXdsV2AolAtReP7dStJOLC/nXV2f3CLhll276JSJ1yyQ== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 06/22] pcie: add helper to declare PASID capability for a pcie device Thread-Topic: [PATCH ats_vtd v5 06/22] pcie: add helper to declare PASID capability for a pcie device Thread-Index: AQHazEQJfH+RmlRl2EizMPPk04nn5A== Date: Tue, 2 Jul 2024 05:52:35 +0000 Message-ID: <20240702055221.1337035-7-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 10ab6147-d96d-4b17-b32e-08dc9a5b2c37 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?bHZZWmlFbmVMNmJGR0ZNWCs2citVRUdhZE5jenB2UjRmbjh5RWVoWDZFZ21i?= =?utf-8?B?QmErOElpSkk5Qnp4ZmN3K3U4YmwrbVV6WHFyL05ISk9hOXYwd3V3NDNYdURR?= =?utf-8?B?Nkp3SjFQUUdkZVEwLzE2dUlMQUp4Z1hQczlNeWkzRW8vUmNRVGROQytFQzk3?= =?utf-8?B?N3c4ZmVuRHJDaEQzWTdZMHJyV2Z6ZEFaWG5ybkovN3JOWG5LK1BiVXRPQTZN?= =?utf-8?B?elpuRW9TbzJXZE9yNnF6WDVkNENPc3cyZDJqVjl3c1N1UzJmcGZWTG1zVGN4?= =?utf-8?B?MFBZRUNvZTg3QnZLOWtic2R0NytPS2d4WWk2NjRsUm5qbmV1NXVlcCtUeFY4?= =?utf-8?B?cUp2YVQzdlMxTzl1bTFnUjZqRDhIdEJDQi9GM0dqcVduaVMvNEpib1VlM1dB?= =?utf-8?B?R0hYUzVJMVYxTyt3M0FVNVlJUFozQ1V5MjRWMGE0RGkyME50TTNTRS9YMUJF?= =?utf-8?B?YlZOUHpBRitQNTZla090Vk9rUFJLWjMvMENlOGF5anFRcXozWkk0UlpJZGU2?= =?utf-8?B?ZTQ1ZjdieG8yc3MzMUw3SWVjMFVxYjlVNWs1c0E0VmZ6SWJxeUNPb2NTY0kz?= =?utf-8?B?RW5od2JvZWVaaVBKZVI4S3BMN0VkQWNFV0YvT0ZMMGZvZFZEWTlBU1o0QkJn?= =?utf-8?B?a0lhY1U4MWt6TmJ1R1lBRkhZYXZOZ1lUY2F5QjJtQ2ZPZFpkOFFIMCtOeHFn?= =?utf-8?B?SzZjVXZtNC9FeTRhQ1ZrY042c2FzNDlrd0Z2TlBpdFZYWlduV2owekR0U0Zy?= =?utf-8?B?NHI4ZkY3OXp1VE41bkxQZEFYYUtkV2Z5MDNwMDhnSEdBbTNCTFl1TmZVS2sx?= =?utf-8?B?QSthWjFLNVhxUzZHZ0pvSUJIa3hOUmw1MnlLc2Vrbm94ejUwQ1ZTeGpEZUdi?= =?utf-8?B?Y3lMTTlLaUQ2aWxJUWhlS1BTRDNwRWxkOG9FelJickdJeVZDNG94TlVvZjM4?= =?utf-8?B?dmN6VXJsQk5DTlNzQkJrbXhyZFdnZ2Q0NzdhSU85VGVqazBrRWZVT242dlFz?= =?utf-8?B?cGtCZHhlVm9xRC9BdlU1aVRyTkQ2c1NRZ2pwa0wrT052T3FRbVJ6ME5XeUdh?= =?utf-8?B?RmZYVDhDQmZ5OVlYWXg4dFE5YlNOclFNUCtsdWQ3QTdvNlJTcVN6VkZESkw2?= =?utf-8?B?TzIrRDR1NzMxeFBYNDZwVTd5L0NHTG1mMHp2OW5mbEFCdU1sN05tMldxajdl?= =?utf-8?B?NFkxaVF1NHZJMHdzZFIzKzUzOXRWMHdzNUNMYVkwVVVFY3RmQlZSYjE4aEg0?= =?utf-8?B?MHlmRXk3U20zb0RkWVZ3eHhEQlBsbVRHM2hvQVdrY25lbHQ4KzZhOEkyTkFl?= =?utf-8?B?WkhuYyt0Q3VXRkNKQjlBWTZ3Vnk1WXAwRHhGbnJvUk1kQ0h6dUdZN201bDFY?= =?utf-8?B?Z0JiV2QyemszU0tOQ2VuMlBJdXY2L2gxSi9HM3dlQnBPYnFmbEJqdFlJczIz?= =?utf-8?B?RlVneHBlYzhLTkhOUVN1MzArT1ZyTWxtbGU5T2xqbi80cWRFOEVTQTdSYmhz?= =?utf-8?B?bmp3bXRHbE9qRjc2MVhyYWZYTE1CZU14TFZ2QmFxbCtWekh2WUdyemQ5VFZr?= =?utf-8?B?d3V6RUk0MDZlbzJXM0FWYjRlMkNjRGNRQ0JKZmZyN3hNV1JSQXRleVBFbHRP?= =?utf-8?B?bHoreE9sbGh3Z1RRbW93d2pwN0R1YVlvL0taemZXdjkwQ2pVM3U0WGZycUFT?= =?utf-8?B?Rkd4ckxma1JtaFJHYmFJNUg3Ryt5RUJMc3p3bHkwNHJ5NGN1aE4ybXFDVTRm?= =?utf-8?B?V3V6cWFGQS83T0k0aWdXcnhoMVV3Z2lMRmdsZlhpQUU0RVJOVjRqdjE5cUsz?= =?utf-8?B?SXJsbnNTS3pUczFvZ20veHlkOG9LSWowQ3EraVNqdmlqeThac0MyaE1DZTJt?= =?utf-8?B?TkhLZHpoaFg5K3c1L24rZVkzOS9CRDNLNTFaZWFGcE9UQ3c9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?c1FIaktXdXkzcnhjQ01KQ0hMblBzNzcrYjdIUmRrT2tuQjZvVnJTdmlYalE3?= =?utf-8?B?d3Y3cjNZZHFXSkdVK2lSUER1YkUxaEdVS1dSKzQwZzBNcXM3RnRpY2Z4SWFG?= =?utf-8?B?cGxGTjBzK25VNTRSa1VlZy9TR012M1hYcG0wTzhYMTg5TVpnaE02OW9JT0Fh?= =?utf-8?B?Q1grdUZZeG5yTWFFWkRxT000amdQbGhYSmlKMWpiVlFKRTVnai94aVBYdnFI?= =?utf-8?B?MlhQcWRjQWdtRXh1bVZmb3dIelRjb1I2ZS9nK3k3b3BWK2cxSG5ub1ZVMEJJ?= =?utf-8?B?Wk9qTzFYOUFudzBidDFwZ1RFSE5FVXVrYlhMSFA5MWVHRDRkc0cwU0lmc0NQ?= =?utf-8?B?MmFxa3pLeGNaalZybGpEdXM1ODVNU2ZBVzZ5cjZDcU4xT0t0dVcvRGtCQk8w?= =?utf-8?B?ajVaVm5OZHRHR2VzSEplNHN1RlJyU0V3NWp6Wk9MSnJTRW5hZkthM0IzUHA2?= =?utf-8?B?dE1nVFQ4d01sRFltdGlsU09lcjRVb3RxcUYwVnJoSjFWeHBLSkF2aEpxWTJ6?= =?utf-8?B?NFhXMjd6aG1veUlBSjVKMUlKTlA1UGM2aEtPanVmTHJYOUxvZUw0T04zRXpI?= =?utf-8?B?WDI5QW1Rdkt5bk5lQ0pqb0w4WUswUitOQTdqUG5LdHBBSENyU09DNDlRMTYz?= =?utf-8?B?M2IvbXNTb25IYVM2dDZBaTlaVlpOSFZ0WlpIR0dzQXFvWDJ5ZVBBNk9Cc2gv?= =?utf-8?B?ekdZVGdKeVdXZDVLUWNFNWJQa0xvb3FNZXlKR3FpT3hiaXhGdkdlOXpSOEJv?= =?utf-8?B?SFlPbVphMjZNdktJRDN0ZVZmbEN3NXZuQ29laVBvTzVCOXFlUEZod3NCZVFY?= =?utf-8?B?VTg0Tm5tWnB2Z1VPajByUHEvUzd4OXhnM3BGakNyY3ZoRzhnY2RwNGZxRFdR?= =?utf-8?B?VkZodzk3bDd3d2UvM2t5eGRSTjdyS05VMVU5U3BkUzdsd29GODlrRGtBZzFh?= =?utf-8?B?ZWptYUxUblRXbTF5MWtBbm1yUEk4ZkxxUFdGOHRUK1hnRUpVZy9SWVFwMTgv?= =?utf-8?B?QUE3UWRHcEtDOUtOMEpyU0RuRVRhYnBDTjNRUnN3TEIwYW1ITktRS2JPU0VG?= =?utf-8?B?MlJ4OG83N2hLMnRZVXNrK0Q5dGVKVDkxWUlOQTlVNjlTNnFzSWJLVWh6ZjdX?= =?utf-8?B?UVdVOGs2MGNBZUl0dHNUZjlST0tiOU8rSXc1emFZN3BBM2F0YUU0MnM1eDdB?= =?utf-8?B?NS9ZRTNjWXlIa24ySkJUamtBVTAwNTd5REJvZlZNTG1ET1pDV2h2cXFNS3lH?= =?utf-8?B?b25KanVtKzZrc2ZvTExpc0dTUVMyanJ2UllzNGsvYTE4a3R6L1M1RGxxWkcr?= =?utf-8?B?di84RFZSRlMreHNsQTQ5eTkxazhEUkN3SDJpYzlRTlRmakhEMG1Xem9TUjRl?= =?utf-8?B?QjBQdjc1RHNjVTYvVVVHeXFQOVJ1elVQT1JNQ05hR29JcC9MMmpkZ2VJeUhZ?= =?utf-8?B?UVFuR0lGa3BFaEtjbHBrdTRBM1o2YW1rTlYyc05hclQyYXhSUmdmb0plSDVM?= =?utf-8?B?V2lXL2E1WjkwYlVQaTIyVE5IZzhPeXEzVm1SRGZiZEliRkI5YVVCcjg5Vksx?= =?utf-8?B?Qm5JMEw0Ri9rSDRyZlVFVTlSU0VndkpidjlmVlBpc3lzMUdERnZHOWw3YmxP?= =?utf-8?B?MVlyejY5UThYWFAyU1krUkFlNWdib2ZEc3R5VFAwT0ZPVHJmN25IVWVGTDRP?= =?utf-8?B?enhjOSt5b2JLaUd4WHYzTTNEd1NTMmc0VUh6UDduc2VOd2o4REVlTStZbkZu?= =?utf-8?B?RjgzZ3hseGp4U2w5am9Od2NnYlBlOFErQXFIVmo5TnBjUTFZWWFhMHBuQW9L?= =?utf-8?B?SjM4YWd5YU1Eam8zTi9oVUNSYUt2ME5zV1ovdHBzbnV2dHIrdzJ2OEV1dzZu?= =?utf-8?B?RkhqK2lSZHdqay9wSFFlM2JaamJRT1NKTmdUUUMxblFCYWlpVVdLTzVBNFRS?= =?utf-8?B?M0xUWEJHV1ZKVDJSR2NqeXhGaUZ6RktKN3ZWemxQb2k1eHJQaVhvNCs1aUdx?= =?utf-8?B?Q2VOYWJqVHBtZXRnOGVReU5OMERMWmhEL0R4SWtSQnVWQmEvaFpnRkJRQSt1?= =?utf-8?B?U1Y2Y1NxNWM4QzVsUTZtMVordk5VL0FUTlhBZEM2R0t2MzRWUktrQjZvZkVr?= =?utf-8?B?bGYycHZiOEpsZGM5R0NxVG5rOE1HbFJnalNtWncxY0tQRkFXYlB5WjVZSEdU?= =?utf-8?Q?zSkJG5Et+XpC0VfEikn6o1A=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <2A9D09EE5E89594782C8E2DC41846900@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: 10ab6147-d96d-4b17-b32e-08dc9a5b2c37 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:35.3912 (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: CdMD2deWace6gzGOXKczNCCmjfzcgav52kHnsvXKM1Zt+mQAd4+yznjoGv6lRXw2UXO8RuIDHvaYBhJMeN7KChXftgYnL0UuRSGFY6MSC8cpSSZlgIxjQHEJvg9F8Ryj X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899674664100006 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/pci/pcie.c | 24 +++++++++++++++++++++++ include/hw/pci/pcie.h | 6 +++++- include/hw/pci/pcie_regs.h | 3 +++ include/standard-headers/linux/pci_regs.h | 1 + 4 files changed, 33 insertions(+), 1 deletion(-) diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c index 4b2f0805c6..d6a052b616 100644 --- a/hw/pci/pcie.c +++ b/hw/pci/pcie.c @@ -1177,3 +1177,27 @@ void pcie_acs_reset(PCIDevice *dev) pci_set_word(dev->config + dev->exp.acs_cap + PCI_ACS_CTRL, 0); } } + +/* PASID */ +void pcie_pasid_init(PCIDevice *dev, uint16_t offset, uint8_t pasid_width, + bool exec_perm, bool priv_mod) +{ + assert(pasid_width <=3D PCI_EXT_CAP_PASID_MAX_WIDTH); + static const uint16_t control_reg_rw_mask =3D 0x07; + uint16_t capability_reg =3D pasid_width; + + pcie_add_capability(dev, PCI_EXT_CAP_ID_PASID, PCI_PASID_VER, offset, + PCI_EXT_CAP_PASID_SIZEOF); + + capability_reg <<=3D PCI_PASID_CAP_WIDTH_SHIFT; + capability_reg |=3D exec_perm ? PCI_PASID_CAP_EXEC : 0; + capability_reg |=3D priv_mod ? PCI_PASID_CAP_PRIV : 0; + pci_set_word(dev->config + offset + PCI_PASID_CAP, capability_reg); + + /* Everything is disabled by default */ + pci_set_word(dev->config + offset + PCI_PASID_CTRL, 0); + + pci_set_word(dev->wmask + offset + PCI_PASID_CTRL, control_reg_rw_mask= ); + + dev->exp.pasid_cap =3D offset; +} diff --git a/include/hw/pci/pcie.h b/include/hw/pci/pcie.h index 5eddb90976..b870958c99 100644 --- a/include/hw/pci/pcie.h +++ b/include/hw/pci/pcie.h @@ -72,8 +72,9 @@ struct PCIExpressDevice { uint16_t aer_cap; PCIEAERLog aer_log; =20 - /* Offset of ATS capability in config space */ + /* Offset of ATS and PASID capabilities in config space */ uint16_t ats_cap; + uint16_t pasid_cap; =20 /* ACS */ uint16_t acs_cap; @@ -150,4 +151,7 @@ void pcie_cap_slot_unplug_cb(HotplugHandler *hotplug_de= v, DeviceState *dev, Error **errp); void pcie_cap_slot_unplug_request_cb(HotplugHandler *hotplug_dev, DeviceState *dev, Error **errp); + +void pcie_pasid_init(PCIDevice *dev, uint16_t offset, uint8_t pasid_width, + bool exec_perm, bool priv_mod); #endif /* QEMU_PCIE_H */ diff --git a/include/hw/pci/pcie_regs.h b/include/hw/pci/pcie_regs.h index 9d3b6868dc..0a86598f80 100644 --- a/include/hw/pci/pcie_regs.h +++ b/include/hw/pci/pcie_regs.h @@ -86,6 +86,9 @@ typedef enum PCIExpLinkWidth { #define PCI_ARI_VER 1 #define PCI_ARI_SIZEOF 8 =20 +/* PASID */ +#define PCI_PASID_VER 1 +#define PCI_EXT_CAP_PASID_MAX_WIDTH 20 /* AER */ #define PCI_ERR_VER 2 #define PCI_ERR_SIZEOF 0x48 diff --git a/include/standard-headers/linux/pci_regs.h b/include/standard-h= eaders/linux/pci_regs.h index a39193213f..406dce8e82 100644 --- a/include/standard-headers/linux/pci_regs.h +++ b/include/standard-headers/linux/pci_regs.h @@ -935,6 +935,7 @@ #define PCI_PASID_CAP_EXEC 0x0002 /* Exec permissions Supported */ #define PCI_PASID_CAP_PRIV 0x0004 /* Privilege Mode Supported */ #define PCI_PASID_CAP_WIDTH 0x1f00 +#define PCI_PASID_CAP_WIDTH_SHIFT 8 #define PCI_PASID_CTRL 0x06 /* PASID control register */ #define PCI_PASID_CTRL_ENABLE 0x0001 /* Enable bit */ #define PCI_PASID_CTRL_EXEC 0x0002 /* Exec permissions Enable */ --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899744; cv=pass; d=zohomail.com; s=zohoarc; b=VEBETdAWUzMXTyYlh0cvVpI/oFnRQus8o4WJEbBhg5RV0otqV+Jj7Rkz6CeITLtcv+sYyoamvWRIsRDfGDE8pI6Y8DtQYwvurX1rFT2AoUdxgbU9jQNyNA1o10wgfW8nmyEnkKC8Yhf312zt6NfgdtYsHCDP6nzSI0/9eou8keI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899744; 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=CXL1syQpKOIad9/fXMROpkmvZULd+ix6vGmRY6x+ttU=; b=lKRq5v5w18hOOgNid0QiAc9b7A7RfHZTcPy8NFObalQ/fMHGpm7HgOju2pwNmiICv1K48fKqvhtU6kADCqeYt61hd/7mOVTfSEwiozUhpNTpZZD4Hwu2nTGjbdlJLvc0KMg4fUZaNkyrtbv1Bt4+4Hh8JIFPlNUxW/T5J6ujWmQ= 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+importer=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 1719899744363580.9733365321234; Mon, 1 Jul 2024 22:55:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRo-00084O-BD; Tue, 02 Jul 2024 01:53:00 -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 1sOWRg-000820-D6 for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:52 -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 1sOWRS-0006UP-Vm for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:52 -0400 Received: from mail-am6eur05lp2109.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.109]) by smarthost1.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:39 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:36 +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.7741.017; Tue, 2 Jul 2024 05:52:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899560; x=1751435560; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=CXL1syQpKOIad9/fXMROpkmvZULd+ix6vGmRY6x+ttU=; b=rNnfOtnE4i65sHTDqnc5Dt2Hp/bI88w9EJxsNTaoHE+1OkKowfsHHx5c yLyj9m/waemxHvmV2aBJMcdCWULJTt7WOek+aT+lu3ASxYD6J1igYVPXd zSCqrFgAUIitfidKV7VCRxheOeuQBHo1W0/A1/ej9UatL/ChnL1Y3fW90 UMkSrIRaGnZVglQYwbe5qhADzm3l7Y1cgknQaOelD0sd8R/vMHcJI7xHB Gbhj/FlpozgDVTBERGdFxrWL5Jbz4tLys+JkwzmZBB4KMXyCQF+RqPEEi vmFW3Ub5+czk4706BThASBQnheJdydwMKJvFb58gvt1GImLBFrysWmfeg A==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15715672" X-MGA-submission: =?us-ascii?q?MDGkg2cqgdHq59Re+sCAHUnnCmc+77mfBZ9YWH?= =?us-ascii?q?JDTnyBitPCAvJnE23kgVZPjD8btm0VOVSEQZtHFKJzuXpl/cKojkC0Fn?= =?us-ascii?q?0iK2WzQUe415277MCV7YCDybbyAzJ30/f6HJHKBlllijBuTtyv+s35z6?= =?us-ascii?q?jXgEp/VnqDPdhJXmChRPj1Gg=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OGSdBEojPiOsMRwQkUcYv1kqHvk/C7ftLcUMadHK44oZxoN6uhr4Y4nk/0o2M49ZA8YKAwZHk+eyK6kS4qnLBlzXSBcZnb3oqDfEER47IEd7ay+VIG5JvXt0CabC+GmaKxlQO5t/b/7PiQoiwf3/prPCXHvq0m/77XrclJard6jSlZSe3Qw9L6Nbhk4RL31JJXktcUp0cBC+z0wUPLI9g0IAYqw+JaHrLbRmt5E21WV38B+mIBJ4810eHphxpgOTOrg2N9EyZXv6sv+KXizDt+SEjIgRdp1L7cTPsTOVCYoSvA/op6rteGgqv1MlAdu6Vdmu7dIai9tL5i7R1A1ymQ== 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=CXL1syQpKOIad9/fXMROpkmvZULd+ix6vGmRY6x+ttU=; b=e0naovyCDPZjV5K+m9faC/l7OlXrNJm2lMGMUjEYXx3sH5egfWBFygA9AcMaHGYQyC7aAKOEk2gvxKGMbezV5wTfSpJDV+YFz6QuZ4bJ6J4M2A+e0fLxAqaefXBY6YkcpqEKGwqTBILuPEY4BCs/deZ/ZOFC2e2qdfzLi45Qjo9Qh8ysy2d+VLlcDphRkBqihowxHK5hXvp1F/9TFWAoScUTX41DkbEZS8fwtYXieaKZXpMmFJH0Qs9Qk14WyP15r/bONu6ipjzEOnW1YnvxcbNvlZTnq2hnSbc3HIX2Vzww/+tUZWfU65Wi+woWjKCmRkS8pczFaP0PAAQzZ+o6OQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=CXL1syQpKOIad9/fXMROpkmvZULd+ix6vGmRY6x+ttU=; b=bHI+vJQ2R9kqxE5f21vOwWGB7Y7/j14To3ECzeRnJsX4R1YWpifI4Rbyi0oikn62Y6iCKJ9GPp+9XGRYM2pEla2drn1s8RyKWNo7uGCdK/MdpoImZ8NfKywav+4RtcEDGv6dhfceXOyTZXBkjRP4fhPKNR97fA8PZICDAJY1S45RShrKugqa1zCfwv8wONjtRNnYhVsh41/ECww2k4X+TPaEOyJ+PpbIVWjod3GreHw0pbklgf+6BWyEV8NCVSKTfuzBfvjgGbeAJcWxQDjETvZXIMKLr/LqfLrP9RZEfu8BrkaCIcA2Lc/JK8rGfkNp9nSwQahUjY+YIyVigliU1A== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 07/22] pcie: helper functions to check if PASID and ATS are enabled Thread-Topic: [PATCH ats_vtd v5 07/22] pcie: helper functions to check if PASID and ATS are enabled Thread-Index: AQHazEQKtD49ORo8dkSF9/Zy0QCSqQ== Date: Tue, 2 Jul 2024 05:52:36 +0000 Message-ID: <20240702055221.1337035-8-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 53cc36f9-7238-4bd9-9c2e-08dc9a5b2ca0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?SEFvTGtiWm55VFJtSXJnTFQwMitkTmNwa3loemNGcENJOGY5NmpDQlRPUXZm?= =?utf-8?B?V2hCMFdYaGtwVnhBeUMraWJabFE3SXFrai9iYkYvK01GVVpCUVZ3VFYwYmJW?= =?utf-8?B?eGhVa1lveXlTTzJHRGpsbEhxU25aNk5CTkJaelJoNGZLZEpTazMraDlFaFBh?= =?utf-8?B?OXBuaThsTlgxcWtsbUZKMWJ3cUxYREVvRVNPSnVlTTN6NGFEcVlsSGZVSnFn?= =?utf-8?B?eGtWWXpTU0x6cXpPMXlsam9RU2pKQlprOU8vVkJXbUM2ZVNCZlMvUlJtcG0r?= =?utf-8?B?RXVJWVNxNGtsY1VoVUdQbXpIY1VJVFE3TWgyVXpUZVIrRGpHZy8vUWNBdEZU?= =?utf-8?B?dllvWWlhZFQzaDJGTmNzRUtNWTJuclp1bUhheW85RVVBZlRqM3B2bXdvQTFK?= =?utf-8?B?bU1mWk9Zb3BBeTBSSnFSNlpLMVh2QWJmaDhvZ0h5d2JiVllLOFFvbHZJZXZT?= =?utf-8?B?dU50eHZrWms3RVExVFVlTHM3OFJFa3NpNDc2emRDNjZkdFBqbldINHFiSDJx?= =?utf-8?B?NDJrb1dyRmhHQWc4VXcxb3JFQitPSEo5RTF6TTYvKzdPTFFqb3VPdGxUYWpI?= =?utf-8?B?bTVsZXdaY0pPNGxqNFoxZXZLb2V3aEdzK1dUVkFxUzZDclVhamlKS0N4Y0VZ?= =?utf-8?B?VDZ0cjZKaWtyd2tVL041eENGeHVsY0tuNzNTWW1qK2pyTkJHN0p6YnpMM1A1?= =?utf-8?B?eWZkeSsxMHh0TDZsUFlmRitQeUxESk5RSUpHTlB4YTE2QmtvV29JUm9iTFBp?= =?utf-8?B?WkY1SVV6SFJmVTkvWms2ZUhNcHR3TTJ2OWlSL0NxNkNKelVSdit5Mjc3emta?= =?utf-8?B?NnpHQkl6ZEkwanVZY1J0NG1lRG01NmNFREpQbkhmandzV1I0OTljaUl0UE1B?= =?utf-8?B?NUJUTFRwbnRvQlV0ekFEUi9DLzJiME43ZFZpU1VralBzSkZ2OUI2N3dEKzJZ?= =?utf-8?B?R0EwYnZjNzlHTTVpWStURXRxK0JTcnNwcmR2VEc0aEVETUgyVXdCbDZpc2hn?= =?utf-8?B?MVZJRC9rcmlQeUdFRDhEUzBVbnFHUHVPSEc4RVV2YWgyWHY1SzNOWmt1OG05?= =?utf-8?B?QVh5eXlnZHZkL0VUa0JaNFR5VHBmMFpudllBbXM2cFI1VXFxVDBDNklOMFdX?= =?utf-8?B?am5mZU1JOXNSQmpSa1Y3RW1qMi9xcCtXdkFPY2lSM2o4ekFWdUwycmFCNEUz?= =?utf-8?B?OHBJdStIS1hiMEgwcGtyc2E0RGZNY2F2Z0M3cDgzMzBub2U0T3FKTnNLdUVz?= =?utf-8?B?SjF5cS9PWThvbm00ZktFSFR5S1ZSVXErNXhKZ1BhaEQ2TUVaMW5lSTFBblBG?= =?utf-8?B?Z2hPaDQ4ZWo0N1NGMmRibEtGNUFXTnVmczZmMzlselc5T25aejZhZjhKazR0?= =?utf-8?B?NlQ5a1FsZ1Z5cGpuSDdGV3pXSE44VDZ3d25KajBBUXluVTZxT3BNMjU4Z0hs?= =?utf-8?B?ZVZWcVdNcG9XbEhPTDhPTWN4eTg4REYrakxvK2RZSTdrMjR3eDRqUFFxdTVo?= =?utf-8?B?ZVpzby9sUWtBQlptNndaVmpTVlBpbEZscEdLK1FhVXJoZEswUkFHRyt3NDh0?= =?utf-8?B?ODRrUGlEbTNyaHpWZkdoM3hXM0RXblBaY3prbUZGd3FMbTlhdkdMbEYvVmxM?= =?utf-8?B?ZVN0UlZ1SVRwYXNtUHFFcnhQM3JORm4rNFYzTnpFbVJGUlNrNEFxL1pFN2pC?= =?utf-8?B?YnZsYW5vMEpmR0wwVnZUVlBMSDhmdUVNRmYyWEh1Ti9JUjluRTlQTEFRZW5L?= =?utf-8?B?QklQSi9tQ0plZzNIYkU1QitMY09WeHJNMUQ0TkUvMmREL0d1QlJlZnRTQ0s3?= =?utf-8?B?V2gxaHdLc1R0aHBzME80Q3JFbmdkQmdhRGdEZnJ2ZkV2bTB0NGRCZzhqZmMw?= =?utf-8?B?QUJMdUFVK2tPOWtRZ2t3WnhjQVlMMDUrSGtOUis3ang4M3c9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cndwTGZPazRBNFQ0REZKNFk5MVpCYjRNWTg5VnhxMXlXZlgzWmVhTzBPdUdj?= =?utf-8?B?QnR2eitmTkpTQVIrRWVMaC8yTFgrRGxwaDEzWi93RzJ5amNCTEl2MXJ5aENo?= =?utf-8?B?L3ArQXZKM29tVkR5d2luM1M5TndBQm1pa2NYYWFjUXlzRGFWY1ZsTEt4RlpO?= =?utf-8?B?aldEOGorRXg5a1lTUFZJaS9xaGZ3YTNnM3JVblBKTFlGZFg0ME9WMFNtRFpy?= =?utf-8?B?TVBlWEplVmlXdWlvTlVkWUx1RW10OHpqTGxKTzVuYk42VFNEUmhSU3Qyb1ZB?= =?utf-8?B?V1hmWkorVHFLbTlmKzJqaWQ1WnAzK2MvcTIzUG9UYWowVjJsZEc1QVpKclhk?= =?utf-8?B?V0EvSGswV04xSW1zRzB1aktPUlVrTXRvOGprU3YxYkRHQkJuVC84R3h5SklB?= =?utf-8?B?MlI0TFc1dXRKOERVamRuRWZwUFhJL3U5ZzBCTGNpNTBjTGRUZWJnWXhJOUxF?= =?utf-8?B?RXdQMGduR24vaWk4MlQvRzdpRlBaa2FlZzZEN0F6SHVrR0Y4MzJ1QmdaS3h3?= =?utf-8?B?My81ZjJ3bFE3V2VhQk0xZ1gwaW9EQ2FVWHNHMytHbjNjZGJUanZRbzdsVGNG?= =?utf-8?B?YVNGZjF2NFl5RnNWS3p1N1ZHbzAvNGk2MitKcDF1ekRDMTZESVFWWU1kV0Mr?= =?utf-8?B?OXVZWnlJQWlCQkdkWnJOMER1SUxJa1pVUkx2VjV3bENZdGdKMXVHcllXUVpT?= =?utf-8?B?a0MvNC9iM3YvYVFXNTN4MDNpOHRWZW1XcHdRYkRSNUVmUE1yell2aTd1RCt1?= =?utf-8?B?ai9PejFRc1ZubFIvZUR6TEUzbERTbVE2ajdRWVVmZWxLWkhlNWk5YVBpVi8y?= =?utf-8?B?QmpJUHFseVpJOUw2eGUzRWpCNEQ1MEU1d1dGNldVWS9tVW8vUlplL21JSkFS?= =?utf-8?B?R3dXQWRDMTFvTW1Ka1NqZXl0SGtXMUp1Z0p1VkNpdXdJaHhwdVRQU2lCT2JQ?= =?utf-8?B?bE1HWE9hb2NnUU41dkhNdmtBVjVzazViNlV3Y0VaWTQrMjdqV21Yc3NJVDUr?= =?utf-8?B?cXVmV0xtOVlJYWRsVVpMSUg0MVJtc2VGWDNldGdYdXVmdlpSdWtHNUtKMGFP?= =?utf-8?B?ZUkwbVY4aGh2RzhQWlNkOUUrYmtXQ3JZNmZqT2xaREdTUUw2bUdGWUlDbXow?= =?utf-8?B?S1hXYVJTb1J2dUdCb1ZmcEZoREFtcE1DM2hhL281Sm5ocU5KVG5GTTkrTnBr?= =?utf-8?B?SzRWQjdvdmhrL25WSjg3aHZ0V0V1SWdkM2owM2xHaVN0c1B6SzFaUENsRXBF?= =?utf-8?B?VGpNcmJ0Y3NnNW1IMks0cmsxTWE5TndSMTFEeFJndXYyV3lGYmZJTHVsckJC?= =?utf-8?B?LzhtWXhHQXQzOEFaQlFnZjk4RFlIcUVRV01iaXVXcXBuNWI5bjF2TE9mSldJ?= =?utf-8?B?SlViTUpKZVY2S3hSOWJtZTlUMnFsbG9abmZrMEF5bWk5RE42Z0cxRU1DMU1o?= =?utf-8?B?cExCVTBWMmpyajJCam9DUkFzVEp2UDV3WTZERVc4V3pUZ1ZGRXdUb0tlOWh0?= =?utf-8?B?N2ROdmRFRmlNN1g3OHlSYkZLNUkwUjRyUEdNMUl6NDA1dEpTOEYzeTRQengx?= =?utf-8?B?NVU2cFpYSEZqTU01VXNURm5BaHNEWXc5RWdDWmtVRloxM2VHL0M5UmQyRzJq?= =?utf-8?B?aTJzWVo5RStYZXRWZGlqY0NnK3ZZeStsNXBLcVlYYVhyK1NnVHpaM0pkcGhK?= =?utf-8?B?UmJNbGw3QndzQUo1aW5sU3pzZGZFY3QyODVnaDNDYjlxd2JGbG1jMldFcHF4?= =?utf-8?B?TDZQOEZHbTQ4VXVrazBUMktrS0ZMckR6d21oWjhOV2RuMXZQQmF6dGZmRWlZ?= =?utf-8?B?T3MyR05sZDdYR3dQMzAwZENTWWN6VTlWcnVQYzlndkJWN1ZLbVhVblJjS0xk?= =?utf-8?B?aXliaTV6S3BTekVVdVRhUUNjdi9SY1U4dTJBQmozWUpBY0pCbTNrVngvb05P?= =?utf-8?B?Q0ZwUVJtTWJEUDF6R25IKzM2dlFodDhQWWZpZlhFY2svQ2ZNc0drNHNlczNs?= =?utf-8?B?L0VnZzBBb0ZIZlJ0dkN0V0E4Uk9iaFJXRTVTUjBOeUxneTdJVDlqb2lEQlVN?= =?utf-8?B?NTZnV3R0Z0NacC9mNDFScHhUMzRqbzN4S2xNZDhqUE9oNWNOaWF6eEFIbXlm?= =?utf-8?B?NUhQUWZFN1hhT3NnUUFUWHNBWVAzRVhLU0M3NExGVzBralQ4WEJKQm9tTnAr?= =?utf-8?Q?woAgM9aCy/2v6Gk7iW3GLII=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <88132E1221348340876F34DEDBC6DB7C@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: 53cc36f9-7238-4bd9-9c2e-08dc9a5b2ca0 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:36.0903 (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: B7k03/iX6QVjtNenPtDjjtH4XmYS0cS6U9y33HFE3LozuaEmmG9uorY8Xj0MWzp9HRIYAJyciHf819AgRa55LB1jeagC0t0UjYGMT0ZbQghH6mnLGdkHG9Fhz9dWdF5G X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899744981100001 From: Cl=C3=A9ment Mathieu--Drif ats_enabled and pasid_enabled check whether the capabilities are present or not. If so, we read the configuration space to get the status of the feature (enabled or not). Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/pci/pcie.c | 18 ++++++++++++++++++ include/hw/pci/pcie.h | 3 +++ 2 files changed, 21 insertions(+) diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c index d6a052b616..4efd84fed5 100644 --- a/hw/pci/pcie.c +++ b/hw/pci/pcie.c @@ -1201,3 +1201,21 @@ void pcie_pasid_init(PCIDevice *dev, uint16_t offset= , uint8_t pasid_width, =20 dev->exp.pasid_cap =3D offset; } + +bool pcie_pasid_enabled(const PCIDevice *dev) +{ + if (!pci_is_express(dev) || !dev->exp.pasid_cap) { + return false; + } + return (pci_get_word(dev->config + dev->exp.pasid_cap + PCI_PASID_CTRL= ) & + PCI_PASID_CTRL_ENABLE) !=3D 0; +} + +bool pcie_ats_enabled(const PCIDevice *dev) +{ + if (!pci_is_express(dev) || !dev->exp.ats_cap) { + return false; + } + return (pci_get_word(dev->config + dev->exp.ats_cap + PCI_ATS_CTRL) & + PCI_ATS_CTRL_ENABLE) !=3D 0; +} diff --git a/include/hw/pci/pcie.h b/include/hw/pci/pcie.h index b870958c99..0c127b29dc 100644 --- a/include/hw/pci/pcie.h +++ b/include/hw/pci/pcie.h @@ -154,4 +154,7 @@ void pcie_cap_slot_unplug_request_cb(HotplugHandler *ho= tplug_dev, =20 void pcie_pasid_init(PCIDevice *dev, uint16_t offset, uint8_t pasid_width, bool exec_perm, bool priv_mod); + +bool pcie_pasid_enabled(const PCIDevice *dev); +bool pcie_ats_enabled(const PCIDevice *dev); #endif /* QEMU_PCIE_H */ --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899612; cv=pass; d=zohomail.com; s=zohoarc; b=fwo0gAL7Ra6JNFzv+swIgSx38pT22ajlW6tlorj5rgR16YN63xcpverzj3xUqEKbY0ha5AQW7lifNqxikU6xQ2JUgPtrvPtai6yU1ohTMxnzGe27+4DyvJpGtq89TiSH5FQLNxv2CbTeYj0boasbD/oUH7zLxoyFOsbOlxviBHA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899612; 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=tCY2NdsV8FgpVvvkIkKruBVxFFeDxZcEieTETr17l/M=; b=kgyElbLVbmLw3/ukMB5/mk5SDfq7vC7hYPiRPalIzHRwoupGxK2/tGpq1610baK0WmunQi2IAAHaHAOiUJbhecizqyODTPzXtMDUFTaDEfhTr9iHp9ItDiLNuqJyu10LWRUJ+vJRWxKg/PSgB11f3BQRqXx9V0qFNCJpXxRgv4w= 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+importer=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 1719899612738979.3866148189489; Mon, 1 Jul 2024 22:53:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRY-0007vE-NT; Tue, 02 Jul 2024 01:52: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 1sOWRX-0007uT-3D for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:43 -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 1sOWRV-0006TL-1Z for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:42 -0400 Received: from mail-am6eur05lp2105.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.105]) by smarthost1.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:39 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:36 +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.7741.017; Tue, 2 Jul 2024 05:52:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899562; x=1751435562; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=tCY2NdsV8FgpVvvkIkKruBVxFFeDxZcEieTETr17l/M=; b=SouFc/UvLQ0KM0/FufwgxrG47IUdPmlewOsINjhHEllpUh6FIbU1mcEZ 8EWATvNM7V0Rg0FuB3bl+iYWfKRxvam3c3C8kRTX8gj6mlnCRVkjbHI4M nkMc5ho3E0uUBYuPNtj/0m0ZrB/3hxLput2zvQ3ewJ4JBwYAapweVJvDH GpwPW0Mp+GLn+hSZvYth3P5M4h62UXjJ+0hW37lm14ZVtDiYf+l1pN7Tj WtmS5NVb/uqyW+R2CjLmabPVQwwilYyvjxRUBhJy/fwGmncqfPjmWreEs Ha/IObdWIpl17/8Fxf7Zc7nYJwAVYGY1XmxicsCocsU11lPRncX+rXALx Q==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15715676" X-MGA-submission: =?us-ascii?q?MDHtOmzfwSvXI4JG+pWR59a5WhZG2P2g3lvumX?= =?us-ascii?q?r72PAQb00I80NigTjj5WWL7zdojv7YjxZ5SP+ia+Vm5eIO4Onl+5yBNn?= =?us-ascii?q?j+AV+mYqdM2pXpIZa+IYylbKhLcFZDJKIta7G1jKKoUyee8KgaE0BRpx?= =?us-ascii?q?j4182Y4hy4LtiuV9XWoO4g5g=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=juU7P/IX6Na8zo0nG/bdQw1k+0Ub3nwdm2fRiVcvsizCBkZ4gsMC14vHVWDcFVTgVGjqqeh0ldxUfPfsCCr9Z83yo9zZ2vokpdY2r73w9IuEQidCfhIocBIDrpcbUlN/BUSHk0E13MPkyapHnyW0AJ6g9KAz1eGfTEGv1+3cdheO55UBjke14xeYZ55ZrYmiTEIrBb4BCWv09x1YsD4Z8oJ9yKovnLy0ZLmSZjTCXjAS4U2NXPKDYVUajggKaaHg3XHZvtLS0OYjt4wVWi5fDsoMC5qinMIS+ukA+QtStlrdwcG5CadcnzHsNKX+LAPqllvNpOc3ekkKRQpdRLoh2g== 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=tCY2NdsV8FgpVvvkIkKruBVxFFeDxZcEieTETr17l/M=; b=E39W9ngEyvNHy2oFEZUwfDwbDs58b5MJcTodN+LKugltbBvby9muqvG7nRuFZ7b5V9cCpLJmjmGkBCIGqacOBRC6pNpQZ+MzFaXjmXb4MBg0iTLWDfQY3cJ7uEYVDT7TjsSoasvxj1SamwetUq2eZvQPUQ8O8qQ8+hDgrVGYQKceDk0ZFM5Ncx9zYlFaSo94IGB3dIikW0nJGUSc7lN4J6dvy4TwpDcUly98aX1dkDYTAbtw6wBPqMO6VwdjLvCChFiv5bZOzADj3bvVvE8d/eloKfzBKFpRzxwWlnOxDPUoZbLIr7FakLA2IZTM1C0iSsBBWaXa48kr8++Fde9xuw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tCY2NdsV8FgpVvvkIkKruBVxFFeDxZcEieTETr17l/M=; b=Gqub4UZJS8gSESLSQVFxZhJ0UbU3KMhWYKpEPLzU2RsPbid4wdZgXMioQYrskKSoFvybZ8krnDmmvUqnxPf7L4Xviqa8La4qK0BL3j9R8xTnXT2tcMgkJhNu7ylwITFL//+Z9jQWnTM9gMGC1kegSnbVyxGP81FbAxmR1SXXusz2XUKlR8R4Vd6aYZ5YWZ1EZvc87xDqoAMVu7+ecXHOFmZBPWWcVWXD1H/cOsUiSGX+JNB0E+tOMWhtsaHZpnKpfH2ALnICNxRpmYYZ8EWUYiOUA6lC6nTyuxHEzRgkYW/cip1gNrG0Epv0BZjms6vnTtMhTP+8C5eafMi1B9GSjg== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 08/22] intel_iommu: declare supported PASID size Thread-Topic: [PATCH ats_vtd v5 08/22] intel_iommu: declare supported PASID size Thread-Index: AQHazEQKCL6APuAIA0yeft7aOMEPog== Date: Tue, 2 Jul 2024 05:52:36 +0000 Message-ID: <20240702055221.1337035-9-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: c026e771-9bab-440d-7cd9-08dc9a5b2d09 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Z0NlNWk1dlBtT1R4RWxyME9UVllCN0NzKzh4QVF4NldLRElWZlZNOEg4SlFC?= =?utf-8?B?WkVmN1N5YkR3SzJjV01DaUV3d2NPQ0tGemNvMUVEdjYybVdmWkhpTGNPVitN?= =?utf-8?B?dk5JWWtmcVR4eFJXRHN4QnZDZXJ3L0d3Y1V5bEtDQUNSaTdZWVhsWDIxK0Zv?= =?utf-8?B?elpyUWRoeU5pVUZoK0x4Sy95NVFGNEl5Q3pDRHVSa01hRDduMllrRFBlS3hj?= =?utf-8?B?K3UrdW4zTGRSa0wzOFJMdnh5K3pIWTY4K3h5b3lYMkk5YzZnTHVnRStIOEdr?= =?utf-8?B?aXRhVXdiN0VsOUU2NXQyU3pPUGU5ZDRjWk5WZWFrSytsREJXR2N1aHBxNkVL?= =?utf-8?B?YmdLSllHa2M2dVNRUkI4ZmZzZ3RveHlsKy9qOEQrT1JjUUxZR1NpRVNNWUpu?= =?utf-8?B?OXFKM0RsYU9Dd3NIc3R0N0NGOHBRdXJkVHhRTkViZ2J3OXI1RC82dThPY3pH?= =?utf-8?B?TENRZHczZzhRbndKTG1LRFZWdXBCU2hJd1g4R0gwNlhLbE8xa0NIdzN3L1pp?= =?utf-8?B?SFR6cWZYL2xBOTVrZzM2VEhROEJQWERwSHdhemltaE1JWm1YNDJNNHk5NjBM?= =?utf-8?B?L2lkOUdONkRQd1J0MGhMTW9WZWVuQTlJdlhvYmVOalliN0dneU5WcldTdG5a?= =?utf-8?B?MWEzZUpQdGZGenZoeDFmL1pJbG1wVE5DQ1JxbXdYOXNRTGRORWFmdFVjTElQ?= =?utf-8?B?L3BDYkgvSEN6ajArVERYbGtzUWgyWHRjK2JiWm5WRmtTMG91c2VCWFAwTnRR?= =?utf-8?B?ODEwSGVvMSs2bGJFOTI3a3Q2cUc1U0tqUDFKYTlXcGN1bW9pZmVpUmlocUx2?= =?utf-8?B?ckp0ckhZZmpIbFVuSU9SQWg0amZBOC91SzlvVzB6SzZtSCtuLzk5RkVJTE4w?= =?utf-8?B?MkkvY3dsRHpIbjByZUJlWWVtY1pFaGt2bWF1ZzFvNk5NZm9CdUptay9sbDR1?= =?utf-8?B?OTNvYjRKT3JSMTRxRHNRQlBrM0cxejF0NERmdEU1OTVUZXdhcHJYS2krSklJ?= =?utf-8?B?WUYxTE1pOFhiVlA4MytGRytrTVl2MkZRZ1dVbWFnNWErS2lJR3M4STdvZFhB?= =?utf-8?B?WW5TUEFuQmNHVGFvU2YwR2M4V2FLVm1jcmx4OUMrRHBaRjhGWTM4UHB5M2lU?= =?utf-8?B?QzMrb3c3bnF2eGllMlp3dGVaZFVmbXJTTFlGRVhRN0JTSVRzU254WkxJUEJI?= =?utf-8?B?aUNvRTQrWHAzOHJUdmhHN2htMTFvQ3RaRVVJamhCQXd0eERwWVhZVThJQlR1?= =?utf-8?B?UnVLVlVSalY0MFZ6RnhIeFNERml1QlM5K0RwQzYrbERXcmxXcFR1NGYxRDlL?= =?utf-8?B?ZVNSU1kybEhIczhrenoxSERnS0toV0lIeDY1cDJSTy94VWhyWnltNVliTkVP?= =?utf-8?B?YVNIT2RjRnB3SVhKU1o0QWFEcm9UTTN1bWNNdnFXRjQ3YWdOS1NpWnJkR0pR?= =?utf-8?B?NXlKeDF2aFd5dk5FODRUM2diSzhKQ010RjRVYTdPcTVRUml2MHVxUEdaeEJx?= =?utf-8?B?eDlVdjZzWkZ4VFFFYmZqamZHZlpjOThIWVdzRTNvSjJJUG5PaVp3SEpWSHpC?= =?utf-8?B?Z0RwbEx3Lzg1YmxOQnFrSWEvemJ2citVdVZhYmd0TUJHbjk0aW9PS1FMODFQ?= =?utf-8?B?VnprdVZ4RGczbmFGZTdmMDEzS3pvMTZkd1l6Zldja2hDWEN5WHk0a09MY0d5?= =?utf-8?B?bjRjMHh2R0FIY283bm13TWQ0azh4cEE1NDQyWFVpREM2U3NCSXBVVFpvRFBo?= =?utf-8?B?ejE2ZS9yb2ZBTVIzajVPYVN0S0w4bUxXRElQQjU3TCtJU0V4eWRLeWJXYnQ4?= =?utf-8?B?MEpaa1AxV0pma1BxNXNCMXRRRThlenM1ZzY4RTFWMkxQT2JOdm5OQ256YVkz?= =?utf-8?B?ZnlzZGk0RUw3VmFxMExPM2tkMXlmNkY3MkJ3b2FJWlo4aVE9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dXRPMHBaMlZnYkgyQWY5QjF5WFlsam5TbGtGT2ZWcEFraDcwRlBkVitIdTlJ?= =?utf-8?B?Z015R1p5U0UwWUJqZnRDWkRteDY3K1NZOUhHT2JBdzlGTGg1emQrU0czdENV?= =?utf-8?B?U3c1dUZTb0NWQnJqRFI5MElkdTBlNzZia1FaQ1NFM1EyQ214WHhJZ0NZaks5?= =?utf-8?B?YmZ0NVZUQkRuR1YyM2RQeENDY1grRnpCSExHS00yM0hzeXdiMkNWRUE5QTA0?= =?utf-8?B?UzRnOWZqcXA4UG1sdmFBRmZncnhyS3JDMExmZ0xBTWpNM0FvRnNOZlhCeUND?= =?utf-8?B?YjRhMFVScWZ3bXlwVU8wY2xGOEVSNHFRUkhDQlBRVDlPZlkvMll0bm42d0th?= =?utf-8?B?ZnZlMElFY1FXSVBYNEhZa0haR2UvWmhxQjhsajQ4cUsvWjdaK1ovMFhBbktv?= =?utf-8?B?UTMxd3BDWUVGTDJaZ0tlaUp3RHdHaGxuZXhwL2VGTUtacDBaZ0kzVGkyS0Fh?= =?utf-8?B?RmpwdTQ4TTlzU2hUV2JqcEdhRWtHRE5FWjY0WnV3bnEwSy85aTR1M1RwbUdn?= =?utf-8?B?Vm8vWWpJc3VPd1d5dkZoNFlYaHJZS1dOZjJtWkQ1MjliZkV4a1pkUjhyRFBW?= =?utf-8?B?WGp4VnU5ejJBQnpmWFFaZS9SdTlYOEc0L0hnMmxVaStYbG1RVWR6UEZERzU4?= =?utf-8?B?V3B5Ym5JNVk4dURTVmlOSVhHTmxlN0U0aU11RTh3dUNKTFNxZGJERU5XZjND?= =?utf-8?B?RXY1V3RZK2pIYXRJcGFManBkbmIveXIzbUJuUDZuZTdCTmhyOEhoSW1KK25H?= =?utf-8?B?U2VsZmJVVGtZMXZGSjc3NlhkZGRuT1AvZ2p2SWNvaGJnN2FCMTNPdzBWVE4z?= =?utf-8?B?VXdCdFMxYUZBSGR2MUZEWi94ajUySHNZUzQ2Slh1MysreHExYlRhc0xyRTdm?= =?utf-8?B?bmFKK3JzSmZYUENSR2R1eXZqZmxpdjVoUTdnQW01akU2WE5CUDIxWTRVd2xY?= =?utf-8?B?RllkZS9hRmE3RHVxb0RqYVFDNU44dG5xZjR6MTN3SjRoVDl5WWMyUi93SmNR?= =?utf-8?B?VWpGdU9neHlSd0Fka1BFRG5WT0V4N1FtUEJ0K1VzZytKVERXSUt4WU1qdDN2?= =?utf-8?B?amhmZThwYlJCYUpnNmN3MmEwcjArRkxpdk56cU9QbzlqSlNkM0xrM2dUYjhD?= =?utf-8?B?Tm5lUHhXSVdqMjRxeUQ3eTJleGZhM2tLM0xVcGtGSFJhMXNqODkxd3ZKZkZ2?= =?utf-8?B?M1RyL3IrRXBBalpUaDlaak1POTFJZitzWThFYU5yWUxNalBNL2JhbkdlK1FV?= =?utf-8?B?VHdXOXFTRForMnZEWE96UTlwYjhLUmMweFNIeWRocTlGSThMeU8xQTRZYWVh?= =?utf-8?B?WGYyb1JaeFJ1QlY1aWY5VXIwZlplTFpVZHRLNmxPbGtiNFdCS2ZUREJiQW1y?= =?utf-8?B?Wm54SFFWcWpPVlFNazN5dFBERVAyQ0NKY2prNUYxOXh2eFNJajg2cCtBRktS?= =?utf-8?B?d05UL05pbGpwOUFrZVZkRFRSOGpNVzU2Mzg4ckowZVZZZFRCbkx3SHhwTFdZ?= =?utf-8?B?VGhZaHMzRkZwUUEvNjNLN2xLRnFFZlErR3ZaaDAxbCtqN0I4aGhKWlVtVlV2?= =?utf-8?B?amk3K1F4NWt6TFdpOTlYK2tKS2hiS3Eva2FEbzk5OEtkVWxDTHBZeGFVaWVz?= =?utf-8?B?V2JYVkFjaHdxY3ArRFdhTm5EZDR6OTRQeHhodG1LYmZYOTVxWWU4VHRldWQw?= =?utf-8?B?eFM4Zy95RnZkekVwOVh6bDQxaXFmcXhlbSthSm9MWFpYRkt4QWxiaWo0Ymdq?= =?utf-8?B?amNGblNlcE1mZFZyR05JYk5HNXBVcmJqSUxWNjh6aWhkL1c2RFdrUVdObjE0?= =?utf-8?B?NXRBVXFucFhxaTRSMFIvcHYwQTZDQjJweEhyNjlrcFVlMU1rUmNzdWloeDBk?= =?utf-8?B?T0xxbXBOTTAvbnBHRU5MOGIzejJlV1k0TFRSc2dJVEZYWlBtc20xTndrc2FP?= =?utf-8?B?VENpQnNIbFdxNG8zeHNNWm1zMjFJTlhqZFJjZTJEY3dRdkxJSGV5eTJqY3BO?= =?utf-8?B?MEJKQ1lEVEFPT3ZRRHJTcGUwbFRkZ0dCK3Nvdk42ckV0Qzk3R2VPSlRmYnh3?= =?utf-8?B?ZkhlRnMxV1llWGQ1YWN1QlRlR2NWRkhiZmhVbUUvV3N5dHBWU2hCUlppaWUv?= =?utf-8?B?b01qUmpzU1c3RzFzVHhQTlp5VzhXR0NHZUhLRDhrUUhEbXg3RW9PM0JxUFl2?= =?utf-8?Q?3mrG+9UHymNmWIzM9a+zrR0=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: c026e771-9bab-440d-7cd9-08dc9a5b2d09 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:36.7892 (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: jwbO+WzJBMsRHTBrVHVLVJ+EcJ3emH7xA3P2b9hatRwKZ9nXEMcGTFEGr4wm0b5RmPQ4YIVZd1gE7fTWjT8fC1bTUHMYAqVoprGgwMqby1Dcr8dpNV86ggvrurT9NhMm X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899614284100009 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/i386/intel_iommu.c | 2 +- hw/i386/intel_iommu_internal.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 71cebe2fd3..2a78fc823f 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -5860,7 +5860,7 @@ static void vtd_cap_init(IntelIOMMUState *s) } =20 if (s->pasid) { - s->ecap |=3D VTD_ECAP_PASID; + s->ecap |=3D VTD_ECAP_PASID | VTD_ECAP_PSS; } } =20 diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index bd20746318..117dc96d22 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -194,6 +194,7 @@ #define VTD_ECAP_MHMV (15ULL << 20) #define VTD_ECAP_NEST (1ULL << 26) #define VTD_ECAP_SRS (1ULL << 31) +#define VTD_ECAP_PSS (19ULL << 35) #define VTD_ECAP_PASID (1ULL << 40) #define VTD_ECAP_SMTS (1ULL << 43) #define VTD_ECAP_SLTS (1ULL << 46) --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899700; cv=pass; d=zohomail.com; s=zohoarc; b=Cuqaww50KUnOCWb/h3UF7Dp1z5xr3Ky3oNtyNQl8dSkPbRo1NryNmTPi4A94f2eJ/3I/pme0jreeQOiackEJdb75+TXzGXmJR/2T5AemG5W4vSySR8XdH1/QMJR+UHpi2dogsChI0X5mqfDMskQXid+1Ts1hjkYgimpDQ8a23W8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899700; 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=xaxAGyD4o2O8sCWULUZmUAxQhty2kaey6TC3HEo4ugw=; b=h5yhhUtgdnjD41O/CKoeA4+CxvqWkaYnOvrrDBCJA6a1pYrGT8PmMMFIEN0sodypUzyXt4c2reqgrkuREYtg4Rozlq3luttLP1Mm47CCGbiepnUTfTPhN/pQmSS7kpXXxQXjFwg6mpj842SSxadEyE8HzX8E7jo9igSh/+RI4yQ= 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+importer=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 171989970078567.86804394229148; Mon, 1 Jul 2024 22:55:00 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRb-0007y9-Cz; Tue, 02 Jul 2024 01:52:47 -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 1sOWRY-0007vC-LC for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:44 -0400 Received: from smarthost2.eviden.com ([80.78.11.83]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOWRV-0006Un-EX for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:44 -0400 Received: from mail-am6eur05lp2110.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.110]) by smarthost2.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:39 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:37 +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.7741.017; Tue, 2 Jul 2024 05:52:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899561; x=1751435561; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=xaxAGyD4o2O8sCWULUZmUAxQhty2kaey6TC3HEo4ugw=; b=BoIjCKwmxYWeEl1Mh+YGloGufo7COqD1eHD98+pIuzZZF1AGk6gE/1ie bg2Icq5ut+Gg49LQj1zXIKD+oGdwXMkrPHhFWLOMEnsRejO+buJJH/4lP Vl+3IbmCR2a7OF8vKg8gIxt1n9DmaqMF18LBuWaDts1+xaHykkTVNntum g9nSADwJhTSUvUf8yD93ECgk5Lz7fyHZvndljmyKjsNf/Ozd68eYrAQix RayPlPThmU/pn6EkQokCU7SpfXDHtrBuE94OJ7Ga9pNwTh4HPKMridnON +GXihuVfSgb7AoF6qqQe2vvY4wvKECsGeCYZRqKQWpZUpAYqvjCSY5HQ9 A==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721521" X-MGA-submission: =?us-ascii?q?MDFYoE9tbcJ6B2npvCda6XPRaKqmw+1lDiukpc?= =?us-ascii?q?LyiA4H/T/XBKq82twj3YCKmV7NOY31yxKfJ/y4dz0cWrU7MgdXuibeoC?= =?us-ascii?q?NSBzuJLdpne1bF8uiZlp5XD4NVyJrQA/NNU0585dMv3hZ+zu8KSwH+L8?= =?us-ascii?q?7O3hlzgoF2DRQU0ksVbOVlLA=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XpHXm1lTY8/8TeYs7XpMG7Z3sWjOy3iVyEPZR1caXOTaJt0efizzRBmi0/Q5KyyKdMbSWgxUpSavCPp1kDyOf6XdU9LOtd98GhJy5pmvY0J1IfZhPlKzey37Zb0unRa3s5p7+TAwoGW093y5WyrqgCsAGN8qcMUtITiLtJbfSkeCoriGFtgQSwJzIvdjkDz5AJpFb161Wq3RI4Ne62gLlbfpM+57HaDCLnzR4K617ukWAgnjP4ffDdmBsZfvfjnuvOsu+p1HompvVrO3KcyIGPrN6s5NuEVy07N66v7zDdM3i/X6PmGdvQVHYTcLNDXnKuo1zHazgwETD3h93wMtwA== 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=xaxAGyD4o2O8sCWULUZmUAxQhty2kaey6TC3HEo4ugw=; b=D+w+tC+Es6ZSuWvazmveG4yHm/Y4GbBwOMdZpUCCSOu4fQokIPRuv8+Vs6252SByuMP/MD9TXcKBVVYK3KpeXUAEfolXXsrgWWJm/GKnyY2wmQdTo8KEVULzWo4iM34POk/TtjwDIzFAGlO2+nulrgxpscP0thqNfwVBmxdduvAi84dmtwwMMseQtFvbW17sLhfyN4If4o777h5YHqVVefacr5jDcE4Nn1bFug2iBfjnPkLP4bZ61MEPp/VfK+hozMMRx/5jZbB826WXYu80vE+cUKUXLUi9QOPdjzRpbsY64XDSnhMVg379+zPnnE1KzVFlfiYQSMexJJioW4DBaQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=xaxAGyD4o2O8sCWULUZmUAxQhty2kaey6TC3HEo4ugw=; b=pZBAFwxnVvpw7+QEnGgMpqp7QhUYdlHsKdWT8iTCFDe1nNK86yLdcvpGDwzAcEP23ksdJLbQCgBb5dQHzyGLRxowArcXD5LjK9lx8HVzXemLg7/64PGqpXO005WbsrvEoCJ1KdyFsj2PmkS6RQrvK5aKDtUuVlH+GFNBK86ZbDC11/rtA8wSfJnzyTFP/e4u2HCcbgKDidjylQQ/2fh17vXst8VQ3V2EYxdtoQbyC7Nb4vh5GZi5WkjbZ1X1txJgOeBdWMNTCyvDtasxl3h8mgBsC5MwiaSyWFWZFsBjxCTgYCMMHHk4Zho0glI1oUpSMeWGbhsBsL6lZDr5lg6HOg== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 09/22] pci: cache the bus mastering status in the device Thread-Topic: [PATCH ats_vtd v5 09/22] pci: cache the bus mastering status in the device Thread-Index: AQHazEQKdi6Jv3RtX0yfGUZA/khw1A== Date: Tue, 2 Jul 2024 05:52:37 +0000 Message-ID: <20240702055221.1337035-10-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: a4f7b8c4-a2c2-4606-eeb6-08dc9a5b2d7b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?MEptcVJRYnF2cjBCdy9YZzl0YWNPNW4rbnFTSHR4Skp4TThIQkNtclQ5bDJp?= =?utf-8?B?NE5MN25BL0IwcUNMWnlNQWtlQWJMZnRXc0JIRFRhK28xc1dEM1VGZWRVSjRB?= =?utf-8?B?V0ptRExVMDFXendrTG9zbXhqVHNMUnQzSm05UXUvVWgvb3FqcHBhdlU0dmdn?= =?utf-8?B?VUd2cUh1aVZ6c0s3UDV0OVVDbE85UjdoVVlBeS91MDV2aFNtWVpGTzV4Nm1U?= =?utf-8?B?NXhpYVNjS3ZWNVorMDRqZGZYRlZOR0U1RWJOWDk0eGJsSTF6aWR0Z1ZWUGlw?= =?utf-8?B?VkhFVVJPK2FCZ2JmOGZJa3FRL29nTTQ0TnRyME85ZnJ4VWtRVkR3Q0xiWHgv?= =?utf-8?B?VDFLb3ZQelFXWThXOEhJTEliQ0RpYllUYndqZEpWSkZxUWlPYVV3ckdudGZo?= =?utf-8?B?MkJqVnlORXhLd0RCM0xOTFIySkVNTWIvZ0JJNnZTMWpuU3dFeVhQMHMrcWlE?= =?utf-8?B?YkxZV1dHcFFjdklSQngrTXk0L29DRlowQTNLZEJYamp3T3F4dzl6YlJEMDhL?= =?utf-8?B?Si8yUURlTkp3ME9SMlZkeFlMU0ZvdlEzdEJVTjhDVkxyK0wyNTBmSUpKejd0?= =?utf-8?B?Qm1WWUl4SVVIOHE1MUVzTVdDTjB4R1pXZ2txd0NieURLL3pqODRhQUMzaXFW?= =?utf-8?B?cmh6RHdocTJqRXBrOUY3SFZRbFEvbUZMYlB0UnpMSVNiVW5YcTU2Rkx3Y24w?= =?utf-8?B?Q2xEL2pxemE5VDZSNFREaXhoWDl4RGpWWStsekdnSlBqQ3dlMmZXOXoyUzRn?= =?utf-8?B?ckdaVk80WHg4U2FiU1pmSzdWdFJMN2xkcFdxYVBGNEY2K0haWVkzSGMrMDRT?= =?utf-8?B?aFhZQ05LUnV2SmxYRmNPNXMrTG9lclF6VFh6Y0YxcnJCZ0RGTEp6MUdlWGNX?= =?utf-8?B?Mm1Mbkh4UFA3WjZrUjVoaWlhZXVkMzU5MEhDUEk4Q3VDUC9FeWh6TmJEQUZB?= =?utf-8?B?aUE5eTNXN0Joc0lMTVErYjh2aVVXV2hDTjFVd3VSdE11NnBlQjJEc0VNMlZV?= =?utf-8?B?ZkxYOWUyQzY0eERtcUdGSlRBU0xORDVvQUxxUys2ZWx0VjZqVFQvVGtTcjJ0?= =?utf-8?B?YlVFWU5wYXFQa0RWZi9RYWQ0clg1a2Y5S094WUJueXJsZStOcWg3cU1keS8z?= =?utf-8?B?Q08vZzJpTVYyTDMzVmJIb0xwcmdPZGJuNlFXMmtnSEhWd3Y0WnlpcW1KUDFJ?= =?utf-8?B?ZW1vdzNwOXpXWDlGV3AzRDVMbC8za3RHRStvSUZhT3orcTRQUXNTMi9TeGNH?= =?utf-8?B?b25tMG02ODE4L2E5M0RYODFING9vZ3lGNlV1Qm8rMUNTNzNwclVWSGd5c2tE?= =?utf-8?B?R3JXbURHVzF3UTNZeFUwUmtieTAvblNWTVFabUUxUFU4SDVnaDIzcHRscjRB?= =?utf-8?B?UFkrWkVudElxVVhhOE5oYTNHNzV6T3ZjOHV1bHN4MS9MRHJxS0xGTnA0eVZR?= =?utf-8?B?QTlPQ28xWEtIMmdqRndDQ3ZWb0dmTHBScmFUTnova0loRzNyODJTNDRkWVdM?= =?utf-8?B?U3lJWGpjcXVRakZic0srSUxMaFVPRUQ3SUFZb05YMmRBeTdPNUw0ZzBnYSth?= =?utf-8?B?Uk5mTUczL0JzdHFsZzdJMzZpZS9yUVNEdldQRkIwaDEwdm9zUy8wTm9pMkk4?= =?utf-8?B?djZNS042bkZOcmtZWUtrWkIwUFcwUFRuUFB5dVVPNEh3VldCRnZvZnI1MmVn?= =?utf-8?B?aXhvcWhTUHdOeDZXNVc1RUtkWk5Jc1pCWUR2SHlyT3V2aStnbmZPU1VFc0JO?= =?utf-8?B?MzZRRGQ0ODVmMEJ2RWFkOHhxODVSejFiSjJpU0Q1VEQxamFoSjBReFF3bXZ3?= =?utf-8?B?bkhJYUFPanRjWTE4OEx5NUJBWG9JVU5OMmw5aFhNU2xrdW5KMDBNWklTZ28z?= =?utf-8?B?ajFtSEJ3V0hTR0RyU1NiK1QzR1gvN1FVVHdWUTlTWXZFVEE9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VGdUdlpNWnpPT1d4YWNmMGl4d3Vrd1VrcStLSDY4ZDM5ekhDa1FIUHluTGJl?= =?utf-8?B?S1lFYnJPVHFqSFhlMmcxd2dPRzVFbUpnTjFNMGRWMzhocGVPZkp5dVhNOUQ0?= =?utf-8?B?UzhldUJvbFY1LzZhbmpzNU5Ed0pXSUdmOHlPeGRaK1FEdEtvK1FHWTBpbFk5?= =?utf-8?B?TUdBaVJRK2hnaG1Nb0FndVgzdHp0WFAzMUxSRWt4cmY4NUtTOXhoZ1A5Z1lt?= =?utf-8?B?S01iRFgzcC9kZnJaN2ZybStUaFZhcTIrdnRUNTZVd1RjdlMzZVNkUUhxK2sv?= =?utf-8?B?QkEza25ZRWw3N2U3VVVrU25DVEpFKzBDcVB6TGZOYkFWOTVnRlV4UWNRYWdD?= =?utf-8?B?TDk2NWQvTVdNdkR4b05qbmxYSXZVV0RaSHRvRCtoUllLME1hL29RU3BGRGNF?= =?utf-8?B?UCtxcUNvcW9Dckc1emtQUWlCODMzbFQwSGh3aDJPYjZnWUdmTDZPZUtBNEVr?= =?utf-8?B?bGllY09CeFI2WnhjNzBNK1NiRXZ2RU5hQmw1VlRYazNRdjZjRjBhVmNuN2dl?= =?utf-8?B?T28yam1yOU9sYVRTK2FiRlhtL3Y3L1R0OTRYVmxxamFoTVFxazRndGFralAw?= =?utf-8?B?N21TUkJNWGlDb3cwME8wSFpUL0pMK1kyUExXOHF5N0xvbU1YRDE0VzZranUv?= =?utf-8?B?cCszaENRM2JJZVZ3RTBCOVI1KzA2L0g0b1pjdVVXc3dwSk5SajRuVHBucFNk?= =?utf-8?B?blhTV1E3Z3pnOFlJRDE5U0xWNE5udnpwSVVnR0lwVnZ5MUtzZGdVTi9SYTlZ?= =?utf-8?B?Mkg3eElpVTZtL0M0ZTFpQldFR2pLTFRtQnlrdjhPRm1FMk91WXRmK1NERzhm?= =?utf-8?B?bTdCSWNlTEZZME9lYlVRZjNuaW5VellXVStCRTRtcTNrK3BOaTBQUDlQMUFz?= =?utf-8?B?VU8yZ0FJMTlyNGtTQlZhZUVXMzNKMTExR0psUXB2WHN0WVhYZzlNM1M1NDNW?= =?utf-8?B?aXV0dkUwdjVBMXo2clBiWHZVeEtrTjI5SXZSNEJWMll6RzJ2enJrc0JmUWRx?= =?utf-8?B?NGNOekRHeDR6cnJ4S0I3bnh6dzJEMUtHNHkvSC84VWROYTJQVDhybXNNUms2?= =?utf-8?B?RjdoVzlMb2g2cWJ0SHhqS3lwbnExcmZuWjBkYnZQdUpkNjgxazJ1K2cxS2h4?= =?utf-8?B?a3BmYytMRXFYejAwc0VaODdqUjR2bXo2TFBQOUdvTkdiNTczVkdFMXZ2bThF?= =?utf-8?B?Vkp3K3lURSt6ZytORlc5YlRqdUJGY0pPbk9NWGVuK3hRaVdFVWRnUzJGdldT?= =?utf-8?B?SWs2TGRrQVlxc2pGOVMvYnBIakwrNVRwME9jRDlVRWt6QjJTRzNuUFhjNnRr?= =?utf-8?B?M3VXS09DSGRLL2lYaVd2bmxnZm0vNkhmMjJvak84RFplRHhENkFHZDNlTW9Y?= =?utf-8?B?Kzg0aVRucVRaWSt4WlJ6L0c4cVU2aGhUMWM1ZUpuemJTbjQraU42YlJTc3ls?= =?utf-8?B?Vkt6YlhWbHhESVdkYkJuQnByWE9yYWxrQTVaZ1VFSlVrWFNaakdyeFFlaDdr?= =?utf-8?B?V2V0NXd0eTQ5eXhVQkhGSHVObjdMb2FYRkx3Snhkejg0OUxVdGt2eUx0bmRK?= =?utf-8?B?eXJqQVJwaDJLUy9PaUR5akJHNUQ1VFk1bG5IcFE4KzNaaWVNbGtoaVk5aEIr?= =?utf-8?B?UXBYWlQrZmxDakpEMEhBdTdJSVIzWnBoRG9YUEFGWFh6R2VXdzhWTzM1Nkt5?= =?utf-8?B?M2xhV3BZOVo0eitmU05iY24zUEgvK29lUHoycVZwZTRDaVY4NDdYMGFhc2F5?= =?utf-8?B?ajdKT04xOWZROHV3M1djNW5NeFZYY0lSMEMxa3ptdmRXZ2RjVndkM1BNWGxI?= =?utf-8?B?QnNsSG5UZWJUSnJ1Y0hVZXZVQmk5OEJUVkI4Ykc0eTZJdVkrRVIveEFzVFJW?= =?utf-8?B?dENYaHRPNVhybmQzYUREaEFYSnRJL1dQOU1zcCtNYnJVRlpLcUV4cGhZL2JY?= =?utf-8?B?Yk1BdmliWGdkcHJQQXJ0REVTeW1RQ05vRWVoZU1hY0laVkNuS0krZDNXR1A2?= =?utf-8?B?V2MwYkpjdnFQZGZUV0JuY2M2bEU2dkF0TElkdUNTbURsUyttNXA2T2pkSzZu?= =?utf-8?B?dW1aYllTRW5kcGkramlTRDJMSFFoZ21jaWR6WE4yVEo4ZHBEdHhBdWVObTVJ?= =?utf-8?B?dEl4a1hHclFFTE8zNHJoN2xreUE3R1Uwb3pPZ01BR3dza2NNZi9TazhvL2Vp?= =?utf-8?Q?ts2O3k0miPNo37YUh2h9KR8=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <9F1B17DE31F2584CB2DDCC2E5C7D9DBB@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: a4f7b8c4-a2c2-4606-eeb6-08dc9a5b2d7b X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:37.5268 (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: 05dRWd4oLmFAFJ0ocYmjjfvcWa5Y4Iq8dx7SWaXv7NrV1MmSaehrNRGo+6rJrrYBRKzQCuD8bNysFY/cvvkSsJGM349ZUiVtrDTLnNBEhL3BXdWPalF4+nHAAmgWdtFd X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=80.78.11.83; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost2.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899702550100015 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/pci/pci.c | 24 ++++++++++++++---------- include/hw/pci/pci_device.h | 1 + 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index c8a8aab306..51feede3cf 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -116,6 +116,12 @@ static GSequence *pci_acpi_index_list(void) return used_acpi_index_list; } =20 +static void pci_set_master(PCIDevice *d, bool enable) +{ + memory_region_set_enabled(&d->bus_master_enable_region, enable); + d->is_master =3D enable; /* cache the status */ +} + static void pci_init_bus_master(PCIDevice *pci_dev) { AddressSpace *dma_as =3D pci_device_iommu_address_space(pci_dev); @@ -123,7 +129,7 @@ static void pci_init_bus_master(PCIDevice *pci_dev) memory_region_init_alias(&pci_dev->bus_master_enable_region, OBJECT(pci_dev), "bus master", dma_as->root, 0, memory_region_size(dma_as->r= oot)); - memory_region_set_enabled(&pci_dev->bus_master_enable_region, false); + pci_set_master(pci_dev, false); memory_region_add_subregion(&pci_dev->bus_master_container_region, 0, &pci_dev->bus_master_enable_region); } @@ -657,9 +663,8 @@ static int get_pci_config_device(QEMUFile *f, void *pv,= size_t size, pci_bridge_update_mappings(PCI_BRIDGE(s)); } =20 - memory_region_set_enabled(&s->bus_master_enable_region, - pci_get_word(s->config + PCI_COMMAND) - & PCI_COMMAND_MASTER); + pci_set_master(s, + pci_get_word(s->config + PCI_COMMAND) & PCI_COMMAND_MAS= TER); =20 g_free(config); return 0; @@ -1611,9 +1616,9 @@ void pci_default_write_config(PCIDevice *d, uint32_t = addr, uint32_t val_in, int =20 if (ranges_overlap(addr, l, PCI_COMMAND, 2)) { pci_update_irq_disabled(d, was_irq_disabled); - memory_region_set_enabled(&d->bus_master_enable_region, - (pci_get_word(d->config + PCI_COMMAND) - & PCI_COMMAND_MASTER) && d->has_power); + pci_set_master(d, + (pci_get_word(d->config + PCI_COMMAND) & + PCI_COMMAND_MASTER) && d->has_power); } =20 msi_write_config(d, addr, val_in, l); @@ -2888,9 +2893,8 @@ void pci_set_power(PCIDevice *d, bool state) =20 d->has_power =3D state; pci_update_mappings(d); - memory_region_set_enabled(&d->bus_master_enable_region, - (pci_get_word(d->config + PCI_COMMAND) - & PCI_COMMAND_MASTER) && d->has_power); + pci_set_master(d, (pci_get_word(d->config + PCI_COMMAND) + & PCI_COMMAND_MASTER) && d->has_power); if (!d->has_power) { pci_device_reset(d); } diff --git a/include/hw/pci/pci_device.h b/include/hw/pci/pci_device.h index d3dd0f64b2..7fa501569a 100644 --- a/include/hw/pci/pci_device.h +++ b/include/hw/pci/pci_device.h @@ -87,6 +87,7 @@ struct PCIDevice { char name[64]; PCIIORegion io_regions[PCI_NUM_REGIONS]; AddressSpace bus_master_as; + bool is_master; MemoryRegion bus_master_container_region; MemoryRegion bus_master_enable_region; =20 --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899697; cv=pass; d=zohomail.com; s=zohoarc; b=KMDalPhwPTCMhze/T3ylXaqjH0oa424Nkhj40xxyLIuI/stbhkh7UeKmQwtggQNvTSDA8mahQFovhMbF1i0OHBJGnDB+PL1OERgrR/eGjSqMpF/irYeV1Im/EvUvQhvX864hHH3QwlrsCfM7OO/hsr6rztrx46NIRsSJkiJCFqM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899697; 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=zkJMhn6Ml9XGShA6gJ/fp2L2yFf66JtkXA9Arp7muWQ=; b=ZCqfl7AAw9NghGH4gmqZSniUq8+tPuuIID3Ws6fL7miM1Uqfluqdyjb8ghWcjGuN9F9E+gov8WEnj52FqAyA7cgxSQYCjyzntRySYBkxtJlOlO74nd3G6ZGo5nmnDWph1rEocVDEoSQPbSK37xkB7Yl6WS4DBq1d/WrKf4k35gs= 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+importer=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 1719899697443410.94597238763345; Mon, 1 Jul 2024 22:54:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRd-0007zX-8K; Tue, 02 Jul 2024 01:52:49 -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 1sOWRb-0007xz-2A for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:47 -0400 Received: from smarthost4.eviden.com ([80.78.11.85]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOWRW-0006Ul-Tk for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:46 -0400 Received: from mail-am6eur05lp2104.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.104]) by smarthost4.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:39 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:38 +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.7741.017; Tue, 2 Jul 2024 05:52:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899563; x=1751435563; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=zkJMhn6Ml9XGShA6gJ/fp2L2yFf66JtkXA9Arp7muWQ=; b=mDzDwKNcf4OrkP7692aNIlIIHgaIAeIYmVab1pZycJ2fJoB/mKdm5MhB Gn0gpdB9Akik2glCUbeTnyOS/6whym7LuFV4vgL+ImucKBP9kkcqcPfXA CSG5XFPkR2MX11Bu7f24EbfnIXnX8KD8u21jxhB4I+Auj26bfsEKInk9l v/ViV8C3v/tgjWtYfp89dnAXhJf/jEXbpyAhuLiy75MISByLylJaUkDtt 8Dmk7p6lsDmAerdIA0+dm68QudLKFYjXdwK/HBlXFMZrIDrleun6/B2TQ vxymLPnljEOoP77PipQnfWu/09DnFGRMWOi1UU39X+a241ukAz1cW1nwl Q==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15813261" X-MGA-submission: =?us-ascii?q?MDHhY7anJcmo5OK/qn8qVgNTqarJdUYnIcuCAi?= =?us-ascii?q?mnxmaqPmm+vu5l0CNJ3vwygVe8W13B9V3M8ZZwAOCdGD17FVTLxFufwJ?= =?us-ascii?q?2cmhSYiXgHwiwqZkdKgQxCl4pJ267H57F1gTlbNWP6av0PCAU31r21KI?= =?us-ascii?q?WH2A5kzam70QYp2mP+MlVqxQ=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bph7u7PLUJgHgTtDcQeROqT9uJOj2Ge9lg2XHhyWNew4n2bJjMex3Vsjkw78UwR4vVCv3pcENf+ZNeaz1mZGrZe62nKqdxWKZbjpvHUzto8jQSybItiDQxGgmi80U8Yd5iAjhEE1kU7qu9HDfy+/F7PbJwS4XY3xMxSjjqjvLG6MiBTG41yMqQOF4nhWTXBpFDHiEGRi6DUqpYdtGbWKbED4fxjNqo37uaQtXJxQihIaBDcf55SJ2rVWXqGAvFGIYzTEqlUOdqiz3pYaQgoIlya/rLwe57HTX17iY3z+y+d76t3kKaO08XbgRMDTKCM/0RKCAWfcXRkcBqSsCkV79w== 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=zkJMhn6Ml9XGShA6gJ/fp2L2yFf66JtkXA9Arp7muWQ=; b=Oijsr3KA+JeR/E138Wi8F/dJ5YaitbfFoZGI7yF34Mz+zi4UX5X7+tU4kYQxkmIWyZiGqmtaRVy7/XnhterFzOBnlOYLQxoxeB1IKzdoR9wB7JAlLU0rGjMrqMGPkU9jgMv2eRV8ewhJ/akV2bGSo7muaLuRN8ys4PaVq1eQmToDqtELIg2MJstxr2jG+Qm1PXo8IFLb9pCCR7rgX6kmr8AYcIQp1hYbiqNoLsSo2MtiZWJh0+M4FdIl9+dB8s0o6RP4uLgJQfNfcJnidIj1Eu6HG84CihdEZz8rCSEAk54ErOeuTBau7Xf38ream0/cBUa3jO1x3JA3MVDPeS6gbQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=zkJMhn6Ml9XGShA6gJ/fp2L2yFf66JtkXA9Arp7muWQ=; b=Trcd7FWltE0pwvccyGdQ2/5xGOfX9935uqpdGlpmxUVuO3Vf1OmNruR2dZHCeV3zWCGaKxBycaql8idv+R1KT165xau21vBEGfc0Rn+v/aaIOtvLKQQvAjcb3qsA0gWjKlQWnln7z86DNT3bhSGF72hZUbQmjFzgTN+fjTolQW3fDh8xidrRGtDelZw5b8Fp4fdOT4Fdig7lzlKwO1LaudfAvx5d8Y8o9JpxWKlpxB3rPOUj3avPuMNcAC+aoDBKjc5ciUxe5mF8+la42dC7XEXi4Fklk/hrRobENuuu8SJ3ibLwwQ3IRvIchYzO/xWdRhgmWKx87rO5D4sRdDLn3A== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 10/22] pci: add IOMMU operations to get address spaces and memory regions with PASID Thread-Topic: [PATCH ats_vtd v5 10/22] pci: add IOMMU operations to get address spaces and memory regions with PASID Thread-Index: AQHazEQLkXBRqmEjB0WGDgHUwGi0UQ== Date: Tue, 2 Jul 2024 05:52:38 +0000 Message-ID: <20240702055221.1337035-11-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 51228d4c-2914-45ac-390e-08dc9a5b2de7 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?L0ZLVUdZd3VQeGJUTDdkRE4xV3dzb25GcHpnUjhXTHBpSzlPYS9rcHVwRlF5?= =?utf-8?B?bFVjQTdzdUFCUHRmNmFvcWZZUmpGaVQ3ZUhkdmhvcmIvYk8yL1BSblRXOGdx?= =?utf-8?B?QmxhcGNlZzk5aEV4RXYxdjNselZSK0xUZUhSYnJBNzY0SVRPSTFnenl5dFVC?= =?utf-8?B?TERZYjhCMzVUeU1aekIrYkdoZkh5T25rbDlZalA2TmFuTVdqYzBUWW92eVpy?= =?utf-8?B?NTROS3ZqUVlpWGZsak1pRlI0Z0RtZ00wOTdXQi9ySFJEeG1KV1A0T0J4a2VO?= =?utf-8?B?cEdielF6UEVnOWRWZFhQMzFKRjJldGVxTUFJNGgyVVE3SWt3dVpYM3JWQzYr?= =?utf-8?B?bGU2ZVJnS0dMSk9OQnJQQWM1NzFuM3JRQnk2eGdvYnppUnZQTERIaXNhaUZv?= =?utf-8?B?RDl1NFgrakl6WUorN2VzUTlyT2RONE9CcVNOa2lHelFieHMxVDE4aXBDMTBh?= =?utf-8?B?QWZkUTFMdGV0bCtJYkM3dlZPYkZqN3F1bjN4b2Q1OEp2Zm5ldHdHSjExZTR2?= =?utf-8?B?S3VpU2dWZ0hrRTJSK0RxaHRMNXpEMFc4RDNTZzdVTVVZTTZWSFREK3FwMmZN?= =?utf-8?B?ZmtUZzNkajdaWXlQS1Fkc2dtMkRRbkhyRVFjejQ0U0Exa1VNcVRza2d4UXlI?= =?utf-8?B?dzUyUGZiMThMR1pIaFVJU2JSblEyWnYwYURKbjMzeGg1Z2l0dDNYOHMvdXNt?= =?utf-8?B?bjRESGVOUGF1VXd2OWw4YWxHKzhGRUI3eFhNeGkvSEw0MEZCYjE2d2svb2lL?= =?utf-8?B?QWVKYkZIMnd4eFJOZHZFK1lEM2x0L3Q5RWR4THVDSTZJVTZ1UE9RSkk3QnF3?= =?utf-8?B?M2l1VEI2VEtESVFUd3I4QjA0bmFLUDVxNWxkRTBVQ1hDZmJudFhXejRYMUVj?= =?utf-8?B?MzAydU5pbXFvSW8yZzJWbi81U1kzOU55d2R6R3hCZzc3Mi9COXZlSS84M213?= =?utf-8?B?cFFhTGltbGlFbk1oQjZ2bFNEVmppbGdkR3B5UEJzdGt6N3VNNCtsdmxoM0xX?= =?utf-8?B?ZXB5TDA0UzJxNndpeG5wM0FraUpiMDVEWlhtYStXUmZFdE4wdGpJQ0JWd3Ax?= =?utf-8?B?UFpxMERLbGtCM1dSTTEyQnpQcGRlOUpkdkhhRnAwdTZ4LzVuSFdKT0VOd2hq?= =?utf-8?B?Uk1kQU16Q1FKSkpNeHlHaDlpK0pGSFQ1dFFJNXh0QkdCQnNMRVBTa1lvbUM3?= =?utf-8?B?Zy9tR0o2RjRNQ05sc05kMVArM252bTRGbEVQaXJuQlA5N0F1QzU5MXhPbFor?= =?utf-8?B?Z09qQW0rNVJOZkt0ZmQ1TWl1NmlsQXpRZ1Z1VXJvL1BYWmViTlVwL2k4bjk4?= =?utf-8?B?S3Evb3NFVW5WZUIvZzUySCtlbHhNZUljZTdrZjVaN3hNYkUvbk4yeVlzRnUx?= =?utf-8?B?aVV0RmovNWtpamFuVkFON2JjbW1EemllaTVoR1F4Sk43ZzhjSDZuUlhjM0tZ?= =?utf-8?B?dmJsZVBGS1pMRzNsbXFmbUkzSXJnNk5lY2hWbTFVNFc3Qm1DaXdUWmJ1a0Z2?= =?utf-8?B?M1hlNU53SXFyK2JQa244UHl4NHRjTEgrdmNTd0VteDA5dTBaVzlWVEZSc2Zu?= =?utf-8?B?ZzYraE5kSVdJdktsRjh1blhlUCs0TzVZaUVZWmtOeURFN2ZTZ0VTTkowL282?= =?utf-8?B?Z2M5VFE2b3ZZY1FoRVg3eEpza2tDa3lxSGcxazJLdVhReG5DUXVaYW91dlVC?= =?utf-8?B?ZFFPNWVnblR3SldTMjBUb2VQZ2pDTlRrUkxhbFBFeGhjTjYxWnNzTlhNeS8w?= =?utf-8?B?Zm96dFB1SGtSTDdTVktzN05ub1JEa3VCeElzTCthelRhclJ0WWNMTzE0MmU5?= =?utf-8?B?SE5VZEJvcDFpYlRPc3l1YWJHVmNPSExiS2d6T2xodmxsRzArOUtIQ3VPSFJ2?= =?utf-8?B?QjVKWkovTmVWMkNlWm1FUUFsRkNRZXkwaTBBc0RVTHBUdmc9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SEhzc1N1YklZKzdUUDhpMDZNa2N6R0R1eXRCMHdvM1R4UjdTTUFDaWJHT2Jw?= =?utf-8?B?aUxGTGRQdzRwNlo4UllZMnArbTFEdzVUbnd3dXJTODRlaTVmam0rT0FlbTNw?= =?utf-8?B?YXlwMGhYdzJYTHpCZ0p3RGNua08vQWlQOWErcW5sTWZYRlcrVHNGdWY3S21T?= =?utf-8?B?aUF0MHJaWEdOaXdqUUhkaG5sQnJ0MHdqN0lIL3NWaC9JSy9QZkFDc3AwdHZF?= =?utf-8?B?TlBzZ3N2WUI3bUhuNDE2QURpdTB5Sk40Z0NHOHdHeWcwS1pjYi9rVGlINVZr?= =?utf-8?B?RS9nMkJRUjl3ekFGMklTRVRoeXowNFFIMzMzNUFRbnZmMzY5YlFkWjZGNEJw?= =?utf-8?B?KzRJb3g4dnp2ZkNDbVdTeFNZZTVWWmJmOWtycEUySEpscHRxNEpWODlLSGI5?= =?utf-8?B?NHAyOVUvZmpFVGtnWUhNWTRtL0dTTHoyUCtNVzFPVEdZY2hwSEJKSHdFdzlJ?= =?utf-8?B?dnRuMk1scWpUWGxUQUQ3VEQvaWZBMU94SkFIT2lpSGZZTDQ3dXRkRDJXNzVN?= =?utf-8?B?dTR5UkJ4ZldPS1hyeDFLaXdHcDVTbTNPS1doWUszQmlRemRiY25qOWRPY3cv?= =?utf-8?B?UGlXQ3lCR0tXU1o2VHBpTE1vMVUrd0lmYzJydlcrUXVIb2RYVnRvSTBkQW5R?= =?utf-8?B?a0ovcEZ6Sy9rWnBleTNkYXlrNnFYU3VNTEVPYU5BT0hjeC9ZL1hkTk9vcGZL?= =?utf-8?B?VmI5dlJQNi93VCtsY0J0Q3BxTjZWNmZybzhRQzV1VHBQckExVWlzbmJrSjBO?= =?utf-8?B?d28vS05jQzNNMkR6T1FDaUhvQ25BVE80Q1h6emlDM3dJaTYyN0RzOTJlampu?= =?utf-8?B?NWlEUUNSYUNjWnovRjEwSitSUUY3RTdRTThEUVgxVVV1N0RTL0ZaSFBVRlNx?= =?utf-8?B?LzRFSnNGbVVFd01KcEJJRnJuSnZ5dDFTZHdaREJ5cWdXYVpqUzdFell0YU9i?= =?utf-8?B?RjhOdHY5b0JvSWx5MEdNUHVmeFhFdzBFYlN1eTRUaGx4TFYvQU1KWjUvU0tW?= =?utf-8?B?NFUyd0FWYjZ2U0VpdEw1QTNKbytNZG9TMDB0Q3ZjZHVVOFJnQWtNd29GOEVW?= =?utf-8?B?MUdCb0xUZjRPaE9EZnp5a0hZUnk0VFBUbGZHUVFlMFJWRXdHVHhLZ1ArWGVh?= =?utf-8?B?ZlFTVThTTWU1ZzRRNmFLV0x0U3I4b0FtMkx4OFBKMmprTGZTdWRsTDhuNDVM?= =?utf-8?B?RGhtaityY2tsQ3BSd1FSZnhELzg3aDZlbXZlK1pIMUI2Z1BZMmVtdktKMENL?= =?utf-8?B?bnY4T3VYRGI5YlFCWUc5cE5FK1d2NEpDUGJSYWVHR0Q0SlZweVV2Tit3RzBP?= =?utf-8?B?NU50QjEwK3ZTYlZyZk1xSXpIZ0V2UDRsclFrR1QvM0lWdU4vQnpTRkJ2cFRs?= =?utf-8?B?aHdKbDFNeVhuMlNnQ2hBbi9nZm1PVmkwUEppNzVXbXk0MXVTNEtZTEgxa2lO?= =?utf-8?B?dE9ETk9CNEIzOXlrSTVRU01oek9pZmJPdlFhZ01ZdTlLZ3gySjhybDRiSmhk?= =?utf-8?B?VnFsKzdURnEvNHdlZzlpWDdWY1dKZkpvaG9KWVpjQ2VWRGwySFNWY0F2SDBm?= =?utf-8?B?TGdyRXY0TG1jbjRiMU5EQkJWOHBkODl1b0t2QWFHaE4xTUxkVThIeVNOSE1v?= =?utf-8?B?MHJCdmJRWHJIUk1LQzhOdngvV3J2YytxT25QYVR0ZjFJbUR5WEl0REI2eXFT?= =?utf-8?B?OEVJV2dEWjlVMmlBcDU0aVp5bkltVTgzd3pXVjJFOThVSWdrSFRCRkJ2OC9K?= =?utf-8?B?U0VCKzRuVnZ4ZVBySFRUYlBBbUUzY1QyMjRzUSt2RlBrbWh2cmROQmduYmt3?= =?utf-8?B?VGQ5d1ZkOFlQaTlyWUhrOW1NeWdyK1Z2bUs1T1ZibFBwcldqcUV1aUltZkJJ?= =?utf-8?B?RW9HNE9ZeFc1MTN2OU8wUHdRZlduQlVrS2J2clVibjBBQzBDUHlBUFBoTTlZ?= =?utf-8?B?ZkdnWmpYaVFoWGdtS0UzNU9KVnhhVER4WWdDWkVPcGtGckhOQk1SMnZPRGNN?= =?utf-8?B?OVV1T3BOVTJmN2R3aXA2azB6emdIWElrbDlLbWJvc2p1L3QxR0RiVVF1TGNC?= =?utf-8?B?WTR0NGowblZBakRUVFY1TTg0bzlXSjNLd2dFZ0g2SmQ5QTB6MXVKMVcyV0dz?= =?utf-8?B?U3pHOTBFWDVMVE52aWtKMWc4Q2tsSWhSNnpIeFNuT25YRXZLNzBXZ2xheTlq?= =?utf-8?Q?9ZrP+VVjkYVVSN0itBfFOwk=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <1D60804810805E4A842D5B7FB3914E87@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: 51228d4c-2914-45ac-390e-08dc9a5b2de7 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:38.2540 (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: WQi6M1npZ/wGHKBukoSa7cz8gBLe4aE5Ysap9vhZ9a6n37vqrolx6rOQWtL1hcgtjwK+AqI0MU5Be3RCzZJ815LI0TRAtIHjdKh5QvzJqjFCXQlGoePrT4/YYw63ZBh2 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=80.78.11.85; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost4.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899698546100007 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/pci/pci.c | 19 +++++++++++++++++++ include/hw/pci/pci.h | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 53 insertions(+) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 51feede3cf..3fe47d4002 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -2747,6 +2747,25 @@ AddressSpace *pci_device_iommu_address_space(PCIDevi= ce *dev) return &address_space_memory; } =20 +AddressSpace *pci_device_iommu_address_space_pasid(PCIDevice *dev, + uint32_t pasid) +{ + PCIBus *bus; + PCIBus *iommu_bus; + int devfn; + + if (!dev->is_master || !pcie_pasid_enabled(dev) || pasid =3D=3D PCI_NO= _PASID) { + return NULL; + } + + pci_device_get_iommu_bus_devfn(dev, &bus, &iommu_bus, &devfn); + if (iommu_bus && iommu_bus->iommu_ops->get_address_space_pasid) { + return iommu_bus->iommu_ops->get_address_space_pasid(bus, + iommu_bus->iommu_opaque, devfn, pasid); + } + return NULL; +} + bool pci_device_set_iommu_device(PCIDevice *dev, HostIOMMUDevice *hiod, Error **errp) { diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index eb26cac810..ad7bd2ade5 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -385,6 +385,38 @@ typedef struct PCIIOMMUOps { * @devfn: device and function number */ AddressSpace * (*get_address_space)(PCIBus *bus, void *opaque, int dev= fn); + /** + * @get_address_space_pasid: same as get_address_space but returns an + * address space with the requested PASID + * + * This callback is required for PASID-based operations + * + * @bus: the #PCIBus being accessed. + * + * @opaque: the data passed to pci_setup_iommu(). + * + * @devfn: device and function number + * + * @pasid: the pasid associated with the requested memory region + */ + AddressSpace * (*get_address_space_pasid)(PCIBus *bus, void *opaque, + int devfn, uint32_t pasid); + /** + * @get_memory_region_pasid: get the iommu memory region for a given + * device and pasid + * + * @bus: the #PCIBus being accessed. + * + * @opaque: the data passed to pci_setup_iommu(). + * + * @devfn: device and function number + * + * @pasid: the pasid associated with the requested memory region + */ + IOMMUMemoryRegion * (*get_memory_region_pasid)(PCIBus *bus, + void *opaque, + int devfn, + uint32_t pasid); /** * @set_iommu_device: attach a HostIOMMUDevice to a vIOMMU * @@ -420,6 +452,8 @@ typedef struct PCIIOMMUOps { } PCIIOMMUOps; =20 AddressSpace *pci_device_iommu_address_space(PCIDevice *dev); +AddressSpace *pci_device_iommu_address_space_pasid(PCIDevice *dev, + uint32_t pasid); bool pci_device_set_iommu_device(PCIDevice *dev, HostIOMMUDevice *hiod, Error **errp); void pci_device_unset_iommu_device(PCIDevice *dev); --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899694; cv=pass; d=zohomail.com; s=zohoarc; b=QRAFOiQ64L1S7jmdUBF//Qg9h6jqbKj9VhNT4Bq1CvA6npIVPeySNAjeSI9E8EP6b8ZiW9sY4GbBrloxw2bX7rKcoJ2wrNN6hYsYEmjz2RfZ9GvcFhTPrXl6deUPnE4t8VlO4LrnfzYv2ppxTPWHhZ4dweFlNHg/lc9kASf/w14= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899694; 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=Hc5l9iMS0hIGeK1Yyp7kRyUFTRfoq0lTUk/Ikx1qcEk=; b=NOQaTonFEyJfe+nbpmJWAbe+oId2nyTySfRIcfYU6sVIgsHwKRVZzO9WiAQfk9VK6M19SFf87G4W9i62vHOAB+DPA+s+V5V75caCZn+Rfq3kWVraoF0R4NarapGhtjnVYEM1/9QiBmY1LP4zZl6UoAITaRwHiZxsMRXaZUpsiUI= 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+importer=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 1719899694472529.4883968921597; Mon, 1 Jul 2024 22:54:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRf-000815-1m; Tue, 02 Jul 2024 01:52:51 -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 1sOWRc-0007yM-3y for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:48 -0400 Received: from smarthost2.eviden.com ([80.78.11.83]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOWRY-0006Uc-GE for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:47 -0400 Received: from mail-am6eur05lp2104.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.104]) by smarthost2.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:40 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:39 +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.7741.017; Tue, 2 Jul 2024 05:52:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899564; x=1751435564; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=Hc5l9iMS0hIGeK1Yyp7kRyUFTRfoq0lTUk/Ikx1qcEk=; b=uDEp6owyrXyG5/dBrUxflW0OIFhzmXrhET8vMHzqYJt4/PTXFtxBNGEC LfIzgeHPLkSfU+lSDm4WKLNp1cgDUgs2WbqDCBAQO8odTXknzNWi2S2sN ScySxz3iDsbrksu6isrqSi0KDS2moLhx7tvR+HS3+i2paFr2q1LZIGcu9 N8RVi2dze7ixH5t94BOBdQdBTORVBehM5pc9khPkV1K8eps6ZtujgmAD9 lyMt9iEaEf34vn/SnDvR8s4C0rUihDolrnob1uO97Ja4HoTf2MArZz2pk zuIVKmvizgnePGAwF05YHe+bAWbyEn3YbueIMLATHhXRbviYhLHHTSjWt Q==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721523" X-MGA-submission: =?us-ascii?q?MDHunFQvuKlY5IMC5+XIvZjU2JALoYqSx/h1PG?= =?us-ascii?q?dLHYYiTj9XkbnKuwVKQk5RNF4MR2xFQbTuwkCrOMlsNCF6F/50supxmn?= =?us-ascii?q?QOmIJLxZysBXEQyyjTUdxOMr1uhx8TyB2a8d1mBURuiNpmusnBAnJYRp?= =?us-ascii?q?DWagwSy7rdrzJgmQdGkbYDIg=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=by98qBR8l2/abxeYVmlgroLV7sGBsrz8xSPy30pMwq+kFsRm7Z9kKjwh0YNZBsV4F8CW5buSoQ7DbWplRETUYDqsyfvGlNKtK4v+kVnmYqkrK7vgRWWG6REOKg2+g1CAZeJD7lqF1hZrNtUii80l4Ida6v2KlnjZC6jvjR1VmuWQMEm5kkAFK2zefILUqUQOeBFHHANV2dubFcHAP++KdNx9cNcPPmwwoD1KSePTML7Ss54oYtF/WMQSQDoGiVraTEepm3TZ6hhZxfGKnZyY90M+2EyXkSk8bQu2xcff8GIAk8uB7rWHm6ddsfuHBugxD2Bzur1M9i+4x8Qxp3dLFQ== 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=Hc5l9iMS0hIGeK1Yyp7kRyUFTRfoq0lTUk/Ikx1qcEk=; b=NVFL8dAg4/siA4/0vu7H5j6ZZz+yBHJsN3l/s7529qeN4XNYBHHtEntpfoZ7xAQ5PSpJl7uBkMQ9/GGv9Ayq0YY/pFdVvKeaCpNiXNGh5dSdYqQFz9vs+TejFj8fzoA7RPkQRcVi0cP1xeRypW3JD+Z+N/Zi7LW8JAfDFrIjsHeRClkrsy+hU1pgqWF+9rrFSKKvhEXi5FEaBPDV3ud0iZsAGEw11R4cJ5J4JKcofkbgLP2o0/7p6vDLFqH11B4XzHjr9C/Qbt1Q46MPkoaFXtl+vgeSyTrnTnWzS4S3GRg2mq3q23RMtNILG3Pp8v5Tq+0bJ2w5NPIAjGaHKXq7rQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Hc5l9iMS0hIGeK1Yyp7kRyUFTRfoq0lTUk/Ikx1qcEk=; b=U98AoJY3TQQ85syHWVy8+d2ktrh8nOFki9Gnt6myccm0RYI1uDaPOHiy6NC3Qgeq/8qtidARSnZhk09akD3Lm5TcR/c2BRIbV3QwlNeSG9uJ65HpM5jEsPrdcGY/0cGDE+vTJf08ucLXqmoK5JUkCfnpk0I183K/geeJKWbkvKNmo5qaU0RbnofYs8M6v10oyka/AGEz9zQJ12noYX6wWDsqmw1WafnTCrADpnGPl9K08E1Y/I9y0y64IvhRwZngn29D4uEz9qdzVps4Z4kA25zCxF23TPOEMTxQk8mIx2a+H3yviu485xA0CG1SS8Kz9bJ2IGkSpTF0xFjihNhgow== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 11/22] memory: store user data pointer in the IOMMU notifiers Thread-Topic: [PATCH ats_vtd v5 11/22] memory: store user data pointer in the IOMMU notifiers Thread-Index: AQHazEQLU37p2/DTDEm/CBKcsLSUAw== Date: Tue, 2 Jul 2024 05:52:38 +0000 Message-ID: <20240702055221.1337035-12-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: ab6001f5-e86c-4024-a3bd-08dc9a5b2e59 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?azgycFh2MWM0R2RZa25pMGJJMEN3bUNsekNnTWNCWkkvU2lqYm5icFh6NUxQ?= =?utf-8?B?UGZQNm41KzlCSnBzaUE0N1NTV2JEY0VpOE8rejMyaGozUlFLZU9uZTJSeUgv?= =?utf-8?B?SDBlYzZ0eWlhbzFDb0Y2b3JJQjUvYTdYM2gyRk5zK1ltM2o2eWlFR2hSdS9H?= =?utf-8?B?eWl3dFRZbk5VOVN1ajJ5TDJ6UjhLVHpWeUkyWGx4SHRsSXZVN0gzS05MZEVo?= =?utf-8?B?Q3FrRW1rYlFoYjBobVRhUFFxa0c1bXFkL3BLNEgyQVpYY1RxdXVFcVAzRDU4?= =?utf-8?B?WjFxUGoyNVUvOHdVWmVrV0hrbUE4S2h6Mk1qd1E1OW1vRTF0OVl0UmNmQXZE?= =?utf-8?B?M2NDb1Z3UWJ0cXB6RWdPSCt3Q3RVWFBNZE9tSkZpdlNNcEZONVpCYVVjdTA3?= =?utf-8?B?YzZIR3pTanNsMGpnaG1KcmRyS2ZMQkNMZGQ4clpzT2dPMWJzZnBxQXJPdDBR?= =?utf-8?B?TEs5aDM5TFNqTHU2cGhHb0ZaYTFFMHBhblIyWlNNc0VSNWJrOFoyVTdFUXJG?= =?utf-8?B?eHdvc0cvenA4aEFUMVRxTEEyQ0lUNDY3WnMwUmNsdXVBVnhEOThBdDNvRlQ5?= =?utf-8?B?Z2xzdkRFdmV1SXpCU2xtSGpKRm1kcTBzR3hFNVFuTGRUQWRwMEFSN2dFZ2tL?= =?utf-8?B?d0liSk5CVDJNTTZqWGhWTHhyU2w5T21CQVZxc1ZkU3NOYVg4eEV3aVBTYWFC?= =?utf-8?B?VEE1ZlFhejRWaG1PUE9PTWQ0V1JhcnFSbThKWHVkOUJpUHJnQUV3MXh3UnhF?= =?utf-8?B?NzhXQnl5N1VCVGo4clJHUDN3cVo3ZUMrUk9QbHlqcE5tbUlvK01TYVF1bTR1?= =?utf-8?B?aW1lVmlTN21QMW4vWXlycXBUOXB4Ujk5V1dkZVpqWllXVjJLQkV2eXVkcjZJ?= =?utf-8?B?S0tXbE5WeEFCNlBHM2cvdXZ6L0hVYTRrL2x0L3VMUWRwTU1JWkl0eno3bGZG?= =?utf-8?B?WnBDNXNocWkzd0xGMFY2Tld1bnNnQUxOUFh0M1pObEt0KzJlRXkzTUN1bi8z?= =?utf-8?B?QmRLbWs5V01tODk2SUhOUWZrc1lGVDd4RWMyZWJrdnRsdWRGd3ZER3duSkxD?= =?utf-8?B?RFM1anNiTWF2U1pPYzNxakpMUW9acnNKVnNtbm94MCtNTUtWVkZDM3Y1eVlx?= =?utf-8?B?bzJFa0phWWVTcnM3S3VtMENka2k0RGZXYzgvM2RSY09GT2Vya0VHMmg3OWt0?= =?utf-8?B?KzZGMWxDWERMdlpqaTdzWWw5elhVSW1ZeFhseU5RbjN2bHFRWjlQZlU3NWFG?= =?utf-8?B?MGRMVjZPZjc3TW9rN0ZtaHY5R29FZldEb1h4alozbHNBNkQyNFlqVUF3M2w1?= =?utf-8?B?ODBVN1A5TDVVa2Q4WXM0YXJOT0JOaTRhT2g5YUhEOE1nejZPV2hHaFdDeHFx?= =?utf-8?B?ZitlREFHaVJDNDVxTnBwVEtNWDU5SW9HYThFbUJLSTlyeUNNVzM2OFQ2c0U1?= =?utf-8?B?eEJVRlVRZTZnSDZrYjl5QzNuZDRISnlmdTZNOHpBeHFqL08vdWZzbkNWRUZn?= =?utf-8?B?ajVZL0ZzQ2Q3Nm5xKytpcWNjMThGWUEyZWFieUxvVGlta2F1dDd3Y0JsNmpB?= =?utf-8?B?Y3BYNDgvV3hqOHQzTW51OWZ1c1hJMXphSnkzbVRpOEpCZWdtQWc4TFVGL2pn?= =?utf-8?B?d2hQV21TRllLQkFFU1Q3Tzk3dERaTzJOaHAxcU9FYlBUME5LTmZEU2hzdnFr?= =?utf-8?B?S2J5akdrMUdnL3BFRUp5V1JEbEJaVytsa1RRcjRKcmVuSFJML2JxSEtjT1cz?= =?utf-8?B?L3FKdlNuVVZlcTZ2S3hoMWxnVHMzZHpqejlYcnYxOWlCNytacVFTZS9mb1gv?= =?utf-8?B?cktKRExNRElzalRNVzlxNm9YU0hLblV2RWlVY01ucVU5dkhmdVppZkd4SWQz?= =?utf-8?B?Rnp3VitLUk0yRjIvQVhycGtNK2kwNzBibVpOa0dwcVk5UHc9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MU1sUzF6eWR4S3ViVSttTUxjNFJid21pcFpwTVA2SnVyUnhTU0kvWUE4NzBC?= =?utf-8?B?dzhlZXMvSHcrRHBiYldSREdlcE5DV21VN0lHZXo3TU5aY09pZEN5YTkyZW1N?= =?utf-8?B?WFhiaEcycE04UWc5OGpoRkRiaTBIdExLZ05HbXJ1eFB6TGZHdnUwWmxTeCtQ?= =?utf-8?B?SzFGMitqMkhka3NPTnZMSzF0dW5iQXJZYlVUY2ViTUxBSFRITWdlSnlmTE8v?= =?utf-8?B?UFJEdHA1bW1QdFNqTU00Rm0wbCtma1gyOUYrYWxzTW4xTElKWDhEZmw0UjVM?= =?utf-8?B?WjYrSmRXZk00MFNuSlllQXpTVlV0a0hTSjVnQXNoZ0cxaVkrcWl0dkMvQ3pi?= =?utf-8?B?RFFDQmZMSkNwWDZvaElFRko1ZU05dDNQZGZVR3R1RmRYNTByMzZzb3dTRlE3?= =?utf-8?B?SW5TcXNUbEsxaUVhL3gyWlgySDVTNmJaZ2Naa1VJUHlZbWNFMUhkMnlld00z?= =?utf-8?B?ZkpzOHNHQktCaW54enVBVldJZnRWeVhqdFhNQWd0Z0pvSWswY215dFJiQmdz?= =?utf-8?B?ZEtLTGRyTCtEVzdiem0vaExkK0s3emJNVzdTN2dXNE5zMjVsRXJqL0RDRHBH?= =?utf-8?B?UnVMRC9kcnlYRE1GM0l3b3l6MmxEOVhsRDNvc2Ewelcyd0pZZVBMN0FZcmF1?= =?utf-8?B?Uy9TLzh3dGF1dzhKd3RpdDJ4cXphNlpPd3NUVGNwREJEdGpMc1dvazgwb2ZM?= =?utf-8?B?ajVXTTFwOVhDNElMd2JNOTFsZWpOOHhWQm42RmlzT055UjZUa29zY1gyakhW?= =?utf-8?B?eXpYRmoyalFLVUFVeWpZQzR4aHR4SWpwV2toRGxNUkZweVhGVllNendCbDV0?= =?utf-8?B?dFUvVW8rSnVIaWpkMFdDWWw0cjJYRFp4NDJ6enhkc2dOM0pmazViRTBXSFZZ?= =?utf-8?B?QTlTQ2R6WWg1eGNNeTN3LzhDQWtjTHNta1ZnaWpCUEc3eUJvZTM4VXpyNWZa?= =?utf-8?B?a3lYakJMd2V3QUUxeVhhUVlnRVJTaUd2Tlo2bDN4cjlrcFJabGVKVkMzM1hm?= =?utf-8?B?cHh3UThqVUlFbmkrd3l2MkVwNHQ0MlNCQnFIRHN0dWxKVlFqbzFvVUVReDFp?= =?utf-8?B?Tkk4bUtjT0ZCZkxQd2pEMVh3MnRtbmlKUTFTTHhuU3B6bTY3K2lZQTRORzUz?= =?utf-8?B?SmR2VzJIVWdCTy9sTkZ4eUdWWEpUVm1iL3pycGIxVlhTdE85MlpiVzdKUTZk?= =?utf-8?B?eTllL1J2R21pVDQyaVowR1IwUzBmbkh6bklSUncxNVRENE1ybTRibnZ3NkIw?= =?utf-8?B?RTNGUWxEMS9mend0elJ6SUpWK0o1djh0M3RILzU1RWFzbHRWdmpWa05XbXV4?= =?utf-8?B?VGtBb0kvVEVGTzQ3Y2lkcC9xVmdWZW9qWWpoTU84SytsdVpVdkJweVF3N3gw?= =?utf-8?B?VTJabWxkMXVSU1grVzBNbE14M0NnMnIwWEFVS0VOSEl4U05yVzZIeFR5dWN5?= =?utf-8?B?ZFpEWVc0MUhNaTFVelJHRnJjY2p1aUExdm9GVlRPZmhYOFNDMTkwRTN0TGRk?= =?utf-8?B?bG5HdGlQUWJNT0xncTU3QUVoK0R2ZGhFbEhJTHFrTDN5dDhGZ3VQK0pnZVFr?= =?utf-8?B?R2F6UHJNZ05VVW1jREtXQlNvUmNtaXRMMUFENlhIbUR6SGQ1U05YcVlZUEQz?= =?utf-8?B?QVB4cmZFUFJqTUx1Z1RUNENNR2ZNdDBvNkswc25hNjc1YTJpV2xWeGR0dldO?= =?utf-8?B?a29GdTFGYnpmQXpiWEpIOVZ1cVlCaGZZK0JMRDZpMGEzRk1WMU5ERGYvaTJK?= =?utf-8?B?UXV2Z1JWckY4Z3V6dHRkT3lVTm9ncklRZ3RkZ1JuclFmMlQrWW5kRE9UMGV2?= =?utf-8?B?TDdIQ0Vpc2pzb3lya1p6ZGZIUjdPUXEyK2piVzl4QTlyMVZHM1hKcEdqdVJD?= =?utf-8?B?YU9Bb29wTkJIUHlVREZwUW1WbjEyY1lsZEE1WmpiemJCNXNLWEIzWjFadlZL?= =?utf-8?B?bTd3eHZjMHpCK0xMODV5QmphbmdnTTFPVlJwcEJwRGtJR3dTQmV1djZFRE04?= =?utf-8?B?K2x1b3gvSGpwNDNiK1BCbjdzNG1CcTRBcFIzZG5WQkNpaXpPN2Nid2tlTmlM?= =?utf-8?B?Tm1Ya0xqZmhVNjB3WUE1YzlxeE5Ba1ZkSHU4NGdtczZJWnJLRXZoaHR1LzNE?= =?utf-8?B?UFVqY0RFMVR5VFplUTY1bjhvWi9MZ2RDeHNscnczOWl5WmFFOGVoemZoYjl2?= =?utf-8?Q?xuE1cRC5iNeJCmJ3ZU60Mfc=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <3E0C635EF0AAA4499BEC000EC77CEDC1@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: ab6001f5-e86c-4024-a3bd-08dc9a5b2e59 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:39.0001 (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: +eQstc+CG2EtDg3wfoSkSyGXj1KZ5icQR+LCQ34pDfHX7+biGTTKUAHIr+V1Tf2NxH3ibwH6knSTaQfnpXS9CcOhsaRmlK8chXc1jRFGUr2qfsWGFXrJ4MAvNTM0LKDD X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=80.78.11.83; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost2.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899696524100003 From: Cl=C3=A9ment Mathieu--Drif This will help developers of svm devices to track a state Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- include/exec/memory.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/exec/memory.h b/include/exec/memory.h index aa8e114e77..bf91c4bed7 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -203,6 +203,7 @@ struct IOMMUNotifier { hwaddr start; hwaddr end; int iommu_idx; + void *opaque; QLIST_ENTRY(IOMMUNotifier) node; }; typedef struct IOMMUNotifier IOMMUNotifier; --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899698; cv=pass; d=zohomail.com; s=zohoarc; b=H4CkRbFxk91TwQhWe+m1Q21uyaDO/dydREUL7h8NXKJLStQWhPeIcrTiHMr81LrnEtPWRv58nAvxZKQtc+Gt/F0+Zf9FSuERtxR5KpZcGHFH98+wfHaykTHcBwBuLDyAto7wBJHekWqlDMBBcnfnT7E2Q4ha0q2EC2M9KMGWlWg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899698; 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=UPXNbvJectvGQKlGoawzXgwED5aGbpHuXdk4PTl86rE=; b=i4pP0/wDDYVktCVThJxOnST1ODvjjKUk2lbyiVIaLoo5xLFDMLXVgpVETp3l+F8CE5H+gwYG/CCUOd8X1gDkphbKHyT4jfIAqBI1jyLSqf1xnSeqT1IufRYmVhS6a3jX/IZUj8vJm0SrfFmihfS2+S4pWmbwqONnC0HtOekM7rA= 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+importer=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 171989969870374.94366463952178; Mon, 1 Jul 2024 22:54:58 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRf-00080y-1S; Tue, 02 Jul 2024 01:52:51 -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 1sOWRb-0007y8-Ay for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:47 -0400 Received: from smarthost4.eviden.com ([80.78.11.85]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOWRX-0006Wb-SZ for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:47 -0400 Received: from mail-am6eur05lp2104.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.104]) by smarthost4.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:41 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:39 +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.7741.017; Tue, 2 Jul 2024 05:52:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899564; x=1751435564; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=UPXNbvJectvGQKlGoawzXgwED5aGbpHuXdk4PTl86rE=; b=CeNkmiMVkhtPkR9y+zRbbz7aA6GqU7H/uRupWdSdHDCBqfyFGWddicmL wOZx/h49ir8jEmG3oyc1Zdu3JQYVAVsC1U64sVZsl4pLqPUOv0/9A8mJW ryzn9ruSP//YMG8MWq2mjCZFtdxlOJTkgO7Ta8XnsesOBxsVS8yvDVSsW c8yyl3+sj4OZ3l3ersG1sTZbkiioyjiLyz/BmT4ExwRdgf64/FKOHUcsw DjWLNaIgKUX+rDio4b2P1K3xwZKm6k1AmAE+h52e1bKFkTb6eJyHKLtp7 u3n315ZqwmbUf+cyX/jnG4ASdZ+/hOzFQu2HxGOjpoReoCLuAeyykGhcG g==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15813266" X-MGA-submission: =?us-ascii?q?MDEz8PKJaPOgY7sLHl2EKbeeinh62r/k2Tacy6?= =?us-ascii?q?uTpaf7Q9b0euuXvL9lndXmbu/aeCRh6wPOqFnVAO0Xy3PLEQTkdmdIyC?= =?us-ascii?q?9y05jpLLzgn3MmezEuYSKEOxF5d3NbG8a3UQ5EH58fM0aMP2/Prqt0j1?= =?us-ascii?q?Zcmt25gj0rDqomocK/nfs7LQ=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IHTn6ytoGboyRMebD6vVnAeLT1nFaBLg6Pa9vNbdIcerhNw6CXdBdKTXp+mAzMJysRusWcxu4eV8ViP6v9R0qTDKC/B0M+FO48cAw6zUj4hCPYUf5wU6sGARk/ckT+Sf9zxvwdcArgAxys2W0nefN4Bh3VpiCtu096fJNznm8DLVwxwwx/sTh4NSlvr6Iy247AD4g0/7r37VOTgrjaZklvg6AS4uhYzoVtalclk3kl3txWgysowvOyf7rlllWgsHn+DS8O8buOewwfv9U3H9zz/OIeovBKO/hp61++8PFUyox44s5z90h41VuT7jjHisngtMmd6FrmEHNpIpmyZsJg== 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=UPXNbvJectvGQKlGoawzXgwED5aGbpHuXdk4PTl86rE=; b=eDLZm/9ERuQaF2TSN6c7Kb27CK0BkyZ/+ikDSPgrbBUDY4Wwv+CsinASG1QHXrFbXj+kcho6bfFsPiKaG3O9fPH1QgtEPO6usUTXWuFOyFIkseGFTEjHzrz6AcLP3nGwiDU3lmFx6Sx/Pt3+cnB31L6XRLAs/QnIoRpYId15OvUx+omHIaULPrJjt0JvAUUZV27kWrEkEzmqnCjaaIWp8nPNBvsh5vuSXc2PJadPFUCP5lke8+fchVTWZp9V2UCL0n7mmVLg4Mf//6P02ug4S5/t3rJAhCUUoev6WQiF59xzhYohu+rFNL3UhGRU7qKQgJupKmhnDVOIMb1t+jLSiw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UPXNbvJectvGQKlGoawzXgwED5aGbpHuXdk4PTl86rE=; b=EeMIEYPZpz3sIUeStS1kdi599lNClS1EyxyfZ+g1TwkwZRFId2wRiyfWIQorA3NtBre9P0TksCrysC/tWdDTJKbnqDIX32/5qwTHlC81K6yXBqdsI+bxvln6brhObothNa27XrH0/SgStwqlFphsWUd4f/juDiTnPlbutdZ/EcB/wppfDg/vejb87CE9L+ZeGplib5vrEiO1CttMxi+EczAyr3LC6tuQR7QBoNGbAZO7CvvHbHapoNhnEr8EQtUIo9Yc4AskgrKtnsAF/KDLmWL5EHDhhgjcFFLxnbqFZjv979giT/kW1yGiLbJ5Lvyb63uBuj/32f7IX3ZQ35SBsQ== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 12/22] pci: add a pci-level initialization function for iommu notifiers Thread-Topic: [PATCH ats_vtd v5 12/22] pci: add a pci-level initialization function for iommu notifiers Thread-Index: AQHazEQMy99nBSA6kkCk1O0SVH9NAQ== Date: Tue, 2 Jul 2024 05:52:39 +0000 Message-ID: <20240702055221.1337035-13-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: e2bc0892-3e8e-4c26-8fad-08dc9a5b2ec2 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?SDNnd2JqcTYzVEo2ZnI5aldzZm90WkNrWUw3Q3dpaWJEbmRpQ0pCNFJXejVO?= =?utf-8?B?ZFdJUnJMNjFHOG0vcU85aTkxRm9SaXU3dEZPTUEwYzhEVkMraUh6N2NqZzhu?= =?utf-8?B?UzE1OTJUeGM4bEluajJsY01SV1dUYmtLaE5wajBZSzd6Y3pRNjdUcCtNYWRL?= =?utf-8?B?bHlOU3FvaUVhTlJVV1lXNDg4UFgwM0x4T1p4dlNqR2R5a3Q0eEgwNTYza0N1?= =?utf-8?B?ZkdZL1ZKNXA3TWhOS0RXRTBwVmNBOFBxcEc5K0VteTEwYnovdVVkR0o1QUs0?= =?utf-8?B?SVpjck10N1lmcjMyUXdUbmY0cU9xVFRqR0dGZC8xUnlBcUhTYkhSNWJFMnFF?= =?utf-8?B?VWkrVHpOWU04Z3RYODUvNmlLSXBSSjc1L1pGRWh6cjd6cVlIZnkvR2EvNHFU?= =?utf-8?B?eGhIUVBmUkxSZytiSkR1ZFlnQlpkRjZzaWhEaW14QlR5cWZMMWpwbHhGRTFU?= =?utf-8?B?TUhNK0hOMi8wOHFVTjd2U1h6OGtVVFROc2lGc3piYVdWV3kwYWZtRFgyN0VB?= =?utf-8?B?eEkzK1lrVXUweHhhdjZPUzhmeWpGUVluN2RRai8xeThmT29mc2cyZUliSEZh?= =?utf-8?B?SjZkRU05bnFPSWZLdWFuSWJ1OUFsWjdUQ3I0UldpZTZ0bU1OOFVWODBvQ0lY?= =?utf-8?B?WGhHWm10WlBWNUxnWWUxTkQ0a3FzTStXdTNDMjc4Vzl0QTFCQzl6cGNyV0pH?= =?utf-8?B?UURXTFQvNnE2ZkZPRTVtRmQ2MDg3YzBKVU1DRzBYMTFJY1d2Y0ZKdm9iSCtY?= =?utf-8?B?d1JlbnNzbDV1YVgzNTdsYVhlOWVoaHpydkV1aVltMUE1S0l2eUR1c21hWWVk?= =?utf-8?B?RWhYKzVxMVRVVEwwU0tNdW1NUWZxMUJqN0F3T0trekpBT1BKWVNtdWJRcHJX?= =?utf-8?B?SDhJMUFwMFB4bE9YWDJlSHBLc2oyTkhpUGllRjBmaEZ5VHZ0QlBaOHBMb2hh?= =?utf-8?B?YnlVeDQwZEk4Nk9wUzIya1lVekx1KzNVMVJJSXhWNENFcmM5dExMSVlsWU1x?= =?utf-8?B?OE0xRklJOXJld1JWWWlzOFBoOU5hU3hQQzdVdWFQS0VmQkZEeU1DR3V2WGZw?= =?utf-8?B?WUFsMEpIMjRGZ3ZFUkE1U2hhWGxhaDF6RWZPRXdaZDNoQWt2cVkxWjc1bElK?= =?utf-8?B?UDdFdmNaMW9HTkRycEFWVWR0dUtkNFl5QXZzT3lVeVdnR3g3Z2dPTmJYanUz?= =?utf-8?B?VncvZHRvbDFBRHQxNmRaYnk2anBpVk5uajRjMW9lVmh4U0VhMm5pc0U2OTkz?= =?utf-8?B?bmRTUSt4Nk1reUhyODd4ajlicjhqOUlzM2QyRGZWRkI3ZmtCL2pIelNEQmtj?= =?utf-8?B?L0xzT1J0VU1xRUdWc3NiN1ltU3NEM2ptSGtjSmxhUG93ZnZmc2dYdmdoZHdL?= =?utf-8?B?MXpsK21vTHYwSEwyMG45c2hrYVpYV1pycnVrOFJQYTlsWlZnOWl3M0QzeHho?= =?utf-8?B?RHdFaXJJaEowNnFra0JtTEhidENTRExrWDRhZjJublpmMnRpUFN1VDZBMzFI?= =?utf-8?B?d2VrejlUVFFuTUpZbHN2Nit6eVh5RkQ3bndqSXVuWE9HVGx4V25heVJaeHdR?= =?utf-8?B?dk45QTB5RkdKSk5kbGowVWNKQWVuUEtidW80MEV6bjREamFVY2c3bTRjL2hN?= =?utf-8?B?Z3RJQ01kQmtRdDU2MGlFbFFLVzNrbEtiaEtWa0hmVlNaa1B5S05sUHpMcWlJ?= =?utf-8?B?N3E4eE4ra1E2NlhqanVoOTliYnFXSXMranNKNldKcXpOTEJ3VmFCc3VGRnBN?= =?utf-8?B?MmE5amU4aTdxQ2w2eU5jMWpCZHFGQnh3cmY2cTFIMllLekJKb01Dd3ZMeisy?= =?utf-8?B?YXV6OU5jenBwQWlrWWtNUkZKN1lxbnptSHAwQldQL0NUeGFCejBic0FoZXp5?= =?utf-8?B?dTFuNExzdmJaT1haMXBmQ0VlMGNZL3VvS28vNGpHMWU3bHc9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MTZhektVV24xWWVVVVdjQWdvbXhiR082WVV3d0oxY3ZFQytEck12QldyUCsy?= =?utf-8?B?NWtOZEpMa1VrSzZuLzYvSmJwVGlKL3g1OWxYLy9FUExHeThxRXBzcnVnSzVQ?= =?utf-8?B?UWR6d054MWpqQjZoekM5TnRPWFZvRTZwcXczYTNaVE5SWFBycE1WZnl1c0NZ?= =?utf-8?B?TUhuVjNUR1VzQndmZXhuRi9zMVcxRHVUbGh0dmZGWm1jWktRN0pTN3VMRXh1?= =?utf-8?B?ZXpjSHhpbS93aHk3ZFVjemlBTk95b2Z0QjZOZUJ4NXIvTmlpMkw0eVdrQXFV?= =?utf-8?B?dndlb1ZrQVBCc1pXNnJNMEVRL2ZvRGp1bE9wNmoybHRxKzJRcyswNGw4c3lo?= =?utf-8?B?eTNqbndOTm1UcWlTUzJwQ0F5ZDhPUS93WlBkTXZsZXdJOXJkejI0ZHFHNHpv?= =?utf-8?B?REQ4UnkvUG93eVdWY2tEeENwZnBYblQ4VUVNMlhmbnpPSnNkcjcwVFU3MWVJ?= =?utf-8?B?Y0s0VGtBUmN1S2tVSndSZTA3M0ZmNWYzTE80clZ2N2YzQ3QwaDU1YXNFOXlH?= =?utf-8?B?WVBFZXFUK1NjNXZxU3d2YUZHZzM4WDlmb0NJbkpIbmlUMk9GbGFEYUdWMExG?= =?utf-8?B?NURmdXFCNEQ2eWVFUEZaS3BBaEI1Rm5GTzlSUzM4ZkpNU2FRYkNXcWRpMDU2?= =?utf-8?B?ejR3akNYMDdvTWIzSFN6b3lhc2lkUmsvRzhzRzNURzdEaFVDdFlVYXlHVEtD?= =?utf-8?B?cnljb1htOGtqWmdZVzBhenUxSEhHc1kxQTc1ZWUwUTFldjBLbkJhRUVpSlhL?= =?utf-8?B?eGZYNHJPNm4rc2tyMkFjWlRnNjRGWjBLNWVka0lLUzY2dm9mWXdId1BmZEtw?= =?utf-8?B?UmJqRUo4S2pJMlc0aVVLUjUrWVR2dE9NMzZ4elZwdFZRWkxNSHAvZTFzbHpm?= =?utf-8?B?TXBrc0R5S2ozaEhlckN1Tm1kK2M1YlhpdkNMeW45emlqM1VyK3NwOW9za1Qv?= =?utf-8?B?T0lGNU95MDl0SE5WRklzNUp0cDNWU2xLd0l0K3NCejBUTVRKQ2tMNWMydFN0?= =?utf-8?B?VkkrSDlIbjZ5QjhEc1V4OUY0YTc3MThnbk5vUFV4MWpyalA1TGp0NzcvTUVQ?= =?utf-8?B?MEJJK3VKUjA1dTJGZWpudXRaeUlzTVNFVEY4WThveEd2REtJMnNDdVVhQXNS?= =?utf-8?B?SnhHM2dxWWUrbitrbXVNUktPdHZzZkhjRlN2SkhYak9ONExDbUZoUld1RHVs?= =?utf-8?B?cEhZV003dW1oY0NhMTdYT2VpL3Y1TTZvd0RGSUZ6b2RCKzlRQUdVaDJ5T29u?= =?utf-8?B?L3pXSUFiNExqRTFUR1hKa205ZEpvRW1iQ0FUclFpRHNleER5SXJyNjZJL1dQ?= =?utf-8?B?Tm1UWjBjV1hpL3dkMm1lV2hhUVFyc21tWnFsMW5NMDFpYVl0OS81NlFCbWgr?= =?utf-8?B?NmJOWFBObE8wL2xaR2R4Zy9lLzZQYWIvTE50aFJDc01hc1doaS9NMVNSeXFn?= =?utf-8?B?VGl1RXBoWk93NjF1WkNXdG9uY2FqTm9HYTJ3QWJjV0Z3bXBLVDI5d2Nnekxa?= =?utf-8?B?ak56dmF5TVJYQ2lVelNUK0FWeUVmRXRDaFhHSjJUbGVOdlNMbVc2eW4wbW9h?= =?utf-8?B?aEVPU0drNmVlbzFzSm1xYTErQk1mM2NTWHMrSWNCZllibjh5c2lsVml5SjFY?= =?utf-8?B?ZjBvZytxMVdzdHV5Y3U2bEVzT05vMzJySGpGK0dxT2s4djJ4MzJlTXJyeUdr?= =?utf-8?B?MVZIS3ZGODJEaXRxcC9KWG94M3lWVWxSamxNeTRQajdUdjA0OGRIR29JZTBW?= =?utf-8?B?WjRnd2FnWk9UMnNsQ3RrMmxHMDhWcnNQdE5sc1dhRmlDaW5pQUZTNDlWN3dW?= =?utf-8?B?Zi9NenNTNHJEMWpNRDlDTHFYYkNONGoyYXdhamhjZTFkYi9mU21UaXdlRGxu?= =?utf-8?B?d0JJZG5BOVlTV3BnTktyUXNzSVNWTm54RGluWnN2OW5SanpjcVo1Rkk3ZFR5?= =?utf-8?B?OXNBSDFCTlo0UHFnbjA0dDBTRFRDNmZIRnBLMXk2emZrMnZTcUJEc1RjK0Ru?= =?utf-8?B?cFQyYjhwb2hBYjJZWVJvTkZ4dnk5eW5yWG9yUURXYU9CMVdWejhVZVpYYVpS?= =?utf-8?B?US9BQkV4dTM4MmVYL0Z2ZGJmS1cyajl5bzlPMjNHeFJ1SFdzWU9VSjAvbDR5?= =?utf-8?B?bmJvRFBHc281U2dNMnBiYTZZNzhTeHduOW5xWDcvNVdRUkVZRzdQempKaEJG?= =?utf-8?Q?1TIKYM9+rpM24qwUV9iNPt4=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <2BE87F94565FFF49A948C8539823297B@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: e2bc0892-3e8e-4c26-8fad-08dc9a5b2ec2 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:39.6479 (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: uhg09Kd2X6ywVl7YoQ+6z71SamWDz3un5KD480oBODLKf7OfwyJFVnGwJ8wwIVHe6E86KfNS25QWkp/rg02OOHi9xQJBbtyWit87lakDFLOebjH2xABw9WecUkocurS6 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=80.78.11.85; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost4.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899700643100011 From: Cl=C3=A9ment Mathieu--Drif We add a convenient way to initialize an device-iotlb notifier. This is meant to be used by ATS-capable devices. pci_device_iommu_memory_region_pasid is introduces in this commit and will be used in several other SVM-related functions exposed in the PCI API. Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/pci/pci.c | 40 ++++++++++++++++++++++++++++++++++++++++ include/hw/pci/pci.h | 15 +++++++++++++++ 2 files changed, 55 insertions(+) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 3fe47d4002..7a483dd05d 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -2747,6 +2747,46 @@ AddressSpace *pci_device_iommu_address_space(PCIDevi= ce *dev) return &address_space_memory; } =20 +static IOMMUMemoryRegion *pci_device_iommu_memory_region_pasid(PCIDevice *= dev, + uint32_t pa= sid) +{ + PCIBus *bus; + PCIBus *iommu_bus; + int devfn; + + /* + * This function is for internal use in the module, + * we can call it with PCI_NO_PASID + */ + if (!dev->is_master || + ((pasid !=3D PCI_NO_PASID) && !pcie_pasid_enabled(dev))) { + return NULL; + } + + pci_device_get_iommu_bus_devfn(dev, &bus, &iommu_bus, &devfn); + if (iommu_bus && iommu_bus->iommu_ops->get_memory_region_pasid) { + return iommu_bus->iommu_ops->get_memory_region_pasid(bus, + iommu_bus->iommu_opaque, devfn, pasid); + } + return NULL; +} + +bool pci_iommu_init_iotlb_notifier(PCIDevice *dev, uint32_t pasid, + IOMMUNotifier *n, IOMMUNotify fn, + void *opaque) +{ + IOMMUMemoryRegion *iommu_mr =3D pci_device_iommu_memory_region_pasid(d= ev, + pa= sid); + if (!iommu_mr) { + return false; + } + iommu_notifier_init(n, fn, IOMMU_NOTIFIER_DEVIOTLB_EVENTS, 0, HWADDR_M= AX, + memory_region_iommu_attrs_to_index(iommu_mr, + MEMTXATTRS_UNSPECIF= IED)); + n->opaque =3D opaque; + return true; +} + AddressSpace *pci_device_iommu_address_space_pasid(PCIDevice *dev, uint32_t pasid) { diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index ad7bd2ade5..b2a9ed7782 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -458,6 +458,21 @@ bool pci_device_set_iommu_device(PCIDevice *dev, HostI= OMMUDevice *hiod, Error **errp); void pci_device_unset_iommu_device(PCIDevice *dev); =20 +/** + * pci_iommu_init_iotlb_notifier: initialize an IOMMU notifier + * + * This function is used by devices before registering an IOTLB notifier + * + * @dev: the device + * @pasid: the pasid of the address space to watch + * @n: the notifier to initialize + * @fn: the callback to be installed + * @opaque: user pointer that can be used to store a state + */ +bool pci_iommu_init_iotlb_notifier(PCIDevice *dev, uint32_t pasid, + IOMMUNotifier *n, IOMMUNotify fn, + void *opaque); + /** * pci_setup_iommu: Initialize specific IOMMU handlers for a PCIBus * --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899715; cv=pass; d=zohomail.com; s=zohoarc; b=RVgHXMMalG9bmuYFGwSYrQphf4rXjTwP9gxNUnRFMs+09Zx3DwaP78ZapRD0uyPHm/l8y/RxeM8SUt6pVx/bDo0RC096bgRNKtiGzusSwYss1Zvt73uEVahc40cabEKS69mkcQps2wYr8FDPP2ulw90H2tX3lY0e6R30V8J+LUQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899715; 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=gndVGnQ0yhI7Q6zNslmfKh73Db8IPGJBxr+71XFsimc=; b=UIFvOOg/B9KnlDIkbWFmavNBUTUcqrG82vZIaG0JP9YhHKA7o6m+jARqA3bsPYJp26qEhN2dEzrMdfhcxh2nxOguDkPH53K9XcDI57+gu1mPwocToiG24kJ+UIqVnMVgWhH0DntOsFpGioIligqiY5GCDVklSn8jkbCRo9jmnVs= 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+importer=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 1719899715598171.16173437352302; Mon, 1 Jul 2024 22:55:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRb-0007y7-Br; Tue, 02 Jul 2024 01:52:47 -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 1sOWRZ-0007wF-Ho for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:45 -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 1sOWRW-0006W6-VD for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:45 -0400 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 Jul 2024 07:52:43 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:40 +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.7741.017; Tue, 2 Jul 2024 05:52:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899564; x=1751435564; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=gndVGnQ0yhI7Q6zNslmfKh73Db8IPGJBxr+71XFsimc=; b=flHO/P4GhcdGYbrDtgII5OxTIjMlxP1lm4/Zn8NExTWu3k/f9gDbwcSv FKBQJM0nn25nwhZDt3/rIPpaSZVaAdgaNvFueHpAIVuGYUhUB/39O+Gn5 EQXAXEmydioAt7MvUrs4mLTCyppasvgDsVcNWWTYUHoFI2IIlnzE/Uo5q dofCIv8WNmvxhQs94W8+/rSgJvFoxksoiNTmGBCFQRyKgp1GudQO7plfz EhqHW2JBnHLPr7uQ4g/x18OLVvN2zl9HJ2zjOIWlZ07z3uWOGb1nDgLyp flPUT7AijTXNwlOc64lC81KN0oJMEw8UCd3A5aE+3LqiCMSs+yGLTspZH w==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15715677" X-MGA-submission: =?us-ascii?q?MDHup0X8tWdU1qT9C+wqgxCh8K+jzmetLyw+LI?= =?us-ascii?q?iuawvrTde+WxcMDv1367XYaB70knAaUiyMAnMCKZC6CYDiNkimt7ru9x?= =?us-ascii?q?oPtaVjB5Duyw6Ol2cCsnaZfjYFqMr0P2VLTOgzBAP1Jy6juyiW1lGje9?= =?us-ascii?q?Mhx8XPeN/zsiLtlMWCqHZNzA=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=asq0WtvkEMsA/989SPjszR68rB0COqx+26HVQkUvAzq33A+3785G7BaRqPppCZJKex9T9tWluAT+U0thgMFBYUo47AHanhTHf0DO+cCC8J22HNH/QCXqcJg4QVpE2hzD0qlt1fbm8z3PsHLEOqwonKKLoO2wOEU/IQpImm00R0izhJrAVXG7SOWJ3b5h8OWbwUYYYJjJN/X8P4VDE2ijjAzZuN4PwvmKQ/5VXI+n2W+HjpkUUf8W/frqenJwfa3ZomTpiNv8qNcPO0jIcEVyOCRSkTbTQye5tvczkuehlExFvBTvl7KPOqSjdGxFWpEH5rwAEsv27gKy6WJVrp36Fw== 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=gndVGnQ0yhI7Q6zNslmfKh73Db8IPGJBxr+71XFsimc=; b=asaXQYDa+NXMZ0W/0sXxKkWdB0c+Eu7HVHtyDc1MBFmYk8iDlgkKE/tvw4EL18xEZt/OSqEfsK1w8YkqOTrMsYuiX3SVCnYnJco7+PWHmJ9xWqu/pzWaILy8NMsEVOV2Ryeb5atDZp/TzZneTdKzKh0nM+z9+7uIekabEpIb4bGzBJuACwjO9yOFB5qfl7qB72n+mxqLRKhK3AoJrdXQtKeYY51Jt95pUFWjKkfWVpqfGtwSihehQiLoHCUjc6C29OTqUbIOFN1qm3AX8KQCevbRoOHM+qQBQzgVdSrXN2IddIdgnH7XnlvmdG6G3Vay35FUw4hxJShZCjLlUrGYiQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=gndVGnQ0yhI7Q6zNslmfKh73Db8IPGJBxr+71XFsimc=; b=PB3FrS0BmEcsvNKZbYb9rsl/YhOlqUQ8ZilsSqnrjqlLrP2+fK8WfPmy0yJLN0jLOrkU/hBqeN3BTdv9w8oLw8pmcgK0ZdiSQouBEq4XCbNFS5vSOIUAVqGgV80HmQfiAjlmbTCFlZOQ5rpPEgiLpf/iBADegYBk8d77XXKz3sJ1E+17hyY3A6UJbKefgHZiRH2IYCS4qE7dvWSL7ZE7eb6M9BYTaidSU1bE3PNWcyHQixmkqVCPUTXQFdxyOI1AnbOmfPZE6NjZCJSBxt/rs7H15306F4TdPk8zoKGosurehjNDH8acGr5y9gInnIgcvQC53iBSIKS9m0Jk0bZPog== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 13/22] intel_iommu: implement the get_address_space_pasid iommu operation Thread-Topic: [PATCH ats_vtd v5 13/22] intel_iommu: implement the get_address_space_pasid iommu operation Thread-Index: AQHazEQMtbnEG0JMpEOyFP0rSHT39A== Date: Tue, 2 Jul 2024 05:52:40 +0000 Message-ID: <20240702055221.1337035-14-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 4fb6b0d6-efec-4c19-8692-08dc9a5b2f2b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?V1dEa0l1SFZpaW9vLzFuSS9Eem9JUEU1blZQQjlpc2dzR3R5ekpOYkoxUURq?= =?utf-8?B?SzhUVWN3dy9NWnZScXFXYlE5TWRpQ1M5eWlJVitreTc0YmZFVzZiUVRrMHEr?= =?utf-8?B?b0Jna2dBZWN1L0ZnQzN5VjV4TnV6MHQ5WTdEdHU2Y0NyZzdJc2g4RTdTVThy?= =?utf-8?B?OXJheDZ1ME0rdnJ4enpRNjA1ai8vUnVHaEU4S2RHTUxKWHlyeG5PYWJyaGow?= =?utf-8?B?WE41RCsxRTc2MFp4S3ZQTW1LT1Zibmk2NlFSclJ2eFpWblRUaHptTnhpSzU0?= =?utf-8?B?TGN6aWI1NzRKc1dXUWo4c2RRWjR3WFdqd0NXNW45MC9ZRmFrS1lRWjc1VGVv?= =?utf-8?B?aGJzemE1WVhxZk14TDJEK2dSZUs4VFJRN3RNT3BuWTJrenZZM1FnRGRMNVBG?= =?utf-8?B?d1JsN2MzUms0TFREclBuUzFEYzF3RmIzdFRlSUZzS1Z0SHFMYjJlRkxlZjZs?= =?utf-8?B?YTlPUW8zZVhucUxJaUxvakVDUDBTVS9ld0xxSHgwZFNrQ2VpZ0w4RDlvcHhT?= =?utf-8?B?ZVZKVDVEWi9wSHpxSElXVnByd3BWQkF6N2FWQkgyS1gyTUFORWlBaHFBeDhG?= =?utf-8?B?Z2JSeTJNYnM5STVIMVpkSEZvV3FwUDM4MnAyWnNaVE9FREh3YW9GUWp0aDJ0?= =?utf-8?B?bENXS2hiV3hFQmhUWTNlZ1JYck1LTnFxUUxVOThGNFRFcE01bWxzVGZXalcy?= =?utf-8?B?d1JoNjFGeTV1MmlHRHpMa2JDSFVyeUI5RUpabnhBYXhkVkEzcWNkbWlzSzV4?= =?utf-8?B?UExscm5YVkNRdDZLQ1Zsb2ZSakNrb2wvVU43RFdaZXRPL0JxU0RqdTZtM29V?= =?utf-8?B?amREM0haL0pjSWtkNlhNajF4ZTRjcUxtZTlybENBaU80THoxR2N4WGZpaFBI?= =?utf-8?B?MkM4UzFSVk1JcFpMZG1Hc1R0Y3JRQjJ2RkZkRWJGWTYvQ0h5TEllZzcxQjk1?= =?utf-8?B?NDNoVUdkTEpsRHhIMnNsditUcmRtZHdlQ0l3VXkzcEUrZU44NHNZbVpSeGtZ?= =?utf-8?B?WkRBL21rbEh3eHlZUUx1RHVhYlNNbmFoT1ltVG0rcUpUcnN4dG9LWmdHOXJJ?= =?utf-8?B?UERZWW9QMnhZdzlsamh1SDYwVFNhcXprNkZnM2t6OEZsVWE5Mm1EODJ6MGEz?= =?utf-8?B?Yzc1WDkvd2NSeGRwaEdqVGQ1TVlUV3ZmYWxXWU1BRmlmK1hFUVhNT3c1ZTVT?= =?utf-8?B?b0YzcDVNRGViZFVCc0llOEl5V0ZIcU54SHZudDIvUFNTbW94ZEQrMzY0eVpG?= =?utf-8?B?eHAyTlRNaU1Kck5PWjUvUmwrRmwzT0F5NXU5T0RuZ0kzUVlaSXY2SG1VZ2x4?= =?utf-8?B?emw5eFJNZlJML3M0TEF4alNHR01wTXhVT0U4L0NDRTZjV05wazg0UDZnTFdG?= =?utf-8?B?RS9SUHppU1l0QkVrYlUyQlBOSmloTmdZUy8xVk1pcS96bGVGMUJoS2ZnVHlP?= =?utf-8?B?eENPbHgwK0o3dUc5QkllZk4wYUFCVVc5Yi9ya29EZWRwV0F4Kzhud3dvdGRS?= =?utf-8?B?c3JDTTFGWG5Hb2NtQmhKQ0RYMHgrUm9EZHIwZUFkaGZja1d5YlpqUzhsSU5R?= =?utf-8?B?MTROZVBSRnh6b2cwNHlkNVdib2d3a1BpbVJ6dkUvUHBrMTNpL3BkU2lLdHli?= =?utf-8?B?OFgyN1FjeHh2ZkdJSGV1cGpvOE1EOEliUUloMHpTVHh4S29NTDFqUFRXblRK?= =?utf-8?B?T0MvSmlRaVQwb0dFcmFwMUtvalVrUkR1dVpadjVkQVdGSVJNN3NtWS9CN3F6?= =?utf-8?B?czBseHFoK0syTU4rZ3dZZUtFRzJHckVxY2lEOC95cDV2NlR6QlkwZmcrcFRN?= =?utf-8?B?ZlYzQ3dkUWJnbE55ditNVDNmN1NqdW96TlFmRENJdnlrWjE3aC9zaFlIbEVs?= =?utf-8?B?dG9LN2xYVGlJTVZFTXk3RDNDdStlc3FkU1RHN3UyeUxYdnc9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?M203ZXpUWXJyaEJ2M0U5bmpUbzFwaUk0UE1YdkM1VTFMeDRRYkpnUUhtbUNw?= =?utf-8?B?QzgzVVNzWlBuU3IxbXd1WVdEMC9uT2JLUTFaNWdicG44ZDZhaGpIdXpPTm5F?= =?utf-8?B?cW9EUG1namMrUEZLWTloWjI5YzFGK01OQTRuUUVJczFCd2pjM2x6UWpTb09T?= =?utf-8?B?V1ZnR3BHcTVKLzVkdU8xSnVyYzV6a201MkxPQTNKZFRtVVplUzhSS1hxeFRk?= =?utf-8?B?VEZQQVNsVzlZTEw1Z1p1RS82dUJRSUZCaTZZNk1HZmZweXN6eGoyb3FUSlVF?= =?utf-8?B?bUJWaE83WmJ1dVdudUliUnAza3JVekkvb0Z6OEk2dGdzbHBSelU3Z2krNzZv?= =?utf-8?B?L2RJMkJjN1IyOVJ0VUp0OUJlMkRwU0V6TFNHYVZnRUdycG5iVldSc1FNMFV1?= =?utf-8?B?SFphYm5DWU43YVlJREljTmtWOGJZUnNSaUZPSEoxdGI1eVd5bHFYZHR4SWRi?= =?utf-8?B?RktLcnYzWHhjU1Y4NzVMZ21FZG8vSmR5WVE0dUQzSDQ0RmlKWjVMK29OMnhj?= =?utf-8?B?bXhjcnVSTHR4a29zTERIcFBBSUJWVzJUUzRBL2RQU0oxZEhRZ291bUtnd0xJ?= =?utf-8?B?aGZzY1NTNmU1UEVNek4ycmVwd1NCWk1pd1VUMkJlQ1hqT0FPVW1RV2ZwV21G?= =?utf-8?B?YXlmbjMvOXBxZ1pLOHRoWE9wUmtJM2l3c2dHZmdPb1BuR0VDODhsa3Nmc291?= =?utf-8?B?R3E3OGY3dmIxR29xRkxFL3BmbkZXM0V1Vm9lMHg3QnUzMVh3Yms1bUhoS2di?= =?utf-8?B?S1BZdzBMakVGMTZIbjFmUURVb3JRUTJocGlJcWkwNVpCYUxMREhPNUtOamk5?= =?utf-8?B?WHEyblIxR1hDeksxZEVoOTlad0hrT2xKYzQ3Z3h5LzlneUtaSG93OWxPV0NR?= =?utf-8?B?T1hnZ2JSWGdsdVBjckluOWtGNUpwM3d0Q21zM0FZS0tuV3dtbm4xZXpNNVlm?= =?utf-8?B?WTlPYnZvUU9ybC9oOS9KZW5zT0FMSkdiK0UrWE5ETWxBTXk3dVE2Wk1KazI1?= =?utf-8?B?RGhMOGdTM3BkRnlxcW5zWHdyZEtrN3BXNUZRSmJ3a1BkMzFaTmp2a3pObjFG?= =?utf-8?B?alN6ek1MYzNPbW9SS1VvRXhyM0pyUVZ1OWNpQTg0VVNRK0txQkNDQ21seWls?= =?utf-8?B?eWpTLytVRXFxcEJ0dnFLekZqZmVOSVhTZVc1RlNja1haY1RIekdncVNISktO?= =?utf-8?B?c2NVaWZBQ1dUNzUxT1RJUjB6V1pNZGpORVFPbHJ2L1RaYW1TMVNpbThUdVR5?= =?utf-8?B?SWMvdXI2dlhmVWx3bG1VcW1XSFhyREdGa2V1Zm1aQmdxeWZmV2RQcTFMZDJV?= =?utf-8?B?ZTRVbURQU2hpN1Arbk5XNkxPUTJqbmppV1A2c1gxams0cyt0K2EvU1ZEMS8x?= =?utf-8?B?R1RHZHZoL1MrSGpOQW9nSXhJT2tmRTFpeU0wVEgrbUJTZStNQkc2ejVZejla?= =?utf-8?B?THdhdWF4MXFncVRRaGQvT1h0aG1IYVRkMmc0UFdseTZjaHBuOTJvNjNtWDVu?= =?utf-8?B?a2ZhdURjRGxiU3dMWm0xeFlNY1hLcFFSY0VOU0RrVExrc1dXenFRVEtheTNj?= =?utf-8?B?aHcyV01WVlYrKzdCbWpSak1uOW8xNlRBQmxvalZxdXI3YkFGY1M1U0RTU0FQ?= =?utf-8?B?Tk5ZS1daSnFxSjk5ejlidGo4bG1MSTNlYXNFay93Q1JUcnB5UWtpMmFmWmhj?= =?utf-8?B?Z0RLL2t2bjhQWVFIU3Jva0kzbCttRDZIN1ljVmF5WWpXclR0VjdMR2ZrbkYr?= =?utf-8?B?U0VTRGFmNE5UZXVBc1pMa2xNWTNETTIyaEE5M0llMldnd3NObC9nUmZWQjRx?= =?utf-8?B?MzlhNGtTNTFRcUx3RFNSdVN5OUx2akJ6ck1XU296aEVLYjVqRnBFVld3M0Rt?= =?utf-8?B?eXVQVHlwM3BoZDVrY1ZqZ01uSkRwOWFjWEE1NTFrVUhxR1FJWmdhTXBSRWZo?= =?utf-8?B?SDcwbnMzVTRaUmJVNjdxYXNIb0ZMd1F3aVhzUXpLWEZraHZpMExIeFVaV21a?= =?utf-8?B?L3llSUtqZVpGdzZ3ZS92TGhRcS9JeFM5Q1IzcjRhWWpoTW5rWHcwcEJveTAx?= =?utf-8?B?bVAzRWUvSmo2Zk5odjNkSVVkTTNxSGl6Z1VVdWEvSGt3NFdDK2RTNlN3M3Nq?= =?utf-8?B?ZGJrdjgrMk5HR1VBRFZERUtlMk1jMnJlYlJDZlNZdlFMZmY4VnArTkZFa0I0?= =?utf-8?Q?SrutrhulPcPNF5xPo5VPTAc=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <9CEE5A1D32E9BB4AA6BB177C4E8FD4B8@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: 4fb6b0d6-efec-4c19-8692-08dc9a5b2f2b X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:40.3276 (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: pQAyR47ixP0QIGn1Ki/ThVxipmk9RHFCSdv5JcapuyNroH0JdHNMFMWh9oQ5hcstDHVg/joDwx3PI68/IjPMV1IsvTgsUS0VbeZkYxeLqQgFzGgT00RnZbsU+Q1OvQqf X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899716621100003 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment 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 2a78fc823f..e047d2ca83 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -5438,7 +5438,7 @@ static const MemoryRegionOps vtd_mem_ir_fault_ops =3D= { }; =20 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 @@ -5995,19 +5995,26 @@ static void vtd_reset(DeviceState *dev) vtd_refresh_pasid_bind(s); } =20 -static AddressSpace *vtd_host_dma_iommu(PCIBus *bus, void *opaque, int dev= fn) +static AddressSpace *vtd_host_dma_iommu_pasid(PCIBus *bus, void *opaque, + int devfn, uint32_t pasid) { IntelIOMMUState *s =3D opaque; VTDAddressSpace *vtd_as; =20 assert(0 <=3D devfn && devfn < PCI_DEVFN_MAX); =20 - vtd_as =3D vtd_find_add_as(s, bus, devfn, PCI_NO_PASID); + vtd_as =3D vtd_find_add_as(s, bus, devfn, pasid); return &vtd_as->as; } =20 +static AddressSpace *vtd_host_dma_iommu(PCIBus *bus, void *opaque, int dev= fn) +{ + return vtd_host_dma_iommu_pasid(bus, opaque, devfn, PCI_NO_PASID); +} + static PCIIOMMUOps vtd_iommu_ops =3D { .get_address_space =3D vtd_host_dma_iommu, + .get_address_space_pasid =3D vtd_host_dma_iommu_pasid, .set_iommu_device =3D vtd_dev_set_iommu_device, .unset_iommu_device =3D vtd_dev_unset_iommu_device, }; diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h index b32d711802..e334a3de6d 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); =20 #endif --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899726; cv=pass; d=zohomail.com; s=zohoarc; b=gSqXDEUAJgYfEUkBqWt2BZcjTXMADnmKokMk3EQ6Lra43S+JTJr4KtL1xbKrWVFXiLnOXT4bGpZY6iiQAWTR3KxPVvLQ7sePq5TLDtIA2XmwU0nGaJAWCc9x3bu6JdgD1MjrFPyDtQ6C1Ieg2aBMTp0osAblhVOIsDjAJ8+EmqU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899726; 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=iQZ8LUYTZUklKaeRuFrltuVPELET5rAe9WchMbRYKbc=; b=R9tPrbWM1Hq2AzFOpRTrN9GLnpA6ImThkkYI4f9GHHhRHAQLF65PXrxBBfzTf46lUapa62cNC8pkM9ICniHv45Xf9ZuyzQbrX+RW91oXBbvpfhpowNc1CIF2c1MwRWLiBpMJ4Axu2+HITtZDWnts+d+FH3Amzznu9xWFeF96blc= 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+importer=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 1719899726542791.7479570523295; Mon, 1 Jul 2024 22:55:26 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRf-00081U-Bi; Tue, 02 Jul 2024 01:52:51 -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 1sOWRd-0007zq-FY for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:49 -0400 Received: from smarthost4.eviden.com ([80.78.11.85]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOWRb-0006Ul-Dj for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:49 -0400 Received: from mail-am6eur05lp2113.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.113]) by smarthost4.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:42 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:41 +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.7741.017; Tue, 2 Jul 2024 05:52:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899567; x=1751435567; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=iQZ8LUYTZUklKaeRuFrltuVPELET5rAe9WchMbRYKbc=; b=p30yJ1oOxoyX7O3IUUQLY3MrQR/J+FJ82CtmkzR+mRP4IGkSYc59kLTD M02C4YkTpwjlXSoTn3OJ/OI5t/oKKXySRESpLthN5KlL5h8mQii5IjFwR f49ViQF+9mz9YocsSCK/bfqfyo2va/3F45STRUzjjbeeQ8iMnAZBMWfLA EdCGiS2fNdnE/JXErqcZ9xdmayuKE4YBz5DL3jKpFdezd5TEj+Gi3paNr WL0poavZLL3r6r482xuPskrbxs7DIYZ3kSlNqOl9n1JTB+c79pHX8sn42 +a7EgElHvs08W7bQXfWFMbHyqO/K6lVvrYPA9MdgLjvdn0VBvpMKVeFz7 Q==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15813268" X-MGA-submission: =?us-ascii?q?MDFw91toBX7UOyo149xQV8DoBLZdIXyMn2rKy3?= =?us-ascii?q?NVwESrMKn9UjGlA6xYP3YYrwVQKErlMKIrFtxLuv5JB42pJ5ukAJ47Ym?= =?us-ascii?q?Erl4h+tE7Jf36tc6o4SJzcU9s953N/+lh3w3YjbFDQzCvQV1NiJv7sqt?= =?us-ascii?q?Wb2vlUI8qHqKizuIUKMmPyKw=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jKMGFd+sddORh9r7yOvN5bIP36I33pPm2ZrShhbEvNeS2zj1ubWTNi+oQppGFGaPb1JpkBhW2LNpXXCTa2DSsfEsmVZFojsj8MTxbpxB/dw6sXKI3M+ymYcFx5JIl+Iekle+ifUzh9o2U3YjVg9Wer3sVbJ6YLgbsceiA4mdU/b5GUM6ch+1g246FN/XVwsvA/5LXI/GtVLa//e3xVhweUnuTLQYlmXb9uBZHSklt8EnMVgEqHAP36750OQeIoYYGvu+Cmp3PM8l5LRCO54ueNdC9CjR2jJVFxQFaNeRUYUkel8B6eskKhooz1VloK8dF09spc+ee083g5dnGMOBLQ== 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=iQZ8LUYTZUklKaeRuFrltuVPELET5rAe9WchMbRYKbc=; b=grVxYb5wNQX7vTLBvvA+aW86JqVZpk2AqL7aDjqjEi4lsFrTP8eQgztEoyJSJngaTRfCx2iUG+5X4A5gISKvSIFOats1pcNqoyGP6JDuSbmcjkgYp3yTOrWRyHn/53Xmc184w8eEeiWfn+ladtG3eWQ20Cnc1fvmoM1ggRoYUFxcoieFTQBTs3tcCA0LvmCtwloTuMaIl67vNvGmEq/jIJ2pQ8ypXr+zutg6hATMx/TGdtI25MUO8Q4iykkSlCplph4Gnre80pGQg9lCaYYJASq5WKpzZcRoJjENd8u+ZZi7/Nr83rC6DhmQSps6XCuFZgIgjKWqGnqtI2IsI5wJQg== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=iQZ8LUYTZUklKaeRuFrltuVPELET5rAe9WchMbRYKbc=; b=jBaKtcaaFpzETPEW5rGWGTujnHKhlxdrEvcEc9KSC6A/AAqvA8pNLQwQgmmv3reK2ICnwmTH0S/+nuDmHHpBTrsWNR+S3VI3uPD1yHNBLVxjomXUk3HZfY+MKC2Hsb7BP6ymvZJLuY+qbbspyM70izkjGt00FKkUr24WzWDlNvr+LONdFYaQsG45JwHzJlhWEyemzOS38VfWxenIQq7Yr3FOCUBzhA9w/fUXfWF5zNL78pL6FoHwMnjd/E/zNo1CeH/H+oKvUcewxMKgG7lnsXhipMEv4R6/Dc6VzFgIDGgqmU8eVeoJUnAM1bFctQAYbvl9OttCw+i2UYOivvuChg== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 14/22] intel_iommu: implement the get_memory_region_pasid iommu operation Thread-Topic: [PATCH ats_vtd v5 14/22] intel_iommu: implement the get_memory_region_pasid iommu operation Thread-Index: AQHazEQNLMlXcNcNXEOjFPH7XeKvtA== Date: Tue, 2 Jul 2024 05:52:41 +0000 Message-ID: <20240702055221.1337035-15-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 70656887-d168-4284-65b5-08dc9a5b2f94 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?VzN6aGFjcStEY01sV3dXdmlqQjFiN1N5VDFvQy83bUJPVFZmcnNSNEIvS0lK?= =?utf-8?B?ZlZLUHlNMGc5QlFkWDYxeHJWQm1UNzBBdHhzQnhsRnA0Y1BvSHhWemk2bnYw?= =?utf-8?B?R0xEZFpEdkZKRXEvRExYdkpXdmJVTkp4NzQyRXV4aGtzZmgwUmZWOEtjK09B?= =?utf-8?B?WEErVHVHUDVjK1U3NmJWMCt6VUxUZFZnbVlDd3ZhbWNIejVoSytqbTFUdk1Z?= =?utf-8?B?V2NMTFEyMWJWbC9aWlZJK1BiNmdNN21pUHVVdmRkelViZkFyei9HSXVtOCta?= =?utf-8?B?YWc1czJzZjVqZzFKUXVMM29lYlZUMTN0WExKbGcyQVZOMnRJZmNEQzdmYTJl?= =?utf-8?B?c3I1S2tSY2RsbjdwVGdSY1l1V0JYNDJsUUhaU05ia2pJNDkzM09DUzBhTjBr?= =?utf-8?B?VzRUaG41RjR6KzYwcmp0akhPeTlQK2FWZXcwWW9OdDlGZmhCTkllY3hwZzNX?= =?utf-8?B?MHdhQnh4YlByMmtZOE9XMHp1NnVZVGtCK0ZMeFRnU0phOE5FRTl5WkRMRjAr?= =?utf-8?B?SUtEbDVHZzlHL2N0ZEtiOVJNdS8veHlrUTRlNlFaTVFCMjVCMGJGcnVGZ1lm?= =?utf-8?B?cGNMdFZqOGNaczJHVjBQSGI2M1l3eGY5R1hxZkcvVlpJSDc0YmExSkpJSk9O?= =?utf-8?B?cTA1aFpENHZpWit6UUlGM3VNNFZGT0xzMVNWOG9iS2VxU1drZDErUER1ODBW?= =?utf-8?B?Snltdm92eE1oZTBWbStoSmxYZ1Vhbmo0NUtYOXpudURXb0Z6ZUNIRnlPS2l3?= =?utf-8?B?RFVyRnN6NmlXVmV4NVh2YjhkR2YxWjlmaUI0YjFqKyt1VHRNWWJISStZUWlz?= =?utf-8?B?Ujc5QTdBbEVZdDRsTEIwaGFsczU5aTlZZGw3Ykw0Z2x0L1Myc1FlT280Z1VL?= =?utf-8?B?dm9QZlNvTUlEdVZLTG5BeWJhUjdWeng4ZlBuMkV5UWsySDdrOFFPNG0rTUNk?= =?utf-8?B?SkJiT1RnRGZmYkx3SlRTQmMzdk5yVHZVZFVjTDc0Z242eWNEcjBNNFE4bktn?= =?utf-8?B?czVkditHcW5yT1dHT3MvNU0xNzNqOG5BTGZwSXFKY3graEp4V1hQUUQweVgr?= =?utf-8?B?K0R0cytQMytOZnhtdU5rdGpaVHNmeWl2cTdGd2ZTNitrMFZkOU95TVczb0ZO?= =?utf-8?B?WEk0TkdwU0V4aGQ1S3ZTSVhaMGRLN0ZNSXljdFlOVno5RUlWNGlKMVdyU2FJ?= =?utf-8?B?TzErZDhFbkdVQS9tcG4wR2hGK3QxQ0QxZ3hYU1Y5aGk0OTRiNEVkZ1ZIV0c0?= =?utf-8?B?dTRFbDZJRHNtL1hXeEV3R1RUYXdwMXJjN3RCQnE3em55a0VjM3FyOTdQMnRL?= =?utf-8?B?eUdESHNMTm9UbmlMRWFyMElZdEd3U3JYMHpiRkYvc3hVY2krK3REZkJ0NjFa?= =?utf-8?B?S3ByYi9ybEdTQkFnNXlnWk12dHB6NlhHTFhWYWtQejNoaXFtMXhsYjJ2S0lt?= =?utf-8?B?dGI4MDNkclFjZStMbmlFMkwvZVpEVENPVFY5S09sVUhIRDlXb3FnckxxVVVo?= =?utf-8?B?dTRodVYrbjN4OG1WYmRkUGJTbGdKM1psdmdVU2xHdHR3QnVLclpRZGtWZG5B?= =?utf-8?B?bXBxc2l6TnJwVTY5NlpsNVFMWHhvZ0EzUmt3cTdETXJXNTNiQ0dqbDNzays4?= =?utf-8?B?OWlGOGlJN3p1cTZmN3dwSWNsSExzMXc3TmwvOG1ZbGEreVVoWTIyZTFWYkhs?= =?utf-8?B?VVdPSGkwZjJINFBNOS8xLzBpeEpoQXBDeHo5a05XNklNRFpxb1liWjQybW5y?= =?utf-8?B?UXF6NTk5c0FjSlNxaXh4TWJkc21NTVdUSDlFRkRWNHk0eDd1Q3g4VWR0QzhB?= =?utf-8?B?N3o4MnFiUDBmOHAra0dzamxxSEYwdEs1SDMrVEo3aVBGajVMRXlmZzg3TjVP?= =?utf-8?B?TG1Kbmk4MzhRWTZMa2IrZCs0KzJpdWYrTXQ0cHdLVHMvTXc9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?SUkzcDBzdmZXVS9yQWZldFJyRzJFb09VUy80UUpxNVFZQkN1dzFmNDR4Wldy?= =?utf-8?B?VGFhL1d5ekQ4WDdvL29JVTZ4ckFsSXg0eCttbTMzWGZFVWExMTVZQUxTdEFT?= =?utf-8?B?ZXlibDBtamw4MXo1TnJUSjRoZUhMTGhJNlRnL1pwVXlVUjFoeWFWTklUTzI1?= =?utf-8?B?NVNpcGNiVXpDU2VHcFBjUWNUQ1Y4ZGlTMGlJRUNQZTVySDllODUydncyYXc3?= =?utf-8?B?cGYvK3BaQzJ6NjJta1BybG93S3lydmVYNUV2cjdjV2E1OHdJczVDMHM0RWhs?= =?utf-8?B?aHlEUVV4NTRqNzZHbHdzMnZ3bXFwbldIWDZqY0h2cXBjQXdTMWRrRjd3TC81?= =?utf-8?B?K3JjVGJuclgvNGYrWW9pY2F0aFhyOHVsa21JN3NGekgrWUJTMXExMU9wS3hw?= =?utf-8?B?MmNWR1pFYk5SZUEvdWo1SXFhQmthL1ozQ3NkT2RTOSthWE5ZbU5xMU5xMFFS?= =?utf-8?B?bnpVR245MnFJenJwa1lTREJJT3J3cy8rMHhBajFkdER4MGFXcGdmbVRBa0Rm?= =?utf-8?B?RGkwaE5GU2xyN1FZZmJaRVUyRUFwNlZkODM3RFVhYzgzS3RPeEh4bzMyVkJT?= =?utf-8?B?WG9QWEF3NWFhZHZwRnlJSlRwc2NOeFp1aDVEaDdLNXh6RXBZS0RJNndyWUpX?= =?utf-8?B?TTN1MTFsR2dZdXN0VmdlY2ZnajlCNWxUVlcxSnJWMnF5QTJYaWN4WEszcWgv?= =?utf-8?B?NHJ0c3I3V1Q5WGtSaERVOVNSVXVVSXprRzYrZm9MQWd6Q2RSMzRiUTJKUVlo?= =?utf-8?B?T250MGg3aG1LY0ltVVNnN0paNXRLZEx2cjJ3ZGZrRkFXSE9oZmZCSFZQNUx1?= =?utf-8?B?OHQ4STJTK0t3YTcwYWVqK3hjZVNsblQ3dzl2SmxsTXRuTHNQcEw3SUI1SVZJ?= =?utf-8?B?SXlJaTljSlp5T1BJNGdwVTBNaUtKMGRIb3BsOVdTbEhXK2FzZUgxWlNmS3dR?= =?utf-8?B?aUxnMExkM1drZTVMQkVoTTRtbmVuODN6TkdlaDRZNTdrMXVpaXk5Q0MyTzMv?= =?utf-8?B?cGNwUkQvZDI0clNWZ0xyTzZ5WURJaDZEbEYzTWk5eFljYXJ2dnExbDg3ZGJv?= =?utf-8?B?ZmMybWR0bTJkaTduTm94T25VLzFvTnZyditTd0I4cGlwM1NLekNTb3I0OVlr?= =?utf-8?B?b1NQUEZlL3FLelZyd0lxQzQrREN3TnNwVHU4YnpjbC9ZUW9waE5IUmpRdlgr?= =?utf-8?B?WG4yWmNZemxkZzZRdDlBUXIwcDJxTGxzOS9BcGNqLzAwa1F4UHdXNG5kYmhX?= =?utf-8?B?cEpsRzliZVlLeWl4VThsTmNzRGlsTEIwWC9pMkRhZDZ2WktzVWw2UStyajhj?= =?utf-8?B?bWg3UG5LSW9QT1pwOS9pV1Fqckpibkx6elB5Mys2NXh4ME9GTmZ2U0ZaeCt0?= =?utf-8?B?bktXVWJVdDNPalNBZERpUTQ4TTVjTnNsVmJqOFRiYU9CQkJVSmR4Mk5rTVRa?= =?utf-8?B?dWxZT051Y3pHRDZuN3ErOGMzUURsRXNyQVhoNWlUR201TUZaa2M1ZzE0SG83?= =?utf-8?B?dGNPbFlPOHdSR1p0dGxobmxncmdNYzlWa2xEZE9MR0w0VXhJcVBmM1RndUtJ?= =?utf-8?B?dkVjMWh2Q3d5WVBPKzI5RlN5cmtoUXpsQndwOHIwN2VvWmVlZ1JlQVdOWGdH?= =?utf-8?B?dlZ5S1RqZlFuakJZNk0zOFhyWmpQZ204TktjZGNrYUxIVXQ4SzlaaUJiSGxp?= =?utf-8?B?RDdaYUU0a084TndQNWtwSWcxUUdCUlJBdFhUbHZISUlhM2JENnFtbGcweGdS?= =?utf-8?B?K3JCV0wwa1BQT2RxZTY0eFM2MjdTRFR2SHJ3QU54ZGlTVUJVSVF4V25EN2FV?= =?utf-8?B?OFYyYisrNExQMERrZXBVY09zZnQ5ZXorWGl1T1doc2dCa2dUeDh2Ty92VVJI?= =?utf-8?B?cnlZcHAwc1NCZ0xTbGhOckc5ZVk3ZmpLZFBrQWE1Q0Zva00yN0plcUM1NGx1?= =?utf-8?B?QTdTWjVOazlWVk9jbFdlU3RoeUNISW9lNXlBMUVkV21tWldFaGxmTkgwanlh?= =?utf-8?B?TlkwSURWSnB5eHVyREtQc2JTajZ2V09LY3dTUHFxYXlEcTJ4NlhPVlZTblFh?= =?utf-8?B?WFc1ZmpXdjNVOUxHNTA4djlqblU2UWVVakMvejcxNW9JOGIyL2N3ZXZFdGVm?= =?utf-8?B?RWNrT1lqRGNjOE1vc2RnKzEzVVExL0o4KzdnU3VYZjZVNGFDZkN6OUE4ZDlq?= =?utf-8?Q?68VPuYtvUiTvkE+LkNeY+kE=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <166F1D4FA61437468282F07BE24DE5C8@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: 70656887-d168-4284-65b5-08dc9a5b2f94 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:41.0137 (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: 4+HgNqCYUAXD/5XPXwF0mHIvQc4ruiYpSnP7cjNcbmE2Z6B79dPk5W0sQ8HDDoT+tB6b4WdKJ/mYV8+BnP2LluXuXERoP8uwYj56bdV3uvu682eN1IK2rZJzNX0i/Ym7 X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=80.78.11.85; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost4.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899728644100003 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment 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 e047d2ca83..2e4f535dd1 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -6012,9 +6012,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); } =20 +static IOMMUMemoryRegion *vtd_get_memory_region_pasid(PCIBus *bus, + void *opaque, + int devfn, + uint32_t pasid) +{ + IntelIOMMUState *s =3D opaque; + VTDAddressSpace *vtd_as; + + assert(0 <=3D devfn && devfn < PCI_DEVFN_MAX); + + vtd_as =3D vtd_find_add_as(s, bus, devfn, pasid); + return &vtd_as->iommu; +} + static PCIIOMMUOps vtd_iommu_ops =3D { .get_address_space =3D vtd_host_dma_iommu, .get_address_space_pasid =3D vtd_host_dma_iommu_pasid, + .get_memory_region_pasid =3D vtd_get_memory_region_pasid, .set_iommu_device =3D vtd_dev_set_iommu_device, .unset_iommu_device =3D vtd_dev_unset_iommu_device, }; --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899628; cv=pass; d=zohomail.com; s=zohoarc; b=OynrNxLS7uOxqY8eeUmkTIQl5wX228l077Uk3Cst8TmxhUmFO7sto0hknay/KJnr7stnqo0Ag5IVUlSyQALJjeIRwCsEguRRfdbotER2sJiKIie27WSBvF4OJfKaR7GH0gkGRkftlMs8g+UMqiDeuIkZt7udG8JiYRuyDXRRRHU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899628; 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=K6mzCmicblBSrH+FNCrs3vX9tZhbIalc3GmnTb6vzms=; b=GycCQqNvD/98SMDRxUZwQ5cKNJobbfEeszjKAduD7HyisBSpN+NDyOtuOaL8IPEqilpYhQWWflICJlS6hZGoKPGCXpjJE49Y8SOPM+q6mvBVFtghaR2ivYgbt8aM0xRM8vNhQCqNK6/jAKsNIhjPjdMoYG9qvoH9oN0EKqOg1uE= 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+importer=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 1719899628338500.43121532176633; Mon, 1 Jul 2024 22:53:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRc-0007yL-4p; Tue, 02 Jul 2024 01:52: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 1sOWRa-0007xs-PG for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:46 -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 1sOWRX-0006TL-KH for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:46 -0400 Received: from mail-am6eur05lp2113.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.113]) by smarthost1.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:44 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:41 +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.7741.017; Tue, 2 Jul 2024 05:52:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899565; x=1751435565; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=K6mzCmicblBSrH+FNCrs3vX9tZhbIalc3GmnTb6vzms=; b=kaP9EHUfPELJrIW/+6Z2m44M2UwMQHqRLe6/MIAFuqOOwsupJHI/PH7U F/PLVZQu0Dx37E2E2FcJlYLvziDYM+2RgNT3Lv1UmX8HnHrRPXAy3AvFX Bktx4ju5tAh2ft1eV9e/iRyII6jJlD+TqsRfZ8iWbH2zTyGkVzbaAvQZz OSWqwPQFrErRxn9WXiIbHiYSgg0OSqPz8tJ2AKiFO4nU05YbJ8s/7oneb UXnxHicGIvRY5SY4pMipDxmQJ5x0f561L9Qe6BzXztFn229DBsXjN3shH Txnv92Lt8f42pkYyizdPTcCNGJS5qMgqjD/GMBz6Ib9s09WPFZ/dG8jXR g==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15715678" X-MGA-submission: =?us-ascii?q?MDHgLr/retlpPHDf5X6gpbxnJbSyBiK4I7cQdp?= =?us-ascii?q?1t68ZPrrC2xFpC3SOEfGn7D9O2CfA/ad1u+m/SjQTDK40uAlOzEzA4Sz?= =?us-ascii?q?oOP8hvKLxQ6OqvW53il2NVifDvKJ4H2pTfgR4Au8ZKfV5AduCDPA96uN?= =?us-ascii?q?8WsZJx8htw0qH9e1CSKcnySg=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=eCS1I2iMJ4CO0U8kVbiaH9Kj7oVKelKupTou8bzJ3ywCHIjkkvBcOEAr0NR2hWcpvhZFBr81x2Y4m4MemwtH4pbp3fzEKGB0f4KgT4p83vEsCRoqbLU53WlNHmyyhZoT1o7Mknm68YQL3PAkRg8LPNknmPSk+iA9JABdOIld+SFl+PZRR6S4dcrEJiq+Dm+KHDAGUXL3Zs2frsmwQ1gw+m3xqUzukr+dQOLgPc+7PqlM7Oe28OOzlUZvtagLnN15bc2GVIflnBk7kSVYMNjywAn8+9LkMDHUZOKmBsqxIvStBEOL1Fjz+DjRihu1iLZ11RKa3qlEQsqTUuzlPs1ddg== 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=K6mzCmicblBSrH+FNCrs3vX9tZhbIalc3GmnTb6vzms=; b=MIHPIVthm5+VcUMY1pWwXUvxgc2E3jd/ypxA/u+a+CWZEU0LKNVBv2V/M8egGYG17NE+6n/i8xUpJJ6CYtwgqTfktV2PJ2tU94sMuj2WyrL/d69/BtrCYEk9TfrDguDuuRwkOCCNLRabYoHtnFjr52jhBGr0Zkynj1pAThM3i1zQr4C0i+MY7Lf16YFmO2DATU7sBtIItClfMgrwq/uxqEl5vdE5YrZvhxkGuE3VZ39WvN2NuH3/PHUYVYWUDTZvqZ/g9yOv5Hd4SMINID1c30CovOgBQR63hxiXKekpxAW/DlYoZA7ISZHfuSK667Q36T6lJZ+53/meSzu/RQBmNA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=K6mzCmicblBSrH+FNCrs3vX9tZhbIalc3GmnTb6vzms=; b=lYr2hSvXE8dS3tViqPY2fTwdKM8s3/i2IedljZ2cXgpO5Jw8L6s6DmkHGTdUfQZWC3PwpyaxVhEsSwLTsrGbUX9Cs9rTcaaTLpedX1aWmJNnqzf9LYlI2JY4W25p8Lb7qrMZLSeHzVqMy3sGvwSSqS4GeHoD6178LIRoXLc6dloMBsZuETwarNuJEZb9EfaggEfzy4NOIVcEWZgrihgnW2obccLVtWQToa2yqoL89bT1RzY+g6y4khRkXqCsZf1Q/CZhC+H2SX/neOL1Zvy1i5Ex/GyzeGic/iF5K5i/ifP0f+EVlW+s8Jqj4WYjHqwb6MtQ3RKyvSUfwL9s1kyx5A== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 15/22] memory: Allow to store the PASID in IOMMUTLBEntry Thread-Topic: [PATCH ats_vtd v5 15/22] memory: Allow to store the PASID in IOMMUTLBEntry Thread-Index: AQHazEQNjcnQQpm5JkC8kevAoXdYEA== Date: Tue, 2 Jul 2024 05:52:41 +0000 Message-ID: <20240702055221.1337035-16-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 9c80b53b-74f7-4e16-41ba-08dc9a5b2ffd x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Tm82Y1VORTEwRHl0KzBDalpSeEgyWnhtY1BwcVlTM0lYeDk3eHhVa2ZlRHFM?= =?utf-8?B?ckl0V2VsY29rNmlVVUgwc2YwcWtDOUllTzkvcis3RDhlcm5FZU9sbHR0VFBS?= =?utf-8?B?RVpxcFVTTEdtUmpJRElOUTNXVVh2UFBWNEhaSmNjZTRKajdTc2ltTVFUeEZS?= =?utf-8?B?YnRYNUYydmhGRmZGK0ZkODl0L0V2d2huMDhHZitZc0VnMFl4L2NvUTJnVGho?= =?utf-8?B?UGo4NityaEljSEVwcUpsQzk3K3JudHdhbkZlUXI0dlpaUlA4VjhjS0ZWOXkv?= =?utf-8?B?ckt0U3RpTkltMTRIVHlvaGg2YnVlMUZmRWxpSkJ4MDhlZFNucFZQVXppYmdt?= =?utf-8?B?ckh3WWREVlpROXYvbmtkdStXKzlJRjZFa3pYcHJGSEwzMEV5NHp0RzRkVnpu?= =?utf-8?B?d3ZyNmhKdE5VUElvU3BkKzFrK3JiSUdkTVZ6SE1HY3RzSThHZHhYS3NKT1o1?= =?utf-8?B?UTBpS3pQelp6OGZaSGZIZzNjVHBhZjdLNGZ1dzJsdm4yMDUyTUEwb2x0S0Ro?= =?utf-8?B?d1IrZjRMSUlub2RDR05QMUpPa2RETWFBWHp5UFVCM0lkSGFLeENVNkNBTzNl?= =?utf-8?B?UkpCbW9UbC92cUFGM3RnTVVkemNoZ2YraXZZWnZpYkxIRVUrQWcwYXI4MW0y?= =?utf-8?B?UDZqOEZISFVmTW4rUGROZ0J5SjR2VHBrNllZdlM1ZDVHa2NDeGpLc1JmTy9u?= =?utf-8?B?NGpSTytBRnk2OGwzdDFwQUFHa0ExOVo1U2xPZHVZUVZWdDZHcUVCR1BXM3FP?= =?utf-8?B?NTVLak9NVVF1Mkt1dEhTUmNYS0srLzIxWEZrUVJVWXhqaTZ2WkEvdHJuMnI0?= =?utf-8?B?Q0xiMTMwTk9iZ3hiR3RkSkNnbUJvWSs5TEJEdzUwaGRnL2FXZExlSHNhVFRy?= =?utf-8?B?RU85SWwxSS8wYlQrUWlUbmcvZlBVSm9kcTRGMDF3UWh1Mlc2NGNqZ05SMldw?= =?utf-8?B?dlZSYXAyS3M1eHJjS0lDVTNPNFpHdmc2TEM3QWU1ak5OTjZDekNvejhGKytK?= =?utf-8?B?UDhjVWxpTDhRMmZXSlkzYjI3emNNSEZuMmhORmxaVDg4VExOeXhJdlBqeXA1?= =?utf-8?B?dnN3eGxZSGpseVhQT2E3WVo0VFhBclRkaUxLR2prOW84eFQrWXVzZTloZ2ta?= =?utf-8?B?TC9sTlhGdUZBVXVMckNoV2pvWVVQaS9VaDNPSlBVVWY1c0dBTFJVaXFJQnFR?= =?utf-8?B?cUlaMXNEWmd5TGZDeU9nNnVlUU0yMXEyWXBRQVNQMyszOGpDUGpIYzkzeWJr?= =?utf-8?B?d2g5aHhsSVZWUy91ZGE4U0VVS3VkT3RoQm5CanR0SThCNFlsK3NHVkljL2tC?= =?utf-8?B?MXhWd1g5b2pycFJLWFZsUlQrdXFld1ZQYWtLcXhaSWxzV1hCYzBWcUlVaW94?= =?utf-8?B?ZFE1TU53VjRWajJXc093YitiYlJBdlBUck5GNEl6Rk9FbURaRjh1Y3p4T1Nw?= =?utf-8?B?WnJOd2lWc0JzY3dCUkYrVUwzcFdLM1lxQkVHMTVxR3dObVV5YTg0Q0VTL0Rm?= =?utf-8?B?bzBRRk1zT2RUYkV0dk8yb0R2enBsck5wTXdhZGRIRkFhVm5ObTIrVjNra2lM?= =?utf-8?B?c3hZTDRJUWYrMnJ3bmh5Y2lKeFB2MGYzR3phM1hzQ0lxeXU4UC9KRUh3bE16?= =?utf-8?B?WHhLL1RBOGZ4QitXMmFRbHBrYXlvZ1NpMnJPbnlBSzBGYUNpR2Y1cXplcndy?= =?utf-8?B?QXhRWWJaUjQycUp1REpFUVBoYnpMTmxNRzJFcGZlNE11Z3JjZGh6U3ZGWEt5?= =?utf-8?B?YzZRT0I4c2hONkVINzVESFJGQWFPcFg3V3hyQ2tsczNmWFYzTGJiSjZHRC8x?= =?utf-8?B?Zk84MHh4YkRucmF3d3RjVHcwWVEzRkg1dnJjVWIxb1YvU0o4Q2orM2NBalRQ?= =?utf-8?B?SXppZ2R5ZWUxYURLMnRxMURJS0pUblJHM1ZsSWI5dWYzYXc9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZitKSEJCUnJyN09KcG1yKzVRQm93RlZwTk9GeHVaaTJpcTZDY003R1VZV2xF?= =?utf-8?B?OWtmTFowOGtWNzBYRnY4YzI3SVl4RHBSeWh1SDJHNzR2TUNnRXo4R1FvTnQ5?= =?utf-8?B?Y0tSSWhia3I1WlZOM1ZvRkQ4UjlhczRDd095clU2aFBmczR0dTgxa1M2WGYw?= =?utf-8?B?RWRTWE81aTlWMGNvZ0RxbnpGQXBscWlSSEF5SFVDZ3lxUzZMWU9ZTDlZdEZm?= =?utf-8?B?c1FFOWZzN0I5cWVyazFUcUY0RllQL21haGR1MTBTVU9TSG9ldWx6TmJTK2c1?= =?utf-8?B?N3ZISGEvUUxZMVhQODlEKzh1ZDF2QkdzTjF1ZngzU3JjZ0pDc1VWQ0NOeFFi?= =?utf-8?B?SFZPNVlHMUcxYXJxSDFqZ2IyME9KMUg1U0hwV3VDYWh3eUlSZEUxY3BuY1Ir?= =?utf-8?B?cWt6VXdMOUd2STRkVkNka1YvTFVNeHgvdWdCTWFTcnBXRk1BNWNTR2ttQWgv?= =?utf-8?B?dTdpK2Fhc0Q3ajNHemtWdVlDdjl5Wkt1M3N4Q0tUU3JOamIzVjY0OUtYK1p6?= =?utf-8?B?USt4cjdoZXZsOU9pOHlmcVJrMWJVT3MrSXAxSG1wdWdSam5rNUVHQXljSG9h?= =?utf-8?B?dEg1ZnBGbFFtTUJQbG5mNXVZZklPSzg1UHVQT09TLytqaW1PVkxPQ3d2L3Zj?= =?utf-8?B?M0NsZm5UZ1NsZmlIMWhlNTZhTU1UMlhnQTRXVnlIdGx0TFlGQ2YxVWxMWGw2?= =?utf-8?B?MFZYUE5YZkhYZkNGRlJCWUJQSEJGcHRUbE8yTklSQlJEOG5WZXNRUTRadzFJ?= =?utf-8?B?cFZoaGlUbzd6ejRyWDlTNXVDMyt6N0VobVVza3h0MTJHb2xkd3Rla3V6cjVG?= =?utf-8?B?amE2TmVrT2diQXBOZFBXZjZRUjZMdTUwUmtkZE8xOE05NXpPOHVGRmVSaVc2?= =?utf-8?B?UGtWdjh0ajBOVktNdVgyNFlqSWF6QUhidXRHNGttR2Z4M0h0Lys5WGNrbnF6?= =?utf-8?B?VnJJOVphRXo0SVI0eUVVMUxTa0s3c01wcmNhdG9hMXNJUGgxZVFWZmNvQmVk?= =?utf-8?B?QU5rMmo3TXg1SmE0dWFNeXhUdENtM1ZvbjBGaCtLeFAxYjBwc3ZudnU1bTRy?= =?utf-8?B?ajdJdjR0c0FTRUQ1bTNUZzhpSnFiM3ZUSkxWTU1mMHpDdHN0V2FDMVZBem0w?= =?utf-8?B?SnIzbmxIdXVBM1dlZUdKWG5hTHMwUHRxb1lkTEg5azFHS1cycDZLbDNTN0pW?= =?utf-8?B?VW1DTGk4ZEV2aHdWWHc2R2V0NnR0QWtpSWpMd0R0dnRjK1BkWkxtWEFSdG5m?= =?utf-8?B?cjd1ZHFIUTRHdHh1dlZIajdXRnhGeU5XcmFldmNZeVZaNzBmMSsvMGFGTytV?= =?utf-8?B?b0M5YWZOQ3prQk1KU3RzdTBUK0xKUUhpSnA5SHFWZHlUUUtmOGttdXozUDdC?= =?utf-8?B?L3FqZUtnVW9nbi9aUUtvUmJoNjYyOHZQWGxMUDF3K3hkUFE5N0JwVk4raDBi?= =?utf-8?B?OGg0TlZuZjY1eGt1TDlrQVpjOWV5Q09YeWo1eWtlcEpZT21UZ0RjbXRIeXBi?= =?utf-8?B?ZXd3U2d0c2ZiYUFKajFBQTl4c1lBYmhDYWRKSVRTbmllUE56YzdQcVluVVJR?= =?utf-8?B?SGRCbm9rU01Mb2x6TXVOSGF6VHUrSjNKL0Nsd3Ywa2MycU0yejE3ODBnZExx?= =?utf-8?B?cXVoYlJzZXVKNXhKWWxsd3R4Q0p2cWUzcFlLcXA4Q3hWdTVkS1Y0eHk2OEtB?= =?utf-8?B?d1dtRmVPMmJWOUo5UitxR2t0dnhaREFhcVlqbUlpa0RrdGVxeVhOQTE0WkxE?= =?utf-8?B?NlVvSVp4N0lLV2ErM3lvZnVRQmxuY2d0cFZ2b1BnWWdxTjR0RTJ1ZVVOaWhX?= =?utf-8?B?VkFmMFFmbExncXpNMVFJQkxsZ21sZEVBd2RFUXFNWEFFRUdRdDAvOXV2SGFX?= =?utf-8?B?MVorR1hmT2d0RzFnejN5T1E5Z1o1SjYwMVBIZlRLcGpaRlpPQ24xcmk0RkJF?= =?utf-8?B?a3YwOFRhV3Y3R1YxMzdRYXRuVlNZMzJ6L2VIcUpJY29pcHdIVURERDFPdmNo?= =?utf-8?B?SFh2T0R1MXk3T284b0FWdUVHUWo4ZTlsZWVWNk4vNUpJZFBxaU1lcXBKb0NM?= =?utf-8?B?dXEzZkRPR2ZYcGtlSEkwMThuVVVxeDhPMTd6MmZiYU80N01zOXVVejRrYXVp?= =?utf-8?B?YmYrS3c1RzJTQjBtWnNSOVJ3eEVyK0tkQ1BxMVYvWk1DMVlERTRzT2VIWVNy?= =?utf-8?Q?5jAWCuisAl9UBuq34VuMOZo=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: 9c80b53b-74f7-4e16-41ba-08dc9a5b2ffd X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:41.7249 (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: fBQCLJJChzkZQ9tJs52StG1lo0dTFe39D90u2MOrC0p1YRFEbfQj282SASwgu8269IbGeeo8iVi7IFectaV/21wLImZOJcKmRS+PU4rz4f+bEfI5+guXhzcDnGMwIXSb X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899630238100007 From: Cl=C3=A9ment Mathieu--Drif This will be useful for devices that support ATS Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- include/exec/memory.h | 1 + 1 file changed, 1 insertion(+) diff --git a/include/exec/memory.h b/include/exec/memory.h index bf91c4bed7..003ee06610 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -145,6 +145,7 @@ struct IOMMUTLBEntry { hwaddr translated_addr; hwaddr addr_mask; /* 0xfff =3D 4k translation */ IOMMUAccessFlags perm; + uint32_t pasid; }; =20 /* --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899689; cv=pass; d=zohomail.com; s=zohoarc; b=PP7QKjqtdzLMEgfzsI2iUH9yPhe9Uw0JP/kHdvq7u5K4u3xsK+VUAZVBzwrsI0rrAaQ6q3SO6xXfFri030Di0KYiPLSd7rEg2YVeLraq1oHLHlcRU9U2+rTX3e90cE7hwowy58WdT2CNv3SD3AxiaX2/lZ+jEdJHDyAowVOxVx8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899689; 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=30mWL99EU/bKEd4mW/PXJAURbObnxCCAckkShhac82U=; b=KwKFJzr2XFQlthJ+/d9WCNYZEjYJsbQ9CpigueC411jyn11k9P5Kj0GD+eMp6AWxiUFQlEMzE/mK5hShZHl5ce7CmOMJh+/aI05qWFlFIiQTReBkICOheinydM33Td42QojfpS13VI6T9xAaT01ErPjS32whaNvuLUvfsTbRGkE= 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+importer=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 171989968928385.79657009296261; Mon, 1 Jul 2024 22:54:49 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRe-00080V-K1; Tue, 02 Jul 2024 01:52:50 -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 1sOWRc-0007yV-Ec for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:48 -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 1sOWRZ-0006V4-1n for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:48 -0400 Received: from mail-am6eur05lp2104.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.104]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:43 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:42 +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.7741.017; Tue, 2 Jul 2024 05:52:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899565; x=1751435565; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=30mWL99EU/bKEd4mW/PXJAURbObnxCCAckkShhac82U=; b=QHp6Uaic75IewZJFCO6NwT+Z3Qk7cR70AGQLHQNT8v46QM0JxIL5deZX FfVsNJfwWnuXUzEic8fVZujebhW6pFI9Lti3FjV7zqMpBKU/UZa/pC5lk BFVkAIAuITzUkUwlTJx4ho6OlzUFn1ebKWQG67oFk+1NWr7Ugp9V/XtR8 kcBM0RuITlu2nScpLeqFnLh7dCSiCsHPjkROYdjSVqKLDi6NjX8sWKCtq vyIhcRnsij/cSoo7psafWHVxQUoY01Em130ncFb0giROo+lIoNew9GUeo NRXxe6iZIzjoxcCCXeNoFaRqjRrBU8/TR0ay/vclfmGAYwZP/Q9vS/Jfm w==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721596" X-MGA-submission: =?us-ascii?q?MDGDSU3g5kD10kDibOoNvR6hO2a7hyU4EGG/wy?= =?us-ascii?q?vkiq68zxZ/Wg2hTId13a7K/HxXMpYitY8l8KxpE0vH80hbXUzcmGrqIl?= =?us-ascii?q?KySPIRqjDfgZWJXmvD7rRgkS2Qy8iRiBCABQdjWzN6FLx314KoWTdXUc?= =?us-ascii?q?VgF/sqLCLXFEmILIThQVGjyA=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=DCoxLz/9xfS47CWC7YMXbZXdixz2YxCoStpSbU7JLu637KmFXGIcNyVkGv+BA7RwexF0jxxCDElGmsssdGkW13R8iWQlBdUxmWJM+0dmLtnHPYLchbsNi9ukvoCMpeotV91/S2HwHriFXR4Zf8JfTOaLLFttcF6WUYwKGN8h+plhq+zpweY6XPiZPMMexUGpjRfSuHtrK1VJ8clkLoits3JxJx7cVToolQOZXhNF5nOqu4HmwotTHC3SDSWFLv+B6dXCsu4c78Pbyz0h2bJIIuyY+nCsyprsxj5PHW/lREzIq5I14DGDCYVpT1IFTh7drKg4Pa3VjxGGIc0tL/yhng== 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=30mWL99EU/bKEd4mW/PXJAURbObnxCCAckkShhac82U=; b=O3Aq0HRNxEef6qDjsZKDiAximTm+JkBO0j7J0WHzpzJjQnikPhH3DeYiH8oEb39U/oh7IiWJrJ5hRTqACt1i86zo7OasScKmYC/pHJC1o9Fj/X9wxkMFsROC/Ux6KOf/S3wUYpXfG9r1wYC8fEfm6DTvs2Edf7VzokNkFI9+shAP6DTwp9eLCIj4q4WNmSaI1jlXNN/ovA47yAMYViXoQEITqG46sQYgYsVvQsiBBm+aDSF2SLmv+oWOxo/zTOsWkL2xpJPcrSSuEWvNDhtJ+rxPo7/5XAYLzH1NAN8K/MVju2VjvdAAd+BfAU5QalGzVhxE6WNY0EsBr4K42yvBKw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=30mWL99EU/bKEd4mW/PXJAURbObnxCCAckkShhac82U=; b=Nmkb03BPLWDV0FkIzo6okYn1ShwbfIOFeJ47IdK5MWzbc1Kzt9t/1A7apSu/USdKxHhEyEq5UAfoBi1d5IoT/ZBE2Nwy9WHM7fivxddwsCCMLH/mCnltyZVJ/nTU+DFg8EDKoW7l/Sib0YpwAlSfMypSGo2kKkpy7R1w9AlBaT55Y+r7ZO1oHHQzctcl7Phj74GBJu/BZzWQoRdXK2FEU6FHYBiGCJICQEILS0G7aIGalnYe9uA98xzGHFigzdmMsLy2LMYAWNNJWWNwwmMMZbEFKbHYNcOnnQUwJScdffPyPi2/MGgt10wLOD4+8W9qSSXGL0o6j7m7sRcLe6zDTQ== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 16/22] intel_iommu: fill the PASID field when creating an instance of IOMMUTLBEntry Thread-Topic: [PATCH ats_vtd v5 16/22] intel_iommu: fill the PASID field when creating an instance of IOMMUTLBEntry Thread-Index: AQHazEQNQYz3PeHS6kG65cht4wNBcQ== Date: Tue, 2 Jul 2024 05:52:42 +0000 Message-ID: <20240702055221.1337035-17-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 7bec113f-f8ef-424e-623e-08dc9a5b3061 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?L3JZcGNwamdVM1VCaG9TUWVkSjFIMzdiYW1ScUVjckpqNXFVMXV2SHh4U3Jl?= =?utf-8?B?MTQyN0xtWmFrVEFaTzNXK0VWNDB2OHR3Z1F1Y0pudFJ6UVliUlRhTTJtNWRT?= =?utf-8?B?aG1uY3JBdFZ5dlZ0bFJVbFBoaHBlRFJmYjhGYUs5TUJ0cDlzZ0tuSFJTdzhR?= =?utf-8?B?L3IwL1Q3WVFWWHd6UHVkcVRDQzBUZ2poM1VJU21rOWNTNHFVTnIzZlFFMzV3?= =?utf-8?B?aWpEbzdYK0c3Rmt1QVdnY3dBVTVEMXA1VlRKYk9oNU9jTXFXcXNCVTYrZHJq?= =?utf-8?B?SnJFNWY1Y2FxTzVMbWo1aGNjbUtGcEpZREx3R0tRS2VPYnNFbVlCb1lMTUVP?= =?utf-8?B?a3JJMUhUQWdLYklEOEQvZll0L2xZMVd1dWlZT0RhdG9QUFZpdDNiczM5eDA1?= =?utf-8?B?VGsrbTNuek1GYjRRdm1pMzk2S0ZveEJwUlVPbEhKMDUrN1l2SnNKTWtMYkU1?= =?utf-8?B?Z0htTjR4bmVuVm5uN09qaldXR3VkZ0ZQdEZQNlA2S1YreDdQNE16VlhiZjJJ?= =?utf-8?B?Ujd0cDl5cWJNV0cvZUFJWFRhbXBZaFFFenVaNVVJOTFYUUtiSXUrZk92NlYy?= =?utf-8?B?ak5lUW16aFRuU0ZScVRPTmhwN0hiSWtqRlRucmF2K2FiYWlmaG1aNVptM2JR?= =?utf-8?B?WkJ5UDFIWE1ZaXZnNU5xdW45amhUTWNvSGQwOGN0dDVYc1lybjRuWGIvblRE?= =?utf-8?B?V0JqOFp1MGZQV1JkQ1B4c24rNWt1dDUvVG82bnJZRSsremZCK2VEODZEVWE1?= =?utf-8?B?dXRsbzNYTTBVV0NzK3dmbktlWVVNT1lqRktzWHEwRDk1c1N0b1ZDT0VReXZl?= =?utf-8?B?S0l5dmF6VkVGWHFuWk5ZZ1JtNG4yS09YbUs3OG4rSkZYa1U3VCtLU3FudFhm?= =?utf-8?B?Q1habEJkNmRTaDVHUjIzWDVib0RNOURFcTlLQmZmZkZPMmpmbnRQYjNoQkRJ?= =?utf-8?B?SE9jRmhGTmRDakczYm5pN0NSODJGbkE0Sk1SckgrSVVNeFUzaVg0TVdrbE00?= =?utf-8?B?dUEvRVlNenBEZ0lzKzlDRUJaQVdsNzB4QXNZUHNwN3g4VzVzcWRzTkU4eWdB?= =?utf-8?B?UGk0WTM3cXJWMjI0N1J5SmJUalZJTW9WZ0pJUHl6a3djaktoS3I5bXhqZFM0?= =?utf-8?B?bWpoRXp5dW96eXZ0Nko2S1E5WUU0Z1pPRkUvNEhjUm5PeWpHcjVZUXdwTUJi?= =?utf-8?B?Skx1c3VIWmJTY1FhckxWczJpdWdndHlDWWNCUzhqVWMwRk1NWnIvaE8xb1Fr?= =?utf-8?B?TU1jU29Qejg1enJNZ2hUR3RhR1hESDFscHcvOGFOMHBpNXJydmVYZXdLR3Ur?= =?utf-8?B?YnU5WGxsTkVTQ3N5RTE2bW95dEpIeGpTYVF5YklDbFFpY0dGajlJYnl5YVNM?= =?utf-8?B?T25OS2NaSDZScFFNcmQ3Vm1TMkIxMjZhS2cwNGdETFBXNGRDWFJJY3JZK1BH?= =?utf-8?B?T3ZoUXhqZHF0YkdOL1hWS0YzZ2xhMlFPbE5rN1hOUWJTc2xDclJid3V0ZG1K?= =?utf-8?B?YXlzdjRtUnVmcC9lNGlXQVVGOFJXOUhydkcxVm1IcVMzNWpIODVpbWZTa1hE?= =?utf-8?B?c2dZWWliNDBJWm9uL2VwN3AyaFUveUJVME9xaHIzUnE4dHZuQnNXbU9lYlBq?= =?utf-8?B?M21ZZE93TVpTWXJIcG5yRlRLM0p1WnZxN3FHR1I5K1N1cWxPZVZDaXVyM0d5?= =?utf-8?B?YU92RlpjU0d3SjFWVzd6NCsrUzFLZkN4eVpwdVpNeEVHWm51Ujh3RVhuYTVS?= =?utf-8?B?T2hWZHQxd3RpM3NDa25xazRmSGlDeWJhaThId080VVFFTG11SG1qR3FyTkYx?= =?utf-8?B?OHZXUXpvYnJDclU3L0xRMjhwR2hhN2ZCV3RQK3Q2ck9ONXg0a21weW11WGUr?= =?utf-8?B?cDZJWUhmTE8wR0ZwUzhmdzQzSGZERW55d3diZi9oOUp3RUE9PQ==?= 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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eis2UXNTRE51YWYxM2RleGd3SlRZOS9JK2NjOENHL2Vma01SRVppc3FaNC9L?= =?utf-8?B?Q3cxYVBJZXlXbVpEa1oyQWwzdXFpclBWWjVicEdnRFg4a3Y0R1B5N2Z6QkhT?= =?utf-8?B?eGpSblZWdzM5cjhkM0xBTG1nV3hGOE1YdUZ5ZTlaL2VySW9wQzRuVWl4d1BN?= =?utf-8?B?emF4T3o0T1hia1UrV1IzVlFUMjJWTjhIdHhJMTBWMzljVmFzQ2NWUk54VUJi?= =?utf-8?B?NTJpVDBsZHBWbmtRK2dvZEZvRDQwZ0xxSm9tMG1oUDBLUHJzc0pvNlc0K3ZK?= =?utf-8?B?YWI0U2hYSXhxaUlRL29MYi8rQ290OTlDNEkrUUpyOW45RFVtL0NhMlIwSUNC?= =?utf-8?B?bkViRXVMRFNlWHBPTjdUNnFHUGdMMk9hRFZYZ3pxbkxoVEZudE5FbjhXU2Ux?= =?utf-8?B?azNzWU83RWRXYllvRTZmMjNWbW9Fc3Q5Ym9EOGJwQWNjRUQ1QUR2cVg3RXVF?= =?utf-8?B?Lzl1QVhoR2oxVHdXRmZrc21DU0dzbHd1WnJxMmpzK0VBVXc1NlVFZVd5dXFV?= =?utf-8?B?ZndIUG5LbnNCUWpVcWc2U1hmNzdaRURYTnpJSmJzek5tTWpwRXpwN1JNMTFP?= =?utf-8?B?b0pOaGJEUkg0NkRlOXUrQ3RxR1dhb3dGVnpYNk1mT0NaQjJhM0tQRE1xalpQ?= =?utf-8?B?dkhHTm43RjZDTDg4cGNFcU9xM2NxT0VDazJMaThXWWJEc1NIc2pTSG9NeXBQ?= =?utf-8?B?UHNMMHBvUHBIcDBOaUFjOWJXTkFZYXZnV1d4QkQ5Mm1DWUViQTlyb3o3Wm9y?= =?utf-8?B?bStHSzBXMjRwNmw2Qk5OSmp0VWF4MmgwQU1XYkhYWmloVG1pdWZaZ0EzamlZ?= =?utf-8?B?cDFBVjE3dUwyQm9ZYks5dWNFcHo0R2tyRlJLdGViZk84Ujl0cm9wMG04WmlF?= =?utf-8?B?NTBmQnk5ZGpWMGdZZFB6YmJ0NGNLQzdVVUdZajdDa3cxSDI2emN5QTV1YUNR?= =?utf-8?B?WlZaNG4zZVFha3FSSFNRaVJaMkhYd0dUMTh1N3k5YTJoQkM4VjJ0WDV3ekU3?= =?utf-8?B?cmJMTmF6aE8vZklFWHVsVGFzV0RwK0Z5RGxoSWhXWHZwcFRnSzhubDIzbEk3?= =?utf-8?B?RG95OVA1dDA5WWF2clg2bmdmUWY0R1dtMndWbWUya0x5eFZDcTNDeUhTeHVM?= =?utf-8?B?UVgwbUhmUHhSZlhHSFlXTGw2NWxxVDRCUGh1WkgwemcxeTUrVThGMXo0cXdr?= =?utf-8?B?em5sTzZQNlBJWnBkKzl6eHFtMXV0WWYyY21wM1FDcTBkM2xNYmdqYWMzdEZZ?= =?utf-8?B?QkFmbmwwTmhHdmNKTTBJeks2cVlxNHhYR0xZTWxjZHBISEpja3ZMU0JUeUt1?= =?utf-8?B?OUlTNmlIQ0RjVmwrR0QvQU0vSXpuUm85UWJlWXJQZGVFYlpRWm1IZjZVdUI4?= =?utf-8?B?MHNKeDhCMkJDVzhoZ3VRRGlBQXNoRmFsV0dJbW5FV3F1ZHhmeGdZZHZlRFlR?= =?utf-8?B?MUJmQ1VRVkduMEE5T2Z5emZRTmlNbWNHL0FOdW5WSFFSRzlvMEZ5NW5VcG9O?= =?utf-8?B?cURsNFlPTTRnZEFNU3pjOHE2eUF6ZnhQODE1eC92VmJCb1RVV3FSOFY2QXJP?= =?utf-8?B?bGY1YWlpRWlmN2xFcXdNVVFRc2E5cDVXN01lU1N1MWNvaEdOcEM4REU5THIw?= =?utf-8?B?VGlZYi9UcjVESHFjK1lGTlhMSUZGbFBkVTJaVlRmYU1LbGFMbDg3U1JqckFm?= =?utf-8?B?ZUk4aW1pWEFmL2NkZ1hBcW1vTVN1OVBJYVpNc0VGTXIxazJLckY5ZTlDT0M1?= =?utf-8?B?eDVaR1lpSS9jVlVRcjdjRW1CMkZoYm1sZlVXVmFtUGhiRXN4K1NXTGFYUEVh?= =?utf-8?B?ZU9uZDRkZ0xTU3IrMEs2ZjVWamwvNG9ZLzVBd003SU1JWnZ1TnVQcjBqMjZp?= =?utf-8?B?RGNZMW5WN2hQTm5VUkprNHZ2c1V2ekJ1ZEY5SG13Q21INHY5a1VVenhzbW5C?= =?utf-8?B?enI0YU51YTBSbXVjUGhsc2dkYXk5blNEbG9BeVcrcUVZVE9vbWJUS2FZSy9U?= =?utf-8?B?OVhuMnhIWGxHbmV1ZlF0M3MwY3JTNmF0MUtMdW45UHRBM2piUmdqbEhmV3dG?= =?utf-8?B?d2NLSEtRSnJSREVXM3JNSXM0TlFENHhsdnkydmI5Y1VMQVhUWVZ4eGxZTFBY?= =?utf-8?B?OGZiZFZCMEhndVBJZGMxNEFHcGU4aFVqenJmL0pmWXFuZmh2c0t2MHZ4N1l5?= =?utf-8?Q?RF+GGtVT3qw/uEb4J7v95js=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <6A64D841B770834BBB77DBBC9210C4FF@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: 7bec113f-f8ef-424e-623e-08dc9a5b3061 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:42.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: uLJ++DSFComEYZWvxKbAvfnJpQrS/P8AtoqObrEiv8tN2UA2DN7h3tpzuEjXfFs+PHqyMrXu2Tu4MoXTEQN3fRKXVqXNZtmJNmbwJEXokP5YmrAmXOxsnjvRbSZAusJn X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899690507100003 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/i386/intel_iommu.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 2e4f535dd1..f77972130f 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -2210,6 +2210,9 @@ static bool vtd_do_iommu_translate(VTDAddressSpace *v= td_as, PCIBus *bus, =20 vtd_iommu_lock(s); =20 + /* fill the pasid before getting rid2pasid */ + entry->pasid =3D pasid; + cc_entry =3D &vtd_as->context_cache_entry; =20 /* Try to fetch pte form IOTLB, we don't need RID2PASID logic */ @@ -2328,6 +2331,7 @@ out: entry->translated_addr =3D vtd_get_pte_addr(pte, s->aw_bits) & page_ma= sk; entry->addr_mask =3D ~page_mask; entry->perm =3D access_flags; + /* pasid already set */ return true; =20 error: @@ -2336,6 +2340,7 @@ error: entry->translated_addr =3D 0; entry->addr_mask =3D 0; entry->perm =3D IOMMU_NONE; + entry->pasid =3D PCI_NO_PASID; return false; } =20 @@ -3697,6 +3702,7 @@ static void vtd_piotlb_page_invalidate(IntelIOMMUStat= e *s, uint16_t domain_id, event.entry.target_as =3D &address_space_memory; event.entry.iova =3D addr; event.entry.perm =3D IOMMU_NONE; + event.entry.pasid =3D pasid; event.entry.addr_mask =3D size - 1; event.entry.translated_addr =3D 0; memory_region_notify_iommu(&vtd_as->iommu, 0, event); @@ -4344,6 +4350,7 @@ static void do_invalidate_device_tlb(VTDAddressSpace = *vtd_dev_as, event.entry.iova =3D addr; event.entry.perm =3D IOMMU_NONE; event.entry.translated_addr =3D 0; + event.entry.pasid =3D vtd_dev_as->pasid; memory_region_notify_iommu(&vtd_dev_as->iommu, 0, event); } =20 @@ -4920,6 +4927,7 @@ static IOMMUTLBEntry vtd_iommu_translate(IOMMUMemoryR= egion *iommu, hwaddr addr, IOMMUTLBEntry iotlb =3D { /* We'll fill in the rest later. */ .target_as =3D &address_space_memory, + .pasid =3D vtd_as->pasid, }; bool success; =20 @@ -4932,6 +4940,7 @@ static IOMMUTLBEntry vtd_iommu_translate(IOMMUMemoryR= egion *iommu, hwaddr addr, iotlb.translated_addr =3D addr & VTD_PAGE_MASK_4K; iotlb.addr_mask =3D ~VTD_PAGE_MASK_4K; iotlb.perm =3D IOMMU_RW; + iotlb.pasid =3D PCI_NO_PASID; success =3D true; } =20 --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899744; cv=pass; d=zohomail.com; s=zohoarc; b=fOKwflUxbufyKlVkMmv1otTQArl8aVMgdo0dziS4ZNHkGCDS/4g9VYlGX+OFqvAZM3OV9OR3UXy3DyAj0oKJ4LrwK89OmQUEaInRZ5CaxlCgr17mF1Ch8hmhwFehTsnDMVErX51Aqe9RneEXnYkfdwkQ94ldPintONDQRbqiaZU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899744; 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=aaciKa6xrwSW2NtKsj36kO/MEVhisO6XpupR7gvFUH0=; b=lUVBmNBRAKYoXArr8KFqr+cgYICswotxLK5KEsauj++yB8z8hiBiip7x4yW5tOdN1ukNOQMNWKK1k9q6EMfYcDTsGAm7mhRSMyXUo1dGLa5gk5/APVBxFkNPbMlK4jMYphg+ErDMEjewTqFbEDpxvEENP58TUOkXWMGyGm32KVQ= 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+importer=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 1719899744341804.6876164225156; Mon, 1 Jul 2024 22:55:44 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRf-00081a-PP; Tue, 02 Jul 2024 01:52:51 -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 1sOWRd-0007zm-CR for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:49 -0400 Received: from smarthost2.eviden.com ([80.78.11.83]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sOWRZ-0006Un-5C for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:49 -0400 Received: from mail-am6eur05lp2113.outbound.protection.outlook.com (HELO EUR05-AM6-obe.outbound.protection.outlook.com) ([104.47.18.113]) by smarthost2.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:44 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AS8PR07MB7080.eurprd07.prod.outlook.com (2603:10a6:20b:239::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:43 +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.7741.017; Tue, 2 Jul 2024 05:52:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899565; x=1751435565; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=aaciKa6xrwSW2NtKsj36kO/MEVhisO6XpupR7gvFUH0=; b=NT+6ChqCq3RO1Y4T3lL3ArDXr29bUtBiDzv1JvnDDd2Psujx2u4MB/mh 1QkbrtjyYKDIcy/OfCIEdqYrieA0VximXzNVP6JLS/Kje3+dkjsNnLTfY MThPLhQPHV/TGn8lo6hjCZQa0NNoIuY3+m2DxJYhYpe290iIwGx778Rgv 4fmB4neZoMlAxE9FRhhQ8HDbPqTJYXqTtdfoDxnH8nfe19TkdDgxyOVCG 3MFnXbPDnfFtxNe01LoxbXjfaOi0j3zrzOLztpp3JYpUqUWzWzTsDpjs6 YrbT/Dx1mA0ssECZTcVHICSKoQiO4/QxFoOVSdW2xqsXcIyLaxWGHZJJj w==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721524" X-MGA-submission: =?us-ascii?q?MDFdYXZNQMo2OED/j5/Bxa2wB2WbI6frAHbL2u?= =?us-ascii?q?5lX8arh7JObDvePlN4pGdDkrXUFheqjsOB0KV6zF2vtkaF2UNT65zihj?= =?us-ascii?q?z9/qSIiOr9MYab155/Pw2r82x17t+BhBk7jxrGoXOOLRbRTE0V0OylT3?= =?us-ascii?q?HSQg5a9GRE3tumJVanXftITQ=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EkuQ7QZVygErYSEeIU0AY9bgAQbuGa0Z/E+D7gnFSYepCaT2EL0j3TPGWYPgwktQzugswlQFhXRxpf+6KSvJyFmWVpf1BDdA/t5J9r4yjG7pesFBSU4XjciNSs73TeThkpL5OvPEtKJDypKusei3lFNQFRvpQtIW534d4xQyShUtL/3vXX+i04CZxw8K6GMRdgvIRvW8WSRlXaMIcWe+QJ2aEwXmSvbcNdoMcpXFBH5caBmA0mJ8KaFBeICMk2gg58uMU0GZs8DA0w1uE49DwIDBVS3eQDQCkaoAyoJ59GKD1lYlo4xJrrIh1LH1w25WdwmvVn8rqYXK4hpWD1lc3g== 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=aaciKa6xrwSW2NtKsj36kO/MEVhisO6XpupR7gvFUH0=; b=XRG2Mzac4RXdU10DjCPz8KnmmS8UQyNQfOcMjuHsklftBGknozcctFl6ohjHkx2JLAhRIAoH/d4eQRmVreJiMbKuRghGeFuPQ/uZn7X6TkKL1c99+ZUY6gJIkP/SF307TdOyGQCTS8x0uv6MYXdwK/wEUj8L3qfkxbzLAD+jjG1554ayx5yea7XQlQK480SiACPpiatUVXMgOMpNMfD+RI9MtVJM+eH0ez/WAx151I9nxFEsaXi0rxWmaQ5prEY/mh2inwCNhNIxJvt0YJXsIHWK9Ixj1AplqUcVafNZFML2k9TCukU+HXa1anB47z2hECT8jVY7sOV316d3jPlvgw== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=aaciKa6xrwSW2NtKsj36kO/MEVhisO6XpupR7gvFUH0=; b=heDAWprl/FuBFHP1clQgmwKvDlYaf6ITaysfi3JkqH1eR3aBqnHOMw3u06By/QtU8J+RTLMwBawn9pThJ68N2E4XmHUIx/Gp5ZFi7mganLY9R6L7ak9xqZ2cwI1fC/6xj7MwgWWLw6ktEbxPr/cPe5Nsy4y4c+tVObPpIDIFP5F9fvAmykTtVchUJvCqynWAHSntwkakSIYqwj3NbrjjrvKUQJVTyGIX14Zkc+t+wdjs7Y8NdhjZX1Ha1bSybYRJ2N3tg5U4aRXDPqUstHYJwfbhF/wqMNwm0yXx78rcSvVxf8CBu11CNJxp0VDpTT/zm8YoEvlCZWLniQBNXHjgKw== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 17/22] atc: generic ATC that can be used by PCIe devices that support SVM Thread-Topic: [PATCH ats_vtd v5 17/22] atc: generic ATC that can be used by PCIe devices that support SVM Thread-Index: AQHazEQOlP+g0o1Bb0i4sVdTaZApDg== Date: Tue, 2 Jul 2024 05:52:43 +0000 Message-ID: <20240702055221.1337035-18-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AS8PR07MB7080:EE_ x-ms-office365-filtering-correlation-id: 9c4a2b03-732a-4633-5896-08dc9a5b30ca x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?bHNrOTU4WGNnWk1MY1ZZWWNIbHRYLzdhY2NEcjVxYW93bXQxbzhqek1WQ3Rr?= =?utf-8?B?NHRUL0hYRHFDdlFMSkNOWFVzeGt3Zi9VWVFWUGZUSS9mWDVsK0VXT2FpSEhj?= =?utf-8?B?Smd3bURUY0R4cDhDVDJSeVVBaXhkcUROR0xPYTRab09iVm5MRWVnc3IwOGVQ?= =?utf-8?B?QUJONW94ZG8ycW5VSi92dU50cmIvbUNmYmx2NWl3dExDL2dsLzJaZmlVZzJE?= =?utf-8?B?eDM3d2dBQ3ovSWM5MllXWTd1a2RRSWVyS09GSkRaT1BlbjJ1U3BYeGUva2gy?= =?utf-8?B?MXNrTTByS3R1M2xkQVI2U2pod3o1UjhUU051YWUvWWMvRGhPRUhjNVBpWTJn?= =?utf-8?B?VjBKeVFSYWhYWEx1TFUrNzZGZHJCOFJ5SURlNXBLSHVCOXJ3ZFk5dEIvWmRV?= =?utf-8?B?eUlHdU0wVDVnb2JCSnpiMCt6SnpENTc2WWdKbTNNaDhPMjhncTN6V0JPaElR?= =?utf-8?B?RGNUUHcwTjU4WnNUWGpCTm5FOWowTmhpNC9NbEMrYVg2cXNXNFZZcWxxNlgv?= =?utf-8?B?VVdsLy9kMnlVR2dRN05HN2tEUUpEbXJJSXZwdHhXSUVDU1UrTVk4TVc1MU5i?= =?utf-8?B?ZExuNVFlV1NoUGJRcVJZVmhhdWJHSU9PYzlJMTFEUk1TeW11TFJaTEhxbWd5?= =?utf-8?B?TXl1VlhVR0RvUENyOFpMdElBc3hmREVzRzFpbFN4ekhWTWlYdmNQOG02RGFG?= =?utf-8?B?NnIxUDJqR3pTdWVNME1DZlBOdXVuaGk4MGFINE9samFHNmI5dXRTT3IzeDBI?= =?utf-8?B?c0VLVnBEVms3ajYyS29Hd2lTZzZLN0VadjdNRTJLbXlyMWZnQXBpYVY1VU5U?= =?utf-8?B?akRZSzdFeHlCalJEY3diVG1sYXhLRFQrZHZOSmMyYUhwZzFXMlMwOVl6emRw?= =?utf-8?B?cTdvVld1T1BpSVI1OGpvZ2xVSFhrc1M2a1QwWjNWQXNHeUNnQWZ6QzBZRHlP?= =?utf-8?B?N1FyMDZoVXJCM1VybWc1Mjkxemdqc0hMemxyWkV6NDhrRjhGVXJiMHdLWlRv?= =?utf-8?B?aUlKUG9VcVkvSXJKWkZZQUU4Z0hMc1QrNmplSGd3TDFvSnFGUWZFTVc3WFRX?= =?utf-8?B?QWZ0YSt2UG54WGdqZ1l5eVB6dk1jK1c2c0NEaVQ1dlhwQS9jMDhrN1VMMlBy?= =?utf-8?B?NTlQK0hMRmM4eGZESXZBenhiSHZHZk5pR2pVU3h3akZlU2xOL0dmQldpdXJZ?= =?utf-8?B?clo5RytDL29HdXQ5bmFjbFRuL09nbysybUpDWFo2TmFpbXk2NXZiU1R3NFVn?= =?utf-8?B?WkJoOW1CSDg3SkxTbTZBUUhzSU1vVmYxM1BsL29DQm9HRlZJbVBDekk0M0Yx?= =?utf-8?B?cXJ1RDgrdjg4NkppK2hxRkRsclpJRkJJbjNyMG96QU5JYWk4Mk1UUnVtbWpQ?= =?utf-8?B?dXZHMWQyeE5hcWVob090RGlDeHJtc1ZwTy9ZQndybGgybHRZaW9jMTVoZHpB?= =?utf-8?B?ZlFMZ1lVTmF6U1VkZmRjYUpCc0VDS3JSOUYrVEpVSTR5MkJOZ1V3dTVlaUdC?= =?utf-8?B?VzVrVDBTUUsxWDVlSENMTGlqdUlEUzVMMkptSkJLQWpqR3FBVlMrUnZqL21X?= =?utf-8?B?N2F2RitPb3VGMGs1VDArVzgwUWJmbEJVdDFMdW1MTGk1WVJic00zMGZwZXFJ?= =?utf-8?B?SVJvMUFBV3RmanNkdzBlV0o5MFdBUHFid29RWi8zQm52N3YrYlJraSsyalc4?= =?utf-8?B?S1cyekpVSENvVWp4SVZEb3c4SU9peVh4TGhFVmdQQ1RLLzZqRVVHUmRTQ1pl?= =?utf-8?B?M0FhcXl1WFBoL24vU01VU1RDUzl5OWlEc2FuZmJJMVlqelJEa3hLTEtoWTdw?= =?utf-8?Q?TwWHpVk6h58bB4hAMtEPwq4SRiXtHFtu0K8Bo=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:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?aG5rN3FiWElsWnZ5WDRadEtPc25PblkzWWNUT0NHL2hvWFZjUjRKbzdwUU1L?= =?utf-8?B?MGRBK2krazZiK05CLzVqT0M5RjdHQkRteEN5TmV3cUZhTDVVKzV1UjFvaDNY?= =?utf-8?B?TnhhMW85TU5lLzFHWE16b1BQVDV1d0J6NDNVUDZWYzA5VXJVekhZd24rdkFy?= =?utf-8?B?d3V6MzhIYU4vbGwvQUVkUXROcHU2cG1qSnRYeWRYRERBd3E4UURhbExFVFlp?= =?utf-8?B?dVJ3Z2Q5YVRBeGVGQmUraC9FZyswRWxEbGlSNnF0VEYvcWVreUpmbWI5ZEJ2?= =?utf-8?B?dTRqWkk0Wkl2blBuRldqUG5FaFZja3NVRlZGenk1cDd3TzBnOGlxdlIxdkRS?= =?utf-8?B?QlcweGFsei8vWk43L3IvYmNabm5kUERZNGZNY0MyRUpIekNhOGRDRGNkRlox?= =?utf-8?B?anVKN2NGSWFDQnc3bTBGK2hPcVhycmdUSU16VnlUNVVPM1R5TUxKRUpTeWtx?= =?utf-8?B?M05sOGEvcGxXeHJyMWFFOFdnVUdnWUZKajBkbE5FTlNlYWhTUytJeE5DUkRl?= =?utf-8?B?VWVkM3hhWnVzOUxlenJLT2gzc2VvS2ZmMVllZ2NGeGJGWERQbHpsTHIvS0R4?= =?utf-8?B?V1Y5T00zRHduZjAxK0NtdWExQjc5MWZ0cjM3dWZXays3NTBGTmZYNG5mcEtk?= =?utf-8?B?dmNVU0JhSVRZSEhKRGVUL2tvRjMxMkRiOWVaUWJhbTgycjQ2NENrbXlQNjYy?= =?utf-8?B?eU9nUGpiSHFMZzFNMlpHVi9NOHFyK3pjaGN0Q3hkWmx4OTRZaVZMZ2o1dTg2?= =?utf-8?B?SzlHeHJHRjluaVZjL29MeUJxQ2ZoWnJmUzBCZEluclp1ZktzWnRSellKcW9m?= =?utf-8?B?ZDFMZjZDWDQ1RFN3Ymo1MEM4bDB4R1lsaHdOREVjMmNWTjNPbTBZRTllRFlh?= =?utf-8?B?YnZGcFBIcWJjcUt0ajNGamlqNC9jdEFzeEErWHMwcStabnFXajcxcVFBeTht?= =?utf-8?B?NXg2enhYM2M5YTFyQks3c3VTcnhpUmVudnV4citvVUF1dnVQelBUYm4wbGZQ?= =?utf-8?B?TGNQUXdUNDVJaVF2bTNvbi9KRDZvR2h6MEdycDA4cG9HRE8zVjdKQjM2eXJn?= =?utf-8?B?S2FEV1dkd2xRd2pBakhkSjZrRVJuQTJYOXMyOTBWSEtQQTFJSGIzaUlBNlhE?= =?utf-8?B?QXlsSXVlNUoraXRoWStDV2dyUlZ0UTVCcitqQmxPRDJDd0xYblhlTEc3M1dK?= =?utf-8?B?QWU2RE9rL1lRL1MwRFVGOHhUU3k0Q0FXdy9lcjRRN3ZGSVliVHpTbFpmclJx?= =?utf-8?B?cGQrUlZuYzByQkl5QW9MY002b0RoeERPVXAvZDNxdjgweDRZbEtjY29mMGNR?= =?utf-8?B?dzcvblg1cjVGYTNIOW8wYWhDc2RtTXpsSUFQc09neTJ2SUV5ckZsM2huT2Zi?= =?utf-8?B?SEU1cnJuVmhvL29JeGhnNnQrcEJNZ0pCMC9rZTJNanNlcE9OQ2xCVVFGd0xC?= =?utf-8?B?SUlyVGlXb21BdDlRblpLcWFUZ2NqNnYzNUt0ZEVJSXBCUG9sTy9NY1BLeEZz?= =?utf-8?B?NVYrL0FVWHM5R2ExNGtTcGpueWxMRm5ldjRzd1dCMWZZTGZ4OEFlZ245alR0?= =?utf-8?B?bE9Famt4b3p2SG9QN2ZXTndnOXdORko1d3hiUWRCUDBSWW50SU5QUm84cjZt?= =?utf-8?B?SGlzekNYRGtxWFRkNUJWQlNUVGlFcm55RHVNbUtOWTJ0RUdETWFmMER6bmRs?= =?utf-8?B?bCszRHVFZDl1RjB2bkN2RUJjTFlSb3NkYlg3bTFVdFoxQ1lnK04rbmVFSFdT?= =?utf-8?B?eUQ4Z044VTVRMmpibjZkT2l1bVZFRjBqR1dLM0lTOGV5UGlOM2NNWTI2ZjV1?= =?utf-8?B?SFk4L2p5bXJyUnU1c2VsNWlmajZ2K3psdkExdE1PVWppbU56ZjdwamlNZlJr?= =?utf-8?B?WFQwdjJnMks2dkN6c0ZXZldTak1kUm9kUSs4bVhick41Rk8wY0hYSXozOCtP?= =?utf-8?B?TksxVnl2UkcyQUFHT0NtUEt2VlRPc1RHOTY4dzBPNHdDZ0QxU1RhK3NNTUNt?= =?utf-8?B?dnpvNVBxam1WNkN1cmlLRFlSci9tVDd2dUs1Q2JSbyt1d3NteFZFUjdncS9U?= =?utf-8?B?VXViSmdhRUllTFY0UVRuL3I1Y0U4WFZMMXR3c0FCS0VRU1pqeklRcC83emQv?= =?utf-8?B?MzdIVklZZk9mdmx2aDlobHNOc3Q4WEdKa2JOSDZXWjZJVW9SQ3d5TzFqWEpC?= =?utf-8?Q?b2n8j6EMvHtFOl0Vod0actc=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: 9c4a2b03-732a-4633-5896-08dc9a5b30ca X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:43.0905 (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: pFQPKPCHQX9ChxQNNrfuPLbfrzHJ4NWz07nT5zLGI8+a/veW0IIqri/+gNsKQOGVMwraLBeDc3lUuz7iJuZYdxUltJvjTj1mnvOOblBgenozZL8INn4+yO1UgucL6+yS X-MS-Exchange-Transport-CrossTenantHeadersStamped: AS8PR07MB7080 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+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=80.78.11.83; envelope-from=clement.mathieu--drif@eviden.com; helo=smarthost2.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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899745017100002 From: Cl=C3=A9ment Mathieu--Drif As the SVM-capable devices will need to cache translations, we provide an first implementation. This cache uses a two-level design based on hash tables. The first level is indexed by a PASID and the second by a virtual addresse. Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- util/atc.c | 211 +++++++++++++++++++++++++++++++++++++++++++++++ util/atc.h | 117 ++++++++++++++++++++++++++ util/meson.build | 1 + 3 files changed, 329 insertions(+) create mode 100644 util/atc.c create mode 100644 util/atc.h diff --git a/util/atc.c b/util/atc.c new file mode 100644 index 0000000000..584ce045db --- /dev/null +++ b/util/atc.c @@ -0,0 +1,211 @@ +/* + * QEMU emulation of an ATC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, see . + */ + +#include "util/atc.h" + + +#define PAGE_TABLE_ENTRY_SIZE 8 + +/* a pasid is hashed using the identity function */ +static guint atc_pasid_key_hash(gconstpointer v) +{ + return (guint)(uintptr_t)v; /* pasid */ +} + +/* pasid equality */ +static gboolean atc_pasid_key_equal(gconstpointer v1, gconstpointer v2) +{ + return v1 =3D=3D v2; +} + +/* Hash function for IOTLB entries */ +static guint atc_addr_key_hash(gconstpointer v) +{ + hwaddr addr =3D (hwaddr)v; + return (guint)((addr >> 32) ^ (addr & 0xffffffffU)); +} + +/* Equality test for IOTLB entries */ +static gboolean atc_addr_key_equal(gconstpointer v1, gconstpointer v2) +{ + return (hwaddr)v1 =3D=3D (hwaddr)v2; +} + +static void atc_address_space_free(void *as) +{ + g_hash_table_unref(as); +} + +/* return log2(val), or UINT8_MAX if val is not a power of 2 */ +static uint8_t ilog2(uint64_t val) +{ + uint8_t result =3D 0; + while (val !=3D 1) { + if (val & 1) { + return UINT8_MAX; + } + + val >>=3D 1; + result +=3D 1; + } + return result; +} + +ATC *atc_new(uint64_t page_size, uint8_t address_width) +{ + ATC *atc; + uint8_t log_page_size =3D ilog2(page_size); + /* number of bits each used to store all the intermediate indexes */ + uint64_t addr_lookup_indexes_size; + + if (log_page_size =3D=3D UINT8_MAX) { + return NULL; + } + /* + * We only support page table entries of 8 (PAGE_TABLE_ENTRY_SIZE) byt= es + * log2(page_size / 8) =3D log2(page_size) - 3 + * is the level offset + */ + if (log_page_size <=3D 3) { + return NULL; + } + + atc =3D g_new0(ATC, 1); + atc->address_spaces =3D g_hash_table_new_full(atc_pasid_key_hash, + atc_pasid_key_equal, + NULL, atc_address_space_fr= ee); + atc->level_offset =3D log_page_size - 3; + /* at this point, we know that page_size is a power of 2 */ + atc->min_addr_mask =3D page_size - 1; + addr_lookup_indexes_size =3D address_width - log_page_size; + if ((addr_lookup_indexes_size % atc->level_offset) !=3D 0) { + goto error; + } + atc->levels =3D addr_lookup_indexes_size / atc->level_offset; + atc->page_size =3D page_size; + return atc; + +error: + g_free(atc); + return NULL; +} + +static inline GHashTable *atc_get_address_space_cache(ATC *atc, uint32_t p= asid) +{ + return g_hash_table_lookup(atc->address_spaces, + (gconstpointer)(uintptr_t)pasid); +} + +void atc_create_address_space_cache(ATC *atc, uint32_t pasid) +{ + GHashTable *as_cache; + + as_cache =3D atc_get_address_space_cache(atc, pasid); + if (!as_cache) { + as_cache =3D g_hash_table_new_full(atc_addr_key_hash, + atc_addr_key_equal, + NULL, g_free); + g_hash_table_replace(atc->address_spaces, + (gpointer)(uintptr_t)pasid, as_cache); + } +} + +void atc_delete_address_space_cache(ATC *atc, uint32_t pasid) +{ + g_hash_table_remove(atc->address_spaces, (gpointer)(uintptr_t)pasid); +} + +int atc_update(ATC *atc, IOMMUTLBEntry *entry) +{ + IOMMUTLBEntry *value; + GHashTable *as_cache =3D atc_get_address_space_cache(atc, entry->pasid= ); + if (!as_cache) { + return -ENODEV; + } + value =3D g_memdup2(entry, sizeof(*value)); + g_hash_table_replace(as_cache, (gpointer)(entry->iova), value); + return 0; +} + +IOMMUTLBEntry *atc_lookup(ATC *atc, uint32_t pasid, hwaddr addr) +{ + IOMMUTLBEntry *entry; + hwaddr mask =3D atc->min_addr_mask; + hwaddr key =3D addr & (~mask); + GHashTable *as_cache =3D atc_get_address_space_cache(atc, pasid); + + if (!as_cache) { + return NULL; + } + + /* + * Iterate over the possible page sizes and try to find a hit + */ + for (uint8_t level =3D 0; level < atc->levels; ++level) { + entry =3D g_hash_table_lookup(as_cache, (gconstpointer)key); + if (entry && (mask =3D=3D entry->addr_mask)) { + return entry; + } + mask =3D (mask << atc->level_offset) | ((1 << atc->level_offset) -= 1); + key =3D addr & (~mask); + } + + return NULL; +} + +static gboolean atc_invalidate_entry_predicate(gpointer key, gpointer valu= e, + gpointer user_data) +{ + IOMMUTLBEntry *entry =3D (IOMMUTLBEntry *)value; + IOMMUTLBEntry *target =3D (IOMMUTLBEntry *)user_data; + hwaddr target_mask =3D ~target->addr_mask; + hwaddr entry_mask =3D ~entry->addr_mask; + return ((target->iova & target_mask) =3D=3D (entry->iova & target_mask= )) || + ((target->iova & entry_mask) =3D=3D (entry->iova & entry_mask)); +} + +void atc_invalidate(ATC *atc, IOMMUTLBEntry *entry) +{ + GHashTable *as_cache =3D atc_get_address_space_cache(atc, entry->pasid= ); + if (!as_cache) { + return; + } + g_hash_table_foreach_remove(as_cache, + atc_invalidate_entry_predicate, + entry); +} + +void atc_destroy(ATC *atc) +{ + g_hash_table_unref(atc->address_spaces); +} + +size_t atc_get_max_number_of_pages(ATC *atc, hwaddr addr, size_t length) +{ + hwaddr page_mask =3D ~(atc->min_addr_mask); + size_t result =3D (length / atc->page_size); + if ((((addr & page_mask) + length - 1) & page_mask) !=3D + ((addr + length - 1) & page_mask)) { + result +=3D 1; + } + return result + (length % atc->page_size !=3D 0 ? 1 : 0); +} + +void atc_reset(ATC *atc) +{ + g_hash_table_remove_all(atc->address_spaces); +} diff --git a/util/atc.h b/util/atc.h new file mode 100644 index 0000000000..8be95f5cca --- /dev/null +++ b/util/atc.h @@ -0,0 +1,117 @@ +/* + * QEMU emulation of an ATC + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, see . + */ + +#ifndef UTIL_ATC_H +#define UTIL_ATC_H + +#include "qemu/osdep.h" +#include "exec/memory.h" + +typedef struct ATC { + GHashTable *address_spaces; /* Key : pasid, value : GHashTable */ + hwaddr min_addr_mask; + uint64_t page_size; + uint8_t levels; + uint8_t level_offset; +} ATC; + +/* + * atc_new: Create an ATC. + * + * Return an ATC or NULL if the creation failed + * + * @page_size: #PCIDevice doing the memory access + * @address_width: width of the virtual addresses used by the IOMMU (in bi= ts) + */ +ATC *atc_new(uint64_t page_size, uint8_t address_width); + +/* + * atc_update: Insert or update an entry in the cache + * + * Return 0 if the operation succeeds, a negative error code otherwise + * + * The insertion will fail if the address space associated with this pasid + * has not been created with atc_create_address_space_cache + * + * @atc: the ATC to update + * @entry: the tlb entry to insert into the cache + */ +int atc_update(ATC *atc, IOMMUTLBEntry *entry); + +/* + * atc_create_address_space_cache: delare a new address space + * identified by a PASID + * + * @atc: the ATC to update + * @pasid: the pasid of the address space to be created + */ +void atc_create_address_space_cache(ATC *atc, uint32_t pasid); + +/* + * atc_delete_address_space_cache: delete an address space + * identified by a PASID + * + * @atc: the ATC to update + * @pasid: the pasid of the address space to be deleted + */ +void atc_delete_address_space_cache(ATC *atc, uint32_t pasid); + +/* + * atc_lookup: query the cache in a given address space + * + * @atc: the ATC to query + * @pasid: the pasid of the address space to query + * @addr: the virtual address to translate + */ +IOMMUTLBEntry *atc_lookup(ATC *atc, uint32_t pasid, hwaddr addr); + +/* + * atc_invalidate: invalidate an entry in the cache + * + * @atc: the ATC to update + * @entry: the entry to invalidate + */ +void atc_invalidate(ATC *atc, IOMMUTLBEntry *entry); + +/* + * atc_destroy: delete an ATC + * + * @atc: the cache to be deleted + */ +void atc_destroy(ATC *atc); + +/* + * atc_get_max_number_of_pages: get the number of pages a memory operation + * will access if all the pages concerned have the minimum size. + * + * This function can be used to determine the size of the result array to = be + * allocated when issuing an ATS request. + * + * @atc: the cache + * @addr: start address + * @length: number of bytes accessed from addr + */ +size_t atc_get_max_number_of_pages(ATC *atc, hwaddr addr, size_t length); + +/* + * atc_reset: invalidates all the entries stored in the ATC + * + * @atc: the cache + */ +void atc_reset(ATC *atc); + +#endif diff --git a/util/meson.build b/util/meson.build index 72b505df11..2273f8176a 100644 --- a/util/meson.build +++ b/util/meson.build @@ -93,6 +93,7 @@ if have_block util_ss.add(files('hbitmap.c')) util_ss.add(files('hexdump.c')) util_ss.add(files('iova-tree.c')) + util_ss.add(files('atc.c')) util_ss.add(files('iov.c')) util_ss.add(files('nvdimm-utils.c')) util_ss.add(files('block-helpers.c')) --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899655; cv=pass; d=zohomail.com; s=zohoarc; b=AwsfPlP0eIjou5waXwCCUbGJuFKxH/OxKCcLvMvrz36ZxBZfECMTv35bX2RRN0hCbWuRi5AHDGXjNsFVI2BW09EN1kxUOkd/bg6Vp119Mx8fgZVEBYAoRSyON3L9+G7tHPw4t07gpMwzjtBDAGo4yEv1La9+ZEmF6fmsA/CQv7s= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899655; 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=Pj5z0hAw+NjLn1VR6KL0avt5Uy85jXw0wc6zN5J3Ci8=; b=Jcz4AZsJ3K5k/D0pmi5Qz53MMT5QAtP6tJIR+XPwUyzQOQlmEaHnz7SUeCHvxvB1NXhCOy+thPClvWpea1OjdPoyUC18hEcw5zcY6gpBjzjGcFDyq57jSBpMB/TFjKvlhnzZS0wjgjzHGEnXkSpsBiM6WG+b2ulpGJRr67y8Z6c= 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+importer=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 1719899655390171.81843083034323; Mon, 1 Jul 2024 22:54:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRp-00084t-Va; Tue, 02 Jul 2024 01:53:02 -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 1sOWRe-00080m-T9 for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:50 -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 1sOWRb-0006Tu-8S for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:50 -0400 Received: from mail-db8eur05lp2104.outbound.protection.outlook.com (HELO EUR05-DB8-obe.outbound.protection.outlook.com) ([104.47.17.104]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:46 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AM7PR07MB6215.eurprd07.prod.outlook.com (2603:10a6:20b:13d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:44 +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.7741.017; Tue, 2 Jul 2024 05:52:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899567; x=1751435567; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=Pj5z0hAw+NjLn1VR6KL0avt5Uy85jXw0wc6zN5J3Ci8=; b=oWjZvQ4rthdEmy6SfRKIKmL/8lGGS59ZZvUC5bZv1AXFysZc1F6R7J24 sr2J4yeWzls95TyA8q/rgSSJNpfsaiIu76L33Z5AU1JfSRiBYbd1WT2xg KYB0ksFgMlXmbAqekow9WtTIWy1M8SrhT9anax7ehAxwTj3Cc90OwRqF5 2q3JQHxweejX7aDYcF+r1cT0rC3QRaprNo82nrYBAOIFjfFTEIkkzmJ/9 dI5m8ycrv8R8Ttzmvv2gR83xv9ioJUoNa8nsekfvjhD1+PAhbKNYBEEIO YFXb05IOS4lCob32BjoD7fagto1FE1g6qqKZpdkNgbRtanF3eIJGruAkV w==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721598" X-MGA-submission: =?us-ascii?q?MDHLAU2lft5nCTSx0xuoHwh5TpwqcaI2P9HNgr?= =?us-ascii?q?Rt4F4uFKnuOgbHtAv8mYCu/qaCBncK2ShSlJlDf7FLkF/HN/ED+cSts6?= =?us-ascii?q?kLm+eINJfxBB0iquNgd/ljXQNMSgctmTpov6/BcU/9Cc6Br8r2bXYL91?= =?us-ascii?q?3/+pDQtE+NgVTKAUWCzN8atg=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EWfANAJc+LIH8dEgybl0ij+55vWs6zcedRuRmjzBPksJFPEBZkwucUteSwcEeVU0U6ShRtn/HfytkUGpod4Du6ldp2GvG3svMURtR31ll//BdjpRVRMtvmo9x/4tnGpQeAJQCkit8D5hoY83tGLG4vhmxPYDWEewVez/ZvaiSeGY07AIHl51ZykEoI12bbgWc8y6p+qYYrD/Qhz4AhGvBiZwH5wNrGn/dA3uC2WbgGMgSraY15DfvgbKeRRM6W8STl/gY0aWMxI2SxLgePaf83MXXdTRHrpQpCgV1nfsE2kAf0fsdF81+tz+bt8VQh5WA03gLwvVwj6eR51BdX7dxA== 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=Pj5z0hAw+NjLn1VR6KL0avt5Uy85jXw0wc6zN5J3Ci8=; b=iL3OFQKEy2UCSIZwO6TxTFLQ7BL8sKoUJVYrTv2QhfJ1gboJa+zuWwmbxV60y7z/F0oG3SIgPKcpCN5RAh4jCVuF17s2rqln7gohpTuz1aMceTYI2XZStGQrT2+9ke1kmZaSjvVngaYunjgYrP+r8HBlJaRtb/mfiI+8nF2jAPCRnxDVnyBBNCjB907TyccBvKK8cGXKwvW8XWRs3taUAWXJvui0rBI9r6+ksTja5m57yyh2g0Fwcrmz9ra2SKhgRnwTHGi/8Mndj3LLKMQdHUTYLdLj3t3vo9DcdDSfO3HAdtpCCusYr6OGIcAh84h3TLQY4lcZS1lhlNs8vWEfVQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Pj5z0hAw+NjLn1VR6KL0avt5Uy85jXw0wc6zN5J3Ci8=; b=TzJxB7uDEYWQFiIb5x4ttWgidDND67/zKKKQZA/vtxmizKo1QWfeT7IbbnCA5cffP7ZhPfXMFIJibiYLQxkg0s77MYcnVYsOPPogGzblMnBF0vY6ngGYVSw0HKAuytuD9caKsGKuCQVdTF+r6FXvrUuUDW2KKXxd1Wfl4A18zTuFzDil4ZGNM36PkYYsTJiky4/gMpQ9VDvPenGqE7Pwl4qYZ0zK9zXhi51J7ejNBYEs0KoaJVg01C/LLWC15u01EsJKcEANSm9SA1NJAVAsll2wiBA0KVzUVuoXh25MFh5qtbwCSGcIZqDyEsNvkH+OxfwtzAjv3Z9bPd4nJ6PWYw== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 18/22] atc: add unit tests Thread-Topic: [PATCH ats_vtd v5 18/22] atc: add unit tests Thread-Index: AQHazEQOeVc1WhZ78kmCQrNa03Z5zA== Date: Tue, 2 Jul 2024 05:52:43 +0000 Message-ID: <20240702055221.1337035-19-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AM7PR07MB6215:EE_ x-ms-office365-filtering-correlation-id: ddfa4ef8-ef5f-420a-c7a9-08dc9a5b313c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?SGF5bWRTRHExcmJrUnpzNHdaMk5CaTdUZlUvdEV1Q3lKaWRhLzBnbS9aSGtn?= =?utf-8?B?cndvdGpyRS9uL1ZFb21BeHhsY0h5RklJaUpoNlNEc3V1bEhoVXJ6NWN1YzA1?= =?utf-8?B?Qzdieis0SitwdmVRMlViT2htbVdmamtBN1hzdUMrT2p3OVYyRkdrbmhENlcx?= =?utf-8?B?Ti9zK2prRjFGaHFtL05zOGxaZmVIK2dqNDc2M1Y4eHd1UGdKMU9Lb2IvRldp?= =?utf-8?B?bDJnWGwra0lLSHcxMGhlRmIrZ0dZblBudDRnbno1NVNrQ2NWUFhsMXcwYVdU?= =?utf-8?B?TUZuTUgrcXJvR1AyL0orT3pEbGFTQzc3TEhhc3NRdVdTbFYwVkJvQmlpWFlH?= =?utf-8?B?RnIyWEd2VUdXVGEvWlFqaDZJR2ZEWjhJdzV6cVhrWlVlWmxETDJNTlRadVVp?= =?utf-8?B?TU5EekxFdDNiczRVZHREeklVcHJURTZHUUJFU25HaHJaeUVSZitIZXlKb2hp?= =?utf-8?B?OXVMbHNGOHdBdk42OE0rMzdrd1B1NDhaL3VVQnZsNWVMTnZDRHpqVDFJeUIy?= =?utf-8?B?MUJ2Q2JiMEJwL1BvamJMTjVQYXh3UEd6UUJhRWtPMmN1NzMvQS9sVmtpVCtX?= =?utf-8?B?YjQ4WllwWUk5N3BwY1Jyb21INDRjbHhzakRlRWNyZUk4a3grZ085TW9abUtW?= =?utf-8?B?UC9hN0NBRGFyMDhVWGNBdGdxV1lZY0lDMnNNa2R5cEc4TE02RnQ3cVY3SlBt?= =?utf-8?B?SGJpNEcwZkZPWDhsQ2t4blNPcWo3eXgzR3Q2TGpQQVIrU1RoSTJNb0RjdWFk?= =?utf-8?B?Nm1RT05qMnRJb0UrdmNiMEpMYlNsSUhHdUtFVGtsbjBqVHBBcjZSM2ZSTjRo?= =?utf-8?B?a1drU09vL1ZyazhyS2xuN3daeURUNG1pejZIelRpTDVnODVSWUVvd3ltMWFu?= =?utf-8?B?VWl6bmF6VTNuSlJEYndBaSt5RUJuVXM5K1hoL1hpRkZVODJkVGk2M2Y1bDJv?= =?utf-8?B?NHVlZmNZdEpzd3MrclFFT2VYY1h1NkZuOFlYL2pnU1p1WENsK0lIWE5wYlQ2?= =?utf-8?B?NkZzMWJ3Z2NTVTZqZ0JiaS9lUjIrNldSbVNTYVRIRFRoMmY0bW5IdE1LbEFt?= =?utf-8?B?U1Q3SWtRZEx1aWVHTGlTYXd2Nzh5MnVJcUJxT3YyRDZWQmZLUUZ5NVp6WXUz?= =?utf-8?B?b3VtdFQ2VXBwcHo1eTkwdkFGU2NVVklpQTBmYjllS3Q2bEJLSjJBTUEwbnJk?= =?utf-8?B?Rm95SlVuSTRqTlkvbkhtK1RCZG5XamxEQVZ6WmRQdmNHTW9IUmh0N09nNUJQ?= =?utf-8?B?bUQvTzEwVE9jcnlWOGZjeVplamp6elFIK2FjWjBtS3VBR1JNekc0NlBVa3k5?= =?utf-8?B?Vkc0MEVkbklaVm1rRERFUDZHSklpbERoUkF6VmZETVNzU2ZWNXVWbitnMk9m?= =?utf-8?B?RDZGVnZ0MnFBQjZRK1phTk9jR2R6eFlrMnRXUVNuU0tGUkJ5WGZjOXcvN0N3?= =?utf-8?B?UmhCbEhHVjFqRHQ1ZGsvZFZVQUs3KzNaTTdsanhRU0cxSWY4djJRUHdyTklD?= =?utf-8?B?by8vQkVTeEVweFpiMlE0UTRqT0dpQytWQktoTCtiQ3NKRkNBZXdqU3Rac3VE?= =?utf-8?B?Nmx3aG01SzFKVkxRV2Zpb1E1SThBOWlXRFEydnUySG1aYlRyZXl3ZDJ1Ykpi?= =?utf-8?B?aDk5RzJ5eHpxY0NUSCsxcmZIdHhCMGZBd3pLVTdFRjRNOExHd3hpNm5EZHFM?= =?utf-8?B?NkY1ZGViclBLeXhiOUVDWTllNmdHRkdhdlVMSWMwY3crVWx0dHRhTFd5U2Nl?= =?utf-8?B?enFjYVRtektnMzV4YU8xZmtMWTQralp2Wk53NVpDWUhMdm1Db1RTVFNaYkZS?= =?utf-8?Q?XSiklEgYiOhXEo44SpFvRlCrxbSo7yHs8L9uE=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:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eGxZWU1ZRlUvbjF6QmtrdkQ1anEzaGx0cU1YSVRnRG05YkV4LzJsaTlhSWdT?= =?utf-8?B?U1p5Zm92b2o1dlFYM0Z3S212ZEQ2eUpadlVtR1RTY2R4RGh3NVA4ZW85RTRH?= =?utf-8?B?RElDQ3U2MVM3MVV6SFF1cVV5SmpKREVGdWpIU1VGOGdmVENkM1o5Y0hDbnEr?= =?utf-8?B?RWRkUzhFMWxsbHhubUlVOVZlNXRlSWt5TlYzQ2poMGdoU2F2aTlzMVZpSWov?= =?utf-8?B?K2xDd0Y3bk5QMmhwUk45ZDYzeElQMzF6TllSSjZVUHdvTk95b1dETGlMZ2dq?= =?utf-8?B?N2ZveHI2dDF4aEIyOEdCS1lVSjV6eE4vdG1KT3VmcXBzN0JqNnptZjM4WE14?= =?utf-8?B?Z0s0M1dQSitzT3ZVMkxvTEV2S2p1SXF6OGEwanZWbXVhVThIaGd3UHE1SWJ1?= =?utf-8?B?azhMK2RHRXVRMDhBYzBML0hpV09LVWxYVGZMZUw5VkR2emRyYXBRR09WTWdp?= =?utf-8?B?ZUpBRWNnUTRHNmVNWVlWYUwrVXV6aXc0WVg5cElHNjN2UW1RMGRJNHBhZmxP?= =?utf-8?B?Vm1KVXl4WWFMMElDQ2g2d25WT1hpUFpuUmpRMXMwMXFreUFCeEM1a05qMkU1?= =?utf-8?B?Zk1yZm92aXBrbFJvSVp1TW9JelFNdUZJWnYwR0dWSStYRnNSRjl2Qms3K2k4?= =?utf-8?B?em1TbG5tcFMyYTBjWFVDREJZc1B0c0dsR1NMZnlhdFR5MFJIWkhzM1BNYUVX?= =?utf-8?B?eUNEcGdGUlhsclprT3VxRWNiWGZ3K05jQzEwVFVwaXFLaXdtbjZIUDN0YXJZ?= =?utf-8?B?RUIwaEVBWXc5VmE0ZGZIclgzbzEzdUt5YlI2RVhPZzZETFR6ejNHZ0F6eGlS?= =?utf-8?B?ZjJjaW14WW1vQTUvN3ByQlNlY0c0aUhFZDFIdjV6M1BXTU5KUGFzZFMza2Vh?= =?utf-8?B?MG5XNDA2WHZNMmdmRDJDcEN6TFJyODZYbEFDUTZ1VEtsY0U3MlBWUG5zazJT?= =?utf-8?B?OS9BWTZxZTgxVHlZRWVFYjQ2c3pWOFRtVGRYVTZXTTNuWlpjQzlRbHJ6dzkv?= =?utf-8?B?NFc4QzByaS9uQTQzMStvRDAycWRKWlFnQ01KTVErOEJ0bzE2RWNWUFVZYks5?= =?utf-8?B?cHZ1S1R0dHJDM0dBenlVVjM2dFNTeVl5VVhmVWtQV0thOEtsK25QVUlGOEZj?= =?utf-8?B?Qk9yeUxJQlRJQ0pKY3czeEY3b1BzSWdNSjE4cEcwRmJ4QlB2YnpjWVdySmdR?= =?utf-8?B?S3dVaElLUnFhWWtSK3RQcGxpU3lLOWxtTjdObVlZV2gzSFpYZ1JWVGczVXJ5?= =?utf-8?B?V1lzS1MxRHFFOUZrZEhpUVdUOWxNemg4RGtDdzdkNkpYeTZVdnA0citlVmUz?= =?utf-8?B?MEV5aDY0SzNDVzFpUVdzSW9zNnZqSDA3a1llQ2RoK2luWG1jTm5JS1FiYzMw?= =?utf-8?B?T0dPQll6QVVNUHhNQmd0aUhNNjlRQnFLTlAyNld6ODFpMkZmUVJyRnlUTnZq?= =?utf-8?B?bWZBNndWY043ajB1KzRxYXlsSFhIbFNyMTNzM0J5Ri9idnRkenhjaGRZbmp0?= =?utf-8?B?aVJjRlYxbHd1SWVpTTRpTk1mdllvOUhnem1lMS9WRjRIaHdGeHJIdDEzVVRa?= =?utf-8?B?VjFveUlDWjhEY1U1bUlIRkxsSU9uYTNWZXRnZ1RPeGFjQ0tTRk1pQmtoL1RK?= =?utf-8?B?ZU1HV0NDdHdRUUM2TTFIRnJ2Y1grbnFodzlBdmRsQUFxdWpIekY1WEp1ZGtH?= =?utf-8?B?b2loK0dTUDNvUmJqRWhKd0wzN1BXWXdPUjVvc1lGOVhYMko5SWs0Q3lGaCs2?= =?utf-8?B?YjNCOUMrNTVjTUVub3NxREZNS2NhNmRIM0wwWnFwSzZvZ3FQaENqdUtuZ2pK?= =?utf-8?B?b2duN0piMnBrYWw3WUdoaitQSExjSkY2Ky9mRHNYT0xQNTN4Q0x5a3BNeDdB?= =?utf-8?B?S0h2UlA4WUxRTUNIU3REMGowU1ViTHdKanB2cUxuWmMvYkJQay95Yy9xZG5U?= =?utf-8?B?Q2dvdXpGYmdKd1FZWTVtRkZWNlBSYlRUc0NodE03N2lBNWVWWm9BdHJENjNo?= =?utf-8?B?NllWQUJ4dFZsRjk0WTRyd2h6QWRZeXRRWVJJekNyRVJ6bEJqbElQdTdMa01z?= =?utf-8?B?VnRGbWg1blJvcVB3aXJsSGt1MHpDazJDUW44MDVhQUJ4RmZpblhDazB1cmZr?= =?utf-8?B?ekhWYmwzMkZYcDR5cjVHeWEwTXJIWElsR3RCMTNGakRhaVhGcWY3L3RnejdF?= =?utf-8?Q?jsRbyXGQTFHhltwigivp9mo=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <6D8514AA069F854B860A4E22BBD1C81C@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: ddfa4ef8-ef5f-420a-c7a9-08dc9a5b313c X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:43.8095 (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: JUz6DnfK7bil8rO5ZR8UECKELyl+idf44UP3QNlwD+taX4dR3s5/RpvteTcMqbKxKUZHJyQ92udY0VeE2WBg509IyBcy+6aaso6h+Z1cLgfo9pwpvLCIMb9OVf3G+gzd X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR07MB6215 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899656403100003 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- tests/unit/meson.build | 1 + tests/unit/test-atc.c | 527 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 528 insertions(+) create mode 100644 tests/unit/test-atc.c diff --git a/tests/unit/meson.build b/tests/unit/meson.build index 26c109c968..d6c6c574de 100644 --- a/tests/unit/meson.build +++ b/tests/unit/meson.build @@ -47,6 +47,7 @@ tests =3D { 'test-logging': [], 'test-qapi-util': [], 'test-interval-tree': [], + 'test-atc': [] } =20 if have_system or have_tools diff --git a/tests/unit/test-atc.c b/tests/unit/test-atc.c new file mode 100644 index 0000000000..89378f7f63 --- /dev/null +++ b/tests/unit/test-atc.c @@ -0,0 +1,527 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + + * You should have received a copy of the GNU General Public License along + * with this program; if not, see . + */ + +#include "util/atc.h" + +static inline bool tlb_entry_equal(IOMMUTLBEntry *e1, IOMMUTLBEntry *e2) +{ + if (!e1 || !e2) { + return !e1 && !e2; + } + return e1->iova =3D=3D e2->iova && + e1->addr_mask =3D=3D e2->addr_mask && + e1->pasid =3D=3D e2->pasid && + e1->perm =3D=3D e2->perm && + e1->target_as =3D=3D e2->target_as && + e1->translated_addr =3D=3D e2->translated_addr; +} + +static void assert_lookup_equals(ATC *atc, IOMMUTLBEntry *target, + uint32_t pasid, hwaddr iova) +{ + IOMMUTLBEntry *result; + result =3D atc_lookup(atc, pasid, iova); + g_assert(tlb_entry_equal(result, target)); +} + +static void check_creation(uint64_t page_size, uint8_t address_width, + uint8_t levels, uint8_t level_offset, + bool should_work) { + ATC *atc =3D atc_new(page_size, address_width); + if (atc) { + if (atc->levels !=3D levels || atc->level_offset !=3D level_offset= ) { + g_assert(false); /* ATC created but invalid configuration : fa= il */ + } + atc_destroy(atc); + g_assert(should_work); + } else { + g_assert(!should_work); + } +} + +static void test_creation_parameters(void) +{ + check_creation(8, 39, 3, 9, false); + check_creation(4095, 39, 3, 9, false); + check_creation(4097, 39, 3, 9, false); + check_creation(8192, 48, 0, 0, false); + + check_creation(4096, 38, 0, 0, false); + check_creation(4096, 39, 3, 9, true); + check_creation(4096, 40, 0, 0, false); + check_creation(4096, 47, 0, 0, false); + check_creation(4096, 48, 4, 9, true); + check_creation(4096, 49, 0, 0, false); + check_creation(4096, 56, 0, 0, false); + check_creation(4096, 57, 5, 9, true); + check_creation(4096, 58, 0, 0, false); + + check_creation(16384, 35, 0, 0, false); + check_creation(16384, 36, 2, 11, true); + check_creation(16384, 37, 0, 0, false); + check_creation(16384, 46, 0, 0, false); + check_creation(16384, 47, 3, 11, true); + check_creation(16384, 48, 0, 0, false); + check_creation(16384, 57, 0, 0, false); + check_creation(16384, 58, 4, 11, true); + check_creation(16384, 59, 0, 0, false); +} + +static void test_single_entry(void) +{ + IOMMUTLBEntry entry =3D { + .iova =3D 0x123456789000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 5, + .perm =3D IOMMU_RW, + .translated_addr =3D 0xdeadbeefULL, + }; + + ATC *atc =3D atc_new(4096, 48); + g_assert(atc); + + assert_lookup_equals(atc, NULL, entry.pasid, + entry.iova + (entry.addr_mask / 2)); + + atc_create_address_space_cache(atc, entry.pasid); + g_assert(atc_update(atc, &entry) =3D=3D 0); + + assert_lookup_equals(atc, NULL, entry.pasid + 1, + entry.iova + (entry.addr_mask / 2)); + assert_lookup_equals(atc, &entry, entry.pasid, + entry.iova + (entry.addr_mask / 2)); + + atc_destroy(atc); +} + +static void test_single_entry_2(void) +{ + static uint64_t page_size =3D 4096; + IOMMUTLBEntry e1 =3D { + .iova =3D 0xabcdef200000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x5eedULL, + }; + + ATC *atc =3D atc_new(page_size , 48); + atc_create_address_space_cache(atc, e1.pasid); + atc_update(atc, &e1); + + assert_lookup_equals(atc, NULL, e1.pasid, 0xabcdef201000ULL); + + atc_destroy(atc); +} + +static void test_page_boundaries(void) +{ + static const uint32_t pasid =3D 5; + static const hwaddr page_size =3D 4096; + + /* 2 consecutive entries */ + IOMMUTLBEntry e1 =3D { + .iova =3D 0x123456789000ULL, + .addr_mask =3D page_size - 1, + .pasid =3D pasid, + .perm =3D IOMMU_RW, + .translated_addr =3D 0xdeadbeefULL, + }; + IOMMUTLBEntry e2 =3D { + .iova =3D e1.iova + page_size, + .addr_mask =3D page_size - 1, + .pasid =3D pasid, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x900df00dULL, + }; + + ATC *atc =3D atc_new(page_size, 48); + + atc_create_address_space_cache(atc, e1.pasid); + /* creating the address space twice should not be a problem */ + atc_create_address_space_cache(atc, e1.pasid); + + atc_update(atc, &e1); + atc_update(atc, &e2); + + assert_lookup_equals(atc, NULL, e1.pasid, e1.iova - 1); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova + e1.addr_mask); + g_assert((e1.iova + e1.addr_mask + 1) =3D=3D e2.iova); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova + e2.addr_mask); + assert_lookup_equals(atc, NULL, e2.pasid, e2.iova + e2.addr_mask + 1); + + assert_lookup_equals(atc, NULL, e1.pasid + 10, e1.iova); + assert_lookup_equals(atc, NULL, e2.pasid + 10, e2.iova); + atc_destroy(atc); +} + +static void test_huge_page(void) +{ + static const uint32_t pasid =3D 5; + static const hwaddr page_size =3D 4096; + IOMMUTLBEntry e1 =3D { + .iova =3D 0x123456600000ULL, + .addr_mask =3D 0x1fffffULL, + .pasid =3D pasid, + .perm =3D IOMMU_RW, + .translated_addr =3D 0xdeadbeefULL, + }; + hwaddr addr; + + ATC *atc =3D atc_new(page_size, 48); + + atc_create_address_space_cache(atc, e1.pasid); + atc_update(atc, &e1); + + for (addr =3D e1.iova; addr <=3D e1.iova + e1.addr_mask; addr +=3D pag= e_size) { + assert_lookup_equals(atc, &e1, e1.pasid, addr); + } + /* addr is now out of the huge page */ + assert_lookup_equals(atc, NULL, e1.pasid, addr); + atc_destroy(atc); +} + +static void test_pasid(void) +{ + hwaddr addr =3D 0xaaaaaaaaa000ULL; + IOMMUTLBEntry e1 =3D { + .iova =3D addr, + .addr_mask =3D 0xfffULL, + .pasid =3D 8, + .perm =3D IOMMU_RW, + .translated_addr =3D 0xdeadbeefULL, + }; + IOMMUTLBEntry e2 =3D { + .iova =3D addr, + .addr_mask =3D 0xfffULL, + .pasid =3D 2, + .perm =3D IOMMU_RW, + .translated_addr =3D 0xb001ULL, + }; + uint16_t i; + + ATC *atc =3D atc_new(4096, 48); + + atc_create_address_space_cache(atc, e1.pasid); + atc_create_address_space_cache(atc, e2.pasid); + atc_update(atc, &e1); + atc_update(atc, &e2); + + for (i =3D 0; i <=3D MAX(e1.pasid, e2.pasid) + 1; ++i) { + if (i =3D=3D e1.pasid || i =3D=3D e2.pasid) { + continue; + } + assert_lookup_equals(atc, NULL, i, addr); + } + assert_lookup_equals(atc, &e1, e1.pasid, addr); + assert_lookup_equals(atc, &e1, e1.pasid, addr); + atc_destroy(atc); +} + +static void test_large_address(void) +{ + IOMMUTLBEntry e1 =3D { + .iova =3D 0xaaaaaaaaa000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 8, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x5eeeeeedULL, + }; + IOMMUTLBEntry e2 =3D { + .iova =3D 0x1f00baaaaabf000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D e1.pasid, + .perm =3D IOMMU_RW, + .translated_addr =3D 0xdeadbeefULL, + }; + + ATC *atc =3D atc_new(4096, 57); + + atc_create_address_space_cache(atc, e1.pasid); + atc_update(atc, &e1); + atc_update(atc, &e2); + + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova); + atc_destroy(atc); +} + +static void test_bigger_page(void) +{ + IOMMUTLBEntry e1 =3D { + .iova =3D 0xaabbccdde000ULL, + .addr_mask =3D 0x1fffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x5eeeeeedULL, + }; + hwaddr i; + + ATC *atc =3D atc_new(8192, 43); + + atc_create_address_space_cache(atc, e1.pasid); + atc_update(atc, &e1); + + i =3D e1.iova & (~e1.addr_mask); + assert_lookup_equals(atc, NULL, e1.pasid, i - 1); + while (i <=3D e1.iova + e1.addr_mask) { + assert_lookup_equals(atc, &e1, e1.pasid, i); + ++i; + } + assert_lookup_equals(atc, NULL, e1.pasid, i); + atc_destroy(atc); +} + +static void test_unknown_pasid(void) +{ + IOMMUTLBEntry e1 =3D { + .iova =3D 0xaabbccfff000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x5eeeeeedULL, + }; + + ATC *atc =3D atc_new(4096, 48); + g_assert(atc_update(atc, &e1) !=3D 0); + assert_lookup_equals(atc, NULL, e1.pasid, e1.iova); + atc_destroy(atc); +} + +static void test_invalidation(void) +{ + static uint64_t page_size =3D 4096; + IOMMUTLBEntry e1 =3D { + .iova =3D 0xaabbccddf000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x5eeeeeedULL, + }; + IOMMUTLBEntry e2 =3D { + .iova =3D 0xffe00000ULL, + .addr_mask =3D 0x1fffffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0xb000001ULL, + }; + IOMMUTLBEntry e3; + + ATC *atc =3D atc_new(page_size , 48); + atc_create_address_space_cache(atc, e1.pasid); + + atc_update(atc, &e1); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + atc_invalidate(atc, &e1); + assert_lookup_equals(atc, NULL, e1.pasid, e1.iova); + + atc_update(atc, &e1); + atc_update(atc, &e2); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova); + atc_invalidate(atc, &e2); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + assert_lookup_equals(atc, NULL, e2.pasid, e2.iova); + + /* invalidate a huge page by invalidating a small region */ + for (hwaddr addr =3D e2.iova; addr <=3D (e2.iova + e2.addr_mask); + addr +=3D page_size) { + atc_update(atc, &e2); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova); + e3 =3D (IOMMUTLBEntry){ + .iova =3D addr, + .addr_mask =3D page_size - 1, + .pasid =3D e2.pasid, + .perm =3D IOMMU_RW, + .translated_addr =3D 0, + }; + atc_invalidate(atc, &e3); + assert_lookup_equals(atc, NULL, e2.pasid, e2.iova); + } + atc_destroy(atc); +} + +static void test_delete_address_space_cache(void) +{ + static uint64_t page_size =3D 4096; + IOMMUTLBEntry e1 =3D { + .iova =3D 0xaabbccddf000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x5eeeeeedULL, + }; + IOMMUTLBEntry e2 =3D { + .iova =3D e1.iova, + .addr_mask =3D 0xfffULL, + .pasid =3D 2, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x5eeeeeedULL, + }; + + ATC *atc =3D atc_new(page_size , 48); + atc_create_address_space_cache(atc, e1.pasid); + + atc_update(atc, &e1); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + atc_invalidate(atc, &e2); /* unkown pasid : is a nop*/ + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + + atc_create_address_space_cache(atc, e2.pasid); + atc_update(atc, &e2); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova); + atc_invalidate(atc, &e1); + /* e1 has been removed but e2 is still there */ + assert_lookup_equals(atc, NULL, e1.pasid, e1.iova); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova); + + atc_update(atc, &e1); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova); + + atc_delete_address_space_cache(atc, e2.pasid); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + assert_lookup_equals(atc, NULL, e2.pasid, e2.iova); + atc_destroy(atc); +} + +static void test_invalidate_entire_address_space(void) +{ + static uint64_t page_size =3D 4096; + IOMMUTLBEntry e1 =3D { + .iova =3D 0x1000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x5eedULL, + }; + IOMMUTLBEntry e2 =3D { + .iova =3D 0xfffffffff000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0xbeefULL, + }; + IOMMUTLBEntry e3 =3D { + .iova =3D 0, + .addr_mask =3D 0xffffffffffffffffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0, + }; + + ATC *atc =3D atc_new(page_size , 48); + atc_create_address_space_cache(atc, e1.pasid); + + atc_update(atc, &e1); + atc_update(atc, &e2); + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova); + atc_invalidate(atc, &e3); + /* e1 has been removed but e2 is still there */ + assert_lookup_equals(atc, NULL, e1.pasid, e1.iova); + assert_lookup_equals(atc, NULL, e2.pasid, e2.iova); + + atc_destroy(atc); +} + +static void test_reset(void) +{ + static uint64_t page_size =3D 4096; + IOMMUTLBEntry e1 =3D { + .iova =3D 0x1000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 1, + .perm =3D IOMMU_RW, + .translated_addr =3D 0x5eedULL, + }; + IOMMUTLBEntry e2 =3D { + .iova =3D 0xfffffffff000ULL, + .addr_mask =3D 0xfffULL, + .pasid =3D 2, + .perm =3D IOMMU_RW, + .translated_addr =3D 0xbeefULL, + }; + + ATC *atc =3D atc_new(page_size , 48); + atc_create_address_space_cache(atc, e1.pasid); + atc_create_address_space_cache(atc, e2.pasid); + atc_update(atc, &e1); + atc_update(atc, &e2); + + assert_lookup_equals(atc, &e1, e1.pasid, e1.iova); + assert_lookup_equals(atc, &e2, e2.pasid, e2.iova); + + atc_reset(atc); + + assert_lookup_equals(atc, NULL, e1.pasid, e1.iova); + assert_lookup_equals(atc, NULL, e2.pasid, e2.iova); + atc_destroy(atc); +} + +static void test_get_max_number_of_pages(void) +{ + static uint64_t page_size =3D 4096; + hwaddr base =3D 0xc0fee000; /* aligned */ + ATC *atc =3D atc_new(page_size , 48); + g_assert(atc_get_max_number_of_pages(atc, base, page_size / 2) =3D=3D = 1); + g_assert(atc_get_max_number_of_pages(atc, base, page_size) =3D=3D 1); + g_assert(atc_get_max_number_of_pages(atc, base, page_size + 1) =3D=3D = 2); + + g_assert(atc_get_max_number_of_pages(atc, base + 10, 1) =3D=3D 1); + g_assert(atc_get_max_number_of_pages(atc, base + 10, page_size - 10) = =3D=3D 1); + g_assert(atc_get_max_number_of_pages(atc, base + 10, + page_size - 10 + 1) =3D=3D 2); + g_assert(atc_get_max_number_of_pages(atc, base + 10, + page_size - 10 + 2) =3D=3D 2); + + g_assert(atc_get_max_number_of_pages(atc, base + page_size - 1, 1) =3D= =3D 1); + g_assert(atc_get_max_number_of_pages(atc, base + page_size - 1, 2) =3D= =3D 2); + g_assert(atc_get_max_number_of_pages(atc, base + page_size - 1, 3) =3D= =3D 2); + + g_assert(atc_get_max_number_of_pages(atc, base + 10, page_size * 20) = =3D=3D 21); + g_assert(atc_get_max_number_of_pages(atc, base + 10, + (page_size * 20) + (page_size - 1= 0)) + =3D=3D 21); + g_assert(atc_get_max_number_of_pages(atc, base + 10, + (page_size * 20) + + (page_size - 10 + 1)) =3D=3D 22); +} + +int main(int argc, char **argv) +{ + g_test_init(&argc, &argv, NULL); + g_test_add_func("/atc/test_creation_parameters", test_creation_paramet= ers); + g_test_add_func("/atc/test_single_entry", test_single_entry); + g_test_add_func("/atc/test_single_entry_2", test_single_entry_2); + g_test_add_func("/atc/test_page_boundaries", test_page_boundaries); + g_test_add_func("/atc/test_huge_page", test_huge_page); + g_test_add_func("/atc/test_pasid", test_pasid); + g_test_add_func("/atc/test_large_address", test_large_address); + g_test_add_func("/atc/test_bigger_page", test_bigger_page); + g_test_add_func("/atc/test_unknown_pasid", test_unknown_pasid); + g_test_add_func("/atc/test_invalidation", test_invalidation); + g_test_add_func("/atc/test_delete_address_space_cache", + test_delete_address_space_cache); + g_test_add_func("/atc/test_invalidate_entire_address_space", + test_invalidate_entire_address_space); + g_test_add_func("/atc/test_reset", test_reset); + g_test_add_func("/atc/test_get_max_number_of_pages", + test_get_max_number_of_pages); + return g_test_run(); +} --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899761; cv=pass; d=zohomail.com; s=zohoarc; b=SiswJAp8599kzhUIkCxFPYLRFpg9yrXL8BGGlEAwJjnSOMrwJG5coUixjDu5uyUTB6A/bjJY0jgu6hQamCs7vlA2//tUpTEuB07DLDIYQvu7Uzg6Xbt3uMTyukGfqvAht72ta1yMtPIZXsHDFPH8Pr+o8czLPnw3yREgPVR9LWo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899761; 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=uURpO697BJoj6AGiwIj7FDv0GD3NcoC+arT0L1cxEHg=; b=Q7YdRzsk+J+T06EMgwbxypoW04adG1rR9JlchqCyUtvVjBKM8pDpU+5lQFAd8AbeXOkGLyAL5IGkmFF8iLNIBVPuOU/tDFb826nxsKbHAQ2Q2c561cpDdJ2pjYy2lbo/Sm1Fo1GOKVphksQrYn49SaBZs8kD4xy7ygfjrKd6pFI= 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+importer=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 1719899761079494.1500512190953; Mon, 1 Jul 2024 22:56:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRo-00084K-7r; Tue, 02 Jul 2024 01:53:00 -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 1sOWRe-00080a-Mq for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:50 -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 1sOWRc-0006b9-Cb for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:50 -0400 Received: from mail-db8eur05lp2104.outbound.protection.outlook.com (HELO EUR05-DB8-obe.outbound.protection.outlook.com) ([104.47.17.104]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:47 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AM7PR07MB6215.eurprd07.prod.outlook.com (2603:10a6:20b:13d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:44 +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.7741.017; Tue, 2 Jul 2024 05:52:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899568; x=1751435568; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=uURpO697BJoj6AGiwIj7FDv0GD3NcoC+arT0L1cxEHg=; b=nnzZqchFsscFnvrRhrj80P5maoJwsvoEXuiZordrv/ZsnuuBuXz2jxML pgWIIvE+x4RnJxfTgq0uisdwzQiFvkDbfZB4rzovmyqrlw1NS+mc6WNQC BZyEgj3r7/aviVDQp+wN6i+fhg+HbnG7/i9Fos9pJgvmieZ89QlxKxqGq t2DL/YsIsLZptgeBBIBBWu8NIzYR5XgED/p4J1kpPngzx6QU5M8wOuypS An1ILutANL+BA4g4y30yN1r47shvhOGbjeZXi8fTmaRDnHmrPhr8NMX7U xDlBg+4cdbql5TYZ350ylJfPMZqXWqD/WoRilpoNpbyb/Fw+mY0W+nTNw w==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721602" X-MGA-submission: =?us-ascii?q?MDF5T5rs6JXIApWHkNP8w+Y9fcB4KmelyVPoLk?= =?us-ascii?q?1bLPG5Ez6TzI4ZVmkhNJK8fQyWOq7ejF/3x88FvQ4M+grQpPMYlwzQt8?= =?us-ascii?q?9MavadkrhtIvGvMek3poozHTRtwTtmqzxKS/balpGUmITTAsYt9Te9bp?= =?us-ascii?q?aecgLqo8wm/VgT/2Z5GRvMmw=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jcRSPq+IQq4y0OvyPgIJHH+7PXWJSNOEEAliyPTYg2Djb389Hvy4nsBfmweDTGcGR9/XvgrX9qotx8pNp5RtQc1/VxnXpGFZvJ/+YP2dqbXj6UUjnlxXhogvYsgjZmUgOTns8pUcK2zEB8U65QVwEfzZbf3B8g76yITs0R4LsDhOd0yUKebMp0o39vdHVtV6LW4qCBlE9DX6lbCPLqU/md6LWRjPYmoME1aOoAtg0Wzzy+2IIbGQVe16Zy5s8E7nUu4C4RU4WGECYK6Kut6GS4yCk5MTOcEzLWSFXttjH8gP7bOIrmfcr/1GA5BvTiBeNd8ZIBP1R39n9Eg5v66Jqw== 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=uURpO697BJoj6AGiwIj7FDv0GD3NcoC+arT0L1cxEHg=; b=CxX1u6VMsZMuKhDe0P5S4iUHx8UoNsO5Kwu18Q+cPrNfW9rY1jolkrFgVa4ObIXX43DuErItVnJjGg7RcCv6uCZWDhO29O1CysgUzNec6QgKCI0ghji6vFs1QtB/XPJRjuDhJj9h8Oz0e5omgOsuSlBxw5/GvRC6psBLoJdCUcWRSlrL3d+PBBLuk5sDszH8AjsmbYBlTmk3adlczj5vl779Ryilor/rZQgBIzd8bNMl5KQtQAVzds5OEW0Uvv52dsNrh2Uux/vovUB47Ztssx4oKB+iysgUhx7tqO5RVt8rHnyqgU3Gx/lkFFFgqJwMDGhqOcRmg2CRyglHTNnGOA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=uURpO697BJoj6AGiwIj7FDv0GD3NcoC+arT0L1cxEHg=; b=gjo85wzfp07PAHmFkBYJu3Fo+UchodubMQmgn+DNy+DD3rLQFhr065ShltrM0xal+z7m00PizfkL5iWTCTkjEGnlrrJb4Jnad40NUrcVJEw54AUlhQWPmu0wwLh1ntf93SPsAAWmoHnLGLRiutzGfCLeEvU7xyAofedvqdTjcT2o2zsRL9VQMd8z/edjyQqrrlF/L2Ki1KVV7ps2Zo4B7G1HUkNXMNI7nZcYKZu33sX0YmOC04PG1B2yncVV+sQvAPXX3uRn/v2LI1cYbp79giAt5Bh76eLx/IYioTZ6a1ASTyL0urASnjIrBpDo4XKG1Gc5ZegBPrnhoDQBV5wPQw== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 19/22] memory: add an API for ATS support Thread-Topic: [PATCH ats_vtd v5 19/22] memory: add an API for ATS support Thread-Index: AQHazEQPuEYX/3NIkkWJkupwBDAHeg== Date: Tue, 2 Jul 2024 05:52:44 +0000 Message-ID: <20240702055221.1337035-20-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AM7PR07MB6215:EE_ x-ms-office365-filtering-correlation-id: e16c1f1f-f0ea-4c17-d229-08dc9a5b31b8 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?THFwNUJEb0hmSjB1Z0l2R2s5RWtkY0N5ZmNhYmlXVGJySzh0VUtNdXhkR2o2?= =?utf-8?B?aXkvNVYzT3RxY2lDQ2lWb0xiaVpFbWFORFVRTTlkWnJUSEUrWUs1QzFtRTJM?= =?utf-8?B?cWJ4U3NrUzdrMzFiQVRvNG5ob1lnUDQzQnNWSDFZbWF0c1FheW9lbm1zWnFk?= =?utf-8?B?TVN6eVJoY0pGMlJPZkFsT05UcmJUT1F4TmhneHE3eGRuSWlXNXhSMmlDYTBJ?= =?utf-8?B?RkpTYmt4RWRwM1V5V2JRYXdLYmpLS0ZzU3JHS0xCZ0I3RFBTQkFwMU1DYXY0?= =?utf-8?B?ZTBJdzdsT1RjSTMxSUZ4RlNELzVHdzVCN1RHZnd5NytzcEMxZUJNUEdTbWNa?= =?utf-8?B?Vk43KzNmSWhpdU9IS2NpVldZQ0pYMlJNYm5rRzkvaUQ2MFhCNzNGd3M0K3RM?= =?utf-8?B?UEIyS1Y3dVI0TlREajdMaElJS3U5QkpuNEhuM2F1bUFlQ0hvU2E2TUlMNUFt?= =?utf-8?B?QjZoSkdJaVBZbEcyZEN6dXVORmRmWXhxTXk1S2p5QVZJL1E0ZDNQWkYxR1gv?= =?utf-8?B?bWVEVk5ZdnVLOWpoeG9qOWRJc25WckpWdGRGbDg5MEJENG4yQzdTQjZabnlh?= =?utf-8?B?VVBpNHlWMVl0Z0lmY1ExaUV6RnB5cEVJY1lqWFNyL3A0eThuM09KS2d0dGJ4?= =?utf-8?B?dHNEdHRqRWYybDNXUDZhYmJCaTdhZTVUallTbmcrdm95SUhsRnhoM3U1eDRX?= =?utf-8?B?ZUZRUHFsQ2Jhc1pWMTVJY2RLTW0rSUtRMUl5ZFJrandkb3dpei9WTnF3YXM3?= =?utf-8?B?R1FjWjc4eVBDN29nZzJ5NWMrcnlDclNoc2lBZDd6UkU3ejc2L0ZGZmVHblhN?= =?utf-8?B?aTlnYnk5dmh4V0ZGY0JjUld4UjVSdzRWbjkrQVM2Sm5UQWowQ3AvbXBmQmFt?= =?utf-8?B?UHlIMG9GMjJnSkg5ZXNGa2cwaXloME82aDhNZGVHOFJJWDlzUVVZcG9mMEN1?= =?utf-8?B?NHJwUHVkMlBYTWgwc1V1a01xcDZTSkpOUEZVWTUyMHZEeWt0N3p4SFRObTcx?= =?utf-8?B?NExaZ1p5aXdXUGN0UUhvalRHWERQUzRLVWtuc1g1eXk0SWIrMmI5cExmYUV5?= =?utf-8?B?NWFBMU9pNUdJVnZ3T3JTcTNVSmVSRkp6K0w0WEg4UEJmUnFHK09Id2MxMWpO?= =?utf-8?B?TllGd0paU1BFUFZsdTRPS015bmI1dzd6d3pvWTNZVFZqelkyMGpjMTJ5c28y?= =?utf-8?B?N1lDRTFmclpBbGJTejRDY1UxL3F0UU5jT0JyQkt4UzVyclhNYzFmeVhQbDho?= =?utf-8?B?ZFBPMWl4YnpTZUdrUXBZdmVTdTh0S2hBYkJnaHR6STFYd015RmtEUDZMZ2Zj?= =?utf-8?B?UG5qdEhHeU1MRXpiL3ZqbTAzZjNBU05xUUEzdnFIL2huY1NNN2MwSUlpYkpl?= =?utf-8?B?Z0d2YnNPRUNCUzJtb0grakZ2NmhEb21kY3VDN1ZDdnJvcW14REhlc09ZSDUx?= =?utf-8?B?YUFRMEs2ZXhTamNmSHBuak5LQXF1dXBYQktuczh3RVJXL0h1RW9GaEVNTTE3?= =?utf-8?B?eTBUSTZBSlNFdlFOTWJWYitWTTVxYUdQNk5lajhuZGpIVXRMK0xWMWI1WlZu?= =?utf-8?B?Q0JiWGhSc1cvWE9Kdzk3SnFGdU4xeUVFMFBBTDBxM2djWXR4R3JHRHlCSlhZ?= =?utf-8?B?NGl5Z2NhK3g1SW5JYnlpaFNyS0ptRUp0OUEvSEF4ZnY3WWpxK1ZFemJmcmsr?= =?utf-8?B?R1pCVVVGYlJuVEIrNVA1T05rc1F4QWFydnBDSWowRGNzYkJKcWVFUXJJZzZE?= =?utf-8?B?endoUG9UNUNKcjYxYjUvTjcyZHQ4Tlk2ZnMwMmlRUGYwbFFtbjdwbWZxZFQ0?= =?utf-8?B?aWJqeGlXdkFJRXB4ZHlVQWRTUGxtSmZYZGsvbXBoN2ZCZzlQK01YRXFjMDBq?= =?utf-8?B?U0VrbzdOQ2czMGptWC8zbENGYUhTUUlHRHdFTmJxbFJkVEE9PQ==?= 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:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WThnNFRvK0szbitTTHVBSUZKV01sMDJBbjhJY3NhWmZ1T1QvZm1TdXRMaDBC?= =?utf-8?B?NnI4VlhEdlBMamZZeEhYS2JqN3BHUEZNanlUM2huVythc1E1bWZqbCtML2pQ?= =?utf-8?B?VDVnQlE2WUo5R1E5VG9mSGZQaTVJK2JPWlN6b2l4ZXEyTTVjSUNvMm94S3Nr?= =?utf-8?B?Rm96eGtFWndrMUFlckE5bCtaUmF3ZFJ5R09hZ0xUajhDSnd4WTRXT1hYRUdD?= =?utf-8?B?a2FHK2xQSmxIZTdjNEI5UnoxZlhCa1FOYkJhdlQ4ckkxMzl5OGJ4NnNjUExM?= =?utf-8?B?UGRjNmJDZ0ZTdVJtRnp6RHlVbzBSUUt6aklqUExqTnhtNkEwdlRscGd1eldV?= =?utf-8?B?dzFjYWNrVkJJR21Od2dNUGhya0VPT0Qvck5rVUgyWitxL3dIWnR4K2hTMStY?= =?utf-8?B?dFRHd1JMZXZLVm5ZR3gvaXJkL2lHV0N0R29Mb2VLdmI4aGZ2em1tcENFRUho?= =?utf-8?B?L09INmQvQ0N4NzJtQzZ2enYxNGxrOXZyaUN0OWxMdmF2TXluMk1pOWQyMXNs?= =?utf-8?B?TVVTVGxLNmd2eENCL0RYOEg1TnlDNEZHZEVQclJJekdQM245YWY2SklVR3N3?= =?utf-8?B?STBTREdTZkJWdGxWN0hESVhwVXNZRC9aQlY3SkRETG5nRUxnOUh6YkplUW1i?= =?utf-8?B?dzFOSVBIdXd2QXpldktxOG5XVlRpUDdOWkE2MEVrQlMwK3FPVmlpd3pFTVhj?= =?utf-8?B?NFZqem91UFNrQUNnS0VaMUV0dmN0MmFUS2lLWVA0TE9ZOHJwanFBMzZoZ20x?= =?utf-8?B?cXBqaDF5SlhFOVhLQlVQdklvdGlkQkZubUZIQnBVSVlhUU5hRDl6emRydk9U?= =?utf-8?B?ZjVBci9vNlFnUkgrdGo1bFVFVWFOdjJHdWp3Q1c4allVcHdxSlpaZk0xQUxp?= =?utf-8?B?NldWZStXQmdFaXZCWE9NNGE1ZTVzbnJtemdNK1JqVEVESTFjdzF5cXE3MWQ3?= =?utf-8?B?TmxlK29XMGJaTEZzREQxZ1lZRjkwQytYMTNaQkswVWVFb3Q2WU9MczdYbnp0?= =?utf-8?B?amtlQm1NY0VaM0xZNko3Wm8xSDB6ZUNzMmRTZ3o4UHBYdWgzUStnSTFUR3lr?= =?utf-8?B?NzVqOG85M3dJb3lPWFEzeUxiVVJCV2t6UzJSQUxkLzJRNC9veGlSNlNLYlBz?= =?utf-8?B?dG02ejQ0aXR3dTNIL05zTUtTRURLQXdTSkRuelZtZGJBOFZ6cnZ2VHc3ZWFr?= =?utf-8?B?ZUZiMzZZNG41QjVaSitDSkdPWFpKTmZTY2NRZEFRQWRQa1VYMlg2SGVRZzNm?= =?utf-8?B?MDk4ZC8zN3VMMUZTbk4wNTFMTnlUNks1RzY0NU54Rkg1SzZFL1kvbGh4NGFT?= =?utf-8?B?QXNwamFCRUo3NnBNNmxveExlOXorQ2x0am5uVFUzNzVrMC9WQ3dMcEN5NHNi?= =?utf-8?B?MitrWlY2Q05hOVpTNTgrcktkK0tneDZHWDd1bVlhdnU4U3BxN0I5anNnUGNq?= =?utf-8?B?SzBiUm96TUxDaTFQWHp5MnVva1M1ditNWmdtNFRDUDB5dnh5MHZYRlNTSkI1?= =?utf-8?B?cDJWYkVkY2w1azhPRkFLRnZYbWZXeDhxVWZEV1U5T1dzS1JSYndQN1VNYkkw?= =?utf-8?B?emxFNnZ3TFQ4M2UwYVk2dWZVZGRpSmUvbnNYME8xYTNIL0VseUNCN1dFdHRE?= =?utf-8?B?MkdZOW8vU2p2Unl3RTA5TkRrRjR5SmxzR1pURjhFdUdGOW5ESWpRNlpEdGVs?= =?utf-8?B?NU9NK08vbmRQeHJtNXh0S3FsRERTRmdwdTNJVkVzVnM4ODV3S1NSQmNRVTNr?= =?utf-8?B?TnBtbVRiYi9Bc2cvQXRJRDZ1MFYxWjZoN0ZkY0UwOFh5SnE3Z0FQL3pQMHdH?= =?utf-8?B?bit4ZHFncHNkQTVTNnhKSUVmMFhmN0dlVXpsUi9OUllwVVhoNFhNdi81NVlD?= =?utf-8?B?TVBEbVVrdFlpOHBiRXp1a0FVeGZwd2lsN3ZkT04xMHA1ZjNuTENhWW11ZlBx?= =?utf-8?B?dGdYSGtsQkhzVzNKTVV0SWdMckVDVHh0YS96Z1lXVGdMRXlaMzhTZHdBMlNL?= =?utf-8?B?c3g3dWJPZFJHWUtVbEpMcVBoVTFqZnNxTDhrUjBxM0M3VENyZ0lHNHBXdlB5?= =?utf-8?B?RzdrS3kxekcrTjl4Y3hEQ3B2WkRSM2Z3c2t1eFB5L05vNHlhZEFwZ2hYenN6?= =?utf-8?B?V1JiOUhJL3FQQkUzRWowdWFDemtVOFJFakZCcVl1ZnExODdUWUxpRnlwT0N6?= =?utf-8?Q?oGP0QHtjb+m63R1mzqcN35c=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <3CAD16FE784C0D49A88AF199A8B04E69@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: e16c1f1f-f0ea-4c17-d229-08dc9a5b31b8 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:44.6561 (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: 8NvTJddmTW8qDPpYJeji3f8bh/OMUw/35tEZ8RZV3SSEfshYbi8fJuGrUJDdElnGA7iYTtgE3W3wQNXLz9i5hMPe9vDH0vK+WlztoZO6IkGfOyNx/MG64eS1hEnpLIP/ X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR07MB6215 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899762848100003 From: Cl=C3=A9ment Mathieu--Drif IOMMU have to implement iommu_ats_request_translation to support ATS. Devices can use IOMMU_TLB_ENTRY_TRANSLATION_ERROR to check the tlb entries returned by a translation request. Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- include/exec/memory.h | 26 ++++++++++++++++++++++++++ system/memory.c | 20 ++++++++++++++++++++ 2 files changed, 46 insertions(+) diff --git a/include/exec/memory.h b/include/exec/memory.h index 003ee06610..48555c87c6 100644 --- a/include/exec/memory.h +++ b/include/exec/memory.h @@ -148,6 +148,10 @@ struct IOMMUTLBEntry { uint32_t pasid; }; =20 +/* Check if an IOMMU TLB entry indicates a translation error */ +#define IOMMU_TLB_ENTRY_TRANSLATION_ERROR(entry) ((((entry)->perm) & IOMMU= _RW) \ + =3D=3D IOMMU_NONE) + /* * Bitmap for different IOMMUNotifier capabilities. Each notifier can * register with one or multiple IOMMU Notifier capability bit(s). @@ -571,6 +575,20 @@ struct IOMMUMemoryRegionClass { int (*iommu_set_iova_ranges)(IOMMUMemoryRegion *iommu, GList *iova_ranges, Error **errp); + + /** + * @iommu_ats_request_translation: + * This method must be implemented if the IOMMU has ATS enabled + * + * @see pci_ats_request_translation_pasid + */ + ssize_t (*iommu_ats_request_translation)(IOMMUMemoryRegion *iommu, + bool priv_req, bool exec_req, + hwaddr addr, size_t length, + bool no_write, + IOMMUTLBEntry *result, + size_t result_length, + uint32_t *err_count); }; =20 typedef struct RamDiscardListener RamDiscardListener; @@ -1926,6 +1944,14 @@ void memory_region_iommu_replay(IOMMUMemoryRegion *i= ommu_mr, IOMMUNotifier *n); void memory_region_unregister_iommu_notifier(MemoryRegion *mr, IOMMUNotifier *n); =20 +ssize_t memory_region_iommu_ats_request_translation(IOMMUMemoryRegion *iom= mu_mr, + bool priv_req, bool exec_r= eq, + hwaddr addr, size_t length, + bool no_write, + IOMMUTLBEntry *result, + size_t result_length, + uint32_t *err_count); + /** * memory_region_iommu_get_attr: return an IOMMU attr if get_attr() is * defined on the IOMMU. diff --git a/system/memory.c b/system/memory.c index 74cd73ebc7..8268df7bf5 100644 --- a/system/memory.c +++ b/system/memory.c @@ -2005,6 +2005,26 @@ void memory_region_unregister_iommu_notifier(MemoryR= egion *mr, memory_region_update_iommu_notify_flags(iommu_mr, NULL); } =20 +ssize_t memory_region_iommu_ats_request_translation(IOMMUMemoryRegion *iom= mu_mr, + bool priv_req, + bool exec_req, + hwaddr addr, size_t le= ngth, + bool no_write, + IOMMUTLBEntry *result, + size_t result_length, + uint32_t *err_count) +{ + IOMMUMemoryRegionClass *imrc =3D memory_region_get_iommu_class_nocheck= (iommu_mr); + + if (!imrc->iommu_ats_request_translation) { + return -ENODEV; + } + + return imrc->iommu_ats_request_translation(iommu_mr, priv_req, exec_re= q, + addr, length, no_write, res= ult, + result_length, err_count); +} + void memory_region_notify_iommu_one(IOMMUNotifier *notifier, IOMMUTLBEvent *event) { --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899613; cv=pass; d=zohomail.com; s=zohoarc; b=OlJ6YfcXq3LzQXnvPeJs6Jkttc3AZM+VYA8mC/RiTw42Zfl1GurjTeO0yNjNtWR1+UYaoW26aMqZm+lBHN28pGDDP2tYMfXIYFwRgob1o2nYMBK0MoEJWjhltdVnvnOdqRb3FXCjKmbJF8b48ZQrXpqp1scIccnBoytHKNpeEGQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899613; 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=/O+mtv7iGC4Iped3cO7OznRrUDiVe9yyGqDmP9G6CCM=; b=HXAkN6yZTwcfvaUxRe3jejOiNYiny7d3/lykwQHiF0z+JeCyijbLm90NRNGUs0wZUxJGT6BNWbvZA6oTG9ZMHmsz2O/6BOTUAC+Z4K9hYxHT+w48QqzcLvBiss8crRtav+oIFe91il6cP5bvhPuPT+jxBDxK3DFu4onQusuYhBk= 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+importer=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 1719899613403224.57895850854288; Mon, 1 Jul 2024 22:53:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRk-00083P-Vc; Tue, 02 Jul 2024 01:52:57 -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 1sOWRf-00081F-4F for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:51 -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 1sOWRc-0006V4-P1 for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:50 -0400 Received: from mail-db8eur05lp2104.outbound.protection.outlook.com (HELO EUR05-DB8-obe.outbound.protection.outlook.com) ([104.47.17.104]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:47 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AM7PR07MB6215.eurprd07.prod.outlook.com (2603:10a6:20b:13d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:45 +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.7741.017; Tue, 2 Jul 2024 05:52:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899569; x=1751435569; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=/O+mtv7iGC4Iped3cO7OznRrUDiVe9yyGqDmP9G6CCM=; b=XyQziFCtIoMuuuUpCeTJRM0yT+jqKhFl8rVt+ben/u7F2AZzvOOsZtr/ Jk/4Tn5lNLewMGBrJs42Zb9seuCe6JoLBHZ9XRn36thuwaiEMaTK9krm2 6iYa3f5xfHH81D7hv0tnNPMifx3QjYw3/Lp3Fl8EBlrY91WVYQQotNG5v rt12wxRWtJ3gx+P/46pViJnXVRrEZ8GAqgT9edPWv5//yL1ZkT1y67Xy6 jtejyEHr20sHCqTi9Q7OWrHTagKDgB6hhfqbdQd3lOezKwzK0JxEQp2tW jucGvh6rXafXHi9OCZ55sp3xyNKYEMSBXelj+zrgk2Uo7Uq2QT9gwgbaH A==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721603" X-MGA-submission: =?us-ascii?q?MDEVTH79yo0QbUiM7sydyK2Ls+JqGG2Ug+2kDW?= =?us-ascii?q?hAJouLMHpZcfDZkhTVgv70m5tcGaTZbmUcOa8L2bEyTy2QHK6A/FnzsF?= =?us-ascii?q?35FMJnyXTml1yJAwj4zzbczbB+7q46dZGc0vej0nDC5fvwuR5gJSdWlC?= =?us-ascii?q?p5imytcGYEmD/KmPYn27vK/Q=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bWqf1KMjqZK9C69zre3tfDqx5PTtQdZ8c/6L5xtphyAJ2XtpnaBA8TuTSYZ92zRQXcRrFxyS9lOw9LkLQbxegGSjoIFRzFxxZ2xPWgpxk0L0mT2kGUROxfIYx10/HA31Key4vqrRbSdG4/2TIH2bRN9VTMfqv6T16ZK2ncx0Flyal0Z4/orMyJun5cQDZxOqbdGJfXhCgOo2bQfNacu5XlCFTAzWwxOO7HWtW64DLla4Gytx3qEIcJ8me7njkimuumBoP3fAEF8XR47D41q4wqf0oRMRCN4DjvCbbgM66T2rWQNP/Cg87IH9exte/h7XuLSzkucpfPikTPDj0yJDCQ== 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=/O+mtv7iGC4Iped3cO7OznRrUDiVe9yyGqDmP9G6CCM=; b=JbBiyQvMUy+tBbiv88MosOV6XeR+CTBEvG4AzqHvrHks1FyUYxfdZzv3BTvK4IUmiRnBHUvdHTK1HPRQNjr81pKpf5iUFbUZONjdUiYQGNJsaJULZ/lt9+YOoqLA/aBBOZGogQ5STAqjs88OD7U2c3IPkh/Fk4+rmA+V6kKh0ka8jFVR5X92gJ3NxmwNFpzqf0s0H4N//UhpdhNVhFRJVZFzsalBjKY/HsWnJPfLKxXTws9i5SORSxaZIpzpHDxIeDe19pcoCgnQkw32rsaUgEO7rJme7gjbmdHzQAS4u3TaBTgdQdnTmpsqNcQ+LYpNKDdo6HF3KBwa1LoWxatIYQ== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=/O+mtv7iGC4Iped3cO7OznRrUDiVe9yyGqDmP9G6CCM=; b=qvKBsZcMQKzEoQLQqA+ba24aJADKcvDPQNXtUN5KNhqvVitX7SEUDFGl+aOLVe9vCE3FG/nL1fvgNU/5/Xn6P3S2I0NIXVMPU6fOBOp2EPL2HMWg4jGXQKmmNVW7G1yAVD75q3rs98RCHXImpch6zfbPEd2gDStdElPHYdt3KFbiXbeDB3SgEfZ+8YIse0QHQqz0BhQX0bW2V/f/KzTtE0mzJhYp3MOJ/nSw6BYcsN5fPPhxBco83M0V8FiaJ1KBs/hW7EKSFQR/q74xYXStkRKzt2fKhJ0ZLnN4J7tIFqUYv7A9tRQQA3xY7GXhmDgR7lbJ/N8Ncv7b+fqWNqfLIA== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 20/22] pci: add a pci-level API for ATS Thread-Topic: [PATCH ats_vtd v5 20/22] pci: add a pci-level API for ATS Thread-Index: AQHazEQPZma3+RPBzE6mhYIQQIOAhw== Date: Tue, 2 Jul 2024 05:52:45 +0000 Message-ID: <20240702055221.1337035-21-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AM7PR07MB6215:EE_ x-ms-office365-filtering-correlation-id: f8881609-e551-4e79-32c4-08dc9a5b322b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|4022899009|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?aEF6VDc0ZHBFVFE2WmlMRVpOQ284UEw3ancvUU9VZ3pxOHg2Q0Y0UHJLSXdJ?= =?utf-8?B?L01RalAxZXlsd3FPdisvazI2bTVCZXFrbWRzZE1VWUdSVUJwS1BKUVFsTHRk?= =?utf-8?B?ZndCMVhKWkx4Z1hybmJYVEtIYWpnbUlFNld6L0ZqdmR3NUNxN0xWOU5PWHVD?= =?utf-8?B?MGhyRVZDT2RVMFZyeHQ0amVGL0Fla2NtVU5QOTgxTU12MFQ0RCs1MGltUzdm?= =?utf-8?B?NHBRL1RtRzVPZ3VycVY3NXpWSGJsbk9xN21JUzBSRkhRR0dQUGNzMVRqMnhk?= =?utf-8?B?ejMzOFpqVDlJR0JzdjQwVzJPeTFGdlVuUGlibDNpN043cyt3d2pWMFUrUXNX?= =?utf-8?B?NEQ3YlBiUzM5TFlNNHIvNFBGSTJ4NTVyQlNETlk5L0pKbEUra0xqR0NtZ3k3?= =?utf-8?B?RFpaVWFjMjNSOUdHZGZmcllIQno3a2k1aWtTbGRMYnpoMW53UmI0T1dBcWVB?= =?utf-8?B?NXRXRGZlRTJsSi9ESFh4d0g0L0lLaUVJQlh6cVhXQmdycm40c2FsZ29UTzRp?= =?utf-8?B?QXpyZW5taUJNdFVHclRuZHhMaXUzZUVuOXVFanhwcTdqZ2R5UXNFZ0MvU1Jz?= =?utf-8?B?MCtIUjMzRXFPcWJVVFh4T2ZsRTZYdFNWT1o4RjVJQ1l5czU1dmtQZTdhWk1D?= =?utf-8?B?QjdzZzE3TEVnaXdXZWlPL2VFdE0yR29oQjc4d3laOFR5OVdveFBxNGU3MmFk?= =?utf-8?B?d2c4R284RE56bEhQbFZVK0tPNDFhak5wcmhXY0N0ZGFyUTBpcEdGQzAyL2JI?= =?utf-8?B?WXdrZStzSkZvR09SUTZ2aGRjRVNJYzhYK3ZtN1VaKzhHbzljYjU4T0NvMExS?= =?utf-8?B?Z3dtaU4ya292TU5pay9hL0hnVVFhMTR5VVVTUzB2RFI0Rnd4cXN6MDM4QnJ4?= =?utf-8?B?ZTlvUzhzRnR0ZVpCVXpSQVFLdG1QVmg0d0pLSklwM01pKzFyTitzbitXaXJX?= =?utf-8?B?ZWVpdzJWdFNwTDBwS2V5MEk3RlBCZTZXVGY2UnlsZytWaE90RDRvb0RESlpL?= =?utf-8?B?S1BXQlFmY0tOV0ZvRmhKVHlMWjJKRmNyNmNjTmZxSHYzNWoxY3NZcFd4eVY4?= =?utf-8?B?OGk0WDR1a3NROXhvYjhxNVRLdWdWVmdBeGRTcThMbVh4VEhhMHFYMTgrSDUy?= =?utf-8?B?UVpNbG9HcEljS25uK09GcDdlVUI1NjBDLzNmak0vd3g2NXNxKzlIY2QyVDM1?= =?utf-8?B?Q2szc2tDVlRKNFNlMUxjWEdIY3FQYjBKNTR4bmhpVFFHS2UzbERrejFJOXh4?= =?utf-8?B?VDg1bWlhOFR5czk5eWZxSGtxR09SVDh0d1B5OE9tNkJWaG1KSnM3R3c5M3Rl?= =?utf-8?B?Z3VlV1p1OWtuOEpDQUZPcFFpemZtY3lYMEdkRkl4OUxhbmxzQ1RIZVc0Vjh4?= =?utf-8?B?T2c0NUt1eTdEVWVNMjNMWkZOWXp1Sy93NHpYdC9qWGFXV3ZDMUgyU2psN1BP?= =?utf-8?B?K0tHYThHWitiNHJ6UEZaMHAyZEJoQWw0blFpdldKUGx5VzBEaTc3d2VZbjF3?= =?utf-8?B?QkczUGFnaGtOeFVkRUs3M1Rrd0ZiemF3S1NuaFMvNUdzbmx2MnBxbkFrZkFi?= =?utf-8?B?QXVQOWlmVFdaMVFNSEJnWkF5R3Z6bmlpZkpGdTJGUFM3RFFhS3pYNEttQ0hq?= =?utf-8?B?eFB3YmRqNUk0Y3MxT2VkR0ZrNHI2dStkRW1oazY5VDVjNXMwSmwxcW4wT0l2?= =?utf-8?B?YmdsaUZPV0dQNmFwMVFHWkIzWTlQcCtmVWI1dHRoclRBQVkxaDZiR3VqVWRh?= =?utf-8?B?WHduR2tMcUFxVDEydUoyK3pOR1RkWHpSYjdpRUIrRkFKUHFtbzRCSUJTeFht?= =?utf-8?B?dWxPWTR1VTE5RlQ2NW92Tm80VStjaUltY3BiVktqNkJ6aEdweG5rR0owLzRq?= =?utf-8?B?L01xNGp5S1lib1FySmtma3A1R3JRRnM2ZjJZODVqd0Z3RkE9PQ==?= 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:(13230040)(366016)(4022899009)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?OTdnbG1NWXA3SWtwR1JlZDgxR0ZtYk5BOXJXTWswRzRNY1VpeGF3N050Umlr?= =?utf-8?B?Z2UwWi9SR0VUY2NZOHJ5WXlKcksrOUh0eFRCY0pvL0dGRFVVNWY2dWN1bWlO?= =?utf-8?B?OVIrTU01dytsVThhTmRzWTBxY1lYRW81Sk1KTHRLTi9abmw5NW1lQ3JIaFhT?= =?utf-8?B?V2JIN1I2VHNuQzMwVTdQUWg0aDA2TjJVeW9jMVkrY1lubkpEN0FNdHFxa2t1?= =?utf-8?B?NnVCeDc4T0hWT1Y0ZWd2Qmg4ZStPQ1JuaFNTZGNMYzhHQVRMQnB5VWVGRlNZ?= =?utf-8?B?Z1RySktzNVV2R2pheGZ5WWRyam5mUXh0c1hPMEROdHBIc1IwWHM1Q3BYVlly?= =?utf-8?B?QTJnTHFxU1E1WFNVdGlmenp5bzI1Qkl4UzJoRkt1MnhaQlBkRFpVVVNodU5h?= =?utf-8?B?cWpzcXR5d1RDbzlUVnlIWTUvdERxd2tXMVNzbHV3a09oRnFQRXYwN281djZn?= =?utf-8?B?S3dON3JEOTI1ODVFb3FQanJUTGZ2cERrc1NkdUNOS2Q5bGxHaFB4alRyUWNy?= =?utf-8?B?UU41b1BUS21EMFVTZ0xLWCt3N0VpV201bUI4M0VEN3NQWVJ2WlJQYU03WitN?= =?utf-8?B?MEtRamkyVllWMDB6Ym5tMko4bXBNd1lwUVNxSTAvV05YcldjSVBUdEpkejdR?= =?utf-8?B?ZC81TVFpcUJTbDhBSVdTdW9nYytuNGVoQWkraDBHQW5EeXdVYzJyb2xQeFZ4?= =?utf-8?B?cXJrdTZaWGJFSEo4aTUzVldua0VZbURWZnQ1a3ZEUzRHdWt2eWFRNWoxVG54?= =?utf-8?B?LzJQcjR3WGI5cTJnOXFLMUVzV2tSZCsxRVdOSVNwakJyQVlaeW42ZlBHU1Nu?= =?utf-8?B?Y0I4UjNpTUlydW0yR3RrTUZHZlNjTERwVFRHc3VQNFc5djNwT2NoZlVRWGtV?= =?utf-8?B?aEt5bTJ3MDVJT1o5cDkybkdvTUQxQmRxOWszdDJaWFhod2tZR1pxcTJudVls?= =?utf-8?B?cWhuaFFGNjhtdTNvQnBLTjhFNzMzbVZDV2FGWEExajIxTnRJaTdoYnhLSHhv?= =?utf-8?B?T2RPWURNcDRCalArcDFxeUE0OG03S1NlRmllM3ZvcnoydkxzUWtiWnRzZm9C?= =?utf-8?B?U2w1QnpHeFcwUnczNitXcFN0SlFYSnhjQ0s5TFM0cXoxTnNzcXZYWUpybDRN?= =?utf-8?B?Q1RzYi9hS1QvKzFnKzg0U3hmUktjT0tpVGJjM1ZTWHYxNlhvYmFLQWVTcllV?= =?utf-8?B?aVA4K0l5bDdIYTdLTDUyQkoyMEpPYVRkbXExWkdadnFoOVZUZytvVzdIMFJr?= =?utf-8?B?VVg5bmVyMFVNM0pPYUd2T2FBT2lpd1gwbGRCeW4vencxdnYrZ04rcDlCMS9Z?= =?utf-8?B?UG51aTB4ZG42L08vb3VTOWpYdlZHQXJVZ29oMWliMUEyNlR4eXZNbUllU0lG?= =?utf-8?B?bk5tVGg2S2psL0Zlck1aL2hUdko3K09tVG56czY2SG9XLzJ6NGVUL2hlWWJO?= =?utf-8?B?T2lwOUF5ZWExZGZEenRNUWtzTDFzYTVCOUNOSGJvTTVtK3ZBQnJneWRFb0NQ?= =?utf-8?B?NCtjVE1MNW1GanJBSktzNGtVMTZ2VVViazdLeWtIQ1BSQWNtQnI1bUp6bU9h?= =?utf-8?B?c0JrUjE2NjArVDIyUFF6OUJFYk5HZmdBUVA0Q2lIV25haVJhbU1VVjhaYTBk?= =?utf-8?B?Uyt3L1lMTFpsZHN4WjQ0d1MyQm5wQnNsM1JXci9Zdy9Cb0xOaFQ5ZkJmSklB?= =?utf-8?B?cW9CdGhNQ21vNThjdVVvSWc3a2hPUmVud2diMjI4emNxUTVwM21iQ1dxZ0ts?= =?utf-8?B?SjBYK2tySGJnem1kZTI2Q1g1Q1FBaFZ6WjBmYTBabmtmVCszbDdleGs0Q25X?= =?utf-8?B?VkN0UU53bFNPcEFHd2ExQTlHOHF0cnFVR1dZSVZSWE00T0Z6ZXladEtGd3BI?= =?utf-8?B?KzVrSW03dWNFTnJOZlRJUXZWbTVXanlSQ0llZHIxcXdHQzd2MVBpeWVyRmtv?= =?utf-8?B?Q1NRc0lFNDFPTnBpNkJscGxJRWhDSUd5TkgyMXlnQ1lOYkVvbDA1VFBjcmx0?= =?utf-8?B?KytGbWErV21oREdURUJxbVVFZmJyOThXNEo2RlpvT0RjeWNVbDRtTitnbWRV?= =?utf-8?B?WXZsMGpab0xqUmtvWUd3YlhDSUdNYkRranVYcU9ITm51RERmck83VGpxeDNY?= =?utf-8?B?UlhwTEJBMUNEVVRCUmU1NVZ3ZStoOXNWYzY4dm5ZK3VJUW9adnlXVkNlalgr?= =?utf-8?Q?jDH/mkTZHjTOIWwTstgKIyI=3D?= Content-Type: text/plain; charset="utf-8" Content-ID: <2F75A87E24A24243A16D9647F6509AFB@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: f8881609-e551-4e79-32c4-08dc9a5b322b X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:45.3700 (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: azTOQJaY9WjExLgKCkjLxUCQZWCn/g3FEgTCbaG32Jfv5WfJeuc4vN4hX7zRgpaaiXhh3N2baN4aAY34Mvnh6h7P5DtBcRmNzBpmsvaZBGQUQ69SsNwGOuU987vPtesU X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR07MB6215 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899614349100011 From: Cl=C3=A9ment Mathieu--Drif Devices implementing ATS can send translation requests using pci_ats_request_translation_pasid. The invalidation events are sent back to the device using the iommu notifier managed with pci_register_iommu_tlb_event_notifier and pci_unregister_iommu_tlb_event_notifier Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/pci/pci.c | 44 +++++++++++++++++++++++++++++++++++++ include/hw/pci/pci.h | 52 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 96 insertions(+) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index 7a483dd05d..93b816aff2 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -2833,6 +2833,50 @@ void pci_device_unset_iommu_device(PCIDevice *dev) } } =20 +ssize_t pci_ats_request_translation_pasid(PCIDevice *dev, uint32_t pasid, + bool priv_req, bool exec_req, + hwaddr addr, size_t length, + bool no_write, IOMMUTLBEntry *re= sult, + size_t result_length, + uint32_t *err_count) +{ + assert(result_length); + IOMMUMemoryRegion *iommu_mr =3D pci_device_iommu_memory_region_pasid(d= ev, + pa= sid); + if (!iommu_mr || !pcie_ats_enabled(dev)) { + return -EPERM; + } + return memory_region_iommu_ats_request_translation(iommu_mr, priv_req, + exec_req, addr, len= gth, + no_write, result, + result_length, + err_count); +} + +int pci_register_iommu_tlb_event_notifier(PCIDevice *dev, uint32_t pasid, + IOMMUNotifier *n) +{ + IOMMUMemoryRegion *iommu_mr =3D pci_device_iommu_memory_region_pasid(d= ev, + pa= sid); + if (!iommu_mr) { + return -EPERM; + } + return memory_region_register_iommu_notifier(MEMORY_REGION(iommu_mr), = n, + &error_fatal); +} + +int pci_unregister_iommu_tlb_event_notifier(PCIDevice *dev, uint32_t pasid, + IOMMUNotifier *n) +{ + IOMMUMemoryRegion *iommu_mr =3D pci_device_iommu_memory_region_pasid(d= ev, + pa= sid); + if (!iommu_mr) { + return -EPERM; + } + memory_region_unregister_iommu_notifier(MEMORY_REGION(iommu_mr), n); + return 0; +} + void pci_setup_iommu(PCIBus *bus, const PCIIOMMUOps *ops, void *opaque) { /* diff --git a/include/hw/pci/pci.h b/include/hw/pci/pci.h index b2a9ed7782..d656f2656a 100644 --- a/include/hw/pci/pci.h +++ b/include/hw/pci/pci.h @@ -473,6 +473,58 @@ bool pci_iommu_init_iotlb_notifier(PCIDevice *dev, uin= t32_t pasid, IOMMUNotifier *n, IOMMUNotify fn, void *opaque); =20 +/** + * pci_ats_request_translation_pasid: perform an ATS request + * + * Return the number of translations stored in @result in case of success, + * a negative error code otherwise. + * -ENOMEM is returned when the result buffer is not large enough to store + * all the translations + * + * @dev: the ATS-capable PCI device + * @pasid: the pasid of the address space in which the translation will be= made + * @priv_req: privileged mode bit (PASID TLP) + * @exec_req: execute request bit (PASID TLP) + * @addr: start address of the memory range to be translated + * @length: length of the memory range in bytes + * @no_write: request a read-only access translation (if supported by the = IOMMU) + * @result: buffer in which the TLB entries will be stored + * @result_length: result buffer length + * @err_count: number of untranslated subregions + */ +ssize_t pci_ats_request_translation_pasid(PCIDevice *dev, uint32_t pasid, + bool priv_req, bool exec_req, + hwaddr addr, size_t length, + bool no_write, IOMMUTLBEntry *re= sult, + size_t result_length, + uint32_t *err_count); + +/** + * pci_register_iommu_tlb_event_notifier: register a notifier for changes = to + * IOMMU translation entries in a specific address space. + * + * Returns 0 on success, or a negative errno otherwise. + * + * @dev: the device that wants to get notified + * @pasid: the pasid of the address space to track + * @n: the notifier to register + */ +int pci_register_iommu_tlb_event_notifier(PCIDevice *dev, uint32_t pasid, + IOMMUNotifier *n); + +/** + * pci_unregister_iommu_tlb_event_notifier: unregister a notifier that has= been + * registerd with pci_register_iommu_tlb_event_notifier + * + * Returns 0 on success, or a negative errno otherwise. + * + * @dev: the device that wants to unsubscribe + * @pasid: the pasid of the address space to be untracked + * @n: the notifier to unregister + */ +int pci_unregister_iommu_tlb_event_notifier(PCIDevice *dev, uint32_t pasid, + IOMMUNotifier *n); + /** * pci_setup_iommu: Initialize specific IOMMU handlers for a PCIBus * --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899612; cv=pass; d=zohomail.com; s=zohoarc; b=Sq48lVQcpT5508U3134HNEE7+0+R9q6erZX2iUGAJcR479OwcRiBfJZKMod/In5hNeCAQI+ajqfabN6dLD5zQ33xuKFeTI+6vtlFxtgZ/7ryNR+MhWmqSfCCOBHYXhCyjzxRaWyWPeITbeq/vxhnNGLfznKb3LFmudJY6waOIkA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899612; 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=Muq8pnfZbNY4iEecuK0xCGQ8mJotLYw5kLEyQZ2VRlA=; b=Kma0HyCrCXGEWcHMYf0YqvEpr+sSHyZZSm0pDIuagzRY+tZvrIx3fasGLjxuWqAt77ZAb9LSQLs1I7XG2uzLIr8vvOfZWHHqvM9AQMPAazImDzh82FqD3ivBVgAOU4RsqNi1kbNYKh66Djl1RfqPHCyafPXu+uyL7UpIof7hhkg= 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+importer=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 1719899612892509.42773508703806; Mon, 1 Jul 2024 22:53:32 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRl-00083T-Mf; Tue, 02 Jul 2024 01:52:57 -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 1sOWRg-00082J-VU for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:53 -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 1sOWRf-0006b9-1k for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:52 -0400 Received: from mail-db8eur05lp2104.outbound.protection.outlook.com (HELO EUR05-DB8-obe.outbound.protection.outlook.com) ([104.47.17.104]) by smarthost3.eviden.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Jul 2024 07:52:48 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AM7PR07MB6215.eurprd07.prod.outlook.com (2603:10a6:20b:13d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:46 +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.7741.017; Tue, 2 Jul 2024 05:52:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899571; x=1751435571; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=Muq8pnfZbNY4iEecuK0xCGQ8mJotLYw5kLEyQZ2VRlA=; b=G9RQi1gnyGYNmD8mV8zhUWreTcKGOTUvY38EC4iMmroPfwjx6v/WeB6P j8BLNifpQOvYV4/X2G0tDktoljNTAsoqC2g250WEq4a5MpWlkPkOIF5ja iXcW91HUNigdVqevUrCoJKbG74p3wy41WoO+/1biAjMj5d4JJhvVR0eGu zYUehKjaf4i8WQCK1lz/FtVmZqUYxJIYaTnGZ3G3LcO+XweJj0hHoaQrm /Wm7hfUnicCN/AGxbRBGnd7amyONRVOAOOXeqlCo7pw++pEMyhe1YWBw+ 5e41e04YcFZymTSbyXWfepgBXwv46cj6a9aTmFjETmduhkOmoPljBM4iP g==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15721604" X-MGA-submission: =?us-ascii?q?MDE8uOvL7HiLQCJeWpq41Y52wCRztqtV3QZrEj?= =?us-ascii?q?lrVHxhJFBRtbVcQA21HjRAql0nU9eo2GCJklIJhktVESdqKr5fPTgUdx?= =?us-ascii?q?AouURGTJg+xJq1CRY8Jt6ZrmT6A2cwm2rGq8CAuGT+OWsBuwTBKVGdmG?= =?us-ascii?q?iJvVIE3ZR+j2fwpS7F5w8Ctg=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LErkWcOe78z5n1pxJf0m8oVfCiXGDqOeQtut4ntByWVtx9yDaT206KS5Hh1RiIERpC/jBbVHiOm+PB5gDxhblNVekan4mNwu2LEprhIRxQcoFJv2AEczk9VOjsZ0LWyiqf9fTwtIlwLbrRNYgwl1Efwnu3++9+uCYu6nnvZkGsPeVBa+Pby/nsARnwNgY0W7Tp/NktOHwmJ/clc2ThTgWPsIanAA6GwPO/OKYpCYC9JUBCQ1dPlSfDsXKBBTNuiZ+HG06V/7dsiNnEO+e4rFhLvsdgKLvyXhzw90UPa1uOfx5ULwmDiBdqZxCkeMfAdoWuP1LdV0CG/3/5jTeP7AAg== 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=Muq8pnfZbNY4iEecuK0xCGQ8mJotLYw5kLEyQZ2VRlA=; b=bORTjWXuOybvyyp2MsUE5MDjobCtfOx6g1Gkn1CS157SHqi7pxRcos5m0+/MB57jRiZCEqD+QkFc21JF/91MIHlb+7VElT84k2hi0XVO2IUpv6EISpU8gCqMnnDYOL49ENzisYfRT9t7dAmo9baAklWHhrFA8PXj1ahBcLj7RJATQQRH9pVYn48VJZDxHZTBFjF6fVpsTJWeRz/MfZGLxexpR1+iWFrNtF9f1/gEIozg5JX4+se33D6dPN5zzp+JJbJSXgzGsPKDJiauT/73D9AI0eRehZn6dpRugMJMw2mRHVD6YeErIlIFUcLkFktyR5y5BnEwNgVXOlAZ8GtMfA== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Muq8pnfZbNY4iEecuK0xCGQ8mJotLYw5kLEyQZ2VRlA=; b=fNCqRCqmHI9zXgmJeEPZ7+3djtCgbcU571L5/6c1yJt26E4x6z86daTAiS7cUn95kFh9dFu6iE+jocc23o2v+x0CRzF/8C+ze8GWdceeXW1Dyosz6cA0DWyuWhZwer0uf6wCQz/RKS2ibf03N1GutLMNbq6Y/DFWHN1WYwFgu4FSClrkXGZE1YXHsz62oz61PupQqsLhcyjDm5qMDqRUGXjTG8pDQMwaQs9hXa6oJ6vNPhE9We+5U0mnB/ECgBX0AkkOTXVA56d4hwvm7/QQefZwk6cthikJehCyVFtoxV2ryFHBDwrqOnol+KoVfgVB56lIwampmOSQex23FnKNpg== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 21/22] intel_iommu: set the address mask even when a translation fails Thread-Topic: [PATCH ats_vtd v5 21/22] intel_iommu: set the address mask even when a translation fails Thread-Index: AQHazEQQOKgkVaNcZUe4tah2aD0JqQ== Date: Tue, 2 Jul 2024 05:52:46 +0000 Message-ID: <20240702055221.1337035-22-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AM7PR07MB6215:EE_ x-ms-office365-filtering-correlation-id: 7496a2c4-4d47-443d-8be3-08dc9a5b328a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?ZlFPdGE2dVRrdU1tcHZ3RXZsYTltL0J6VEd0RGVQOWNRZ2ZDZWwzZTFMNnBR?= =?utf-8?B?ajZ3Z0JCQkZxdDJ5UVJQYUx6aC80OUJjdGxHQWE4d3NScThyczBHdG9NTEsw?= =?utf-8?B?VHcyZzZzRCtOYnVIelFqeHdrUmlVTU1XcjBEaUx1NEU4alYxNFJEcjB2aDdl?= =?utf-8?B?ZzkxRDhOV3VNeHZMRDF1UjVtcFcybHdYNkhIUllOTHVXRXBMUUZuNEl6M0JW?= =?utf-8?B?U0M2K0RIUFFvUVY2bnlQMUpPYnVpOGlKVmxsQlIvQlVKRHYramQ1SktRMGlL?= =?utf-8?B?UnB3WVZpR0xLY3NTNzlWdFYzM3NyS3lmdWVVWWlyM0VHeGVvS0FmbWRPODZN?= =?utf-8?B?VFY1SmhWUEUrTm82MmV4TW1QZ3NUOFZOYjUweS85ZUgwallWaVBtMkFta1JU?= =?utf-8?B?Wk1OYmwvMXB3bWVyUmhqS3U0WnRSTlh0ZVMydHdMRFJJSzJhaEtIdHdKU1dl?= =?utf-8?B?YmpzWjNHN0gwL29qZkROam9rcUk2YmdHcnFCRmMxUzlFTTdCejZuS3pLR1JV?= =?utf-8?B?Q1BVUTdvNlI3dlZzM1pJcUk2TDBRR1M5YVRQelNaNnBEcjdKeit3MkhVR0Zq?= =?utf-8?B?Z0JoMy9LSzVBcHZqenh5YVpSMXJmVEo1QXU2N0tJWTh5UlNubnYvK0ZvUmw0?= =?utf-8?B?QlV4K3ZhZ0JBV1VWZFN0R3U2djQ0SUEyd3ZMYzJVTjllc3Y2ZHdzRkpzNzJJ?= =?utf-8?B?Q1oyU2E2anF1MFp4UkFjQVVMdlpnRkpsVEdkUTl1SjBOc3h5Si9XY1d5K1do?= =?utf-8?B?RjhGWkFUaUtKMWxIL090WFMvVWVid2ppeHViT0VYZXl4bGV6d0p3Tkp1c0F3?= =?utf-8?B?bWwxa1VmeTJ0ajBFdDl0ejBxNnJrVEZNeVhpUWpYV09wWWpkdk1aUW5HUm9O?= =?utf-8?B?T05ZaFUrTGFPTDVLaS93NkFDNmNOUWR3S1pVNGt5MEFybEwzaGl3dmhEbjRr?= =?utf-8?B?aXZqUlhFOHVrbEFEVktaZ1U1WW1lbHRWakwva2s4SCtvWk9qbFpMNVl5SWhN?= =?utf-8?B?WGtzd2lXdjllNHVIa0dEc1ZiYVRKV21GSzRSSmhseDdUU093cExJKzBSTTJR?= =?utf-8?B?cXIzK1dRMFhMQVRVMmhzNTJERVRmTjVtVmRHWTY4NzcyYm5LNlBSK1NEaE1C?= =?utf-8?B?ZDBMY1dlY3p5K2szOWRRcjFKYkpjbzdQV09lTmwwK2dySkNXeFNDbTVyNDN6?= =?utf-8?B?T0F2ZGM1SnE2cXpZTUd0dVdTNmNublBWcG9oYWhvaG5QcnZUK2RYOU5sMjY2?= =?utf-8?B?ZTNVQndaMHA1OEdMK0RkUnBKb1pwajNVUHFnQ0NnaXAzRjYybFZOb2Y4OEtE?= =?utf-8?B?cVYxSzNUZkVlTnpTeTNFM2dpYXQ1WWZBQW4yRDdhcTA1SGRDMUhmUTFFbE0y?= =?utf-8?B?U3g3VXBIWjBYRUQ5MHBhOW9BUDJNOG1XOE93SkhaSVFZWGQ5cTJNU3NpT1Zj?= =?utf-8?B?anl3NllEdndFWXFwSjk5clJwY0NaK0Y5dWM4d21lcWxJd2lCVXBPZkV1UjZZ?= =?utf-8?B?aHQ3SVVMaEY2U2xIeXBtNTZJdzFpZmdYRnd5RGJ6WDRrQlZ5VmRRZHBCdkRn?= =?utf-8?B?WTNVY2l3UXNTb2NPWTllRkVsbU9jUFExMkk3ZU9HNmdjTlcwb1VnanhLMXI3?= =?utf-8?B?OW9idDh4NElubWlGYVRsVUJlcU92eFVqeUQxVGttL1VXdmdoN1cvK3M5Z1ds?= =?utf-8?B?cyt2WU9mWnpDMnBKZzc4ZFNRUExlTW1QemxHTmk2RlNYSmNsSkhpY3ZZSGht?= =?utf-8?B?VFp5ZU5sRi9xNzBtVmpNVXk4bktNUVUxRnJwNlZGYzhreXQyRXRWZmdMVG5p?= =?utf-8?B?dFB4OFJUamFjNUlnZnVBek54a2tydjlTSFJKQXBEZ3BBL0l1Y083dTlReHBU?= =?utf-8?B?K2FRa2JZc2lzUHV6OXprSWU3L0hJQVI4OFpYRDlrSldoOWc9PQ==?= 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:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?cUVjbisxR0FUMUNSbjNaU1VEVHlmdnNOZEI3NWNvUzE5VDJuVE1PQWo5ZmIr?= =?utf-8?B?blJONkI2NVVGbHFMZ3IwZ0RMMjFPMXlhZERFNU5kaVgzd2ZDVWw1RTd5QkVQ?= =?utf-8?B?R05sNGs3eGtuTG5GbEFaRjFCMU4wQTVNanorTDlZZE4yZGFpMzArUmhNemtM?= =?utf-8?B?M0dPRHVZUE9MNTlWZ0Nvc1pFdUlGRDZmZlh0MjJCUE90cFN1Z1lXTTRQSm1O?= =?utf-8?B?WXJEQVRTZndIcDR1VU5YNTNJeGRzSlFFdFFBMHR0bWpKRkZydzF1SlpMRnQx?= =?utf-8?B?NUpZZFVXbUFlOHcyNnpqRE9CaEt6S0JxS0hMWHV5R2kwMTM3OWNxUTduUVdn?= =?utf-8?B?TVdmSWFrZzAxZVVIOWQ5QW4xYUdsdW5jcEtIRHJwb3FEUXdpSkFwcDBiaW1G?= =?utf-8?B?Tlp6K3hlRU1jVjg5TldBRzlwUGo0Vkdieml2TlNjVVZLZ3MvQzc3V1dEb2JB?= =?utf-8?B?alJGMHNXWXlIYWdKenA4SDFtbmphR3k4K2xhSjV0aFBXKzRBcFNDRGRmQVFx?= =?utf-8?B?K1l0alZPc2RIenRZQWxZaFRpMTljSy92YWlFVk0zYnMzNDRrZ3Y1bG96OHFN?= =?utf-8?B?MkZMMjdJNjZZU0EwYno2TlNlQURWQ0xmS0phZys0OGlOQWRNVzFpcGJpcmQr?= =?utf-8?B?VkNDNmlMcDh0cXcwTkxRTDJic3Q1cHdvSHgyMktaaStMYU5TeDkzWTRMQnlG?= =?utf-8?B?WmhIcmhTd3c1aDZ3NjQ0NGpyN25zTUxyR1VjM3psYUVYT0JJdlpMNkpJSm9O?= =?utf-8?B?bUZhMXNabmJ1cWpFakUvc1AySUFEblVrbzlYaWRWSW5oNHh0ejhLc0N1cEtl?= =?utf-8?B?ZUJxVzY2RnZ0T1JpTWp4U0lKK0lYL21TaWNxK0FldVFXNW5ILzVUZ3A0c1BM?= =?utf-8?B?VWY2SkphZkJWNzZkaVBTOVZwejQrM1ZSWXNTUXFYY1NGaFNuNEFNQldrVnBZ?= =?utf-8?B?cmZOclVGN0lDTE4xSElyenBQN1ZxWjQ3bGtPUFhyQ2s5anQvUjdiWGNtM2tN?= =?utf-8?B?Q1VpTHUvaWhtNXdvQXJJa2RVZ2ZUOFVxN09MYUJnNEFrZktkVEs4T0xQNW9u?= =?utf-8?B?bW5zSWRpbnFIQnFNN2tDSFBiZldGcTFSdS9WcG03OWVvQXNjSDFKS3drVUR1?= =?utf-8?B?ZDFkeDBTa0lMMWFQVDh1aGJvVFdvbWpwNzNTSmJDV0l4TzcrQm8zSFUxZHNl?= =?utf-8?B?SU8zWVRaclgwTzRmbWI1TWJPalcrMm5VVjd3RDR0Y1BuZ0N1TUMwd1VSV2sv?= =?utf-8?B?TVh6akYxQ056RFpBTDEySUN2OU5tRjVCWUFqMmhyb1hoaElRRlZ0UDZyYWNW?= =?utf-8?B?VCtHK05UTGNOL2NrVk1zZER5U3JsbmVsL3JuVkt5SEZaNXNHWFRjSFdMcFYy?= =?utf-8?B?cFJLM0VDYzU2N2RhanRXVUFsOGhGUmJNS1gwMTIyeE5vTU5qNTJhVzJhS1pl?= =?utf-8?B?cTBISWxvUEVYQ0RlVEkrR0V6ZmZ4YWlpQnd1THdrZHFpWXV1T3d5UFN6WlZ5?= =?utf-8?B?T0NqeUViTjVUa1Q5c2RjbmVrWXlES0dSL1hXeS9yUEpNc1hGWm1oa1FHMjN1?= =?utf-8?B?TlZrdmZuV3Q1cnRDRFdPTXViUXllUFdQOHVJMUowU0Y4b3UvaWZ0TlRUdXpN?= =?utf-8?B?a2NNV2wyTFphb05sYm41NEU4RUgwbGxBYzFHUTVpOFpoUUtXYzg1dHBpdVFD?= =?utf-8?B?YjhlL3RiN3I0Y05vZ09Tc3dmb0k3Ujc5R0UydUdOcXFabDc0ajdsM2RYRCtx?= =?utf-8?B?YVI1OUR0aVE5OGtVVCt4elZUZi9uZThaYkE2YlhjVjkwVWl1MUNOcUhDWm5X?= =?utf-8?B?UGZZZmlBZ2Q1dStwVlo3VGN6cENQU3QxOS9kSHprRHVGdGVSZVpmcVdkeklp?= =?utf-8?B?TVZlUldnWlNaQkh4SnpPZi9CQWRQeXhwTCtwL2pBKytOSzFNZzhiMU5GNmli?= =?utf-8?B?MWdqWVVBeXQ2Sk5Bdncya3lyanZ4WEVvRDRldjBWMTIwSUtzSVZTZnM1dVk4?= =?utf-8?B?M2tLT0pGMXdnaGZPNWZvSXE3d08yNkFjMElkZHpyT29Ydy8wNnBNUmR2MG9D?= =?utf-8?B?TFpqT1l3UllGVGZtQUk3Yk9lL1RwN3RESUFrTWp4cHN4M1lDZjZYRjcrdFFj?= =?utf-8?B?YjBYNDlOaFNMOWhvVU8vZTdPaERFLzJFMjBsSS9FaHFYcnJBbUVxczV2ZTJq?= =?utf-8?Q?VFE8y8b172k1NYAlNLscOTg=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: 7496a2c4-4d47-443d-8be3-08dc9a5b328a X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:46.0308 (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: eV2lYw/OiW+JutQ2/aTZEIfD/Q5PRVckHSYOugq8hRx+Vz/U5KkQCTPI1UQ4NN/6H4vZur5ePQhordCEU+t4eTlPRBBjDQ/G95y08XCu14eZ87pZ9qj+Orf7bVRb/gDH X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR07MB6215 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899614319100010 From: Cl=C3=A9ment Mathieu--Drif Implements the behavior defined in section 10.2.3.5 of PCIe spec rev 5. This is needed by devices that support ATS. Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/i386/intel_iommu.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index f77972130f..9a1bce9ae2 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -2192,7 +2192,8 @@ static bool vtd_do_iommu_translate(VTDAddressSpace *v= td_as, PCIBus *bus, uint8_t bus_num =3D pci_bus_num(bus); VTDContextCacheEntry *cc_entry; uint64_t pte, page_mask; - uint32_t level, pasid =3D vtd_as->pasid; + uint32_t level =3D UINT32_MAX; + uint32_t pasid =3D vtd_as->pasid; uint16_t source_id =3D PCI_BUILD_BDF(bus_num, devfn); int ret_fr; bool is_fpd_set =3D false; @@ -2338,7 +2339,12 @@ error: vtd_iommu_unlock(s); entry->iova =3D 0; entry->translated_addr =3D 0; - entry->addr_mask =3D 0; + /* + * Set the mask for ATS (the range must be present even when the + * translation fails : PCIe rev 5 10.2.3.5) + */ + entry->addr_mask =3D (level !=3D UINT32_MAX) ? + (~vtd_pt_level_page_mask(level)) : (~VTD_PAGE_MASK_= 4K); entry->perm =3D IOMMU_NONE; entry->pasid =3D PCI_NO_PASID; return false; --=20 2.45.2 From nobody Mon Sep 16 18:52:19 2024 Delivered-To: importer@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+importer=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=1719899628; cv=pass; d=zohomail.com; s=zohoarc; b=awP4HjdY5kapS+U3Qhm+K0mv/6VmHiQ1YUEFv8yXVvhZ8kLCLoIbXiFrQDMDwqLp4JT3F3EAda408TiAVDRnQ9DCFMkG0jbLi/mgx+SBu3rbaTNXJ6o3oqbTDE8IqaZAziQcoVmWCsQgW4AHxTJhrCVwLP4xLEhurc/jILxmXOA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1719899628; 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=fcrGvIymbVDEDf72GNfFZEeTZnuVqowT/D0J4yl/qfI=; b=hbLizpTfNq90sEbsnBPGQymfpleztMiCE47FkIzcCDOaSEa1EUQxjZMtQfHWGQ2cW3T4sKR7XyJAMkXEpVfS+RF5ePeZpiTq0Uf+xouHLaruDlSnFJzphLdBIy601L9BxBA8OMdw3AIbalXP31QMBr5IJvH7DncOFKeHPfdbVbI= 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+importer=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 1719899628368380.131327746133; Mon, 1 Jul 2024 22:53:48 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1sOWRl-00083R-Fl; Tue, 02 Jul 2024 01:52:57 -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 1sOWRg-00081c-3l for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:52 -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 1sOWRe-0006cX-3a for qemu-devel@nongnu.org; Tue, 02 Jul 2024 01:52:51 -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; 02 Jul 2024 07:52:50 +0200 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by AM7PR07MB6215.eurprd07.prod.outlook.com (2603:10a6:20b:13d::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7741.21; Tue, 2 Jul 2024 05:52:46 +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.7741.017; Tue, 2 Jul 2024 05:52:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1719899571; x=1751435571; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=fcrGvIymbVDEDf72GNfFZEeTZnuVqowT/D0J4yl/qfI=; b=YZmG9asopiH5+ssWrQEECu+xMXpRjrdT8ZUe2Bzi9pN4FcpExv5HP1k3 UFZGaF7JaR8aF8QlHZye+elh4rY+PnOi3YGIA8ombq5XAAym4UwSTxBjP cyOfdXezNDkgYIAia/eTQYLtqbTt9v029LAxXuDatFJ3ZCJ66+zHlgQbd m7VpLrWe1njZzOhiaPQlc2uiAV9Eiq01cvKGPe8Gfaeqp/vOHpFR1uH1G GFKPKqGx3CurIQIv1lbiSSLLBMn/0A7quvsk30pYwgIRORaAKU2pYHx6m pxikLkKJtL/MgnOIl1L58dMFltSQsr4SMGO83iypyL0VMnYvvE2k3SBuY Q==; X-IronPort-AV: E=Sophos;i="6.09,178,1716242400"; d="scan'208";a="15715683" X-MGA-submission: =?us-ascii?q?MDFRmtchDG0XCPWEeqe39yVZtqV5mWR2LJSdqZ?= =?us-ascii?q?uIhsluVHB9P6R992InG5svM5qi/qBcjNtncZlDXL66+wBlewlVEtUa0V?= =?us-ascii?q?3vr/IziSgx3Xn1qDY6fpI3o4XHN/8SM6KjGYL+GqDvKwokJwUg+1RXga?= =?us-ascii?q?O0lnLK5D0sZ/y65kwRPMxObA=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=EUiQMWta4bnbe4k1z2EhGo4IHZiYV0ri1OnaGT6fK4K1GpF7wpvhs2AO3G4ATjuoe2VfOFw5V2gW/apqaDWLQY/arjaZbye0qM+NmfhnjSrOSHV8O4CgCtvMXO51FNO1xQdgvgSv3J+VVQq9eRiLOc1D0I3WkEkO1JM7N0oJUxyZuIdkhrnHJ99Xu24AFljEhFcnhnCk3pBi/KoKxzwZB4l7bN17AhyoqIu6dFBjilq63w4JCh/5F3wUdiMvdoh4g6kiW8hHRNiIIzGlPNty3z4Yw+JvCctpBmggc9r7gDTHcBeQ9jXuTVcSbbBxmk5q8mL8e1RP6noxmX/p2C5QFQ== 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=fcrGvIymbVDEDf72GNfFZEeTZnuVqowT/D0J4yl/qfI=; b=Y55cjIihjQe7WIijHGYmoaXL+XuD1EWY5ZvqiYbBQP2uzyM9yUUyEhdz/9NNckVRpikdrzlij9e8QQ2izrfxps6gLVRaElJyXIhaQ59xy6lxGQWZcbiTwEwHdqEjngGYQgUFzmJkjw1rg2L2fMNVeR6sFw8bhl9M9vYlm3CqQCPPmWhGPwf62gNnTuevD2XXy2N383jAMXuoMTI156xZLaj2F27KRPFR3SPU+JE//tPJhwOTNSJCsngzfClITxR+vvoKpA7JwjKl8gmi4aqBDrrVe4rHshHY88ryqNCIdy4aPNjswP/w9bOcCgWkjKvCDfpq9zkdQoObnXSRYUwP6g== 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 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Eviden.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=fcrGvIymbVDEDf72GNfFZEeTZnuVqowT/D0J4yl/qfI=; b=bQW90S1217L8KB5ovFHOcc9lo61cAVYckTQeZ5hjsxb3hbnrQKdjhcPTuvPWBcW5rUpRnzGkcPu8hv2RODtYb6XiBnLj7wDBM98WriXCcjdh7hcUgeBBtfdHL5k9zvKyI8MHZYeIdtbYmIfYHIk+PxlfZLZDXHqxkDa1UX2lP2VTzPhD6y4e9TNZkRHP6OL034whGozb9b/WskADAs/6UOH2lYbNtf3JM//iD+GKYChX4ayloDBzDUlSQmr+7NeukMboqrXwvzz460K9W02DWscpgB76IJvNJe6zWJcF+W940OyxZX8t9zN/vZXFhh50UqGS/SJ6cA9Vidvs7ow9RA== 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" , "mst@redhat.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH ats_vtd v5 22/22] intel_iommu: add support for ATS Thread-Topic: [PATCH ats_vtd v5 22/22] intel_iommu: add support for ATS Thread-Index: AQHazEQQ+8Pi8kxvokGHkqBN3Nk9bA== Date: Tue, 2 Jul 2024 05:52:46 +0000 Message-ID: <20240702055221.1337035-23-clement.mathieu--drif@eviden.com> References: <20240702055221.1337035-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20240702055221.1337035-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_|AM7PR07MB6215:EE_ x-ms-office365-filtering-correlation-id: 3478fdd3-5434-495b-8b02-08dc9a5b3306 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|366016|1800799024|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?WWhjVlo1dDNCaG5DSktyWWRFTGNjalVaZ1ZaWHJHRDdubTBDOFViVDAzSVp3?= =?utf-8?B?STh3M3hnUC9IVnJxU1FIUzlubVdjZU53UTFPZk8raS8rYTY1YUwrK3k5ZDlp?= =?utf-8?B?VmIrRUYrOEFuRjZzSnRtLzk0RmZ2bEpGVWdZbHAzMVZJZGlaUHpFZC9Sb0xL?= =?utf-8?B?UFo5VXdTRG9WS1BaNU9sMFJDRVZaekIyUE1aejNJMTVqOEFsWm9HNER0cEp4?= =?utf-8?B?cXRaRDlubDBQd2hBVTFjOU5KZjNXQThZYmdWbGRvVWJyYlVwS003ckhKM21r?= =?utf-8?B?OEFwNkhWdHdidmVuZHdnVmhHYmxzTjZoVy9SRTRpMkJqRnhYbnUvTWxKdnlm?= =?utf-8?B?UzBBU0VMTGEwOW5GdGpLbTUyVFp1d3VlaFRNb2hELzZTSk1ZT1FjSnBDdml5?= =?utf-8?B?UWNWcS9BeEJvTmk0MGZJa1l4aVV0Z092Q1RoL3dFcWgvNDRYZ0UyY0g5MU5h?= =?utf-8?B?ZlUwaGhTRG5KTUJuUm9UcitTaHZlQjVqNUg1YTRhc1VnVkI4d2ZXeWhNeGho?= =?utf-8?B?bWpIb2ozU2U1Z05Zd0ttUHlxd2xIeXExSXVGdkxzcGh1ZndUS0tMZlhsb3BR?= =?utf-8?B?M1hQOFVsQ3dncG85VjV6TStSZlNzWDR3SjZpaTlmMEQ2NTBlWEY0TnV0YVZy?= =?utf-8?B?K09oL3NVZzlPaGVJYTd0WWtmdjVzVTlwVDR6eXFNbStYZ1Q3VGdHanJUTXll?= =?utf-8?B?R2E2dExjZkJwdjZvU2l1QUhZaXBUdUNuc0xOV1RBbnFrbjZWQUxteHVJbHFp?= =?utf-8?B?WllZWnZXUmh6VWErOWQ1UmFzSkozVGxIN0x5UkdvQjFSUkt0RWNyNEJWNENU?= =?utf-8?B?VWxFOVM4V0FoZm1nMUZXbjJEd3JvRm4xWS84NnJpaURpVHBNSmluOXdyYXow?= =?utf-8?B?SklDMk1yV3NDNFArS0RjWlpXVkl1dTNCMkR2WmFJcmtGTkFJTVBlSHRnSjV5?= =?utf-8?B?cUw0QTdSVkhMRTZidGxYelF5Z0QyZDh4cU1WcmNtRENmbTM3V1pqSTVkUkk1?= =?utf-8?B?UWd4bmh6UnRkRllhb0lCaEFORGduWkorTHJzaTVQeGwxdDlTMmxoZm4wZ0t5?= =?utf-8?B?cnl4L1o2OUdaVGhFQjJBMGtEVjJSd3FieHZRM0U1Zms2dkVDMUJYRzBzRnNY?= =?utf-8?B?SVR1cThCbDJMd0t3UkJzcjJ0d1JITTFWakxhOFlteWE5S2RBZFQwSjRCRXJL?= =?utf-8?B?b1duUGhTZWcwNDhHVU9nYUxvSzhLa2NGajkvN0hoWUM2OE4yK2lRcDJtcVJN?= =?utf-8?B?NjNnTjZrRWhTdVpwb2ZLb2FRREhyQlF6Y25hbWx0aEw2eCtDcGlJTy9CU1Bl?= =?utf-8?B?Mm01RFg4bXNvTUJta08vb09WQ28vNWdVbzE0N1Jjdlg0MzZHSHE1ZEdjSXpv?= =?utf-8?B?aklzOGZRM29hUktNZ2NPV2tyZDlQbEZjZkJ1Uzhzdi90aS9SdTJDYU5ZN3Vq?= =?utf-8?B?UFRuTmU0b0RoUzM0QlRMLzNHU0NIMDY0Z2IzSVVxMGU0OHA0Nnpya1hGQTJm?= =?utf-8?B?T1dBUW9DSmhhdk1wUlBtRjQ2OHRHNS9qNEFsakxqUVBQQ3p4TUJTSFlCamV6?= =?utf-8?B?VThhL2IyWjRxN2dlWG8zVEdJVi8wVmN1MlZWYUlxU3pUSzB4MDZyODRJU3F0?= =?utf-8?B?MGNWOHN4WGlRbnQ3S2hhejJ2RVJ6ZHMwd2xvUU5PVFh4eEUzVWd2VnhqSzB1?= =?utf-8?B?UndEOFNtQkVTeVNrQU5hc0ZScXN5SHY1RExsbDJKWWZrb3p6bDhHNmdoVVdQ?= =?utf-8?B?aVFyUFRqUFF2bHBvS0ZFTHQvYlE1ZWZQTGVUTkhMTkhtTDJjRVA1VzZjVWNB?= =?utf-8?B?WnRQeUFmc3VhTEY0SmpNTFRWbCs1SmpKVXgwYnI2RFZ5T3l1Yk9FaVAzQm41?= =?utf-8?B?YXdZME11d2M0QTZxQzk4UlJMZXN6VFRvQUI1MXBVZCszekE9PQ==?= 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:(13230040)(366016)(1800799024)(376014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WVcydlpEaXl1QmNpOC9QVlRJMGJHK2YxblNsTks3OEd3U3JocHIraEtwSTh3?= =?utf-8?B?cEJhMHRnREFrdEtuanp3QXZLbkdhSDJ4SldWakpsNGVFL3ExVlhHWTNFbjFN?= =?utf-8?B?V1UycDJvRjZuais0SThjQTBUU3Y3QW5NVVUrSGN1VEZadnRWclBjL2czV0xw?= =?utf-8?B?Wm1ZL2x3WlhvRlIyKytVMGZMTTZtM1czRWFaWG5kU2ZYYlErRzlkWjErQVd5?= =?utf-8?B?Nk16Vlhrb2xhQ01hRWljeENiWndYTm4wa2dXMXpTUGVyVFgwa3laaDAySU9x?= =?utf-8?B?b1BHYjVNTFlldWF6dU50R3JQTzVDa0NiWjhQTGZ1MEMwZDVGeWFQWFg5ZnQx?= =?utf-8?B?RzNnc2hhVi90ZTlza2MrTklPbC9FTGp6aHhHcVgyVjgvVVNUaTN5NTlwT2xJ?= =?utf-8?B?NGVleVJ5c2VUWHpWc0ltWWR4aiswdnowY0JDcGlCTk0wZ2hza2l3OWRlUWYx?= =?utf-8?B?MENqQmdQTEttMm9Sd3V6YzVvYitCejBMNkY5VjlRdUFyM1NCR0JEcEFRdEJB?= =?utf-8?B?cnJPOG5sWngyMGpDNDFxWEtoWlB3YWZvaXRzUUM0aFcxZzVYMUNOLzNJQ0dV?= =?utf-8?B?Z3VvN1l4bTNvUno2QWdBNkRQS2N2VU9CRUhmNWV4UDNhSmRvdmtDOGMvSVha?= =?utf-8?B?Sk5kTSs4Tnk0Q080U3ZqUTdCbjR1bGZTYW9mcG1pV0NYZFBkWkN5L1Nsb1Q3?= =?utf-8?B?SjloLzk2NXlibjJBT2NpZC80TFpQSmJXWGNDWnBYQ0pITHBxdHpFWWVxSEFq?= =?utf-8?B?T1BERCtrU0RUUW0ySzlPb2p4clRkK3EzYTA4WDlrZ0NRZG1oN2hnaG5iTE1J?= =?utf-8?B?cTRVa1p1dTZGUVFVaHJiQ3RDdUdrM2tPZWJGQndCRlhvSndvVEhodEpYN2tJ?= =?utf-8?B?U0E4NXBFbmp3Zm5OcG1wL3Ntai9XR0c2TWRKdFJ4SUNFcG5YWTVaTFhpSk5X?= =?utf-8?B?QWMydVJnOXFLR0NjQlM2V0pnTFQ2aE8zQTlKY0pPeWZucGhPRU85RVJuS1c4?= =?utf-8?B?eVJsTzdYY21LakRvZ0QyMVUwa1N6emdMdjlhd3RmOXNKZ3oydFpBdlVGN00v?= =?utf-8?B?eHNYRStrYUQ2Q3k4bGN3ODdCL0JjeFZHSmkzdnk0UkREcVpNenJSeXFUdUl0?= =?utf-8?B?OVY2MlNlSkVjVmRQdnVMQjFPMWlzb0JOR09QVDFvajViclMxYTN4Y010U1I2?= =?utf-8?B?WlBuN2J2cWhTWHIveUFHQUZGWk9jMnd1UXJ5RWp6Wmk5K3dBVnZpNU51UXVS?= =?utf-8?B?dHdZMGtOVVpDT2lMdkJhdkZCelErdkZhdzB2LzZHYUJRQzEwcDQ5aHhNbSsz?= =?utf-8?B?MTMxK29TSHV3Y0RCdzN2V0ZjVVdHVWNmMjdwNnlUbExaUGl5ckNKSFRLUjVl?= =?utf-8?B?RkJ6R3B6bmNkbUZEcTFGcVArRkNqWTgvdk15bVhDZXlNbDV1RHVHaDM3UjZq?= =?utf-8?B?dldhUnR2ck5WQXhLZEdZUkI0KzhiTEFMbW83VlpzM3hUb2Y2WTg4bjlTOGhI?= =?utf-8?B?QlEyTTVMK1N0eVRHcmNLbzMxbFBEcXVBWlhWakpXaFNUWEYwSUxpY3V1cVdU?= =?utf-8?B?NXRtMnlSWG4xSzkzcXRydHE2YlloRjY5TjV2c2w3NytrZnhtZW1Nc0lySzR2?= =?utf-8?B?UEQ0OEh2bitnMnVzeG42MEZ5TmNDVUlneDNDUFJWWjRzY2hValpORzlTUEJK?= =?utf-8?B?Wkl3ekpKb2tiOS9vUk01QXFNNzVWTlhZQStZQWI2WTR6MURHVTNxKzJ6T2NL?= =?utf-8?B?S3FvTEdVS3VPcldHM2NDczRCSDRxZ0tyeC9XQUk1cDhYbjRqbEd5bVJ0NndW?= =?utf-8?B?VGxKd1pncWpUanVWRGpSdDFObEtvRlZQdDdGUUl6WDlrUGVmWGtQNWh6VXhJ?= =?utf-8?B?alB0eHdJV3RraWVWMWIwdlQvSjNmQmhKUG1NazBwbFZpRnY3TlFEZFExVjBE?= =?utf-8?B?aVA2MGQ2N0RGZHVWdExSQTd6YnN0cG85cTQ0YWFkUlFKdGpxdi9PdHJoR1FW?= =?utf-8?B?ektUSjg4dXJ5TU9CNW1tbEtQbngzKzVITURvSnhHMHlyYXNmR2k3dTI2UmZl?= =?utf-8?B?WDJUcURKc3RQQUIvVzYwVW9pRVhnVlRxVDFWb3FZVklZNjZsSG5FREZVZWYw?= =?utf-8?B?b2k4UVpaWG5CSFUrdzZNcXdGZ2hQVTQyeGVYWHcrM3dyZ1Aya1R1b0dMS0F6?= =?utf-8?Q?2RCQi1/Kbg0Wq2AS28IshvY=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: 3478fdd3-5434-495b-8b02-08dc9a5b3306 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Jul 2024 05:52:46.7992 (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: gXXxaq/ycJBmddgUqmYtc1Fwyg5z5Kr29MJQ6ausZm2O7kg5sEm0+XtpzjsESSObK1KUjGJ6W6FgwRE18aR4hsEpAdKYCSUNgnaHxrivPDUmWVwsLQAcBTfVKxUlgCaq X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM7PR07MB6215 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+importer=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+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @eviden.com) X-ZM-MESSAGEID: 1719899630258100008 From: Cl=C3=A9ment Mathieu--Drif Signed-off-by: Cl=C3=A9ment Mathieu--Drif --- hw/i386/intel_iommu.c | 75 ++++++++++++++++++++++++++++++++-- hw/i386/intel_iommu_internal.h | 1 + 2 files changed, 73 insertions(+), 3 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 9a1bce9ae2..191d7cf0a9 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -5405,12 +5405,10 @@ static void vtd_report_ir_illegal_access(VTDAddress= Space *vtd_as, bool is_fpd_set =3D false; VTDContextEntry ce; =20 - assert(vtd_as->pasid !=3D PCI_NO_PASID); - /* Try out best to fetch FPD, we can't do anything more */ if (vtd_dev_to_context_entry(s, bus_n, vtd_as->devfn, &ce) =3D=3D 0) { is_fpd_set =3D ce.lo & VTD_CONTEXT_ENTRY_FPD; - if (!is_fpd_set && s->root_scalable) { + if (!is_fpd_set && s->root_scalable && vtd_as->pasid !=3D PCI_NO_P= ASID) { vtd_ce_get_pasid_fpd(s, &ce, &is_fpd_set, vtd_as->pasid); } } @@ -6041,6 +6039,75 @@ static IOMMUMemoryRegion *vtd_get_memory_region_pasi= d(PCIBus *bus, return &vtd_as->iommu; } =20 +static IOMMUTLBEntry vtd_iommu_ats_do_translate(IOMMUMemoryRegion *iommu, + hwaddr addr, + IOMMUAccessFlags flags, + int iommu_idx) +{ + IOMMUTLBEntry entry; + VTDAddressSpace *vtd_as =3D container_of(iommu, VTDAddressSpace, iommu= ); + + if (vtd_is_interrupt_addr(addr)) { + vtd_report_ir_illegal_access(vtd_as, addr, flags & IOMMU_WO); + entry.iova =3D 0; + entry.translated_addr =3D 0; + entry.addr_mask =3D ~VTD_PAGE_MASK_4K; + entry.perm =3D IOMMU_NONE; + entry.pasid =3D PCI_NO_PASID; + } else { + entry =3D vtd_iommu_translate(iommu, addr, flags, iommu_idx); + } + return entry; +} + +static ssize_t vtd_iommu_ats_request_translation(IOMMUMemoryRegion *iommu, + bool priv_req, bool exec_= req, + hwaddr addr, size_t lengt= h, + bool no_write, + IOMMUTLBEntry *result, + size_t result_length, + uint32_t *err_count) +{ + IOMMUAccessFlags flags =3D IOMMU_ACCESS_FLAG_FULL(true, !no_write, exe= c_req, + priv_req, false, false= ); + ssize_t res_index =3D 0; + hwaddr target_address =3D addr + length; + IOMMUTLBEntry entry; + + *err_count =3D 0; + + while ((addr < target_address) && (res_index < result_length)) { + entry =3D vtd_iommu_ats_do_translate(iommu, addr, flags, 0); + if (!IOMMU_TLB_ENTRY_TRANSLATION_ERROR(&entry)) { /* Translation d= one */ + if (no_write) { + /* The device should not use this entry for a write access= */ + entry.perm &=3D ~IOMMU_WO; + } + /* + * 4.1.2 : Global Mapping (G) : Remapping hardware provides a = value + * of 0 in this field + */ + entry.perm &=3D ~IOMMU_GLOBAL; + } else { + *err_count +=3D 1; + } + result[res_index] =3D entry; + res_index +=3D 1; + addr =3D (addr & (~entry.addr_mask)) + (entry.addr_mask + 1); + } + + /* Buffer too small */ + if (addr < target_address) { + return -ENOMEM; + } + return res_index; +} + +static uint64_t vtd_get_min_page_size(IOMMUMemoryRegion *iommu) +{ + return VTD_PAGE_SIZE; +} + static PCIIOMMUOps vtd_iommu_ops =3D { .get_address_space =3D vtd_host_dma_iommu, .get_address_space_pasid =3D vtd_host_dma_iommu_pasid, @@ -6246,6 +6313,8 @@ static void vtd_iommu_memory_region_class_init(Object= Class *klass, imrc->translate =3D vtd_iommu_translate; imrc->notify_flag_changed =3D vtd_iommu_notify_flag_changed; imrc->replay =3D vtd_iommu_replay; + imrc->iommu_ats_request_translation =3D vtd_iommu_ats_request_translat= ion; + imrc->get_min_page_size =3D vtd_get_min_page_size; } =20 static const TypeInfo vtd_iommu_memory_region_info =3D { diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index 117dc96d22..d4831522ed 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -194,6 +194,7 @@ #define VTD_ECAP_MHMV (15ULL << 20) #define VTD_ECAP_NEST (1ULL << 26) #define VTD_ECAP_SRS (1ULL << 31) +#define VTD_ECAP_NWFS (1ULL << 33) #define VTD_ECAP_PSS (19ULL << 35) #define VTD_ECAP_PASID (1ULL << 40) #define VTD_ECAP_SMTS (1ULL << 43) --=20 2.45.2