From nobody Sat May 30 20:11:20 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=1776890731; cv=pass; d=zohomail.com; s=zohoarc; b=ltrTLRnGLSuugW5pLDsxZWA7riOAtXaoAEPYns6qIfqURUNySNUFGibhoWVXHsBPHYM1MmfY57k+/cypgbfyeJbZvTHDOa/NC64Iq6XnwfLLPbtWuOykB2S2BD2wsC6D3+qcmQi0zC8NkzP6bYV1NEOwr1dXaSrsQVlg3472Q8E= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776890731; 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=1OwSurik4J4X9c9HXqS7hHFNdlb3HuQJULq3X5TmB2g=; b=h0XRDj0Ak1msZkqykTj4iqZlXOFL4rqzj07xoTH7oEsrGa8TUFDqx1pQcBmHktiiBQlJ4qnNP0oxRrrPuPe+zVmGMVlYUmTNlJaXD/BDrbWMi4k6YoSn8oQrHcYYDh9fpcPu3lbZciKBpSm+T2tHlJQAK1dmuTe94C/oRLhYNQY= 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 177689073157465.94531344650954; Wed, 22 Apr 2026 13:45:31 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wFeQm-0000TM-AQ; Wed, 22 Apr 2026 16:44:20 -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 1wFeQh-0000Qo-KW; Wed, 22 Apr 2026 16:44:15 -0400 Received: from mail-westcentralusazlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c112::5] helo=CY7PR03CU001.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 1wFeQc-0006xi-2N; Wed, 22 Apr 2026 16:44:12 -0400 Received: from CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) by SA1PR12MB7368.namprd12.prod.outlook.com (2603:10b6:806:2b7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.8; Wed, 22 Apr 2026 20:43:48 +0000 Received: from CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e]) by CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e%6]) with mapi id 15.20.9846.016; Wed, 22 Apr 2026 20:43:47 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=UgiJ6sBqPfvI807ne9JwBNa1ymZQN1DYzh8ExCdV1v5GQY5ByMj7To24U7Hzb7BJmtd3vMhHHL1Gfork4gh3nKSQkexjVhm8foQrEGPn5IFM87tAXAuny0wzRYRAH4N/cwdu4YYGZv2olxlU2I2yW3RJrdUdEshw2T1S2U8j7D+c4t8SKXg+yu+ufHv4dFFF7/vpxxDQNsRpYPp/MlvYkPJZ3EtBR34nGLj1X9uuMGVFeuHV7Ndd1kbBDZbsamJ6XDrf0ixHVGpK35BFEaA41acANnZ61dwPnR10JYzw8TsEc6jXztCX2KaXEmkX1bys1w2f7Q1ov6dZ5r5AZDPcuw== 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=1OwSurik4J4X9c9HXqS7hHFNdlb3HuQJULq3X5TmB2g=; b=KKtG0gv6UmAqvfrER1Zsh51sOfRNDMS0nwOmfKqSnZ0kKl8xzJEBSoGyGJpXZhcFjc25X1lL0IEeWbxM3spnujZDeZPKo+WlZ5L2KURl3S0gaaHSwfPI27Txbbbbz+nlbFEPIUCzfhDTT6Bm5ZDtngIvXyhQvi5cBrQfpPBe6wHoR0QZsKT209iWMyeUSX8OtgM4skeCD6HLvJBe9mRpDb3kvxGlDrOjn8I1gnv7zyDAI7S7jL+yVOjT65XCKb+8ri3hK5evnqX5iDoSQBmiL4+ezwZVqUKH42z4VvfaT9AH9lyDnrKRMJft4t3YJ4xdlPKj41b0dyFRNireyppXiA== 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=1OwSurik4J4X9c9HXqS7hHFNdlb3HuQJULq3X5TmB2g=; b=a8Rjobwx+tc9kzZzl34I+CTo02KcjW/W2wTza0ZLS3M44E8qXXGAchtf/DnN2zirUHUdpmxhg7KYpfpTciHAp3VWEGWzlJ8PTPJC1I9AnIwohTGvVsDOpK78npaohoykTU+fyWZQOfZCk5DZQwxoHlPrquQWyRgSXkOFwnVbHC7WFhYJH+kq3Z2G9Ochyi1J2mgJHu7H7Oc3vv5GujsyQM/uqGhJAA/X2ZSdNgZ9odhoSftC11X6dWEMvhWy7KmpRkXF2bxhHFWALVgAtSahHcekC+bNYwbxrvvXjtFmncyXF3043UOJd4YbGDm4TXGbT1M3oBvsJI6/3Xn/Nth7aw== 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 , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang , Zhao Liu , Shameer Kolothum , Matt Ochs , Nicolin Chen , Nathan Chen Subject: [PATCH v2 1/7] hw/arm/smmuv3-accel: Add helper for resolving auto parameters Date: Wed, 22 Apr 2026 13:43:29 -0700 Message-ID: <20260422204335.23116-2-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260422204335.23116-1-nathanc@nvidia.com> References: <20260422204335.23116-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR05CA0124.namprd05.prod.outlook.com (2603:10b6:a03:33d::9) To CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY3PR12MB9555:EE_|SA1PR12MB7368:EE_ X-MS-Office365-Filtering-Correlation-Id: 763a3704-28ec-4cb4-5a79-08dea0afd9ed X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: eH1G/FwZavdsecDB0SG90U/WFnXpN78jNwAEepQ5BGDD9IF8i9Zvb3VUQeVzjnqd4+wTSn4shttdu+7SXKGM2FVYrzY52VMsZiZQKKxg6vKClOrZ1wgaAO5XTHf0AooHBjnZ/iAv+HaLtVMaZGaNB2dNQSy+kg5fgLS4LQDS8IVfTGajoJAClkCRuT23Vu2/LT5r+C0sI9ugbxHBgE/Iep+S/2xIy7AwrYpFUxAK+WQXnI5Vt4/YEQVwD3BWgxchkaDHa8qR0KedBRHTf7bU069XZV8I/PkTls1/T1znpoh+sm9O2bs63yIMkYl/+YgRZvfjNIiPNM5TFYSJW0dmew60qqsnhZg7K7lIEfA+cWIeA83W8v6/zv3DzDSgIo1WiUMEcaLH96BDR0wl6tCXOFzm2ZOrntBWmhU9KoN7olgD0md3mF6LBx/X+RNnlNwna+P+u1V3BpL8zJdsIyjWrTtB6rW/1XUu3IAtmajJ8e24O1JH6F8p/ZPKBg1plyiG1+xlRvUyx9JxePsTxt6d+w2/8y5p2iJJYhmM/WCPQF7HdQSlouJ3k9XKxALifjbzJv50nUCap/Q1X8xwJKGr83/XVyekmBnEu3qx0dSmSv5zyKYQpS4xMoKHz5SMezCCbD6/Mbrln+IVlWvJaiVjjJPTENUwSM/MFCeZmemkE8sqi819kC7Rf3rWG7bMFzEU9XdYY2HXPKfh/BFZn0sKtNKmi0LohxCFBYp3/2EmboY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY3PR12MB9555.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?bIl59XKDZLGEiANqItVdLrWN8Hg8SBkCDJZn9jUX50sG/zv0eI1qNO8PdZHi?= =?us-ascii?Q?y2Zoz4CgmLatzHtrK4rBNDI6dnG8PWAY1otUlHmHxQhpv9i0CvWljVZmK1m2?= =?us-ascii?Q?Vg/KsiDZAVm0q3h+LV/VlzSV60m5f1LGdhlPgOcThVa+V2EbVYK1s45bKkxn?= =?us-ascii?Q?2FHUto5RvkytbPo539lyNBDO5BSrqRsDG5jZCjPAqM5+D19vdq8dU1NpdPkY?= =?us-ascii?Q?NhkQyfj3425BCIAJDobf+FeD6Xe+GDv671UcJqGuYLD1dY9lAd83On4dJcEo?= =?us-ascii?Q?F0OCzwbGEQpOHtSEjD9qOKCobrVnOQRxR4JuJ9kPTJGhPIJYwV9fkcFaP6x/?= =?us-ascii?Q?FhCJPnofSi3orvDibxiazzXZcwtA2omzn4YcVvOpHvI60DgRIVRKkqYr/F3Y?= =?us-ascii?Q?DVft8JfX2VLHQQtdc+8jMRDlKu3M2+shgMuYRV8v16yOWU1hZx34eSxIY1WA?= =?us-ascii?Q?p82yz+oLKAcZzrBIcfHQTEHIx5e4NmTvjsRCYYRUydXDUHJn8Npaifc67wO+?= =?us-ascii?Q?O08khtfCm4qDp+KpWpsWvIfZnUVOy0bybH51NcN43QUxwJyaODwz8bk9hrXb?= =?us-ascii?Q?jWp/8WkT3DFqUyXhBQOrRvusS9jD5gb8wOn1eX7QJlgy6OkKE0xyvgSZbopu?= =?us-ascii?Q?qhISfnCk0B3jglV/IuiE0h2tpmaWAjLR1iRm/OzJOtnfQIe3e5uAUPfu8uQv?= =?us-ascii?Q?k+42fPPqv6BRCKOSbqGg3wL9pLhZPAnH4SFxwo2iIjZ0zeWTqeA098hx53Sb?= =?us-ascii?Q?640KL12dmE6LSZEYiypATY1Q+NTIvQyxncGb1OI7pDr7ahfCV9rzDVJgWuUr?= =?us-ascii?Q?aNQy+N+DVq6vTOL+31kos+l2xfGZ9PZxMv3wdn/A1BX/HR1glHZ0akW1lstS?= =?us-ascii?Q?WAnGV0NBtfJSU+txMOR+NzwsHubh8TTQMXuV64cjMcDGavD6pZOwvt+kF1pz?= =?us-ascii?Q?/OEGbRWw1A5GlkkB0vEwnG8zuZLgxBh53x1gMxafsnyxlG2hjII6YxyovDV8?= =?us-ascii?Q?tRwdD4hvHoJkAQHLUTz1m4oAT+i2vsyimLbRxMhyA5nac829GzmHyy02Z5uL?= =?us-ascii?Q?AdVOHpG2yLGfY5aKEbiHeUO6DttuQjL0tTGyERIMuimAF6CvL8FbkKf6HD1b?= =?us-ascii?Q?+3djQYuelkYmRUKDJUsn2UdO79K3pzPZhmn9ld2tggE7UJHfX3mGYEV6H2ZH?= =?us-ascii?Q?Xjejdv96RLwp2Ax5AXTP+xEIlHPs+ccJDtpvBlkePSjASG+wdMDjvCiPbfl5?= =?us-ascii?Q?ZdZSMQIkHNaznFZ4aCWYIB6Y2W8p6dYbIjnpPLJCQJ1BiCsqQf6MjpdWBFM0?= =?us-ascii?Q?SBa0brVSnff30HwIN0hqox1LH+wXR3v5ZSCsPRwAYrQhK+yx5WpKCTBzFsiq?= =?us-ascii?Q?8KsxHkEJQoEL3OC8z7jLMaf8qk/m+G294WdMr7GiAdphAxASaubd25dvqq5c?= =?us-ascii?Q?UKKhmnMl8w+eUtqzrDBRZ84qzXz42fJcOCs9U5MnhuBtmogwn3K/GXiKvSZI?= =?us-ascii?Q?lPTRXc9ZxETFzykcQbtxq/eBlosbTuzUCNMcwqNSUf3tsupDHpS5yNVoAaET?= =?us-ascii?Q?efkjcEiMS4qGfZ348DKEmOOcVbgi1ERmI/ZNqslZMDnk/r4nSzATxinFSo7R?= =?us-ascii?Q?hBYKyWI3mSRE85LeRFdO8dEAjYhKmqkbl5UB02ojbyoh4mjvHvfieKgYRGWr?= =?us-ascii?Q?W8nWqFdlZVOvW7MD8CreKXDJ0sVpE7T9RamXFwB3FVK4OGjE44MiYGE3amdJ?= =?us-ascii?Q?CHEVZaayxQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 763a3704-28ec-4cb4-5a79-08dea0afd9ed X-MS-Exchange-CrossTenant-AuthSource: CY3PR12MB9555.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2026 20:43:47.0112 (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: xN2+ZtGSrnFErqISG1bKxKoUQObLcTb1UuM1KLxClRpANXj0vSjKQt79hL0+wtg65ts6sC+RpBCdj5EbW7y28Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7368 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:c112::5; envelope-from=nathanc@nvidia.com; helo=CY7PR03CU001.outbound.protection.outlook.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, RCVD_IN_DNSWL_NONE=-0.0001, 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: 1776890734691154100 Content-Type: text/plain; charset="utf-8" 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 Signed-off-by: Nathan Chen Reviewed-by: Eric Auger --- hw/arm/smmuv3-accel.c | 43 +++++++++++++++++++++++++++++++++++++++++ hw/arm/smmuv3-accel.h | 2 ++ include/hw/arm/smmuv3.h | 2 ++ 3 files changed, 47 insertions(+) diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c index 65c2f44880..8b3bbf3ef6 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)) { @@ -917,6 +939,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); + } +} + void smmuv3_accel_init(SMMUv3State *s) { SMMUState *bs =3D ARM_SMMU(s); @@ -924,4 +962,9 @@ void smmuv3_accel_init(SMMUv3State *s) 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); + } } diff --git a/hw/arm/smmuv3-accel.h b/hw/arm/smmuv3-accel.h index dba6c71de5..3c1cd55714 100644 --- a/hw/arm/smmuv3-accel.h +++ b/hw/arm/smmuv3-accel.h @@ -26,6 +26,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 20:11:20 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=1776890709; cv=pass; d=zohomail.com; s=zohoarc; b=VNmgl6u0/kMKIu1DHmv2T/fPmxlSLO3KPcF1WmDKuSBwcwNMrwm5jRcVFx9jyqQKGcyFjgsewAyNmaoOftw89Uq196hziWVXB5zVPBRnGL32tJaqpDWCjS7PWhiYTdjQ6VtP5YTaqS9BnolcvBXo5hkKYikb2QQzxkkUhnXdWmY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776890709; 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=pNQMk8199xNjxz/6z3c9BTg4hsIU2uR430Nbf/7d8rY=; b=ionI8A/BstbQdhiKAuneWwpAt8NqupXLwH4OI0xMEaOO5PnAjtIpTQhePbvqdofOrDo5HrXthHso5JE4oDUPt9uU4J3vez0DJ12BavZDH9kkf6rqjj+fSiuO6gskTOe/kLR0sXgqA3xxC+3UMRPQByZoFEZqSuKmYUYoZe/T9Lg= 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 1776890709147116.18952559124443; Wed, 22 Apr 2026 13:45:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wFeQl-0000So-IQ; Wed, 22 Apr 2026 16:44: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 1wFeQh-0000Qp-Ko; Wed, 22 Apr 2026 16:44:15 -0400 Received: from mail-westus3azlp170100009.outbound.protection.outlook.com ([2a01:111:f403:c107::9] helo=PH7PR06CU001.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 1wFeQb-0006uV-Te; Wed, 22 Apr 2026 16:44:14 -0400 Received: from CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) by SA1PR12MB7368.namprd12.prod.outlook.com (2603:10b6:806:2b7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.8; Wed, 22 Apr 2026 20:43:48 +0000 Received: from CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e]) by CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e%6]) with mapi id 15.20.9846.016; Wed, 22 Apr 2026 20:43:48 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=XaIQP6+pTjlu7wzPiqGJQyCG138+rFQgNYy0AQJI0St1F465Q3jnbHADP1u4JgPlC7lsZHZkYaLpAw8Lvy0RCvcyDWmh8T9eqalte5Rq6WqmqbStzFfXTc/RQrb43frw+QfqClQxMfynSBHRjZsJ+3zf23xd6dyossIPpbgvydWxG5cJ1wcY8y+wPI1VNo1zcnJOP16VVtzPl6cJD9omQwqkktR1jStVaNs6yELKV6buQNgazAg4sa84OGhN/MYzGKhgKenZvK4D5oXAmg926qAcirltFJj0a6RTmt3iUu+4BoKIPZfrT4lISG/mgajSewSngUQchknooJicr1vOpA== 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=pNQMk8199xNjxz/6z3c9BTg4hsIU2uR430Nbf/7d8rY=; b=bUL6ecziqMN/TbLhCZcMbUEiwjdVWa18o2VrQL8l7StRXBuDwS6gL6CtMM5JrQSl+Ao4m+eFMymzfA0YgFX95MDIJpqXu6hDiH90pG012H+lOUmTzHeDaBG3/K/rhhvip3J/K7FjFNt02Q9L4H09/4vGUCr+HJtP0f4fqssM9Cs6EekByyebirI/2cZO/eVtypbAbcTE55AVbfZMfjzolO+iDe275LR98ryIb7nVX6tNbT0p0EeY7Wu1G72JxdYUSApNprcvmiHYelqNXKD+5yXDOz/cwALftCM5jLIT2wj4jx6Ra5Q5gYPuIktbkpDty4yusPH4ITack9BhiouB2A== 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=pNQMk8199xNjxz/6z3c9BTg4hsIU2uR430Nbf/7d8rY=; b=JUrNNDsxTWeDb25LuVfwqg5WzRrod4KWGeI5NEJpV6EjKlv8LAwRT88wLxGkQEvNc1yVBwVsKtR/Dv2SOJp5B9T7oB7ROiDMHgVSwmlTca3ouFalzpgaVlkLMxtVODdpT+YX2NmmSlX11bboW6PHAINT6CeSP9YwtPPxl5diVk2N7LSAytSLwSq1MQBOwfChNWSIQgErtQKsOvJrwHNXoKCSK2AE2E3HWO9AQigcFTuD2nu+traEjIa3ePnKpNTTNjSml17cyuWln8NybzwD6a87qLUjNiBL+T/NJ2ldWwIjw/4FJHJ1d/1XXbZp+BC1elaSwCr3/UIYHCiY40mVcw== 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 , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang , Zhao Liu , Shameer Kolothum , Matt Ochs , Nicolin Chen , Nathan Chen Subject: [PATCH v2 2/7] hw/arm/smmuv3-accel: Implement "auto" value for "ats" Date: Wed, 22 Apr 2026 13:43:30 -0700 Message-ID: <20260422204335.23116-3-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260422204335.23116-1-nathanc@nvidia.com> References: <20260422204335.23116-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR13CA0178.namprd13.prod.outlook.com (2603:10b6:a03:2c7::33) To CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY3PR12MB9555:EE_|SA1PR12MB7368:EE_ X-MS-Office365-Filtering-Correlation-Id: 54c010ff-9c28-4de2-5887-08dea0afdad4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: HBgFhrJbOj0ggQuyx6ikLMOPBoEZb3qesUPg5V8F1VGUmlFbYQ2vRBER8eRlijOmorKDWC9OrD3pBJ4v1zEoHFVSHXduMwDsqW0e2oMtWyDi4G8k1Bjuo2CNnWk+5MUjueTdTkkPYxryoOgmlkps5upLmzT3zNHvPVBHQhamE7mO8ooY2vRv5N6YD+FTgPYGn/TZ5gY1QdwOTp5nzMDavAdY/IMIQaC0FlRETaZ4XNJvcHC9XCK1izS47Q9k6XjLjrmaISxEJee+iXwCPAL6Nrxef3TTfBNrqI/3CUXDj/p+yLVWYhMg9C/y6Om4C5mxnpOe900D1W1lBtGegPkPzY6Q0UyozX7AQ70EsMDrQa8f3i7F73XAdktuMXS7+a8IOsZ+SvP3Ib3GRWn4+rytF8nxGfwWFC+RRA9hgZ+zUMPkxJTUodtBEcu3Wpb5VChEJJ0W+Ic0kGAsY8IEtCjTMQFin4K0jbjij2zf+WV/9lQX/Dwzu9YK/2GoMSWL9ACFjfHDbZ/7OL244gRzEhyxkb1h++lDNGdI29DHBtz91t1LKw25KAV+l4/VZA6klvQs3aIysGt1FmTFgz0JISgGBT3BZYmLCZivM1NbFwG8ixLAtYYB1zjyYBCbK8ARo+wy2MdPHeJ54EZ+MwBhnpXA18fBk7YmOTbt5xR/iQTB7bESYHET6yLCB/QdAQYr30dsfqUOHDR9X/Agll4m3P5ReFe0Hpsaw9p4EJ+d9nKJMVI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY3PR12MB9555.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?SzuE4L5b83qAcUXmeNvbOhQxQurSehPWWEYDJ/NWLseuDhCGgRdxQD17n+Bi?= =?us-ascii?Q?ezd57w5IsYpPvIk9gvezVHvVR/YAYBlFMe54U7OnywxZJOwBg1CNyhRk1Ky0?= =?us-ascii?Q?ghmS0/5voPwAgBs/HokkKmkVOMYdPmGmJfZpOXpGdlp9tN2A66kuYqdNDuvF?= =?us-ascii?Q?FH8IfyctlSwJDA/mW8SNKnt1iwZe7zGuF6R4y5crKbMdSq5oC479X2eSVkVr?= =?us-ascii?Q?Jq/j27Cq1ADV2Jo8FuVKSEy3svMSyqAQRO117HfPBo6R7nfXHwNboHY5H9S+?= =?us-ascii?Q?/rigtqBUDncvjgWMb0lpfTKrz7LRahVAfpkdofrmdaBvOVpVBeXPtAg8ta9w?= =?us-ascii?Q?c2s2nMHSC6W7+gfEs8rvnCEXnQT8+tx0+hx1QDH15oJ/CqjFIa1ydbXjCejL?= =?us-ascii?Q?6SD019K2G/wYcsXS0nxdk42O2GxUc4SAgSCHlEiYBhWVMyg6T00iUN5WXwTW?= =?us-ascii?Q?N3Kvm6YsHEB9FuIb7AIWxjNjq9W0uO5o5UlXQnfz8oAIqVIlX9lR94uDd5ID?= =?us-ascii?Q?4QZAZpHIrGan7fu9AymhhPcxGMZaX+LUns6C58LjtwvXOA6BHULCITkUHK+g?= =?us-ascii?Q?IhUnrXE9zT5iO0MsYjLSHDmCo4cO3bC8IMtB15UQfGjjojwq79p2sMRGD1ez?= =?us-ascii?Q?YBf9a+tCaxcSARhXZ9Ymw/hvmBsYOW3dS5NsYQMr+fjAcH5uI7T5R5rG/nc1?= =?us-ascii?Q?5pmkOsRFYTqQbBHSatnRQCsAqeznpPCkjf4y3cbJUH35hrB1eprAkTNw5kUT?= =?us-ascii?Q?nWoQd7aVF+Ee9BQ2J3vB0fEWNe0mylt+GoqUY+VP5xH9utK2FOsbRL6157Io?= =?us-ascii?Q?8HxFeB1Fb4aKf68vZxO6/Sav58gr3swWdLWYPNxi4vVkE3bpjW9hple5PQ+X?= =?us-ascii?Q?+Fh7ByvD21IQp8QzqlEw0bztxQk2DDroGdSojCfdpGOHTU13leNAwWCNt1nx?= =?us-ascii?Q?uUsKaqB36xo3t1ECJIBL7IfG301Z4bpvVKRhO6IO/0v6XSQdEPM2sg8M66Ie?= =?us-ascii?Q?5mTTC3YpRzUmLjF9VECZPVWKOxwsCvb5INgVufpUW9YE5uZy11nMZLPZRx8/?= =?us-ascii?Q?EJp0QVGAekN7lEPd1alV4Iib9yvujGoEPlAQkXK9mMoHeq2mu4y2ObxtR/AT?= =?us-ascii?Q?JNv/ibJgFDnm7MZ5WKQIfjKzP8JpITzV+pX38Gn5O+XIUA2SutCBkqhEbaEi?= =?us-ascii?Q?k9kM9z+as6JJYd7+B8Gzy9euROTgVBLugDplULP7rlS1lJ5NVMTLxZdJ7fx2?= =?us-ascii?Q?uRaLXLfYvC9sL0wBcF31yJV+LZn9pcNhujHtRFY31PKBuCqRA/JxT0uZaBCi?= =?us-ascii?Q?wU8Mcvvc+nqzXJc3I4K8me3OWlMGY4uRCEQsq7kaNw9NanIXPRC7gC/NclCo?= =?us-ascii?Q?O1+tUZmzMqqrUps2SnTUnmNfqf7xlBALJSFLBfjF31i9PjXQI+jxEbh7qx2C?= =?us-ascii?Q?K+SgOYu9GNI0AUUgbIgvYkO5snI4/0rcSg1sv44LcGrh7kcuHezdEf8OtuEx?= =?us-ascii?Q?zwelxW7NzdhZvb/elxOLOhqFPPWFL5Kl5trHtVE9Qh80J4hZldk+xDrvsynv?= =?us-ascii?Q?Rchz1aao0HlQpM/510Y9MkZ3OSBbCk/tw+8XSNZLTuZRyq65yoMzo+ij+pMc?= =?us-ascii?Q?yKJG0Ivf2rITxGDmqD+GM8kTTNQHVfCpg9mOru5t2fJRNCYbM1w0NE03gtIn?= =?us-ascii?Q?zmBb4e5yLhFb3CEoCv5kdtJr76aaEs0jTpOLIkXt4EJa5CYw4VafzLWFyWZ5?= =?us-ascii?Q?jO/HUzrOKw=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 54c010ff-9c28-4de2-5887-08dea0afdad4 X-MS-Exchange-CrossTenant-AuthSource: CY3PR12MB9555.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2026 20:43:48.5251 (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: FJo4jEVK8WpGuLGS8hTknva0xuGP2qqhhhEbiKexaNNigNbhJahdzGCdZ9Ke9oASd7l/0BexJoUhOTJGn1Zs4A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7368 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:c107::9; envelope-from=nathanc@nvidia.com; helo=PH7PR06CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1776890712426154100 Content-Type: text/plain; charset="utf-8" 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. Signed-off-by: Nathan Chen Reviewed-by: Eric Auger --- hw/arm/smmuv3-accel.c | 9 +++++++++ hw/arm/smmuv3.c | 10 +++------- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/hw/arm/smmuv3-accel.c b/hw/arm/smmuv3-accel.c index 8b3bbf3ef6..b42d189d29 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 @@ -963,6 +968,10 @@ void smmuv3_accel_init(SMMUv3State *s) 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 7fead1c3cf..5671649fee 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -1972,10 +1972,6 @@ static bool smmu_validate_property(SMMUv3State *s, E= rror **errp) } #endif =20 - 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; @@ -2175,9 +2171,9 @@ static void smmuv3_class_init(ObjectClass *klass, con= st 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 enabling."); 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 20:11:20 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=1776890736; cv=pass; d=zohomail.com; s=zohoarc; b=i0d6lJ//akcZCdt9VlNzmzsKjtxuLJAcl9vCZOe0JfK8to11ovOLuyz/Hk4i8GsT0aR+xv3TVMgevLQxEmLIez6nGITuxxqdVw2PL3WeKsMiNw6svSlW2bFHp8qcNhZqnEMO5KF6V1APvyNLQ9Q5qcfEH1Fy8i5/H6sNNZQUX8U= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776890736; 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=6II0V/ud9FsVOLFHcitMDxxX7hBgvG10QumQ4ju5kBc=; b=ZZtGRlEicaR1enCVugtlt6HEX1dizBt52Hle+OpjTmw17MlNE9nV2D/xa/M/cOVBgKjw/ShmrTEFxZLltafz9vVF7imZQOYLgA2Rm4wDx77chjhyauuxraOo7QvDPDCsG6MT6/n8HzOrLYOLmE/Js/U2Ow44JFyTQ1916jgjwJo= 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 1776890736319253.9746696613322; Wed, 22 Apr 2026 13:45:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wFeQs-0000Uz-Pt; Wed, 22 Apr 2026 16:44:30 -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 1wFeQk-0000SQ-Fs; Wed, 22 Apr 2026 16:44:18 -0400 Received: from mail-westcentralusazlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c112::5] helo=CY7PR03CU001.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 1wFeQi-0006xi-Aj; Wed, 22 Apr 2026 16:44:18 -0400 Received: from CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) by SA1PR12MB7368.namprd12.prod.outlook.com (2603:10b6:806:2b7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.8; Wed, 22 Apr 2026 20:43:50 +0000 Received: from CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e]) by CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e%6]) with mapi id 15.20.9846.016; Wed, 22 Apr 2026 20:43:50 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZwbuIW3Es7/fzHgHrgAjQ+jTC2mJBkIqh4ZWdNHqabOsESXE1qjsAOGBfKuHmWGd6/KyghF7W+8XcFf2J7wHzcm8YE+Q3r0x7QKaug+KIgc6Jr0PrToBub2BPIpYDL1PNR/+JnQtz41V4BRu0HEVPi4eyA9z+vNEVWpBfDUsmcB2ai9qeD9kyOFvSzcKKLAjlv0Pdfikt56alAGz3X4qO2jVmc4HvlwxW6H9mllJXBSc2ut4X7YOXQmCZrFqMlcA0LRO+ACgQ/c8ETdUOM9TqUsaRcrJSZm2NnBxvZvQWL6vsUUyzOVQX1rt/E+/V7dON69q1cWv6Tdw7h9Xi2ItzQ== 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=6II0V/ud9FsVOLFHcitMDxxX7hBgvG10QumQ4ju5kBc=; b=rNesCzP5OzeLVCVAPgP3s2PNynOpWRw4dTCxmpeYPSd1ue9dQ8SZcw0ALJeSHQR+WeW1k1Do96/1jM+aozyikyw1vo/njxwMiLgNtX+NPFyg/kSuwOPF2ua5anDk37sCdFGRXUXcetKpZS8+TTaYxoaDHEeD/U/TA3AZcrgdUlJxS3gUzT+WPargSPrU6iX28GIvb7jso7+lTw2t7vSDYHfx1sDyng8WyOToninQI8aPN1K0EQGYTXQRfbAyoCmhZhg3kZoq8zmGqKtsThWaYYhiY9sIKcoIYKFzVSA5unS0FB4BqpJtlCv/9Vrf8YcO1Q44IUH04muoiUpZmeE5CQ== 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=6II0V/ud9FsVOLFHcitMDxxX7hBgvG10QumQ4ju5kBc=; b=TghO4neKpkl5b8OMdF43j756BYLbtpQteqdmBYKqhFf3cFDCwwap7nfvL/iCQ+OOJuU1kkkDI8tnbaeoAPEkAapRbqvrTOTbzbDbzhazvRlp3iRDYCpFERhRWtDtfu6t0Ud9bX5l03VAyR8jgJpEcskWUuzqnMaEYF9Ooc8C8tlQb4NaZVF1KJ52yhw7+7p4EH4bjXhdQzGoU44Ra2H3m8/+YX/PoTx/hz2a56VXz/YpbcIZnyGQ4QXUxqsJkYv0h1HIbfCU+5NuqKTIkTFUWKD+qw/bWuYUVeCHesFj55DpteMymrYgNBk6xjz7HuXrWLtDJE+OgN3rz+rAcVwuhg== 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 , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang , Zhao Liu , Shameer Kolothum , Matt Ochs , Nicolin Chen , Nathan Chen Subject: [PATCH v2 3/7] hw/arm/smmuv3-accel: Implement "auto" value for "ril" Date: Wed, 22 Apr 2026 13:43:31 -0700 Message-ID: <20260422204335.23116-4-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260422204335.23116-1-nathanc@nvidia.com> References: <20260422204335.23116-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0229.namprd03.prod.outlook.com (2603:10b6:a03:39f::24) To CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY3PR12MB9555:EE_|SA1PR12MB7368:EE_ X-MS-Office365-Filtering-Correlation-Id: d533467b-1c30-42c4-e499-08dea0afdbc4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: If1qPlOF4ISJYZaHwfDXGnfPz+vVgxrR/e6yMmFoQ7TtMOY017wmToibrKNBIz7wQq0QZJYwaIIl1pYudKh1pcccov1vg5kFonOa6S8POQ7Pnau8g0ipQUL3sc3XJLRh44KuesPgZ+Z41EQ7SOtXGYCXghDG4TvTF0Wmthhj/8hTuLJ/Xfyk1EH4G9V09kEQoW+oW7G9vqX2NvbZ3fPqcwClEd5WjDbs2bqBLs1JscleBVTIxAmPchKFYkTvOEI3EBeCL7M/5e1ZL+4tap4TRR7ge0U7MFNhDDkfwZmc0qJh4qLl5FPW8Z9dLm8KVyIBfUUYGiUzH3QRL+5dajBHhrH/O3I45wKzfgyOrK2ZYXJQYfweCfeFfgS2YaI3scEvHp7JPeqitrxfV2qeN/PrUq11qE1nSgz9PO6sgpZyBKuqFWmTMKEr39T+xgdmRAiWX+IQkivfb9Ot0OoyD9MRql+jUyiR4y1HhXHgvOCz+jS5wK3U9R4SlwmZumMMdTu6wXGZ7T1iZPFU0ECSt6i8jMwLMXO5abT+AXvkf18Y4nAFPmvDu9nGQXDkXB0y62vyekkAInwWQUfaWyQNGIgmh8ejIH+4Dv7jLu6eF1rwgGn02lwEKlIJIx7cC+1jIOoHt1HPGnxKXPJKb3mCoOdzndyW2+O4m2AK3yw7NIYuLdYBugLTHFrXIFh/8Sve8dRvVuElCiWlbZtj7pEZe0EgWFzZTWlfhe8/6x6pBoHKzN8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY3PR12MB9555.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?//k/sNkrNOl9AM7Abbg43EG2rXhHtGte3ZdJcNr9aCvtDgDT/Eik0NAq09wt?= =?us-ascii?Q?feZFydxF2WRupWj59+7M/frLbjUitJ/XsESCBp/ZXuRCHz96q+g0bwfSORK/?= =?us-ascii?Q?yZwC4q6z52l7iHcVSg1EleZG0n2y5utW01pM6RIyJ/enuK5oPNYXo7pBxzGV?= =?us-ascii?Q?4qDX3OJrkY6H1V2ALPh1VMIBTUuJ8iwkWA4W2iET7+NoejsG0c/Mv5LvhWoK?= =?us-ascii?Q?tOrZVLcz2HkHiTJ5zbzkhsKHbFTv5hwP0bfHVfBRMmmOiYzJslvztrC6o2Hm?= =?us-ascii?Q?Cg22PI191PmJn0vBrQHIR4BRW2wI2d/LIL1ccohSXYEpO9AF3sY/GL8dWOg/?= =?us-ascii?Q?fyIYTd5gd7nAMBUU8Rkx6nkih7r9zaQbdGIf9YoMzamNF/ItUacTuRM+pbXH?= =?us-ascii?Q?JGLz7X/9TjnwnVTRIkej9uh+IPgV5vAMwVBx+Ah8UNsjOTcV4t2Xgu6ZY6iL?= =?us-ascii?Q?5VNMrVjnSXZ84dB2MivDc0e7P9fdpdAmO5Eu0yMWAaUDqJR7+yDwM2YHCFnV?= =?us-ascii?Q?1WFxmMLlnM2i1f/iLwYsaXiLgCjT8amI1eIAVP/e0eUsZ1xbS3D3njhBJN2J?= =?us-ascii?Q?xihrOhIiMi4rG1KmyRZttT00ZweIqBIFnl3ofzoCPjpC1VjGKFJHlAUJqOfN?= =?us-ascii?Q?wanEsKmxFx75s8nqakyxKhD+6Fxk6SSrp7w/hO3FtFLnsarbVoBHnlImvN6m?= =?us-ascii?Q?tjXD2O9pQpiwTMwlmsmg+26U6EJF+XTiU2/OhmMohlLWRxcyu8FjLJuREa9W?= =?us-ascii?Q?tZszmGkh0r2thKHy/Za7AHbufw8PXOJqcabpzBCB9yBsx7tNTA/fvh2zUHb+?= =?us-ascii?Q?ERTbP7Z2bXSYRJ3pbKRBFykEr6U7hrE7I6YowXHkxabm4fdOKD1AviTbpbv6?= =?us-ascii?Q?AkSwG9lCyYcmvobgzGn+zaK9N3wffStKmwyzOJ7y2iBnJM0lttg9NYf10kpt?= =?us-ascii?Q?21JdgO24IKhI9elQcF6gYuqWboAdyNdeYtws//nLkazBzjLJSDiDDVZ0yFGA?= =?us-ascii?Q?d34yk1ATAYSc84RuV9v4uUTtkF6Tkc1UCVHdTuUBe/5leiqFvfrbLuo4bBZp?= =?us-ascii?Q?WTAaurvn8upmVXBiTvToBqLsmkqL2YFG1IR7ELAccIz19hEehQU+1D/6wo22?= =?us-ascii?Q?vFLYWsg5O/T+hIW4Scf2CRqmzhGtIaF+Nj1OJF88OZTrn67Lpdx80JQbPREF?= =?us-ascii?Q?Q0HfRh80g/411ZxP25F4wDguTdI8tVH76bdbcNOwAo2aahRBwR5BFf2eYkEl?= =?us-ascii?Q?BtEW4yUBfvc1P+1FsOgojRXpsgN8fd8yLDD3KKZhK+Fe79T0XqTv4wu4DVkT?= =?us-ascii?Q?wneDtpE9hUUjNqiOCl/U/4QRyTb6z8L4Bg8ru/q6rPFjLWpzC2iwhiY9lcZn?= =?us-ascii?Q?dy15il6R8hxhgMp/z28KayDVk8Iu1SwBGRplBPykGog9G2N47SrbE6iQU5QH?= =?us-ascii?Q?mJAm5DpbT1WgKzHVz1qhVUS3k3lE7ZZO21poq/ku6FuIRoiRWhtXeL5gj9Kk?= =?us-ascii?Q?gzzj247SDlV5CsGqNRKllbUmhmL0qU1IrF3r3pSTbVYPf7rQSeew8ClcPKCA?= =?us-ascii?Q?MJICSTTrQJHjaW+WHOqDeQZgkUk/8A7JqGIIdtepIDMJduvMnVoB9oOfrApe?= =?us-ascii?Q?2I3eMdfm4MTlpaKeCqpuSj61LHNKuj1gZhHEMIZ5e8/E9cl276WF8BkVcZ68?= =?us-ascii?Q?LVK8hxAX8xOxAzYjZAZl2EmR7AETf0CPsVdKQ7Uke86sXPA1uE5LFao2jzEw?= =?us-ascii?Q?mB67rBGpyQ=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: d533467b-1c30-42c4-e499-08dea0afdbc4 X-MS-Exchange-CrossTenant-AuthSource: CY3PR12MB9555.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2026 20:43:50.0808 (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: KSpshI1VLkE7W+dSVxTPIFVLVzdfQuOw/AzW7yrFNbxkSyGI/2MZ2oklTXBDRUHHps9DHb1wTHBXTlshYJTf4Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7368 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:c112::5; envelope-from=nathanc@nvidia.com; helo=CY7PR03CU001.outbound.protection.outlook.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, RCVD_IN_DNSWL_NONE=-0.0001, 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: 1776890737880158500 Content-Type: text/plain; charset="utf-8" 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. Signed-off-by: Nathan Chen Reviewed-by: Eric Auger --- 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 b42d189d29..98c2cdcb5e 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 @@ -968,7 +973,8 @@ void smmuv3_accel_init(SMMUv3State *s) 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 5671649fee..b7aa4122eb 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -1972,10 +1972,6 @@ static bool smmu_validate_property(SMMUv3State *s, E= rror **errp) } #endif =20 - 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; @@ -2168,8 +2164,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. " + "Please enable if host platform supports RIL, and disable if " + "host platform does not support RIL."); 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 20:11:20 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=1776890756; cv=pass; d=zohomail.com; s=zohoarc; b=FzStayaQoHuYBzmsZhYDRA++jTW/IZTNYVwIZ7h1tV9DOnBVRnIFQkAbxarnbBB+KePgeuuzUBPPQMdloX1smI/IOTRY3vGoTEcp239zspLG5pJ75VEAKtkCHoltbFW0NWCaRHXSXaEuEDVUB5+vahfiAnos+LXWurJ469FClT8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776890756; 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=4wuzgUWuG22tUnk54XqZ8K2I0Otl5uf8XFNoNXC2O7E=; b=CUQasjPlZF9RK3auiiKOzdtcw6M6Xkh/cX0MQcB85+AiMYzC8vXCuePHAhC5/zuuW2YmZLVtZ/N36hXnejXRFMZEHo5LRSfRSt0QE53tAgjtmmAmenariae9bf2t+JB7yxJoY2zI58s5P4tiYdUT2tW0fcOPZzyXNpfvgr3+X4w= 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 1776890756665801.5141806495574; Wed, 22 Apr 2026 13:45:56 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wFeR0-0000YX-JO; Wed, 22 Apr 2026 16:44:34 -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 1wFeQj-0000S9-U6; Wed, 22 Apr 2026 16:44:17 -0400 Received: from mail-westus3azlp170100009.outbound.protection.outlook.com ([2a01:111:f403:c107::9] helo=PH7PR06CU001.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 1wFeQi-0006uV-As; Wed, 22 Apr 2026 16:44:17 -0400 Received: from CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) by SA1PR12MB7368.namprd12.prod.outlook.com (2603:10b6:806:2b7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.8; Wed, 22 Apr 2026 20:43:56 +0000 Received: from CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e]) by CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e%6]) with mapi id 15.20.9846.016; Wed, 22 Apr 2026 20:43:56 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ihPg3EZQ0I48cXRKIfXNls+9bDhJnr1OvF+Q6VvT+UJE8l6dzRljdHw6Kzs0y8goi+yrsiohNiuyIdtfM8xAI1vHeqDswDyNxTdK+d27N8N1L47nZRhpdH3wgWqjNTYV0J06+C1iCSnyH51bHcRZl71axB/pMSbWo8j3kwrs4i9cPqUu5JYkcPqkRM2v2+MibtNgWJ/MCaP9bMRZ6ENkOycazF3w5mPT1BvGcW61sTByyXdepAPUmPnQyMUt9qsDXejI18vg2jc665538DeoVQ2QdnVJ2tJ3B86J/Nc3ju3JCXO29CyLWtOGHEWqu3+RU7rAPh58z+er6r8HShzhNw== 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=4wuzgUWuG22tUnk54XqZ8K2I0Otl5uf8XFNoNXC2O7E=; b=ClMNs77/5OLhemcTzL5PyIs6dmrxuVpSko/B4IgMhymHzYjNaLCw3KAdXaPgYMV0nIJG67mZS7w4BdUkRQXaIGfy/e8YyWdqRv4iT4H2Hq8TkYKZBmdZtbVMe56/SqmwkH6jvRyidd6incJpH559o5EfzAFs2rUc9GytJvH5sQj9BT8XmbAPv12vDI53LMlXLXRwaluIoa7490kfFO581txRgKUeP6ccJ3ebMJkFsUzg9CBD3ED4NbH6df2hi9HzSoJ9QJV1YSGNQNp1Ovz1FVQKwNZx05NYquqE2V3lSnzliAW2OFXeuetG5SsmHq4zStVOTjC5bkdjst1n6ghF8Q== 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=4wuzgUWuG22tUnk54XqZ8K2I0Otl5uf8XFNoNXC2O7E=; b=i6OJFDK33J9NawdIW+a46cOwcVj8Kqa+aaC6/sIqxBGSIVbdLK652IXodonDJiS9XXOIOAC6Un70ixt838ijPn+O5EAd9BbGD2T3yzDsa6kUHXK2xGnZuzYmyztD1zW5l6bsNLw6NNcJ0p+TsZo2g9PSfbhhhv4V67nApl4IWYJcUSYjH+LSzVg6xKsEv46lESBMp3ooV+t1JmYsuYA7gIZNtv8gY4Ltz3fMzFdgcIC6ENxIxiHkayFvFUK6lGVTpnD2an53qyWYLHy75+8doUQWKU22ywCI+8svRm5z/Iihjt1y7DrkS42myCp4AtX3Oer5mQhVNLeLbQJSinHEyQ== 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 , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang , Zhao Liu , Shameer Kolothum , Matt Ochs , Nicolin Chen , Nathan Chen Subject: [PATCH v2 4/7] hw/arm/smmuv3-accel: Implement "auto" value for "ssidsize" Date: Wed, 22 Apr 2026 13:43:32 -0700 Message-ID: <20260422204335.23116-5-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260422204335.23116-1-nathanc@nvidia.com> References: <20260422204335.23116-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR03CA0235.namprd03.prod.outlook.com (2603:10b6:a03:39f::30) To CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY3PR12MB9555:EE_|SA1PR12MB7368:EE_ X-MS-Office365-Filtering-Correlation-Id: b0b482e7-2f23-40b9-b7f4-08dea0afdfa8 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: hlZXx0vwZI4punzes3J/T0OgnChsmIZ6YfK7AMe9JgftbWRY/7rlr63n1MOY3pOJaqBjoKhuABTQEdzZsvfz7fHzVhgzZe7l63OZpi0VY/QCQMdO+ONBG6Za3D7K+u7aZ8b21sWvO5voUrKRYgSYQ6s+INkfSFB28bQzwqPATXP2azD0jaR/sNRENX9XWN5JNZnHCw1DVYtuEuc5ZRx9M+nTQTxdPWVNeG/VmD4FrKvLPI0L0YzjeIRcgRNul9xqJDLyiNHcFx85lrqE8b3VZmRPdGitAbQ8s+/kM354vyy6uNc2UFu+pMb0xsrv3NtiSnW+VqQmcmHFAmPoCI1Qh+eIGinvQjvrNxsKId9FWgq9Tmo8GSxSy0vhu2TepWz4gbvoVxsKn1QHTxJkuS/wmO48teDUA7Airnwrw8+/CQ/zwdtA4ZbgmFuztJYTvOFw6ZzuHAHU0AECjcf7s7/wV9+uHkAURSEfsWHlx2ltqOs50QJu68cXqkmiJ3SHiow+90Rc56+egYJyXi7CNRGnMsUxclJzMzr42aa3yhoQ9pVMdw3KeokZt1Ial4Ox+ffAtfOt7eAfFAAvGKYNgSlHZNc003XBYYvmEtxGGhX87we1uBarJlMPStzYniJ6mEs2h0tah94b6aSz8ma5aiYk/Cb7THiOJxCSBPtazxoZoHl/xi+EOm8ikJG/jRXH0WXjAkp65aM8bF2rifm5YXKzCjumNYFrmKfJ7nYgN5MnS7w= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY3PR12MB9555.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?ktrDb/QplnyNK4b72RO4kJIsXBBWLH06TZ52xm9XBPlvAysU+6ibLWrdctiJ?= =?us-ascii?Q?Tr0P92yjWJRkQAseH+pYe+JENTm/h4k/Ayp79G4TpucLifMSIiA69AGZOQ05?= =?us-ascii?Q?+ZLqk44pMhPTUOmMdtitgIijrBtwJZafZrp1NPp1reYJDKsf9YCc5+cdpu9w?= =?us-ascii?Q?5XhzVaMaWAV91eshq5yAdT0Eme+IP8a8MZa3Yn1/kBWYjlcN4bK8/2ZUg8O2?= =?us-ascii?Q?Jw+lF8Gc9OwPsgBTVvkOy/IiiN626sD1N/zui1n+4fXQJQMM1Ben6Zs50gAe?= =?us-ascii?Q?//2LZH2cbC2mY+2aLEzzdUaY3Q53J6aIMce99pfl2U3IBMWDQezxqlAQZWyA?= =?us-ascii?Q?MGrik170gd1mCdU3oec1/GMZgQtwmsmnYVGOHtof90HZWu4YXSSCvuoQCjHi?= =?us-ascii?Q?fNvxSbsYERxFqBKfMOu/idM1XGrPe3M8zWv7/pF9rot5d0mH4s+vB40zSq99?= =?us-ascii?Q?YEux0xJOg1dKTfOHAMNLwBh9/KGBGqLhEeyNpANHZ9LUI2HHBQPGc6qjjci/?= =?us-ascii?Q?EgKUp5thNLe4XyZyehwKOqkTw/Ko7Rk6H/O40ys+hYvNwY0ZTQUlF9bESNJn?= =?us-ascii?Q?v3WHJAfZmsGJsTh9ReVRYkJCRmcDeGNgEG9e5xIdG4i05ms/6RGobQ6ErfWU?= =?us-ascii?Q?sl7+Jceja10tAWkaZ+HPB896J2tiUxeOtxhUQUlRTW9z8ibaE0D66NC1KFnZ?= =?us-ascii?Q?Zt/nwpvXHfkNyl1pX//6jOtZWw9ivY+oNh++/4wlWOzgrlebcKdzmlGqd5ZF?= =?us-ascii?Q?/rCg8T5M95vMoYFXoxv1+N3ZeSHci4TiPl2z4oU14VZBKdgW85VECbNq7+id?= =?us-ascii?Q?nRXnY87sAF+bDmlu53uPp/8oVEJIwXKExIW8mMNWqpEmUNfR/EI2YxObtTFY?= =?us-ascii?Q?JLf4K6XvPbZvV3Jt5NlmeNv9JJ9+AqFa4WtD0fPBhUJnbu6gRiztKSU27J9z?= =?us-ascii?Q?nwkh0t14jWy5X4owTPHDaPzSLi9FXGyVXnbY+Ii5+4Q77ZanTAoTobXGQc1z?= =?us-ascii?Q?+n/TE2xTghyDx/y5D3OQRaZLUFZ06/7Ov+jwMm9fwQYeSluKNoY9dE0rBsj9?= =?us-ascii?Q?/IAtulF4sHZBRiki3xC5Ne0v52f3oyVtb6+jWDL9QPhQsD9dOKKaRiQ8B8Bk?= =?us-ascii?Q?7u1KyK0S5gFSwXJnZHQHXKx2lWFBBUtGDCvaTytl9133t8gnNYzWrsqwvQdg?= =?us-ascii?Q?KtT/YUf3TuxFgiTyKT47kyePKnuCpOB8KJKePq/2WNa4qxbB0LzYi+Bts1Pi?= =?us-ascii?Q?jXHvnjdc9ProCjFOlg5U2frjDPdRjwMAXPii4ujLhGErk+q+MD9OKy1wty6X?= =?us-ascii?Q?hgVoL4TCMxikZ/uQNFEOsaXESKGBCrOlf38iazlYUxUoljgAMiy0VtlvnP3W?= =?us-ascii?Q?8Fa2rqlrKwGKiFls7ETDHNuqjWLTYl5zXeVegbU5UCTA1TnY5ZJ5cx6k0yhU?= =?us-ascii?Q?RD1aKwOooC1PvXTZo8Aw6gue0dqLItpgmKZbtnBBciOhWRZ8Xtu90P+qtdU1?= =?us-ascii?Q?derAFlsybqlrcoK6T0g+yxVdXVa2xJRA7F9gJQpYOcKAvh8S88IYmFri4303?= =?us-ascii?Q?QFBvIs6iOD2hd7HaUHJ31+RD6kWvW4QzlxgwyKOfQ+a9eqA0RglCC2zuD0/V?= =?us-ascii?Q?gUF0EWSpwE2LTEXbGfzRxZjXNLhQ3UJmXIgkxkn0ZHbdbKFCnlIsnHiCp46N?= =?us-ascii?Q?hhstCHBHJtDR+muahaSFZ+SQPc7xAWgfnPA1ltTVDq1CR9jWybPnTspKmCAl?= =?us-ascii?Q?4W/FZ/q3hA=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: b0b482e7-2f23-40b9-b7f4-08dea0afdfa8 X-MS-Exchange-CrossTenant-AuthSource: CY3PR12MB9555.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2026 20:43:56.6401 (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: C8uIwmpAwVKjfhHpqaFhzyVFWO4fzAxX1gG7K2ZNyDiEN69G9aNN4R8RZ6T2AfSVmbGbTjok683T37Y2DNOgZQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7368 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:c107::9; envelope-from=nathanc@nvidia.com; helo=PH7PR06CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1776890759127154100 Content-Type: text/plain; charset="utf-8" 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. Signed-off-by: Nathan Chen Reviewed-by: Eric Auger --- 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 98c2cdcb5e..d13d15a11d 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; @@ -974,7 +987,8 @@ void smmuv3_accel_init(SMMUv3State *s) 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 b7aa4122eb..07025245e2 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"); @@ -1972,10 +1975,6 @@ static bool smmu_validate_property(SMMUv3State *s, E= rror **errp) } #endif =20 - 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"); @@ -1996,7 +1995,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; @@ -2177,11 +2177,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 20:11:20 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=1776890734; cv=pass; d=zohomail.com; s=zohoarc; b=MJ8cju7TI+XzSasjE4y5ActSg96LpYLUcOpzGQXF2nUr+cXNdbNT3kkKsNtnTLvNjInam4cMyFJ+YQ6NAddQdY/kbo4SM4XlvBzBBDJaEvJZHxCgeSdCPh4Zw67dDYlsKCbWlTvKYtUQwgbYz7AW7QnB5p0WKFJgjtYokHmXJkU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776890734; 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=B++aQLhUTz4Ffo+zFAUhsq3Jls/PqCHMEqF/PwDmVNA=; b=m9y3bj4YRK12px63Bugokp+Jt6OcIbgSKnP8s2J0ay9kVJ4lDp/ii89cnoR+G/z1cXGqKFpJCXa5T96CHaQ9bNGI34kzzzqfpRf2LI4krZbPEZERNKaVtYOttXymq46nUjcwk2xOS1FCO9uIB52qPeL2w00OSpoP5u/yGdcKpTo= 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 1776890734691135.976311667372; Wed, 22 Apr 2026 13:45:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wFeQz-0000XZ-Kr; Wed, 22 Apr 2026 16:44:33 -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 1wFeQn-0000Tz-HK; Wed, 22 Apr 2026 16:44:21 -0400 Received: from mail-westus3azlp170100009.outbound.protection.outlook.com ([2a01:111:f403:c107::9] helo=PH7PR06CU001.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 1wFeQl-0006uV-VK; Wed, 22 Apr 2026 16:44:21 -0400 Received: from CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) by SA1PR12MB7368.namprd12.prod.outlook.com (2603:10b6:806:2b7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.8; Wed, 22 Apr 2026 20:43:58 +0000 Received: from CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e]) by CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e%6]) with mapi id 15.20.9846.016; Wed, 22 Apr 2026 20:43:58 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=aHVLAtJ6iYEiuaBMuD3AygYop1rTq43w9WKxRsGEeia2bJOax7t+ZwYyrPGc4gv4T2Na4f7N8YQrfczxLiyFcRUUfRNhC5mD/F9g8Vkd0xHTBlTEck0Qyn2+JqUD+8KllF/M3/bAJ6UHIMx0HZgLKfzg5hwKXajdHK9RqvCmWL2MxpSLDeZSp6jp7SESB4g9ADBNLDPYf3l+O+EWL9Hc6TL13croFLJ7x32kkJP7NI9faFOVJhqO3OHBtel/st2TDYkf7aoPYVy1wZff7LsOnzWrxYiUEE07sI5IkrHNbWmpy8w7WHIS7hZX2IaaOroEJh6QoogF05S9fheZo/ft/Q== 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=B++aQLhUTz4Ffo+zFAUhsq3Jls/PqCHMEqF/PwDmVNA=; b=Bi+KjqPNFKxeontxL9o+T8/W3M8JGd7XvbDqKsbAKGCxdZg6qw/WBXcl5KV1E/LX0B1rvz4PMxnex3XBvsGOwfL+6V3/NVK4p9iSgFrbY3r/6LJzemHm+/s/hj3B5O3+b0yJP7nYuiQaiywtR5Jchi4gaIoYayQvuM5fFF0Z3f/t92W7Mg9zuO72t0vgdP35/oHfwDTMzaNN4T1X+9PY69nMxxx0c8N17EG81NUCVwb9nmY6cA/cVL4w3K+LL4rdB1kXsSngZnJfIPW/v9e865fb8lSpEcma2zWKnwiSi7qHJ9PO+PbH+801SWT2pl6VErBSejic7cxmkK8sKJxgdw== 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=B++aQLhUTz4Ffo+zFAUhsq3Jls/PqCHMEqF/PwDmVNA=; b=SXxSQZqorBHXWq+6IPxKl3GfiFJUf14m62WRM5xhumSke9IzqZiFlu6QtyeVZdJJjdAKiLK9TKYU+shXbwBFFyetl5je74+tBhLgxYK0+kfERT1Zz4OBuiV/LWid4k+fvv7oQZeQOWn/vbz2Txk0T3Jdi3mSFqVMdcECb0MusG4ehHXv1nV0BqwXKdMMBirKUer2tiIwezSyeDrg86UPg5cvgncrrlf2KcaJ7NI53Ur3s023o4hewP7bcQuTuH4nSLKMzcOqgFcBCCYHxYmTlO9v/kGhSB0MaatVulTVBfHCyMspmeQcQMPTyK/hB+V8O2VRmIeRJ1Damxsl9X0qSA== 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 , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang , Zhao Liu , Shameer Kolothum , Matt Ochs , Nicolin Chen , Nathan Chen Subject: [PATCH v2 5/7] hw/arm/smmuv3-accel: Implement "auto" value for "oas" Date: Wed, 22 Apr 2026 13:43:33 -0700 Message-ID: <20260422204335.23116-6-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260422204335.23116-1-nathanc@nvidia.com> References: <20260422204335.23116-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BY1P220CA0019.NAMP220.PROD.OUTLOOK.COM (2603:10b6:a03:5c3::15) To CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY3PR12MB9555:EE_|SA1PR12MB7368:EE_ X-MS-Office365-Filtering-Correlation-Id: 726ffc82-71b5-4a07-b81e-08dea0afe0a6 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: PfAXYG3+LtaevURC4mLxIRTTDuAt0Qajj7h3RoLOZjT2YJBcd34d9ri90ITt0ANZ84ubmP9bgU0adCRTrMFZ4325JK6Js6fthEzQSTfySPYfStSKp/qmbBkspPF9Pc1YGC4R75yitJVojqGGel7WUdORf7GbVaV8AqLecAD5oCXfIKyj9eblFY/jIvuAzEp+M+yRU/61Dxbp2qrWU9QJRbJtXCmelbPhBoOqgnvchXnjGxNiCAOHsejP5gMR4qYLpuf/3tES6LxaS7xoq6oOc2g9hS8DLKz/oa4KYz4uwWROVbsNEPB18orIAzEVFPs5NLOFURT9d48pTPtBGwBTGmcVknn5WUTsOQ4/Z6AJk6ySIyk/By/ft7OxM8JdGXZs+wG0xmoDNzDVEYfZFYUGApdPaN7AkmLgTq3NX9pCEgG9R55OL3WOJQaawXgh6eI6nWKlvpxAh9yVXooQjmJU0FEsxUYL6lmvsxD4hwzkektTCdoiRjuOVWhPUfjpHsBik9DwWPxSoLvTvurZFBXHwVyf+IWYkTXl4c+GzSaPPV/gomH+WDVGUz9QZOgC/63VpBTDQ++WIcvR5MkMOV39yAQXHYCeTmNQaETJuPA4p7sY0zQSIvtG2UNaCF2NSc1CUvPH3BsIATNjjhjCqPVaiLA1EVr8CH9+TqW/J/pVUU20RhFkGXApnt+b0ylOCykhYZe6ZWKA7H70RRRO7XGETwVzUgCNb+wP0RqzldNjecc= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY3PR12MB9555.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?W+l5kIYeoDUWzTc5wHUoeRR6wK5kBj2hRfevxVNlU823qc2WXRssb8WYU4yT?= =?us-ascii?Q?03AzkDmeXgxZPk7RxfkCu7UBpx3L3+EQfc0a46Kfn7J8+btfn7vaDTqda2qD?= =?us-ascii?Q?qQtHZmQ3qt6nL+tGVIVJ3xzeAT8hwzazoi5dDo5xBoCDAa74Wg5Hm2mzKMPp?= =?us-ascii?Q?oUYhcv/CJh4Ls4thnlBF3JMf2AU0FuJq+lXZ5U4rhNgEN9/cwd+hPn+BLLtF?= =?us-ascii?Q?w5cRQxDHkaq5eEZi7V4Y65OptVqJQsKnVoX1YCEwL2LeGf9qfbH6ObbKvcNw?= =?us-ascii?Q?Kq1UJR5xINnJkHsQx/OMoqnucNhI5exyWZsFI8Yk9wdQlYNtfKtlOOMmmD5T?= =?us-ascii?Q?DWJ22CPLbdKD+mP5Spw52QdYGXiW5uf7oE07Gn88cmGwgI1+cUC33YrK/qAQ?= =?us-ascii?Q?9nk7EwLBPtSftpYj/Rl7Tlvjgy8z2l7x22N0QIuupTz+OJgF90BUt+QKg8MX?= =?us-ascii?Q?2tv0SCPVcSWi2p+dtB83GFgQnZ2Ci+nV0R08I0f5waGqP1r2d8n3EZSwNdji?= =?us-ascii?Q?SdPrRv59wk3uQjimZsCr/WA5ORqH/tEJ6F9YYo4KTB0bXlBpAQzIiS142Nl5?= =?us-ascii?Q?3TD2Qxu44v87273VxtxOZuatNShTR7gf91HvfkyVIR4W0odTl5AZifwRU2HH?= =?us-ascii?Q?88knQtHjX+d/+K1x31vfRr3jY+4l/f6471nw0nWx5ZvleDkz0CwhMO0RDJE+?= =?us-ascii?Q?WqU/JyuXdKwJRNb1NE7JJomRn8E9XIMXLSJWlsjZN4L2H3EaBNxUA+I45EGM?= =?us-ascii?Q?6seKU7V7SNjMGSxasFp/A1kjuuCUt3ni4pJzce8x/Wdn8kq9893U1QBUESuD?= =?us-ascii?Q?pLeO5U/XUL863kggIZYUmrk23+y8eDfTj+RiLjpIdjuao8UoQMoxNYu6aRc9?= =?us-ascii?Q?0Fr5MnGslsztrwuoNRxerDtmsyFjK0HJ+EKWI/mGGlQuXmNtfMDMK3AB2WfM?= =?us-ascii?Q?/UEhYdgnBTc4y8C6L5R7kmVSmQAeMk7xGPCzUM7PKCeayZxDCZfXE46Xt59I?= =?us-ascii?Q?W2CoJe9Sv6GmBugjO7RnnYYljVaPEwmHZMWITwp8ZKiteWPS39AZVeO2jC4W?= =?us-ascii?Q?xTx6mPS4RRAxf8ASdxvjwH+Vpft/ywmM8gvwpea66lWaEqN+GF/J5+H+qghC?= =?us-ascii?Q?DDjobsr0j4dX8DNcIivhRMdT/J2EJRSN20mOa1wL7xCtIgObsyoRwTY1AyWs?= =?us-ascii?Q?P7U7EEF7oXAuWngu5RkT3a79+u7FV3YrtxaaQTe+61XNWY21dJzvmx3t/j9z?= =?us-ascii?Q?wKeGx5+BSCJr+QJAeIfeCst2rZ4dwpv57l+r6ufb3RgnSFygeN2uVgd7pTAq?= =?us-ascii?Q?HOrA7hGHlM/oGxJBjAUizo2Vka0rL21AOhuIG69nTPzOaIhboABCxISW8Y/i?= =?us-ascii?Q?a9G9AZTD8M/fIBq++BMZxYeJM6heUE5rsIIG1xakduXUVIBzDwXXwF4glihQ?= =?us-ascii?Q?NKTPiVdkWvWOFz/1Vc+mpuRd4rLtoMgtBeYzIdBtcq8tJx93kdEZPLN6OG+Y?= =?us-ascii?Q?joStcLdm7lQlCRONk6iKJ+1m64E0UkenqQ+rBci5/GulEIPAWy2gNrPoMYYK?= =?us-ascii?Q?3ORk7axrh8DcCzhUGCOQlCK6H2BaeBnSt+hjqK1c8z2hMaemtM10W77yqZik?= =?us-ascii?Q?o3cg9istQ9MMa9DqhkKwqrMUTZGhKI220L99dV/5PKcpTZkbAKwDiNzXatlp?= =?us-ascii?Q?BX7PWJ/OE9GSb+YrftuILrixnoj12a4DoqmdggPH3hg+MTLfV+TP3fUnEbE1?= =?us-ascii?Q?aK7vzxspqw=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 726ffc82-71b5-4a07-b81e-08dea0afe0a6 X-MS-Exchange-CrossTenant-AuthSource: CY3PR12MB9555.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2026 20:43:58.3051 (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: u0fsDSB1/2rZiSE8mvQcQTUD5QL0acUcfw3yYQY/Krqr4A2Pp71c6F/aCNMrhjwUPrMIQQ1Dsen7ZEw/EcEZdw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7368 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:c107::9; envelope-from=nathanc@nvidia.com; helo=PH7PR06CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1776890736519154100 Content-Type: text/plain; charset="utf-8" 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. Signed-off-by: Nathan Chen Reviewed-by: Eric Auger --- 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 d13d15a11d..f45e268bde 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 @@ -988,7 +993,8 @@ void smmuv3_accel_init(SMMUv3State *s) =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 07025245e2..39a6f72938 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -1975,9 +1975,11 @@ static bool smmu_validate_property(SMMUv3State *s, E= rror **errp) } #endif =20 - 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 @@ -1991,7 +1993,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) { @@ -2173,9 +2175,8 @@ static void smmuv3_class_init(ObjectClass *klass, con= st void *data) "Valid values are on, off, and auto. Defaults to off. " "Please ensure host platform supports ATS before enabling."); 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 20:11:20 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=1776890709; cv=pass; d=zohomail.com; s=zohoarc; b=X+wlvhfYBojr4yOa+CeuPnDnsnMCEcJaCqcUjUv+dWaNcTkucbWVkKniCPuP4rdj7eDWF8panz1hrVQ61IX8TPtXaOJSmHKwB44mobNpKTMVgEdQbXFh/JAgzQHslEKkb60CgPRo/vxXN93OeLXtfbwK7G40JS0ordGj+G0zJk0= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776890709; 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=7PgZDhLNAJ1sqFiaj4DAHfpXU8tlTv755bTEwWXqX6E=; b=IRrudhlksaPrqQsvhMbzJ7FloISfwJ3GM/pC0vjUDuRLPdbSqZ+hfpn5FoCgI7l8mAm0VryHgkNdDzDIjoQwke7QkG2InElEKDS4vywpkxpECB66jEassjxv9Mtt9RCFbXMa71cy3rWOPGr+gAyGWN8aZY4KCCdg9M2/eTWCWXM= 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 1776890709232871.2107845291547; Wed, 22 Apr 2026 13:45:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wFeR4-0000Zi-Fg; Wed, 22 Apr 2026 16:44:38 -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 1wFeQn-0000Ty-H4; Wed, 22 Apr 2026 16:44:21 -0400 Received: from mail-westcentralusazlp170100005.outbound.protection.outlook.com ([2a01:111:f403:c112::5] helo=CY7PR03CU001.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 1wFeQl-0006xi-Us; Wed, 22 Apr 2026 16:44:21 -0400 Received: from CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) by SA1PR12MB7368.namprd12.prod.outlook.com (2603:10b6:806:2b7::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.8; Wed, 22 Apr 2026 20:44:00 +0000 Received: from CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e]) by CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e%6]) with mapi id 15.20.9846.016; Wed, 22 Apr 2026 20:44:00 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=KkjG3uiq6Qlgv3gUAFRFh+NQ1cO3or52bLjCYOfIcGyjFZmAa+SvTGXB4Ec0fjiyJMjdyVMWwyJDnJmBosAA13+s8Z7BiCdvYa6lfyiGBNdLrAZAMXWFWUjmlgzsgG4+uAHy1Yb4bbmOIhtfO2BHQ/5hvsSScau1wxNjSNkkIqAQPsbZX773Jr31h9nCrIXLugpQ8/PZMunu51uSLbFaoMWfDX2GbZzduA27kQNaHoS68sHzAPTcZ9Pg1nl+eXD6zKfT12PNmPfxUvkifzbx6RFCz76ErmALbi3Vq+zS4Rt1AhQxjTL1M/6KGLJvMNTNnOMlSpttGEMupOqm7RecUQ== 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=7PgZDhLNAJ1sqFiaj4DAHfpXU8tlTv755bTEwWXqX6E=; b=FkQ++77DIf4eiHucpnDAXC2VaV3MZyf/5z8d8rxqGQ2HOZnJaX4CA/8n0iC1z+I37ToMLNVIox/9st8+Kf2DGlsYrtWwu/qhrd3h7XdC9dtnog6j6KvRUbpmgjli1ivtMYwoTc3clwdQuePcYrfOW37F/+v/t2OH9FpWpBpbVP3wrR7C8pOONA3nB9kt13MXz3wAHJJT4S6J5jqCx6eedRCIzy6kgcobfT8MncH8cFjpMh5m3bfUaKsyVvSr1DxDOFS49hBP7vJCVwvD5xINdoP9mcpskOT3I/tC4YSInMXGHtuQIeqxyQerpxLZp+bzxB6fjhvBPzL62dswIsSwWg== 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=7PgZDhLNAJ1sqFiaj4DAHfpXU8tlTv755bTEwWXqX6E=; b=hF/MIBlCFXqRhZDkNKCngzj4h8itOnj33gkMLekpd4v2YBfNLwMFcy3z7fYozgPUGBP3EpWfXASaveHD9o2pRCcASIrTmaFKt+RiM+teh4yn2nlUy3O+2gm/Csu4MlzFbZxzEPFvh4DQEm/JcluT/Q0VH024D376wrrR7k+ILeV3FWA9FOoNbu0gGFZIiMckPcM7tgT7zZpBIo7+5Aovs/4ZEVyVvWZENkwPJp9Zy3TfJz35aSnTus5mJIbKjkYFhWtm52NDAOPzSomWBMj5I1DtvrFWf6Pi2g5l4mSebP+uoPp4SFOeY5vG55inlmoej6GvnUCmGDuvpigGpV1WbQ== 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 , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang , Zhao Liu , Shameer Kolothum , Matt Ochs , Nicolin Chen , Nathan Chen Subject: [PATCH v2 6/7] hw/arm/smmuv3: Set default ats, ril, ssidsize, oas to auto Date: Wed, 22 Apr 2026 13:43:34 -0700 Message-ID: <20260422204335.23116-7-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260422204335.23116-1-nathanc@nvidia.com> References: <20260422204335.23116-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SJ0PR05CA0133.namprd05.prod.outlook.com (2603:10b6:a03:33d::18) To CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY3PR12MB9555:EE_|SA1PR12MB7368:EE_ X-MS-Office365-Filtering-Correlation-Id: 2b29f64b-dd7a-4bdf-b0eb-08dea0afe198 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: Lh8cq8neAGXahBdjOQGioEeWtATJszLEopztswxdx5ElxgV1XEsMvfMdV3DvC6AJV5nTom9fiRP+DSxfSglO6usVDAtHg+lRQ6q4lJ0cF9jKv9qK4WEX2tWURqcP3Nv41K9fmCxXlw8rregRW8N1GF10poZpYTrMhJjhzSrGWiSRYx2j09lLCmobWduzxF1urJdUWPADwhh40dePVQ6AD4/qBxbXIV+H9JoCWu9HhcKq44+Lo+QHitv/4UWrMckpKCLXMgm9mZz6liz/jtQhiadkvn2d+ZXA8FcZPGgJEsOSDHyYPIKLgWBJj715u0rEgqNbRSt85eTAAA/fVTR/qvbvM0c2IO+7onMc7YDuQQACuAexpUcadfAS3DHQc0k3XG4soJYQXab6exaCdLSTNzrUxrHst/zQwhfMjUg/mPMBfAAG2JNOq4GZvAKhvJd2pgS5/TdJzGkVAiMgxilaBlr7pfJ8X6qw9+O3u/2R2LmdUer+ZkwUkNKc6BBeiZnfn1F3kiN+25Sn2jLjoz7juXcUNVi3qtkOQ4Jm7XsfuL7wkwh4U+82w0aqScE3P+nariokV4GFkSCc+ebBarQ8XI5Es81BZpMPeHQWQS7qz3+QCdWj3e1iNqMqSywXyJ+MHjyrOqbxzloCNuQzqRIkeIpzCzTxgY411Ssuv+MPR1fA9auZV0DbWFPoxY1YdQK5FaXs07WmFAcXfGLUa9zEFGsZA6Q/GtMgE1vxmFsnFkI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY3PR12MB9555.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?D+u+mez+u4aw55aDbYzhfX0NsXEXF/A07I0YFZvDJ2+078r35pM7vkXktzow?= =?us-ascii?Q?UAxNAO9/YQuSPi/0Ws9nua+h9ODLK8NSKkNix8pCIfQs3JqdSKr0N9XySuXt?= =?us-ascii?Q?GDZyw4s425amVVwNyoKW+JmMvQP0yQagKu9gt0H89S6JyACVmOUruAQGlx6U?= =?us-ascii?Q?7NRmGApOM/tD4+WmCi569+ujBEYuqsMtbO+b2jFmuFaRzofkthQLAv0ZILaX?= =?us-ascii?Q?2fru+Ozg1YDEkueqemzDo4l8iGUYeLD9D2520tWW+cn90KNrPFcwmTiSYEwp?= =?us-ascii?Q?IHyQ2VyTCZPq/BZyq4gOpZ6zwh2MfDbIAZHoEPX8IM7EocTzkOawVmbJN9wB?= =?us-ascii?Q?J+ee+RBORc0PAiKjNkkMHI5cZXxfJcN8QBlYKuJ0FwI2VcbjFXTdr5/51RMQ?= =?us-ascii?Q?ych4xAovS1/u+m5gyKhvnavrxdnoCedJNy3WR+WBz45dJC1ID6BsJo3hv2N2?= =?us-ascii?Q?+j18MhHNx9U5o2V78ztc6KcXeADalm4Q5yFt5RIli9PqzZzbirgjgn4ubhRW?= =?us-ascii?Q?SU9H/hTA+2ng2oac4a81PXFCvfTd08c5Jdz+WVnCV74U439COnVF+tzhMWf9?= =?us-ascii?Q?2YtIOdZjP/gQt6y+5KEvdSPD7nTcJ8MI5EK+dA7EiGwrCdypkeUjLaY3a9ip?= =?us-ascii?Q?I+bVw97GS4jU0nu/3224AAIQ0ryycHJurLoxHxyYFuq7H4t9hH90zgKiffxZ?= =?us-ascii?Q?qA4uK3mivaaV1wvFtfUmj4CfmhKFdrhce1sInI6Rsq4xL60VcVIQTU+bMgk6?= =?us-ascii?Q?AcyulFqoeqXZfwaLHGRAIgX0UwUeS2M8DtL8FV5M2YnY5YoofXDMemm8x3iW?= =?us-ascii?Q?SDAJGoamNSp1t8TxhfkgZgJDjnmrSEPX18I67M9di3rlknRfFiNByNlgvloV?= =?us-ascii?Q?b1AVitQ2OG1pBozc37sBsQXZo7nhzMO3twnkIR/imlON8p7cbDcttpWwVOgW?= =?us-ascii?Q?BkhgjXCDJWvvzRzrURX1BQoR2GotqgNG0G+g79vGDZE7FFJF1tBdWwoPvGbk?= =?us-ascii?Q?KdO1QHVdE7N2BUp5vyCxlkgqsCqeCwGqYlpU0K9PLz5cu/yDEIvudhoYBDNQ?= =?us-ascii?Q?uIUGipbLIo93f+XwYVmvxxDx/zhff0lJ8eXWj1L+ubNTLR82SJ/XoO2APVfp?= =?us-ascii?Q?V2vS7nRDZG9hLNY9S+GOFpyL4lFzDgFt1e2TzeogKdyY989cWVY2ZE03tprk?= =?us-ascii?Q?kWdgoTZzN4kOd8b1vISoLdauSvA1cE3T2/nYETNmlVBNWxuL0/CoYJox5b3z?= =?us-ascii?Q?sPFCqvalX/prR9KmlNaR8Rq1/ulVDZjp7VE5qhe1jKUnkp4Dml73Lr8eMuG8?= =?us-ascii?Q?NCTAkH4LguePP23+eF+kzOkv6kznMP11Qf+hFU0EDqPVnBfSqh/dGr9e4eQl?= =?us-ascii?Q?fMczva2x3NXUBUXRQqeIDcKUud8dYLEtkNP3vOkrSDoyHLH2msw6NudRDGIr?= =?us-ascii?Q?9saRl2pe9rO2Q+6AZ1IvXOmwVnvrFlOm5XNThTJatbPUw105hiO5/nyY1iry?= =?us-ascii?Q?zOQZ3NVqTuc1ZzYg52rp3On+T45UEICI6ZXaQbd/ClKirYDRiMXV3k8YQ66e?= =?us-ascii?Q?+6PMxULk3rGsd/lpZvKGJvj+q3mQHDKKBQzmu2Euo5WAj80y3O9lE8otWawG?= =?us-ascii?Q?KPNs9xSR+k1KzLNlDDsUnn5bap1fm6xKUF6XJjwEu8ibYahPECwMg0qu2WH7?= =?us-ascii?Q?fOriV96Pi+6A61qYsiU4CjypDp842an20zYjZKdziiV/Ttz+yRBZL5hpTsdy?= =?us-ascii?Q?4MSaSwSZGg=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2b29f64b-dd7a-4bdf-b0eb-08dea0afe198 X-MS-Exchange-CrossTenant-AuthSource: CY3PR12MB9555.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2026 20:43:59.8887 (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: 6GswAjToIZwfLqUz+PoqdgYnDDcV2+8s3Jhgcdveyf+hi81rI1Jv4QcGxzJTwpqfayPEo03zIv51qVtijoHZEg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7368 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:c112::5; envelope-from=nathanc@nvidia.com; helo=CY7PR03CU001.outbound.protection.outlook.com X-Spam_score_int: -10 X-Spam_score: -1.1 X-Spam_bar: - X-Spam_report: (-1.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FORGED_SPF_HELO=1, RCVD_IN_DNSWL_NONE=-0.0001, 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: 1776890712739154100 Content-Type: text/plain; charset="utf-8" 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 --- hw/arm/smmuv3.c | 14 +++++++------- hw/core/machine.c | 8 ++++++++ 2 files changed, 15 insertions(+), 7 deletions(-) diff --git a/hw/arm/smmuv3.c b/hw/arm/smmuv3.c index 39a6f72938..e8ca6be34a 100644 --- a/hw/arm/smmuv3.c +++ b/hw/arm/smmuv3.c @@ -2135,11 +2135,11 @@ static const Property smmuv3_properties[] =3D { /* GPA of MSI doorbell, for SMMUv3 accel use. */ DEFINE_PROP_UINT64("msi-gpa", SMMUv3State, msi_gpa, 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) @@ -2167,7 +2167,7 @@ static void smmuv3_class_init(ObjectClass *klass, con= st 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. " "Please enable if host platform supports RIL, and disable if " "host platform does not support RIL."); object_class_property_set_description(klass, "ats", @@ -2176,10 +2176,10 @@ static void smmuv3_class_init(ObjectClass *klass, c= onst void *data) "Please ensure host platform supports ATS before enabling."); 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 0aa77a57e9..a668bb2ec3 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -37,6 +37,14 @@ #include "hw/virtio/virtio-iommu.h" #include "hw/acpi/generic_event_device.h" #include "qemu/audio.h" +#include "hw/arm/smmuv3.h" + +GlobalProperty hw_compat_11_0[] =3D { + { TYPE_ARM_SMMUV3, "ats", "off" }, + { TYPE_ARM_SMMUV3, "ril", "on" }, + { TYPE_ARM_SMMUV3, "ssidsize", "0" }, + { TYPE_ARM_SMMUV3, "oas", "44" }, +}; =20 GlobalProperty hw_compat_10_2[] =3D { { "scsi-block", "migrate-pr", "off" }, --=20 2.43.0 From nobody Sat May 30 20:11:20 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=1776890736; cv=pass; d=zohomail.com; s=zohoarc; b=LUIHngUFPie0iQYP/As67S/6h/TQL5BbHJZ/5cqdzg48OnUYpJ+8Ua0c5qsC+lRpMZH+3jlEjKPuwcyH2mU1mIdk8Z51ggXgl+dRy5+o6mDPMq3gWMR+uv5wVYZSOT9AlvUoVUsaACwCkU0IxL8jx7zYchB7sDcam9EzVFE68Ss= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1776890736; 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=PR7j4lqXHYlWUlrQ9KsunC3UjfenshyWj4e2maI3uus=; b=EMPNeJB7YYT6PP2F7atdy/dV5YqNiAROvw3iwLeqRAcw3wGoHp1d2UWaLoZMnfDk8oZgVBi4vhtuPYQ6vvR1phqS1gyZzLESVIJpO+1wEeu9Vzj5P77DKg5k4eVcVHF1uiYpZv4Xj+7xaHQEsEhX3n1AhJQa2Z0diFa3++dZu7M= 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 1776890736926349.77805161028584; Wed, 22 Apr 2026 13:45:36 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1wFeQo-0000UY-Kw; Wed, 22 Apr 2026 16:44:23 -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 1wFeQj-0000Rk-C2; Wed, 22 Apr 2026 16:44:17 -0400 Received: from mail-westus3azlp170110003.outbound.protection.outlook.com ([2a01:111:f403:c107::3] helo=PH0PR06CU001.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 1wFeQh-00071o-PF; Wed, 22 Apr 2026 16:44:17 -0400 Received: from CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) by IA0PPFA19DE7612.namprd12.prod.outlook.com (2603:10b6:20f:fc04::bdd) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9846.16; Wed, 22 Apr 2026 20:44:01 +0000 Received: from CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e]) by CY3PR12MB9555.namprd12.prod.outlook.com ([fe80::fdb2:266d:ee2b:8d1e%6]) with mapi id 15.20.9846.016; Wed, 22 Apr 2026 20:44:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=cVVqmpla0g+0O5JKsboQtt/mD5Tdhz6bZfDEL127EvK+T0q4dWqO8ytfhaxZnVblGb6o8NhPy72ZLBLvjIlm6h+CnMqpQ86IeE0a951irtsRca3VsHm5hWdBs53Y1dXQCI+8wVT2MYBhLwmX2rFsUmHU6JxPHcoVLHd/JEdLn0QykN7Xl5+fjmdIS2zaHB2PUNMYPsksfh5jMvy1P3wejBJx/C/p+5udWtSPQuYPnOjDlyNL4aWAZKdcjQ0nbvTDZb1FDLEmS9+xEEX6fvJpa2MgpdnK5akaEVGZA+6nTVlgLmaP+1T3poJTLbQX6MXaZ9U6/Z3PCMWiAdks2h/FSw== 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=PR7j4lqXHYlWUlrQ9KsunC3UjfenshyWj4e2maI3uus=; b=DddJ8MVXvbzCq6GQJl3o45Vng20XcOPRh785+XokzslWIzzoRAntuUHsvMo0eKqhmONl2DwfA+dbgt4tiTeF8kVwV3D47TPmHk4ZknT05OGeaSPCcStZsOnh1Hp2wPtGmaDePB/d0U+aJnuMYO47mBQASctbAFFCJxZmqpurdO3EMLmxUSgHny0B9GFwigIHkGOAiaxxkKFsBdDyiVUxzAulqMYhoOKSc2ejzJV3ZsxYk1PNUxNsSgusV4JzYX2OLFbfo2/aYE/oxDM4fUW+Z3jZvjzL17LEZ4P7/ETXqwF7U0ON5ISinJoCJbLMkgKfIHji64u8ZOaW8xeU2iVlyg== 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=PR7j4lqXHYlWUlrQ9KsunC3UjfenshyWj4e2maI3uus=; b=ACcT4gO603A5v9rN2Twi/wZbiKTcESbp72JfAThlbwpm7PFiF46P+Hmte0VmhrwQKCPIRofckwIQDQLMyUnwEWr/zRVM35D6s8xv40urCmSFCiYGS323useAQOJS1ksEqa02DDQMYOWFAyuuQNBg/pP3LYt6ZJbK0v1J4PoWGwH8qbXUEz3lCHgofxyg9R4qyb2Lf/GburV6NHngVxv01jsMKfPIAaeDqfJRUHquSF998HXREw2igIOnpV1W1DfDNFlJuaPFZHaHy5uKLTeI2QVm+7OluM9r13ui3scU6ZJZSkMTKIruFO4ZCqG28f9Ijdo2z+hR3A0JT67G0wC/CA== 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 , Marcel Apfelbaum , =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= , Yanan Wang , Zhao Liu , Shameer Kolothum , Matt Ochs , Nicolin Chen , Nathan Chen Subject: [PATCH v2 7/7] qemu-options.hx: Support "auto" for accel SMMUv3 properties Date: Wed, 22 Apr 2026 13:43:35 -0700 Message-ID: <20260422204335.23116-8-nathanc@nvidia.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260422204335.23116-1-nathanc@nvidia.com> References: <20260422204335.23116-1-nathanc@nvidia.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: BYAPR05CA0052.namprd05.prod.outlook.com (2603:10b6:a03:74::29) To CY3PR12MB9555.namprd12.prod.outlook.com (2603:10b6:930:10a::14) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: CY3PR12MB9555:EE_|IA0PPFA19DE7612:EE_ X-MS-Office365-Filtering-Correlation-Id: a73457a6-1e99-4819-6775-08dea0afe27c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|18002099003|22082099003|56012099003; X-Microsoft-Antispam-Message-Info: 9kCwHxqTnQEPcjAVrMad3NFHfqkM1SIQm7MHnnQ+fLXtk0N0YKTDVTvrC1QOAkQgTmBFrt8cxr4PMeui08IYdLuWggrlVwO7bzn31fj3bkg82vxBubM9w06i/Gd0RqY4Z3DU7ahAU+zlnrlczn6h5yl8brZdbd11EGqCLomoLzTqIPexLLpbcPdXx82W7aavfs415JGUbtue91k6Sj1bRsot2D63nx7br+x+w4JH7MdJqxWLgP/i3O0AmzG5qNlHx1rsiUKhu+ZbWUbJyBILGJE8lfZSpPJ2dJf/Pu7g/CF2IOtmaVmrjfcf6A826O+O/9niRNU9EhgvXcyEufsulSq4ukJh4q0PexZJR9YfBEmkEe//OkMLuhDK8HEQBD2xZr9jxOD8GxMbEEoz0WA8Yc2rlloSRvJ1I7UdNH/xpQ0us24eNabeuiPGgQ6BQ+qtvlqGTkDZhKhzqbnHbfuMS8spTZbEpVFSV+8adX+CeT9SNWVZvUnl2BQv/8ZTm3XIvjz+XixoTx05TKQ6tZPJKwGW7dnOKSkvrOGQm34MRwUBA9WdXHSqhmFxNtqAqduwqHo+jwOJjdxN0WEbjkplLhqFpG6uldOYSAi+G946+Ul1c0E+CvU1vImjn/0L8thVjRU/gbLxKPIEyofXunPevg5lqhKwbHsrcypmpITkZZZUGtEnCrEH4MJVZQlLAp7jY95eI1ZQgwE3rcSb1d7U0Ibg7JMB5MHXEzbx3/6S7AQ= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CY3PR12MB9555.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(18002099003)(22082099003)(56012099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?gZ73ENQXa/j5jxEnyYGg8nHuzhTimFpRfuaE0E+VswBjA3OC6yRMDQ+9d8qV?= =?us-ascii?Q?N0RXnkhpzM3LRkVhIGvgtRVLm6DrwT+GwxHGXMuh4gwvfur2txJjgtz2Ax9L?= =?us-ascii?Q?/mv7h1ECAIk2rGh1+/ozG1mJfTqLHkRRPWQYYInzCS6FR3tUBh4K11cJnXPC?= =?us-ascii?Q?ROK3u9c0maHB062lIJQQzdHmhtDBX97bCw5J5E7iYUfCwkp9q+sT9k6q/zOR?= =?us-ascii?Q?gesaxPl4D92QmDgR1pYhMKJqdc0fftIdxhnJkmWJ0AaSl/U67AgMXyNQ7VU9?= =?us-ascii?Q?vO1wz7bg0p20xBWZ5Si+EId7MnAhWih59fvAMryWSve7+KMm/kmRrwJ2Wvsi?= =?us-ascii?Q?Ne7rZ6hR5lCem8qkU5bKzb4axBKQUapwKIXKQw899o2AJuA288wwnIx3lVm+?= =?us-ascii?Q?8SpCT7KXcI1HMkx+DO5+q/g/jSSAXnDzHVA53E4hf2yujAq5C1Ert622rhsL?= =?us-ascii?Q?KVBQWekAe+XTaLfr5h4jq+8yMQjAUjOw8CKgFHHCdeMjUWpDTP4zR38Ci3ze?= =?us-ascii?Q?UT0A9ozWH9lX8g4TweIgCjYLnXyZbpiD2lUXKs2er4GkoIEZix1gKGh76Fga?= =?us-ascii?Q?k7J2HavjmgNOlUeNVX4qOatZbZW5xX1U1xDBAlK2HFGeyZjEdbO6mJiA5H/8?= =?us-ascii?Q?CIAbYdjZQNUq3U2mRMEIdmJ1tLFipZsg+nS8ltRzva9R1WWXWH1NFHS+hJwz?= =?us-ascii?Q?BgBWtxjuKIjoymsY18/K1HWYudGfEuqE8RXzRDch7r9RQEq/i0rQMzkRMp1S?= =?us-ascii?Q?fVlXlFksd9DnqCF8L6362fdFNDCt5iOHvUcmSlLRxlqbKlnV15o2Lyq01OM6?= =?us-ascii?Q?UkYSsxKKCyub1PnIRONzF5gfL3Mt27ySjiQaZEe6VsZb7zslb1ek4EUezNo0?= =?us-ascii?Q?BZW1oCWk0C+vTaB8073tyUC9LdfuM7B21JmDX9TdipAOWZlNsddf8J7iIh/P?= =?us-ascii?Q?uFmsJ7zm9rCEuvFFOxxGMtpA3w4TBPIlq0XWJazw/nzr9eyY5FSuUBYMRcFe?= =?us-ascii?Q?EPV2X95YFPtAYPeV8cTmCQMe8WxbEivMwF+6hR4IhdkiXy56spg3CC26Xmyt?= =?us-ascii?Q?HBpKp1kehzmDRIqVLXcR+STj2nnzgrg3Q2GI7qGvzwuQfe3fSlFJvrEyRE3E?= =?us-ascii?Q?IlAGaI/ESL8kMoSjZGYZ4Vm69M0eMD2G+1l5duZ7VjNzsQvMwpHuLYIu/DMx?= =?us-ascii?Q?5fnU8/h4fAJSjQL5JUIQfOdNmwDs3WWVHaZv6ocbIGBpSao61Wy4kfzCzQln?= =?us-ascii?Q?Bd6fG6T5uYwtoqqaL/J+Ye4GSX1C8wOW7EJbgO3rQtH28wg+pp4r9y2yt9hl?= =?us-ascii?Q?JJcUfHKeMNkUifSRjD/DhE104UxO/5KQd/GwEzBtd85ZZ6JzGw0eP46YIMx4?= =?us-ascii?Q?f8pdVMaqaYfYIuqh7W+AHl+VDToWTCJKgZdUFEASueO9OYTPWO40AbmB0RjM?= =?us-ascii?Q?oOm1xK94yXSWFZ6h5XBOWC46SMrWnOenEnNPjTMmBE1wLiRGbwaSGiQ4a5FQ?= =?us-ascii?Q?Aa/7H4WiPww5/v0QDARIM3KHElSjmLPKztOaoMzJJUUTEqGcEZ8uheEMD065?= =?us-ascii?Q?ceMA8aMjZ64xtmec0H/A2pIagMd8FyqH4YBTnWmzirA0tGb7KoYnVGmsQ4qp?= =?us-ascii?Q?gm2TUFUJNotGmdp/nf4UtZbn9GJ7IDL4By4NKj5mESVBhK5iVTpyoRXh6kuc?= =?us-ascii?Q?qLqglz6COZ/FXgqZSP9ymDWGziYlA0wMPdEzF52SyoPzYubx5LBixJXsCSLK?= =?us-ascii?Q?BFW65WPohw=3D=3D?= X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-Network-Message-Id: a73457a6-1e99-4819-6775-08dea0afe27c X-MS-Exchange-CrossTenant-AuthSource: CY3PR12MB9555.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Apr 2026 20:44:01.3806 (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: MSvlXJHdar/RKfrBIv86IQ/0L3Pldshc17yEpcdn9MWBjDnp4hMEpkaCafuqFizm/1gGBIehPBxzSIZw5IAKrw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PPFA19DE7612 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:c107::3; envelope-from=nathanc@nvidia.com; helo=PH0PR06CU001.outbound.protection.outlook.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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: 1776890738590154100 Content-Type: text/plain; charset="utf-8" Update documentation now that "auto" is supported for accelerated SMMUv3 properties. Signed-off-by: Nathan Chen --- qemu-options.hx | 33 +++++++++++++++++++++++---------- 1 file changed, 23 insertions(+), 10 deletions(-) diff --git a/qemu-options.hx b/qemu-options.hx index 21972f8326..2c6ba16a26 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. - - ``ril=3Don|off`` (default: on) + 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. + + If accel=3Doff and these property values are set to auto, the values = will + not be derived from the host SMMUv3 capabilities. Instead, they will + resolve to the defaults described below, and a cold-plugged vfio-pci + device is not required. + + ``ril=3Don|off`` (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. + Range Invalidation support. If accel=3Doff and ril is set to auto,= this + property value will resolve to on. =20 - ``ats=3Don|off`` (default: off) + ``ats=3Don|off`` (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. + If accel=3Doff and ats is set to auto, the property value will res= olve to + off. =20 - ``oas=3Dval`` (supported values are 44 and 48. default: 44) + ``oas=3Dval`` (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. + translation do not exceed the host's max supported IPA size. If + accel=3Doff and oas is set to auto, the property value will resolv= e to 44. =20 - ``ssidsize=3Dval`` (val between 0 and 20. default: 0) + ``ssidsize=3Dval`` (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. + such as Shared Virtual Addressing (SVA) are supported. If accel=3D= off + and ssidsize is set to auto, the property value will resolve to 0. =20 ``-device amd-iommu[,option=3D...]`` Enables emulation of an AMD-Vi I/O Memory Management Unit (IOMMU). --=20 2.43.0