From nobody Sat May 30 17:44:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass(p=reject dis=none) header.from=nvidia.com ARC-Seal: i=2; a=rsa-sha256; t=1778614603; cv=pass; d=zohomail.com; s=zohoarc; b=Ius+atBJJeaZUb0rrAx5B2tsQTuZXDK/dQxdnNlG1Vx3F3cCoi9vsSAbmBV61+6rB/laKl085CO0T10YqObfR+EKbQ41hMrf6fP7P4Dlk8V6s0FZYyeZUgxME57hG2mUnQPqZslwRCd4B6Vvn+TS55siqQ9utQQDbO5vQwwXQfU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778614603; 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=6ZrUieR850jO6Vbu4iueXwgHL7P1/0rQXBV/dc4DN+E=; b=bK6zc4j8hPekERCCmWL3qTcavYmC7Z/mG73SlswTx/QbwViLG8p2tgp1hkQ45BqSB7EROUFxsDv6BC8YYx8H4ax/zei5EoC//qnaKip7DGmHbzgG0xbxhXsrIRo+S9CVInU2Uru/uwW2AclbWYDQDHM8eyNGl/si9P/XOqFOUcw= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778614603826459.7509908678578; Tue, 12 May 2026 12:36:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wMstY-0004QU-VS; Tue, 12 May 2026 15:35:56 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstV-0004Ph-9f; Tue, 12 May 2026 15:35:53 -0400 Received: from mail-eastus2azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c110::3] helo=BN8PR05CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstT-0005nm-Kr; Tue, 12 May 2026 15:35:53 -0400 Received: from DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) by IA1PR12MB6018.namprd12.prod.outlook.com (2603:10b6:208:3d6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 19:35:42 +0000 Received: from DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5]) by DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5%2]) with mapi id 15.20.9913.009; Tue, 12 May 2026 19:35:42 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RNgcg/kzEnrnE6kbMnGQOzT9mwXa3K2vQzPG3VZG9uHAQPzQ+DfT/3U32funzdESkoFnKO3NGfnBSb9JtbRvOK7f6WDwD+1FHKtOiKaagquzZOAFSZC/kDCIc0pkyaPMj32Sk5RcgDhsYKTbnnWdVYWyWWsnnoK+olqIvZduONuAk33bCFUpGlEp+cxNZNnJcevpSDdj7Teyx4kEMwflBHqQ0lLQNCF9yHePCDONIl3cM9h4OCJYlt4madzYqD/BMjrH9R+891byjphliZsVC7xwX7xKj092Hi3KZUI75QtCQV/im3/dloWjbguMhcj27h95Ii6xKf2MnU5ArFNrVw== 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=6ZrUieR850jO6Vbu4iueXwgHL7P1/0rQXBV/dc4DN+E=; b=wz1CvNpAwbYBzKzoMXMJW6DVoqBIzwLCceehUtP4RD/4TE8tL2TS1JemwVd5xvoZuha/Wrg7BPaapl5xIWhDH3BLmRBg/cAF2xG6iiJJy712H0HM4bq9DDvKIVgCGoUN3TLYYW62vNDKtHxiFxeOi5+VJTax1y2AGNrPGyocY6LR+nvF3OB8A0WEGBnWRxEKh+D60FOcAtm8KZaXAU+JZuZn0UdQeVMx6AQdYSYE21Rk8lLOGIjiPEs2mSoFqLAOErJEEGwkvAF46s/H7ER5A3Pz4iOlr7UlcVDluHDYRszGX9EULsqvNQ43LoRaJGhiUcMgr07sc2VBg00Or9ehXg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=6ZrUieR850jO6Vbu4iueXwgHL7P1/0rQXBV/dc4DN+E=; b=qCI+gO7s+nqN2ozQPlyI61Br39GoL9101Wwe0vGwKIoPUytyojbyptInv8md0bxh20qtvz4BUag5iEOjJ4PoOYOf2K9QbiGo8Oohws72lCl0KgzZAvMbvIaVDfGi58lCnozlebvj04PXNHQuqOs8F80zFHAf6W+zAgDGkRKmOPMyhn5m1Q+N9PSFYcNlcqD8hba24MhwrZAGDqOIa5N5gnCgJrIO8hASfy77DnxwJ9BTtl3bDUF0t9Y26VDrmzC0HRHSsKzzCmT88LqoJ84y5s42Odcp9mkXJmHJUwPtG0UEu/ZA8se4C7Ekwc/ZZmbyUIfEpllbPmLQLDfXC5Jc+A== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; From: Nathan Chen To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: Eric Auger , Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen Subject: [PATCH v3 1/7] hw/arm/smmuv3-accel: Add helper for resolving auto parameters Date: Tue, 12 May 2026 12:35:14 -0700 Message-ID: <20260512193520.3109172-2-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260512193520.3109172-1-nathanc@nvidia.com> References: <20260512193520.3109172-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0332.namprd03.prod.outlook.com (2603:10b6:a03:39c::7) To DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PR12MB9567:EE_|IA1PR12MB6018:EE_ X-MS-Office365-Filtering-Correlation-Id: 4c3809c1-87df-45e3-0746-08deb05da77f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|366016|11063799003|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: ggZmtRU7c1bmOpEmvizqt89/e/QtjvLuYKjoU6qYU/8/atrpm3PKIAtp8cIQbYBsyWG8Z9C4inrR2sIOsd8aMeT6H/ig9HoWtvBL2dUOer5EhGj6RqGea8PspujAd0PFhEx+UNcFwdfY+DjJOaF953wQtrDUB0+g73qgq4RBWoLhvmv4MefWSawaefq4yDAT39TBGMn8MQ6iuXNbRxj7d84jxaScYwQgJUl5M6Jmrqw3Zg5Mq62xrxtGg2slmmSzcSQMgLBg/kJZ/Xn6HdSC1qFfyiui16NS/z1dWYoYAERN+zsN3/tyr3M2NcCBaCFzRWRh19TeS3CmTkgfPyk55zBIyLkUuGnGllG/CgYt33qVWZZxw99VO2OrYz/ukjZ5ur7P6TUDpM8yNaIy29SI/qbQvBx2yUsOjaiLqAi+GHlQEwcloqKiV5QOnLBD287xu2Xm37hZXk4tFmDLrcE3Owsp4qcSE7kWfOeakIVC7UUQi9pXk7c+HYdALhf5R9OM1LpU0AzcBrHzpBuTkyoQf23Q3med2bnakG6pB4yoNStLy3C+KH29BB84/Nybu5tnlEeP+is5RikVKm4jN/dCGidNLz4Gag5MmPjrLVFloHd5G5L2OfqeetWTYbIY9P/fPv61wr9Om5mOYR8BIQlqDdkM/MeefmPjZsRdJI8OwLjPOAwjthu4wHeV5VhZNdMk X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS2PR12MB9567.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(11063799003)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?oFWCv/AUPYPFjy+Ru2S/mEyHQuccCPzibp97D8u0Vx0X5DayifLRwblLScJ6?= =?us-ascii?Q?eb1wDmNsVXNMc9WZ48hboV1OXut5eOgeDCyX/PN+txfeLUI/ZNPqEzfzQhr6?= =?us-ascii?Q?19mZkp/INtFZbfwIKkYPbc8FE5GlcANl72C+RymKABnxiv6Ebv4MbmkHhFg1?= =?us-ascii?Q?xoqvpbbjtesrVmk72XseRwS1WCQH6hxmWMw2pY4W5WSfDT1oyq0uYOq/cH1O?= =?us-ascii?Q?AXaWazfDIo+JBFDi45+YyVt9Q9dDT+9lcubRaTzlcCdqRYXNcraJyiyeYwF/?= =?us-ascii?Q?/7gkYTZon01wsiBgn3ZMwLxsiAl1FWLJKrAUgtHm49zFYFI3RAozBlCp6OQG?= =?us-ascii?Q?dlfyAmaefH8T4msFWW5EbL6IL3zAwPGmzAlrqpTBWBH9eU8Q3xJtf14YbRw7?= =?us-ascii?Q?88iETG1WnQrxrX82eOD2liCd1ZUKNuIDbrLL6oruQi4AIksNdE/deAXWwhyJ?= =?us-ascii?Q?ACSOkTKkTAFpGfA9apqLH8Um5aVwG8F/jMtNnMUpnzJ4UR5IF86OjpBr9kxr?= =?us-ascii?Q?tPTeyWgb0pEEv2ihzT+3j+MqoaE4vbCag7ZwZay5J22DPfuu6q4p0VUMvg3Q?= =?us-ascii?Q?eugJs8mIQU6u3XFpI+PDoIa8V5I3gqGfhZbPJbhagnHygyJJNXFB2XMAt/Eu?= =?us-ascii?Q?uqTWeDqGr39eH3EXGOxae3hLnQiK5jtRK6s/X5i22iDgYDM0tltDZ57DPnc6?= =?us-ascii?Q?PgGGCl9FJEGdi6yvcqPJVLc1LX90oy44XTsS6xh3O2xMSo2fkx1y8SUK9sPe?= =?us-ascii?Q?vjTjGSbbsYj4U47hFYGuh3QRkuyV7UrUPneYbdy18wLalb4UyyQy0yGQUxWR?= =?us-ascii?Q?k9lUleCyTr7kHVzi1cfEJDY57U14nMmHDMeJ5f1Zl24DigI77uD76QsoAAPo?= =?us-ascii?Q?M2bnY+gKf2ZE10xUjcnF02CWTZCGBe/4Eh2HzOlzj5mreDaozh+UyNaasGh+?= =?us-ascii?Q?ghAUAHOvNOGdkGattmAB5pZ6S/khh9jiGLvj6qukHt/z0Ibg8/H7XA+UVQDl?= =?us-ascii?Q?rbmLG5ablYLflQlmExlv6l4t6Bz4LAQ35dljeivdGHIohPn+4NBu/0tVtLcB?= =?us-ascii?Q?kxs+IfzLzgmDbRY8Tw45VQ7SdQ6BIV9zJ4HWjTzIiAwinXZtMuOS+MzR2Tdz?= =?us-ascii?Q?zkL3V7SJUgvoOLb3re+oihtb4AiAZ8GcL15oFEphNinC2ANh6J385r1Z0rjh?= =?us-ascii?Q?hQ3AlgHeXuEGv3lh/RFBGLGpXQffzggNfuoIGDHaN0HUo34KVImMBOgr/xN0?= =?us-ascii?Q?/h8h01ZHLFgFxxB4jCHRvVkcRIn6SLn9FeteKfpdkWykmDBSu2tfaEfwvIRT?= =?us-ascii?Q?Qx/7zU1dy/B5pH+M14IfqiunO2K7avP4U9ChXVOUunnCQyT+/vD/HGrE69xz?= =?us-ascii?Q?Tmd6UnVa/z8hC6Y91kQk0o2SHSAWw65KqmSrEKoY6E4wmk7fJ9wJSYlaNSkc?= =?us-ascii?Q?gmwYjnMmssqc9VZdEj2DF9kw021k0jwOCp1gHm0DF3D4kkcKhlRj0vsb9omo?= =?us-ascii?Q?y63Tfwl//VHAFMgkuy8L0zJNmN/Dg0/xZAybKBFm7mHERnMHN5QF6SczCHKe?= =?us-ascii?Q?7OIAEpO83wF2YhOrjC+USwLb1Q63Z16jyccOgMU4wBLoquzVua7EEz2V8uDm?= =?us-ascii?Q?aIZcNIqM0/LCQka7Kk6E8aClE3ZtZ9CjbNgc6CBQV1KSqIEoUdhm4oj3T6Ur?= =?us-ascii?Q?ENMR3x0SOhmC4WZSteusSF3y+qjuIc+q8RHZlXfmbWOZfHHtwmA6aDuTkuZr?= =?us-ascii?Q?Ss8z0zUXFg=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 4c3809c1-87df-45e3-0746-08deb05da77f X-MS-Exchange-CrossTenant-AuthSource: DS2PR12MB9567.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 19:35:42.4214 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0CQAl3orJZDChuV8TDodUk1PCYtLyighPwc9U5hf7VLRPimKHiaOd3Fk+QvoHYDEVwxQuqiNXl9lV5eeJ2q8UQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6018 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=lists1p.gnu.org; Received-SPF: permerror client-ip=2a01:111:f403:c110::3; envelope-from=nathanc@nvidia.com; helo=BN8PR05CU002.outbound.protection.outlook.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @Nvidia.com) X-ZM-MESSAGEID: 1778614607473154100 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Introduce smmuv3_accel_auto_finalise() to resolve properties that are set to 'auto' for accelerated SMMUv3. This helper function allows properties such as ats, ril, ssidsize, and oas support to be resolved from host IOMMU capabilities via IOMMU_GET_HW_INFO. The later commits in this series set the auto_mode flag to true when an accel SMMUv3 property value is explicitly set to 'auto', or if the property value is not set and defaults to auto mode. Setting these property values to 'auto' requires at least one cold-plugged device to retrieve and finalise these properties. If the auto_mode flag is true, register a machine_init_done notifier to verify this requirement and fail boot if it is not met. Hot-plugged devices into an accel SMMUv3-associated bus will re-use the resolved host values from the initial cold-plug. Subsequent patches will make use of this helper to resolve 'auto' to what is reported by host IOMMU capabilities. Suggested-by: Shameer Kolothum Reviewed-by: Eric Auger Signed-off-by: Nathan Chen Reviewed-by: Shameer Kolothum --- hw/arm/smmuv3-accel.c | 44 +++++++++++++++++++++++++++++++++++++++++ hw/arm/smmuv3-accel.h | 2 ++ include/hw/arm/smmuv3.h | 2 ++ 3 files changed, 48 insertions(+) diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c index 862be814a0..82c0800f4d 100644 --- a/hw/arm/smmuv3-accel.c +++ b/hw/arm/smmuv3-accel.c @@ -18,6 +18,7 @@ =20 #include "smmuv3-internal.h" #include "smmuv3-accel.h" +#include "system/system.h" =20 /* * The root region aliases the global system memory, and shared_as_sysmem @@ -35,11 +36,32 @@ static int smmuv3_oas_bits(uint32_t oas) return map[oas]; } =20 +static void smmuv3_accel_auto_finalise(SMMUv3State *s, + struct iommu_hw_info_arm_smmuv3 *in= fo) { + SMMUv3AccelState *accel =3D s->s_accel; + + /* + * Return if 'auto' was not set for any accel SMMUv3 property, or + * if property values were already resolved from a previous call + * to this function (e.g. if this function was called again after + * VM boot during device hot plug). We do not accept new property + * values in this case where auto_finalised =3D=3D true, and we re-use + * the values determined from the initial cold plug. + */ + if (!accel->auto_mode || accel->auto_finalised) { + return; + } + + accel->auto_finalised =3D true; +} + static bool smmuv3_accel_check_hw_compatible(SMMUv3State *s, struct iommu_hw_info_arm_smmuv3 *info, Error **errp) { + smmuv3_accel_auto_finalise(s, info); + /* QEMU SMMUv3 supports both linear and 2-level stream tables */ if (FIELD_EX32(info->idr[0], IDR0, STLEVEL) !=3D FIELD_EX32(s->idr[0], IDR0, STLEVEL)) { @@ -918,6 +940,22 @@ static void smmuv3_accel_as_init(SMMUv3State *s) address_space_init(shared_as_sysmem, &root, "smmuv3-accel-as-sysmem"); } =20 +static void smmuv3_machine_done(Notifier *notifier, void *data) +{ + SMMUv3State *s =3D container_of(notifier, SMMUv3State, machine_done); + SMMUv3AccelState *accel =3D s->s_accel; + + if (!s->accel) { + return; + } + + if (accel->auto_mode && !accel->auto_finalised) { + error_report("arm-smmuv3 accel=3Don with 'auto' properties require= s " + "at least one cold-plugged VFIO device"); + exit(1); + } +} + bool smmuv3_accel_init(SMMUv3State *s, Error **errp) { SMMUState *bs =3D ARM_SMMU(s); @@ -925,5 +963,11 @@ bool smmuv3_accel_init(SMMUv3State *s, Error **errp) s->s_accel =3D g_new0(SMMUv3AccelState, 1); bs->iommu_ops =3D &smmuv3_accel_ops; smmuv3_accel_as_init(s); + + if (s->s_accel->auto_mode) { + s->machine_done.notify =3D smmuv3_machine_done; + qemu_add_machine_init_done_notifier(&s->machine_done); + } + return true; } diff --git a/hw/arm/smmuv3-accel.h b/hw/arm/smmuv3-accel.h index 407940616c..87fecb5c68 100644 --- a/hw/arm/smmuv3-accel.h +++ b/hw/arm/smmuv3-accel.h @@ -25,6 +25,8 @@ typedef struct SMMUv3AccelState { uint32_t bypass_hwpt_id; uint32_t abort_hwpt_id; QLIST_HEAD(, SMMUv3AccelDevice) device_list; + bool auto_mode; + bool auto_finalised; } SMMUv3AccelState; =20 typedef struct SMMUS1Hwpt { diff --git a/include/hw/arm/smmuv3.h b/include/hw/arm/smmuv3.h index 82f18eb090..fe0493c1aa 100644 --- a/include/hw/arm/smmuv3.h +++ b/include/hw/arm/smmuv3.h @@ -74,6 +74,8 @@ struct SMMUv3State { OnOffAuto ats; OasMode oas; SsidSizeMode ssidsize; + + Notifier machine_done; }; =20 typedef enum { --=20 2.43.0 From nobody Sat May 30 17:44:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass(p=reject dis=none) header.from=nvidia.com ARC-Seal: i=2; a=rsa-sha256; t=1778614622; cv=pass; d=zohomail.com; s=zohoarc; b=Sg4QoluLng0Uqwf7jiublcktO4ZMWlD0fUL6uVhOmQQlVvRvt+jGLryu5tm/tUMUt0jr6f7qcOMjGxDUx7YhlmRika8e+sxGhN4oLADawP5nMTVJ835oInOwIt2dVMMxWX5MvEuGKh2gULxHcvMk4C+E1rfUBqijbCPwY28+keA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778614622; 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=PkZ+rbB8L77qcfJR+71L0SjzY8/C7UWOQOnO4mwZmvo=; b=b7ygE7FfppacQAcKNfbNkN0UcB1J34WBcJ73MafMiLjokMAEF4UF3+GVwQ3ZCY/M7nJC6Gl+VDUgTIHaYAgXBWm+/AFfgO7C+3Kx3Ukp7B+hwnFhVDiZMtoi1HGQjvy34L/MwnGziAOGDw8sYO4sDyraKjCPWz/6nSpLWDhBEt8= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778614622130175.27876041300203; Tue, 12 May 2026 12:37:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wMstl-0004TP-C2; Tue, 12 May 2026 15:36:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstZ-0004Qt-6D; Tue, 12 May 2026 15:35:57 -0400 Received: from mail-eastus2azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c110::3] helo=BN8PR05CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstV-0005nm-Ra; Tue, 12 May 2026 15:35:56 -0400 Received: from DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) by IA1PR12MB6018.namprd12.prod.outlook.com (2603:10b6:208:3d6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 19:35:44 +0000 Received: from DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5]) by DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5%2]) with mapi id 15.20.9913.009; Tue, 12 May 2026 19:35:44 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=rv+QZQSKqse4Bpry27WNfqiI9ngk6ZSErSXsMmf4hv0am5UeOM9yCbCNqwWCfJdNUikO7OQzF/TVrRkljZMXXLPWN3tQdTciG8ZAiGgnQypkn6BLX494QKpSs2ubaciJFcCD5FQkbKPMg8KfRCLD56f/tVfo4lMHKXOM1hv9Yxf6oVeWrn5mKgw2+LA5atAXPK97yN22xmYTvFW9jljesCqLoArLw6upnDPN0tEjEI6T49HI8oRI67WaMFE8tvauQoKZiqZ1dyrtfJnhaIeSx9xps7bBePz5hBK1huAlZ2SYHaOGgB9DmXyRyVJx/2aV5VzM8L8qIBaIIKSiT6SycA== 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=PkZ+rbB8L77qcfJR+71L0SjzY8/C7UWOQOnO4mwZmvo=; b=XD6aTOpVA2vffw9Bga+/10QPazYfIgEsH/Tk612Bq0DtKazd0BBsI4n0fOqoqbMVn+C7hxAKB791/fHvInaJsSUayyh6PCbBZx++/G0NwgTCow6k+RNlUbn99gRJvCrmP3sKUZ3zOw6ZyV5r7v1Q6y3TxnTzKweH7HDB5yx57o56LSuzGJbeqxsO5NQtjdZYO6vS7uV0RB3ffbrR8KNVh3x+sn+zqTEQT3e9OsvShdNWxV2ZxkyOb1oOfM9taQSbur+DKte4TrFeteJFmwBEosaFDeoaP+qva3m7IMI6wfmwAeWdSyphcntggfVYNg909Pq6bci4IxqAFwbco0Cbiw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=PkZ+rbB8L77qcfJR+71L0SjzY8/C7UWOQOnO4mwZmvo=; b=oKUYcj/pV4ToKiOxfz+h6GbxlabzK+E3tNQ2WqcDebfrsGuKqlMV000IBMm8/OYQ9bURbfs8kBfyQl1Gn4zpDUHa/zQzjpnCcxwxslXs62sc2OwdUE7ndYqT9IIv/1MnMe478kUgIGBYNh2DWpx0AOEKjPyACk3JYMvWwvA2bEG1iL7SyLZmYeAoLA/cvkBzLmEqFMVXEIueUqtBE2mlxffWGLnqZBS8uETuYSYWeBSvOakS+8MXLZTbTaw6W9WXSO9DD6VyLfsuroUWQXI5OdMSKoPoNuQkfaImZZmGaYEJKH6ou/fFg94m4m0Hg6/+r5Psuh+dlGDxTwoUOf5LLw== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; From: Nathan Chen To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: Eric Auger , Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen Subject: [PATCH v3 2/7] hw/arm/smmuv3-accel: Implement "auto" value for "ats" Date: Tue, 12 May 2026 12:35:15 -0700 Message-ID: <20260512193520.3109172-3-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260512193520.3109172-1-nathanc@nvidia.com> References: <20260512193520.3109172-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0213.namprd13.prod.outlook.com (2603:10b6:a03:2c1::8) To DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PR12MB9567:EE_|IA1PR12MB6018:EE_ X-MS-Office365-Filtering-Correlation-Id: 79064718-bf52-4f13-2825-08deb05da8d2 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|366016|11063799003|3023799003|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: p1fWo4NLUKH3L3RtXBppgPD62+zROANOG8+IoztT8PVkhvkSt6XQn6JTtBAEN4Ntke0+1MROOm0Lwh/Fa1EFVRJ94mMcPzji8HTJzKwu82vdVMVll4McU0hYWcdIHBTLnHGfBVMiObAOYxLLefTRCUIstzWssXFrXh5loBEAhk07vpo7WYqxIiIu0tSD9cMxf4vBTNl5Zn8CLbhX1O2vbdj08LVLC3O5NIzI/IqQnw16dY3PxQfh1OatItTq7+ga+Y3Fs518EZz0AW91rFt1iOLH9DxaF/gvL8jdTGjsHWm3kOaGoOEdhqL0Uj05N8RIaL9VIUo9c63qz523qfbG2zg0l3yWNLQwHvkzTiJssBQPv+H1Xk7tpeTNEAxptwg0H0dIW8MAmlJgh78zD+N23fWxupLd27wLBseIENEJ9W9wfLlxpabtuPzETu/WuaVIXEZ1dZfJwGh13Z/QWqJ4d4ilujeZShP1thOs3l4kpArcrKEM/CiebKiPIplwKMldD6webVdL61Mk5bA7x0Ruhbc5F5/RZmIqjh4k7ciVjHeLTF+vGMbttwILcKgvasey/Pmu8hWa3IJnfXdDF0oALInGNA7lCQIVX4V1OLwMGH19YsXKb8z4kCBJjMwx4nUyolkfy+CeYK1i5blwj8im8yS8noZ6xF3hJoQms9sNM5YJIOP7e+8plF1dpj2UXOXA X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS2PR12MB9567.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(11063799003)(3023799003)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?lPH9hhF3f7R76eG1GJFvuGLd7m/2o+tW7f5viW65n3nPYuTNYnOS4yiYFtvs?= =?us-ascii?Q?oi4ZYTVsfcsjZpVVrAoXsWCbzawoRCTOHCJft8whF6ZM2OnVI5PtotvuJvp5?= =?us-ascii?Q?VWYL1mNS0y1fUSZzYWG6lva8VIp9go7V/hVm6Z/tQHzdH3+lutJ1uwpCZQ0s?= =?us-ascii?Q?Dw/4gl4IVhkqoLNWRvkSZlumr47xatNnvB9QwqB/xDQD2HFbeF3QigP7SQfs?= =?us-ascii?Q?Mrz6uJP4yRm9uab3PmLzJstQ9A+RfBCXM0n/RKlATQmu9JUYZZJUwaO3uvqx?= =?us-ascii?Q?pEDM9y0KRfktfuAfFXAUnyg3XfFuCw49T1c+NAwCsYishf+oJz2oDskngi62?= =?us-ascii?Q?GLG70ZJjRDeC2DgF68jRTNQT77uPVVFwjQPDlwM4LKzwtv2X2GTTA27RXg77?= =?us-ascii?Q?LK+2jFJg+egSeXKYz+x4S2H28rGFKR7ouvQTEClWepC4K8AadU0IT1l0ABrT?= =?us-ascii?Q?t6iEyaH3xPJ3EDdoXz31CrsdPYU8X4Kkp6L+EFV2pErjHDgCu4It3wGJ59L6?= =?us-ascii?Q?ul9B78IOz6avwIyEoP1aJtrhIr8wztX+sp/0W5pNcBHuDJmw/8LCp3OIAHJX?= =?us-ascii?Q?rhkKSTiih3UMK6XkQH3lPX+Ozi0XykOwOqs4LmDuFvoCEWSh0Iw9gpsVW5+j?= =?us-ascii?Q?Lizrgnmlx2xlidMku8CxbOaeA0piDjVYj9RB96MKUsMmXNk6D5aiqWwz9WUm?= =?us-ascii?Q?VzbGwTqTr3T+4uELZjFHptLiDJwaRS/Pq0+8fnnCZ0E1wp6p5PMNJmFEc9v2?= =?us-ascii?Q?NglvA8Z00u3ir4/el9wMQaU2khB6mBM8wynqLRgRV1k2aGLA0+gEuSdORboY?= =?us-ascii?Q?0T5B96f9zVZyv2HNA8rTMpBwpU/5mk7y5DBZoydrEqjPpBY0JKIT/Ks9Y96j?= =?us-ascii?Q?I8Hz6z+qPZ787GyVKFJK117hZjeoRqPfTXcTUxLKf4cbRlWRSFxxR8C6ie+d?= =?us-ascii?Q?0YGJrFofqC1R35Ro6kjYN5IHEPNtxqvurcnvwoyzFty9qkeNvWnh2KhNqM/U?= =?us-ascii?Q?gbYXfFQd3zBWszwTGi1IIqDp7thGTERw+prOIXa85A/UPZDYBrbdUXT5tLes?= =?us-ascii?Q?7laaJQ07s2AcmG0mHnm0qq6nzD4eqSgpX/LEbe33AyJod8q6X/+AP+e9i6Ow?= =?us-ascii?Q?Sn8rkZWwWNrKbXS/HCp9XVvU8H+XB54IUaD5cN7riQQWbivrmAEUCOEILhPR?= =?us-ascii?Q?/zCZIxj27jMTRzfiCRbyNw2PckJVkIlkx8Fop5Rp6qEFmzl9R5O2gizu3DyF?= =?us-ascii?Q?pPhdtCwwTio/3ClaLaTXw6cDjIJguw3Tsu8LMcNcTwLGUJf6G8Qs+bPe/bLx?= =?us-ascii?Q?kCOljYOD3l9E2u4hWIAzzsIP2m40SCp6hT2yx9jbD6rbmmLs1f8Gpykeluu4?= =?us-ascii?Q?F3IixQzVDzsY+qbk2scYtWhISi+4L+ahEu0My0Fgf+5b0bO/2eM11QLW4WAq?= =?us-ascii?Q?6KwCJJcwQ+w3h/woUADUzjrOcwUT+Ufot3F0vnv4E/xUogLaBS16IQzGAZls?= =?us-ascii?Q?fiUzOXc7eCdOqmArxdYE9DfBpQBZTvbcqvTAwwMshtT51W/SwV7Ax6dnDb/C?= =?us-ascii?Q?+mVj6HoLXNOs+XUAjixNR+siNdIXtLtXi9k4Zj+wHQxRIB1gSBOAq+x7cjnY?= =?us-ascii?Q?ZfdaH95S/tfiBxx9L/pfdOMGjBPz2oKaXxg6t6jm5qyUQzqKfwAiZpRZYRcx?= =?us-ascii?Q?tU7V5y5LGvLjQVFgXz6e6OYcWC6G4Eubhi8/42Pfx96/eKhNofM/nnM2CUDj?= =?us-ascii?Q?9VhsjaV2aw=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 79064718-bf52-4f13-2825-08deb05da8d2 X-MS-Exchange-CrossTenant-AuthSource: DS2PR12MB9567.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 19:35:44.5460 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nBNmW2uCFt4qLouv6GO2/vcWyDc5OXyjeXR7WC1NmIjCkmyFX8/YG8Zf5HMIU1YjlfM34lQBVwjY3LToVcBEPA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6018 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=lists1p.gnu.org; Received-SPF: permerror client-ip=2a01:111:f403:c110::3; envelope-from=nathanc@nvidia.com; helo=BN8PR05CU002.outbound.protection.outlook.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @Nvidia.com) X-ZM-MESSAGEID: 1778614623615154100 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Allow accelerated SMMUv3 Address Translation Services support property to be derived from host IOMMU capabilities. Derive host values using IOMMU_GET_HW_INFO, retrieving ATS capability from IDR0. Reviewed-by: Eric Auger Signed-off-by: Nathan Chen --- hw/arm/smmuv3-accel.c | 9 +++++++++ hw/arm/smmuv3.c | 11 ++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c index 82c0800f4d..9fbd13c438 100644 --- a/hw/arm/smmuv3-accel.c +++ b/hw/arm/smmuv3-accel.c @@ -52,6 +52,11 @@ static void smmuv3_accel_auto_finalise(SMMUv3State *s, return; } =20 + if (s->ats =3D=3D ON_OFF_AUTO_AUTO) { + s->idr[0] =3D FIELD_DP32(s->idr[0], IDR0, ATS, + FIELD_EX32(info->idr[0], IDR0, ATS)); + } + accel->auto_finalised =3D true; } =20 @@ -964,6 +969,10 @@ bool smmuv3_accel_init(SMMUv3State *s, Error **errp) bs->iommu_ops =3D &smmuv3_accel_ops; smmuv3_accel_as_init(s); =20 + if (s->ats =3D=3D ON_OFF_AUTO_AUTO) { + s->s_accel->auto_mode =3D true; + } + if (s->s_accel->auto_mode) { s->machine_done.notify =3D smmuv3_machine_done; qemu_add_machine_init_done_notifier(&s->machine_done); diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 5c2855c377..e558f09652 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -1965,10 +1965,6 @@ static void smmu_reset_exit(Object *obj, ResetType t= ype) =20 static bool smmu_validate_property(SMMUv3State *s, Error **errp) { - if (s->ats =3D=3D ON_OFF_AUTO_AUTO) { - error_setg(errp, "ats auto mode is not supported"); - return false; - } if (s->ril =3D=3D ON_OFF_AUTO_AUTO) { error_setg(errp, "ril auto mode is not supported"); return false; @@ -2170,9 +2166,10 @@ static void smmuv3_class_init(ObjectClass *klass, co= nst void *data) "Disable range invalidation support (for accel=3Don). ril=3Dauto " "is not supported."); object_class_property_set_description(klass, "ats", - "Enable/disable ATS support (for accel=3Don). Please ensure host " - "platform has ATS support before enabling this. ats=3Dauto is not " - "supported."); + "Enable/disable ATS support (for accel=3Don). " + "Valid values are on, off, and auto. Defaults to off. " + "Please ensure host platform supports ATS before setting it " + "to on."); object_class_property_set_description(klass, "oas", "Specify Output Address Size (for accel=3Don). Supported values " "are 44 or 48 bits. Defaults to 44 bits. oas=3Dauto is not " --=20 2.43.0 From nobody Sat May 30 17:44:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass(p=reject dis=none) header.from=nvidia.com ARC-Seal: i=2; a=rsa-sha256; t=1778614625; cv=pass; d=zohomail.com; s=zohoarc; b=QoCylg9VAtb9vwp0gOD98ULGQ5bkXmW0/pLv/B/HTlVRj+wMO7WrPN0ZcL0lAIeMUCjHFoauEBW3WyWR6+w+e170K97zGltQAUc37PTRgwRBet429c8ERUrF9URm+/aF4Ja3so/mhTTJcyCVHJOTwq5nfGp8a7YX5SJGJRn1vuM= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778614625; 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=178zSAXuhNEY1lF/2NRHKl4SHpPU6toYUsOGAdFQ8yU=; b=lI/vEriqZQ6gW4Vt29R2FbGO7o/iZG9GD/zeoBnlGIpiedtxD1zvnxv09Hw1jTsCTwF6SP84DahjpblHTjMz6oo+V01YASrOhPzVjSa28f+24HTaAy0VZ3IBUAP2rjbx6bjv2wwx+G2V7wDU9/tme4OsXCwbkdSjKevJ8GEJJZQ= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778614625494802.40132675539; Tue, 12 May 2026 12:37:05 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wMstn-0004V9-Jx; Tue, 12 May 2026 15:36:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstc-0004RW-0w; Tue, 12 May 2026 15:36:00 -0400 Received: from mail-eastus2azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c110::3] helo=BN8PR05CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstZ-0005nm-Ks; Tue, 12 May 2026 15:35:59 -0400 Received: from DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) by IA1PR12MB6018.namprd12.prod.outlook.com (2603:10b6:208:3d6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 19:35:46 +0000 Received: from DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5]) by DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5%2]) with mapi id 15.20.9913.009; Tue, 12 May 2026 19:35:46 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=lo5FdMJTVMCn/uEE2/DI+MLwdoWyzyHgtBkQwOkOjExSD/nucwI0tuCinBLr0ZsevfHQCfhMsXXJeTlnb8iyWBllFktYLIomTsuX8z8HlGXKyD//12Vn9LiGDSj9DYaOhsP21R/KDS1obYA3G7Ja6mThiiSXuDfmcdPBAh9WeN82ER4HOY4BWCajGAY1Gwb4kMmFHXcLIeEnUWNiDTVVW+6xa5B9Ii2THc3LhLPtw5XSO0vZ5KDCADkXYXbQhfTGMAedvR5PB4vwlCMQHsEvoY1LJgQ2rR+Td9X210+5tqQUL6KP4//XSLfot/CEv8Oskm96j5Ux5IPvycP1g9lOqw== 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=178zSAXuhNEY1lF/2NRHKl4SHpPU6toYUsOGAdFQ8yU=; b=cJhy1vK1Wr7ynXaSbYTmXIdjfBIqBOZwnj2EoFp+X7+TBrJuAqiHx8/Gx2rvjd6R6KeVb0rCn04ogLq4LrNfAZjRckqscyaOE9+YdlsFpnpkTKwBIk7tvriOJlNOkHQhHJ/NlQHwezBabXOs84LDUhLzwQXQ8WodzUQ0y6HOga3jpowEyRlIQVYJzziE6XN1cUEi22H972/Ei2fJ6vxq0mUn0nZU8myVJZLx7ilpTFTIpKWxztAbiF8nCUTmkWlIWYAZAtIvrC1aRvo1zL3qSO0grQhJltubVGt7rR06AUPz/yHp9Q1Hi0eSyL4TODtPsgQi30rTM4f0W8tx6lemoA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=178zSAXuhNEY1lF/2NRHKl4SHpPU6toYUsOGAdFQ8yU=; b=iEmipxmTYqhUJacu88jnCZXORl2ppEsS7mTm4pnK+zzGa5MabneHvTbbRvLuo22EtratyE/zry33evNfEus8OHCS1Z8xVBR2FbziwpjwiFMJsngyWlbBlQtSJHJJOGWIfvXnVl1PJxyZvJHjzztiOz0eO6KYI34oUb81jAxmqlRcj9ZATDVLIQQOz7hKnao6Mj86LZl6JyAGukHVN2xGhCymSwKtq8KiYyiWI9T3Ec2BVG39mqERpqDxCMWmkS+BMg+1Onk5JvTZRtfCr9F8/BGpDS5C2t7ffmJJoJ+voEVUtC+XCVVBeZgbfhiyeielaqBhetxLm9KsJVzdUbLgLA== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; From: Nathan Chen To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: Eric Auger , Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen Subject: [PATCH v3 3/7] hw/arm/smmuv3-accel: Implement "auto" value for "ril" Date: Tue, 12 May 2026 12:35:16 -0700 Message-ID: <20260512193520.3109172-4-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260512193520.3109172-1-nathanc@nvidia.com> References: <20260512193520.3109172-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0344.namprd03.prod.outlook.com (2603:10b6:a03:39c::19) To DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PR12MB9567:EE_|IA1PR12MB6018:EE_ X-MS-Office365-Filtering-Correlation-Id: e881a0ef-91b5-4c21-2020-08deb05da9e8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|366016|11063799003|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: hCn33ccQaO6QL3XxZbXLr81kUlo6wLyPfGT2e3AeBGr+Br28NP2RMQKgAceRBjdHzqOTsTldNPG/ojNjKHfTYKBcCW5jU98v6X/tfR4CQET3rNc4RQoNtc8f1lrersKH+Y6AERDmgwDEjVvU0LObEmwM3G8h2US1bMe+gSIZ76hBgZjZmXoE1MfCXKpYf6KFK/o1YIkng0EsO2pxpSO9JPO3kHNsvsOgN+LuVCato9bz3H3+Z3nmsXh54lw+R028sDcSp+TdVgNOs9k3SPM/06eVHN2reRnKe0z5EKV5hIAuG9952pE+d7dG9IEG+G/MC8n3LmZ3zE31sZsmO0D4Eq+jdPEz6+SVa2Vg8OB52xt/AzdggO5+2TxjpJBh0On9cssz9K82ulxd5cHcyWTzZmOxBzw3X/OFWBEzfk+599gX4+SHUYFuofY8tXsvwzdTks+1ga50i0+MM+yoj3Kb0syoCBGUG9lqoLShQZW30yWvmF/KC3MLV8/QIlWmipLKZg5Pwen3/rzn8wi8jxYg2U0+FicHC51juJWCxV1s9ksclaaIUnFL+SWJUqfmHxk0YQ5oRVdZ3w/osGGty3CgBhVLHmws82oKyBfL5LYt0RJjk+jh/J/POvQ6nDEc3i0hgV6g6bKROVZaKn+rv7YtsQ5VLMqplrg1gOY2jJqNpx+GOCEK92Nmfk2HffyM476M X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS2PR12MB9567.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(11063799003)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?yRFeGQ+W/xdp3zWoXnLVZeXJ8O/1iIS/QvKwh86ID7sKM49UkIEnqPaLqhno?= =?us-ascii?Q?HLP0BDiBqueXhBK68VhrLl0JKEOo/rYyLKuyqss4uUigonqPyDvYFe5cSJ/p?= =?us-ascii?Q?lnTTVHEFYCfjhSxl8xBmp9hMp4+znlYMVQnXvr+iJam/VK4C1/D2EYSTmssW?= =?us-ascii?Q?/lrTkAy3CivdpKPTpZRrjhmxAHUeJCDOivqXjINjjh25bPv9UIJ5oWCIcTRU?= =?us-ascii?Q?U7Q6sj1WEjW6GpHQsX7izYcfrcU+614g9105fYXZxK8VqgyAY8v8g6Fcpsnu?= =?us-ascii?Q?jLSva4qCPM7i12aFfV1sxDvFsEyUj7vkCGXZlFSFnHRmavPHkVohgOc9mjtr?= =?us-ascii?Q?A24h1sXQ0kAV/IgEdfC7QQjZWluP034B/adKARMhEx/XP0YLj/ykNbRRviwX?= =?us-ascii?Q?3EVztvckjPEftHo4oJNblF5dPAqN/TL62QGZKVkn0wgcbf+20wYRe3CCOMMN?= =?us-ascii?Q?eLcchJzATzy9iD6TVpMafiWndQfMZ2IKQMfZebtwZf1bcxTOTEoWT6I9rttl?= =?us-ascii?Q?dhFa+67xKGDo7Til/52/0kv6WOnQxYnZOa1lbXo/U6DrNvZdjZdwUbI/VmIb?= =?us-ascii?Q?Wn6TR36QKgQx5BQY0+TAjWGZ4y8vs1TGOhi/s12kEEgIwiQ0e//U9Ah0z+si?= =?us-ascii?Q?Z79Z/Y3nxn2qBjS/Mo15EziZt9kUdRXfUHphb7jnCwOQDbZ4q6C4SPgPJTDR?= =?us-ascii?Q?wQ3Bx8ng4z9ld42GxKZOdn5BNioFG7ol7kxVEdOxjzvZfQ9zU87Fv9K3Id+b?= =?us-ascii?Q?qU0mTNEaObtU7+5C2Llf3TRlMAPLs9ZfRQJ7XXQyTUBofs3F8RVvhjQsEF6L?= =?us-ascii?Q?QozxMgcWqlBmj8km5JNllwGxskXfz46DXJmGghEoaxSxq+k2SGQRQg9mV2pA?= =?us-ascii?Q?3XJ7cRILaB8s/vg3AHXYkACWBNjxw/DmyRc0Ql4+IJV5PcdZiXVluUWe6RYK?= =?us-ascii?Q?0Widb9ockHnFzDNhu5SavN3HSB5wrzFg8uNhxIeljyikM6CnGm1/9ENdRDIS?= =?us-ascii?Q?oG6cqt5V5SMIQYOcZjVx+M18dhLQkA2LzNAuRry59hdyIiaQlVDUbMkIileU?= =?us-ascii?Q?QZmdpH3KybgCGxKAYeeab6R+6N1+/3D3x3ISLB+CyPV6aiDwih/LbgEefjbP?= =?us-ascii?Q?yCqu/Xr+eoAMonV4/1EFSJcnxMn6N9VlaY0DeSxI5tLqOFHI/0yOMQyVhd//?= =?us-ascii?Q?tUcumgx+6AycvyMy/tB/FJI35sDIlpvZbXB7mpKNLxfhMin3u1bjSD02mSEv?= =?us-ascii?Q?DQVNcHPDk5Hw3vRLlJjQvCft7i/b/4xl0T6L5oDEHF3Lx/OM1YJr6MTew1cT?= =?us-ascii?Q?b+OloQKncusEZ5IbiVtYRkCHgTY05D6+lGJLII4gm2NBpJL2l3tnlF8t36j/?= =?us-ascii?Q?k0dFDKtPepNkK4VelUSX1BAViS6jbCnnCojwp7FcOmdjkegR+ePIkY90kz4t?= =?us-ascii?Q?7HO5cfsIUt/Tl32iWNe99qoFlC1YXX3LwseIX9daHC9StI/c0fD05g78oSpu?= =?us-ascii?Q?InVaNGFKFhwIO9rLKtyPdT3gCyMqEF4OxZTBUl6/Rd+tz55eAjucwctGB5wz?= =?us-ascii?Q?pVgGpDDSRi6YWd4X2MpgHtx8m857RnhMHUBzPv/JWXJVsv0eYEwVgQY35Hom?= =?us-ascii?Q?cfUEsSlYHRFKJnmWJTdtZGgddltEpzyfImxh2lXcpMbYqZyoV/cSqQLWJOyG?= =?us-ascii?Q?w+EKUO46rTyCnEzb2sWMjDxPgtFUI4LeJFqUdzCAmp6nSDxtdduPqbP1hAvU?= =?us-ascii?Q?UHuYfLph7A=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: e881a0ef-91b5-4c21-2020-08deb05da9e8 X-MS-Exchange-CrossTenant-AuthSource: DS2PR12MB9567.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 19:35:46.3733 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: XjJrgcK3u9eb/Ve0mheXUS9gYBkvMnvuzYc/PsvNO2Tf+9USoxT2uSXhj/E9enEVslFFLwDy9VBF59fcegoW3A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6018 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=lists1p.gnu.org; Received-SPF: permerror client-ip=2a01:111:f403:c110::3; envelope-from=nathanc@nvidia.com; helo=BN8PR05CU002.outbound.protection.outlook.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @Nvidia.com) X-ZM-MESSAGEID: 1778614626796158500 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Allow accelerated SMMUv3 Range Invalidation support property to be derived from host IOMMU capabilities. Derive host values using IOMMU_GET_HW_INFO, retrieving RIL capability from IDR3. Reviewed-by: Eric Auger Signed-off-by: Nathan Chen Reviewed-by: Shameer Kolothum --- hw/arm/smmuv3-accel.c | 8 +++++++- hw/arm/smmuv3.c | 10 ++++------ 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c index 9fbd13c438..a5973bd499 100644 --- a/hw/arm/smmuv3-accel.c +++ b/hw/arm/smmuv3-accel.c @@ -57,6 +57,11 @@ static void smmuv3_accel_auto_finalise(SMMUv3State *s, FIELD_EX32(info->idr[0], IDR0, ATS)); } =20 + if (s->ril =3D=3D ON_OFF_AUTO_AUTO) { + s->idr[3] =3D FIELD_DP32(s->idr[3], IDR3, RIL, + FIELD_EX32(info->idr[3], IDR3, RIL)); + } + accel->auto_finalised =3D true; } =20 @@ -969,7 +974,8 @@ bool smmuv3_accel_init(SMMUv3State *s, Error **errp) bs->iommu_ops =3D &smmuv3_accel_ops; smmuv3_accel_as_init(s); =20 - if (s->ats =3D=3D ON_OFF_AUTO_AUTO) { + if (s->ats =3D=3D ON_OFF_AUTO_AUTO || + s->ril =3D=3D ON_OFF_AUTO_AUTO) { s->s_accel->auto_mode =3D true; } =20 diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index e558f09652..7ec4241ecf 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -1965,10 +1965,6 @@ static void smmu_reset_exit(Object *obj, ResetType t= ype) =20 static bool smmu_validate_property(SMMUv3State *s, Error **errp) { - if (s->ril =3D=3D ON_OFF_AUTO_AUTO) { - error_setg(errp, "ril auto mode is not supported"); - return false; - } if (s->ssidsize =3D=3D SSID_SIZE_MODE_AUTO) { error_setg(errp, "ssidsize auto mode is not supported"); return false; @@ -2163,8 +2159,10 @@ static void smmuv3_class_init(ObjectClass *klass, co= nst void *data) "Enable SMMUv3 accelerator support. Allows host SMMUv3 to be " "configured in nested mode for vfio-pci dev assignment"); object_class_property_set_description(klass, "ril", - "Disable range invalidation support (for accel=3Don). ril=3Dauto " - "is not supported."); + "Enable/disable range invalidation support (for accel=3Don). " + "Valid values are on, off, and auto. Defaults to on. " + "Any attempt to turn it 'on' while the host does not support " + "it would fail."); object_class_property_set_description(klass, "ats", "Enable/disable ATS support (for accel=3Don). " "Valid values are on, off, and auto. Defaults to off. " --=20 2.43.0 From nobody Sat May 30 17:44:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass(p=reject dis=none) header.from=nvidia.com ARC-Seal: i=2; a=rsa-sha256; t=1778614605; cv=pass; d=zohomail.com; s=zohoarc; b=iFLlHcRQkJ0BDR83nZBAq7FKwSh053RwPyeCQuxYHzL2uzOp6WjGhn6XT+OexmOCuW3yzI3Rm4mwiC5I5XI+IFtELeGPlIlyENvSUHEXIYn3lweLT0rtp1pZ6NtuHmxEor1viOgMFKuwK5PLqCSMnHhlp38kmpEUhD98heLUh8w= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778614605; 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=Nro4wBKeHK0oO7H9cPk1Abqd6P67FxRaVqxAEBYOGsE=; b=WlDVcbnDlRg/6ncahXoM0/onU/7CNaNOZcQWIoFgViQkHpiGPO5M/g5lPG6Km6rRRk4+oshWIro6GkfqcH63PsTUEcBvwrkxRYsSvrr88mguiOQse9EQ9XhdyFaSceC5Gh/y0LFA641KfN3bQrp7bT4kuNsMclymFYmgWVI0Ckw= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778614605902223.58864948774794; Tue, 12 May 2026 12:36:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wMstq-0004Xc-5U; Tue, 12 May 2026 15:36:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMsti-0004T1-Bb; Tue, 12 May 2026 15:36:06 -0400 Received: from mail-eastus2azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c110::3] helo=BN8PR05CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMste-0005nm-Vq; Tue, 12 May 2026 15:36:06 -0400 Received: from DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) by IA1PR12MB6018.namprd12.prod.outlook.com (2603:10b6:208:3d6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 19:35:48 +0000 Received: from DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5]) by DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5%2]) with mapi id 15.20.9913.009; Tue, 12 May 2026 19:35:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=IeKlwxfMTFEZ6U18jiXvsvu9ZQ0kzRLHwb5blQXjCbDFSyc+hsHuD5vpf+eWj1UbZBz5wNpT6TSkQmFG5NP1VK78G+KxoBcaJctdbervAFGQb5iRMZ7S477zkaSiuECs5ZggDPAaagUgjaTqXN0MRXt2SJ6f1Idr+rBsD5KMxHMymLU5hvWUIua+V58gtqlbTzhA+CnMeZTkHmGxAlff0rIAuqDNGP3WsHELNSD+utUWL7/e/KFsiMQNmP1w2PFpXHYnIlpQAJEbQpaW+aTYE7CivfiFcYVDPdzMBMtkMksQY3jXyeofVdjPM84EFR3jbMd8xRvmePWFmqiF/bPCBA== 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=Nro4wBKeHK0oO7H9cPk1Abqd6P67FxRaVqxAEBYOGsE=; b=BhzmMCBqwJD5N7jucNs6WGbLxHD5iImmMQ3xGF0A4BCkUaNgKe5DgK/nTv6CACU1yTa0mV9aHs3nRV9u5rOPydjIQmYndTtrimwyLIHc5iMqs+lA3+Ok6loZ0jICJCdoXb0X0c5gOQKFWxu7HfMapn+96xklbb73T1vKq9Ee1vRZntcBiMeEsdxXuwoiyZgFBsJGNcUvftf16PAiiDniGrZykD8PovmhhkTpN3VYprUJpfUEM/ZHFN85VypEPF+xmU4PCGtYtvfK7jF/OHSFwYIjCATR+FGpUejBWWdJf2hWcV76yoju+nsO7xgiM1bpRmb3vY7rZq4t8ZW1XullTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Nro4wBKeHK0oO7H9cPk1Abqd6P67FxRaVqxAEBYOGsE=; b=BlWgE0UP7qGy3QiaKZ0gs78/KxviaRUP/1OmRhF8Kwj3TecZ3+mrQe/4I9V/IoUMFYNhMIB/nYVFR7TX1sQGA2LPwOGPAOwZKm5OLpaYicuT+zC8NLHJMO4AFrhMnQ9ngGnGgTt3EzUYiFoIsNEhjd9FTJwCPyEVQrxsmW9+WLYI/ofjjztiBrBTM/rw1wPgCAJwF1IYy4tLAiPKWiKXGy+RSn/ygJjP1ro25cGCfRV4Vl7Y/guK5B85AOWR31awYVKrODZ313R9F3wtaN+wYcSV1wVU1+dCwgiPtOVvTg8UB6AmfIHQiveCU805BnS5SCY0jSS6MIcoJYEueGRVmg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; From: Nathan Chen To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: Eric Auger , Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen Subject: [PATCH v3 4/7] hw/arm/smmuv3-accel: Implement "auto" value for "ssidsize" Date: Tue, 12 May 2026 12:35:17 -0700 Message-ID: <20260512193520.3109172-5-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260512193520.3109172-1-nathanc@nvidia.com> References: <20260512193520.3109172-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0224.namprd13.prod.outlook.com (2603:10b6:a03:2c1::19) To DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PR12MB9567:EE_|IA1PR12MB6018:EE_ X-MS-Office365-Filtering-Correlation-Id: 2ef2d2ea-b5cf-41c9-d18a-08deb05daaf6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|366016|11063799003|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: Pgn3H5bbT+Q/AbmMTOQoOgiz+v0AAhDXLzKjTeSH/E+dDJ4pJr7gOh8yoqe8kNrFQfEpugWr8e1w/tJi+eg+hnzevpTz5MDpI8UAu7ju9hGgCmo+idmU6gc0WbRHkL7FrARlyKkL4LkwwSakNwxjh+LLNnmU2I+qpQtw6/Hx/dx3O5YlRlptLDfUH9+Xm+ThkaawkYqjn+EgfOaT6aAcELZtRsGLUVfjz76Xyi43LClLMGj31VZsA/ksJ9KjjcPPNsvJDdPxXpuXbNWBPXaehkbnV9jlXqS6AcsUdtZIBYBN2Wb8fR9Cw2iyoXuXJ3YZHsFMdXkO4EgOyT75WujrsKi41gGPSpbOWUoGZgnQntDibk5UjNKBQ1W3ayMDXmfQx7r/aNZ5RXr1tDjUlEzmvkTO0UXGEx5IqRHkWyEY1A8KGsU05PpMNA80kI90tqP4N6FiHUZ11rFmyw/wGPZKuIh2jvz8NuIdh1OfVP9k5E6dlSlzS+sMrlZ+wRyrCc9dZ5XHpWrT8ArjlU59XCT3I7sH2n/w2iPXs4NlrgSSLCh1wjNYyHxkbGLjfa2cIknSPr5GLEo+6gy9gjYTaPu3e2dpE3EcgHtL7TWkGfkDC5SPbNjEOYMVylEnUGiVXWJdVVG5UZtsfenkFc6hDcUKe2sHMflsSLJQCbWHPKobOSMROZ4TiUBSfTx2+6d+3Izf X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS2PR12MB9567.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(11063799003)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Czq2oLwIsdos0uZiwFi36NiLynS7W1e4NLwEIReDzYMeYbgCy0aVTV5bLMpZ?= =?us-ascii?Q?+VsZhHlY9CdO3sxdTsOQ14o5tOI8sDbcWM8gS+jbgKMpKYSqKDienW6QrqQs?= =?us-ascii?Q?Ne10bp+sYKANPk7WudOVid0dxqRjsva1ylIB5WAYeVD0WIlykjgA5U3b+xtx?= =?us-ascii?Q?t5E6Wi2ghlKj/BmuxGE4xps29d9iVLuKxe1C/SlMdiPfhqARw1K94kFqDr2X?= =?us-ascii?Q?kjOWL96KOAoi+B8fDsJGwcYIlg2oZwYu2d7znWboihV/8h92jVPPf4c9hJqb?= =?us-ascii?Q?wIu49YfgAZzRkMv9JZF3Z+b4b/jfyeVlKfipellJj4AiC1/dnvl20UHwo8Bk?= =?us-ascii?Q?WoWDMea4vWoJiYHNCenajrrgt4JwGx23DfbQEHiHG2qaHeImOWrTCQJBQdLU?= =?us-ascii?Q?H+7FpZ0UA1ZBb2XK9oT6b0ht8T45dbTih7Gv8gK2TUs1PFqLUCM7oPAGSW/n?= =?us-ascii?Q?P0SCoD8R+Dk6DvZhNS/8XYRfYgiLs+OSC7sYY6jKM3LUjrR8OaxefTLbVNPA?= =?us-ascii?Q?Mbr4jgsr98eGDVNOKzrVSB1JJwQfal/0pvnNuSpeXDWGWDqPGN22oytUEkNS?= =?us-ascii?Q?op2VZeI0kGMldi1G290JfdeZyDar0tAvA+ZYDTQukzVeSDcAFKFYasyA5aiG?= =?us-ascii?Q?YUklnVEqbjdZxhcL8TDmcmUJFGmtWKFmP+DljyKavP8Tkqq20i+9k3iR7yip?= =?us-ascii?Q?+5+V6RNdcMCi3Ba8LHUPZKCbPhAut8Yhsa1bKoUNV9IAyV4AKKvVjpu78Mn2?= =?us-ascii?Q?tpX/802tE+9sjbhUmkl6Qa5ScYgFEmagTHpzykU3+O+Knf6m2/oOJOOvxzBD?= =?us-ascii?Q?qh9v+/1o1UVzVG/7tOFwXZNlJi679e9yXC3mIdAvr78sWoN70IIdpcy9d4QJ?= =?us-ascii?Q?e57wqWcy/BSWRl/UqmqQqkPt+OgKllOvAridQjXfqdvYb+eFVmGbPve6ef+B?= =?us-ascii?Q?kBpO24+K+fQSpFPT5UquKDNqIKJzd5ax23m8UyfRtff3wiGW75Bi0tTYGCX8?= =?us-ascii?Q?M+5QClDqeUQfOZlUCUFwqvUGj6HI58UlVDMmR0yuYEmFTn40N1zHX3+dM8u0?= =?us-ascii?Q?ADPhFFqnLliDRu35CSpoIh7zWBRNxj426jqLSWkd44pv6VdQTQB643C611Xu?= =?us-ascii?Q?D4ezJG/miQlEpr9rfsY6Ot0W+CnbJTNZij/7hUVAebqmVeCfLkMVSzAY+FQX?= =?us-ascii?Q?jpoMQl+TUA97g1K4kR8VRlHYZ4/tjlcjaUuIGNGRPSzRYVdk2N+iUTR8ddXO?= =?us-ascii?Q?/dSGsq3q3BRejj06cLa0OcmQQikRlGzx930hTSWiuJN+4Rbo0yfw+FSBwUnY?= =?us-ascii?Q?wIRLB5Yxnl+Zo6hFwyyx2N2BRQbm6OQ9IaJUJwf8ZXAA77uj/i256hARNdYV?= =?us-ascii?Q?hKGRNr4RyQjyE6YpFGkqLhivgv5I6ZfVnGVDb1EFswKvFiJqMAzWbz6SVawk?= =?us-ascii?Q?GXUZA9saEywliHWDUCwMEXp22I5HXlgWawD2nBDkOf1mtlcjm+OeBpj9+YTV?= =?us-ascii?Q?Thshkndu90zqNGISqarGbz7NTtyiF2Or9N5wGVJ3mN5DSHBJtoJqD8UL7frT?= =?us-ascii?Q?jkS5nQiT8b44uKs8j2WFzSPxQ/9oUpVd28U5ujEhW76Og5CNPbYhQlHZKzce?= =?us-ascii?Q?jr4gaAECKqLswVIYSWC5cvUMTuONUlpGSrD9SJ7ASp9+rhXSdnRoNH9GN+lO?= =?us-ascii?Q?C6zdjA4/U4U2one/3gAeynLg/aBTACm0krkLFuvS1cVLjbJ0AtLsS+8PxY6W?= =?us-ascii?Q?UrgUZFrMwQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2ef2d2ea-b5cf-41c9-d18a-08deb05daaf6 X-MS-Exchange-CrossTenant-AuthSource: DS2PR12MB9567.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 19:35:48.1206 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: KlCq4OFZ5UqO31un1OI6mi5TdRxl4/NN0p+NRYxFONsqpeSvoezVSN6PYoGaT4fbJiDSa9tLC0rOll6GWd1uQw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6018 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=lists1p.gnu.org; Received-SPF: permerror client-ip=2a01:111:f403:c110::3; envelope-from=nathanc@nvidia.com; helo=BN8PR05CU002.outbound.protection.outlook.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @Nvidia.com) X-ZM-MESSAGEID: 1778614606971158500 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Allow accelerated SMMUv3 SSID size property to be derived from host IOMMU capabilities. Derive host values using IOMMU_GET_HW_INFO, retrieving SSID size from IDR1. When the auto SSID size is resolved to a non-zero value, PASID capability is advertised to the vIOMMU and accelerated use cases such as Shared Virtual Addressing (SVA) are supported. Reviewed-by: Eric Auger Signed-off-by: Nathan Chen Reviewed-by: Shameer Kolothum --- hw/arm/smmuv3-accel.c | 18 ++++++++++++++++-- hw/arm/smmuv3.c | 20 ++++++++++---------- 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c index a5973bd499..5b1af062ee 100644 --- a/hw/arm/smmuv3-accel.c +++ b/hw/arm/smmuv3-accel.c @@ -62,6 +62,12 @@ static void smmuv3_accel_auto_finalise(SMMUv3State *s, FIELD_EX32(info->idr[3], IDR3, RIL)); } =20 + if (s->ssidsize =3D=3D SSID_SIZE_MODE_AUTO) { + /* Store for get_viommu_flags() to determine PASID support */ + s->idr[1] =3D FIELD_DP32(s->idr[1], IDR1, SSIDSIZE, + FIELD_EX32(info->idr[1], IDR1, SSIDSIZE)); + } + accel->auto_finalised =3D true; } =20 @@ -822,6 +828,13 @@ static AddressSpace *smmuv3_accel_find_add_as(PCIBus *= bus, void *opaque, } } =20 +static inline bool smmuv3_pasid_supported(SMMUv3State *s) +{ + return s->ssidsize > SSID_SIZE_MODE_0 || + (s->ssidsize =3D=3D SSID_SIZE_MODE_AUTO && + FIELD_EX32(s->idr[1], IDR1, SSIDSIZE)); +} + static uint64_t smmuv3_accel_get_viommu_flags(void *opaque) { /* @@ -834,7 +847,7 @@ static uint64_t smmuv3_accel_get_viommu_flags(void *opa= que) SMMUState *bs =3D opaque; SMMUv3State *s =3D ARM_SMMUV3(bs); =20 - if (s->ssidsize > SSID_SIZE_MODE_0) { + if (smmuv3_pasid_supported(s)) { flags |=3D VIOMMU_FLAG_PASID_SUPPORTED; } return flags; @@ -975,7 +988,8 @@ bool smmuv3_accel_init(SMMUv3State *s, Error **errp) smmuv3_accel_as_init(s); =20 if (s->ats =3D=3D ON_OFF_AUTO_AUTO || - s->ril =3D=3D ON_OFF_AUTO_AUTO) { + s->ril =3D=3D ON_OFF_AUTO_AUTO || + s->ssidsize =3D=3D SSID_SIZE_MODE_AUTO) { s->s_accel->auto_mode =3D true; } =20 diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 7ec4241ecf..cd30275717 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -626,7 +626,10 @@ static int decode_ste(SMMUv3State *s, SMMUTransCfg *cf= g, } =20 /* Multiple context descriptors require SubstreamID support */ - if (s->ssidsize =3D=3D SSID_SIZE_MODE_0 && STE_S1CDMAX(ste) !=3D 0) { + if ((s->ssidsize =3D=3D SSID_SIZE_MODE_0 || + (s->ssidsize =3D=3D SSID_SIZE_MODE_AUTO && + !FIELD_EX32(s->idr[1], IDR1, SSIDSIZE))) && + STE_S1CDMAX(ste) !=3D 0) { qemu_log_mask(LOG_UNIMP, "SMMUv3: multiple S1 context descriptors require Substream= ID support. " "Configure ssidsize > 0 (requires accel=3Don)\n"); @@ -1965,10 +1968,6 @@ static void smmu_reset_exit(Object *obj, ResetType t= ype) =20 static bool smmu_validate_property(SMMUv3State *s, Error **errp) { - if (s->ssidsize =3D=3D SSID_SIZE_MODE_AUTO) { - error_setg(errp, "ssidsize auto mode is not supported"); - return false; - } if (s->oas !=3D OAS_MODE_44 && s->oas !=3D OAS_MODE_48) { error_setg(errp, "QEMU SMMUv3 model only implements 44 and 48 bit" "OAS; other OasMode values are not supported"); @@ -1989,7 +1988,8 @@ static bool smmu_validate_property(SMMUv3State *s, Er= ror **errp) return false; } if (s->ssidsize > SSID_SIZE_MODE_0) { - error_setg(errp, "ssidsize can only be set if accel=3Don"); + error_setg(errp, "ssidsize can only be greater than 0 " + "bits if accel=3Don"); return false; } return true; @@ -2173,11 +2173,11 @@ static void smmuv3_class_init(ObjectClass *klass, c= onst void *data) "are 44 or 48 bits. Defaults to 44 bits. oas=3Dauto is not " "supported."); object_class_property_set_description(klass, "ssidsize", - "Number of bits used to represent SubstreamIDs (SSIDs). " + "Set number of bits used to represent SubstreamIDs (SSIDs). " + "Valid values are 0-20 and auto. Defaults to 0. " "A value of N allows SSIDs in the range [0 .. 2^N - 1]. " - "Valid range is 0-20, where 0 disables SubstreamID support. " - "Defaults to 0. A value greater than 0 is required to enable " - "PASID support. ssidsize=3Dauto is not supported."); + "A value of 0 disables SubstreamID support. A value greater " + "than 0 is required to enable PASID support."); } =20 static int smmuv3_notify_flag_changed(IOMMUMemoryRegion *iommu, --=20 2.43.0 From nobody Sat May 30 17:44:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass(p=reject dis=none) header.from=nvidia.com ARC-Seal: i=2; a=rsa-sha256; t=1778614607; cv=pass; d=zohomail.com; s=zohoarc; b=GN8RZ1ysPBwlOhOHJ0011luiEQOmJDFxcwbbbO2lfmS8SsnV6KSPMbsIalOmyRWZlkMcT1QShPWbCMSuqRZBWQKPKz6JIPNrJxN+3SembOeiQ84+pW1ZROTszLgkhpwj2AmQZ4xjRLbD+oMVLyeVpDJQVwMgn6SK0UI1S+VWzTA= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778614607; 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=J1LF74ovB9Y3o+wzrtY0nQlpzIQH4fXZ+vFWNvtqaFQ=; b=Vy2T+Lt41aMx7HQ8ux/+4j0PzGl1snB3EbMwfnc66gtyKre+sNdseDNr91GEtVHAEcDDYQxtXj368m761Ki+Izwu9yv6AJ/JJ5THKeEyrZuE9drj9Hi3S+663HRofoVUfnrOtASFsM9xYBxmK4DxXDH1WdDt+NFg/2+oZJ/O/5c= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 177861460713664.94271590618621; Tue, 12 May 2026 12:36:47 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wMstu-0004bS-2Z; Tue, 12 May 2026 15:36:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstm-0004VM-H1; Tue, 12 May 2026 15:36:11 -0400 Received: from mail-eastus2azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c110::3] helo=BN8PR05CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstj-0005nm-RW; Tue, 12 May 2026 15:36:10 -0400 Received: from DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) by IA1PR12MB6018.namprd12.prod.outlook.com (2603:10b6:208:3d6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 19:35:50 +0000 Received: from DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5]) by DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5%2]) with mapi id 15.20.9913.009; Tue, 12 May 2026 19:35:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=sny4xGD5CRH52av/b1G6+jNesGOQQcNKYiUSTFJSQ9zqs4HvIhaFknnekLG+JUK0cBH0s5seQ1wKdSadASOuaHNPLI/8FbFGkzsuebQaTU29jZQifFyxq4zR6+HalsaakObTWES3b2S7q0UhG+1LZvJsCjBhfsKZc8+RLFBS0EgPnzP31hvAhXcKhWSKoBX+VptZtEBA69IF3fdd7OjZW88acW9QNP8OcyniHzKzZ3WcI0pCbQqA2gtYe4K7qctzOgm3tc6btwX637Oipuz6T8IlkiGHSeeuCTnekEMCQUepdkompjGMcnfu3MainGqyoasRAxVMCUm3ucJgZVVZLQ== 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=J1LF74ovB9Y3o+wzrtY0nQlpzIQH4fXZ+vFWNvtqaFQ=; b=TFhf08oyIa6f5ZtoLn4TDrdYxYSZgQ32mxCoYzdodV2Dh2a/gvHLFcPrLtGApzC5S0lpCK0q994s0ekzHCBlhGhizjoi7eKxPUTTHGnnCirq0AhBQFwT05hvUadsc3oAJgOw9O+3r2s+D69CEzlK3goiQamtk6BRuUieokgFcyqXxK678e7uDUh2P9MGT35fpSwyoIziUC+2NBACczlpMX82yowqxNrnbbKFqanEgWAVwQKgNSNM80FWAwQ+GcLvNqGK5rnAThpYvfKmQjyEQsO9J/XX4hTpBeVBUVDAF6bLEuwx6uhZ/qQimIvauyosJrF10m711m3/tynjBQEE2Q== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=J1LF74ovB9Y3o+wzrtY0nQlpzIQH4fXZ+vFWNvtqaFQ=; b=UExgipx1qsJ4XU87gpUI2qBASiES5wrYJsSS0rOvcOJO2KGtbdsiJDwU+fBnPirLeBAb/z7NVI+yCaa7CJ1PSlS93AcVvN/OP7RbArkT5/Q0TwaOp+M1nECbKMcmLXXS5boFQXldmem9Kj+3Yir98OiC+02F37uZGPyJmhJi71aW2donrPVWzE5saFAyIoSaPQkpMainMCkBZrBy0r85qHz4pgGNq2tRdaO/tQajKFweHRfr+2lxUJmS+ddURO8fw3ySnxAKsEr41ldr4Lahe1a7AelEcq0AHlfEHoTOxsptevw6T2lfJbW77aQ+zJEr3awBHGDgd0tPSe21IRRqYQ== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; From: Nathan Chen To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: Eric Auger , Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen Subject: [PATCH v3 5/7] hw/arm/smmuv3-accel: Implement "auto" value for "oas" Date: Tue, 12 May 2026 12:35:18 -0700 Message-ID: <20260512193520.3109172-6-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260512193520.3109172-1-nathanc@nvidia.com> References: <20260512193520.3109172-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0232.namprd13.prod.outlook.com (2603:10b6:a03:2c1::27) To DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PR12MB9567:EE_|IA1PR12MB6018:EE_ X-MS-Office365-Filtering-Correlation-Id: 1a4b04ae-3e89-47b9-1160-08deb05dac1f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|366016|11063799003|3023799003|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: tdJ7gfBi7o0k48RXuR1jl52ay4cuKTeC5XvfeHt3r1vswwrwUNUXco0MAwweLO/Tviukun7bj3HCPR2pSYgibGmVx8k8fmoBNKEuWcwABou59OQPfXrtWHR4qtWNA2CgxJt2Sj8baGm1EOOmQDKKSS0RIj5uNk25tQgY/QrzfuAnZeJGl/qY6NJ3imMBB8D7f9bzbM9hCVyJWGTtk90k36jQVCvX/dsjreus8JgDyIt/Lf7J3MABg53Zxe/i4BWt9tQb+uOa+Bt1dyyQMLodO81FW1gCg+OCfRPezFfz05bYvqTIffTrEXPPZSCFQSn6olAqdVxXfC/jPb3Wl/nzs3B+hLMIpOW03N47GqUWkZ+XbTx7DHV2HBf0mrHyXeS8BubH4ng4tlrEFWdimLPc0DklacGCTodKEIH7xChuLdlCXz/2BjRYoQu5NwIQyBAMjAAXs4OeMT+ljtwTQj3jK1hAHEFdbr5moIA6XjcTjoLurQPa3VWJgiI8jrhS5lKunj54KVIQ2Rqqfqoxv2tdSwKgXy8ohS3Z7csBRot0xGsJTNBlTIcFpyv0S2mpV7DGo74GSfg3/7ZxtT9f508dtJ3xSAFmjL1gNvbWBuFkhiKDhaVXYZbsOrqgRmsCvLGggPC3FNoLqnl+22fuDUuLT/Zh7JVrGPH5fIQE8ubOUQGxYK/OdRHF4XLROBu5PA6Y X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS2PR12MB9567.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(11063799003)(3023799003)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gYySB1zBb8QAKySa3TyIa7wcVBRYeu+I8c0HkHcXb5g28nqDSulGVaFley/+?= =?us-ascii?Q?PKZl0FnV5l5GBKy7hXGGC8NnGhnSWIEs22GupGN+NadlONXEy1qmzDSzOq0j?= =?us-ascii?Q?6lASxPHlayZaz1iniq1kmz917Q+UU8nQFo4yKgNOBy8hiMVOmAs/dYg/1gj/?= =?us-ascii?Q?gSLjttuqEd+sl9NQCe9h53fk+JMc2A/kVSZf7/npBLN+JKxvOaZTJ3ozjtAr?= =?us-ascii?Q?j2iAYI2q94lTsCuVwKN0P2GTP5+iBZa85QHzVgZklcfFcsfuqhbSfFRmFwtV?= =?us-ascii?Q?oI10MEJJlJGscoG7RVnnZ/6HnUDLtKYewwFXgtkHrK99zQlWIy2kr3nMDNvC?= =?us-ascii?Q?WqD5fs+Dop6K1v3sscoxmlQr/lob4sa6du7/DIbltERSaHlZCXGLkLV4HsM9?= =?us-ascii?Q?gfRpATh3uVHU+WbwsxL8EZ/aKiOQ12ib/OpatP/olC1QDEyTXqjQedxXJf8j?= =?us-ascii?Q?WZLYFk019yqDWLiznjARPBWg9587U0xpFsjVX2xI3qCaDhe9E2Hr/oMQ+DW4?= =?us-ascii?Q?3PMc3N5jcXA0J7Hr2owcUPscw3CoDR8LvO2qedYwx8qX+49exeXNW2S315jA?= =?us-ascii?Q?5aQFdFs8ManJttQ5ymc5FHCF8sm1Ky1sINdiSI2ZjoB2w5ljBN9UbXWW4dit?= =?us-ascii?Q?qKSs3Uk8wommfGt0d7qL69t17Yffyz88BiX+OiPk2W+tdwDA7pwJ4uPTQhNy?= =?us-ascii?Q?qissSRpQCpWQqG2woErXP2LcWL0DInoP68BfMB3XCpN9lyJY0/CatiN6G6z2?= =?us-ascii?Q?VN90+Ga7Dwvf8+Y1MwlkPxkz5TwsHTGPsTkjo/aj5A20CuBewuRAxwFlRcLv?= =?us-ascii?Q?iTJfC2o38D+qnroHB8LKJnlhyXvKIS1xalZGbwSLaVf+aIJ1Uy97ImB5gj4+?= =?us-ascii?Q?yWZizXGfM0SQq+KjZcG5WlJCDLq3ZTW3T/wqmBKew4sugY8VDQVS4RQV7JR1?= =?us-ascii?Q?r88d0RRw2bXt4SqAoessoCMIuJf29yiChOc7vjSPnwD71OE0648QI6iWnM6L?= =?us-ascii?Q?kFsT+o/PU+EPmVWEEEJmnyPwJ+0AgH8mE0/ISIBR7FJNVIksWLs5CU2ZEnTG?= =?us-ascii?Q?n68rmQLbXNESGhdxvemD1uB43GizombAHg0NRWGdWUDuyJUe7x2Gy3BakA6g?= =?us-ascii?Q?Mh/7gzRtWPeoJT0aJxinpPaG3rrkIuTTXsl0ZdZcwMRLsa3hT/IZyBBmA7n2?= =?us-ascii?Q?mvgRJKIdYXds3DSvqPN9r4n1VMvm/2YgR0irie8s1111uTj/lAcSmzjbnogs?= =?us-ascii?Q?jZfmefhu/xq8sSKasX651tK3/6bONvhLCV73W7fPMMmj4E+7EXdGYuFdXfmR?= =?us-ascii?Q?z2GvvdsZPGdStVrfr31ExjGjueQioFSCCzMQ4WmzvixfJOkJRJ+6wUbIMn+6?= =?us-ascii?Q?2FrZJNdUb2G756So587APKhulylGYeF9eBlJlcFQSMBsbyL7QZ6rnnfEcSDp?= =?us-ascii?Q?+Asga4FdnAyV/xS9NvI/5jRdYmZR3a3gKzj6nLMwwqY+pk99INyuuXOjSfEw?= =?us-ascii?Q?0CFH0hsxC5i+HPrP7MJU8nt1m2qtqonLKg4e/t+nMonCsBoOxBvn27/tAjbg?= =?us-ascii?Q?HysRls99oDOlYav8mVF4ZuwjHEVmJZjyj4q7bZKl0h69DJjLsh5bveeCOvI5?= =?us-ascii?Q?oDIVTrMxCPoZvCnp8G+4kkMoKtudFZOJd8XVGqW8d/I9Nyv195VBQ4rmGsOE?= =?us-ascii?Q?swCxLjIWZyqsDYuBw5KAy+TIkwoqUCE+bLHNCX6qvc7JXA+spyQf627WVbJe?= =?us-ascii?Q?VKMR1IX3AA=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1a4b04ae-3e89-47b9-1160-08deb05dac1f X-MS-Exchange-CrossTenant-AuthSource: DS2PR12MB9567.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 19:35:50.0677 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 7JZLRWiJxz36k99mvZV2eS84Hyynhw2gzKQVpsc8nAd7mWTRsjeLwtrtn5LpzzfauY+jsb96uSth/v4eK3eFGQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6018 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=lists1p.gnu.org; Received-SPF: permerror client-ip=2a01:111:f403:c110::3; envelope-from=nathanc@nvidia.com; helo=BN8PR05CU002.outbound.protection.outlook.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @Nvidia.com) X-ZM-MESSAGEID: 1778614609406154100 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Allow accelerated SMMUv3 OAS property to be derived from host IOMMU capabilities. Derive host values using IOMMU_GET_HW_INFO, retrieving OAS from IDR5. This keeps the OAS value advertised by the virtual SMMU compatible with the capabilities of the host SMMUv3, so that the intermediate physical addresses (IPA) consumed by host SMMU for stage-2 translation do not exceed the host's max supported IPA size. Reviewed-by: Eric Auger Signed-off-by: Nathan Chen Reviewed-by: Shameer Kolothum --- hw/arm/smmuv3-accel.c | 8 +++++++- hw/arm/smmuv3.c | 15 ++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c index 5b1af062ee..05257f74ed 100644 --- a/hw/arm/smmuv3-accel.c +++ b/hw/arm/smmuv3-accel.c @@ -68,6 +68,11 @@ static void smmuv3_accel_auto_finalise(SMMUv3State *s, FIELD_EX32(info->idr[1], IDR1, SSIDSIZE)); } =20 + if (s->oas =3D=3D OAS_MODE_AUTO) { + s->idr[5] =3D FIELD_DP32(s->idr[5], IDR5, OAS, + FIELD_EX32(info->idr[5], IDR5, OAS)); + } + accel->auto_finalised =3D true; } =20 @@ -989,7 +994,8 @@ bool smmuv3_accel_init(SMMUv3State *s, Error **errp) =20 if (s->ats =3D=3D ON_OFF_AUTO_AUTO || s->ril =3D=3D ON_OFF_AUTO_AUTO || - s->ssidsize =3D=3D SSID_SIZE_MODE_AUTO) { + s->ssidsize =3D=3D SSID_SIZE_MODE_AUTO || + s->oas =3D=3D OAS_MODE_AUTO) { s->s_accel->auto_mode =3D true; } =20 diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index cd30275717..31c2eec2f4 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -1968,9 +1968,11 @@ static void smmu_reset_exit(Object *obj, ResetType t= ype) =20 static bool smmu_validate_property(SMMUv3State *s, Error **errp) { - if (s->oas !=3D OAS_MODE_44 && s->oas !=3D OAS_MODE_48) { - error_setg(errp, "QEMU SMMUv3 model only implements 44 and 48 bit" - "OAS; other OasMode values are not supported"); + if (s->oas !=3D OAS_MODE_44 && s->oas !=3D OAS_MODE_48 && + s->oas !=3D OAS_MODE_AUTO) { + error_setg(errp, "QEMU SMMUv3 model only implements auto, " + "44 bit, or 48 bit OAS. Other OasMode values are " + "not supported."); return false; } =20 @@ -1984,7 +1986,7 @@ static bool smmu_validate_property(SMMUv3State *s, Er= ror **errp) return false; } if (s->oas > OAS_MODE_44) { - error_setg(errp, "OAS must be 44 bits when accel=3Doff"); + error_setg(errp, "oas must be 44 bits when accel=3Doff"); return false; } if (s->ssidsize > SSID_SIZE_MODE_0) { @@ -2169,9 +2171,8 @@ static void smmuv3_class_init(ObjectClass *klass, con= st void *data) "Please ensure host platform supports ATS before setting it " "to on."); object_class_property_set_description(klass, "oas", - "Specify Output Address Size (for accel=3Don). Supported values " - "are 44 or 48 bits. Defaults to 44 bits. oas=3Dauto is not " - "supported."); + "Set Output Address Size in bits (for accel=3Don). " + "Valid values are 44, 48, and auto. Defaults to 44 bits."); object_class_property_set_description(klass, "ssidsize", "Set number of bits used to represent SubstreamIDs (SSIDs). " "Valid values are 0-20 and auto. Defaults to 0. " --=20 2.43.0 From nobody Sat May 30 17:44:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass(p=reject dis=none) header.from=nvidia.com ARC-Seal: i=2; a=rsa-sha256; t=1778614653; cv=pass; d=zohomail.com; s=zohoarc; b=ATgZ2Y9tXtxZkL/ThceUt0YKa6lyMW9Nn64mT1okyrKpKB6eezTek/F6/4kZXLVwIRZwFIpcVDvcahW1spMmqcVDZeCwf4D+dj0XuVA9XSwRYIdKCREjzyhkkRB4BrjQQx9+5vuYgn7GDzjThsuduhSqkn+LF0w75/ENRsmXm2A= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778614653; 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=eZq8lwmT16a02zEvdkf9AIsMuxbwSxvegJWOMaZ1oNM=; b=H8q5V+QQ3QhAWkBaAPE/tbVzT0GGTJ8keNSMxNv3D6vxERgbxEeH6+1bt1L65ZaR+TuJHvz6/dEt15aB5hr+SPuEURLXyTQgcVhCpt9yXlcCdTREz862q2rJS7lce4j8nQsEZFSKrVsQd0uCRWJDPaXs1CTRLbdO8R1EUBC+AKY= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778614653559234.44125704403712; Tue, 12 May 2026 12:37:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wMstv-0004d0-TX; Tue, 12 May 2026 15:36:19 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstp-0004XM-UA; Tue, 12 May 2026 15:36:13 -0400 Received: from mail-eastus2azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c110::3] helo=BN8PR05CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstn-0005nm-2f; Tue, 12 May 2026 15:36:12 -0400 Received: from DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) by IA1PR12MB6018.namprd12.prod.outlook.com (2603:10b6:208:3d6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 19:35:51 +0000 Received: from DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5]) by DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5%2]) with mapi id 15.20.9913.009; Tue, 12 May 2026 19:35:51 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LEpd3XfA4OnPMG3/eCzEo91Oxkoxjil7inLtrK6Bdj40Q5b6zN1YXkwQt0LdEbh88qEnCQ2RhoVFUNO8gfFYLprZOk6VK+P03SIiL0mMhGjlvk6eHIIAiolUWINHVcuw02orh85ND4O1LYlhWEbTo4+xn/DTvHvQo9EcFg+6XYlIPj8vhxzd7P45PYFL92dfXllNxkInOIpUxn3huGCmmHrXfZHOhtm4KsC6/zBNBhLeh9NjeaKkEnOcWXXTe8wFpEqhiH7S7QpUzO1TZ/xZvRunUDjVzkw+K2aOGmhfEcAO6EFjuz7EsWGfZs2Q9TGH4WFWsM5uTkZGmG4oA6uPMQ== 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=eZq8lwmT16a02zEvdkf9AIsMuxbwSxvegJWOMaZ1oNM=; b=ZasCS3C89kaaTCKKjqXSs1w4Da1dtGiAMdr5R7QlwTxrBy/NXwfi7YP4MIOkP7mols0FVVCj3/9NWpuCm9RY+eD3AjYNiErBN8tscNJSgkj2OoORTsw+ipqEpsOpsEsvvKVnSw7SM9qDsQbH8sAgJpCleoHoVhw5rDb7eqt/EIZoc8DTvvyYtg8thwpQ57cDMef2fKWZOCMlCUA+CpxpEMnYs0PtoA/4bYZ9AvdQhwdCP969c9nUS2aKCkX5S05awrww2nJ6F7JwClY9BMdxGesjsBLaA0RuB339zmdvBC6N5kMSbA5ps8PntrWQGg9ODQeZdBufS9KhTECqUxleLA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eZq8lwmT16a02zEvdkf9AIsMuxbwSxvegJWOMaZ1oNM=; b=XmiF8g2rUCPIPLzUyzMo2h5w1TqVr9Tu3D3/Sc3C6REI+xcII1zhcanmsmsIpJGQPO7JBqtNL6P6fUaQYR8XGCbOYsYBO1E6GPg611qZ+rIR4dOjRwQt5WIpg2e5mX8DzGdJCOqBNjCjhyck3UoArLschQLHA5220/D9AtaxRNKYrhNccv6uEpQ4i7sl5Ox0AcdST7579qqriojZNKrtEgbrDkA6M5Do/0j4q/CEu+FJ7+0iqsbau8h1SEScXowoFx2clAcXlFQ5haEEq+VFiqpS143T1GyzZ+rLAqRgpP0wlhD5ny1oUmIPUjjs+KfK3UPz44RGb+g20O7FqK67zg== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; From: Nathan Chen To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: Eric Auger , Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen Subject: [PATCH v3 6/7] hw/arm/smmuv3: Set default ats, ril, ssidsize, oas to auto Date: Tue, 12 May 2026 12:35:19 -0700 Message-ID: <20260512193520.3109172-7-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260512193520.3109172-1-nathanc@nvidia.com> References: <20260512193520.3109172-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0011.namprd13.prod.outlook.com (2603:10b6:a03:2c0::16) To DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PR12MB9567:EE_|IA1PR12MB6018:EE_ X-MS-Office365-Filtering-Correlation-Id: 1b633515-565d-435e-ac7c-08deb05dad24 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|366016|11063799003|3023799003|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: RFc+Jgr/qNR6tFFSUeiV4JDR4jZsuLD2leOoXu42SIbl2u7kZrM5ATfbC33QdifoQ9oN8kHaAhY70rTvde0jOQyWhnoUjdBf1FgPLH42fuYsX2Y8GU9N1Vk6MFULhQysIPkkjehIEX+tMs5NRADtHE0dYI9GxGUppRRMcIne4tcCTYH5E5P8nvG1LUPPkLGB/tfQUUdEYEb+928ICH2ul0qxZNFaeZAMBYER8rK9E1Ptq4AY5bxdchGc+tBVCwASLqFBgxAjMxZwFTanidIh9SKES61F8bvUTbRUGwy5NawLVPaFRbQamYnV/tnSND3jDayWHlY5pOe/Zmv1iC407jkqwYI5QT88uVAdhcFzZHLJzg1hBIeNUxchBOPMw2N3IVJiygrM8r/aAcssCoVzgLEW5m7fEv4BkS1IQ8cExFaEJGNT90kVsK2Y1/f4R1/bONSuWfTRmUYRipvh0GWz33CnFha+pm54QSgV+vo/XxUSrZIV+mbmZ5tT8kNa9UOdcqM9oqhzUzL+x5vQxXSe3z1jmIF4iZYHTmYodBOKeDgLp7MNJ3GzUioUQMO9Zt4FbgbHr7nb1H7DkABepYQlN6+Hpvca4J+C4p99ujEce8GHp6eH6Ov99d3GfW56azSvbKSRI7a5nJIGB6Fa8TkdJd50ZLhiLmF4Bm148PmufvGSOu9Ava0dG9vMy8kWQeoI X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS2PR12MB9567.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(11063799003)(3023799003)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?wKltpAE/LtGr/Qbq9F8LMXUovxDCPoa2Sd4GrVXyX9kM7tP2G9ul41+Je4ou?= =?us-ascii?Q?5jNavrJStsFvvECL2IOvaJFrB+w2xCfuATvTCmQryKQwuphOcswX5A7V4TMy?= =?us-ascii?Q?nLJmsWwGH7NZpk547Ef4ry4zL94IjHHHc9Y3CiTVVhMemMhtoGb207zx4He8?= =?us-ascii?Q?oKi/VjnF9FDTrwOKHUCbHFptCPL0/rPwmwJFjh58SxuhznzF0HRKK6N6S54w?= =?us-ascii?Q?w0TuJEGcmeXFwjaQ1Yo6puywI4jzKuMAdGnfK6j60hPHa7TqPIi7E/2q0YTx?= =?us-ascii?Q?pB/QjxesJRwnA5YRYvLfoXxS5+YRLUEB17fvY8meL+sLpXQ/2ofIAKsFcblN?= =?us-ascii?Q?MC52qp1F/IPpCAk0mb+yGuTGZ1IcEj2auviO/yBZEyALDlxNtLzbmRjmGSFl?= =?us-ascii?Q?3Sa4S3+22I171J8H0k+AZxvZrGVI6BLtZiflgnze6IzalFphfYT+86CMj30m?= =?us-ascii?Q?UKaGTX5sj5GZZ2vJBCZH2+Qwl7tYDrBmvlFNCVu4wafbqFW0m0KN2aj1iHET?= =?us-ascii?Q?hh2WjCP4yobjZ93BXp+Jj3/9316w0f0LBvUCXuL3Xz9wQKNCsR12OZJYHWc6?= =?us-ascii?Q?1v2ioPvtWRlLKm5vDlPTxwklBcI+H+bEsGeD4iEHUsxfSYOhycuOFjV97+yQ?= =?us-ascii?Q?GDwzPIZlMC8UVhH5t3f+vW4dQetQ4WGx3PYHTioZy7rWVSo85Kb/M86nSQBe?= =?us-ascii?Q?gdTY9rfM2Ivr/n4CpZ8EfbLDhVoeTjnpxDfqhoRtYAEgaEn+YnSdv52L//zK?= =?us-ascii?Q?mcJAtZ1VbZR7XPBhoKOOjn94gN9+ba3azp5dotYSUoAN+xItNVrmNGotD8DF?= =?us-ascii?Q?peRrIXrfDRmT94qRAxjQZy/TIjirqL9Fbng2ZjsXTCM4oWcAeNjQjXyzItD+?= =?us-ascii?Q?Mjksdg0nhr8awgNL8bxb4eLJmaoA3GaALW/SKJjOk6xuHxag82LFSim4bglm?= =?us-ascii?Q?H/n6vBHqJ12FTNdyoKnQX4j3qGHPDiWyUZLb0XXPxYzbhxlJX1i+4WpjL7Gp?= =?us-ascii?Q?lljj08WSTcvxPmAPydLvKRH9QgWBZabZMDlNQkYhjdXMDIuxpqNFPz1oenLA?= =?us-ascii?Q?qeAMJXdiKKLgR+KeRCU82ZsE7gffzM+ipsj9Q2PuMvK8D0J9smG7VAWJEScg?= =?us-ascii?Q?AtjyPKaV1wVJHVNfXQGv9c/ahW3C18ndo+NrLGjnZ/Ft7uRUqSsyRpA+ttkU?= =?us-ascii?Q?eJtbQvet3sFvP9ASCTnKyv6QnNGxaAFDYA0HQTkndq/oLYdqxMdDnwyEM306?= =?us-ascii?Q?oZcxzrBeF2BQVLB46sgdUHQeJONQVNuHXU9cfK1KJPDDkHSqgy5ei/t6pa9S?= =?us-ascii?Q?KwTu2IbJsdg/+38akwm+x15h8nyIPSe+1mU7Zl6H+Gx3CaR5+jHjKD2kMERS?= =?us-ascii?Q?9Oba8pWVtMP+awhFOHcc8T02jxcWiBbAEvtXYmrnstObNVWvwsM7+U1UNOxM?= =?us-ascii?Q?7Yh/OX1TWHGWHMAMeLtS0ZEO1pPM1r2J+q2EEjzb7hN2DagmfZ4t2Nte4qhn?= =?us-ascii?Q?YJJtDQMGnqmXqpiAw2UDWeE5XZ9OPRYEvYssMgG/mQVN0/F2Y92vWC9sGdIA?= =?us-ascii?Q?7/aHgfquQZAm+dh/MPnduVW1Krmsl3UrK/ZPMtCzH6nM4kssIFcfE475jAAP?= =?us-ascii?Q?wcXfWt25pnJVeduMTx/n11iSZreN7KudLzQncTRSUmqSd0RAQUIONMeDpmfD?= =?us-ascii?Q?0YigYEL5sNKvlKiyfPD4uffAzja6Hgh3b91MHDxZWn1P9MDT/zhHjjUGcrFT?= =?us-ascii?Q?LwU1EfpArQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1b633515-565d-435e-ac7c-08deb05dad24 X-MS-Exchange-CrossTenant-AuthSource: DS2PR12MB9567.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 19:35:51.7832 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: EKroXTf/+hiE+FPbJh+NT1SAdpiRNK/zMZeBwnN92YfK2TKgSNtcKx7JjHfoJ/gtUzK/7QlLrU+FLdf8L7IE4g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6018 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=lists1p.gnu.org; Received-SPF: permerror client-ip=2a01:111:f403:c110::3; envelope-from=nathanc@nvidia.com; helo=BN8PR05CU002.outbound.protection.outlook.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @Nvidia.com) X-ZM-MESSAGEID: 1778614656268154100 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Set the default value of ATS, RIL, SSIDSIZE, and OAS to auto, in order to match the host IOMMU properties when accel=3Don. If accel=3Doff and these property values are set to auto, the default property values defined in smmuv3_init_id_regs() for OAS and RIL will remain unchanged, while SSIDSIZE and ATS values will remain initialized at 0. Introduce a new compat for the changed defaults. Signed-off-by: Nathan Chen Reviewed-by: Shameer Kolothum --- hw/arm/smmuv3.c | 23 +++++++++++++++-------- hw/core/machine.c | 5 +++++ 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 31c2eec2f4..665e6a2538 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -2129,12 +2129,19 @@ static const Property smmuv3_properties[] =3D { DEFINE_PROP_BOOL("accel", SMMUv3State, accel, false), /* GPA of MSI doorbell, for SMMUv3 accel use. */ DEFINE_PROP_UINT64("msi-gpa", SMMUv3State, msi_gpa, 0), + /* + * AUTO values for accel=3Doff will resolve to: + * ril: on + * ats: off + * oas: 44 + * ssidsize: 0 + */ /* RIL can be turned off for accel cases */ - DEFINE_PROP_ON_OFF_AUTO("ril", SMMUv3State, ril, ON_OFF_AUTO_ON), - DEFINE_PROP_ON_OFF_AUTO("ats", SMMUv3State, ats, ON_OFF_AUTO_OFF), - DEFINE_PROP_OAS_MODE("oas", SMMUv3State, oas, OAS_MODE_44), + DEFINE_PROP_ON_OFF_AUTO("ril", SMMUv3State, ril, ON_OFF_AUTO_AUTO), + DEFINE_PROP_ON_OFF_AUTO("ats", SMMUv3State, ats, ON_OFF_AUTO_AUTO), + DEFINE_PROP_OAS_MODE("oas", SMMUv3State, oas, OAS_MODE_AUTO), DEFINE_PROP_SSIDSIZE_MODE("ssidsize", SMMUv3State, ssidsize, - SSID_SIZE_MODE_0), + SSID_SIZE_MODE_AUTO), }; =20 static void smmuv3_instance_init(Object *obj) @@ -2162,20 +2169,20 @@ static void smmuv3_class_init(ObjectClass *klass, c= onst void *data) "configured in nested mode for vfio-pci dev assignment"); object_class_property_set_description(klass, "ril", "Enable/disable range invalidation support (for accel=3Don). " - "Valid values are on, off, and auto. Defaults to on. " + "Valid values are on, off, and auto. Defaults to auto. " "Any attempt to turn it 'on' while the host does not support " "it would fail."); object_class_property_set_description(klass, "ats", "Enable/disable ATS support (for accel=3Don). " - "Valid values are on, off, and auto. Defaults to off. " + "Valid values are on, off, and auto. Defaults to auto. " "Please ensure host platform supports ATS before setting it " "to on."); object_class_property_set_description(klass, "oas", "Set Output Address Size in bits (for accel=3Don). " - "Valid values are 44, 48, and auto. Defaults to 44 bits."); + "Valid values are 44, 48, and auto. Defaults to auto."); object_class_property_set_description(klass, "ssidsize", "Set number of bits used to represent SubstreamIDs (SSIDs). " - "Valid values are 0-20 and auto. Defaults to 0. " + "Valid values are 0-20 and auto. Defaults to auto. " "A value of N allows SSIDs in the range [0 .. 2^N - 1]. " "A value of 0 disables SubstreamID support. A value greater " "than 0 is required to enable PASID support."); diff --git a/hw/core/machine.c b/hw/core/machine.c index 63baff859f..3339da99ee 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -38,9 +38,14 @@ #include "hw/virtio/virtio-iommu.h" #include "hw/acpi/generic_event_device.h" #include "qemu/audio.h" +#include "hw/arm/smmuv3.h" =20 GlobalProperty hw_compat_11_0[] =3D { { "chardev-vc", "encoding", "cp437" }, + { TYPE_ARM_SMMUV3, "ats", "off" }, + { TYPE_ARM_SMMUV3, "ril", "on" }, + { TYPE_ARM_SMMUV3, "ssidsize", "0" }, + { TYPE_ARM_SMMUV3, "oas", "44" }, }; const size_t hw_compat_11_0_len =3D G_N_ELEMENTS(hw_compat_11_0); =20 --=20 2.43.0 From nobody Sat May 30 17:44:05 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass(p=reject dis=none) header.from=nvidia.com ARC-Seal: i=2; a=rsa-sha256; t=1778614626; cv=pass; d=zohomail.com; s=zohoarc; b=Qfj4qT2IKsEhWydVXVDAcdZ4QT3wKGaQardzVpot8/faQ/fla/1zXsmGX60M7N8mZebqYa5PLLSCtswK/8aGzFmFJ3bxPYl5fPZRUvHSiuUX5xxZziEQDbjI0vB6BeqXl7i73muEdjMwYgkZ97R1FETkA2rIa4o3i6B55hKeO0s= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1778614626; 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=UGxbxabj2Jly4mv/AmoyzXxYv89Sk3O+crHoQQ32ew4=; b=LtPhzFHLwx16A5Qjec71jcerzsvXBOAS/+mSzPtZkcgznY4wA4zw06KT2ZB255bdsJvLvAO26q9YaZO+T9SIHcSiVCsds8GRiGlyNcrvSzsWUGG61kRg2fhYtxZCiG/+G0UIS3rG9I7TNgRqyyTDpFrVPf6QGKywl+a3ffZ9qrc= ARC-Authentication-Results: i=2; mx.zohomail.com; dkim=pass; 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=nvidia.com); dmarc=pass header.from= (p=reject dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1778614626160707.6721162602367; Tue, 12 May 2026 12:37:06 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wMsu8-0004eB-RV; Tue, 12 May 2026 15:36:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstu-0004bz-8L; Tue, 12 May 2026 15:36:18 -0400 Received: from mail-eastus2azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c110::3] helo=BN8PR05CU002.outbound.protection.outlook.com) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1wMstq-0005nm-JJ; Tue, 12 May 2026 15:36:17 -0400 Received: from DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) by IA1PR12MB6018.namprd12.prod.outlook.com (2603:10b6:208:3d6::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9891.23; Tue, 12 May 2026 19:35:54 +0000 Received: from DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5]) by DS2PR12MB9567.namprd12.prod.outlook.com ([fe80::636:1b52:24ca:d7e5%2]) with mapi id 15.20.9913.009; Tue, 12 May 2026 19:35:54 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CU8E3dC8T41oDabdmDPFjHXmudJ+KYVClMg5XV3s3Cs8BFkmuu8W3OkFPpKr1SIYgRw4YBV9GPnuY+CVrrP1nB4e2EF63O2Kz3ki6nEKhsm4vpTEcN4uqKftqRnzhSQa/519rcDPCMVOlDQy30EJsw+bln+4bLDfiUEIJn/T1Jpp9J6FOVTN8URf0ANEY8+IXLndKv3fMxrDvAQcCwIFKwnivakvNa5CqyOF834AceqYsQ1hxKuTdxegC0C6yB2Xkx0e3d5zJdOe1lpglHnnolkaT3GIDdvTcxTlmaTwQ1vCDie9j/3cmeo6bTOsO50bBmF9qpTElPJ1zXjZ7rjhhg== 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=UGxbxabj2Jly4mv/AmoyzXxYv89Sk3O+crHoQQ32ew4=; b=Tva5GLiOI6KOZk4bkYeYEpQAlBRZQ11+zXLYdeqacTROtnEN+J9ppABv2mCB9lWMMj2SirJXVORlLQYU+9hzDBplPG3il0tlJIZgOl6MavZ+BFTKAu06KXMAjy56Rf/edvJCx0LYBRZrOO6kTDUaGeq4tbV4/mcAExakiN7AsB4nd/J1b+nVXxx7MVZDzHpqHRn4P7JRA3Y+W0HkKg4hswlroqz5rDSto0Q216g9bToIWSpQ5obxEaPrTMx3zsyrION337ZJRX4ZC2WwX6mBzotjDKPqjQ0ziMCaeOOg8Fssnt/MAeE3cW1HUiVk2Ra6Em1Cqne6E8+ZbbkFbBla8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=UGxbxabj2Jly4mv/AmoyzXxYv89Sk3O+crHoQQ32ew4=; b=UePxnA8LdtxWNcj6ycUKAmIq0UPIxtytt6HHPDUertLx6+BRyr5SeTnio0q0jOV1T/DPvL+L1xHhb5BSiqk/lWppWYHvyIrh3tI3wigswxsBO8JfLmpuNkmAqlA/Cdu7oRARDJLR5TF9J8kYF/F+zQMiHIdGtzoPuAE2oViZXU383BRB78ENLbxNvYb/u70aXCNX/o0pMns2KsRlj+yXrcZWUgJkR33jHO+VjwtdGc6NeioS8jzLD7kw5/8IjYc6ry3iBMXAuQ2F5+eQMd9f0+MLTgxkKTLzFmVKWkfdP0+PnMaybWPFDB+0XozTlZpxokFzNThDlTSc2vTY5f/B9Q== Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nvidia.com; From: Nathan Chen To: qemu-arm@nongnu.org, qemu-devel@nongnu.org Cc: Eric Auger , Peter Maydell , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Zhao Liu , Matt Ochs , Nicolin Chen , Shameer Kolothum , Nathan Chen Subject: [PATCH v3 7/7] qemu-options.hx: Support "auto" for accel SMMUv3 properties Date: Tue, 12 May 2026 12:35:20 -0700 Message-ID: <20260512193520.3109172-8-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260512193520.3109172-1-nathanc@nvidia.com> References: <20260512193520.3109172-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0025.namprd13.prod.outlook.com (2603:10b6:a03:2c0::30) To DS2PR12MB9567.namprd12.prod.outlook.com (2603:10b6:8:27c::8) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DS2PR12MB9567:EE_|IA1PR12MB6018:EE_ X-MS-Office365-Filtering-Correlation-Id: 909289b1-e915-4bb7-e2b3-08deb05dae7f X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|376014|366016|11063799003|3023799003|56012099003|18002099003|22082099003; X-Microsoft-Antispam-Message-Info: ZNJMXi8RDlI9QM0eojs2XGCpgv5GhIEPQRaU/QOdA/3qJJSbyyYMdaEy5uo6ySjxlddyLxdtxHwXoqYfF16RXyj8XtLFQQDwTftYRFimszhf9Ow9GzQUhiJnC1KxS3v5njqKE/MzjsjvjOILgq3mpKTKlM2/ST5+J1dIFiRFUe4PORphsW6xFwYcNBIxQP1vSb07PUeGf74yRa6r76ioEkL33NNnoLVM35zZd14I7pR4mdMqUDSKe8DQNkwnuiKTw0CvfkQVEY5a3xnw6D3D797wif22x983U5b9xwVVZ6GrHz/jsPWH6Fzm78kM9e0kq9KG0VmhRz5Jc3GRfLIcU16biQ5O6oJvEy13kFN93mCNyXWAHblaX9Y93U2se1UWPaZ2ho5SK2w5runAM8ALPrdjA1n+UsYN76KEEuIZk1p7zjfeCn1KMHo4RqaIpyhbTlJEnGdTgWF6HfoM4wehG1OBOpEaqa+IJGMMQ1opNPntreOmONX8Lzdw/EZROP2IjataDLw+9ch0HV7amrXOS7wEJIbbWtZUpbIFVbJ/7eLbTrzXl7XjH4PGtn6ZInwMlkdSMFSrzh8rwhEXNV9muv1aGcDDeoDB81rm9AGAY+j7NZ3VHm8ELplMFmtmgNfub407bJgHNhDqU3+xfPZkJ4i6dcIC3IFFq4L3xG/Oad6hM6hHh9/K07MlwtdzoSEh X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DS2PR12MB9567.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(11063799003)(3023799003)(56012099003)(18002099003)(22082099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bSASpjXtMyrKZGMjR55u6w4p6I8eNZu0WHBGBFPtNJ3pTUoyppFyF7y2ukgH?= =?us-ascii?Q?Xb1ouvWu1E2lTZBnR5hWj4e8fA6CN6wFSkJpyCJFYObEsGPdyu9D2twRdcHg?= =?us-ascii?Q?0B4XMV9NOU4d3uhLTzIsPGghhpJ5sF/fWndlivas5CebWmfp4FXiXvzmdwN7?= =?us-ascii?Q?qZDubtuY9Q7y/IDaT2f6p12/oYQmLqJvH8TSsxZ9oX2JAsf5aV0dANlnqkcD?= =?us-ascii?Q?OMHJ0dO8Cvo5/Krfvt5j7SUmEHyKH06IWJ7o3EObP7RNLtLz9CguKH8vV9dr?= =?us-ascii?Q?az9Uota9nsjA0kYva6MDho1ShqmlZoPp7/HD30Fi4O41RWUu+YvTnNliRBKL?= =?us-ascii?Q?yqgdF6xCkLudJmSaS7K9yTM+2UqJAkxFMzdtsA+a5JFwOQxAoWe4zTfjps74?= =?us-ascii?Q?nZ+22ZuUhzqtRHaMQNftLOomX0Gc4cZTbeasN1uigFyYFjahNhPb6e2TF9+o?= =?us-ascii?Q?+ngTVfQ6YscVk9KHvBTWEqF6/TahkqSCv6t55+8jB/wY9AUZ3hjR8DNaJ/cD?= =?us-ascii?Q?9VwyuPpY0rbf/rTThFOC8ziSA+hH7mQUlIPMZtTBwt8A+jTFNYNLBk8Xu7ef?= =?us-ascii?Q?pnrE0A2LMbRJJzqjg1NguusFbz8K9GOTigBJCX/6BsXia9qfSVtZEqkCpuhT?= =?us-ascii?Q?0LBMNgfiurh8u+YtjCOqgUs+g9nAIXZaLyb5JW4l7VJvygmJOiYFamp9MO02?= =?us-ascii?Q?KBEBsUiwG1lgxBKcEqJk8clgjLLivqJ6l029zaV2rlkUVMQYkO/qcbZLrP81?= =?us-ascii?Q?p4ZcTDRTbCd+6+qE8eZwWmECssLvWJwUnAAhpVJOK7XvsXndIFfBKQRVhayM?= =?us-ascii?Q?rcKhPF6h9nxjZFlId+rr4oeEBWfCrgZ/I5MRpL+CNIm6SdXaBewNX06+Yr8W?= =?us-ascii?Q?YVWZkQCehYiSOjD94mQTONSnv6dnyC30qz5PdJU3QuNa95h0VtmS3NzLlIsZ?= =?us-ascii?Q?BwJANKfhQ+/kMVLkPewkECT4nyNZSwocxlTliCO0Y4DdtKG3vc99vhPLvhYv?= =?us-ascii?Q?bbFxE1HgPgrOUZggwGwpOTTmUIuO+4MbbQw/mtMpxypqNyTxUuzsVNGkt1dY?= =?us-ascii?Q?J9cwBeazmWsB0YA8ML5/kIDLssZ3y5ziPz4Bww3qiJa87RbPtL6H6RVaEjsU?= =?us-ascii?Q?coQufrTduy6gn3P2Y2JFBir3ekGjJL9T3zgaSvHVjlc1TN3+talN/Ge1Vw9v?= =?us-ascii?Q?rN/c5anXK91bfRQveFgVO4CyspM0XL1aMUmRPJ2lIpQwLvKb5ZX24jj2NX7X?= =?us-ascii?Q?D9XDf4Hht9NvQd6kLq/8jmrDE+7n+bVaQJo6eoKau/QAM/Y1WRX8QepG4r8H?= =?us-ascii?Q?ejZwAjAht7KboTj6USTacH5/ohwYzip10Fk6ckyj9GVp1RhDBfNu4JN+Y4bO?= =?us-ascii?Q?I4K4xAb1yZpDwxuxvxx8QrSaQa1rVbISFx6gfziK0OecCwBkRUCm1x/npf0V?= =?us-ascii?Q?8x1aq/uaJS57V47P01U1HliR8MzPeWz5VD/ErYf6pbGjLML0OAkiW6uQqTz+?= =?us-ascii?Q?ctf2HGQamvdAfujPX8l5Yn805WxSJqeGUe/kAfR9RiX1ztcWo3tp2UYG0EII?= =?us-ascii?Q?+wJiTcbrRs9GChjrTGAapE4PWf6OM/Uhy0ePb/vv0PNePtdRkMoWG5ytV7j9?= =?us-ascii?Q?IbirTA4MUv0CBneNK4ZwnFoyKdxG4FcI0qeDJATO+IBkz94zcuv3a9gdfP9P?= =?us-ascii?Q?lfl1RheGn27qPsOT5xp+/fHrnbEmq/j/4yNFNMltvDe9Yodm2/XvsCae6/fI?= =?us-ascii?Q?ZtiwsRSo1w=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 909289b1-e915-4bb7-e2b3-08deb05dae7f X-MS-Exchange-CrossTenant-AuthSource: DS2PR12MB9567.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 May 2026 19:35:54.0656 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: uCK4NCfgOkHG/s9o1tZq57uF8h9HhARv8k1y/uuODK/pYzwZDBeXZZ2FpXtPU70FW1a13QbU3sVNpLPtk53u3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR12MB6018 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=lists1p.gnu.org; Received-SPF: permerror client-ip=2a01:111:f403:c110::3; envelope-from=nathanc@nvidia.com; helo=BN8PR05CU002.outbound.protection.outlook.com X-Spam_score_int: -14 X-Spam_score: -1.5 X-Spam_bar: - X-Spam_report: (-1.5 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.445, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, SPF_HELO_PASS=-0.001, SPF_NONE=0.001 autolearn=no autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: qemu development 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 @Nvidia.com) X-ZM-MESSAGEID: 1778614627677154100 Content-Type: text/plain; charset="utf-8" From: Nathan Chen Update documentation now that "auto" is supported for accelerated SMMUv3 properties. Signed-off-by: Nathan Chen Reviewed-by: Eric Auger --- qemu-options.hx | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/qemu-options.hx b/qemu-options.hx index 96ae41f787..46b02a1bb3 100644 --- a/qemu-options.hx +++ b/qemu-options.hx @@ -1291,30 +1291,43 @@ SRST Enabling accel configures the host SMMUv3 in nested mode to support vfio-pci passthrough. =20 - The following options are available when accel=3Don. - Note: 'auto' mode is not currently supported. + The following options will be set to auto by default if not manually + set. When accel=3Don and these properties are set to auto, the value = is + derived from the host SMMUv3 capabilities via IOMMU_GET_HW_INFO. With + accel=3Don, this requires at least one cold-plugged vfio-pci device; = if + none is present at machine init, QEMU will abort. =20 - ``ril=3Don|off`` (default: on) + If accel=3Doff, auto values resolve to the non-accel defaults given b= elow. + + ``ril=3Don|off|auto`` (default: auto) Support for Range Invalidation, which allows the SMMUv3 driver to invalidate TLB entries for a range of IOVAs at once instead of iss= uing separate commands to invalidate each page. Must match with host SM= MUv3 Range Invalidation support. + - With accel=3Don, auto means the value is automatically derived f= rom the host SMMU. + - With accel=3Doff, auto is resolved to 'on'. =20 - ``ats=3Don|off`` (default: off) + ``ats=3Don|off|auto`` (default: auto) Support for Address Translation Services, which enables PCIe devic= es to cache address translations in their local TLB and reduce latency. = Host SMMUv3 must support ATS in order to enable this feature for the vI= OMMU. + - With accel=3Don, auto means the value is automatically derived f= rom the host SMMU. + - With accel=3Doff, auto is resolved to 'off'. =20 - ``oas=3Dval`` (supported values are 44 and 48. default: 44) + ``oas=3Dval|auto`` (supported values are 44 and 48. default: auto) Sets the Output Address Size in bits. The value set here must be l= ess than or equal to the host SMMUv3's supported OAS, so that the intermediate physical addresses (IPA) consumed by host SMMU for st= age-2 translation do not exceed the host's max supported IPA size. + - With accel=3Don, auto means the value is automatically derived f= rom the host SMMU. + - With accel=3Doff, auto is resolved to 44. =20 - ``ssidsize=3Dval`` (val between 0 and 20. default: 0) + ``ssidsize=3Dval|auto`` (val between 0 and 20. default: auto) Sets the Substream ID size in bits. When set to a non-zero value, PASID capability is advertised to the vIOMMU and accelerated use c= ases such as Shared Virtual Addressing (SVA) are supported. + - With accel=3Don, auto means the value is automatically derived f= rom the host SMMU. + - With accel=3Doff, auto is resolved to 0. =20 ``-device amd-iommu[,option=3D...]`` Enables emulation of an AMD-Vi I/O Memory Management Unit (IOMMU). --=20 2.43.0