From nobody Fri Nov 14 19:47:05 2025 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=1761735211; cv=pass; d=zohomail.com; s=zohoarc; b=Lc/Jzx4xrsM2mfuZqhgklNS/ylAfdil1N3IaoB+7EKhh1hMKctkmouYfxZGuGbMlAKyBlRZ4raBuPxdDgQPr+JqVqGUdp/J0kKT1DqUPC90io9SBURC4jioUp0PYg+bEPB5JMkyAIk0aXAgocEoYYticwAQF2/20KuoOmGpQMI0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761735211; h=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=LcwYH1mQl8XweZm5gFQW1ukn0uWwiZEh0UQnjU7LPIA=; b=M+hOKDjC1XBBXoadu5Be05b36XVywX/SQu5Q524HDKiZ8TcBu4+WsrAftarK0Ld2ppJc8zY8fwmrPACKBlTOlwLgYNHV2ZtypW7qpFbFxdqeZlqvN1oBxXsBdhZd/kIJjcq0b22C4sJz0V4doHARetJmHKpMss+TCCwrNNWjqpI= 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 1761735211173456.6068730762812; Wed, 29 Oct 2025 03:53:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vE3mo-0007Wp-Of; Wed, 29 Oct 2025 06:52:14 -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 1vE3mm-0007Vr-0S for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:12 -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 1vE3mg-00020L-Rf for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:11 -0400 Received: from mail-northeuropeazon11011056.outbound.protection.outlook.com (HELO DU2PR03CU002.outbound.protection.outlook.com) ([52.101.65.56]) by smarthost1.eviden.com with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 29 Oct 2025 11:51:44 +0100 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by VI0PR07MB10962.eurprd07.prod.outlook.com (2603:10a6:800:2d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Wed, 29 Oct 2025 10:51:42 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf%5]) with mapi id 15.20.9228.010; Wed, 29 Oct 2025 10:51:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1761735127; x=1793271127; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=AEQp9XxQWIcE+YXnkRdwc9EoGxxm+91NWPTyXC/dc1s=; b=MAU18CfbA89pvVZfMqdDO5VtjOXUMJpNQ+5+knkeAQRH2x94qWCzhPym hZ49kWmaIdYMik5YrHZiScy9nstCbZHDvd49m4siJBhEt2gRLq75QB74/ J+oiO+deM1p0n6DE69FdBP4IY/DNZo5iP81gtpqYS0Htrs0XXwhQGDv7E Wre3CppdsWvL5a8qOWkYK+Fy7l0ZOVsIWJwn3r1MPPv3VymsHPymt0Z2o 3vysDG7tg0BliiCEG/ngmIJ6EAFYMjLwfdw4Tt8AnArs8scSbipvFDpgO na5WwwNtjB4kpLvAL9WmexHNHRyL09DUpoym2ZBeooN9lwR/oSMlzg2Gj w==; X-CSE-ConnectionGUID: R16XfdnDQVWHEKbztVAQrA== X-CSE-MsgGUID: QszA1TPoT1WDcYifN8ADnA== X-IronPort-AV: E=Sophos;i="6.19,263,1754949600"; d="scan'208";a="44193190" X-MGA-submission: =?us-ascii?q?MDEdEs4dro1xbHjXVnLyw5Z/h4+sh1JyAnYz5j?= =?us-ascii?q?0vKAiRraVuJhcWvBUwJFy1UNufK0U19pHcJILAAWnJwYw5OqFGXh4iMc?= =?us-ascii?q?sjE8286FD3gepYCcCuG564izPjlhyGdkMZK5zwXT7d9bLjobqDb5ugRg?= =?us-ascii?q?vfBQQH/be3GCP+/b4rtMY5LA=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=N5/AT7s4IWyIBqpBzqHBMqBq0nSU+j3SZ2wMgkozui9qNuFqkLVdslBxEPgAaSORiyOX6hdpEkDwEnlKiGfN+htSCqdL0ztE96xi0GaNggNkw/Ees/6+DQbKzwO6sc36neBBEGlNkgM4fbCA4qzw2qzAwmFOxhLm1ibWrXmQ7BcsQbMKZr6NxkLUbMA5T7bj40tVY5MjLLYCZEkTFviC3yA75J59Abe5NQLT6sNSNlUqyqNQ9Wf5PRh5ZiLtRoLjzmYLvKh26jWTuq14M2a/OWJWAp8155/5QNLB3I8C9T3ZpxMY/mKZM/VmbHb48msV20EbH5JIWtgB2uXZsyYEiw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=LcwYH1mQl8XweZm5gFQW1ukn0uWwiZEh0UQnjU7LPIA=; b=HVsQff1HYlYEUS+H0e05adamzg04xA5mXSPa9w7Yh5UaSdpydIpLrCHY/DPYSLGURUiaDqSnCw5gkPxXzCIBQPqM349ejZ5ixidjj703XlA5IPy6ubQxndaHLagWO5and/oXHPj77Om8ixyoA2+6m3Ek4D+o1duPOV2rWPGuI1AXwR/KM3JMoNKw/Hj2e/ixD+EbFfYh2KpjGV3aPKL7adRVHSibxK5yH4ldL6Zag0luuwXWVvYwL/fS/uFEaAw8hdB2Fn70mo61Tv6nvpf5QardwEVD30aWn/tl4gqQd9OFA+NiBSGh0xkAeogRxIEK/3PCBn4fW5J8APaaDzui7Q== 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=LcwYH1mQl8XweZm5gFQW1ukn0uWwiZEh0UQnjU7LPIA=; b=Dsc80qmMooLPJHug4q0cI0bEHUE8RXL91DRYGeltlqCL/zu175Fk2oOiWCSnATXKC8ZQMvNnDtlcMh9HDuBQAJ5RN56bfvHCd4LL7/9qG2MmILSDnmEMlbuTHb24NFiWVoVO+srJ313wQO7S0f7BDghSgkdBN3oDgikigEnMOiK6AFE1MJdpKd3eHCJYOK+ZClNzG8p4kkSx5CNkEJ2/zOyJuhv2ydftRUtP1nr7Dqiyzdc4fGrQ6yjvvj84V/9WNuVyvg50M6izCYuTAeww23PgrsulHMxIsX8HqEc4XUIM4H0J2qGu7skmVT0pklgasW536uIK9g0eqdPOPzOnmA== From: CLEMENT MATHIEU--DRIF To: "qemu-devel@nongnu.org" CC: "pbonzini@redhat.com" , "philmd@linaro.org" , "mst@redhat.com" , "marcel.apfelbaum@gmail.com" , "zhenzhong.duan@intel.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "minwoo.im@samsung.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH 1/7] intel_iommu: Add an IOMMU index for pre-translated addresses Thread-Topic: [PATCH 1/7] intel_iommu: Add an IOMMU index for pre-translated addresses Thread-Index: AQHcSMICQJlqeCJvNk6ofjjBzKY3/Q== Date: Wed, 29 Oct 2025 10:51:41 +0000 Message-ID: <20251029105137.1097933-2-clement.mathieu--drif@eviden.com> References: <20251029105137.1097933-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20251029105137.1097933-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_|VI0PR07MB10962:EE_ x-ms-office365-filtering-correlation-id: 1f8548a0-98b3-4eca-499f-08de16d92519 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021; x-microsoft-antispam-message-info: =?iso-8859-1?Q?fMi1txumelo/5zWOi4Sx5VFQ52N5L+/Pbufmyfco6/C+x+GR4mgrRekMp1?= =?iso-8859-1?Q?cs7Xlt1ni+kQ7K6X5cfVzfCcELhDhuHdZAkDLdU+b4JnMTSNT+J75CzN8K?= =?iso-8859-1?Q?FZvVPH4ESH1upaccHyXADC2MkCSQfLUHYnGfxervM0krqK9zgko2tFpCa7?= =?iso-8859-1?Q?+nNBYjbXZrE0xjRzer0/S5EWps7NojR3Cp+U+/TTZdxRDRXA0NwHSH1tmd?= =?iso-8859-1?Q?9h9QVL9yexHrlclIDUGqrD8caWqOJZ+oE2U4jxDKIAb8zgGCVnzNH1sBZO?= =?iso-8859-1?Q?4MaxASWqbVzRo4hG9r2FNoYl3E3+1AXX/PeeXBcv0uskFHs6V1zSWaYnaL?= =?iso-8859-1?Q?BNAz/Ep8SV7VqgWphXZur3dAfPoRx936BC64tTk6qYQChHTkabgdAyOfQh?= =?iso-8859-1?Q?yTIfYQ3cD4hrrm4++OBXM/cS8oKQs1qEQtgqv6TnNtyWYBpZPcdCQRRmvv?= =?iso-8859-1?Q?mPLnqCN3qsgTIcClCPZ8sIkdYbfjLkDww41JVref8SzuQqtYA0zjXYdsoN?= =?iso-8859-1?Q?Jht9hn3HsBG4ypZDC47Cpo4WR87dZjLfre734/0rREwIeKdqrDf+MwmY1g?= =?iso-8859-1?Q?LqAziOTYYcCPjQeA8W4TMs9tFvV3Icogk6WxYDoBm+UEDndc6/H2PmZ/GS?= =?iso-8859-1?Q?L9NRnCxWGySN31l50dxKXyZpxx1wjgKnq5ADgw7zEiKQ82VLaqW0a4R7ZE?= =?iso-8859-1?Q?8Uc6U4CwF8/pxdBbaDAdvOfAKpDBZdguz4vMy4qcUldgOgGpbWeWPX9EwT?= =?iso-8859-1?Q?j5t5MokvdY5J9yNWyuqwzl52UaPxVJdBR9wDfJZVoRKYSj0UHgZGmKal4M?= =?iso-8859-1?Q?+b31Dewdp8TYkCtY/4Uub6K3mQBkO6oT/xVwEv5OHtXRQAfiT2dobOQGb2?= =?iso-8859-1?Q?hfsfKqn8KlACd4Dy6jNzhlCsIgcvfXvmwxQxrBMNSSfXF4RpSiCnwAJ+pm?= =?iso-8859-1?Q?RaBjw9nJnCNCCbmjwrUD9OeGQXylUxxInQmBetWCEZxbCxDWpqBU3836OQ?= =?iso-8859-1?Q?yRFiVBn+n/GhuRr34doxKrHVRR/ELv5Z9iygmat89+eyhPOI/+0j3f/jSR?= =?iso-8859-1?Q?UCiV7rVlYHZRhzhNHyX3d8HPoLDTpTTWqig+7moh9VOxr0a5ZzSHkJq8rh?= =?iso-8859-1?Q?2zPl4up4rT1w7Tb+8zX9D5SaGINL8GfhMnxmKh/ru1Kr+kc3XX9n80n+o+?= =?iso-8859-1?Q?CtLt9w5UMylHuGhAtJpNM8use52Qhukf0EBZGcToJjLsJC2Ph1/2laU1+P?= =?iso-8859-1?Q?q60zNXIjB96P5tGXq9X3lOOVLHIPO5rI7VL+rWN/BEOWh9pJvzmj/N8aaM?= =?iso-8859-1?Q?kdpsOisw/lCpQhpCL1drPiqJM47/FRp7EnDv8zUzRbBaSmiNh1QkIePSK0?= =?iso-8859-1?Q?dyIw8zhHgdsnCkuIX2ohEx7viQNX7FrgrjBG1/niJafzdUNm1qe0wsCyoh?= =?iso-8859-1?Q?P8bDYxt0vRaqjO7sDxBXpQXWHo9grXRg/3mnrEu74zCXe8dPw0LK59Q5TH?= =?iso-8859-1?Q?gBS44IXRMwDm0RnJpWBbybWSyhwlZGRIOv+omKyLZ+FblmhuTcgoOCtB6F?= =?iso-8859-1?Q?Wkb4rwwrEf2lzPgFG+VvAPnx1N4t?= 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)(376014)(366016)(1800799024)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?2HmU5XCRDwxB1b5lzEd1nQXsWXWxhnOHJHRTq7rPOqkmsmgUaO8pLaTFgm?= =?iso-8859-1?Q?u+I9ecwESctL3eVQ5j84iMP9pylP9RvkES527iG7JpHzTbLcxth3mmhtSb?= =?iso-8859-1?Q?6YIHU7VO1Edo3IdFf9pM1XO2I/q+23pkwFHpQDcqdEmPta/CvsxxK4e/SA?= =?iso-8859-1?Q?Rqx+BSFV01azEVEi6zDM6rjBQj7NYMSKXFtA9lGVG7Fll/SjdEXQdaxXqq?= =?iso-8859-1?Q?dyNotxNJF6A17ugcTWAfVLjE7O8AYwzT0j1PnBS6ubTm1Iay8MaqWvdw2a?= =?iso-8859-1?Q?5jYmDcnpokeFJ98qXfTjSf2ORPYbfV25ODifPOE7c1Ms33r+QGiO2dd0zw?= =?iso-8859-1?Q?wwiHv9ccbgGJBpAnpDiEFVRxRzSrFXoKIVvZkmznsFQhJ4QdNngoK31AWf?= =?iso-8859-1?Q?C00Z2Y+i4dNnmIAh4U+G08POZNkuXd/SElbwFECXkIFhz6+DkfYfwVOA96?= =?iso-8859-1?Q?a9JSqzz8ZTpqLEd1agj7aRmd94ZM9kfeDPI5qICNI8YdYK7WxykoxdQfgb?= =?iso-8859-1?Q?pvj5rM7WzgiIaNhVjyX+xlfn/MExGTSGUYPgglC60KFH7SuWP1Dvs5ybIK?= =?iso-8859-1?Q?doF7pSFl66Wf/CG3VmWCSVz/jUpWO6M0pZqAbjYywQwMmflGg0rwAcvUWP?= =?iso-8859-1?Q?Re0eRuS6nW9ynaLebqlf9ZBtZEnvEwYiwGKQZUtfyE0Ry5g9xAd2tbQJhF?= =?iso-8859-1?Q?o6/QlOOq3qjWqv62Zt78vJvopV0BibvHO6DZf3c8fow2ftY0mnhb8Op9/5?= =?iso-8859-1?Q?Oy9bodIH6RMiBqupQu3MMt+yP5fEcsJq+wmWo6+iG6PthPRp6ol8GwtgF5?= =?iso-8859-1?Q?lfUIY1TDk5Pea+XAdm5tAuNDCMt5lGGiMuPiXriLWDAxn3r/UbGwhA7Tpw?= =?iso-8859-1?Q?ieoQ/rkOQPVHTiyguVJfr4dLh1gRyHGPuBnLx0zqzK4GH0f+M/TYdJv49I?= =?iso-8859-1?Q?ZihDFCGb2uXKhpS/5ctz5/DgFhS3v/2yq8/JwQnxCD79mWxXSK4zzU22qv?= =?iso-8859-1?Q?X9TfoHO9GfC7g9CPGVQAkVUGekqd4lOcAnuli+EroBctf9dFmj6iL+ijyN?= =?iso-8859-1?Q?M4/Lnn2FaWP4tXFGhuIIey3fDms+6zjnmbQsOV6f8fE1SUy0Mq7yRJ12+j?= =?iso-8859-1?Q?zwMw8FmFzg4Y2mVDGhypbQgdvl47JV6y786l8KJ8Mwyg/0nw/shVzP1FiR?= =?iso-8859-1?Q?3tuj8WSocwcTRDxxvIhQZFj+xYuAjK+41FILTRLM1tHfEBLdxeTh2cdcDr?= =?iso-8859-1?Q?taeXrUXtbfxoTX2q69NGiaJMiK8wYm1iYReXphHe0cesOG4Y2fM1UYdfJb?= =?iso-8859-1?Q?4pUp5flMLeO8Ru0faw2wyk8kJi6HqQH2K4PNJQxMP24z7L+sZ6sMPnXFfJ?= =?iso-8859-1?Q?pS7zmHSEv24n8eSjdz/YPJdvnHreH1ZQxcA3sAz/JI9z9hIzeE+R6gE9vI?= =?iso-8859-1?Q?8wDdwxKNVZv3zTjnQrH2rWMVC0PFg3mnrCde3q4grwk0mdrrQ0p9pUon+i?= =?iso-8859-1?Q?9eH7E09PZ9esy66M084/JlcxP+qE9TKHoee7iyYd09ZYM25ntxdBB655+i?= =?iso-8859-1?Q?Ex5vCLrWV57Jq0KjyaXs96m5MfKugyKrsIa5UnnJllbRxLW3qk5ZqhTK6R?= =?iso-8859-1?Q?1Uw69TCZYh1dfrgSz2sKaat623fvrZzHZbBd0+AksF4k0hpxpdKW5gX/cw?= =?iso-8859-1?Q?yLBK4sfLiG8Lb+UJwds=3D?= 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: 1f8548a0-98b3-4eca-499f-08de16d92519 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 10:51:41.8738 (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: zOuwvP0YzsxOM0jc4yIWEzhmdDLA0LKuv545PSUk06TE1A+mmK8Ccy4S9BRN3vlhO3wgseO692a0p2O/HgSiFFgv3VZwopBiccufWsnk3N2pXGoyxMJl1JE/vu3MteP6 X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR07MB10962 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, 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: 1761735216077158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Clement Mathieu--Drif --- hw/i386/intel_iommu.c | 13 +++++++++++++ hw/i386/intel_iommu_internal.h | 7 +++++++ 2 files changed, 20 insertions(+) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 6a168d5107..8dbc4ea508 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -5326,6 +5326,17 @@ static const TypeInfo vtd_info =3D { .class_init =3D vtd_class_init, }; =20 +static int vtd_attrs_to_index(IOMMUMemoryRegion *iommu_mr, MemTxAttrs attr= s) +{ + return attrs.address_type =3D=3D PCI_AT_TRANSLATED ? + VTD_IDX_TRANSLATED : VTD_IDX_UNTRANSLATED; +} + +static int vtd_num_indexes(IOMMUMemoryRegion *iommu) +{ + return VTD_IDX_COUNT; +} + static void vtd_iommu_memory_region_class_init(ObjectClass *klass, const void *data) { @@ -5334,6 +5345,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->attrs_to_index =3D vtd_attrs_to_index; + imrc->num_indexes =3D vtd_num_indexes; } =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 0f6a1237e4..3a1f7a1d99 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -660,4 +660,11 @@ typedef struct VTDRootEntry VTDRootEntry; /* Bits to decide the offset for each level */ #define VTD_LEVEL_BITS 9 =20 +/* IOMMU Index */ +typedef enum VTDIOMMUIndex { + VTD_IDX_UNTRANSLATED =3D 0, /* Default */ + VTD_IDX_TRANSLATED =3D 1, + VTD_IDX_COUNT =3D 2, /* Number of supported indexes */ +} VTDIOMMUIndex; + #endif --=20 2.51.0 From nobody Fri Nov 14 19:47:05 2025 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=1761735236; cv=pass; d=zohomail.com; s=zohoarc; b=isKknhULE4/oTg7LMKvFLcWtv1b+BhI+g05FS6VlYYCuXjDB/YNJkfLdWqKjGBTy2WXlTUGaTv+gsZEOSMvGtVU2vNkSvV13D4qgdVU1wC9fZ3+uPBm3BWt7RPLzd8wgeUIJ+2lP59Y5uflJXFOCdwTYxIBfOEENiV6/i9qwJJA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761735236; h=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=4xTZVX8JkDpSMb2ssZAqHMXi+NOdnR7rSw4AuizWaMA=; b=mf2D/ABySpVJbYWGkuFH4cqIo6CRuUAagjaPzGR+lIRCNKzDSlXy16qk9/1SB0geUxFFH8lO/6/4wij+oi/lsrzqcR6EL3VkSfNec9/7SyBhOQxwt5xKrIj6TaotnAeoOQIuJHT0RkRDJxnkfx1RUPeWqP2F2gYMZHTGrPX/+Ao= 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 1761735235889640.5707261902381; Wed, 29 Oct 2025 03:53:55 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vE3md-0007Tw-1z; Wed, 29 Oct 2025 06:52:03 -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 1vE3mY-0007TR-4N for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:51:59 -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 1vE3mT-00020O-6M for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:51:57 -0400 Received: from mail-northeuropeazon11011056.outbound.protection.outlook.com (HELO DU2PR03CU002.outbound.protection.outlook.com) ([52.101.65.56]) by smarthost3.eviden.com with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 29 Oct 2025 11:51:45 +0100 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by VI0PR07MB10962.eurprd07.prod.outlook.com (2603:10a6:800:2d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Wed, 29 Oct 2025 10:51:42 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf%5]) with mapi id 15.20.9228.010; Wed, 29 Oct 2025 10:51:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1761735113; x=1793271113; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=HFE61P1OFfDFiIpHPDMpJrt0NO1TiaMw1ZPv4MIKBEQ=; b=sm1FLBu/SusvvA9bKQDpI8ytha///7E18g8mrFTcf4w9toYclVAsEJKI /lK2oLp9S9vKn018XaYh+CmgWet34cD3Qqh8FyYyBJTKRqTL2IQDqUcyq G/GFE2a8Shfv7X6EID24A0zMLWSLU+VSA1VCmzpLrzh21vlS/RZquE5/U JoNKAd4djYleeaFYicIP46EhC3BtZoeQHJB8NOQAfJBbOwQNdgbGeI8fS VOfHBc/l0a7DtY/yEhiYLWtJqkK89k5qVgUNlSGywHBOCVXbpM8g9CBJn ADPqZzTX6zedNbm5CdRYKSkU3x8OMIk4zrQcHIO782KMJnMemosiutq6f w==; X-CSE-ConnectionGUID: efSW2KrfR1eWnCmQgXfw7A== X-CSE-MsgGUID: 6IaV9S5fS4mpDZDLoPcMwA== X-IronPort-AV: E=Sophos;i="6.19,263,1754949600"; d="scan'208";a="44178950" X-MGA-submission: =?us-ascii?q?MDG6FKAj0Gt0v/DXB6N638J4/CVv6uklR48JzO?= =?us-ascii?q?drR4XfT6nAhbof7z0EYNuTbEvcV6DgmuQV+PAvvvi4EeIf8IpsaT6O2q?= =?us-ascii?q?IVtV5x9RthLzKBHUuh6Vz+LpLocmUwMhrhCrXhRPAUpggqLLhtdOaCYN?= =?us-ascii?q?iNTAvuUf6vsvx910nFwtG4Sg=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=N7T+qF2g/vL08cs7WIJIj3DAax5puYo/AS/q14yTMStG4fu0Uw55ac8B5Xl8gjmYpbxcr1AX4Uka7brXIPrnfWkbjO+7N8Nu+I9kmRexemUrkgCshXkbnfZl2DcvkZFkCeeGpe+d809tQlM2jQoQrh2it9CVxBr4XqqSrRz9ZvJZRgYnS8Y/kWhmjJNck+1mZNPTiccijhxmdOQE4feCpL2UrkU50s4wPqXWe+UvnUUAaC1kKpDjxuRerzzG/SQAq2dj6o5JgE72krqJKrcMLiX19Fg3iwPptWcdCDGZqxV/eS9VetZ0O9v6V0GI1+fredkvumO1ditjuY8Ye+qzXg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=4xTZVX8JkDpSMb2ssZAqHMXi+NOdnR7rSw4AuizWaMA=; b=WqA1kr7Hj21yX0yE7lXv36JBYgtQ+f/7RiSmZleWiinPcnqgTkZr7KUx0OsJUtUAL4VQYtvyEHrZY789vxOiYk+Yl19S6E6YpzYvUbeU28m5tlrOXRVs+vheS5Bw97YxwSDGQgsetdSDKJ0/mSvJ1A9OA8OSY9LP/LoG2kWF0ECrX/+lezrcjfozvFZpFEW/AKITIPOCo+YciGtjAC9R9VPv+4z5W9XQRiynaiXXbNe3LaZN0kDP6o6DOlPfk3wU0S49YBVDegkr1pCsbqXwUFtnDt6PGm5nZqJ/LPpDiM691V8Y3CAEnF3oq2c09Xqk8cU3O04goUmymxXIRueedQ== 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=4xTZVX8JkDpSMb2ssZAqHMXi+NOdnR7rSw4AuizWaMA=; b=QOKe8Wbfte+grJnaB7bYgCypEnGuz+vXjwDoH6qWjrsSDuvwqlifd1zEm1vGhlCnldERFaGPJBdAxC9o1N4Vjz1ZtgAM1H3KxhnBfeA3MMaBJNThyhoL779LGvWEue3YXMw3P0UDC2uWM5mynDRSkq3w0we/Onp34EzukArgAjsEiM5Oxl37zxQgMk0LMlyPL+21NnO34zjllv+NH80sLKZEwIyAIN7CGecn0k+l0LTc2oADiTGMMFQT20ejtZckMH+omU5HGQFINaFI4eCSrLgOxRmlPdeZeRFYUKQgkxyWRQgbrXSEJVoatq/p/D1l6G1mklKKfvi4WFYgnH+BSg== From: CLEMENT MATHIEU--DRIF To: "qemu-devel@nongnu.org" CC: "pbonzini@redhat.com" , "philmd@linaro.org" , "mst@redhat.com" , "marcel.apfelbaum@gmail.com" , "zhenzhong.duan@intel.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "minwoo.im@samsung.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH 2/7] intel_iommu: Support memory operations with pre-translated addresses Thread-Topic: [PATCH 2/7] intel_iommu: Support memory operations with pre-translated addresses Thread-Index: AQHcSMIDdwzMO10C60iYsdMIEMCpfg== Date: Wed, 29 Oct 2025 10:51:42 +0000 Message-ID: <20251029105137.1097933-3-clement.mathieu--drif@eviden.com> References: <20251029105137.1097933-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20251029105137.1097933-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_|VI0PR07MB10962:EE_ x-ms-office365-filtering-correlation-id: 12503583-188e-453b-af8d-08de16d92596 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021; x-microsoft-antispam-message-info: =?iso-8859-1?Q?g/JCYrDUqwbGuYVqhJ6AUBTUbnZSdUtmLXphWDOQ1Ok3jCq4YBuu6De7Pg?= =?iso-8859-1?Q?ryW+ZcKVTu7crGDKZUrQ+tOcAVPO9HYuPerXCsddM8r0x20zuCzgl/E8Hm?= =?iso-8859-1?Q?iygew0NO1t87xEvAd/CjSe9ScC7OE9b2XNieaV1kpXSmGRx3gy4blXM4hg?= =?iso-8859-1?Q?VF3lCMZyiDkdxrEXQ3OBP4GbpFYQAZcswfxi607V+5Hvplm06ute8j+15K?= =?iso-8859-1?Q?0qXGQLIZ5gxAsupGwXHSnA18tFpO993qE9lHwyzKKUaTTrxxbWDyp6n6V2?= =?iso-8859-1?Q?+zNKC7uimtdyPcwjgrw3U3ZYjqEaUKaWRPxr//9CgmrIJ0aR0tmAlUgpsk?= =?iso-8859-1?Q?Znmb8lqEOgO2Buc5phtR6D8w8DBEgmQMYfwGAJwmNbit5HU3HMQyxNCzz1?= =?iso-8859-1?Q?7N3BfIUAibN0C+fO+cm9J6IEEKmf5IbzdwIE5IYh8my0L+AdfsBAXCOApX?= =?iso-8859-1?Q?eAWSrCorCTWmJQG6L7cUQzes31zqXSMZPaHNEgV+9M6bI53WBVXClU4cBb?= =?iso-8859-1?Q?pl+zD13Mie4713I2a1I8BYW18sIdsNSdUCllh9Y8OebjkvqzUyBOtP3aJ9?= =?iso-8859-1?Q?vsgoEucVbe+mTzcu4mRpUSEXBgSNVwD0eXz5LFuiQbfCyb77eaAtoSKytd?= =?iso-8859-1?Q?bKR4Qs/vUtpjO+yxNoWAIjK0ZwsSGhBvjygXev3d1C7sADj7ahvEF6H/L0?= =?iso-8859-1?Q?/eo5siQHdODP+Wmj91bO63BkMDRwKEmiyiXHMJBa+GTxsBLH5O7oTA3xZV?= =?iso-8859-1?Q?rvn6gPvLn80XbMkYTFVUEImkm5XM2zxi4KZNyKNSj8vh2+u5XX7CrPbsLz?= =?iso-8859-1?Q?1bF0KPHHN3RNyiHkUaMeRQ89v5zA3EIVsn8iOUb+zHMihcSoe6d3sCiNLr?= =?iso-8859-1?Q?ESf6PAETBzXi2mDoWwiwHgGYcqaZeldxzLHZoRIHgPQl8hl+xuWH7I/p2O?= =?iso-8859-1?Q?NytMD5PfRJ9n7+nSmVkoMWkyIqCYhuWpEi8bPd/AzYbkJLSsOwXY2Cwuak?= =?iso-8859-1?Q?ChPSviIqfVUv8iA2J5qCTJhqIFxpQumi4fiw1ju71R+C4qLaJ6+yisc2Dt?= =?iso-8859-1?Q?G5I38ulhj2xMD1cjTcCQiZuDOMy5FBDCF6oqgrqkyoeC8nNUaTkOKfaK3n?= =?iso-8859-1?Q?jeiTe5FD5/B1sCID6s9nN2ziGb0wlY8UkNumJxukp36kruX9zQRdlkLUgf?= =?iso-8859-1?Q?6mJwXk2WWuGWlk7dBTFOthNy/mU26BRo3IfsMsCdo2WbctUBSO6onmLy4l?= =?iso-8859-1?Q?rjun0Yzq1CaRS899z1Z3Lixh9+2EyfD7l0BZhzVjPfdv/4gjE1kVL6dE7Q?= =?iso-8859-1?Q?4YSABn2Fv6xQlqmpWJh2FGkMrVvDFB4LKb5kbTMSr4F9kZLaVmSXeCqdEw?= =?iso-8859-1?Q?3kLy4C9uns+ylF+ObmCRclDCs/w/bu/hzhUSU1z01rSwKn3Ge6xJFTx3Un?= =?iso-8859-1?Q?Ek4e60+Bl2iobEjavb+29CgFwFmjo+Zmv+rNqnYNcoTvmqq1LjO5CyIOYK?= =?iso-8859-1?Q?WWGI6+y8DkDUWDcWFBrLmd/sDSincbckhszBbYCoUFPCNx3IEIpQ+woynI?= =?iso-8859-1?Q?PYcDYSlaouKABxW1VdaCPzoeXYpM?= 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)(376014)(366016)(1800799024)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?oKf/wDSnqPAKgznKgya0/y2PLzD5kYqETQbk8APasCVxkmdnHcJ2e5JXyG?= =?iso-8859-1?Q?kmoHBhE7nPWz+Vm0tlnzmQpxuGATNPVDfi57/y6FCHibhoHupWHlNoNOIM?= =?iso-8859-1?Q?OqCE81/NsK3e7Sd1+XpPy5wcjVZtdOxmMUwDuBJwGxz/XHnd72PYt+6lvG?= =?iso-8859-1?Q?0JQo6W3E2XTRz3jrt7FT5PG+NmLl5c217Zff9o9WcLdJI2nFgCM76tnGc1?= =?iso-8859-1?Q?qpkRJ2oeP2rwwGTmBHgIb7qYN0jG3vCum9iG6I21tE3Mc2WfPNQOHYIxAG?= =?iso-8859-1?Q?v/DiqFj2+Nr9AARIvJMHQ2gwlN3sVcw6CWXDiT73TRyoii2h59SBdH0bH+?= =?iso-8859-1?Q?0lvjYXQHC1tR3iHklPh1pWYaSZtzyOZP3CzAt88H6GSCVEbtFH+GDN5zNC?= =?iso-8859-1?Q?Ho6y+94clt0wy28DUvOf4oq7jj0nAX5t/Jc1FH2CK/wHxliNbZZQPz9oau?= =?iso-8859-1?Q?8W8oUy9VD6CfKIEylOsdxhVg4fgh0fZpoFCXpwLMaIbnwqqVdtSQ92beXx?= =?iso-8859-1?Q?o8Z6dLgdQ/x/VZXxEVQkLOR+CdsYWAzuwT10P2BEalikolJGOhWDY8TSxJ?= =?iso-8859-1?Q?zt9/vUEofGXE2rHKESW9k9rhEZjYOdHnrKeTJgMbpED/sdP90jClrsLIbI?= =?iso-8859-1?Q?lOGYGgBoUkLLBC/F3ahkES0zTMquQqnFIyebmliBdUBhbtf6RRWNpV+hXa?= =?iso-8859-1?Q?Vf0qQK9bWVPdb0PFGX1L6lpnJb47icHXbykvlXhIpj77ZelKDCk61Plugg?= =?iso-8859-1?Q?BaxWZ8G1UU3L2mzjkT/e4NZlKv8FPZiKvRDJKvTtKg7IAW/lFluI0QWUnt?= =?iso-8859-1?Q?akQuMhy/PEC+mct0IonJwMNyThSN8goIr75tggK0vd2OzTTVXvN9RM+6fQ?= =?iso-8859-1?Q?C5iMp514haFs0Ez0umfzsPl25oZdFk2Ypqg4qjpxqKWIQYxR9u4mOB+oK2?= =?iso-8859-1?Q?3yvAKCnUZ5mt6hzl+1xNZZv6g4oVd76k81L04SltvGdwvYKn1czIU5dULu?= =?iso-8859-1?Q?+a85iOY3HYOpVf9hJnyzq+T6k6YUG6AfU9XaQVKGvqoViKGxXaVMPVyYZa?= =?iso-8859-1?Q?PYwvK4kkq0eT/Tyw4xixcq25ryQLfiFhESYaTnKtOCC8+ZHEf44QxRpMyU?= =?iso-8859-1?Q?F9mqJfahmgxOW870PL6+oFhCXCmWcGrbb01or4Vj1DQHaIKWqUvQAywrP7?= =?iso-8859-1?Q?TFWQbr76ql9ukb72kl+5hcyTUgH1FMLA1Mj2cD649J1uRJk8ipXKA/KB03?= =?iso-8859-1?Q?2YwzWA3xJ3NCMjvLQhYdl4E0ZuFh0YLmGv5Awqh/RpMuQNsz3Y0Z+JkuDo?= =?iso-8859-1?Q?j7deJ3VBKBxtSJdmC6HanaBQN7Ublagf7Ogh/szMsUPhBJ5ftazLHVJxeQ?= =?iso-8859-1?Q?PDV3bo2S/Xryg0MKlMWCeTEJVuRlHUemBjm6wyzcqeEvFrskGsBba0nkaN?= =?iso-8859-1?Q?lmGLKyv1ED3BYxUhbu9LMxyipLijbUeZ5QNWE5W9WWJ2Lj81rcw82Y9Ruj?= =?iso-8859-1?Q?Wf022C4B3ZMglEMAe8rmwLs3fqV238Psi53Lcal/syPcFNttUwzrOr6X9s?= =?iso-8859-1?Q?E8vG400xK4/GJ38XUAw1QcBsI+qmW0waEck9jU9lFvThUOgaCdXSUUone1?= =?iso-8859-1?Q?FWZw08Mc1m+yXB/LvhvtsQIP5NLVYzo+hurkYBmtrGdL5DVnuAjJGx7LtX?= =?iso-8859-1?Q?LuJb2AxtZOHZj2NQ9Zo=3D?= 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: 12503583-188e-453b-af8d-08de16d92596 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 10:51:42.6650 (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: 62LvGeYnqIKXRg6wUFjVUWmNitEwc4oIJ9YwHc9DuTfrGupQUv0sYwzl5UDB8iOzjGkgDEPC9txsZZ2YTcVDRgMR8YfL+Z3Tq8Oj5MsTLe9SL6/Vn2ZUMEbToQ3lk0Es X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR07MB10962 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, 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: 1761735242610158500 Content-Type: text/plain; charset="utf-8" Signed-off-by: Clement Mathieu--Drif --- hw/i386/intel_iommu.c | 118 +++++++++++++++++++++++++++++------------- 1 file changed, 81 insertions(+), 37 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 8dbc4ea508..9753f4bb75 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -3779,6 +3779,25 @@ static void vtd_mem_write(void *opaque, hwaddr addr, } } =20 +static void vtd_prepare_identity_entry(hwaddr addr, IOMMUAccessFlags perm, + uint32_t pasid, IOMMUTLBEntry *io= tlb) +{ + iotlb->iova =3D addr & VTD_PAGE_MASK_4K; + iotlb->translated_addr =3D addr & VTD_PAGE_MASK_4K; + iotlb->addr_mask =3D ~VTD_PAGE_MASK_4K; + iotlb->perm =3D perm; + iotlb->pasid =3D pasid; +} + +static inline void vtd_prepare_error_entry(IOMMUTLBEntry *entry) +{ + 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; +} + static IOMMUTLBEntry vtd_iommu_translate(IOMMUMemoryRegion *iommu, hwaddr = addr, IOMMUAccessFlags flag, int iommu_= idx) { @@ -3790,16 +3809,29 @@ static IOMMUTLBEntry vtd_iommu_translate(IOMMUMemor= yRegion *iommu, hwaddr addr, .pasid =3D vtd_as->pasid, }; bool success; + bool is_write =3D flag & IOMMU_WO; =20 if (likely(s->dmar_enabled)) { - success =3D vtd_do_iommu_translate(vtd_as, vtd_as->bus, vtd_as->de= vfn, - addr, flag & IOMMU_WO, &iotlb); + /* Only support translated requests in scalable mode */ + if (iommu_idx =3D=3D VTD_IDX_TRANSLATED && s->root_scalable) { + if (vtd_as->pasid =3D=3D PCI_NO_PASID) { + vtd_prepare_identity_entry(addr, IOMMU_RW, PCI_NO_PASID, + &iotlb); + success =3D true; + } else { + vtd_prepare_error_entry(&iotlb); + error_report_once("%s: translated request with PASID not " + "allowed (pasid=3D0x%" PRIx32 ")", __fun= c__, + vtd_as->pasid); + success =3D false; + } + } else { + success =3D vtd_do_iommu_translate(vtd_as, vtd_as->bus, vtd_as= ->devfn, + addr, is_write, &iotlb); + } } else { /* DMAR disabled, passthrough, use 4k-page*/ - iotlb.iova =3D addr & VTD_PAGE_MASK_4K; - iotlb.translated_addr =3D addr & VTD_PAGE_MASK_4K; - iotlb.addr_mask =3D ~VTD_PAGE_MASK_4K; - iotlb.perm =3D IOMMU_RW; + vtd_prepare_identity_entry(addr, IOMMU_RW, vtd_as->pasid, &iotlb); success =3D true; } =20 @@ -4201,6 +4233,37 @@ static int vtd_int_remap(X86IOMMUState *iommu, MSIMe= ssage *src, src, dst, sid, false); } =20 +static void vtd_report_sid_ir_illegal_access(IntelIOMMUState *s, uint16_t = sid, + uint32_t pasid, hwaddr addr, + bool is_write) +{ + uint8_t bus_n =3D VTD_SID_TO_BUS(sid); + uint8_t devfn =3D VTD_SID_TO_DEVFN(sid); + bool is_fpd_set =3D false; + VTDContextEntry ce; + + /* Try out best to fetch FPD, we can't do anything more */ + if (vtd_dev_to_context_entry(s, bus_n, devfn, &ce) =3D=3D 0) { + is_fpd_set =3D ce.lo & VTD_CONTEXT_ENTRY_FPD; + if (!is_fpd_set && s->root_scalable) { + vtd_ce_get_pasid_fpd(s, &ce, &is_fpd_set, pasid); + } + } + + vtd_report_fault(s, VTD_FR_SM_INTERRUPT_ADDR, is_fpd_set, sid, addr, + is_write, pasid !=3D PCI_NO_PASID, pasid); +} + +static void vtd_report_ir_illegal_access(VTDAddressSpace *vtd_as, + hwaddr addr, bool is_write) +{ + uint8_t bus_n =3D pci_bus_num(vtd_as->bus); + uint16_t sid =3D PCI_BUILD_BDF(bus_n, vtd_as->devfn); + + vtd_report_sid_ir_illegal_access(vtd_as->iommu_state, sid, vtd_as->pas= id, + addr, is_write); +} + static MemTxResult vtd_mem_ir_read(void *opaque, hwaddr addr, uint64_t *data, unsigned size, MemTxAttrs attrs) @@ -4212,9 +4275,11 @@ static MemTxResult vtd_mem_ir_write(void *opaque, hw= addr addr, uint64_t value, unsigned size, MemTxAttrs attrs) { + IntelIOMMUState *s =3D opaque; int ret =3D 0; MSIMessage from =3D {}, to =3D {}; uint16_t sid =3D X86_IOMMU_SID_INVALID; + uint32_t pasid; =20 from.address =3D (uint64_t) addr + VTD_INTERRUPT_ADDR_FIRST; from.data =3D (uint32_t) value; @@ -4222,9 +4287,16 @@ static MemTxResult vtd_mem_ir_write(void *opaque, hw= addr addr, if (!attrs.unspecified) { /* We have explicit Source ID */ sid =3D attrs.requester_id; + pasid =3D attrs.pid !=3D 0 ? attrs.pid : PCI_NO_PASID; + + if (attrs.address_type =3D=3D PCI_AT_TRANSLATED && + sid !=3D X86_IOMMU_SID_INVALID) { + vtd_report_sid_ir_illegal_access(s, sid, pasid, from.address, = true); + return MEMTX_ERROR; + } } =20 - ret =3D vtd_interrupt_remap_msi(opaque, &from, &to, sid, true); + ret =3D vtd_interrupt_remap_msi(s, &from, &to, sid, true); if (ret) { /* Drop this interrupt */ return MEMTX_ERROR; @@ -4249,30 +4321,6 @@ static const MemoryRegionOps vtd_mem_ir_ops =3D { }, }; =20 -static void vtd_report_ir_illegal_access(VTDAddressSpace *vtd_as, - hwaddr addr, bool is_write) -{ - IntelIOMMUState *s =3D vtd_as->iommu_state; - uint8_t bus_n =3D pci_bus_num(vtd_as->bus); - uint16_t sid =3D PCI_BUILD_BDF(bus_n, vtd_as->devfn); - bool is_fpd_set =3D false; - VTDContextEntry ce; - - 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) { - vtd_ce_get_pasid_fpd(s, &ce, &is_fpd_set, vtd_as->pasid); - } - } - - vtd_report_fault(s, VTD_FR_SM_INTERRUPT_ADDR, - is_fpd_set, sid, addr, is_write, - true, vtd_as->pasid); -} - static MemTxResult vtd_mem_ir_fault_read(void *opaque, hwaddr addr, uint64_t *data, unsigned size, MemTxAttrs attrs) @@ -4872,14 +4920,10 @@ static IOMMUTLBEntry vtd_iommu_ats_do_translate(IOM= MUMemoryRegion *iommu, =20 if (vtd_is_interrupt_addr(addr)) { vtd_report_ir_illegal_access(vtd_as, addr, flags & IOMMU_WO); + vtd_prepare_error_entry(&entry); entry.target_as =3D &address_space_memory; - 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, 0); + entry =3D vtd_iommu_translate(iommu, addr, flags, VTD_IDX_UNTRANSL= ATED); } =20 return entry; --=20 2.51.0 From nobody Fri Nov 14 19:47:05 2025 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=1761735209; cv=pass; d=zohomail.com; s=zohoarc; b=TtVYpQFNcu6eD5PDJAldX1dSko2cChqc112esbYx6lnXKcOXYLg3V/p1jhIk3hJBgCmqfrMTNmgnCc9LbGJZ7vNdCaezMRV/ExvzprSzIMlyHVfV0tx6E5mCF7uVRB+tqedILrA4Gmb3fTowCkdPoxPVngs1soiAJY7tNjDM11E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761735209; h=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=n0pTj72upwMUheJmbUy8NBLVJwJYMVQ1YNAc0UOK1Cw=; b=NoMVC/6RGujy3QF0P6gnDBgHrVrVz54KpfmC8vzgaFu3N6bYgqPKfyqBx7u2AfnF5soKrWtOubZ/rwApoXi/hTaOMQdV1LgMTfeGzwsui/GP9UoZvrBCvkbD/xl48xnIBjE8HJC4fBOQPZuTJnQlOPdmTHMnD5ArC9xqNKsaEsM= 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 1761735209122371.6291676495333; Wed, 29 Oct 2025 03:53:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vE3mc-0007UE-Ub; Wed, 29 Oct 2025 06:52:03 -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 1vE3mX-0007TM-IV for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:51:59 -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 1vE3mT-00020W-6O for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:51:57 -0400 Received: from mail-northeuropeazon11011056.outbound.protection.outlook.com (HELO DU2PR03CU002.outbound.protection.outlook.com) ([52.101.65.56]) by smarthost3.eviden.com with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 29 Oct 2025 11:51:45 +0100 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by VI0PR07MB10962.eurprd07.prod.outlook.com (2603:10a6:800:2d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Wed, 29 Oct 2025 10:51:43 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf%5]) with mapi id 15.20.9228.010; Wed, 29 Oct 2025 10:51:43 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1761735113; x=1793271113; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=421LnlL86KWuR8YBIWU8Rxgx7bgDM82bS0Zd/Q81F8c=; b=URi60jF/SFbj8TjjV1mffnDYE/X9vtLSMs3VPK29nWLyvWQPRedXAIRP tt0vLWCQRxgzytDrTFrqKHO3r1kamfxI5iCsezeiXKbjOF4F8SJsI95U4 tD8H05g8z9JVkfFffSTq0/3jHFx8d26vemnzdz/+MOPaa4mFowJCft1tQ axJoqa3Ss+WOxvcZBgp5BMVRHdcI9k37DqFLmIjGWnW6whDLwi1dwIUg6 H4g3snuSc5DZOSmidyr7TAYxSNRTcd9ZCuylrIgePpx/tY+PtJB4ua388 L45B9r0yP6HbguY03WRxrQ4N+zBWwPQyzicXf7ol3BB9xZ5jzFveEf0ic w==; X-CSE-ConnectionGUID: WB+Rkw5ORrymFj+NsdFm4Q== X-CSE-MsgGUID: QI+QpfNNQ8SyWQIa9Djayg== X-IronPort-AV: E=Sophos;i="6.19,263,1754949600"; d="scan'208";a="44178951" X-MGA-submission: =?us-ascii?q?MDGG8MW8YNhOUFzjs9Eegig9wIJlrkn4afdSmm?= =?us-ascii?q?DoZOrIID0r5XHfE2VYhZwT0khgVam0cpR+F7sbinBVPKpEgJ/ssYU4xc?= =?us-ascii?q?pP6RWL4HRhCcxMXx4nOR/OSxATRBSkY9odBNDaiUvyA++i9Q1yD4P/5M?= =?us-ascii?q?yt2dygU1CADKjCEj9yvfKqdg=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Lts/yym4e9px9tBR51pQ8lEefajkX4fw/Pg/uZyxagJNo+x8y1btavd/dDLsbXWacQ8hSmHrUAHzr1uDxHNTyDvv9OR93S6WF6I3pdsVV1aHP4syHFnZIHZQ87mk4mO//pK44I3Fz4N881NT3X+bmpeLHZvxj8zL7L1yl+ZlCo4/sCTJnVDdUuBx2wpAwjmQ3j4LkhdX1jC0IwcXcyGxvlfcI5m2nykpSy0E42V/FdPwCgtiiiuD0a9bUAOAQ90B0om6+HqXa2rPaOjIk5CAPlxOj7fcuYBi3jxfgDc9j4Pf15yed/qTsXiDEQGgiJ5Y8Fr/gK/D7fo1RCta/Sm05g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=n0pTj72upwMUheJmbUy8NBLVJwJYMVQ1YNAc0UOK1Cw=; b=cuz+5AJky5JufbFwmfgRO4TUroQD7nkWwVawO3zHpBSjucH1tJPlw/p3bwB0VQM3a7cILk/RX7weoBPqFBh5TNpXperTjpcNwF/si7pAz3Uk/K/9SP5BqaWXGEQEQmZzHXcH5w0BXDlNjXpw7R8IKzmzZHDpZqT/IfIO8WsaS46c8r+22SJFIYLlTQVO7AuoPmmbnlBRgNYYoebv4G6TQg13ZoBCWYbDtiM38nvGqhwGso0XaUu8/pN/1zL28O0p6FKONJSu7C5wG4b3Yzj/eae+QwcIpB9Y2+sCcyGS2f99mP60ZfkRR1OWA8Uyv/u4LpJAz0zY7wENgs3eLtSRqw== 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=n0pTj72upwMUheJmbUy8NBLVJwJYMVQ1YNAc0UOK1Cw=; b=da+wEG+NokmT+LNy7YW5/14Nf04UDB61Le2lWUXK4Od8SWaFzMybPX2RUMYmnSy0PUp4VJ+XrjesdcZoxE+X3S9i/4qtjiYwDwR1XJKq3JulPd+dRgAJKKk//8ZmgCeZyWArwYnWm+CqTWlMD6HKO0MNeyz66J+y6hIslyJ1BSfoAVIyfXk1EH62397nnDptnCkxIr/7J6ynVIGV47TBKk5BpG+JtguRWuUWu1GX2/bnbtbsVlEBmi8AhsL62zmJrRq8P+1WrsZhQk162yJSPH/6Tt+zNyqWjAyXjgni6kNp1MGXiM+a3b3/EouedZEKin46ZJmp81f1UmXQOeGn/A== From: CLEMENT MATHIEU--DRIF To: "qemu-devel@nongnu.org" CC: "pbonzini@redhat.com" , "philmd@linaro.org" , "mst@redhat.com" , "marcel.apfelbaum@gmail.com" , "zhenzhong.duan@intel.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "minwoo.im@samsung.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH 3/7] pcie: Add a function to check if pasid privileged mode is enabled Thread-Topic: [PATCH 3/7] pcie: Add a function to check if pasid privileged mode is enabled Thread-Index: AQHcSMIDTUkbUJlsT0mX59cFkniixQ== Date: Wed, 29 Oct 2025 10:51:43 +0000 Message-ID: <20251029105137.1097933-4-clement.mathieu--drif@eviden.com> References: <20251029105137.1097933-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20251029105137.1097933-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_|VI0PR07MB10962:EE_ x-ms-office365-filtering-correlation-id: 9531348a-3ee5-46a9-dab3-08de16d9260a x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021; x-microsoft-antispam-message-info: =?iso-8859-1?Q?FWEfJY7q5pC4ZIGtFWYWNaQhNtkBbYMF6uNR9iXdFkmKBNXfuzAd9pMRdp?= =?iso-8859-1?Q?t3SxozOdd11p5g5KiZGUP5OBEg1OmZKPK9nkuFZGSyXvTqrtn+AEZW4jnY?= =?iso-8859-1?Q?LXecSZFYZofCGTCd2XSQl7CfurinUD67d5wFRwPNYwPGvwfy+y2HvBAcQ2?= =?iso-8859-1?Q?asZKyjWAdfZTuVVnVUaXpyX38ol7RvfX9ihWGvwysvSNkEqKb3Wely8gPQ?= =?iso-8859-1?Q?d/F8oPryeYEEWKprAuUaJaQrOmZPNcSzAM5NC9ZxsBue2Ac639EZdyZpzp?= =?iso-8859-1?Q?HmoNmBxa6j3SVfWA3fDCnb3qKDgRPMna77G4yUeHJ+x9SJ17BTgAkrCq7N?= =?iso-8859-1?Q?ARfYOBFloEWLyCkZnGYTXeixOaa7e+TnM/r2yB6nZLodbuy8MRAGAg3MZl?= =?iso-8859-1?Q?KpnuK5W/gTMRevPJmKO9EnM6QbwBQ5R7npBUwWWylWGg7Yn5tCaxy+fgzE?= =?iso-8859-1?Q?m2D9Uujfj6L1NkSIP2luTgt25PJa8xYVIaWKIFdWieigUlPUzPxGnh4IU8?= =?iso-8859-1?Q?YRlJ4P5kuX2XXzLf25d/g2KZZVWN2KHtlWjQkgTpyrzYYEOg8UF0BKl3xF?= =?iso-8859-1?Q?ONLvoGFPGUllLVhUgGIeH7Ro/1PnJ3XmM//7ddAAWJ3AVWFevhQu7Z2Cbj?= =?iso-8859-1?Q?Y5q2B7OHQT5vMJutXMKBcpPykWKkW1ezdaVs3xmtOaG5WP3oVI+SeaSH5z?= =?iso-8859-1?Q?WY847wMKO9kHbH1C+Fp1kKivTf5PIN/m0TnRAgVKNcADdsuM5p94Ivvhe9?= =?iso-8859-1?Q?Uwuc+zjT3Gw/eLmQJM38/vsojhgMbOH4QxaJIGUAS9EOTvZtqobLqCyJQ+?= =?iso-8859-1?Q?rGXH/lfZ8MMVMeZ0p5FUie0CHkH2vrkeDb9J5l7taZj7ZMXwMnQ/phLXwy?= =?iso-8859-1?Q?28EoWSctn/RxxWwCPqfV9L8NmkKpUv+kP0WbTxiBsZ9yYVmWjF/5RmmLKP?= =?iso-8859-1?Q?0R0+fC3n5hl1sfumctphEqj0yPrSuoVyuOgP2B50b4lNq+3iU2TuZWQfmL?= =?iso-8859-1?Q?c4j4bbqMVznQNlioCTZ+uD1nK7RUBsTCKI10LFbJFmTQcMXM6J4wHqB2HD?= =?iso-8859-1?Q?kC4dCxxlgV7k2Ez6tYIrpqO0O3VonwHOj/dTszckVWMJRrb2/nxmZZo1Cc?= =?iso-8859-1?Q?BGXh0GdxhSCziRCeucZ+qDdX77u93xOHL3SBgR4xvyJ7+fv1ypd/Mj0lz9?= =?iso-8859-1?Q?/hcWAkCCaZWieZu/DtkD+YxLKWOop20qZcdwmavIROHjyrV4NyC/hP+7Im?= =?iso-8859-1?Q?XKIDp5MZFiG7f9kdWfNciD8AHOQWsKHEH256KxbA7GOmLGDk5JJnEdxLcS?= =?iso-8859-1?Q?JsgvIUYWZhftyGN4Z9iXKFcw/BK9Hm8J7Srskocn4RHGbspsDDH70klchs?= =?iso-8859-1?Q?hi1+ds19qaWDHptv469CUtLZdCv2Jz1S7hC038lwh+57BcuNbC+/mHZ2WN?= =?iso-8859-1?Q?UCAEtlJWxErRGBa1vnXtAj3+sWWRhWfrcGs7NCrm4jRrLHX2V6d8K5K9eC?= =?iso-8859-1?Q?R2HUhf0rrTBnqTD7Ue38ludHpb8m2oJIi/8MJz6ucfgAP31Jx/Cp28W3nZ?= =?iso-8859-1?Q?K+p2O+FPvd2+QbYg12GX4ovyGjZI?= 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)(376014)(366016)(1800799024)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?mKUdF6dLLu7ENf956YuGWS6ygT2U7DmRdISucOGBb3kvrdP3uFHnpzMYJw?= =?iso-8859-1?Q?WzvUsvBwk48LJ4JYFw1k6cPJHez5MgtldgTQoc0lMTpYbnpgp4d2/9pWQE?= =?iso-8859-1?Q?taHv7QulsQcOyh9LHdrswZ5uk8ZuCLD5C21i1zhrg7sIHPql+Vn7cUa97V?= =?iso-8859-1?Q?h6KyK7iukpkW/rX+GNz0pBd9tcFCTmDqE/62zS7h5rNDfDM/FKbuJctJI8?= =?iso-8859-1?Q?pUNMjlhhZMQaITYzbRzaLphlIaUIeNoFpB9GKgKBZh63KcmuYaDXwYSFuB?= =?iso-8859-1?Q?XJXJ/hzlUqhYspV4Lr5yI006KJiBByv4mWfNvqMem0OY/036AfXEXjAgem?= =?iso-8859-1?Q?bTmO3DJmNybp3IWlLHjM3AnSnjQvDJ0UenwXr1IZoNcFtPNxgCJWAspTn/?= =?iso-8859-1?Q?xpHIpcYfDshvKHSxZpTS3LxAWkaqRkWHLZDzxfPTaLxyBX1u6ZNgvIASNb?= =?iso-8859-1?Q?XsBtXdgfJNqH+YIvK8iHKIao3QVKmxvRTJOrAqX0RsxT91H0Fjp9FSQKL3?= =?iso-8859-1?Q?eRL/Bkj1beKNlg7yF3g1G1WnK9B1nsNLkkY/qc70eho83jjaNDSCUhtGNL?= =?iso-8859-1?Q?5EezNg4Jv8mkI8xF8LltUvKUXMqMGPpNo4j8qyVeTKJrgCKRRc0jvMLFWW?= =?iso-8859-1?Q?qW6rTXkhDBEOKI5KPAu+EKRuhxQtTc1Ts5IcqRaFYcN11uL2fkLE78Sbm9?= =?iso-8859-1?Q?VWXkdjtOT7V1kNuzDgGVglp2AEyaGXZ2lZO8MfgCgVHKXa21MOOljp8DYO?= =?iso-8859-1?Q?fgF3s2A2qIhqFXyGk5oTeVCgR/+CMdzJAiCkqxrIhUjwWUeDdD93v8MyrJ?= =?iso-8859-1?Q?g80D7HiGIE6qNur6EIBWBs/C3vmT8BC6/QnGPL6ZY3RGd/2RjfngqCBXen?= =?iso-8859-1?Q?KoTzNmola4LwWPnAf8t2tXupqntPOWJCuAwVwy6uweFnbUUIXKwDMwLbVu?= =?iso-8859-1?Q?VPIqyqsiOtq7/wPLzGeqf1rgkpKdPnDOLckM9oLIFZXX2kF3Rv7ejUohvf?= =?iso-8859-1?Q?MG8K3YgRgIi+3WwfewwWuk5blt9MrSiu/bw36wlDqPejh2tTimtnSND1Ax?= =?iso-8859-1?Q?PyaFYuyJwPAp3h992Fa1isl2kCSY0AeYy16O+PKQkvUd+I5NVOw+FcMU6Q?= =?iso-8859-1?Q?Uvto/66fohv0ghRfkcRj8dLgAqm31+9CUhlSwRmCEeAsLIVsquv819vHEM?= =?iso-8859-1?Q?RmkIPLvGo2eI0hOmg2+TN+f5lbn3yIdy0b7ihjnnxpXK9s5OHoBAHLfm5P?= =?iso-8859-1?Q?uL+kCmsIkvEsNUPs/VcR/mkVHEyvLVBkuPABB/z0EfWT6/sxkigOYOLGvA?= =?iso-8859-1?Q?7H32H9Mg1vQkVNgryhr+e2NSPY3Ctu7md89XIADcNBRfLtDSwiKQmurEQf?= =?iso-8859-1?Q?k3LQPL2uM/yZepPOcOa/z6f281gBhIM5GfpnjiP8o5VXD8qo+rGMlOOZTC?= =?iso-8859-1?Q?FaPgEEoG9KjHVZJMUkrnJJyj3kCc6coxGZ40LOgnH2CGJJkeCM1/N9BMlj?= =?iso-8859-1?Q?MJOQmNvD95snqWWn49RZRNx6lNq4qkQAdJEYi1FmHGnt+hxMkEgBNXIidp?= =?iso-8859-1?Q?Oskh1jzT53FqRdbkxY/SC+gROu4rEbLxMvIkE1wP6Bl+hJOKYes2PFvhZY?= =?iso-8859-1?Q?+13vW4RcRLowLrCyDXzWa2v2153EkGQlxU/yTHibafGRzT/uR1G5Ihc1pE?= =?iso-8859-1?Q?9P5moJpDK/MbnDTjftg=3D?= 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: 9531348a-3ee5-46a9-dab3-08de16d9260a X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 10:51:43.5107 (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: m67hM7rqOaCfOyN/36dL3gbRdYZRlSv/jz0mKJpnETIbsI4E+h/VugQYhi/2bGFUZucVSvhqQS9LM54vT1uz0S0QlNACm1PLc0GVDfhBs1VCj1LJJIKLEXiMfy7UmE3j X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR07MB10962 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, 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: 1761735213342154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Clement Mathieu--Drif --- hw/pci/pcie.c | 21 ++++++++++++++++----- include/hw/pci/pcie.h | 1 + 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/hw/pci/pcie.c b/hw/pci/pcie.c index b302de6419..2afcd413cd 100644 --- a/hw/pci/pcie.c +++ b/hw/pci/pcie.c @@ -1266,6 +1266,16 @@ void pcie_pri_init(PCIDevice *dev, uint16_t offset, = uint32_t outstanding_pr_cap, dev->exp.pri_cap =3D offset; } =20 +static inline bool pcie_pasid_check_ctrl_bit_enabled(const PCIDevice *dev, + uint16_t mask) +{ + if (!pci_is_express(dev) || !dev->exp.pasid_cap) { + return false; + } + return (pci_get_word(dev->config + dev->exp.pasid_cap + PCI_PASID_CTRL= ) & + mask) !=3D 0; +} + uint32_t pcie_pri_get_req_alloc(const PCIDevice *dev) { if (!pcie_pri_enabled(dev)) { @@ -1285,11 +1295,12 @@ bool pcie_pri_enabled(const PCIDevice *dev) =20 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; + return pcie_pasid_check_ctrl_bit_enabled(dev, PCI_PASID_CTRL_ENABLE); +} + +bool pcie_pasid_priv_enabled(PCIDevice *dev) +{ + return pcie_pasid_check_ctrl_bit_enabled(dev, PCI_PASID_CTRL_PRIV); } =20 bool pcie_ats_enabled(const PCIDevice *dev) diff --git a/include/hw/pci/pcie.h b/include/hw/pci/pcie.h index 42cebcd033..5e75c75110 100644 --- a/include/hw/pci/pcie.h +++ b/include/hw/pci/pcie.h @@ -161,5 +161,6 @@ void pcie_pri_init(PCIDevice *dev, uint16_t offset, uin= t32_t outstanding_pr_cap, uint32_t pcie_pri_get_req_alloc(const PCIDevice *dev); bool pcie_pri_enabled(const PCIDevice *dev); bool pcie_pasid_enabled(const PCIDevice *dev); +bool pcie_pasid_priv_enabled(PCIDevice *dev); bool pcie_ats_enabled(const PCIDevice *dev); #endif /* QEMU_PCIE_H */ --=20 2.51.0 From nobody Fri Nov 14 19:47:05 2025 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=1761735208; cv=pass; d=zohomail.com; s=zohoarc; b=J3R9rbNJPxaxgbNIdcvasgsyjaasnrtwtbomJiisjgDZZO/6DsqL2OJI2sR71iYNEibKITDK2/qHAqlyzzFX3GhHT/YzALB/YgSzOSXS0x8jvrBkpZqY1hTatwcpGY5cgpor3/pS/5IH0pONKUIA3D1Z2tNSprJL/L+OAUdeIBI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761735208; h=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=W5H1MVnNqAvCkmx7q/z7G0hiwONEnQH40cOVODXjR2c=; b=YjD5Po4wi+XD/DoZL1aT4gJ6oraBhVdsGJXT2chXn+znYMmTf5MBKd+bA8mwgzKjcCPtw+FuqlSSk0yRqISFkZxRt5bFqZmqrmBAbp0cl0V6+mPIndt/WSbVOwzY4/33lYJ+uEAHkjzmIx0wTskmQyf1Rk3P2yz2z+lysJ5MIkQ= 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 1761735208168183.7900617059389; Wed, 29 Oct 2025 03:53:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vE3mk-0007VT-IE; Wed, 29 Oct 2025 06:52:10 -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 1vE3mg-0007Ur-WC for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:07 -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 1vE3mY-00020W-4P for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:06 -0400 Received: from mail-northeuropeazon11011056.outbound.protection.outlook.com (HELO DU2PR03CU002.outbound.protection.outlook.com) ([52.101.65.56]) by smarthost3.eviden.com with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 29 Oct 2025 11:51:46 +0100 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by VI0PR07MB10962.eurprd07.prod.outlook.com (2603:10a6:800:2d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Wed, 29 Oct 2025 10:51:44 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf%5]) with mapi id 15.20.9228.010; Wed, 29 Oct 2025 10:51:44 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1761735118; x=1793271118; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ZclR//jzXFISwSdcjtVDEEz2+y6UNrGCLQTxutVBYKQ=; b=UvUreN1ioi17DRl/Ug3ePHStKjSNDCoFomiDmKNDd8AuKkY9MLJ43T+x M6maGJwbEHUc6xnqEvg4LPHuawsdtiAPK2T8g5c+CtRftlDGWqIeyYMl8 B3rFDGBbP9cgJc78s7Qa7gPmoHbRrH1dnKFKut3zpIs+vDRdaLrXp6cJc kLYe+wyuInWhp51cuGUFP0ZDAxMuYJDcn3tnk44GFu7ttJ3xV0416u+KU NaMMX/ar+/oJG2nDYBwPRZXwj8rySxvGhkBKIOdXKIGJtpPzA0iqsAU2U y+OFUmxwyQKx4rCaiBuYycFc66m7wnwjo36IYR1hrNdHg2IzSpoQwyCQY w==; X-CSE-ConnectionGUID: QcEHOtUhRT2CXJ6nZCTZ9g== X-CSE-MsgGUID: hazPUfG4ScGuCPBoqEB5tA== X-IronPort-AV: E=Sophos;i="6.19,263,1754949600"; d="scan'208";a="44178952" X-MGA-submission: =?us-ascii?q?MDFQiJeIm9Z6i0N0i4fHqIk+CAOjFmnX+8SWpl?= =?us-ascii?q?g1QFnDdhMCfPu2L+X4qkeyD9bYAsGlPX9bN9V0/1PBCuunqJfKdaqOWt?= =?us-ascii?q?P1iTG1k7Isu/lS3+Hs8RW8noLIVhiW56vvPeR4ZHizeqvrvB6dJbh19/?= =?us-ascii?q?DXwcDiv8Cd6yfgA5R3/pOepA=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MZQdO9b/hmasL/lSq9Z3wstfw3abRJ5/EYXTWTR98DEBHxInEQy7NglwSq+Q+70sjtDk6XAD1kvAfWkX9xqANNT1z7wZQfrXDnYfcetsHyzp306Fdhx6Bmf6wrHEOC8473izZW6t+RmWeXKWDk3k5fttoxPY6Nc1my4D7A7au/OYwPApi7GAQ7cqTEXMjIPvIimC3zvjMDD/W4hgxWk4kQgIix0f62taCSieGe2iiXRuqSIVq5JTDuTf5ur6H6M/T92L5j4/PJvrxffx218cxmEnsUiQ2FAj2femN+IBEP/VDBOzz1U6rrFmMQ2jSm810MAdNIPXgUyD+mxfKL8Q3w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=W5H1MVnNqAvCkmx7q/z7G0hiwONEnQH40cOVODXjR2c=; b=wg1/i8cbm5CwGEcQ/jBVGAnYfwuQOn/vLW8THdhSorxhAYNpFSodklLnv6c85eSj2Yp3lYm+IXCBhiOFbuRGEL8I0cP8uMUMPAUnNnLxqHHXL5tHnJRHyCjsW38AB5lMjBsEZjw8rBmHV57v9P6pplLlRdiCSoMpNXMbRYe1G9A+oeCoe24vyjpr0M4D+7IkG16WC+bLqUzYDxqz+fFvW9kegI6YQv4mg88peINB9QkIPniP0PfdJKZa2XIfVSh/P2DkXVoQDti9jevrUMSMAYUWJeRmNHP8xvMWoN2wTXk1zEN0Fv6Ui2yyh9SkYoiqgiV+B+9mlbUyq9Nr7zyOxA== 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=W5H1MVnNqAvCkmx7q/z7G0hiwONEnQH40cOVODXjR2c=; b=R5Re88q5wMOJIA0ULEocB5AsnGck16DyEg04CVSY/bSxbfhFV94FLi70x71dCjk9gaCoaLqYTjXzoIjBMB5CM+/GRAyobajQv9gfNkZ/FpEVo4XxNMxTarEKIxpo27fY7Qy2erWMQg/X5RSkETQXj1g7WuxuQZOVUATIVDuAAhHR67L6f8O5JWmHZxx/1XyscxaY31wqP8wod8tt0YNFpt+CPjYFdpXX6Us4jCpy/2R6NVDAfhGakNG93P+pDjxYf20vGVHY/GV4s6pMgxUqWH/YMlVkO5D6m6U1HmJC74kF+/FXEqzldebhculTXOvtq9Y0ZqymgW+6R6/RJQA8yw== From: CLEMENT MATHIEU--DRIF To: "qemu-devel@nongnu.org" CC: "pbonzini@redhat.com" , "philmd@linaro.org" , "mst@redhat.com" , "marcel.apfelbaum@gmail.com" , "zhenzhong.duan@intel.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "minwoo.im@samsung.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH 4/7] pci: Block ATS requests when privileged mode is disabled Thread-Topic: [PATCH 4/7] pci: Block ATS requests when privileged mode is disabled Thread-Index: AQHcSMIDk1rPoaMwlki0oPrxz4icpg== Date: Wed, 29 Oct 2025 10:51:44 +0000 Message-ID: <20251029105137.1097933-5-clement.mathieu--drif@eviden.com> References: <20251029105137.1097933-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20251029105137.1097933-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_|VI0PR07MB10962:EE_ x-ms-office365-filtering-correlation-id: 74c04ef9-6b04-4ee6-3e3d-08de16d9267c x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021; x-microsoft-antispam-message-info: =?iso-8859-1?Q?WENz1S0iB5UbV+wZQx57ZLeJ/mbN2Q/ffxzhzzyajokpFejCh5TUU7BzgK?= =?iso-8859-1?Q?0wSmPHQPtPlqXNEegjm7/+ma5oFF8f5s29gpy4WErijUEipU6qKcWFNhJ4?= =?iso-8859-1?Q?gIAgKguTsNv/aLKvsmIaH76VCbW7kT+x71+Nv4O/mElKIdw87Eu1Ro8Yw2?= =?iso-8859-1?Q?vqAueWWHDPPg8QH+5Cyn/+Y3YQJsKv3QpOOLCS9SXM2pUqElTIoFu4kxSe?= =?iso-8859-1?Q?Nn4TL5nWcY6hdnkSHJaJ8PTSAH/lLcGDUUyewWazrrAHVinojdNP6Pm63T?= =?iso-8859-1?Q?gbGEwBsh17Ewrq8PeZPsyhUYGKS0VYyc9iNraf4GypBPCtejmNt6ImocJ1?= =?iso-8859-1?Q?guONnm4+FJj0E3ir6c5uzi1U8C8XK9gZ2Vb8hHIVVd8uSvww1A7WjpKXRh?= =?iso-8859-1?Q?Asu1b0+BL8+3guVwzQu4I5n37J8zPfeMo9bOZQMR0lhoIoQ9YnfpM7iFFn?= =?iso-8859-1?Q?gjKjACxu3tWQp04gG6Ha/kieV4EAT9W/ocgggKnh1Uz3n4KlPFyhlYPcdK?= =?iso-8859-1?Q?d3ho9x1xCQvxUBgW6SBYrik0VkwfcFpNKiIlJsZGaFFxD3H/BNJQyZeW7s?= =?iso-8859-1?Q?SzICQP8W/7XVr7bahrP9vpxNUP05LEJdnooBZRoSRVHH+sh35eKfzT4ywb?= =?iso-8859-1?Q?UDo5FJSV3eKmiR3S9hgONIPs29CZb6oBH5uNc/OyEqfEHpvXz/RqHSMOaD?= =?iso-8859-1?Q?ueMd+Cp/Efgg5sVmKi7RrWBu77beIQJ5TuQr5hgpchQG5JhIBhkiI8VKjJ?= =?iso-8859-1?Q?okXvxQ9gc7aHvdf9oClbtakKi++6FHtG7d7+TnF0opFdYclSlefgZeDNPI?= =?iso-8859-1?Q?znB7Ra6tiTSXt4AOgBwYRj8Mg1tDoEfkL2engzEIkxUZEMwCB8T5B4L6dj?= =?iso-8859-1?Q?NmYFL2vy3XdWAm+gcYr7hQ1svxmGwrFfBqOs3xqCQZff2hNGQP/S6XtCKC?= =?iso-8859-1?Q?iOYwKtEJi5jyIXPBo4ESsfiDLvtlvAl80rUlLgQdv7AqxheRMg1jm092eD?= =?iso-8859-1?Q?EIfnapI38MCgltVHSrcDsPrO6M3YF2l13GIHEX36hnuLkEUR/jgTEtmDjb?= =?iso-8859-1?Q?0YlR74482ojeP1fd/8hQuAdqb9dJZ1++1plgMVJnRUdrpkME2BRug2a4Sg?= =?iso-8859-1?Q?sym+sBp7u0OTpNWD+NYwaFXtH6XzzWBH/Gj8tTL50TJ+nCirNvSJNYw/Bz?= =?iso-8859-1?Q?c+qzapiY+x4VqViT2QuE0rq/My3bUOipU/gQgvgVSF3bfr1gj9zT5D0CKK?= =?iso-8859-1?Q?75LXc071WffPar5mOc+r4gFOH1VOoUNYiRlst5GxE1UsnDXgybrlF0AyDL?= =?iso-8859-1?Q?e1+ihXAHsw0CKYUuizu1sRvB/zNZQKjWDm9VfDRy6F1r56gni4sC/Aav1y?= =?iso-8859-1?Q?muU7AZcJxRY4ENE5CsHY9RsyeDjAX8pDpSIa+0TubyTQw7Vc8j3BiV1dBr?= =?iso-8859-1?Q?hetAd2O/nuXshLXEDlWPjQHnteIOehTXRT4Y4QvxfqYmV4PsykL8z73/Go?= =?iso-8859-1?Q?S5h4QJbUPqvV1iDyTNXdAp6TV4ffNTk6X8oudVa+fKOv4ioBeLicAiVLCX?= =?iso-8859-1?Q?MdVDUjL6YaJsPej/agamQcr7yR7K?= 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)(376014)(366016)(1800799024)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?51V0OgBRXf7xVoq0mL6jOaJClq6C33tu0UvVJVg2Z4W1cImrFhCf85iQWx?= =?iso-8859-1?Q?Q5Bw0Dej2vaciYKpEJAf9IoMJL6oA68MLrGOMFtFGwWKmNdxpe1o0RtCvp?= =?iso-8859-1?Q?2LDjtSRdy1ufVsiLPvmWz1pWjmq9cgfCHbwYcG7HCHduNFg8TL31X49tYY?= =?iso-8859-1?Q?FxH/Uo2P6cGDtGKPUy3S+I/1PXDmRldm9s1dPCoU826HQOjglnjFHwVPGY?= =?iso-8859-1?Q?Xb3mM1PLXs9bnZKgAfTfPigOZtyw+txkMf4XLWImVZ1BeL2rVLV2GIwRTG?= =?iso-8859-1?Q?v//ocNukJu4AESkEC6ti/yBQenzmn70BHnCCqlMgE0Decz9MMErLdii+Vm?= =?iso-8859-1?Q?SOcNirP2+Bkp9FZFyeJS5nIHDNw2Psw8ZCrv+Amu26z/jdCR+ecFR7a5kH?= =?iso-8859-1?Q?qLsLUMRdIT0CL+iu9srvsJeFl1fMWJ7uJrf9Z0b14L650kT/SeFb6DeC0B?= =?iso-8859-1?Q?qXwaZLX8eaNnrRb40hj43k/ltu5xznto235SazpvDyJNLENiuYb5a90cbD?= =?iso-8859-1?Q?YvjEcW9KdejTfBdXeruJz1Kn2vT8F6ddWzG0BvaSS64/8T4w1fVUH1tyA4?= =?iso-8859-1?Q?UkudoH79n6OfI3e6b6qMPR53dfFNOuh+60pZzc2eHnUm4PvqZ4Jbl6GJWv?= =?iso-8859-1?Q?iyj54+30Ngo7Z6hpbN0DfN3A7cdjs53/7qDv4ZEF8KzYC1Ci6eFf9q8sGi?= =?iso-8859-1?Q?YloCFxzlnUQuDL2alqLkQOL0EONxWsnUhzTeMgkXz6ML/7x+c5F69IebXe?= =?iso-8859-1?Q?81m7rjxTRO/M8sIHLUncYBNd6l7b3fqjh6YCK5YtAf796D5T8xwS9TwLai?= =?iso-8859-1?Q?NowPUzpykVtK1cBkZnB9cXwW2Dsw6LB6Zcb7cRbeW4Q3yu45jUpplyEBS2?= =?iso-8859-1?Q?CSrXdS3EgT21i6s2YTINoCi+7+hhn2kcR1ZBmcR7mg7xqssh9ToL6qugqc?= =?iso-8859-1?Q?StniLQCkc0RIe8RE994TxVBGvoFkmvKOjd9HNJzLv8cA1np9Wq6T+GJsGz?= =?iso-8859-1?Q?uBnthJofUQYzzmfDCcYMvUSmxT63vfJWPmICejluggr3JP+hqJoHpHaVnI?= =?iso-8859-1?Q?RUZeC6A5pm+NBfeBqf9ZKQ3UGebQMLcYJJr5HrKbSbAsg11PKvKkQhsY6S?= =?iso-8859-1?Q?lpWXgSx7Negw1b8fbCia1EUTjrBJyRm5mIJFdb/prrsdG2fRTB7tLqxiTN?= =?iso-8859-1?Q?7YlTmJ0a/FxretEfEMV0IGYkC7XHgrbQU56ofaYSzWpf45W0lLAA8b0ttZ?= =?iso-8859-1?Q?sBbuRhChex/TMBWFqFariL6vIxDaSdTq+G0+3oitzW5vhkXCEza4tkPjBd?= =?iso-8859-1?Q?NRS+CinFf6QeFnKxRHdtkGX0jaEq8N+FZj3XeeL87I3+2heQc9o/HtG/2y?= =?iso-8859-1?Q?iNpsqI4cFps6+VlCYaTaNrH9YuqCGY8UBDfQzlkXI5a2amc8QDXA4IvsvW?= =?iso-8859-1?Q?5LlR4ksqrVXtY1OzpWbzrHQc6mLDx+znQLc2gQd0fOom6birGVBErAlE0C?= =?iso-8859-1?Q?NECfi8mznzg6SqhLEqWs1hs6K3ZQLp5ZjKyf1jbkzUCDde2WZSWidve4X3?= =?iso-8859-1?Q?hdAP8gyqGmQ8DoWPJaoZymLYHPrR/XUuLb2xf0E94dd6FYr5xis4CYie3V?= =?iso-8859-1?Q?CRax/6Z+faEiq5UHf8iKPNFSk2mYdYi6PZEdAKP86KtHY06Sc+8T2hEiQa?= =?iso-8859-1?Q?DXZyzwdMGbaOwt7QMtA=3D?= 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: 74c04ef9-6b04-4ee6-3e3d-08de16d9267c X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 10:51:44.2097 (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: NBUJAWi4xCP/XetIBYZheuz0RIqYGlWYXyN7xeVP4fF4cm2GNCXpsAnkJoaKBdq88as91vsLMutuGZBHQHMQQpzSAjwxAFtekCL2vp4LRky0BR6nTRftJS3u9yCHzTwj X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR07MB10962 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, 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: 1761735226291154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Clement Mathieu--Drif --- hw/pci/pci.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/hw/pci/pci.c b/hw/pci/pci.c index acc03fd470..3c304158ac 100644 --- a/hw/pci/pci.c +++ b/hw/pci/pci.c @@ -3096,6 +3096,10 @@ ssize_t pci_ats_request_translation(PCIDevice *dev, = uint32_t pasid, return -EPERM; } =20 + if (priv_req && !pcie_pasid_priv_enabled(dev)) { + return -EPERM; + } + pci_device_get_iommu_bus_devfn(dev, &iommu_bus, &bus, &devfn); if (iommu_bus && iommu_bus->iommu_ops->ats_request_translation) { return iommu_bus->iommu_ops->ats_request_translation(bus, --=20 2.51.0 From nobody Fri Nov 14 19:47:05 2025 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=1761735208; cv=pass; d=zohomail.com; s=zohoarc; b=Wdsif8o1LZIuA1PRmnfaO6dbzJdCI6x/hmMK/cXUD1rj5wNC9xu69euVqB+T+BzgiJtmxPQVykvOszeb1+M/RJH7aPSusfCbr19arHQVM/vd2NQ1/01QxQDZrBvRm98z1LqZDbrUvWsWMoj/uf2uHl52JonYTWdK/J3oEY2/aPg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761735208; h=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=vM0DRkhbXsPzBYaVTpzFzGu5iiH8dibExnqcggTgVDA=; b=A8xSI7cN3ezKO++fDIpzScKZ6kKZ2oVkW0kFZbRVz67gNLEXcHrQLLudYARLJSq11yKlLLyPTa8llazji6fty8zlRjQIahac4Ph5Q55khyZa5znLPFMeJ43YbE33dikFOZLnSzFpYmbhPUJ0KTC+5rDC8ZIWmVzrj8Gb6BCXMmk= 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 176173520807067.61531798173951; Wed, 29 Oct 2025 03:53:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vE3ml-0007Vo-Ge; Wed, 29 Oct 2025 06:52:11 -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 1vE3mi-0007Uz-00 for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:08 -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 1vE3mY-00020O-JV for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:07 -0400 Received: from mail-northeuropeazon11010065.outbound.protection.outlook.com (HELO DB3PR0202CU003.outbound.protection.outlook.com) ([52.101.84.65]) by smarthost3.eviden.com with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 29 Oct 2025 11:51:47 +0100 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by VI0PR07MB10962.eurprd07.prod.outlook.com (2603:10a6:800:2d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Wed, 29 Oct 2025 10:51:45 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf%5]) with mapi id 15.20.9228.010; Wed, 29 Oct 2025 10:51:45 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1761735118; x=1793271118; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=ApG7ak+vlrCQbDluYNPUCkXVIWilYJoaypLrM7BbS70=; b=iGpDqZFfcXsuOeaQL/9BGuMV89PE9YSNuYkpXiz80KMQKw081cUBXW9R lYVeBZLr/hP9YIjuX+cPda9S4woe2wPmWmMVlN9Xad17vNwgTSpaXp8Od zc4PrRfpT2sS3YW+PP3SfEUeV47bDcMK5RUp0gCNcFlgqH9sY8W4sRTtj LneFQ8Y4Pm+Zql2F/4rp1rpFMQxt4BItv4Mi9ku2y5e+KVNrXHo4wYa37 hg5U0OfzBMvph+UwfqAFcQUH6ek973px1PLf5yEHgLsznlVUiYC9weNDE JYypXuXp5QMn4ZJBrQK9oNDMWuGj/C/24IoPCH0ExQkBNhHSRQT2kW5HN Q==; X-CSE-ConnectionGUID: 5IOkg+SDQkmmzdOm1//YUw== X-CSE-MsgGUID: 4mvAUlnPTHG/ztV+rdeTNg== X-IronPort-AV: E=Sophos;i="6.19,263,1754949600"; d="scan'208";a="44178953" X-MGA-submission: =?us-ascii?q?MDHR6Y8wtrUJK7L+WaGt/MRa/StONBAZIh3Oye?= =?us-ascii?q?5bbopA0EykgJwNElxHMn2xCJU8lsVc8rEHiotLZfzNyLcxkrwnZ8WQrz?= =?us-ascii?q?daQv8m14+t4C6I1rHaQCoEW/EweOUlsyWDHlooTCnUdyHo+Fm+6y5HIw?= =?us-ascii?q?zBugf07wxcob+6SHi2tiuKnw=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oDCDWniahYSvOVI2N3PlNVNUaUrXxZiIj6vWruj357y6kC7ONiVE5guSCNa/8w/kibkqvHSc60Wug9n6ypaH1mXnu8cV/LxU8qHdDywqy9PxT6j0Xh6EXh3s8s/919rlhgPw4vI13rQaLoc5EPUtJZ00RJwqhbJmPrY87aSKYBtTnLlM8bnUYYpOGaxuzZ44iH0CGUrM+896i33xI/GFsAm/gY0D2lZdSguNJLBaDocW2mUJ+evChoY8+ZV+u0PBFcP9wtb1T/Vv6W0sHAJrhpbOzPTdptCPOgkl+P+0VfMiSD6Oa1W9pf5NS8Y7r3wUu/zATm+IGZZHH32GyuwU4w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=vM0DRkhbXsPzBYaVTpzFzGu5iiH8dibExnqcggTgVDA=; b=bQWfhMPzfF+2jijYqBrRMHVER2R3WgKDdN94IGPWz5HM+lJXJd5VH7oPexTD5ftNUBZeXdgTxdifqRbIITEfhBzI7/5t2LkcENDNV9f7p0aRjCiTQ7e8C9QCVOgjrNe0zgQgpCvJ/FzJJBi68WIe2BewZSKEkZQmea+1U7OdixNMvqU/6n4DiG4n2XAGOxrwyGgO2/vuTAZL5sGVzkX08JpaJJzA6iXS0+RRLUm5rPdCJliRguK9FVYrgbK8jvlJfb8N7z1iTaWwov5oxf0U7XssbNKB5WUxC5A+ikqxxfzMflFA7VprMiglUaKAJcw3clOoT2iC3E6T/1+5+W902w== 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=vM0DRkhbXsPzBYaVTpzFzGu5iiH8dibExnqcggTgVDA=; b=hziM88pk2W4+zEkH8oSmWcYMeeNZxvdUJi6YpeUN3nNRqyYvjUp2DOmiLKH4RQZ5hRtGNecIr3HF/BCVp/FoyLHPePlPlFNOW9JPt8UQ0POquhZoOoGJY8Le+CXwdbg+ncE6v8JWnCJl6optvx6rBSo4TM2kca/cJnDLwI4F8mmYCIS7Yip/2Ek69KahzoW7im8I2071FeY8w1EAxXsl7Q0CwjOiqi5UnnK/pRSsx4rIAIw39+FXjI4uSQByEYt6cQHPD+tJe+TXRdT484EPPHgd/Ba70yUtghoQPcGXpmfYKfI17Geyhh3noysi/aHmdkVu9utTKyk3nNS2rkPXKw== From: CLEMENT MATHIEU--DRIF To: "qemu-devel@nongnu.org" CC: "pbonzini@redhat.com" , "philmd@linaro.org" , "mst@redhat.com" , "marcel.apfelbaum@gmail.com" , "zhenzhong.duan@intel.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "minwoo.im@samsung.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH 5/7] intel_iommu: Handle insufficient permissions during translation requests Thread-Topic: [PATCH 5/7] intel_iommu: Handle insufficient permissions during translation requests Thread-Index: AQHcSMIEFGk3vJOU6ECADz08qcJwIw== Date: Wed, 29 Oct 2025 10:51:45 +0000 Message-ID: <20251029105137.1097933-6-clement.mathieu--drif@eviden.com> References: <20251029105137.1097933-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20251029105137.1097933-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_|VI0PR07MB10962:EE_ x-ms-office365-filtering-correlation-id: cd1eed65-300a-4460-f991-08de16d926fb x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021; x-microsoft-antispam-message-info: =?iso-8859-1?Q?fc/xNxDI/TX/HPp7Icnwc58MFpOBBDMuAXlEFVo1ygKeF8PWa38DlThQXl?= =?iso-8859-1?Q?I3vC+24jAlMdnxeczqhqGi3rv7jMc0K1p1bP+ulBVZuH+i390UjaXYHF/h?= =?iso-8859-1?Q?/gBjr7h54AWyQypKdiKtTcw4ciXWUhOZOcEk7sSe2ffW5kMxwT4eysibOA?= =?iso-8859-1?Q?gxYtxLDASKgWkDnxxJsx1YC4KlCNckkMAGmbqMknkjgyAFZfRBoXjYXF+J?= =?iso-8859-1?Q?dVKzGVZm49aklgt0rBvbXxBQkbAKVKNMGkxI0siJclSM3WMAg/mrb3xcyP?= =?iso-8859-1?Q?v0VcW80aGS2rG3RWlOBTjTAy+F1Ogfq1x8ZvejJKIA7hmVq5PAZrmK2DVC?= =?iso-8859-1?Q?zsPgaepTK5tQF4cPuq1/H293v9kRvEI0vPu3PZQuJ35ht7QXCWNdoVOYls?= =?iso-8859-1?Q?XbNgTr8IkXgsWPOXcb0ZyhX/14/SuLc2dO57YXxt1Mndtj4USWcF6Z//TD?= =?iso-8859-1?Q?mzpUNxZEMjcgfKkGuPK+YbyMB1h9miUpGwBAkTnDe7n7sg7lPJWampZV+e?= =?iso-8859-1?Q?DjahGbvpTpYphja1tfuWpYoUYX0pI3G1lKss37VxzJK//eQLc1hvV6MDdj?= =?iso-8859-1?Q?7ii3feLwD1N1986cwJqqXlf6IlEGggEmaBOBBzVagaI3dS5eaXyIMGWVss?= =?iso-8859-1?Q?qwrRFjATDvHgMRufzAQ9NkdF12T1hHjUPaBe5+oKizmVFtUXzTslp13bK8?= =?iso-8859-1?Q?lfM7M+WOtFSXAei2ZqZ9U4zrb6X1MCSB601TdXYJwrRFfKuYTMNQmBVW8y?= =?iso-8859-1?Q?vFSVCpZZCMk+ZJ998kw2B80doKwoDY4aefCyaLpMMcC1Afj6F3KrzpWROf?= =?iso-8859-1?Q?71w+c5aYjrKimsk+P4ZZZF+pTKrnFnrAhSYR1qKXOpO3Q9cDHEz/fO2awq?= =?iso-8859-1?Q?mI7eGRtr22xBo/wMkCD/deKkzARNsRlIOiSlaNFpO3xkMdqMBFBUu460E/?= =?iso-8859-1?Q?Hu6xBCKsDCJRMfKjqiKiiE+1ZLObmPKMxfC1e9JYHXfaBfrRO96PPz7hy5?= =?iso-8859-1?Q?7DpQLFKlBcgqNYGrX6t0O9fvCbNhL9ZQcenVnAGmYIb8tNLiKYtyq64r7H?= =?iso-8859-1?Q?BVkJbwjj4aX+acmlgT5SRIkPKCREQYCMW3cErjpa60j6eECib/Ne2lT1FZ?= =?iso-8859-1?Q?tKY5jZUx0LotXomM/SY0r0Mbch+6BpNekvpHishWvLKvNCuYl9vK+lcH8c?= =?iso-8859-1?Q?jpeyTknmGggxWz8BtBoyY0+OY8X5XL7Mj6RrAgjeBvlypNgI/C2MjVewU6?= =?iso-8859-1?Q?C1M39nWODq8mTGTQD8drDMDWgbLIQ2hdZiEZ9W7rDs+1TuYYDVvvHpsaqw?= =?iso-8859-1?Q?H0aJbhQljqIvehzP1cCheNYz8dAG8O0W3ORJYezevmyj/YMf9FJHwyfsaq?= =?iso-8859-1?Q?dnCv7VJO2OJV0C8ErdtYJcDGlVDaC9lTFndzH7GyMVszMwzT57cttYeZev?= =?iso-8859-1?Q?CTa3tE2tffF1Y6SjCrlD4QPC26nMbkBXzxB8qv3lxgi+gcewu/c5X2eOdX?= =?iso-8859-1?Q?XUr66HBsjRYMjnZ6vBAt3B4a3NTz4pXhicR0ousxldqVhPHSRbiEOBZZ0O?= =?iso-8859-1?Q?YXqSp0iNR1qHRwt9IJRcFMkpJple?= 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)(376014)(366016)(1800799024)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?rD6HO4A0CxoVayEgUIw9eMv4GOsULeRdEJ0Fdc0uhbJtnKTj17z1gmldov?= =?iso-8859-1?Q?rYIjC28CxpHkWmAPbHNyGIJhyfL5N4R2nkP3FLLF4YFCBZ8xjTXaib0HEE?= =?iso-8859-1?Q?VoZXRhmZYLbAF5ZTa6LVWY3X3GgIBix8AYTTLo/YdgyFxjao9nKXUAHFVj?= =?iso-8859-1?Q?sg3fPV3MZ3ZeNeRGNu97SF81AE5jlWLm08ifgIg0MLRgESxfh0RuVb2ItC?= =?iso-8859-1?Q?64TWv5smyu6ZAnJaihJcSdf61gWv4c+Yy1HMqPCRpDMPIaFgriHZC9JhwR?= =?iso-8859-1?Q?HWdJW6NX9fJnOq8nLVZfHDYOXkXPveIWcMdXxtU9UsQ9ITrmmlk6rWgDP1?= =?iso-8859-1?Q?MRGaY7zIRK0loug9RYrWyJhiw3mKBJGj7rNUuv222NKN83M8r0XbvJ14iu?= =?iso-8859-1?Q?t/IU0dxbpd9vzn3DQMDiL2wCsPgLliZ5jFWMWUsgSXoXkvMKfH7NDk110M?= =?iso-8859-1?Q?0dwIjrdUqMkPBT8wdKX8diL5HswTCAASKp7xa7NsWclFE8hT0a9x/9dTr2?= =?iso-8859-1?Q?tcxUB6rcYZgi/JmXQvEEWKE66NTEPE1JQcFVfFVms8XybydUFne5DZRO64?= =?iso-8859-1?Q?13MH4m55g+TOG0luN9eoRgjCAZzQ7KHftaARmexrxMV50+yUui6ABY+Y3h?= =?iso-8859-1?Q?zgqb9FUNbAfPIZO8dSxF2etVvFNdepcOB6vdwOJhk5IFAVuDBWPekvvPBz?= =?iso-8859-1?Q?AAr74RG5qRrm/8iaG5dqNA0ogBLW7aAYAKcj0bzCDhelpEGr8G/8IZ1c/z?= =?iso-8859-1?Q?lSwwqrlktJPk7CuZODne261HpgtTtK0PRV9vOb9BVpnp+ZZk16ACO/AE5q?= =?iso-8859-1?Q?KYQjKhXcwKQDP0u0JTxH5+MRLUIq9Ws+VuE7xP3gnzgRJj8VcsO0KXuBP+?= =?iso-8859-1?Q?a9CmP4om6sNcecpZ8Fh9ZNI6bMH7YONLB8ZXmXWRjQQOC468cHhWrw5A43?= =?iso-8859-1?Q?7HlhO/vBgVS89U4C63nQk0vckbt3570I8t66n9mo6G8gLJFPP9farysOxv?= =?iso-8859-1?Q?ZIWzJRgwOjjwRfbMd5e12w5oEdOmJn2mDiZffgvLEBPp5mLtIVEnBO6OtT?= =?iso-8859-1?Q?59oqVb4MJFOHgzj/PfqpAyaOO8cYNaenkEISRCaL33eGPXXt3AfMDh9Rj2?= =?iso-8859-1?Q?QVaLgtroKNLxLlXx2k+LqdE+8a8hIFVKGhIUqXwGa1zuSBlvv/MtS1j0XO?= =?iso-8859-1?Q?WZ7cJRNQf0kr5cI6LNjmsC2WZdB/ekp2C7NkQzjLITyIj7gVIlPN9SLYp4?= =?iso-8859-1?Q?wFz8GbrCF0DF+dqAGWK8cNdv9dQ0og1lZIntKiDN0R298w0U5QFRDli14+?= =?iso-8859-1?Q?9e45sQzRqp9Fzjiu6bm6zSTq4b5YG55SgDt1KpwS6IBYXa1uh219jsK2Sp?= =?iso-8859-1?Q?zD5j8D3ZDYP4KRuV1kGFrjz6MyIsMGBgpTZc9C9hbb+TerMAnrwxfcVEWT?= =?iso-8859-1?Q?UM3+NGtMKiINHatgO5ETRUQGeiQl4MNDHB/bhPDISzdEXbyeAHp16srL/Y?= =?iso-8859-1?Q?ht802luyIAtxpQ4CcM0NQ4dDrpT3adiky9oAkVif8sqh594mhrstkEAw7K?= =?iso-8859-1?Q?yQuOi2OVskkH5cPOcjkTix9fePftmucnbTmkBD+RxiQU/P3FfMSZHICyrG?= =?iso-8859-1?Q?Pyy8WjrfipCpBP7j0heftbcnj3jZTansjfJvS/nALNa/J//e8BdS13EvoY?= =?iso-8859-1?Q?C3pPnzVngnb9QN8Xb0w=3D?= 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: cd1eed65-300a-4460-f991-08de16d926fb X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 10:51:45.0495 (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: NO4MYwAc8QuW/UvwvhL8lfirkYqSe84/iY9wE+c1ixyPA0/QWsppLtDI6Xr7xpQAYflvTgcDqasU51f6UBjMM5+mX47pm6oZZS7oloDnQSi4++gpnwBMUVGshR8czwca X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR07MB10962 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, 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: 1761735226339154100 Content-Type: text/plain; charset="utf-8" ATS translations should not fail when the write permission is not set. Signed-off-by: Clement Mathieu--Drif --- hw/i386/intel_iommu.c | 14 ++++++++------ hw/i386/intel_iommu_internal.h | 3 ++- 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 9753f4bb75..e89f31da02 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -1980,7 +1980,7 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VTDC= ontextEntry *ce, uint64_t iova, bool is_write, uint64_t *flptep, uint32_t *flpte_level, bool *reads, bool *writes, uint8_t aw_bits, - uint32_t pasid) + uint32_t pasid, int iommu_idx) { dma_addr_t addr =3D vtd_get_iova_pgtbl_base(s, ce, pasid); uint32_t offset; @@ -2021,7 +2021,8 @@ static int vtd_iova_to_flpte(IntelIOMMUState *s, VTDC= ontextEntry *ce, =20 *reads =3D true; *writes =3D (*writes) && (flpte & VTD_FL_RW); - if (is_write && !(flpte & VTD_FL_RW)) { + /* ATS should not fail when the write permission is not set */ + if (is_write && !(flpte & VTD_FL_RW) && iommu_idx !=3D VTD_IDX_ATS= ) { return -VTD_FR_SM_WRITE; } if (vtd_flpte_nonzero_rsvd(flpte, *flpte_level)) { @@ -2080,7 +2081,7 @@ static void vtd_report_fault(IntelIOMMUState *s, */ static bool vtd_do_iommu_translate(VTDAddressSpace *vtd_as, PCIBus *bus, uint8_t devfn, hwaddr addr, bool is_wri= te, - IOMMUTLBEntry *entry) + IOMMUTLBEntry *entry, int iommu_idx) { IntelIOMMUState *s =3D vtd_as->iommu_state; VTDContextEntry ce; @@ -2202,7 +2203,8 @@ static bool vtd_do_iommu_translate(VTDAddressSpace *v= td_as, PCIBus *bus, =20 if (s->flts && s->root_scalable) { ret_fr =3D vtd_iova_to_flpte(s, &ce, addr, is_write, &pte, &level, - &reads, &writes, s->aw_bits, pasid); + &reads, &writes, s->aw_bits, pasid, + iommu_idx); pgtt =3D VTD_SM_PASID_ENTRY_FLT; } else { ret_fr =3D vtd_iova_to_slpte(s, &ce, addr, is_write, &pte, &level, @@ -3827,7 +3829,7 @@ static IOMMUTLBEntry vtd_iommu_translate(IOMMUMemoryR= egion *iommu, hwaddr addr, } } else { success =3D vtd_do_iommu_translate(vtd_as, vtd_as->bus, vtd_as= ->devfn, - addr, is_write, &iotlb); + addr, is_write, &iotlb, iommu_= idx); } } else { /* DMAR disabled, passthrough, use 4k-page*/ @@ -4923,7 +4925,7 @@ static IOMMUTLBEntry vtd_iommu_ats_do_translate(IOMMU= MemoryRegion *iommu, vtd_prepare_error_entry(&entry); entry.target_as =3D &address_space_memory; } else { - entry =3D vtd_iommu_translate(iommu, addr, flags, VTD_IDX_UNTRANSL= ATED); + entry =3D vtd_iommu_translate(iommu, addr, flags, VTD_IDX_ATS); } =20 return entry; diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index 3a1f7a1d99..10a452c0dd 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -664,7 +664,8 @@ typedef struct VTDRootEntry VTDRootEntry; typedef enum VTDIOMMUIndex { VTD_IDX_UNTRANSLATED =3D 0, /* Default */ VTD_IDX_TRANSLATED =3D 1, - VTD_IDX_COUNT =3D 2, /* Number of supported indexes */ + VTD_IDX_ATS =3D 2, + VTD_IDX_COUNT =3D 3, /* Number of supported indexes */ } VTDIOMMUIndex; =20 #endif --=20 2.51.0 From nobody Fri Nov 14 19:47:05 2025 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=1761735251; cv=pass; d=zohomail.com; s=zohoarc; b=IBL3cc9Iu2FN5KwB44RThNgqwXBAlEgij+LnPoxT+DbEbWS8pCVqkTKRw0/RgUYjDs65WQn+nT5gWbsLR13eRnz9AzAW5cgIk6g+VzkC67xNzACLqsfAUvFQVDATUNeZBCrhruK1lLOcAXr0UQdXtq9rI2CRQn/ePWMYiUmFhRE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761735251; h=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=xLzUkpKSDdFtSmvJ6+dFN2t+Ggy80s/JGr5OX9Abtxc=; b=jzpT5phH5yvqTwvN46ePxFmrxON4ZUNX8jKbGlMIWRiqr4JGzjeUzcjPncOgmx32eKuLIcnxBnN2t+V69PCKFJZua+B4FxWYABAXBVyE5fN0Y7HFmmzoXlot2Y4+7Nt9pUsKaQCtiPfz3MYhVr0nY0QZy6MiM4EaRGA+C549NdM= 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 1761735251325740.0783194198559; Wed, 29 Oct 2025 03:54:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vE3mp-0007XB-Gq; Wed, 29 Oct 2025 06:52:15 -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 1vE3ml-0007Vp-SD for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:11 -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 1vE3mc-000215-Nz for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:11 -0400 Received: from mail-northeuropeazon11010065.outbound.protection.outlook.com (HELO DB3PR0202CU003.outbound.protection.outlook.com) ([52.101.84.65]) by smarthost3.eviden.com with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 29 Oct 2025 11:51:48 +0100 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by VI0PR07MB10962.eurprd07.prod.outlook.com (2603:10a6:800:2d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Wed, 29 Oct 2025 10:51:46 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf%5]) with mapi id 15.20.9228.010; Wed, 29 Oct 2025 10:51:46 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1761735122; x=1793271122; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=Ch8joq7t4eK4w9xApOPLPuuw25nLBYLhfWDmmNgwRlQ=; b=FpRrQWRgZbeBxdQl49PMNluTKwMyPYk6Np9zkkDj1xWxomQ8Y5wOcbvU GMkEbqQHbm3DWetZpv1373HvwUEDpUIH+YenZXzcT9bQRMhTCXviOt7oV 17u+ajXyML7FjR4OEOEBhXZy1G5++7k9ODdyZ3fIWWpglML9TRpBqWgxy XiwntcPrBEJsR2IbyRebc7PkaOE2WW7Fc3Vq9fCrjwHyzCaZDEPlTcACF p8m9dfm7WY95thXPVMeEJlXAo1ao82qfYUi06+Xd7m3yRl25PHImTNB9F g+n4AbBmBiboxeVIkDBNYFo6Mr+kBMmLrLmGYXZqNLfFxrv3+dUpi1XEF A==; X-CSE-ConnectionGUID: GXf2lUF3TZO5Yu/EgUoU/g== X-CSE-MsgGUID: 5rW/Tg9WQVyK+f8kzXlTZA== X-IronPort-AV: E=Sophos;i="6.19,263,1754949600"; d="scan'208";a="44178954" X-MGA-submission: =?us-ascii?q?MDEY40dJcH+TRWV8V4jL1V0CtiwlECHnrNAh+Z?= =?us-ascii?q?+K7NZLEI3mxhLTa8pj8SNlLNQPnfnqd/yzuCfaJcasksHtRRX2MXeWnD?= =?us-ascii?q?UmfxSoM+Xq5dZ3dV/BluZ36kookY5Lq6ZS+wwk/Hi3THCK8RPib36LrY?= =?us-ascii?q?v1VjmO2NBW9To2zM7xNbKmMw=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=elA9Aq6xWPBIOF1MR3hci1qPrPMY1AqNsZIaQyAMu9sdQ8TNHVRUITwd/2udtxawIpW3rJkdCxuTtuOHj3lyAFVjsz81EMMJpG0Pe086Af5g5nZcp1I/Ng4FQfkn2ERbTUr3WGRMf3stkPv5TTXZ+LZtIhBjLr0MwbCcMG918ggV8c2tAdh8hHFO2VCIGSvjtcz0raf1xFXbcwPli+028oFa6ba7q8R9yPvtp6puoHjlSxp9vv/91P1Cq1I0g44iTsSLVf3iAcYKeOcHWkusFfOKff/jjR+3naRRASJj9zJHeLfCF7GgijjXboSHUMhTFPgG2LbTFKypy2Kk2bYfaQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=xLzUkpKSDdFtSmvJ6+dFN2t+Ggy80s/JGr5OX9Abtxc=; b=nAo5EQIufknNyCN5qaYBh7Roz5D6ly9btLp4hPOZ+DVwvceauMP3bfKkeTM2gBtHtnWwyyM593ErExztA7NhRdn0DwKTrf3hR3cI1rohntV1GofwBqwyEOm2TiRX82L771pL3cDupC7kKH2WwvVmkD8SmvBWSq05gDYoJDJwb/tsONID7vZGWMPLhEjCJ6vTQ2h1z5vHV8ZaV7D8qSlAKCNLYgwXYeiKKYiO05Xe07GNtm4ozEfrZrlpOVOIVKQb0mMRF1mk6W9sIATp8adulh8yPVmE8n0VhQO6ngsY0usW1kJ11tp7uuy8SAmxZ1V9r9LxlxigYZE2x7yTuKUV/g== 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=xLzUkpKSDdFtSmvJ6+dFN2t+Ggy80s/JGr5OX9Abtxc=; b=oHh0rjI6kkE/ogoSNJk2rL+MOY0FitNIKKq54Cbs3zf3mVvlsAQ+qlTJsEJwvqkg0Qfw1zxoDe7AGQpX88G2UcZk8tgnnZiqkItJxEB8U/05zNZOPAz+veX2goR+79DXpzdYfk38Itrray9VDjpo4kS57xmct4kqo/kWkJUrU5jc3iTsKrT3T/kX/h87BRsC9sdXxYGqrRxsPm4SQkTNCTFRjaJoFmi3U6DgtnW/L+5iROosWc1H8T3bH2s1toUA+JW4vQJzrlAo93ZEyiP49YVfzL/P82LNu4OlMTcGOQJthnz3rKqIx/eaTcSrC1IBbaEh2XQarf/shIOjkA2nVQ== From: CLEMENT MATHIEU--DRIF To: "qemu-devel@nongnu.org" CC: "pbonzini@redhat.com" , "philmd@linaro.org" , "mst@redhat.com" , "marcel.apfelbaum@gmail.com" , "zhenzhong.duan@intel.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "minwoo.im@samsung.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH 6/7] intel_iommu: Minimal handling of privileged ATS request Thread-Topic: [PATCH 6/7] intel_iommu: Minimal handling of privileged ATS request Thread-Index: AQHcSMIFoPQGfzZEWUiOQtq8Y9QQuw== Date: Wed, 29 Oct 2025 10:51:45 +0000 Message-ID: <20251029105137.1097933-7-clement.mathieu--drif@eviden.com> References: <20251029105137.1097933-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20251029105137.1097933-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_|VI0PR07MB10962:EE_ x-ms-office365-filtering-correlation-id: ff5de850-4eb6-4351-f31e-08de16d92787 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021; x-microsoft-antispam-message-info: =?iso-8859-1?Q?fIO2vPBFJsjPR9Tg+pLKAHPRxeDjQGhkH1VvuBHtJjmKnIOVw+Eanu4g6F?= =?iso-8859-1?Q?439xgj2D7mK0JHf3iw7qj77AwvfcbXgNhcmlbAo1yYvsYxOSWbi8tv3vh1?= =?iso-8859-1?Q?dgfC4jWt8mBzCdnIxYxBmP+hoXGDX4gWthtSyB8gadkRTtTJhXtPa+K2AS?= =?iso-8859-1?Q?xfcm2rr5Mjw+5MjGvLUJYtyowY/8Y4332sGm2dFUMr8tvohknNQkONbXg4?= =?iso-8859-1?Q?dWBb44JJqprDUb+l403x3ba+ZP7XO+0un2oFBABzNMk+izKG99NjD7EU+3?= =?iso-8859-1?Q?vjGYHLFB80gGZXqnne5mEY9yCbxaVjgHQIyhIDVvhQ/185tBpseZ+c86Lk?= =?iso-8859-1?Q?SDTA9BoDsKQsA/JPRXJEDDrBn9UTV4JVLLOF8Xf+40n/KidB5VE3YN3kv3?= =?iso-8859-1?Q?WnbM9UvLjTiX3OXsr0ynTbc8gfMYxr80DCGvOJ+WclODHB0nyuZvcfstOP?= =?iso-8859-1?Q?fP3eSfxrAo8XZRlPaCxYvjAdxISJnUpnrK9q/vagqBSFAjxJQFFUiBsfhf?= =?iso-8859-1?Q?Bia0Hv+g5hzLSmN2eoh4ZiNI3BOQ5Jzx5w3zeRwmrQKjlZfMK2PTmXGSKZ?= =?iso-8859-1?Q?hKofw4iZ7ieAZHKiKtIEObuwu+MLKA/Uj71tOHD/bY9VminUDiutPt0EZe?= =?iso-8859-1?Q?yN+FJMZtyWS6Q1ksoUBH+r24jGjYfLIcNRMbfjYEMQf69/LsI5PoeMcvB0?= =?iso-8859-1?Q?Gr05IqJdlOj90b5f2PnMVGcc+DyPh3yJgfIBhXoaIXeYaqttswGne53R/r?= =?iso-8859-1?Q?SWg/lvYPNs2JhcWH61Rc2G7/3i9B2z3VPLA9oY29tbPUx87vh0U+FJyqLE?= =?iso-8859-1?Q?WGTjZA4PZLb/ECAUEdUYrvGmBvSiAyU9When15jpB16QQyIA9QurarVbTS?= =?iso-8859-1?Q?a6gCJq9/KGcdpUYpcetpIVmztdBIoFqMdNpud5/47zHSlxVwtMg2vJUyOM?= =?iso-8859-1?Q?44eG7aOlMp1o7FtozW1P+UPlXfk2/CEX90JfZiWR3ktyprhPAv5d0rGyHb?= =?iso-8859-1?Q?GnUOsiuACtF1ytBcCyWpUBP/XLry0SidB1+2ppaEir7m6vtzKnAN2MN2Y3?= =?iso-8859-1?Q?dc+RjCiv8nDU2I7wJmidcbcrNqhSiCdaeE1smCBmppqZwH2Jj5OPV+yD7r?= =?iso-8859-1?Q?nBwBeCAjgGLD4bHPDv3kef43J3E4S/pmvmATufWjwbYHPXKTEs+GQmHd0X?= =?iso-8859-1?Q?pWdlXRx7MZ/a/fwteG0ENhpCS5/j5lNNHY2BMFMTXgHiMgYjxtsL+Em8zC?= =?iso-8859-1?Q?AxYOHT1SkcxCzl5w+WH/UXmK95qZMXR1I+1DcvyS4EU6JL9sit+Ao16Lqg?= =?iso-8859-1?Q?+5FFDekyZHtzDkYCWxR1X0KLzE01hW64vKD3IguQ75RMaYy3L1QGUQPTrw?= =?iso-8859-1?Q?VjlHWb2q9Q+5yT/Y/1BcGtaRcPU9yK15cPsbUXuBnCoQW+1kT0Bo8uBrF8?= =?iso-8859-1?Q?r4mgjS3EZHavjALAPh+KSxerVIos1viIYah/DDVxJmx/G+PZx7nh2AlMpZ?= =?iso-8859-1?Q?6At1sVYtfXfNzd8LCb0V9sTVp0jW/yh37oK3Mmn1a+SuTIzKGFndjJJDTc?= =?iso-8859-1?Q?Qw1cIdClMxZ2+TFFwP3Uj6MrmTZ9?= 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)(376014)(366016)(1800799024)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?Zsg4w+z5qAoMLYRcOxh1m8uhtmxUhOXRyUuRdzTOucPgEFoD1gRywGsamU?= =?iso-8859-1?Q?5sBhR2FNebaRfP4F8UuAWYowBJkkJRYkng+cp3A0XexDUcSV3ylU9V5I6Q?= =?iso-8859-1?Q?G2G0PzO4HofDyegJlVXgX2u46u2deRkKcrluLkBxYlcOZ2V+eHWchEmCtM?= =?iso-8859-1?Q?ivG5Bg1le+PTnfjBHY024HyY/cVrGDWP6QM7Y3O53yl2nX4iabcV7xKshL?= =?iso-8859-1?Q?iZGUGE72FdpyxlptepZ+KGUwyAE8jVoKp5WMqNtjraCCj7HojgjsPQNkZv?= =?iso-8859-1?Q?Ekmt+ZqzPHmBPSXJTW3/JmKF+9oWiqgfRwzJSyK/Z28S591FswJTi1+4c6?= =?iso-8859-1?Q?yJQA1beXYeCkySZfFjfC50MBnw8awoyMza1tJVnsd+A+DcOCuZZd1a15qv?= =?iso-8859-1?Q?awSnDCEc+641Lk/06E5QZNy6je3TCBI3AQjqfUvQtq0yrW32y1A8X9ifiL?= =?iso-8859-1?Q?3c1di3uG/o6alq+z972gkBFKpHAb6GAddJtizH5YBAT9aaBefNXR3IvMjj?= =?iso-8859-1?Q?cUeLnSBGvf9sMW/RX5uaXsXdDrZKxUPUHGCCO4HZ/G9/yDJxEkQUGe58Z9?= =?iso-8859-1?Q?6+SnT5374bWrABoCbuMPlZlo+R9mvD+wnd4yjJfaye//vXXHs5gBaRmwxB?= =?iso-8859-1?Q?1z+JsJmB0AtW+F/+etaa+jPVx6+FsPuo6HLNNYVay5x9rMQZ0vYWunDGS9?= =?iso-8859-1?Q?jLMI6b73yAPsTeH2I5ujSKhsnnd/S7LyzteNIupNZBgo8KQGNYivXSxK/e?= =?iso-8859-1?Q?1NX+VUabCiAyx7s/8DHjSg6Q6KiCf8ATvfnH7pFFqAwmPc9vCbHg9+tMWx?= =?iso-8859-1?Q?fgnLIu7zNsOFHRg8SA4tDMCAnV8ZGMX1AexbfpxFvb7jcAyZNR70llE6rc?= =?iso-8859-1?Q?9qDimnYbihkV9YdgE/dJNiKIqMxEwg3kI1KHega3Y8T3DU/SZSQj+HaoFU?= =?iso-8859-1?Q?cXp3xhUh/UgfK5E0+Cs4RwHLqQpxutTtuDie/qAD+osx6jUWysTL4FE8YL?= =?iso-8859-1?Q?pmKBbqASPGL1wBHd62VnDRyGzvES36RVXGfC/qiWqSPREmAnVAd94utdBZ?= =?iso-8859-1?Q?C3aNNzbb/BBsCo/66Ug9jKXDZ27JVAWT8dZPAPruFOfxg+4+pPohFXEBoE?= =?iso-8859-1?Q?kS5PM6yPM+v7/t/yfxEqEOPdhp8m9kQVXdyB6fUhbD6qFIxIvecPWTdMr5?= =?iso-8859-1?Q?hptPNbJWi8drO2JTkCowP+dwE0ADnhQGURXKvl6LEKzQX9U8+sDbo+s2tO?= =?iso-8859-1?Q?zhzSK41hLcoSeWz6O+aZJnS8rv+B2XugGQJBSnP9G+IyO2gigPRhxjnpS2?= =?iso-8859-1?Q?h2SvUe1pDBEegYMUXP6ObWEmKFkNEoowjZP4n96b2K2ifQB5Ll1rmlGNpz?= =?iso-8859-1?Q?Q+q5R2wA/p7YK3HQrqqAWpAPWDnW7BrY7GvF0Ex6GPt4DGaBaFZI5dLnK0?= =?iso-8859-1?Q?TUZ5Ocj9fhJqSZ855uTQ0PsvFOdk8aJl62E9myV8EZvjoNp1xVYRecrP+m?= =?iso-8859-1?Q?EdUI2sKSgRM5242v0pn+u/VB9AJqOufj5fcluwcR5nygZMut8RMSoGdqHU?= =?iso-8859-1?Q?Qhd5oz44Xv9CU1aMZVz1n5ZbeTfBqU5oCjdhM8mr6r9z4JA3Qcc+aoXXSy?= =?iso-8859-1?Q?8zmq8uMAPssJfMyOlZTgYVw8W4ob8Gi1ldynwiBMtGndXW1rx4L3auIM3a?= =?iso-8859-1?Q?3/X7/7KEZJgvaKShaVU=3D?= 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: ff5de850-4eb6-4351-f31e-08de16d92787 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 10:51:45.9569 (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: QRnrUOcLnz6D531vNpTA3bD+SOHFnAjiB8pevvxWODecTN2Oe/mqvecJ0FRg8V8Q5EltupIwtjOZ2kpK82lMopJuYSelNOpOEGeHSlVWNi/OybhEAoU8DLSW8eO6OHtM X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR07MB10962 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, 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: 1761735252358158500 Content-Type: text/plain; charset="utf-8" The purpose of this commit is not to support privileged requests but to prevent devices from doing things they wouldn't be able to do with real hardware. We simply block privileged requests when the SRS ecap is not set and abort when the ecap is present. For now, its not worth implementing support for privileged requests because the kernel does not support it. (https://lore.kernel.org/linux-iommu/20230411064815.31456-11-baolu.lu@linux= .intel.com/) However, we may consider working on it depending on how the development goes in the kernel. Signed-off-by: Clement Mathieu--Drif --- hw/i386/intel_iommu.c | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index e89f31da02..38a9c87da5 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -4917,13 +4917,27 @@ static IOMMUTLBEntry vtd_iommu_ats_do_translate(IOM= MUMemoryRegion *iommu, hwaddr addr, IOMMUAccessFlags flags) { - IOMMUTLBEntry entry; + IOMMUTLBEntry entry =3D { .target_as =3D &address_space_memory }; VTDAddressSpace *vtd_as =3D container_of(iommu, VTDAddressSpace, iommu= ); + IntelIOMMUState *s =3D vtd_as->iommu_state; + + /* Guard that makes sure we avoid weird behaviors */ + if ((flags & IOMMU_PRIV) && (s->ecap & VTD_ECAP_SRS)) { + error_report_once("Privileged ATS not supported"); + abort(); + } =20 if (vtd_is_interrupt_addr(addr)) { + vtd_prepare_error_entry(&entry); vtd_report_ir_illegal_access(vtd_as, addr, flags & IOMMU_WO); + } else if ((flags & IOMMU_PRIV) && !(s->ecap & VTD_ECAP_SRS)) { + /* + * For translation-request-with-PASID with PR=3D1, remapping hardw= are + * not supporting supervisor requests (SRS=3D0 in the Extended + * Capability Register) forces R=3DW=3DE=3D0 in addition to settin= g PRIV=3D1. + */ vtd_prepare_error_entry(&entry); - entry.target_as =3D &address_space_memory; + entry.perm =3D IOMMU_PRIV; } else { entry =3D vtd_iommu_translate(iommu, addr, flags, VTD_IDX_ATS); } --=20 2.51.0 From nobody Fri Nov 14 19:47:05 2025 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=1761735253; cv=pass; d=zohomail.com; s=zohoarc; b=UjeCufjSv+6JVUF20PxHsE05ox8tIaNhZ3DOojR0l4CV+O4TubRSHE8IQULan37pV3pMMJ7KSNmj5QxLTEjrT0JJJFEY6U0eznxNn2QW/kLsxoTBJ4uO4UT3pxgDSw6w/Nb6qrbklqOWEHH/GQ2s3kaYiE3h3IVvYX4n2fOSKYo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1761735253; h=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=rLBGXehqWufSmuLCLhaXHzMVNKSdvC8IavksEqkJHRA=; b=cWTAMcuBibdvFAK1SlMuyI1R+ENncbpi13f+9s5dvR7LYFgxDQquQZ2aotpcXoOSJtAr7zeKphn4GiqdqRciMw5ay8C6NEJt9+Zf1cgOi0BsaSiaOCzicmCO2j2Bld6FQ6IaQR5Xu1uGZBn6Bgxz52mXe4xmS7dtEkT27Qsv9hg= 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 1761735253444624.7147944741561; Wed, 29 Oct 2025 03:54:13 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1vE3mq-0007XI-8m; Wed, 29 Oct 2025 06:52:16 -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 1vE3ml-0007Vq-Tk for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:11 -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 1vE3mi-00020W-2M for qemu-devel@nongnu.org; Wed, 29 Oct 2025 06:52:11 -0400 Received: from mail-northeuropeazon11010065.outbound.protection.outlook.com (HELO DB3PR0202CU003.outbound.protection.outlook.com) ([52.101.84.65]) by smarthost3.eviden.com with ESMTP/TLS/TLS_AES_256_GCM_SHA384; 29 Oct 2025 11:51:49 +0100 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com (2603:10a6:20b:24b::7) by VI0PR07MB10962.eurprd07.prod.outlook.com (2603:10a6:800:2d7::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9253.18; Wed, 29 Oct 2025 10:51:47 +0000 Received: from AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf]) by AM8PR07MB7602.eurprd07.prod.outlook.com ([fe80::4b08:9add:5e19:eaaf%5]) with mapi id 15.20.9228.010; Wed, 29 Oct 2025 10:51:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=eviden.com; i=@eviden.com; q=dns/txt; s=mail; t=1761735128; x=1793271128; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=1G8QrJLCOH+2/XXKvnyodvCjtpRGEPutuSPOnVJuzXk=; b=Atxaa+E8rPEdXc373a1fM3URPrKAXRhOX+drVga4CAQd0dopIVSTu8J9 yjeguy5PLIrSr9ZeJ9lU/JLR77Qli9mOqrCVMLSy4/EsYk/igujQzD4r0 SOlWqKEd+pIMKrZVaFeqsQEFm/2834oc/C+zUyXVYV5c+iNr7tLTzkaQP rmvLcZGdwOvf5ne3fZJiTYPcaMSq1+NcVXLA+xkgFkpG9BnkMYhR2CvOk DfQhL74XzmuRvKxaoktvUQ7oSgW0GxZiFbq1qNWdbRD+KsNXp9WbRuTn2 2TyjGks8sAZmY1KG9cvyhpHiSyL5uuMYxjY2WYt01aFc7ER13v9yU8wRT A==; X-CSE-ConnectionGUID: 9+FnvmtDToqh0jTXQULCJQ== X-CSE-MsgGUID: YkQmiBzETNOGqKQ7E1VDbg== X-IronPort-AV: E=Sophos;i="6.19,263,1754949600"; d="scan'208";a="44178955" X-MGA-submission: =?us-ascii?q?MDHRTrw9Nj8Lr2QD2kziIEd8Iyl+ajhbULdfa4?= =?us-ascii?q?x7Sx7DmZYWYQ+PyZbMntsObycy1ULoTIonpYODm03qWTn+YbslE2GmPe?= =?us-ascii?q?r2eLN5TCDVqYeEI8gyvVr4CuQY3KokXuxC4243vmh1JDYMQg50ACtsjZ?= =?us-ascii?q?qSU4vo1dGb/SAflJX3Pp202Q=3D=3D?= ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=dwGimDaGp/csCYoFlxOl24Wkuq8R7b/TL/242WGeLshUKm4/xa6Ui50r50T4WpT8oew+Twsmx8wfpsh0RElpv0TXj7X5jdTLL5PW/t2gyAs7WkzJ6t1PYlSMgz40XJtCw1beu1hw25cPqktzYBkWEl+K5Iym4Pk2Twgp9tbO15tV6vNilX71LsFQkcWVNZwGQih+Nb7TmohfXQUTsO3LJb/kjVXndipj1OqIHe9n1VtbzYc4yZeoERSsHJNj6RitlVAuo7pRFzznu6fdHNDnKpirQbo/4nbN3xAb7M06UwpDnvT9eHen3VMH2nSAgrBaNZA73l8S7LQ0dZ94tS5pvg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=rLBGXehqWufSmuLCLhaXHzMVNKSdvC8IavksEqkJHRA=; b=utU+R4ZyQ1hZTTxQEHPmcVbfAdtn3JONCxYhYwp4wZgkAkylWCDutka0ne038dmEptuBNDsrK8O+ffmMLkAtvSvqmWSC5bYApanigvyaZ9Q3NkagorApsrKJuQKUhU22dXm78lv5rnRT0mksScWoRNEm+m/B64hNDFEtz4Hl9XMjHCFSQyMGIB7kBMU64QzeILvWU7Adj/2yaIA+2fbkKV46g5G1DML7KygTDr0Dwf0QPhXdDO0D+wzvNZB5BcsNLDt9pZeFLBNR0vfrDzs8QN8iY8T/ogVedAgELJVYG6vNZbJ0ZiFO4/DOjLLjFwT9AVH5XO8C5HyRiJtCmhFP/g== 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=rLBGXehqWufSmuLCLhaXHzMVNKSdvC8IavksEqkJHRA=; b=bbh3Co8JG3rWFi6cpL8I3FQSLFyondf3f3k/4kUFCKIeRut6N8oZFFfqvUaYK4Bv3Ny12VdaOqTgvk4/BQFQ4II72crsxWtaYHcrhM2GAYbMIj/D9RpDrutaz9ZQa7pLUW/Q0tpDBpj2Y+GBT/GnsN2p06L8t1boEzq4wHpdK6UGQ1pDo49ysclFZWILEKOjw+qKTvs4wj9zWGFyqejHuce+P91a108QQ6cOcO6IL6sGLMmdMicW98V60P/59MM9twMMJYpUHzvyUyIU+idISOfUMjG9OMrKDgY3ot/6+r6KDTPxvggzMHkKt2UqMcTS3g57ZE5kO+OzUNBZesHx7w== From: CLEMENT MATHIEU--DRIF To: "qemu-devel@nongnu.org" CC: "pbonzini@redhat.com" , "philmd@linaro.org" , "mst@redhat.com" , "marcel.apfelbaum@gmail.com" , "zhenzhong.duan@intel.com" , "kevin.tian@intel.com" , "yi.l.liu@intel.com" , "minwoo.im@samsung.com" , CLEMENT MATHIEU--DRIF Subject: [PATCH 7/7] intel_iommu: Add a CLI option to enable SVM Thread-Topic: [PATCH 7/7] intel_iommu: Add a CLI option to enable SVM Thread-Index: AQHcSMIFYWC2/jijTUmbnvXqbpZ/Ew== Date: Wed, 29 Oct 2025 10:51:46 +0000 Message-ID: <20251029105137.1097933-8-clement.mathieu--drif@eviden.com> References: <20251029105137.1097933-1-clement.mathieu--drif@eviden.com> In-Reply-To: <20251029105137.1097933-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_|VI0PR07MB10962:EE_ x-ms-office365-filtering-correlation-id: 0fe63d12-dfae-4dcb-c16a-08de16d9281b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|366016|1800799024|38070700021; x-microsoft-antispam-message-info: =?iso-8859-1?Q?hJwlOYZ8u7aWH6FitRIzs+RDFkcqHgDgcSiF+7F4ktgVxQfxZyrdEc2U4/?= =?iso-8859-1?Q?sVgzUEnODX74J7O3YQLK33JBTCnrv3DkIT7ijWt/+CFA7LWNIijNeU8NB0?= =?iso-8859-1?Q?73zGj2HPv/3mWYWgY3xTr268umeypViBYj0Ntys9RXJ9BUJeVpazB6D8Po?= =?iso-8859-1?Q?WIgaJ5n4kOyInfsxjpYw8YxpaVUkiU3E+ZRFpFzTlRmaNe3pzrkyoq5QTB?= =?iso-8859-1?Q?Zd3QiTjPFuxrOtY9tcogz1W1BUuxTaiVwrMX4YPlO/tUmmVy9g4K2hXzJp?= =?iso-8859-1?Q?oaWrIvE0WhQJm3Z5/meWYub4ktUc3x4XX5/qfqRpM2c3LKCMW4/fyTGrUm?= =?iso-8859-1?Q?ZaxIIcYGbtNNp97j9ZSbtC9pbUKxoQNQrBsIOy2aOdXyZSNfrEBnahwKVL?= =?iso-8859-1?Q?L6HaeaooPaLmj1mwx16SFpETibzAHuNxZf+pYzX5uZfCfAAYDcwcRsYIvd?= =?iso-8859-1?Q?OW8AxORB91I1D+3Mbn07YAKv9kRf6ouVxAuXvi7mvFpuHfrKLSVH4lbcxa?= =?iso-8859-1?Q?N5HMfSgCF1lHFvMV1ji1fxHKQVeJJNzBuNNcZ6j7PHIV4YzNHmzZUtfxMs?= =?iso-8859-1?Q?DmB63lG3uQNR46R67MIFzAMIvyvPjJpozh52ETIsTMY6FYcBjAwsCVUglp?= =?iso-8859-1?Q?qmOedLDMP7nG4V9sEJWub+UYBymI/hFRV4KU0p3jKHc5e85koL5rL5rBBu?= =?iso-8859-1?Q?bvNKjLWTkM+iS8u9i6ZYkNPfjuaW3bRAZkDQS846pYu/dhJ6ljQNgrp31f?= =?iso-8859-1?Q?t7heGiqczrDuRG5PhtFNiaDR9i0fmY0JyHcmbFlOvXKoVHfmn2BOZ+olmg?= =?iso-8859-1?Q?I/E9M6S1rNyl5pU2pKgwRqcBj7xN5A2EbN+kKlB45wpVULePX8zX1RCDWQ?= =?iso-8859-1?Q?D1SYSE6xzIK0Gt/Fu/ZVdyN+cXZxtx6mZPzyQ6PY/Z7fRf2koWZ4CvOkDZ?= =?iso-8859-1?Q?yhQjN0FonwgdVGvP34AQySnqa8v8D4KamxNIt/pxbUQJnEp1l5DnmHUOCe?= =?iso-8859-1?Q?o6qpTlJt4Wv7JcQWV876nX5hR32sSj9alE3ePbu0GMCXBJJaMTgKPBC/le?= =?iso-8859-1?Q?KArdq+ROkMlFhiPDzqPxy9X/VuAJpHWTtSyqInzNxiw0KTBTRQyS4VDNvW?= =?iso-8859-1?Q?LPC80LVreHHzClAgsceIpB6RWhoHKi3wi4NlqQ6xSOJbBdCLTmB3I1j1cI?= =?iso-8859-1?Q?vD+DnDaui2kfTbxsMVNT+q2LvI+HuyfeZbpavJTdAVto6dofGYh+lAwFWf?= =?iso-8859-1?Q?HpVSHtoJnJggHWboIwiXgXdpuozNgeP/gpGs0YHo+vBcIeSHVzVIfk0aOf?= =?iso-8859-1?Q?XWEkcmUnWo+yfRNZopReGs2/AOAcnTVJAJr1FimqGfH87ktMT8frX7JGHm?= =?iso-8859-1?Q?X7NW70HCd06jfso2pPDwP2BF7b+7Qhh7z6/6wn4BhjjP2nwfRwaR5AejSA?= =?iso-8859-1?Q?0yAH1IM7yOQugxNbyQBbwi9opbE3Tcg2rIuvg6Ix7lh9RSg65syzvIW3AN?= =?iso-8859-1?Q?FY7GrbRSWU7wto9Pxq5O4ilysKn/zs9Wi+kwKzJOg1rFXfdjohIZvE+LIF?= =?iso-8859-1?Q?LjcMTsThyr0/Iyo+Ozv2y/OZXpd9?= 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)(376014)(366016)(1800799024)(38070700021); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?iso-8859-1?Q?U+3OYphdB367XTAP67dtpqi0cLrYBx6gRostmd4pYiZJTtm5LpxezDV/Hp?= =?iso-8859-1?Q?XKvznPpzZQHJvK3kPpO42JqwMRxOYh+Kj/M+oa6logvMdS1KX2Mod7Nysq?= =?iso-8859-1?Q?Jz9BCfbPDSPxdfAuPlo2NvghQwjbqwzgfa1ZbGkrbjbyIIYy2HlV+ZdN40?= =?iso-8859-1?Q?3KSnaOKLdnFSOl0MV4EhuKH5cHAt2ZkS4LzZmzAX+BmynuAmfv7sw2ZDi2?= =?iso-8859-1?Q?X7SqqLvaZ9JdENV/zJX8VUdlOpR8q9Wc4j8jKFYCHsWla2+KNYkTOxHAmx?= =?iso-8859-1?Q?VGxEyFYmMijMn4aO/jcuJx+o1UIafiAp/G7lVyALJcPBuOWPMWYdTcOKU1?= =?iso-8859-1?Q?g80dKow5wVSasoWLZbsG7VeOicrKBWmPGXM0gcDpsJtBJi9dP99tcBU7b4?= =?iso-8859-1?Q?2HweQ31Uj1JxY2wxZ9WPtdoGmjza8q32cnGoqSUWlGDKmQM+H2AXPgneJ4?= =?iso-8859-1?Q?Wq2iCMJ6I4h3a+yQAbp87UcJ/tGQLE19AfuKTByHPlBp/Af+CYbX+mAsrf?= =?iso-8859-1?Q?3/JljRhf9io6EUutRYCvwVjF8LhvxUxTg5381MMBfdu0VngGTlZBJU2p45?= =?iso-8859-1?Q?xiK0B9lmflLYm+34ygA8HxdzIMuEv98KQrV7RuKmnzmAB51M4+VptVNCij?= =?iso-8859-1?Q?tVVGMqTU4pIMtfy5YvT/G8NQAzDZEBYsSx4a77YZVgBY6scGPibu+2l+xC?= =?iso-8859-1?Q?ZJ21TiixJiJkbx5gX+SNY9jmRsLncKpDYD7dJ04w5TUDtl9VLpkRF5xsmd?= =?iso-8859-1?Q?rOjZ4mKK/eyA0OJYw9pJRNJZjKrmuOtzJgMQUoETXL2SiVekqhJ6+tXNEL?= =?iso-8859-1?Q?nvwoqomE9PH4AFYZR3sdsEjcJsT6QY2HM6ovReHrTqJz41B9ahESmPOmxc?= =?iso-8859-1?Q?wajmwkiE+RjoRlTIvXv4IPP047lgY/yC0NKlmiHZknrnn1D9WtJQcqXcbU?= =?iso-8859-1?Q?cJ8sQ0YL21uZ+Z53O3Z7xud836qgny6gr/XwcgdBtTtnInGinspsr/qupN?= =?iso-8859-1?Q?6b2pcJG8xekFlhwu3Yo+Wekd9GQyBXI8Is06Emk1udJ1Cu9nUpPiP8dED6?= =?iso-8859-1?Q?gfMdk4msGHC8qWiWEtd4ULlmt0v5JpPZ4fCfwn1gmTfEkySx8PJixq6cfp?= =?iso-8859-1?Q?/0dYSMVQtP80yAp5e5nPDWEAtkNw4DNs2Eqlwnkq5+NUxht1IxW+WsHUAp?= =?iso-8859-1?Q?YWFr+H5kD1jxkvh4MIotAMZXOu6B6GFY/VbqhA+p8xVCEFiIdYNivq+aha?= =?iso-8859-1?Q?ArN/xdv4Xou6hhFtMNq+VwyLAOneqXPFBO/ykcSTsXjkvNE3RmszWIq8yn?= =?iso-8859-1?Q?MoAMeQLHuAcbbI99AYReoTsSu1IeV/1e6mYgTqXsWBKGRU3b+emzJcmiKF?= =?iso-8859-1?Q?BRTwR3oUalIA+JG7APvPGckkMMbb6kqocusuJ3+62cy3kB2w4RJVZrdlcQ?= =?iso-8859-1?Q?kSe/P0K/sKXVTSa+V/K6YwxYLfcNOCE/6patn3WsztpNEr4jk/wHppmMIA?= =?iso-8859-1?Q?ygcNvREXh+z5tTZzDQ7FTpbb1mGWDk4kb1bcRL1kBvL77/DeWuNs8G7nmm?= =?iso-8859-1?Q?KLPRU9QUWr94bhtci8IJzl/JvfUXsR9X1gAVSQKfsWrDeKVQoERqTdM5g1?= =?iso-8859-1?Q?YN9K1kYaU0GYj7AfqD9smnTqJJONr/O3YX06o2FNxux+9bEm/uGMnLWlIS?= =?iso-8859-1?Q?+HmKGTssXW0Oz/iwe8o=3D?= 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: 0fe63d12-dfae-4dcb-c16a-08de16d9281b X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Oct 2025 10:51:46.9195 (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: gACJ8mQOsVZ4KS1NhUfLwSd9zu490yCFTh5SaiTwf7Li3tjVPo0vyagWlFg7S/5J8lUyWEMitS/KevT61X1ezw48abtwXlWIUCNz4FWWG5zCw1yuOrB1TmmJIV5tEJ+E X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI0PR07MB10962 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, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, 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: 1761735256334154100 Content-Type: text/plain; charset="utf-8" Signed-off-by: Clement Mathieu--Drif --- hw/i386/intel_iommu.c | 45 ++++++++++++++++++++++++---------- hw/i386/intel_iommu_internal.h | 6 ++++- include/hw/i386/intel_iommu.h | 1 + 3 files changed, 38 insertions(+), 14 deletions(-) diff --git a/hw/i386/intel_iommu.c b/hw/i386/intel_iommu.c index 38a9c87da5..7b76a8c3e6 100644 --- a/hw/i386/intel_iommu.c +++ b/hw/i386/intel_iommu.c @@ -2824,8 +2824,10 @@ static bool vtd_inv_desc_reserved_check(IntelIOMMUSt= ate *s, =20 static bool vtd_process_wait_desc(IntelIOMMUState *s, VTDInvDesc *inv_desc) { - uint64_t mask[4] =3D {VTD_INV_DESC_WAIT_RSVD_LO, VTD_INV_DESC_WAIT_RSV= D_HI, - VTD_INV_DESC_ALL_ONE, VTD_INV_DESC_ALL_ONE}; + uint64_t mask[4] =3D { + VTD_INV_DESC_WAIT_RSVD_LO(s->ecap), VTD_INV_DESC_WAIT_RSVD_HI, + VTD_INV_DESC_ALL_ONE, VTD_INV_DESC_ALL_ONE + }; bool ret =3D true; =20 if (!vtd_inv_desc_reserved_check(s, inv_desc, mask, false, @@ -3973,6 +3975,7 @@ static const Property vtd_properties[] =3D { DEFINE_PROP_BOOL("x-flts", IntelIOMMUState, flts, FALSE), DEFINE_PROP_BOOL("snoop-control", IntelIOMMUState, snoop_control, fals= e), DEFINE_PROP_BOOL("x-pasid-mode", IntelIOMMUState, pasid, false), + DEFINE_PROP_BOOL("svm", IntelIOMMUState, svm, false), DEFINE_PROP_BOOL("dma-drain", IntelIOMMUState, dma_drain, true), DEFINE_PROP_BOOL("stale-tm", IntelIOMMUState, stale_tm, false), DEFINE_PROP_BOOL("fs1gp", IntelIOMMUState, fs1gp, true), @@ -4823,6 +4826,10 @@ static void vtd_init(IntelIOMMUState *s) vtd_spte_rsvd_large[3] &=3D ~VTD_SPTE_SNP; } =20 + if (s->svm) { + s->ecap |=3D VTD_ECAP_PRS | VTD_ECAP_PDS | VTD_ECAP_NWFS; + } + vtd_reset_caches(s); =20 /* Define registers with default values and bit semantics */ @@ -5300,6 +5307,29 @@ static bool vtd_decide_config(IntelIOMMUState *s, Er= ror **errp) return false; } =20 + if (s->svm) { + if (!x86_iommu->dt_supported) { + error_setg(errp, "Need to set device IOTLB for svm"); + return false; + } + + if (!s->flts) { + error_setg(errp, "Need to set flts for svm"); + return false; + } + + if (!x86_iommu->dma_translation) { + error_setg(errp, "Need to set dma-translation for svm"); + return false; + } + + if (!s->pasid) { + error_setg(errp, "Need to set PASID support for svm"); + return false; + } + } + + return true; } =20 @@ -5310,17 +5340,6 @@ static void vtd_realize(DeviceState *dev, Error **er= rp) X86MachineState *x86ms =3D X86_MACHINE(ms); PCIBus *bus =3D pcms->pcibus; IntelIOMMUState *s =3D INTEL_IOMMU_DEVICE(dev); - X86IOMMUState *x86_iommu =3D X86_IOMMU_DEVICE(s); - - if (s->pasid && x86_iommu->dt_supported) { - /* - * PASID-based-Device-TLB Invalidate Descriptor is not - * implemented and it requires support from vhost layer which - * needs to be implemented in the future. - */ - error_setg(errp, "PASID based device IOTLB is not supported"); - return; - } =20 if (!vtd_decide_config(s, errp)) { return; diff --git a/hw/i386/intel_iommu_internal.h b/hw/i386/intel_iommu_internal.h index 10a452c0dd..79212787ae 100644 --- a/hw/i386/intel_iommu_internal.h +++ b/hw/i386/intel_iommu_internal.h @@ -193,8 +193,10 @@ #define VTD_ECAP_PRS (1ULL << 29) #define VTD_ECAP_MHMV (15ULL << 20) #define VTD_ECAP_SRS (1ULL << 31) +#define VTD_ECAP_NWFS (1ULL << 33) #define VTD_ECAP_PSS (7ULL << 35) /* limit: MemTxAttrs::pid= */ #define VTD_ECAP_PASID (1ULL << 40) +#define VTD_ECAP_PDS (1ULL << 42) #define VTD_ECAP_SMTS (1ULL << 43) #define VTD_ECAP_SLTS (1ULL << 46) #define VTD_ECAP_FLTS (1ULL << 47) @@ -413,7 +415,9 @@ typedef union VTDPRDesc VTDPRDesc; #define VTD_INV_DESC_WAIT_IF (1ULL << 4) #define VTD_INV_DESC_WAIT_FN (1ULL << 6) #define VTD_INV_DESC_WAIT_DATA_SHIFT 32 -#define VTD_INV_DESC_WAIT_RSVD_LO 0Xfffff180ULL +#define VTD_INV_DESC_WAIT_RSVD_LO(ecap) (0Xfffff100ULL | \ + (((ecap) & VTD_ECAP_PDS) \ + ? 0 : (1 << 7))) #define VTD_INV_DESC_WAIT_RSVD_HI 3ULL =20 /* Masks for Context-cache Invalidation Descriptor */ diff --git a/include/hw/i386/intel_iommu.h b/include/hw/i386/intel_iommu.h index b2f1ef9595..9da612b671 100644 --- a/include/hw/i386/intel_iommu.h +++ b/include/hw/i386/intel_iommu.h @@ -267,6 +267,7 @@ struct IntelIOMMUState { bool scalable_mode; /* RO - is Scalable Mode supported? */ bool flts; /* RO - is stage-1 translation support= ed? */ bool snoop_control; /* RO - is SNP filed supported? */ + bool svm; /* RO - is SVA/SVM supported? */ =20 dma_addr_t root; /* Current root table pointer */ bool root_scalable; /* Type of root table (scalable or not= ) */ --=20 2.51.0