From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994289; cv=pass; d=zohomail.com; s=zohoarc; b=dMQpPImkUPevfPYT7nNvh6WNZ3ah7yYwNqtrstmLJPJEjA5YbSCxNYbkA4E1qhRdl3MkneZr+bWt+S8LrrZBAELQxG0HnnjBJoVOmbuBNbfaud8xJLcwSEqGhw8W7hvfUXPjSrK/ChQeW1fJN7ZWz5RV1RU09dAYVQpD15hYBi4= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994289; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mUHCUjxuHXyQyiJRL0lOrQ1QNQEgu0uuU3tVxFJJgIo=; b=hLRESd9pWwOpseUTPxWXXxd3HjqldyfmLuwCzauMAChWALzSxErKliIffM178pm9acpS3nX9EFVZ9fra9hgEyHFtK/RuqTMQ0Bz6TxIyhroQQVC85HY2wU3qu+0Kgb8AqwieiStN8zq6HvqHVq6eL7xfA45Mxp+saVImI71tM8s= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 178999428942198.99046033659101; Mon, 21 Sep 2026 05:38:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGp-00019n-Nl; Mon, 21 Sep 2026 08:37:21 -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 1x8dFa-0007im-Qg; Mon, 21 Sep 2026 08:36:10 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dFS-0002g3-4r; Mon, 21 Sep 2026 08:36:02 -0400 Received: from pps.filterd (m0127839.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhghL699560; Mon, 21 Sep 2026 05:35:25 -0700 Received: from bl2pr02cu003.outbound.protection.outlook.com (mail-eastusazon11021122.outbound.protection.outlook.com [52.101.52.122]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gssfekdes-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:35:25 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:22 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:22 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=mUHCUjxuHXyQyiJRL0lOrQ1QNQEgu0uuU3tVxFJJg Io=; b=SEr+M1lUyMWAyksZHFWZVpIqpSVJQY57lOqtrDsFjkvMHEob5e3lGwbHY paymj3GYVwU1mbVHvor1ZsbD5IRAjGmRtDig6B+ZqFVR/FXoHQ6wnGyF7RwvxRqQ Sm/adsxTh8euc+ubejgWm5l8lf6o8SnTlq9jflSTiUJuNYtAKAIZTbAokBUpsS3x qrlZh4rNPDHEDbfuNGiQxNkpZyBGdyttW841UV6oq0IN6YJCP1aAM86P+Q9oA/m/ P2vuNPCbZE+nNClMhBTK0RlqW7NUGpxCeGHIR9NSDX28/3jKFznUpxJe4Axavjr9 eW4cXYoDqIcdiC3SSnGU0EaaYpLfQ== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=WWXmPEXApseWgF/K2gr5FfRHlCZS8lEwoDqxf3mkHjDMwwkC01AABcjMYn6dOeigNb9r0/SBBPlYD955oZ+Y0l7qUG/EhukNEpnMtSoV1bDTftCyTp+cVjhMbM/Ncw67VC+/NXCJ7NyxtGsGvBfoTWJKFOr4CcDKGiRCkyT1L6xGF5ybJTLJnjE6RuznogIcCvu5RL+U+hMRPVNzz76z5jes+CMk54VXs2DiTdF3eeRJkthr8uAD7+qH2J8FZ/UtfyIbTqkkSNX74WJLYRiRnfKGD1/YNIdUdW0b/KE9kbb0dZzOM60b7cjoQgDXCvEbLqiVkRWCMJZjME5q/eXHLA== 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=mUHCUjxuHXyQyiJRL0lOrQ1QNQEgu0uuU3tVxFJJgIo=; b=f1im26xcRRxrOsDN1F/WbsEAZpw/BPrpCLCQ4RaS/p5Za2hrSp8UfqGFB/cWtOAmdDD/5LPVfsU0ep7G69edmvRJGHHHBxQvTY709lZQXXnb1kJ/rDeEj8Wt9fdjYSwWaUWBOK9MnBYjR1jxNeNChvuvs+8dTqmw0hv4ZCOkRgi4KNxa6raRruautXwhqs62i11QCAPv/fDkW2l8vnWWXSckSbr5HDEO/d89gv0CyZiVX0X81rWABW0YifFzouwtSp32MDjlJzybc2WqYif6rjPm1sbIwpQLBq5sdVGdLjKyAswVPq5aCYXGNAe0de4vk5rTE2LoStRHpxwLZ5xANw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mUHCUjxuHXyQyiJRL0lOrQ1QNQEgu0uuU3tVxFJJgIo=; b=x9UcAs64bWnLPfpx9J3Fp5wcyGxaz0/SZ/PdBzGjvEHZZQIqShe6qgnV+cqyEdVlht+gOF9Kbdr0W7MSujG9cGTP1F/55OALDAJWDvxHE/cFIdRPKiVYkerQgbfYLZAEaOy79jY38pjT68K42806PELpEFS4+7vZR6vehYWo/lBe1BhlXJGjFpX9XBpoi8CsdqOzbEw2q6C5stW27jmLSeF6zWOXQCQ4sxMml84qx9yD2DtB4ehVLI4U+2+B14R3AKRZR+l4k2fzMID8l8MPe4C/BEmoWmL24vPNk4D41dBjEhss106p7QTCF+AIL8RSCGHKmfYigJJzV1WLzaPjuw== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 01/25] target/arm: expose SYSREG_ props for REVIDR_EL1 and AIDR_EL1 Date: Mon, 21 Sep 2026 12:32:25 +0000 Message-ID: <20260921123249.1708067-2-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: 20172bfe-04d7-48ad-09be-08df17dc857a x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|56012099006|6133799003|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: Pe6/fQTXVFjN5b/k+tP7Qs0TaqX1kIcywjbFcUvdEWMI0JCinmwlAIXZl29s/yAFibYpSBF9KJ61NRDJAxRn3i0F0+EyGkosj3lfmHQQgNoHkzXzng4f2DcRnGQFl2PdZ3NGhioIXvtKQksxWTgMQRXtrjnEctCf0hHqWbDiev5jvOQ092/TmSv8FgG4gIvuWuHg0mymlzwdMiVylFKxzV3kAH9tgi/hSu5oh2T5HEEuxKX6hN10zmN5VmY0Pe3mNJ4Bxl9qRPnQSJnTVdZCE5IQVtGZENRjdnhk1jscTV8YuirUWDPcqoVjpd5wcw9+Lcy8gyQuLJOvibNohZYXVGRc8ohp2PiYE/feG41ZEolAohvU50Axh/IH2N0exvESPALrdbSOntxqE+6DBb5BcTkA0Uefk19pNUQ8BefMoh/mMzgrWJGRTfbDPQhTBgbZudkuUXqIcAhIdM9XFoA1Vop5E2rOuyS8XEquNzfxMwK70Jpi+919scHLwt9Rk8N5tZOkJm+iZV6PUUu5yWbQ+ctWcPLjSXUGUks9EcOKsnu8zf21iInbepK1L85zmsooc+P6Mu7qM6XnStuJlYguCBaWXZH93oBDcQ74FiyFcaTuoKW1b5I1ZZ/jyfjtb/hUvPu4aBNTVcxzEOJxnokvuaXZSl7wGr55FpbJTpMfx9g= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(56012099006)(6133799003)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uHkrtlGspZszinKSbr56mOKSqIl4ZYOw+M6EhVPib1nMr3FUm6VEtm3nPB1B?= =?us-ascii?Q?JNVZtlsCx2XQn8DTlsabf41nqL5Z54We6+te2J/3QoNg9OdmWXEhTQRk9T5C?= =?us-ascii?Q?UVrFGmYnwXV9C1YbOE9EUjnrKxMFBRFE4kYkb4+f8g6XBxEvPIy0ibBp4Wc4?= =?us-ascii?Q?S2s/IjqO1aZzJzYWO+6m5qeVcyO0R+uvG7toZPxq5nSQxjaPink50W1sHnNr?= =?us-ascii?Q?P5M0EoOd4ne5gC5IvF6Zy+jYvR8tuAcpx+vyDBUjoQ4pnWnG0Y9wV9hyF2UK?= =?us-ascii?Q?RZcIIhnjJI05TYuDKx2b5v/bNcC9EFbUiOJv27jNy8/5tRXVLohZl0b2eYL4?= =?us-ascii?Q?B4IEggwmTm3oMVvrZ4jksSXNjA5L9amGluiYHMLKJQjPL0xNH2h3L/s/34sA?= =?us-ascii?Q?fQOUmkG6mYIkKo3cPROwuN/AZzzW+tpCzpeM/eE5w46vjXEDYiid3mU9H5s+?= =?us-ascii?Q?suxO6dyntiMg3fZxCE7QZ7tdlRdZDZ36QEM9PLnEJTXMIVZaKCghkcK8iYKP?= =?us-ascii?Q?O/j/AWOUmtMYdVID1ZKzkUP4UGcPjbVWJ7NeUWunSuc/BTC61qr6OgRIb7Oe?= =?us-ascii?Q?qlvdHMfneiNgqCRkrqODhgPdz8fSLp0VsmK5ESO6g6z/gZtuBxN6mL9OU+XA?= =?us-ascii?Q?KkMSn2bkJZH+uxUJWOTgmRmWelfZ/mO/ScZ6cJv2pQzI7awINSnmls42jGLg?= =?us-ascii?Q?a5yDyZrUSzvMJ+R+JQfQ5Agy+MQwBBlLfDTXP8eUuKjOeA5y641OYv1MS37y?= =?us-ascii?Q?7pTQsbh6ZjudoJs7VPAtYkydSumSS9XrOObzj52UyGxbMziapcE4SlypqsFP?= =?us-ascii?Q?ys6Uix3n2oM2fA+ZTmtsGx8vAUXjnO8Rxa8gK8ek785tM9KrE7eK/zPfn4q4?= =?us-ascii?Q?Se7lGl0ISQRs8IrqYICcMcahYq4nZWKlcQFDPJNeIhrjL+jk3mIJmWbtPUA8?= =?us-ascii?Q?bGL4aRRRcSKMGl32LRH6rFlURiyUUgAbeCKl4GcXAO5dT2UTVHuDp0FOjwOl?= =?us-ascii?Q?k1UMyHgiyp0PMbp4/IiZB/fN3llQRRiS97616JU6TMo72mSdw1fqqWgzAQC6?= =?us-ascii?Q?PhViLPqlDaylw8lI4JvommeVxh+RjSxZpt7F2mXbkaqCoK/0JjscRJhXkiDP?= =?us-ascii?Q?zjXfhYLK1EvN7cossUujLFQV/Lp+LNDIW43Xr+9nq0aX3c9oy7TG50GtMyC+?= =?us-ascii?Q?ZRaCtyVybyzK83PjSNtVg59XN2x2kDI6g+Q5gaz52aZWMzbWZB4DxFD/EUN5?= =?us-ascii?Q?b0Pi1R9mSUSKvzBZz07XwdXPodfVBYRvLaRrV9ibkHsKa5A1s6T7yV3ovh7N?= =?us-ascii?Q?jfbp7rYPf7Ra+P9OBa0F4lmKoOs/hPasIx6P3i3VL+5d/EuAw4TEkexw3sYY?= =?us-ascii?Q?jsvoB98WUfKX/KsosFn41Cc89zcNAKrGYJWJQMOjO84QrijQ/XEJZ16jhby6?= =?us-ascii?Q?V67yVlewLg218jJNUB42HB0Jd03Ej3nJbHHCQootxPjQcM2PfwcA7V9gxpwa?= =?us-ascii?Q?r/C47yCUd56uGl82/8BHFaYvj3YMdKiFHQzC7g+iA8XNW2H7F/IOfDhUw1r2?= =?us-ascii?Q?FpXQ80L/UEiWtzuE52kiUPaSJMIb33Lj2iY+Uy3a9S4sFd9+GePnBPac9nI6?= =?us-ascii?Q?NVGt2K87mj2aY3YOMz2qV/cziixKCNaRewE4rFBGQK5TsfCkJu/tdXlsE+JJ?= =?us-ascii?Q?LIaJpAXRF3xLnh7bRC+uFGI8vanp8nBX/8ickUqY0ynl/BkF5Q3wQrzSr2gv?= =?us-ascii?Q?3Elk2q4hFPQixuStay5BwMC5D4nHdGQ=3D?= X-Exchange-RoutingPolicyChecked: huoquYJbBQiIagp3ApC7hEsCNAeCN3+onEBfokHmira/KA0apwbgm1RGW5MzUoqpExAD1lFK5JqoSYS1nmA8b/KjxilO/4oDdz8mIBIiGnHwt7PL7ULSdAARelA9PATMjMuMLTWe/UBkG4/sQIrHqE7mX5hYfNEof4rzOR7VsgGLmQy33Uq+jPKV6bR/iX+u3vzXTMty4fKl39rfCr9OGhnCyxrHHnaJj11S5n0RItTISHf+BS9haCI/oIzHHqspTkiapDFE1UIPsaztbfNALslzw7Je1EXhcYoOgkRsAzPvYuMHqPsp0VYA3mRY4vOla0ZsNfUBKvSriomu3VcNvg== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 20172bfe-04d7-48ad-09be-08df17dc857a X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:22.0884 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Dmfg64pbGnu7oPErnJGr5f33SACT8DMaGvR9R0+YrakReWN95GlW0T1FlWU5UYaQ/kZmm1c6ANiUUCQW9JXzMl6uTdeyBZFHI3HM37WbOV8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=dJkzC+Zb c=1 sm=1 tr=0 ts=6ab1248d cx=c_pps a=83jsKCSeZiZisq1MDa3xoA==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=y4UcunY2MAxhM4LwGdWI:22 a=64Cc0HZtAAAA:8 a=KvCNgtYwFZ1MvR_bCnMA:9 X-Proofpoint-ORIG-GUID: b0v4auQidrhAgvbI7Q_tmQC_SCTp1g6X X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX46lP+gGcgM6n f3esLG+g5nNtrUKGduHS0dux5lD9CHr0AiH63vfx1Oij0ayvLV0URw/EljDW8a9yIYilPpXqPaP IqVLEFsJqq181hflpCSKSNuxjOHgOyM= X-Proofpoint-GUID: b0v4auQidrhAgvbI7Q_tmQC_SCTp1g6X X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX+eMfxWte7/6b VWSUfnbEp6qctHivcN45OnUEPVDJTFHKiVfnT1aPL93h3ULZGpXciMjgn9UD8D4F2atnPH2IKmw 0CqhZQKfp1dRoQ1OuE+MxR82Ktl9h4beonR8sfjXZilmRZ/qrgpdHfbFAddDPdFgdG/2ca2xG0S 94xzwbtjLTJuWBSZempXHYwDLr8iLrspGP61f2AjVorxdyT7gRsn/Frs5sMedfxFmQ8jwEjNUBO kOSGmmxUwmd8vytAne+AXgkFjG/DvR3jJINoiIK+5Y6ARUfU34Dkj9uAgD1cChsYfKwBaP7KSK8 7MdKWbEYVQ5JcnN1y5bU4qbQZdN8Ar4FfaxeM7XcWJ3gF3u/JISdkNzsnVh2cGf5H9Nt/2D/dO9 eECGUyvrLF2uwwdDaWRFbUagdhYQY+fMm+Q61Go9RgNeOvGIOmjCVimdpDEJPVC+ek5sAc93tFw +MbG2AyOVImuXwO3r5Q== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994290618158500 Content-Type: text/plain; charset="utf-8" REVIDR_EL1 and AIDR_EL1 are implementation-defined and have no named fields in Registers.json. Emit dummy VAL fields covering the full register for these registers in scripts/update-aarch64-cpu-sysreg-properties.py, then remove the special case for these in kvm_arm_expose_idreg_properties(), exposing them as SYSREG_ props. Signed-off-by: Khushit Shah --- scripts/update-aarch64-cpu-sysreg-properties.py | 9 +++++++++ target/arm/cpu-idregs.h.inc | 2 ++ target/arm/kvm.c | 10 +--------- 3 files changed, 12 insertions(+), 9 deletions(-) diff --git a/scripts/update-aarch64-cpu-sysreg-properties.py b/scripts/upda= te-aarch64-cpu-sysreg-properties.py index 0b4e4d3e0c..2269063408 100644 --- a/scripts/update-aarch64-cpu-sysreg-properties.py +++ b/scripts/update-aarch64-cpu-sysreg-properties.py @@ -246,6 +246,15 @@ def generate_sysreg_properties_from_registers_json(id_= reg_names, raw_json_path): # Sort decreasing lsbs sorted_fields =3D sorted(unique_fields.items(), key=3Dlambda x: x[1]['lsb'], reverse=3DTrue) + if len(sorted_fields) =3D=3D 0: + # For cases like REVIDR_EL1, add a dummy field covering the + # full register. + sorted_fields.append(('VAL', { + 'lsb': 0, + 'msb': 63, + 'width': 64, + 'enums': [] + })) =20 for unique_key, bits in sorted_fields: enums_list =3D bits.get('enums', []) diff --git a/target/arm/cpu-idregs.h.inc b/target/arm/cpu-idregs.h.inc index c7e93c48b7..bc52112430 100644 --- a/target/arm/cpu-idregs.h.inc +++ b/target/arm/cpu-idregs.h.inc @@ -12,6 +12,7 @@ /* IDREG_END(REG) */ =20 IDREG_START(AIDR_EL1) + IDREG_FIELD(AIDR_EL1, VAL, 0, 64) IDREG_END(AIDR_EL1) =20 IDREG_START(CLIDR_EL1) @@ -2438,6 +2439,7 @@ IDREG_START(MVFR2_EL1) IDREG_END(MVFR2_EL1) =20 IDREG_START(REVIDR_EL1) + IDREG_FIELD(REVIDR_EL1, VAL, 0, 64) IDREG_END(REVIDR_EL1) =20 IDREG_START(SMIDR_EL1) diff --git a/target/arm/kvm.c b/target/arm/kvm.c index e3a0dc07de..8a823d0324 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -554,15 +554,7 @@ void kvm_arm_expose_idreg_properties(ARMCPU *cpu, ARM6= 4SysReg *regs) ARM64SysReg *sysregdesc =3D ®s[i]; =20 if (sysregdesc->writable_mask) { - /* - * special case REVIDR_EL1 and AIDR_EL1 which are writable but - * do not expose named fields. They will need to be handled - * separately - */ - if (strcmp(sysregdesc->name, "REVIDR_EL1") && - strcmp(sysregdesc->name, "AIDR_EL1")) { - decode_idreg_writemap(obj, sysregdesc); - } + decode_idreg_writemap(obj, sysregdesc); } } } --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994125; cv=pass; d=zohomail.com; s=zohoarc; b=SMVqSnsXYb8dYD30W5yjFFlG2mCCzjCddDQx7pudGR2+N4neJW3mypWQdVpCirpPS840YCjwAKgE969pcV17IScxHpGGRJhe6iyTHNGl6aGCRLLl8tNBgERBr2vQCSNgTB0egLhWiKywbvJaghCFSXpzPpRyW+u+IYtEQtwdU74= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994125; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=P6lGiNF8b4KMP2A15Y88Et6A2LCH1KConQNq5GnxHMU=; b=DKpqa7T4RYvQajduOCr77RkW8/QYHTKbBISXySs2uzv5C7Fkqxmo6ay2tb3TYGTN3RfTf1qNH8MZA/jvV0s/DjVNCWQsAYGScYeMpQcVR3gZmqbaDJqgA8rIHEarzo+AiVUG6fVCQSF5fylK20aFuN47T+g/ClMa/GnNdYuutvU= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994125849764.3959456042267; Mon, 21 Sep 2026 05:35:25 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dEO-00070U-NU; Mon, 21 Sep 2026 08:34:54 -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 1x8dDU-0006sH-K6; Mon, 21 Sep 2026 08:33:54 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDS-00028C-8V; Mon, 21 Sep 2026 08:33:52 -0400 Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhHpD857563; Mon, 21 Sep 2026 05:33:33 -0700 Received: from ch4pr04cu002.outbound.protection.outlook.com (mail-northcentralusazon11023104.outbound.protection.outlook.com [40.107.201.104]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspa73jnu-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:32 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:23 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=P6lGiNF8b4KMP2A15Y88Et6A2LCH1KConQNq5GnxH MU=; b=mXGmc7xg8BHe6Km7pKFOlBYwVNELlw06stFOyqdBwlunIKvmgOA1mV2Gi /xqR9hHWkUicfMnYAlCeFvu1fRvikRtcaJwvirFTTN+Ckwx2v6n1mmUJOQS2JIhc AT4NScwfX5XinNQ865kPPUDCuDoyJRR1apPkZRwTKTyDDFL5ba6ebKzh7AtjbI+r bsE+qdQXHgy2ztXYU966YLWevqyN4isxmmzkFf9bflT4hPNi3B3NdZtPxC4Xpi9A AWaIYwAH61U7RX+GOn5WEiQtBVSGfYXaJnEKfa5mTuzWe63WjXpZgZRu7rHQDTHM N/g886UUN1jxLYrBUauT1cbFRwu1Q== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=OqSp2PGwz7yrKL95bmQPGhlWde7XO6SCAfTbzemaeZae4wdxjKraZ4qwk9HxUIGohvKXeYf/F357Cu16MkanpzwRIJoK21pgcHPL9Bok3c5Y2+KPYlNJI1zbSECqZC93XlM/jROIGDPh21K8KEpBefkfoexPbEqZ7mcVrHnyXU4tWyoMc8Q26Y9Bon1tEM8sIBxo30hAjRbpbLIjz7JxVs1DX3Q/2zwfmnPUy5DOPiAGklXaWpTIqjGuHZirYRLqbbwrccGoxK5vHdGL7FaQcLSKHWt8xNEJiJ4neMg7r6i2XBktG1SFUSctE+N6NWn2YRZjidONL8jaSr4CNBsftQ== 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=P6lGiNF8b4KMP2A15Y88Et6A2LCH1KConQNq5GnxHMU=; b=OAZPml9FHty5tdKllqFcv4aZZgq0DjRxF2V+ImgTP6Mhab97gHy5zR9m0fskatdwx+Z5gXUMdfepGFg1HgwPbrlmb9cjV/bGiRrUVIX6bwBWO1m50ob1Bya02m6shzFL7BSIaGgCyvBVxhlApsik04FL+x1Wzt2+hcF7y8m5lqox/YQ9MUxcdW1i5oVjazcNo/YrziIepRttsOGRpmS/CsFTN6XDSL/cWmlxOIwfXdSk87JquPWqAfIz6m0AEk4qFcEc6ciN28aHg17CCwlPQIhFMUvuACtymA98gagWd+8o/8hAnr4hvu9sJcqRKaMDPY271vJt33J/irAa1JSUNw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=P6lGiNF8b4KMP2A15Y88Et6A2LCH1KConQNq5GnxHMU=; b=AsrnypgCujVokewBLGN3ktow9A6M7d9LZxlXtMcwmqlUOc7HoAf2nzhrBeXCxm5ByynE4ZeX4inmfIT5NV6CqcSMjjATBJeZXqsx6npzxFwB0oaksVlqo6ssUETstJxKfbxEQqe/wO41cHHcw+5BiT01pVqaaYNn3EqF/+mR9tDHN27diDsCZqxi3gbm5XnYO3J5mdEHzTEw/yMoZkl5hV1hIgHpE8VIAAnSy1LNWzrZnBwqaCoW6rCbc/1S3ApBvXpsKNcslmTpmKxrYs0V+TEgxy5+6ERzXRipCArPE/g5jGvzi1SnhbySwxkXg0V6FEBHeHvNJnE+fSP9JE7ZIw== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 02/25] target/arm: expose all non-res ID reg fields as properties Date: Mon, 21 Sep 2026 12:32:26 +0000 Message-ID: <20260921123249.1708067-3-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: f62377a3-06b1-4e4b-98d5-08df17dc8698 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|3023799007|56012099006|6133799003|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: HrL6+tzlIw9APLxCjmC5UACg8ffr+J55RgiphEmEW56cuV7yqXJNCDFcg4/fSHmnEnUXYIKERmisflWpIrrbTKonl4zh9NrAsr9K/BYX4VNTBfe+RFzWoLQca18fHiK5bzo0RguEYZOiCW8O8lC1BZr556sRD7zK8yWi7fmLQUFfRi/3zHsJyu3J+xmrMwaiXVtDNrQh8ckSV59BNXZijNL7PHbmZfgOpZYMngIntN+KRcWE43kijmicBTgTTfgkmeZjFskRTSVG5RIOZxplGogxti8YsJt9Ms8+YV+m3hLwgIBFczZqTDbvWRDc6c+Zy/6y4/Ylb/70bfhq+qwQYdbp4/AUpeanygCbgrCfGGS99awz36TJbuj7QnG0wGmRLDVtq3BkjWPamrHJZfqFjY6ILMDvgADD9y/0aRvJv0q9I0AQNjuixyN6zI3hWLDSvH30pULeCRQVrYM6ZlEYSZySPWmRC0sBVGW+jKy7lz+t6R5Enk/UI7dZv09ExKWVnlLw4e/lrWIwuH4Aou3oZB0rYt2pX/ZfRt+5QlhMguKCuq3RrFjxJPjN72lDgQQm8gpiMdCGG10jJeYvRbVgXpF3D2FK4vwZaWd3czqtOA/Aepyak884UDpp6njmlYs/e5tffUWZ8Qegxptfn1pB8cNjD2LUct2vlTB5GJuOH9c= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(3023799007)(56012099006)(6133799003)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?sN3QEqPJZUXFo76cOKI4XfRJzq5U3Sx1fxUplrAR8/o5vOceOswzVKFeLYmD?= =?us-ascii?Q?FJaNr3TbVQ+hkm/0FN8qMUQ5VIMZvdDjJTRHIYJFwTmcilD02i/6jUy2yTF7?= =?us-ascii?Q?qYK1+NGXKtWL3rld7mHqA3hbqLHOW77GnfCEWj/8R9Y16yCDNb9vnqF/o5H7?= =?us-ascii?Q?i+SqOt5NUISpbZCfUNHDytuwgbd10OrGCAuOvvNaS3CEWm4tKoYU5gCMHTN2?= =?us-ascii?Q?6FfEcLpNt5Q9dlRxAij9/wxcJDYf/Gr5hI2VYAKkHX48Q1WjSa8Gj4DpNVRY?= =?us-ascii?Q?tNHNqOYAxR+uJ/LRrloWg4PjQTpsVBXH760fOFiPf96v0PfruGics67mXADg?= =?us-ascii?Q?PyXJM39QvF++0KSX95KffMJin6UzNxOq8frqC5ZzqKAF6hJfwwRUKWnF1JVz?= =?us-ascii?Q?XIS5hRRAvnoJIDZxxqdfAHXy9b36ZUvV/zqTPVDMwUrJy68Ggu737fUW/egw?= =?us-ascii?Q?UZTKZ8eq6wiKqa2/DaUtDg/ZSt+MwIfqSAYMP42f33oCuQXqo4Wmsq8YOUrn?= =?us-ascii?Q?PK5sdoXg2CQkwhoEbvJqttNFXr5Y3mm6gl/p8SnoTSbhqgc2hwfOas5Zz868?= =?us-ascii?Q?h+XSrKpu3qbJioysLLVlQuLuCm4i08u42gtkz0I7QBWx13K1NryPt1TMhWvt?= =?us-ascii?Q?XLzveDhKJjmx2w2ytG5MCevG/bjxabcHmFWlOiB1wCcCUqnHbmLVo6Di7QFh?= =?us-ascii?Q?kAjS71L2u3GlPrPqq7mk3k6YN4e3DoeGjbsuBHr5I373eXrLGPzZffIzH1XM?= =?us-ascii?Q?DvAOP7H9t9CGwXZBTNLILYnk11YIXETsSmZQfKSnIwdKtCIuEKjKdKI1S9SF?= =?us-ascii?Q?CseEWnccPGAwN3JukEz19rTQQ7BZgpQCUbO8VLavq0GbpYlDkIrY1fLrtcmZ?= =?us-ascii?Q?oLKMMS++gKzFzQ6Z0er+4143aacEJ4/zRN7gQsyiT71RtMNv8KwvnqugVlpC?= =?us-ascii?Q?CQPl31ilR4h6drHPvSXu73yy1gpmfEOP2RpRS9IPRcpPN7uiHgKj0L11Sqj1?= =?us-ascii?Q?O0itEXMDc6HdXYVc3LSBcUZUhSq4qaPR/M7Nj9veUGm41DwC2g9hXTaSOE7s?= =?us-ascii?Q?bliaAEmWbOZn4SsQVy64CeE+t89XSLr+3M9Lv3cx+B0sR+49VJ4DWNyUWqMH?= =?us-ascii?Q?PP+dR1Suq0t0ZY8zB0/px+TyAbqYS8yboApwCp/qnJuX2HxF4ROhweX/Lz+R?= =?us-ascii?Q?VGnUvTOTQitH5agkY4bow0nJ4HNzFRRgakcBXUEpYum7LKFr8tFeaCwyU+QO?= =?us-ascii?Q?dwT6F70IHoipapmuvu3SKEJOkLTppCSZZ6TSu3u94S7eailXIwYa8OVRoTmb?= =?us-ascii?Q?wRPwFnVQK52E1EuJTC3HFh22NzoAoIwJWxwUF86f0acmeQvboZhWymMIIAV8?= =?us-ascii?Q?pnExbFwaaMgMVUIK+LcaQBi1Fc7+tGxNYSXbWUtbhB8xTFaMb795cXwSNGdx?= =?us-ascii?Q?HpA64LlDSQs/Mp87tF11lupC2k/+0yOpd34oCZxydEMOagXmcMRABWY/6iWr?= =?us-ascii?Q?JbHSuhT3D2XjqKwilIBVNqS5uYmo54DEtnb8zqaHcp1rgpaibogOUxRNG8ht?= =?us-ascii?Q?wFZ3OEMVBLYE7arqrUCbcoKsRtG7QhqYfOtLM3xL2+lC9HbicmNihsWT9eju?= =?us-ascii?Q?KVnJJQna9eQVQGyazSo5c0Cw6ALDERLj9WKfE+Nj3UEQyu5tF3zocgZLODAI?= =?us-ascii?Q?FYnu2kwIjilhdW522ySffbgtb93sOFFxnJRMLkxQQKO2DiJXR+Pz1jd9gKYd?= =?us-ascii?Q?AW5OP2PO5zYEj2QHXZrf/OwGTamDipE=3D?= X-Exchange-RoutingPolicyChecked: z8o07EDFG3PDLJMU7AEzxkw07EOIYsoC1NE8hQKRz47h6ps787YPfmOqnI53luIATxvLBG3LZ4xe5/YP++8ZYAq43Qt3KJVpSx16eyTwtZRWEVlkDr22OW+q1oBGEFQ8e7UAE9r9ZQ7k4mYndp1NbxrNwiu4zGJKR5knWvGF1zPVj0HxGHk1GE6YBz8791w+AO1oPEKdQ+mOaxFIgseAzp6z/VU4O6J5HP1T74Z9Xo441nUDeyui1yZFaPrnPUhkDA2PuGlp7BNj42c0YF+rSTVtjQCDdm+kOyDciQ7ACqJ8AoC9wp2SfIhqahJgYg0Ab8cjUAyPVyS3PcwhO/bGfg== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: f62377a3-06b1-4e4b-98d5-08df17dc8698 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:22.9606 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cpyKJCBn664JURcw1j2hv5Lt6BS46V6SuSZ2bM4lb+SNPlRC7jpVdMmE/6yiQggmhYyZ5oFlijs/yytbm6WbmbOjN/LYF4R4pfG8uiu6XCE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=fPWsTpae c=1 sm=1 tr=0 ts=6ab1241c cx=c_pps a=0aASrZ1Sr5nz2ag1/hSaPw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=Ap8k9tRZuQ82DLYWQqG7:22 a=64Cc0HZtAAAA:8 a=uJmLQrER0_B39NjpmJgA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX5vd1F1COeREo wExZPF8JmOTQfv2HW0hldlMpLqqWx76up6oIEuAEuxn28yaU3d4mXEBDNXz7VKyyhznNRGFl/+6 3VxrcgSYrlU5pxIG+3omcgCiCcyhPNo= X-Proofpoint-GUID: XXk4ctmf5atuOa7c-fOAhjbaMzK_nA1m X-Proofpoint-ORIG-GUID: XXk4ctmf5atuOa7c-fOAhjbaMzK_nA1m X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXwecr9wbo2bOr qo2CUFMEdoqZCJCeGO7mhTQ5AS+KQJ3U4lDXUtvo7V85hE49nZINOegHkwrTJGaWgp8QXyTKOMU DDXq6Lgp02qMlLILR9GBerJ/n8JmIgGfS8GFkj9eMN4ZVbNIa+m46evgY1xMh4mj/ZfyEVtm2/7 Oe5uXCJvm9hV2lHHtDqZqCfdr3aJRhNY3MjL+CdWLBlGSG9w648CNkEr9OdiDLBT8Vcz7cManVs w6VUf//NbSc3tFuLt1U5j+frN1FfPweZz3vk8DRQhMsBr/8VgkDGa/5yKSpTI+VZnoHB2XqsIvs WMHJA/nP2Ilxn6ibohjxAIAw2+Dak+Pty+P/o5ydMWl+Zw4Vuohb5sHj0/pTURaoLrMy6oyyXzM NWXHlu+EQCqXgHI8vrQMAAsz7swwQhV3LuBDEWnraKJdgmJ9wTqOG04EUBltkerybqc3cMxLtHf bSHf6Tn+vBQ+Bya8crQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994127853158500 Content-Type: text/plain; charset="utf-8" Upcoming named CPU model layer will require exposing all the ID register fields as properties. Furthermore, this exposes the host values of all ID register fields to the management stack, which can use them to infer migration compatibility constraints between different hosts. Signed-off-by: Khushit Shah --- docs/system/arm/cpu-features.rst | 34 +++++++-------- target/arm/cpu64.c | 2 +- target/arm/kvm.c | 71 +++++++------------------------- target/arm/trace-events | 2 - 4 files changed, 31 insertions(+), 78 deletions(-) diff --git a/docs/system/arm/cpu-features.rst b/docs/system/arm/cpu-feature= s.rst index 3a07a87bc3..62bb2bd999 100644 --- a/docs/system/arm/cpu-features.rst +++ b/docs/system/arm/cpu-features.rst @@ -34,17 +34,15 @@ running guests in AArch32. CPU features that are inherently specific to KVM are prefixed with "kvm-" and are described in "KVM VCPU Features". =20 -2. Additionally, the ``host`` CPU model on KVM allows to configure optional -CPU features via the corresponding ID registers. The host kernel allows -to write a subset of ID register fields. The host model exposes -properties for each writable ID register field. Those options are named -SYSREG__. IDREG and FIELD names are those used in the -ARM Architecture Reference Manual. Their availability depend on the host -capability to let the userspace write those fields. Values set with those -properties override the initial values retrieved from the host. They are -written back to KVM and the eventual value applied by KVM depends on wheth= er -the value is sanitized or not by the host kernel. Then those field values -are likely to be overriden again by legacy CPU options which apply at the = end. +2. Additionally, the ``host`` CPU model on KVM allows configuring optional +CPU features through the corresponding ID registers. The host model exposes +properties for every non-reserved ID register field known to QEMU. Those +properties are named SYSREG__. IDREG and FIELD names are tho= se +used in the Arm Architecture Reference Manual. Values set with those +properties override the initial values retrieved from the host. Whether a +value that differs from the host value can be applied depends on KVM suppo= rt +and any field-specific handling in QEMU. Legacy CPU options applied later = may +override those field values. =20 CPU Feature Probing =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D @@ -534,12 +532,10 @@ Note that this is currently only supported under KVM,= and with the Querying available ID register fields ------------------------------------- =20 -QEMU will create properties for all ID register fields that are -reported as being writable by the kernel, and that are known to the -QEMU instance. Therefore, the same QEMU binary may expose different -properties when run under a different kernel. +QEMU creates properties for all non-reserved ID register fields known to +the QEMU instance. =20 -To find out all available writable ID register fields, use the +To find out all available ID register fields, use the ``query-cpu-model-expansion`` QMP command:: =20 (QEMU) query-cpu-model-expansion type=3Dfull model=3D{"name":"host"} @@ -554,8 +550,10 @@ To find out all available writable ID register fields,= use the "SYSREG_ID_AA64ISAR0_EL1_DP": 1, (...) }}}} =20 -If a certain field in an ID register does not show up in this list, it -is not writable with the specific host kernel. +The presence of a property does not imply that every value is supported. +Non-writable fields must retain their host value, while writable fields are +limited to the values supported by KVM. A configuration requesting an +unsupported value is rejected. =20 A note on compatibility ----------------------- diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index e04062e848..3d522bf20d 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -809,7 +809,7 @@ void aarch64_host_initfn(Object *obj) kvm_arm_set_cpu_features_from_host(cpu); aarch64_add_sve_properties(obj); =20 - /* generate SYSREG properties according to writable masks */ + /* generate SYSREG properties */ kvm_arm_expose_idreg_properties(cpu, arm64_id_regs); =20 #elif defined(CONFIG_HVF) diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 8a823d0324..2f6c090e43 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -365,19 +365,6 @@ static int get_host_cpu_idregs(int fd, ARMHostCPUFeatu= res *ahcf) return err; } =20 -static ARM64SysRegField *get_field(int i, ARM64SysReg *reg) -{ - for (int f =3D 0; f < reg->fields_count; f++) { - struct ARM64SysRegField *field =3D ®->fields[f]; - int upper =3D field->shift + field->length - 1; - - if (i >=3D field->shift && i <=3D upper) { - return field; - } - } - return NULL; -} - bool kvm_idreg_write_scratch_vcpu(int cpufd, Visitor *v, const char *name, void *opaque, Error **errp) { @@ -493,69 +480,39 @@ static void get_sysreg_prop(Object *obj, Visitor *v, trace_get_sysreg_prop(name, value); } =20 -/* - * decode_idreg_writemap: Generate props for writable fields - * - * @obj: CPU object - * @reg: description of the sysreg - */ -static int -decode_idreg_writemap(Object *obj, ARM64SysReg *reg) +static void +add_idreg_field_properties(Object *obj, ARM64SysReg *reg) { - uint64_t map =3D reg->writable_mask; - int i =3D ctz64(map); int nb_sysreg_props =3D 0; =20 - while (map) { - ARM64SysRegField *field =3D get_field(i, reg); - int lower, upper; - char *prop_name; - uint64_t field_mask; - - if (!field) { - warn_report("%s bit %d of %s is writable but no named field " - "in target/arm/cpu-idregs.h.inc", - __func__, i, reg->name); - map =3D map & ~BIT_ULL(i); - i =3D ctz64(map); - continue; - } - lower =3D field->shift; - upper =3D field->shift + field->length - 1; - - /* Sanity check the field is not a reserved field */ - if (strstr(field->name, "RES0") || strstr(field->name, "RES1") || - strstr(field->name, "RAZ")) { - trace_unexpected_writable_reserved_field(reg->name, field->nam= e, - lower, upper); + for (int i =3D 0; i < reg->fields_count; i++) { + ARM64SysRegField *field =3D ®->fields[i]; + + /* skip reserved fields */ + if (g_str_equal(field->name, "RES0") || + g_str_equal(field->name, "RES1") || + g_str_equal(field->name, "RAZ")) { continue; } - prop_name =3D g_strdup_printf("SYSREG_%s_%s", reg->name, field->na= me); - trace_decode_idreg_writemap(field->name, lower, upper, prop_name); + + char *prop_name =3D g_strdup_printf("SYSREG_%s_%s", reg->name, + field->name); object_property_add(obj, prop_name, "uint64", get_sysreg_prop, set_sysreg_prop, NULL, field); g_free(prop_name); nb_sysreg_props++; - - field_mask =3D MAKE_64BIT_MASK(lower, field->length); - map =3D map & ~field_mask; - i =3D ctz64(map); } + trace_nb_sysreg_props(reg->name, nb_sysreg_props); - return 0; } =20 -/* analyze the writable mask and generate properties for writable fields */ void kvm_arm_expose_idreg_properties(ARMCPU *cpu, ARM64SysReg *regs) { Object *obj =3D OBJECT(cpu); =20 for (int i =3D 0; i < NUM_ID_IDX; i++) { ARM64SysReg *sysregdesc =3D ®s[i]; - - if (sysregdesc->writable_mask) { - decode_idreg_writemap(obj, sysregdesc); - } + add_idreg_field_properties(obj, sysregdesc); } } =20 diff --git a/target/arm/trace-events b/target/arm/trace-events index 71a2f5770c..7696a8ed40 100644 --- a/target/arm/trace-events +++ b/target/arm/trace-events @@ -15,11 +15,9 @@ arm_gt_update_irq(int timer, int irqstate) "gt_update_ir= q: timer %d irqstate %d" kvm_arm_fixup_msi_route(uint64_t iova, uint64_t gpa) "MSI iova =3D 0x%"PRI= x64" is translated into 0x%"PRIx64 get_host_cpu_idregs(const char *name, uint64_t value) "scratch vcpu host v= alue for %s is 0x%"PRIx64 kvm_arm_writable_idregs_to_cpreg_list(const char *name, uint64_t previous,= uint64_t new) "%s overwrite default 0x%"PRIx64" with 0x%"PRIx64 -decode_idreg_writemap(const char* name, int lower, int upper, char *prop_n= ame) "%s [%d:%d] is writable (prop %s)" get_sysreg_prop(const char *name, uint64_t value) "%s 0x%"PRIx64 set_sysreg_prop(const char *name, uint64_t old, uint64_t mask, uint64_t fi= eld_value, uint64_t new) "%s old reg value=3D0x%"PRIx64" mask=3D0x%"PRIx64"= new field value=3D0x%"PRIx64" new reg value=3D0x%"PRIx64 nb_sysreg_props(const char *name, int count) "%s: %d SYSREG properties" -unexpected_writable_reserved_field(const char *reg_name, const char *field= _name, int lower, int upper) "Unexpected writable reserved field: %s.%s [%d= ,%d], skip it ..." kvm_idreg_write_scratch_vcpu(const char *name, uint64_t oldfv, uint64_t ne= wfv, uint64_t actualfv) "successful dry-run for %s old=3D0x%"PRIx64" new=3D= 0x%"PRIx64" actual=3D0x%"PRIx64 =20 # cpu.c --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994217; cv=pass; d=zohomail.com; s=zohoarc; b=CYAvv3xYlcZfEmOsz1PsU2rOzMvVwS8Ml7+KuWXKH5pK2NusRYHBb9MCRQ3SKW6evv4s4K7WIXzGpOefcf6HcI3cTdC0hoN7cPbWOwQX0Ayg8woVRxrlkYu/DsfUxS3wCwbu9Ik7vJwaeJO721fN8xPue+6LTiiGYHoA2KlnLCY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994217; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=G380QeC2TQ+0Qf/QaJkVpr/OlsW37Yh9PxiB1osY2k0=; b=Dn2bZ0LJpTUQyrc6E1G6D2Uk1O0i3LroxFZx8d/EurlBLQvV9siFW8ECsEvm3uZMNU9GNG8ZiMAJsTdYQfk3DYisPzLX15cqXnQ8j+MM1EhKRAVouSZLKsXcuNgeb2/AHm90PFFPfrki9zYqpof//Ka9jRG8ZKFwo7vivZuHtHM= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994217416464.3861638822942; Mon, 21 Sep 2026 05:36:57 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGN-0007xS-Pj; Mon, 21 Sep 2026 08:36:52 -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 1x8dDa-0006tj-RO; Mon, 21 Sep 2026 08:34:00 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDY-00029M-H3; Mon, 21 Sep 2026 08:33:58 -0400 Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhHpE857563; Mon, 21 Sep 2026 05:33:34 -0700 Received: from ch4pr04cu002.outbound.protection.outlook.com (mail-northcentralusazon11023104.outbound.protection.outlook.com [40.107.201.104]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspa73jnu-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:34 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:23 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=G380QeC2TQ+0Qf/QaJkVpr/OlsW37Yh9PxiB1osY2 k0=; b=OS2QUr/ypFuh4GA9hJalKa7hTrBeu5RrtW0tW9L1xGyT1eLck0HkLFstw ptSzr3lWTPLoAUVs06iCUhMjr/ovP4ulMUSCiRkw8/Gr899B+K3xU55ffitrXwyi IEgL2/d2358FXkgkS9PesVV3C/KUqmvTrek84/7tCOP39EW2Z8QTmQ03PZ/A0wQV iW5sXgcFFcw+uze8h6jZmSW0dMy5DrW3Ceef/x1e8Xg5+Dce8+GLqyfLg0bsHPG6 0wm1k0ONBTQIIoW2ZNWNob6Z2y8rQSASPmZkZdabr68zsytRVrkqQ9XuasjuuMwC lyBFD3lO2N3Rlv2FXQ+yvEOOa/Ixw== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jwE5EntIDJvFERDRjL7yJshEkHR3+O3kdcSesPkXHAwE2P7Vs/DJWvJGPLlJIuuajAvTEjwr9Ty29GXhaHB0XIyrnh0m3Nprv/u+b4DS0I8CwpNLn2ccwghhqIXPV5Ayt06TDqk9BU/I4SearY7q3eHy4TAjef5zK3MtQwIpm5Pav0CcxR8NVm0CVZO/uk0NlZa+aLWl2kZxCD5H3rQB6GNKsOsEz4fOtJTvNui8Ie0DwD6w37lkZZKVnTiNtwjbPQ68sVr+UZeixASkrUl0DIYhr1WVJf2XJRqe4ft/T/gq7tK/JmsLbu3EMapD8be5Zu9oML047BiffKhmFFiu+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=G380QeC2TQ+0Qf/QaJkVpr/OlsW37Yh9PxiB1osY2k0=; b=RYPRa5TjfPxru+WxNi9QqeX+6h+XcHgeyPFBSOp93pMwWp/4uIIs58OBCOYtDcOyUYIBfzabTxN+Fr7yoQiXNQ4cFaABLlk5B0ranXg34i7GnIsFChEXwPrmKGo1bzIHlc6p3w0i86MGyn2B7WFDeuitpa71WBe9g02hTbIS/V7aMClIa3FsC9wsFNkQ9p2GgY2TGwoIOsmKKv/GAV17hL+sJ6PNXrO67u+NeFR0pPh1W+ibGaGBLHQj+nGaW57Mo+7G/MhibmS+Rgz1P+PaVaTBwzkUaSyFRQFsM9b2hWLbF2wmnpJl0No9YSs+KGgOVoqLtvGG5LgmSU1R0AJpzA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=G380QeC2TQ+0Qf/QaJkVpr/OlsW37Yh9PxiB1osY2k0=; b=O/Zclaz/UNxG0YXi1TaVQTzsZkp3bmzFtZmkwWRPHO8kTkYxaXKPK6sL6hqihMuJzIdM9X86SPWQiCszI2zEBDzILdMRhL7kB3rJ0NoED/1aUcl0GismxKIHSannDumNAFyumpNIjYJ7mnEcNgf8OheqxJsWLCCCRLvogMczlDYK2EUje8pAj1WYSlv7lGw5iSbEEdei66MG1q/vc83IOrPjy5Kax6dW3AdD1ki6tkFcjL3kTfXyr0JQsmANKOt/6F1G8nKpYMNfNjJF5jqYlVFcC7aSJBBBpj9NOLJqHNUzWRpEltdXKx9NeuGaYHqca8a8ZeOaiGfo6B2ZCTiY8Q== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 03/25] target/arm: move SYSREG_ prop infra to cpu64.c Date: Mon, 21 Sep 2026 12:32:27 +0000 Message-ID: <20260921123249.1708067-4-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: 988c9a87-70e4-46e4-5120-08df17dc8711 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|56012099006|6133799003|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: roEn0DikcVy0dJtl5O/qZXDPSE3giWUVHvPV7f8RTRynUc6xWr8bviBorXzLGEfxdk/+NwhaIRDsh/DUQpgAeeq9zN1hObB8bgBYua8seBYDdHF7HksXaZUtsaRTCOj/IgSJeYLPFEPKMCnJtcCS4hmzSUW0qrPlIh2F+wP83ds1MzrC+6AMORnnIVbvL8ZoYXoCBxm/bD0Olla4QpPEeipcFlfVJWQGOkUDnX2+AU1ZPQwKS3zbMMAssNYCW0hXIizl5KFwfSjTV5+pduGgDi3aql3RfpJQS3xTcaSMVFYE6EEInK9Z0ObeW4AKMC/naH3tPVeypwBC6J+wGO8zIbOXKRXKrT8vw2D9rQ5WnUL27EgfwIQSzak5zg852THISqk41IbKMdpYT3ZgnBUDMxJlAzfvjjH3Kse5H1gKzzagdWSpt3MYMtRcVG2HMboAlbL9F54fP8mmeC073SL2v9N2vtfRcRsYopzZj622Et9VmunhppzH6WwNJz9qYSd977vhNve4rgYSihGembSogprqvS9c1fpRonGfpFLYdrRsByactvkwn0eEVQRhG99pigy05T0oELeJ/3Cghog3Vq6I5sM0IXu7oc5JFpmkLNYnT2vYx1Ocf/IAlXJQoxaE/TWYP9GjLIdlt7G+41YKp4J0njeihEIjbu1D47Dybss= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(56012099006)(6133799003)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?POjKar/3id3abKZmnTG8hbOArRIAz6vIHFeS62Wu/1snaEy5L+wdlMVo/rVP?= =?us-ascii?Q?Brrzi0XTCM5BNnHMWF/Ymbd8TlBO5dAAdaxYGU1V8pZZhJCEg7sS+w5zDBBn?= =?us-ascii?Q?7kfjQpvMFlHcHvlLTOxXJa5SPPFylHULN8/7y3GaQwM3g9W0MxVy1m+YFY3w?= =?us-ascii?Q?lAYGPgPxMctDlcxnhpvaOTGu0cdZV52tPJNeKXJdJJM6IgoQ9H7p6BTx66NL?= =?us-ascii?Q?WBY7lEbkeDzExMj609OX7igEqETDIMzKIlAJ9I3CYs9NEMYpVkpwGFQTBqcb?= =?us-ascii?Q?R7mI61n4Ta2M8EFQkiPaZpqHSOpZvCcs+NgqHcrINB105YvR72kKDRbLGes1?= =?us-ascii?Q?XPOG1g3hKGu3cIc/6cMpZGL4FCPS/SE9Td8xfhcuYM3HYG3ncVWe/TnUVUva?= =?us-ascii?Q?TuxvhHKekIzLdG7uT9bvV6gVKCJWxg5NLMktqZZD4N5axOWZVZTzEolyKO4W?= =?us-ascii?Q?oWdWsvxNsebGA5Ce7thYcoc+4CU/Rn5pH+LSHCH9/FJW1TDvsqKQkdR/JdBv?= =?us-ascii?Q?lMiKpn5/rjOuG91RPPNL30FhM5X6LkX//+P219cbH+gQKeTXxaJWBhPR70vZ?= =?us-ascii?Q?63OdC+rEU97vI+gAQH/+2BLs+y+UO4WmDwNC8XqAngCTiqMm/Une3QPe2o3b?= =?us-ascii?Q?ZANApryBFYrwQFZHHwVhTD+h6pir0tUf5NyvzIxXohm6QbCRyWD4m0SNrBla?= =?us-ascii?Q?oPjtfzhO/tRZ4FBiCP266lJCseO3JsMgtJCZhujHa7BQaeGur2aY8YTUBEjP?= =?us-ascii?Q?+TopWsqGoJP1WcbmOblhnykU6J5Zv0zpQgUuWiulUK0H8Gq5+MO5tFgdLJ7+?= =?us-ascii?Q?OnUeKOfvpz/LDzVCTskGH09gKlKM26RBN3tl6LuT/zsV1xDohyHw/AeEseg7?= =?us-ascii?Q?fbL0KUTFlxAq1DZ8zv6b8DeiuBMN8cvk/zC/nP3JAFan1LRXHy7SboaKPVpk?= =?us-ascii?Q?066i5t+2Nb1qJV4Wv89S/s76cN+vG8eqlipnRW+i8LaIYYeKdVT3CYyqnHe4?= =?us-ascii?Q?ZR9XZ++WPMIHfBPWsgoG2mm6hB3dJ16Etj5xtY55F75luVVSIWpSeEDvh8Za?= =?us-ascii?Q?yDuaDIfiH3f+1CqcNQaycKcVyrAdsZhy3uiSy4sL7m2WGrP3He8mfLTBTFCU?= =?us-ascii?Q?vIMCsF0is25h9tSxU0bJCoaqgMA7re376JEV8qzVDmOFhymxGgd7jx/mG5Vy?= =?us-ascii?Q?ZEU7uj8Qq90RbddZdoZVD3CFL/pDy/k4WwvrPy4OYoNy015yVfHndgupXtIf?= =?us-ascii?Q?oxBJzR10W2zi+6RN5BGBH4HMQCbsEbkxwf9RX9Yf5mj0daoKdxYc3zSetu20?= =?us-ascii?Q?1Nq5kyYwozHgjXmWmX0SHzc+Ej3EQxJHFhm1KK9Rf6hhkl8PyBHE9tiuq1Aq?= =?us-ascii?Q?OHREB8kaurdEHm9mIxuWvr9Fmr8pm8bbDP77LayonVLaf4Qektp84ow6pk9d?= =?us-ascii?Q?3bBQEfal2q1/y2iIv1VJKfOBGmfkh+XUkc9Qups6VoNKSWJM0L/9uW0FLEeh?= =?us-ascii?Q?suC4MLGJRWBSSG4Z7+6USdxrgnVVkjyjjgEE4O2plajc/gucQludpG/UyOnw?= =?us-ascii?Q?WRbuoTYhIKOdNgB42MqgtBA3ZMggIcOv3lSrcIJoJn1uzPw+mEUpWj+t+iqC?= =?us-ascii?Q?j8c6V0G/fyBWQqp5zg0ERgAPDCHS6Xa9tx5Pjuoyz2Qpwh4aBuzIbltpE4mS?= =?us-ascii?Q?HV6qiSl2/ClnKR7Pa/jMFw9itxvPucLnrpfyJzdk3Mvqkbuzk+Wf72lNRfNX?= =?us-ascii?Q?80SdfCJhcWk32nizVYkZihLX2i1yIF8=3D?= X-Exchange-RoutingPolicyChecked: ZTXo18hYA8RcSle/d/mqpFnQhSaQvsR/tNJ2nH7++BSYgcpABRb9o8JZVY79yCFgnRq8FmEIwOgVFe7Taodz/i1YeavLUXPcfwa36uFb0BPbz+5E4MJpCAqWsKDb8xoELYO/K3cwzPzKQbOqJbuxhO0C4vh76pj5Nbx2RCJmsQwm0x2/3vc9YRKxbM8H1WBc7JWb2j8+wD/zsAx/axikH75Oa57f+DqIsHM+mhz1yGiE78YLQPmhk+3ga1U1owkRDqNpP/2axDQ3m9/SEE3Z7T1jmfO5MKdgKMu+YcwnGI4DJoZoGbOYJlLqWXUX/ghe4P8NyKZykS4HcHgxY6IUKw== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 988c9a87-70e4-46e4-5120-08df17dc8711 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:23.7319 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: CNtx1hRPSZQwfWa69BXqXAxY1NKZJa71Swm4ApfqnjM7jhGFUPoXOTBQCUuOXteAciq2O7lVeDwN5hzua+Leh2PdqQNbs+4paIA4Markcjk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=fPWsTpae c=1 sm=1 tr=0 ts=6ab1241e cx=c_pps a=0aASrZ1Sr5nz2ag1/hSaPw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=Ap8k9tRZuQ82DLYWQqG7:22 a=64Cc0HZtAAAA:8 a=z54jcO0Fx586IAOs294A:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX4mulSCd1Gn58 S5ALvSOBbaw5MRXxWeUV2yt1GFI78cqKtsoCPERBbJU2yuma8Dor0wS3s7aK7u2IGrofqltbjeN /ASEr6vAm+Z8FxyDLkRRGmb7WyebphE= X-Proofpoint-GUID: pqhrJgYXlZWZ6c--ATAUvA7YuDzSigJA X-Proofpoint-ORIG-GUID: pqhrJgYXlZWZ6c--ATAUvA7YuDzSigJA X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXzva8d6uMtWwB zOZhtp2EPkwm6VFY65zZMedPEI45FrfZaqFq/5fXycORHRBbSs5p8O+zufXcu9ygcF05m8N5WJX qr7F18vxvRfkvOJkwU8GC1WwsK887708zv6Jd4AMkEbmib1Vf+it8UFVKW9FK45rsoyYE1MGoKu cH+suHYpIhWtHzFLJY+8FejQXeyzaKtGjQVs2NHE0dgm+G1qjxsfEFJLv3Q6Jk9TodWrHpETQu+ ONA7KuE2TVk0LdaqoILs8slb4ngF0PHgG3Y5AiWhwMmN+Iy9wjCUFGDQRtZgEio+KHf5w/ewiCF axpP8cnDlryvVm4BqxqDL6uyJ3dOdDYqaW09roSt6fQhGtFwrlX3ExlC1/EoLsCIU0GIQwmc9Mr 18CeNLjLb5tP0BcQHvfzn4MS9kTfpGm0ig2PIjrZUOaGpnxnojFhWylpz/qF1MswCko2eWFOxoa qQZhAP/6CT/x5Ec0NPQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994218334158500 Content-Type: text/plain; charset="utf-8" kvm_arm_expose_idreg_properties() no longer depends on KVM-specific logic. Move it to cpu64.c as aarch64_add_idregs_properties() along with all SYSREG_ property infra, making it accelerator-agnostic. Signed-off-by: Khushit Shah --- target/arm/cpu64.c | 101 +++++++++++++++++++++++++++++++++++++++- target/arm/internals.h | 1 + target/arm/kvm.c | 100 --------------------------------------- target/arm/kvm_arm.h | 10 ---- target/arm/trace-events | 4 +- 5 files changed, 104 insertions(+), 112 deletions(-) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 3d522bf20d..7487b48cc9 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -38,6 +38,7 @@ #include "internals.h" #include "cpu-features.h" #include "cpu-idregs.h" +#include "trace.h" =20 /* convert between _IDX and SYS_ */ #define DEF(NAME, OP0, OP1, CRN, CRM, OP2) \ @@ -644,6 +645,104 @@ static const Property arm_cpu_pauth_qarma3_property = =3D static Property arm_cpu_pauth_qarma5_property =3D DEFINE_PROP_BOOL("pauth-qarma5", ARMCPU, prop_pauth_qarma5, false); =20 +#ifndef CONFIG_USER_ONLY +static void set_sysreg_prop(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) +{ + ARM64SysRegField *field =3D (ARM64SysRegField *)opaque; + ARMCPU *cpu =3D ARM_CPU(obj); + uint64_t *idregs =3D cpu->isar.idregs; + uint64_t old, value, mask; + int lower =3D field->shift; + int length =3D field->length; + int index =3D field->index; + + if (!visit_type_uint64(v, name, &value, errp)) { + return; + } + + if (length < 64 && value > ((1 << length) - 1)) { + error_setg(errp, + "idreg %s set value (0x%lx) exceeds length of field (%d= )!", + name, value, length); + return; + } + + if (field->arch_vals) { + /* this field has some enum values */ + for (int i =3D 0; i < field->arch_vals_count; i++) { + if (value =3D=3D field->arch_vals[i]) { + goto valid; + } + } + error_setg(errp, + "idreg %s set value (0x%lx) does not match any " + "arch valid enum value", name, value); + return; + } + +valid: + + mask =3D MAKE_64BIT_MASK(lower, length); + value =3D value << lower; + old =3D idregs[index]; + idregs[index] =3D old & ~mask; + idregs[index] |=3D value; + trace_set_sysreg_prop(name, old, mask, value, idregs[index]); +} + +static void get_sysreg_prop(Object *obj, Visitor *v, + const char *name, void *opaque, + Error **errp) +{ + ARM64SysRegField *field =3D (ARM64SysRegField *)opaque; + ARMCPU *cpu =3D ARM_CPU(obj); + uint64_t *idregs =3D cpu->isar.idregs; + uint64_t value, mask; + int lower =3D field->shift; + int length =3D field->length; + int index =3D field->index; + + mask =3D MAKE_64BIT_MASK(lower, length); + value =3D (idregs[index] & mask) >> lower; + visit_type_uint64(v, name, &value, errp); + trace_get_sysreg_prop(name, value); +} + +static void add_idregs_properties(Object *obj, ARM64SysReg *reg) +{ + int nb_sysreg_props =3D 0; + + for (int i =3D 0; i < reg->fields_count; i++) { + ARM64SysRegField *field =3D ®->fields[i]; + + /* skip reserved fields */ + if (g_str_equal(field->name, "RES0") || + g_str_equal(field->name, "RES1") || + g_str_equal(field->name, "RAZ")) { + continue; + } + + char *prop_name =3D g_strdup_printf("SYSREG_%s_%s", reg->name, + field->name); + object_property_add(obj, prop_name, "uint64", + get_sysreg_prop, set_sysreg_prop, NULL, field); + g_free(prop_name); + nb_sysreg_props++; + } + + trace_nb_sysreg_props(reg->name, nb_sysreg_props); +} + +void aarch64_add_idregs_properties(Object *obj) +{ + for (int i =3D 0; i < NUM_ID_IDX; i++) { + add_idregs_properties(obj, &arm64_id_regs[i]); + } +} +#endif + void aarch64_add_pauth_properties(Object *obj) { ARMCPU *cpu =3D ARM_CPU(obj); @@ -810,7 +909,7 @@ void aarch64_host_initfn(Object *obj) aarch64_add_sve_properties(obj); =20 /* generate SYSREG properties */ - kvm_arm_expose_idreg_properties(cpu, arm64_id_regs); + aarch64_add_idregs_properties(obj); =20 #elif defined(CONFIG_HVF) hvf_arm_set_cpu_features_from_host(cpu); diff --git a/target/arm/internals.h b/target/arm/internals.h index f6b4e173a5..7c76ffea7d 100644 --- a/target/arm/internals.h +++ b/target/arm/internals.h @@ -1813,6 +1813,7 @@ void aarch64_max_tcg_initfn(Object *obj); void aarch64_add_pauth_properties(Object *obj); void aarch64_add_sve_properties(Object *obj); void aarch64_add_sme_properties(Object *obj); +void aarch64_add_idregs_properties(Object *obj); void aarch64_aa32_a57_init(ARMCPU *cpu, bool aa64_enabled); void aarch64_host_initfn(Object *obj); =20 diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 2f6c090e43..d5155a3706 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -416,106 +416,6 @@ bool kvm_idreg_write_scratch_vcpu(int cpufd, Visitor = *v, const char *name, return true; } =20 -static void set_sysreg_prop(Object *obj, Visitor *v, - const char *name, void *opaque, - Error **errp) -{ - ARM64SysRegField *field =3D (ARM64SysRegField *)opaque; - ARMCPU *cpu =3D ARM_CPU(obj); - uint64_t *idregs =3D cpu->isar.idregs; - uint64_t old, value, mask; - int lower =3D field->shift; - int length =3D field->length; - int index =3D field->index; - - if (!visit_type_uint64(v, name, &value, errp)) { - return; - } - - if (length < 64 && value > ((1 << length) - 1)) { - error_setg(errp, - "idreg %s set value (0x%lx) exceeds length of field (%d= )!", - name, value, length); - return; - } - - if (field->arch_vals) { - /* this field has some enum values */ - for (int i =3D 0; i < field->arch_vals_count; i++) { - if (value =3D=3D field->arch_vals[i]) { - goto valid; - } - } - error_setg(errp, - "idreg %s set value (0x%lx) does not match any " - "arch valid enum value", name, value); - return; - } - -valid: - - mask =3D MAKE_64BIT_MASK(lower, length); - value =3D value << lower; - old =3D idregs[index]; - idregs[index] =3D old & ~mask; - idregs[index] |=3D value; - trace_set_sysreg_prop(name, old, mask, value, idregs[index]); -} - -static void get_sysreg_prop(Object *obj, Visitor *v, - const char *name, void *opaque, - Error **errp) -{ - ARM64SysRegField *field =3D (ARM64SysRegField *)opaque; - ARMCPU *cpu =3D ARM_CPU(obj); - uint64_t *idregs =3D cpu->isar.idregs; - uint64_t value, mask; - int lower =3D field->shift; - int length =3D field->length; - int index =3D field->index; - - mask =3D MAKE_64BIT_MASK(lower, length); - value =3D (idregs[index] & mask) >> lower; - visit_type_uint64(v, name, &value, errp); - trace_get_sysreg_prop(name, value); -} - -static void -add_idreg_field_properties(Object *obj, ARM64SysReg *reg) -{ - int nb_sysreg_props =3D 0; - - for (int i =3D 0; i < reg->fields_count; i++) { - ARM64SysRegField *field =3D ®->fields[i]; - - /* skip reserved fields */ - if (g_str_equal(field->name, "RES0") || - g_str_equal(field->name, "RES1") || - g_str_equal(field->name, "RAZ")) { - continue; - } - - char *prop_name =3D g_strdup_printf("SYSREG_%s_%s", reg->name, - field->name); - object_property_add(obj, prop_name, "uint64", - get_sysreg_prop, set_sysreg_prop, NULL, field); - g_free(prop_name); - nb_sysreg_props++; - } - - trace_nb_sysreg_props(reg->name, nb_sysreg_props); -} - -void kvm_arm_expose_idreg_properties(ARMCPU *cpu, ARM64SysReg *regs) -{ - Object *obj =3D OBJECT(cpu); - - for (int i =3D 0; i < NUM_ID_IDX; i++) { - ARM64SysReg *sysregdesc =3D ®s[i]; - add_idreg_field_properties(obj, sysregdesc); - } -} - static void kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) { diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index aafb3cd232..997120966f 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -163,16 +163,6 @@ void kvm_arm_set_cpu_features_from_host(ARMCPU *cpu); */ void kvm_arm_add_vcpu_properties(ARMCPU *cpu); =20 -typedef struct ARM64SysReg ARM64SysReg; -/** - * kvm_arm_expose_idreg_properties: - * @cpu: The CPU object to generate the properties for - * @reg: registers from the host - * - * analyze the writable mask and generate properties for writable fields - */ -void kvm_arm_expose_idreg_properties(ARMCPU *cpu, ARM64SysReg *regs); - /** * kvm_arm_steal_time_finalize: * @cpu: ARMCPU for which to finalize kvm-steal-time diff --git a/target/arm/trace-events b/target/arm/trace-events index 7696a8ed40..bbf2e5dfa2 100644 --- a/target/arm/trace-events +++ b/target/arm/trace-events @@ -15,10 +15,12 @@ arm_gt_update_irq(int timer, int irqstate) "gt_update_i= rq: timer %d irqstate %d" kvm_arm_fixup_msi_route(uint64_t iova, uint64_t gpa) "MSI iova =3D 0x%"PRI= x64" is translated into 0x%"PRIx64 get_host_cpu_idregs(const char *name, uint64_t value) "scratch vcpu host v= alue for %s is 0x%"PRIx64 kvm_arm_writable_idregs_to_cpreg_list(const char *name, uint64_t previous,= uint64_t new) "%s overwrite default 0x%"PRIx64" with 0x%"PRIx64 +kvm_idreg_write_scratch_vcpu(const char *name, uint64_t oldfv, uint64_t ne= wfv, uint64_t actualfv) "successful dry-run for %s old=3D0x%"PRIx64" new=3D= 0x%"PRIx64" actual=3D0x%"PRIx64 + +# cpu64.c get_sysreg_prop(const char *name, uint64_t value) "%s 0x%"PRIx64 set_sysreg_prop(const char *name, uint64_t old, uint64_t mask, uint64_t fi= eld_value, uint64_t new) "%s old reg value=3D0x%"PRIx64" mask=3D0x%"PRIx64"= new field value=3D0x%"PRIx64" new reg value=3D0x%"PRIx64 nb_sysreg_props(const char *name, int count) "%s: %d SYSREG properties" -kvm_idreg_write_scratch_vcpu(const char *name, uint64_t oldfv, uint64_t ne= wfv, uint64_t actualfv) "successful dry-run for %s old=3D0x%"PRIx64" new=3D= 0x%"PRIx64" actual=3D0x%"PRIx64 =20 # cpu.c arm_cpu_reset(uint64_t mp_aff) "cpu %" PRIu64 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994320; cv=pass; d=zohomail.com; s=zohoarc; b=RK9KFnTX+lH7xe32UMaj+wVYz9qnWucb3KEjVslsSgTGXtvgtuEoyyOUiX491Rc4j3G74zUg7nDddAdauagCzuVy/Z2jJOmDNHSJaCWJ33oAaw9ntfEoY7UgcKVcL9TkUzSRJoKx6xCVjtXXNtcxhEZbLO3Qe2DNhMv0sRbblow= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994320; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=ihMF2h3XPYoyhKmq9Q/JRE0FqovoxW8rd+4sOdGmunM=; b=mQyr07yjQOOrr4KZaD+282d+1kbCXTh68AGaaYSn8y/CuXgg/5A+Iz7vkYaSVEK4SzqMPqXrfp9PtXIyypDJsDPrjo3N/DEQvSN6G08abH5x3+BqJ/fgMox6QdLWYaYqPfeJyDHmds1OflNuwHhFkepguoh0z72oQZ+3k+j89L8= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994320683867.6849953711002; Mon, 21 Sep 2026 05:38:40 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGV-0008LK-SI; Mon, 21 Sep 2026 08:36:59 -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 1x8dDk-0006wc-8l; Mon, 21 Sep 2026 08:34:08 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDb-00029o-Q0; Mon, 21 Sep 2026 08:34:01 -0400 Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhHpF857563; Mon, 21 Sep 2026 05:33:35 -0700 Received: from ch4pr04cu002.outbound.protection.outlook.com (mail-northcentralusazon11023104.outbound.protection.outlook.com [40.107.201.104]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspa73jnu-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:35 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:24 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:24 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=ihMF2h3XPYoyhKmq9Q/JRE0FqovoxW8rd+4sOdGmu nM=; b=aUJzn5O5+W93/Sb7Oau1KgIuwncadJu2nhR6NQYxe75hyNpEqNNvfE5cc eBn7DA4PiHX++tXNSb/QtryMrltvcMeUi3t3YyVunlYyTKO4sfX8eUkqLPcETvmm mmEkFDsBl2ziQoAhLalrpwCh5ua0ZsT5vT1Rdvk/idEDxSzGGmIZO1W5YijWHhpD MtMo3oPiQZ0YaREnaJwVCjACu5QUIaH+RAbuFkFc9kZOr4RI9cA1XG2sXkK2T3ia gw9JKGM/x8IDUmj+Q+zLKUaPtYeEdDQb+I6XdNBHTUgx+/N1GVKmJlUhCe2nzjMi qIO6bJPYZF3mIxrjA2wnP2iXaOa4A== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=VOxWD2L750PVqfi074VTh2LZUJK5aDiLyO+Rhq+VRJNr35wWRECnPaM7Rhh0Xrh64GojJAli0K7vx0iwae2JGe18AcF+np9/4nAMYphHTjrb1SLgubVfDNiFxKH0PXHi1ihIWvFtyIPcq0x56XbbCDKwxD5S7hD5NZFSm8hHmi9S2hQqE+S+UaLdRd4JGGo4ZNGQDS+Aw/MGAoXtYV/vqfn0PMCziIWYjXqb+5mNP3oc16lghcBqkPgMIhzOEGIK7MVAs+xI9TjxhkEV66HSobSleR1jfP0Fp4xiMTH1cQ8Vc07U79GTilBiydZEdR3erKgMue6YyxHg7E9yLs2PjQ== 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=ihMF2h3XPYoyhKmq9Q/JRE0FqovoxW8rd+4sOdGmunM=; b=Hxg6E3QI4FEGdNDwoOuJua+SCW65bByF6BG6uYuYkDOefGibmGf2i41Y6ur/K4Lch4fMMIAjSjU4hoU+MICRZsg2sR4Lgh/y/4sBmvxsKeS14JXVLJKRRoEN7Vby2WZzYAAwzu+Jgg60l2a5Pl7o9P5dGfCdPW44npTazU/8vvm3gwMFf3wQ27Dnwg87OnXDgVborIoZmo8a573EAD8JqcGqbwpRiotM/Ctorh2m1I3F5vNBrhJ4oSRG6IYxuUzo27GuxDI3iaM/PHzlHgHmT+VKT9uhXCBvdmu3r0ta7s3kpXGi7viLjpjP+db0LDIL767c4223ptLdrgiB3+BAHw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=ihMF2h3XPYoyhKmq9Q/JRE0FqovoxW8rd+4sOdGmunM=; b=DV09eh5UG+O5LM8TIKqWvaGODYgFkCFxUi4lLQSjFfSWafKCvrcfrl7OpeJBZtg64Hlyp92ZmVgA204BDdj7DqODcMzA6OsbwAzw0u/ZwN8ZTUTQZmHn0LDiQv/CeINW89HLfZHOCyh9FtStd7hiG42ShgbetVVHDs+t1c+Mk6kGeZOKHZ2SlVdWg3gKWFciEQpik8bGwTQhKqrckWM+nvxBfWZ+l+Khj3vOViWvilm0ITS5ULw0gwV7VXAdXNNsPseJEYlT+l/bc9v1wgsj/3kirk1Oq4XbcOXcdNgd3WJYbWBm23ubzBzKfK3GCGFQa3mkyW4t08zQ7hSAWa/lTg== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 04/25] target/arm/kvm: enable writable implementation ID registers Date: Mon, 21 Sep 2026 12:32:28 +0000 Message-ID: <20260921123249.1708067-5-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: d7b592e9-be02-44cc-255c-08df17dc8787 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|56012099006|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: x5KHxb2OclegclIAymS7L4qrY1dcVP6ZGUWc+t1JFrIjxqOQv/ZvgnMaNyQmfOr+U4XKbApr4dtHsNUOIY+dBsXruYOG4VJHsqOibD5tLaNrcn19hJGPAMoazkO8vYHV4fdcQAJ30oUph7zcnZOqQhzUmONxIEo22s5OoJaWiVKwDxPbZjg+eONfGZnNAqsSKtULOwjJB0GmkbRWpQiJ/PiCP+y0oUtqHGyY6UkM4ZRQXNEoPerFiiKJkweCdgQUfhwMy2r8Tsb4zUij8oVZAU6Ad+ghhfJ87qBXnYYUiBndLjVdSpaxAhFGrKMDhQF8dkXl+XTX88gaGPEY6AiQt9IQcMKyyYn76VGykNDhXIEdjNTvDPUHt3voO///pe8lSSuNVKsWbwYf3thM+6ZnWSh8MfgFy2CWVLW1Rx9BR3bAHAHIHgHQUUI4PqLCxrYkAT47O+kU4xWntJCRjvTGpc3aIJA+eoDiWzI6PxLYUSpvTYGgK9A8lQLCLYiW+explKM/06n6OxP8qbB65WlUuSzBfaXBpzSZSKnYAEiZzfSN1ekxJeSyrq/NJcx7MjYVi4+7tSKuEbXJnWmgOjt09huDjNx9u8Lql5UZgMj3h42cByHFTRxhoolJzTEX/0eJ X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(56012099006)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?roXDa4A0vRGjKyFqRYiEzISaL4qnVLPxq1NsyZYWUvhYzy0T1iYRSu/Mv67B?= =?us-ascii?Q?rTOUcFIVRjde9sCAaD8027nPQtQO4UvtUToH/ybxMBSTCxe7JMmXEZm6DPj5?= =?us-ascii?Q?BieTDo7NvzbAd/Lyc7nHlf7RL4AGdSjA7101QEJ9SbQ/jAi6SZpGYXLPBlVc?= =?us-ascii?Q?LHYmrKTESub7jwLHymFlRuqnHq8axSSEZWMZacOyJofWoFL1jU/0bS5x868Z?= =?us-ascii?Q?7UrLmm7YGvjKq4ab9lg/mf6xEJGoSGmdUv2eIJimVQvEwau7bDTUrRAHxGr9?= =?us-ascii?Q?mJxJ2+ixm3QBYc/uRxuhbG4dUhMnjYCPHMOzxubMQKNzpOzRu2VGa3Y5It6v?= =?us-ascii?Q?wkAHcdxSOoqEv+IROhiYk1prmotHkeoykDERiCoIxL4fK7HfkSvI4RD85Dbo?= =?us-ascii?Q?3AmY8FYc/d7o0Q1ZejW5CZYnGzYLdJEJaHtKxs+lcnMJs7mKGTuJ6GGNwy5p?= =?us-ascii?Q?4jLoZsrGGXoIynkfah81pmnjF2DGNZ8T1Z4/eKBLf3QKdWNMDKGrGTwW5oSo?= =?us-ascii?Q?oL5RGC1m7vtE8dggqMgGLfaVFD4MuPLhfi0/OAA5AZ+rcnhJm01bihjlIUza?= =?us-ascii?Q?3e5eY+tIeuiG9qYuZJ25vRH9K3x6N8+Otj3GMhuhGDqegpX6I3hInWWoYlEa?= =?us-ascii?Q?Mc6oiAakCqvA3TkX1pgUT19XKg1rBEtzJqGR2PCtGCZRFQM5l6leYPkjGnib?= =?us-ascii?Q?/cDmDC+kYntUGvkraK/zu53RqayN+JbRxMP1nDqDXIvm1cFuqHlDF0NcKioS?= =?us-ascii?Q?Tuga79Y61nhNx4sF9+upAKwsWoN/g4Sn+b64ooiCe3uBzjqdH3K7wx/bGwG2?= =?us-ascii?Q?O9/Q5dE7og/xwpe6nFENdPEEoHYuHIkq50aQUKFXo7w8daMU0++/uGrOOqa1?= =?us-ascii?Q?yPeO2I5fmiqWIHMG732dF1F/RI9GIO61B78/TSHaHWMwrdpjD7nRxQF1nPIp?= =?us-ascii?Q?5YlHOIAEV3WRLcvlpRqzcfX4m0SYauS2HVzRrkwSpR76KLLswRmGBC/6Qfew?= =?us-ascii?Q?RKvgqlbr4Oy7ZU4eH7ta5pdsBhM0Jre7LYFwzmLVTOlZaPdDlQmcrtxSaF7k?= =?us-ascii?Q?bMWNjIRsKycXK28cxxGXowJkRrfSxeSd/Q8zTR1/9gyqFD50LCkheeXr84xi?= =?us-ascii?Q?pox/s3t/WzDzcjh1GDgNNMujvvCSbjSG3Kgy7y7AREH2lfk4ArvpQQAKxIWG?= =?us-ascii?Q?bJUpr1HywqUVnt6nbRA9CO4rIgPyUP6aKjDPKx3qsqfZUb+gwnxnfwaFwyI0?= =?us-ascii?Q?BGxr1KF0vDJ4jvY+YV2SjgH3BPA4QtIJd2ax1KrBsUpbzp6Y55FKQ9BYCyC4?= =?us-ascii?Q?MyP7A/X/huq5vVKsiqLYs8GLm0NZG2fx81OIgmTM6VIUZpeliOH+joyzZPHJ?= =?us-ascii?Q?zyWKqFbKUMxNW/gHzf1kN7UNAs0T95B5tRx6+aI8UjQVMRelmB0XwVOWovQQ?= =?us-ascii?Q?j8Phyh4PZ0bj80T9EkWD0ibe5rwrzaDZT/R9oJzy5o0UEaLY5/x3RGb/HKIT?= =?us-ascii?Q?aI228xJy2d+hBf51PkeNDzXh+p+k+nrwSIX9800yUD6DFXqc3yLl/5zCqLsI?= =?us-ascii?Q?4U0WFImah0djuaJSLzdHyBI5rlsx7jMFi9CvBuKbX0SuaLfyq6dBhRfp0SXF?= =?us-ascii?Q?ZI96W6ugoqsqFJ+j/pHPLvBjrED0q8dLrOOsz6L+o3IyHk+fxpwgYGzHzaH8?= =?us-ascii?Q?e4gP8plosptN2hq2orFTRwWn9EdI0p1EjLpgFJOXPXoCVu/aMpWB04SCbPyF?= =?us-ascii?Q?uHemY/tJ5nMn/BMpXFhXz9iqx7fDo9M=3D?= X-Exchange-RoutingPolicyChecked: x98Sp+4K0vXTNkzWATqDRuKyzvLErPjlzby2YNMIqT8DKXSlXaAzaMLZk+caNaX8KAa1TOd5e0VfA9LgMx3+ynqbBcL4DZDg3x4zXapCqT8jN2SxJ3EHmZIGr+ghdfvwsKWE7GS11YwlUI4VJExeUaVkmWgj6qe65zcs/Vt8Vzfktnaq4Z51/pqZS4MV8Kn5U7kIZnEv7tMIVVD8RDL9vaaB6f2xXy8O+SnPORHTPDBtS0Fv56aCXUHc1geNeEwtiKGzbr8NNbwvRVpbP+2Z74Z5626/qeiudgMdAHH/qDpHNyA0QpJrb0OQY35mlvdLqPIO4QjCa/kZsIlGqHNMqg== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: d7b592e9-be02-44cc-255c-08df17dc8787 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:24.5116 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: l+12sB6esF+eAPTYvJ9xvMeU+ZZqGrLEwdtIr2vGkduCX21uFm7fVgdsAILC3pQIgbkuOFfQCpUKLozUeMcmMjdo4RR5oS/fEolAx6tyes8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=fPWsTpae c=1 sm=1 tr=0 ts=6ab1241f cx=c_pps a=0aASrZ1Sr5nz2ag1/hSaPw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=Ap8k9tRZuQ82DLYWQqG7:22 a=VwQbUJbxAAAA:8 a=64Cc0HZtAAAA:8 a=i7znhvatu4o865_pIWsA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXzZkrabj7CwmY 7P3LQ5Apic/Jge4GiKkdRNGpyajEidTpkNtpgTZ0Sb4it24xpemJETW3Zv/bVDxLuywYttUgdxH HnxLqmy91M+qOBK69FdOEvdRNaci6/8= X-Proofpoint-GUID: uN_qjWufsfTXJaxx_ryfN2ZYx7ICdyJN X-Proofpoint-ORIG-GUID: uN_qjWufsfTXJaxx_ryfN2ZYx7ICdyJN X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX5S6n/BuezK2z quxIROAff/3/1i3bDWiufZQSVRfZai2J39QleKIt546yiGdsTND/E4/HYbOwJMWac7vZZnXxDnV c7zXU+hnSoCX1tonwOyu4C36ezBjEQJakXb7iwYXG6jslQSfGOz1Fx3QqzVelUS0ToizpNXoJMy 2KA3hAkQAbe90DWFg9muIVsPQvFacO4/xAB9YaOi2nXolj97yQO8/Go85IY3wcBQQWIo+umjk42 sACzqaIofJVx4lCTPQ+nV3GMPfeiY336tnalzDJTe2J5WggnMxGpYegwQ46roRW9x9FrhzAzEEB 0PrCO6426X4MTXL/Myffr2fsErkZ6A8sg/Hep0EVYjyuoPiXFFS6ITAotBc5uQ1/+RbiYmIdzxw mNYc1HiV4YdonlSgHjPzxFNRt78qu9naUBSgg0qrf/MflJZ3nxeCd2pID27iGoQhonHak2gwoLE z6yaEVtnqCmGO87BUzQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994323010158500 Content-Type: text/plain; charset="utf-8" Enable KVM_CAP_ARM_WRITABLE_IMP_ID_REGS if the host kernel supports it. This allows QEMU to write implementation-defined ID registers (MIDR, REVIDR) so that named CPU models can present the intended values to the guest instead of the host value. Signed-off-by: Khushit Shah ------- Guest errata management will require Shameer's RFC as a prerequisite: https://lore.kernel.org/qemu-devel/B789DAF5-F8F9-444C-B0FF-4CA0081AFDED@nut= anix.com/ --- target/arm/kvm.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/target/arm/kvm.c b/target/arm/kvm.c index d5155a3706..f8d349a461 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -808,6 +808,13 @@ int kvm_arch_init(MachineState *ms, KVMState *s) } } =20 + if (kvm_check_extension(s, KVM_CAP_ARM_WRITABLE_IMP_ID_REGS)) { + if (kvm_vm_enable_cap(s, KVM_CAP_ARM_WRITABLE_IMP_ID_REGS, 0)) { + error_report("Failed to enable " + "KVM_CAP_ARM_WRITABLE_IMP_ID_REGS cap"); + } + } + if (s->kvm_eager_split_size) { uint32_t sizes; =20 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994572; cv=pass; d=zohomail.com; s=zohoarc; b=cLsL4oqaEMcRKZRXkVrwFXuPTumbXpfaLfOb2vTKpJSWSQYQnKh+FA0ulosc3Hn8rJy3Co4kanGA4XSOc2aYusOBChvabjGJJxMCL9pGWN48NnKSzyEZgUj7gZ8qKxTkpta0+jItfF/TU0Jr1b6XI746LSL/csy1PHYa9/YxyvU= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994572; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=amuK7SIOpeJdADD8riM/uoN6K80xfcVqQn1k+3NgKjc=; b=aO2nET0+nn0/3ZQsb9o3jeXj45b/jDWKOBgSmtNO4hfk/7RD1YFr3dDeq6n6bxSiZG82AC4pyBfkgaQb9RI883WJZTW2TG+Ji/LpagNsgo33L0nEHyi7tERxCwk8BJmoBPjdEValnhzEW5kjj8YLB2zZ8zBYWjisgzTi5NxpNRM= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994572373240.2466988599474; Mon, 21 Sep 2026 05:42:52 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dIx-0003w6-NA; Mon, 21 Sep 2026 08:39: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 1x8dIP-0002sh-AE; Mon, 21 Sep 2026 08:38:58 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dIN-00030e-2A; Mon, 21 Sep 2026 08:38:56 -0400 Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhHpH857563; Mon, 21 Sep 2026 05:33:36 -0700 Received: from ch4pr04cu002.outbound.protection.outlook.com (mail-northcentralusazon11023104.outbound.protection.outlook.com [40.107.201.104]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspa73jnu-4 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:36 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:25 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=amuK7SIOpeJdADD8riM/uoN6K80xfcVqQn1k+3NgK jc=; b=uK7AuUinPJc6S3EX5JDoa+0CgLYmfo8pnKio2x09d7Si687znltygNTKx 0NGOx82ihMVfRTifZWxyI4unE2uJ3tXN0y1JZ8uJ72g2IGadHAxlcJ08j3vE6xpN yff/oWuLBUhg1xIH4RUpVdJDQjC8+Jf1Ty6x7dTEiYEms5nz1Epuayp387uZzRh9 CrRN9L8b+d6l6xFvIIEXZpN6D/XWVPIZTx/gkVSsyXuHZxMQTNFewqLucgzK74Nf P1AqYucdxm76mbXZjJGanRaMo+QXM3hkvqb+GAnbL45oVtXLLDD/HTWwwF6xzcfP xew2aump9FvxJ6Ir2+kUqoBh0rkww== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=V3NVJq82P71WqnwLifA65YzdJRRCVnxqxF94YAA/48opKsBovTE5wFCRZFyZ97yboGAI+wVI55a2dJwe7Vn+1WejzpifyW4B8yXpWRH1PaKS/+imZuV5RI05S1xxaj9PmXuAKO8jCVng71MqUA61tdRC7MtgutCelivZ6CMAaGDnJJwQO56FURiccqFYGAFU12dXrifAOyqoKfXajK6tSUFllC8T/jLY0bbNQgfkaFLn/n77uJ7B8sMgJwNNJlvnpF4b+FQRJqyhbB1+xiUE7BRTtocBjnzmwia0HdaiuXHYXKWb0d9mIKsHy6oUnTht8/I6ONntd05pRWhkdaCHHA== 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=amuK7SIOpeJdADD8riM/uoN6K80xfcVqQn1k+3NgKjc=; b=fIm3laSD8iQFw7/i/dVarc2uiCkU+goA1lHSnJ01eXOfSAJAO6vf1/SJZB9EpFQ14G5QwBX7BY6LJLHpMC2zTL9C92wInHwIvc9dEI3XnA3RLqvWiunhnBhksu/8KIldsrKqAfle7QgZ1RxcFyvJZDCNZtW/wtIf/HBTy2hDtep3pxLmHVnD/pkp4BM31K/oV/SWxahp9jTsSN/9fZ6bhsgojyrq51o2TfmBk0ibo1Ckl2jxWbkrP3RpOWgDMeu/oaFga6Q+T63BTfDJiRv3dNh4xaaCXKz0cXpJBclLKaNj0fHITByu09/1pOng8lqIukVcUN3K80gkQOZrxk4VKg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=amuK7SIOpeJdADD8riM/uoN6K80xfcVqQn1k+3NgKjc=; b=WHH1Qsu9cMQrS/oaf8C+n2dppiPH+luhX+XOYx8+aqz/uZz1CSW7PGR0FQQ5OSI3a1Pk2yPBibVVuQGm5je0sAucX/zci436OuIjdcAb7e6hrFp1NEnwVW4w65VvScXgMPTkaCu0O1wYv/c+Np+aMEphpN5eU/5nSNf5wSSTCGhYU/RquLSzyG08b/bm3vSxc7d1F1mgGJy+tUniybfnB9P0SD304pJdkFVOtn8CM3z01GozK0CfMAi2w5PioBEjAJt5N8vCu7dmraNBLqAFl/bYgl0pD3BbGnjffFN7Krr2nm4Kjse+TWLpazQlmgwV/12oHAJPAnkgxsFjRfiGmw== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 05/25] target/arm/kvm: read all ID registers from KVM Date: Mon, 21 Sep 2026 12:32:29 +0000 Message-ID: <20260921123249.1708067-6-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: f244b11e-2843-4447-e784-08df17dc8803 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|56012099006|6133799003|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: xx9h+nPUC0DmTWQPVr9bDnpNKms2DmVjb1ei3SpoJK8uNd3xB4ewH9la1Hfu1dIRbJjmakQ9lwFuFyhl1tEXMrIZTm6RqDcYjj77sbifPXTvr9xlZPu3CEhWPi07r0LW1yVSSsZtS6C1RIP4X2VEipnWnG618XS63YGWvAAYtjoz/KoPRV59pbt26srQyvNXqyibsBNAVP70slKxUsrqTttUegZwGnrKMa1qlhJcMvMv5xXNAUvqMKig87rkxIRDCORx3gftdKTtFYWtlDMHCvQqFEhwBaTES6LabjCkgyVIAOLQ6DrzYMvqjQ8N/aeiN93JlMZ48HAY+9mner+cnZxORZNSNggloovID/wE2ah9G6ihatvN/ehdatPwdPT/xvDNwEAypffMQ08grj7stfaUIgFG9Nf875Pq8VZyIh44VS/MbG2iJr25QKiuByZuE2oC5Q6VtwLKmwhduWnoOVVKUjnEqx+/LucFa62BfldYA/pgpLeJ8ANm/s4MO5f/A9rMNQfg+pv4Ne6AsMd7uRdmplSGVI6WE2sm1AFZrCpIuLN3N2yNC7Vjdv1ZLjuSGPy5SCaBncrnMl8Amk/5P15Pf7Em9f77F3gkuguyBd6ROypCtVW9+95PAlO+/cms0p9qimFwmx6AyCwuWxijGHXuIMhO3vujLiVqR5D28N8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(56012099006)(6133799003)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?d8KLq7XUZsP8embRu/6eeChwioz90FXd+Q1QkBdBbg++UvSmYfiQxyrWFqhL?= =?us-ascii?Q?VVw3i+674w50zO7e7JnI8joToqlrxhDIEVu/+rGzwShwxH1AJ+IXont07Cmw?= =?us-ascii?Q?gX6P+TiKFRcRnPK7gilw9oM9C0jJCaHckmNqTjGNyLlwdpHc0dWUQJbe0K/P?= =?us-ascii?Q?tEcmF0tbVcz4WzQ09hk+bCzLZdQyxKfBwJA/TsKu7ziL3+9NmnvNLbF8h1pS?= =?us-ascii?Q?FLBuTHdJn15djkYSvXK6ZNBI4Ed1enZ04rrO9NFZt21BBm2kbEpGVVDJwOxL?= =?us-ascii?Q?rRS/0yCpxmsc2v2hQFIViLAqV/TX++GLoDCBHTKVrBnUNTSrFK6EbsfQbDeV?= =?us-ascii?Q?YAnIw4T+racwDbKxi7KCm+BkiUnM8xK2dZGx2WWi5KTIAITSGK4Ky/q+6sux?= =?us-ascii?Q?Yx7YC9mHi3odaG9Cw65bYFRGB9bvZWZI9ikBS5GQBKtEGGCoRiPzCEh+mCeu?= =?us-ascii?Q?xGqd8/SYUxr0WNskEVZu2C8aCbqcqx1Jof6Ga/rLkgagjSj/1ntTAvg0pv/M?= =?us-ascii?Q?hRGPtjRaf/ebqe21yU/Ezw47i9bch7+sf4PoMRKm5vDwIbs9kNk6mOF/c+y8?= =?us-ascii?Q?MgGDM/9SiX3a2vezi8BLIrx76UQsz6dBKMLixx2labZF+jyZkPDthZUY3Be/?= =?us-ascii?Q?L6l6w1RiExFMZmHuD32HAoqOdujbF1BGRlfu8PKqBwpt2YAKhA/GlJ5GnEuy?= =?us-ascii?Q?oowmQLVTI+X7ZGTym045JbdOUZ31gN+l7Aj+wlsg+ZbncZBUytv6rjm8GzhX?= =?us-ascii?Q?RFuhlrZz9Rmofspy4jZSgtb/70gxNQ3uXTZvak6Zu6w2NmbMlVhYRyCL/bgv?= =?us-ascii?Q?GJllpf7pc6KA+2I/AnH1zKzYVEImORJgdtmbMY2PeHHp1ExDyNJoBcsLBWWh?= =?us-ascii?Q?EoWf9iGfTrCphdUpEOiaGdIYHVURy0r4104dqG/dXlhdUShl3eeIkoQ2+X9W?= =?us-ascii?Q?PHUpRUI/qeNQ+EKMJTH/gNXTgnCGPr2Ha2xiZYRPAA5DfNQJPgL0g5AA7cN/?= =?us-ascii?Q?7iTSlIdx0wJpiDq4XY/zR8iNOhSwqVaUpgUDrkTHVcASdCSHXzBpBRCVgkZW?= =?us-ascii?Q?i4zGfUh0lHtT1VfKWAZcL4+oEec0PFJ3XIs7eOOVjKmB7mavv5QDFHa3kvwK?= =?us-ascii?Q?CCAdv2tvWyLVb0H3WQmuDDA/wze/WOaz2cVu5wPDzJB8PQqtg62OIg8BuWV7?= =?us-ascii?Q?O19sypWlIJ0NRE6FdcunVoYQmK834ldzYACapSoC62BmLTnYx4mk8cU0YCjB?= =?us-ascii?Q?57npwitbKMx7YbNYuG6Jkxrm1YWXPRH3NRfKKP7N3o1LQ8s8LRThZSrhambD?= =?us-ascii?Q?fUXO83hnbjBwyGCDCv1WgbnkPA2BpQTMKZC1+P+GKKP04FJAcWETwEG/0y2K?= =?us-ascii?Q?LP4yw+6O2lilw4mWfDyigf3X6LfYeZRCbZSpJclV6HM7tyFEgcRDnVGEWNyX?= =?us-ascii?Q?OMUC54zHjl2tsPOxcy/1uUiTVIhS5v6PCEuTU9HaYxst81OBJrCO8u7HFsqL?= =?us-ascii?Q?C/NfJvPZiQqmzQ0aV4goLWu+w+SnXTSNLtRaQdCEtWR/b+S8GtejIiT/oXxX?= =?us-ascii?Q?he182j9X84e0PpI+TY4TXb0CSg69rSkWz26IT7wR0SgwJsOJHSPHBdhq0Ahh?= =?us-ascii?Q?WyazJUD9MdJ7gLKO/OK3HOsQhZGJkXYD5ukq4fQJ6H2FZnLM3sumZ4InvK8C?= =?us-ascii?Q?zmUTL2nlCfkIXVjzZ3AyNPWlh4y2cSGzwa8w7Hcv4F9PoLktOAx15I07UcB5?= =?us-ascii?Q?fWUuWaLkEN8yactEHu7r3umBL6nYydY=3D?= X-Exchange-RoutingPolicyChecked: MrXwu7osFVRWV6lKfV9BN62y3fuOhiQfN8+UsMg8P4ZzcG8Z3CudSLohLE+6HJm0NO7pWfE359khQMEjnKpbaNtBFsvGdz1jk678ACVqz3c99V0gdBpxt56sLm0lQ35fwiLdjF7w2p11sJ4O7HhelIK3KZC+dxg31YRHiQp/7i5+2Z/mypcK4nryJIvcNNDK8WLhNTtqekQir/MEZlfMPG8GFTCAqNZy7xxPEV0koSvDaa0ehdzU9bL1CrKgc2m8n7rdUcSe/CAD3IU6bPRMG3rfESvqPYdB/xrYCqLF2BiwwbA+QYvsPf9uuOEz18/8VXJK+REQRBOz69s3za70yQ== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: f244b11e-2843-4447-e784-08df17dc8803 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:25.3425 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: sO4n4zQGO+tOM7mAAh/dLhLaYo9qQTCufRy1KQGFZ4E6de20iR/UDa1ZoPvUOTimtgMawr8xLD/wM+rSwqLyK7F5jMF8YDuH7n6SQ/9QE78= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=fPWsTpae c=1 sm=1 tr=0 ts=6ab12420 cx=c_pps a=0aASrZ1Sr5nz2ag1/hSaPw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=Ap8k9tRZuQ82DLYWQqG7:22 a=64Cc0HZtAAAA:8 a=F70P-8mHmDy_4NvVqAIA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXzao6ZFWBIIdt u1nBaqbYFKvcyorYoUr7uXQ6TmnnshBuM3cZ1eCVvs7i2XjqOCgzFMSc9ex+0C1A7jbhufNXExk rbNauylI5TW3ERtIHdJdDYibMpDbXKs= X-Proofpoint-GUID: zjau6AzOFaxA7YcwoPpccn8owkHTLuFW X-Proofpoint-ORIG-GUID: zjau6AzOFaxA7YcwoPpccn8owkHTLuFW X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX9hLE0s9lniXo 7jpMHssk9tbU9bBMa3IOoO1PLX2Q+eTXN7BIm0T48Osl7vBlSOqRhDusbQkyPmKce0gAbe0OOL3 jVMR2ipRGLjVA8ofhBPmvF8MVTjuUwJIGsLDINyKX0FM66hreKa//utrBzjY2Cc4YZSEJPMW4lF q9e18L20tLvvhV/MVESpsUgjnXsr/R9Sol0gVa+CGmE667zuPMAxYwlMitagXvZMzjlTj/vfQYi +G8zV4iZKwJEG6EnOYSr9vPlDM0fmVJgdD9whzUp/TrqbFJI7uFxfprXAX5JgfKsW9Bosl+lchP qrm/iRrG2JpezDS63xQzLAWgexBNo4fQIeYC2U8EY9iJ1uE0X/Hu5AtXyaUmSqEHQgbcBgaUNJ+ GW65rOXe6EOIzSFeXdKs6m8LP4tsLvMIkG2i76utv7glPxFkiGwtHqsoMHRS/SfzG7sO5aHZ9Io ZMKliU1XMDcjiakLbgg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994574638158500 Content-Type: text/plain; charset="utf-8" Try to read all ID registers from KVM. KVM may return ENOENT for registers that it does not support reading from userspace; ignore those registers. Some registers may still require special handling. This exposes a more complete host feature view to the management stack. For migration, both writable and non-writable ID registers must match. Add a tracepoint for ID register reads that fail with ENOENT. Signed-off-by: Khushit Shah --- target/arm/kvm.c | 29 ++++++++++++++--------------- target/arm/trace-events | 1 + 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/target/arm/kvm.c b/target/arm/kvm.c index f8d349a461..d9d0623a2a 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -330,12 +330,12 @@ static int kvm_feature_idx_to_idregs_idx(int kidx) } =20 /* - * get_host_cpu_idregs: Read all the writable ID reg host values + * get_host_cpu_idregs: Read all the ID reg host values * - * Need to be called once the writable mask has been populated - * Note we may want to read all the known id regs but some of them are not - * writable and return an error, hence the choice of reading only those wh= ich - * are writable. Those are also readable! + * We currently try to read all the registers. If the read fails with + * ENOENT (KVM does not identify the ID register) ignore it. + * Some of the registers that errored with ENOENT will anyway need special + * handling. */ static int get_host_cpu_idregs(int fd, ARMHostCPUFeatures *ahcf) { @@ -348,19 +348,18 @@ static int get_host_cpu_idregs(int fd, ARMHostCPUFeat= ures *ahcf) uint64_t *reg; int ret; =20 - if (!sysregdesc->writable_mask) { - continue; - } - reg =3D &ahcf->isar.idregs[i]; ret =3D read_sys_reg64(fd, reg, idregs_sysreg_to_kvm_reg(sysreg)); - trace_get_host_cpu_idregs(sysregdesc->name, *reg); if (ret) { - error_report("%s error reading value of host %s register (%m)", - __func__, sysregdesc->name); - - err =3D ret; + if (errno =3D=3D ENOENT) { + trace_get_host_cpu_idreg_not_found(sysregdesc->name); + } else { + error_report("%s error reading value of host %s register" + " (%m)", __func__, sysregdesc->name); + err =3D ret; + } } + trace_get_host_cpu_idregs(sysregdesc->name, *reg); } return err; } @@ -482,7 +481,7 @@ kvm_arm_get_host_cpu_features(ARMHostCPUFeatures *ahcf) SET_IDREG(&ahcf->isar, ID_AA64PFR0, 0x00000011); /* EL1&0, AArch64= only */ err =3D 0; } else { - /* Make sure all writable ID reg values are initialized */ + /* Try to read all the ID registers */ err |=3D get_host_cpu_idregs(fd, ahcf); =20 /* diff --git a/target/arm/trace-events b/target/arm/trace-events index bbf2e5dfa2..2bb7766f7f 100644 --- a/target/arm/trace-events +++ b/target/arm/trace-events @@ -14,6 +14,7 @@ arm_gt_update_irq(int timer, int irqstate) "gt_update_irq= : timer %d irqstate %d" # kvm.c kvm_arm_fixup_msi_route(uint64_t iova, uint64_t gpa) "MSI iova =3D 0x%"PRI= x64" is translated into 0x%"PRIx64 get_host_cpu_idregs(const char *name, uint64_t value) "scratch vcpu host v= alue for %s is 0x%"PRIx64 +get_host_cpu_idreg_not_found(const char *name) "host %s register not reada= ble from KVM" kvm_arm_writable_idregs_to_cpreg_list(const char *name, uint64_t previous,= uint64_t new) "%s overwrite default 0x%"PRIx64" with 0x%"PRIx64 kvm_idreg_write_scratch_vcpu(const char *name, uint64_t oldfv, uint64_t ne= wfv, uint64_t actualfv) "successful dry-run for %s old=3D0x%"PRIx64" new=3D= 0x%"PRIx64" actual=3D0x%"PRIx64 =20 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994570; cv=pass; d=zohomail.com; s=zohoarc; b=fCMyMkYBfA6i9y5ZaEYs7P1ArQY60iNDhqJlykhZNgfKKI9DHr5wkhS/WEJw3UP25Dx4x2SfjU5Z6uBIAtPEwVgX35ccEfaXoFT9BbDDFoTnHRnu79vLdY/PnxKGWWLDNl7RlVHHCvoPyBoF2vagEijMO+lsYX1h/tIWzyLNoA8= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994570; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=7pUPrrkJAcvBq2IWSoBsVKqpaKLSTjJcSzstUppI3As=; b=AWEMmUynZNO7UM05ov30SoPLUNuf7Z/UAP6vz8v4/JQ7SdQm1LdV9AZoxqDfltPgCTC/sklEVp8fBmhs8+zspLkkaWKyBg/rXyR5s+uEDsbnX2fbzauOirkWX2Ms7cfgx+uSNxJyWqTeNMweIQ8fuac+PmVo2YPnxGrSqaAtOyg= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994570638491.8325341053618; Mon, 21 Sep 2026 05:42:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGr-0001Bz-CZ; Mon, 21 Sep 2026 08:37:21 -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 1x8dDl-0006xB-TU; Mon, 21 Sep 2026 08:34:21 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDc-0002AF-OS; Mon, 21 Sep 2026 08:34:09 -0400 Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhHpI857563; Mon, 21 Sep 2026 05:33:37 -0700 Received: from ch4pr04cu002.outbound.protection.outlook.com (mail-northcentralusazon11023104.outbound.protection.outlook.com [40.107.201.104]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspa73jnu-5 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:37 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:26 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:26 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=7pUPrrkJAcvBq2IWSoBsVKqpaKLSTjJcSzstUppI3 As=; b=XwtZ8mUZ1DrpCtNrZFAdD/CqvnkqkMI/Rl0B1FCevEXpoX6uvITqZZYN1 XM1411ZZ1LmBjGfanuMzAdjMCQWztbo6QX4csrPCsR2KR/Cg6miTM05xBi4s3jpW luw6r4iBb9L/VpolESg025YcqjSwaFP1RntnhfTm74QmDZviDar8wPsAR2N+zDzj 2fV9ToPPezgiPFsLs7dMrwUWz+c0sdrzmjH4lPQr4s7iQGwnEtHgTFsWDNF/Ogvm wBT3t+Olff4xcUtATfIbiWSO6/U/EK6kP+O/DnAU4ByNuzipsHmIhHlT4vs3Mp+n trRjQ3uynfEATz+WfUQ8LSlk8ktJA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fn9kDOMhHkKzNEwSIeblvSRWKv9SV8Fj79Idyk1xa0Gl5qG2hdyIHHkId7yfrKbBrXqL4wPH0kOtPC0UnpyShZ53rasdc4hTEvtq1UVuwI7leBd0lwxy15CBBZQGwqE+lFlL4+rsWrOHLAiCf9v8R359KN3zk5e02TD0ERt4ktE1tY0arNL5lBN4/Gs8HFlCqab5YGoNqknbLhzbRmZt9u9Jcw/jZmiIdrmtB7x61InJVuW79aMitzZY/RRrbQfkhvcWA3tSyZHevAXho44FLxFKyBiAO1A2GIec2nrU1IRv6wDDU+a/dx4oBtPsN/IsVZZ9Vucy3hYic050AbgDpg== 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=7pUPrrkJAcvBq2IWSoBsVKqpaKLSTjJcSzstUppI3As=; b=aSm1702Rnb2RfKpBi37OIf9B2JWzZ74egAUDepHMvgBTBrnPWuXCvcRclglKeHOE7bYE+wJlcahEEFDk8TY4Lu8JeiNwmUElXbqo0jvuXPITgHjjV03F57LxnLTuOgVwyv9j5iQ9kgqrQHDVcaRWDaS+ecMIPcSxnlkz+qf+SMVgXNob0IPNCIkT2ACyFAd2w3SEKJ53z4lh48ByrWC86OIrmjHWKcxdIXeDDO7tYJFCuMLaaADslDB/XtBaQdSg+6G2/mzvaFdsXROBoKtt6f39qQEp1eVJhdBRHK2MTAngCIl8KXPMAGyY1jrgexNLTCrQ781+LgzTGf8B/Py1wg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7pUPrrkJAcvBq2IWSoBsVKqpaKLSTjJcSzstUppI3As=; b=xjPZvi8jFZbhpCiw956O88nzAN7nhl9P38+jWOk+S9NTfpRpIhJm5rhRa1OtgY5Y2ttjqZn5Fwz9PRcPpOBET8FXoF9Tk55oQQj73Osgt8HO0SJjeycz1Uockp7iJZYe5pLim9VP2k9FGra9/Qh965rKdLVaq5N/F+b+pLjGmmfj4lA4SF8mDEG7gTPjXu+362XtYdwBc/qEdbGAsgyS3yWmBi0aMUXXAIOHunM5KOgvAI3hiOf+Na4RXj5lkLcmaquxlI1swBspHh3y0dnH9IWcbUj47J6nEHJ3wHPIZWN/lasKY9jnb91mzfsSMBVHf8y5J5gGR3vWYvmOE6GwRA== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 06/25] target/arm/kvm: handle special ID registers when reading from KVM Date: Mon, 21 Sep 2026 12:32:30 +0000 Message-ID: <20260921123249.1708067-7-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: 5ca41c97-4247-406f-9c2a-08df17dc8885 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|56012099006|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: GQuOz9sMu7tBl4ginAwfrI1kogqWXYLvlgoH3Yv1D8B2JEQsjDBgEqjwhwXOEjOrx4brtX0Q2syk0R4K0l24NCUe5yH2BZr5mtgN6JQzHh5YoKZbCJ7/Eq2nPMpLV5by32PYENXl5y6jQIXfFZpuiCaOQpTMi/OYw73Dbu7UYnbQUX+m1UQn8dAQ10shQtACA5HwFVeRiG+zhr2T3HGQJFSCuS7DQJYeNgo+QWYxBzT24LZyyFAa/6yCEEI5phpji9V9MbmdodhjF9MmO4KZxUBVXWUftZ1Z/d+YRkTZ4YFNT7FvYuIniuo90rtS6gquEscxrq9FCjsBhkiLGPzN0doRapzhabFdA2DGzyYV2szvzLvM/r1o90iXzcOloozLtljor7vWB0E8nIsh4O9U9x8jwDXO57KKYtEA2khR1v02+XDwlrWrU7OSjIECZnq39ZjbHvhqSBWnuTLxGVuc/5OuJk0+1uBRHqTEyR0iC5Iz5tA+jcXGRjG62hCb1ipV8MmRuievzEmwOknMi1p5y58mjEDXp/Kb6EfKyHs5Djc6wRRig249+XiqS46EvS8zTxBHDR/b9c5rp8djdxBH9kryvW/xES3lnGppyQq0GB9FB6QR5oszYYS0h8EC1/AY00Z/GrBTdN5hNfPZw6bkWX+0hhMAvYB9UaIcppZ/i/I= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(56012099006)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fk8jGzHvwgfqTvq5Wy0hZgIUDtxmLX8MJCCGbO6nBQzMy0HtxBOFwHpz27ri?= =?us-ascii?Q?Fsn9Z6r2y/drMWCpPykbgJvyIoHBNfil02j9oT3IbxOC0V+49MWOrfVzioMN?= =?us-ascii?Q?w6Y0FCxVMJsh1SgWJV2EQlH2IC2YYLaEI1fr2otUubNTINwgHX+Ue+7IdS7p?= =?us-ascii?Q?VuyM277QKBErX67mWMjtMQ9exl9sYLOnFTZ8Np4gDrplbZGChL4kCIizHwan?= =?us-ascii?Q?9fRqHtRwKLs0ru4k+CLNQQRKIZVoB5YpPggA/VHTRVWnFNbCni6Vlc1PWzXB?= =?us-ascii?Q?636UuIlGyUra5BATqokTJiqi7ARm4Mg4yhk0Y9eebtJBY/t6+ix4ckB3ZPC9?= =?us-ascii?Q?ydY4TznyT7JzIIwX3UY69J+Ys2JVZxtFY0fqYDamED5DWjdXV8CZtqEcDtef?= =?us-ascii?Q?XVw/FFOSo9mMMUy1nmq7A3ss6u3+uBXjHXhRn6FYcLeAy5d16v96wcUCSE4U?= =?us-ascii?Q?m7SDIt1pkRmOTgppTX+6D710zLkjpmMZX0rDRXLgKA/xhPidOegalNczplla?= =?us-ascii?Q?JXOETQ2JOTeA3yjPC/mNiIDzvoFdOtOYLgne4pDQ89EggJAsRM8MJcBIYb9w?= =?us-ascii?Q?WhKj6APaUuMl4Owa7v2aCq5SfY98/UaWbm5da2oO5lJH+oryKlUMlHrYnMr/?= =?us-ascii?Q?SyaBd18GhOL1ydScRvDiFdy1MH9AsNYH1ayU5tv/cVF8x/onFEdbRAzc3jGx?= =?us-ascii?Q?O90rUUTTlTk2AQpF9+Kq9hEcdB3euogt+7O70B5M5TwbHg6Qb+fjwcJVkCr4?= =?us-ascii?Q?lsAplHnADQqLDsBVn+z6vVe6vAaQkAhd1nF7VN4fxX96P8kclQyLR5e+P0cE?= =?us-ascii?Q?Z8spcbrDZ8O60FYIKxUio37sXy90TKs8GvtLQM34jZcs0qFGhbET5RFyV9Zz?= =?us-ascii?Q?od8cWp/zI50FKpTC9VXRa9PQyeBnrqhGxrfDwRL4XKBWKVsz1eCK50O4HF3r?= =?us-ascii?Q?AOjejLkVhKU10JRfHko3h/YmLOmYsbur+26CyUOyNJY60163VJYyzO+QeC2C?= =?us-ascii?Q?eMP/JzgEg3LwpWOrcbJXhyek5ol6QAFfCa+OXLq1vTMXz6ggZnj8T9u4SmtH?= =?us-ascii?Q?5d6wZZrRCqcSoAEV15FT8SdmVa1M2BPqqRrsnbYSQ4kvaCQRkd66Fs93fxuK?= =?us-ascii?Q?GJyhZVV4x2BjW/OudwU0CnZ6kGAKBxBm/mJPPO3bVpc9YtYjBWmNIA0ENn+L?= =?us-ascii?Q?D+6XRJYQrucoClGJuQhvmYj2LuCC5LNHu/szT9lzKy9MmSAiGFhXDtiMszW7?= =?us-ascii?Q?87w7+m9IYUeENzz4devil4+kSz+xmTvvCDRr9aeImDBzuwlGVe+dJhSPM8tr?= =?us-ascii?Q?qSqVAEysAH+memObxHGtJro6PYZGQcXR46cQyT1IXUl5lwxVurTzBjcB7bm6?= =?us-ascii?Q?6sy8Pys2w9vhQGTO3ClqxaUwQBq1/D47WhCYNVXzN2twu7X2pp/9TkSdwKRh?= =?us-ascii?Q?nL01eNGYWtLKF66WCqBDdOsqRHU+Ir5Bw1+M3irPmRZZRJqv9u58LMiqLKjv?= =?us-ascii?Q?miC9soSAC7k/WFViOGcFP/WGUN7tN55OActdRASAvUfGFRe1xCG680QdfjNp?= =?us-ascii?Q?ohAvOa/L8F5q/6CRqIa6tnhxeds0Bfhu50q1R3qbinpXhcOLlIGEftgcwgZW?= =?us-ascii?Q?l7DB8LtiL0V659IUPq2m5eGY6dqcQnaIJoCmce+8tDvezKTCArkjfv67xnFU?= =?us-ascii?Q?PjtfkMXm91Xur+0ZGlFMFh7XzohoKzVB54Fo4P9OjQ1wldh5FUy/IwqKdZ5A?= =?us-ascii?Q?sx+zymLMinDNOhtm94CEgdi83/sj1Lw=3D?= X-Exchange-RoutingPolicyChecked: a/BMmaduyX9yco+qt6bx+raFhigQMimazwuVUpGVnPlttqztAgfd3N5CO4LR6jHQ1MJjGNljEjbEAURaD2jeSDsmsYWeUz77Cg7ZRX7vucxH95J5tOVDn5vOoVCUnZke3PCAEt/4EzXeaLw7GJSANaMNpqKXEOBDdow5eOaaEFpySKH9mCQGYSTWqdPJYJMy4IWci5tcDX6fpBvoj49jbhS7K1c/3edJ3c6TEevjCv6axbuwTUh84ze3x4O9eMk4xYPXOPOx1ezrf/XED2A98KICz6Jkd4PRomAkyaPSIyB4B10NktYLBNt3N2kCo223jTDRqvY4622fxvt8aIAj6g== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5ca41c97-4247-406f-9c2a-08df17dc8885 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:26.1688 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ExKF55E1zFS/q9M1ud+9ezxFFjiQZprEwRmVqJwGzXVwrv0KXTfjK37x8/q6c0NarV3ibdkmwobjs0YwI27OjPcpO/Q+GPF9D+OezmGTCUw= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=fPWsTpae c=1 sm=1 tr=0 ts=6ab12421 cx=c_pps a=0aASrZ1Sr5nz2ag1/hSaPw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=Ap8k9tRZuQ82DLYWQqG7:22 a=64Cc0HZtAAAA:8 a=wDKzX89QGrb1tBTQP08A:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXxf63FOX9ppVD /0gRl0ocUo865ZRFTec9v24ZhCTYCioUUcG1wJtLaY911DCSsFlrwo9bQMAxmiuJOlMO6j7hQPH DrQIylF75VsJwv9evpwCeATze02WCdM= X-Proofpoint-GUID: 4mywlL7m0SrrXGgC_-e1KGaTMfPm3wN3 X-Proofpoint-ORIG-GUID: 4mywlL7m0SrrXGgC_-e1KGaTMfPm3wN3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX+NK6QuaUM/u3 YmHMxiddE6WGKAE3IW7/nLvW3oLk/q4ARR13v5PvKC7QUVG5PSnXkwM99jB3ruEVN5RPiwgto4R WWwCr50W0ByUr0l+m2jQUHTmm7gsh6YyoxKZnJW75lIruGsR8TktPcJD6VXMcadX+08TnboD8gU q641/nq5j339KCVaHVclh3MdsgCWLH+mESBST+/g4HpqvzIy7tEVhE2QHqEOpfaYSrLcPgsptLd 8QCh+uFwhU0xGjaRom1mUohiJoOwUfkgoiJ6m2Rb/qJF1bHbKjwURDbBdjC17ebPatjwedYeRJi /pO09hx/5PV1+BLwDhiCv7Sz51/PATTHr+DayBz5ED3S+mp2TYlABP3JAYGjR1N4DuqqplCw/0d moQdBOVvxQQ5i3yF12UGBM6ea/aiqaW+RQ+5r1JSunE8QQ1SHcXAh5ilu7dCYFbjK6N1GaCTk6I bC9CxsnoTxdeyAnB9/w== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994572716158500 Content-Type: text/plain; charset="utf-8" The generic KVM_GET_ONE_REG loop cannot read a handful of ID registers, so handle them specially: - DCZID_EL0: No fine-grained trap exists, hence not tracked by KVM. It is EL0-readable, so read it directly with MRS. - SMIDR_EL1: KVM does not currently support SME, so skip it. - GMID_EL1: not in KVM's sys_reg_descs[] and, being an EL1 register, cannot be read from userspace either. The guest reads the raw host value; this is a genuine miss when MTE is enabled. Signed-off-by: Khushit Shah --- target/arm/kvm.c | 40 ++++++++++++++++++++++++++++++++-------- 1 file changed, 32 insertions(+), 8 deletions(-) diff --git a/target/arm/kvm.c b/target/arm/kvm.c index d9d0623a2a..07df6626d4 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -349,14 +349,38 @@ static int get_host_cpu_idregs(int fd, ARMHostCPUFeat= ures *ahcf) int ret; =20 reg =3D &ahcf->isar.idregs[i]; - ret =3D read_sys_reg64(fd, reg, idregs_sysreg_to_kvm_reg(sysreg)); - if (ret) { - if (errno =3D=3D ENOENT) { - trace_get_host_cpu_idreg_not_found(sysregdesc->name); - } else { - error_report("%s error reading value of host %s register" - " (%m)", __func__, sysregdesc->name); - err =3D ret; + switch (i) { + case DCZID_EL0_IDX: + /* + * DCZID_EL0 is not in KVM's sys_reg_descs[], so + * KVM_GET_ONE_REG will fail. Read it directly from + * hardware since KVM can't trap guest reads of it. + */ + asm volatile("mrs %0, DCZID_EL0" : "=3Dr" (*reg)); + break; + case SMIDR_EL1_IDX: + /* + * As SME is not yet supported by KVM, ignore reading SMIDR_EL1 + */ + break; + case GMID_EL1_IDX: + /* + * GMID_EL1 is not in KVM's sys_reg_descs[] and guest reads + * the raw host value. But as it is an EL1 register, we cannot + * read it directly. This is a genuine miss when MTE is + * enabled for the guest. + */ + break; + default: + ret =3D read_sys_reg64(fd, reg, idregs_sysreg_to_kvm_reg(sysre= g)); + if (ret) { + if (errno =3D=3D ENOENT) { + trace_get_host_cpu_idreg_not_found(sysregdesc->name); + } else { + error_report("%s error reading value of host %s regist= er" + " (%m)", __func__, sysregdesc->name); + err =3D ret; + } } } trace_get_host_cpu_idregs(sysregdesc->name, *reg); --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994274; cv=pass; d=zohomail.com; s=zohoarc; b=Ry2HDnBOQJ2xnjAfNjxE4FsylAkxwIx6GdMZxTPyn6Ce1SpjOPg5YeJ5EwlOrc0HHNyZ5FzuC/sOFmCCKkolAm5jUI+qVCNu6Mywqqklxe/T/08Vf6/1FFnMzm+6LQsraUoOZnA7yQPSzVvgB1ALO8ep7p6TAWmH72jRXKt8mFE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994274; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=YfEjphQHkNCktjX6nbNJOFYkfjYMribhezkOvwlAntM=; b=gB9W5CNn8lVZ5d7WOykz0VPGA9De4NwqtMJWO3o6eTkpO6NltHJmFG1u9np2Var3GH0GbulkeAd1gEdbzDhmQqPEYeckcEHRT0+P1x7Wng5AchSQDoHuwFZgSv/rTBOzldapJ0kUf2Td+sc58LjOR3XgX9ju+VKiU9gBb5hULto= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994274420945.909837175828; Mon, 21 Sep 2026 05:37:54 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGj-0000qF-V0; Mon, 21 Sep 2026 08:37:14 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dEL-00074y-TJ; Mon, 21 Sep 2026 08:34:53 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dEH-0002G8-5G; Mon, 21 Sep 2026 08:34:43 -0400 Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhVsQ932497; Mon, 21 Sep 2026 05:34:14 -0700 Received: from byapr05cu005.outbound.protection.outlook.com (mail-westusazon11020141.outbound.protection.outlook.com [52.101.85.141]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gssxwkcar-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:34:14 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:27 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:27 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=YfEjphQHkNCktjX6nbNJOFYkfjYMribhezkOvwlAn tM=; b=X7RZELc4+hYES9rDJA1Qqbe5xuBYQ9YYnaSwQLnGqXK3jHSsySsm6SEQm toOm0bFLo+dxi35wiPscOj8IPWakY9tGeRFYJ0AubHt7c1c4W9RdbtFx0ZwpkzqK /poQOqwO6tAEuGCr4AD42rRqq2m3/Zzavt5kWJssb1P1TT0hD8fnqw/k6rvsnBlb 4KRum9bqTSEYJIJE9hrmOmCBLCpyhMwBhInJNv9RWe+tt5cPP56exm4IayXxIqPC eNVke9vSh+v6/i5k+CvaXdIpX3x3+gnrimKsI39Rwu2LPfXqicRdWbb3zePUjsQW CPmBpgOH8VU5tgi080QyhnQ1TfkOg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=LaTs6iVaLqin9EenjRcrxw016JoqgrmJeY1iEvwVlWwFGRcf9YAtICbmmq8Mi+LT5bY2LSYy7tvQAtSJDDnyB4YWlGGkN4F5ecjglKRtVPftI0lU0bMYcbY+fmMdlNbqAAK7F7//qYwMKBkuAZzFa74LGj4bqqmUM7b91djJZYdf+/flt8/Y+Z3j1M0mKVFmFt7uT5SPR84EngeGB9wx4P2kmoz8FmQamN7zYjSrj8FT1yUbIv/xYWsrTq1YwlATtcng5fSkDHneuKzSiNqnNO6Ky0uZ6wMGri7eLH13We2QJ1LYB6NxUpXpRy/hXGTSgjif0otWCQIjFMczMeahww== 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=YfEjphQHkNCktjX6nbNJOFYkfjYMribhezkOvwlAntM=; b=jChp6Uzvmvq+xMyV7fJ5UYq8GcmZwpyt06Ch1e/oO+nV0qM4Lwbrkxk17xbkkA+3wiwXF7u09Xx2AZIX4Hb26BCV9PR9Ff5ojZSnYr0xTqSRlJBEY/KrtJvfHC/XEez/bjNKI9z0x1Ikq5cz29dbQNR7s9BlvnW04gCqOecrZH1rlUobWVF1sqWR20EWNUDRmJLg0Wt1L63/r770nYGd5qHDslAhx4pjtFt2n/hsdw11Douim1Hjqake2CepBqCqTJ0Tiyy3d/AGgULJ+5YIqFareCvQPsjTuFdsRFVKkb52NMwOhukBWud4MWs1iwvGvRt03jxKcblL/Z884jb/8w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YfEjphQHkNCktjX6nbNJOFYkfjYMribhezkOvwlAntM=; b=GLNyUPG/mUWxW6TQ4L0G6F8JeoE2EriCjlMl9go/CQ5iL6tjr4cRsC/nL2qRGr1ZJFcgAsPZmryXd9Mmxh7PZSOppcZHMRetCDlY4lHbdDdaB1sHsFkqCNnZ8sEzzf5iY5lRPqL3MiQclxYmF+yWS3lxdEfpch/b3XXKskmxNi1NdNDMcG+BlwVyg4qpoTapIiG6EPISfzFKRypjbPIQ8ok1efngvPH/3OtEVs8dfmBiKUKakRlSh5q1VLtyoC1YmsbvRmORXW9N+dfqZLGG0Pz7zFyor7ZdooFiG8DDzL3XTAZ2aotnIrINceJQLmn2IHasuPIh12AqYRPyc4Sl/w== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 07/25] target/arm/kvm: process ID register writeback per field Date: Mon, 21 Sep 2026 12:32:31 +0000 Message-ID: <20260921123249.1708067-8-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: 41651d95-b4cb-4056-8317-08df17dc88fd x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|56012099006|6133799003|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: Yi/wV0WVJQy30718bU+CDy2Y0HwwhP1tlvXCB71XIS9pL9fgR898H2OenYJI7DKVSQ4F3vmJo3ZqJuAnh8iEglXPCXoB1SDTRifLMCSj2bQQ1lMcl2r+21K5cWUmTQZBfhzbLC+80WeVpgsCxa4y4mzJzzMXADZkSFz42rXs5yRHkld6izlSlnKqHqxhmXF+l+mFheVsQcmtM1rFjfYAhG7T1VhGVjb2LjV8MdmlpmOCdKDpExQNbJY77CvFfo+w000NA4436UO6w8BmiHM6WHOfiDBvHL6FQgmfJE0bSOwND4fAoUuT8ZWRPTKYEvZoPZfiI7hlPJhvtw8T6KNWSJYi2n4FrMKQ7VMDeQkjmqGIiE5wvHqjV9Mq//votR/TwwWWXM+LJY+4wdgRvF9BgkZ5mfOIzstwD9Lt7tgOkMzdRomuUq11D8DsaYWoaRHY2rdKBN/fUJTZRKB/qeYY5x4RU1kJlqXlNHrhRGCgijvuqPYEI32oSflTTG1yCYMBZaCyi2UR8kkdV2+wrd0ddozy+0JrfszJQvmlWop+Ymp42BxBcR5urzJmQjjJeVstc8F4J6xB1cxaiAxt9+bfEoo4Eg8hP9FByHgm2xknjKLYqbNPdt4cGyDFd3UkylSvO5NaySio6eWs1gkKaoAQ/vlym6P9iUd5FjnTeID7oZE= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(56012099006)(6133799003)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?mD4/xphMCCec3drJrpEf9msIILaCzNFmkksQRzJH6hZYOqRO2Q3nsWa2PSbO?= =?us-ascii?Q?4QMntwU4Cd00tRvzBkogTdw10qlPJi9FE8cVLhpeo1Zye+/8ES5JMaJYzbG6?= =?us-ascii?Q?01oS/1vjuN6G9LdMrUSE27cRmxoZLBRNFLFmRwPGZHqAqNR3U9jl38H4HrJn?= =?us-ascii?Q?5wDQ9YQKbvYMxBwZeB+71ZXrMK3wU2RuDzgCFdzWJmI9YLOxHC+KyhpX2FiR?= =?us-ascii?Q?emQ+gnmMJHBdzPqLop3Lf8xzdUQne+5Ip/9cmC0++812VaTx2IhUhS5XwJAW?= =?us-ascii?Q?b6LOArTL/wJO4KWZvyA95EE3Tp7MESu2EY+eiEKLo85w38l9sSSfe7kIsCUb?= =?us-ascii?Q?JMomg0jrjtTxDqgmLIOoPcX+ftSDGdy5vQdSq30WnF4ynwyxo6sJtAGq0p+w?= =?us-ascii?Q?S+22jk/e+dKgUf/4fvodNg/Ojc7eJjxTYkbR/lKja21QbfUmrguQ3P5Q5JNa?= =?us-ascii?Q?9M5gNHlMO41gIelzPZ5A+gobIVq96knfQMKOAdGOOePsAMfxYu/DFl6UliOv?= =?us-ascii?Q?BIDBbG3GZymxQWd5ugDY+KmnZ5aYeYAKS294hOGtL07wqlfhKJj7CoqHJSwt?= =?us-ascii?Q?I6FsMvDaJjmIVDWnv4vg3YKS7Ytn/oUgBZQoRP2Y1vQQydYBCF8LTOZfIads?= =?us-ascii?Q?MWsegmp5xdQ6l8FDYxfKTQT6R9qADhnfJ9utl+fUtsHrFqIFouqIxhRXzBvo?= =?us-ascii?Q?Pd9aZQGaFFQVw8p7Dvo+v6ZKpkYR329+IenU1mJJGg1oB9B52lmgmdOV53T3?= =?us-ascii?Q?8AOXm63P76B7eeUkHT5ZfkzzAFB72Jb2r3pZ3HyDNmedk2w+DkHPYtzO2wVI?= =?us-ascii?Q?FSruaUBCUufGI7UqpqiF99QwiHOSINpVlxovl5TCE/m0ojfC/aKnjpXnWSCu?= =?us-ascii?Q?CM4+L3B10H1Fgo/TH0ppelbbLIG2k9ASukDHCcwY4BntR99HFVoLqaj+eZIh?= =?us-ascii?Q?YEqAr7Rbjm0x/Nqqt5Dz364Iwr020sfCNfA03pen0h5mYWjpQtLK1oisNvOe?= =?us-ascii?Q?k/btATQSabhrQ8ip2Zd7GpdMBmkFhM+U9df0qGzZJUy+uK26O2L4b+++KQQR?= =?us-ascii?Q?eSy2ISq4E1UOYNVU6T0bLyVVKB6ugSkSb/etgbxUe5hCDyy0vz23QGewAc0V?= =?us-ascii?Q?h/Z6BXF0/MXkcE+RkRinuPhXuDv1Zc1bD66aiJtF8gK+49jHa1GSbrvKqdX0?= =?us-ascii?Q?bZCmZo8Mq/J5Nx0xlRYjb+dqpgfXE6ygwabbARnS33b3BBQepymlF7vUVC17?= =?us-ascii?Q?ewXSjOmIf1A1oqfOxB/IZevWZ/PWaNnNibenVRrj4t4ueDqaQGJCcl/8q4G0?= =?us-ascii?Q?Mga94n0AM+QlUsBSaq8xBtnrQwdxfZ50inErc81sElunXGN3vg01dYUzPz/l?= =?us-ascii?Q?l5fQwob0CJ/2d0Yw/B8kpwLkyopOhjWgMp7Oh1f/G+x8KWOQ7+QWizCjclGc?= =?us-ascii?Q?NrrcSFyZDgClT05e/eCSv498tJyqB3jpcujHI5MI+fEse8YQpxwOewcBxqfx?= =?us-ascii?Q?4Bt6xnOsfLt29aseavuHic/F8KtPpXJnwvfCIOZ/bkJ45PVXpbS1GFUZiT+S?= =?us-ascii?Q?ddccqI486yWCkcxiJxw5U8/MZBFzSfJsUW9jGoK9TEA4oS98Sj9jnLwC37vv?= =?us-ascii?Q?BMqhi9SeInTI77luYSu1+zahxeIOuUjPiu+WrM71IIMWev7Cj9/PK2jsgFnV?= =?us-ascii?Q?DizMcz8OhnmjIIXaW5qt1OJYGiFZvXSH+zyaR+ofzqpHVYU/l91lA/3fdHYI?= =?us-ascii?Q?CAV0YFc8QW0QBGVeKLhKelbxWabPYio=3D?= X-Exchange-RoutingPolicyChecked: P8LVcd4y0TqddbxgAbgobMidL1BTQ1KSIx2Mpqk/k32ESI1ASAkb7pJkeqFRDIJbYnOisAY3GeL+afKm6lJKRhO61gZC1vOpIvlVGOC3o+IenXY+B1NfVIv12xmnDNoWfUS+eipNFtNw6cNKdw2yS9wYQ+sBhL0rfMOTA0tG+HiGdFpJAPFWZot348CgJqd4cIVZ58aTgmKTWFJ+ROsmJjQdxqmkBoWrol+X/qIcB0UOjRFCdh5x+CJ1oRgNTb3A0H68r/pAwbRlEENtrA7tx6iaWVf/RbC04fmI+f7Of2nihfarIm784gP9nTKU+e3ZQY7nLOinqyBpPMtJV/M4xg== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 41651d95-b4cb-4056-8317-08df17dc88fd X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:26.9639 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: cozRyLA7OvjiVjfD6Gcimbvf768W8Wo8pqWvhaIimSGYpbUN/H6mhMu0IOH/cb8E/8nSShGugeu2eaVALhP400Y8hnNfI62NH796S1VaGUY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX9N0O93oDmRXT SYg6qdcUIEcWeeLu9blO9mKvushF3gwgiUu99BVw4zx/HCbGZ9FSyPGuCShVyBz/WDQAK6DpJ5e Ssz248OfQp/jpIX3By2H7nOsJdU+AU4= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX6MFlMqP1eTN9 F4Il4IWU2axWqL7RYvS1Kr5pGn6I5f8QKlpXuW/ACdL5Rv9tWQo5paP5oStuLJ2XKlmuAuAX5LB 9Fl6FJE/OK93SjQBmttHva1UKID5NT0LXlEDo3shoVtPaSiIcs4pUv4xRYF1/6OhMHM0cTQfWje l2X7ILvws8XLIPQ5yl6pYATKD6KkGSpWs6rmPeDS/sD9ph9bceYmT7Ue5hKo7ikBimjPsmR1imP fq27coK/mODjCKNUNTjuIw43AR2z81HK8gIzZAgbxvzUCPHC2xhZLQhPWuyjn6LfFrFB+wUYmzm McO/le6jVY73Izy9LEat1G26f/Chka5YJKbjdcdWb7UVAFw+iHOZp0kzG9N6jwGdDTPOyxg3nlJ ZwG7arxh6SmQnlMOuFM/e4U/RKOVZ5SfvtaEZ6HFEWYaC7EYlOzDj3BBQ3CP/4/eM+ZVXQ+LKk0 DSfnDo5H0FgrlKD/1hA== X-Proofpoint-ORIG-GUID: OgeCy8lc17gy3FS5PTa4K0XX8qibiEa7 X-Proofpoint-GUID: OgeCy8lc17gy3FS5PTa4K0XX8qibiEa7 X-Authority-Analysis: v=2.4 cv=fphJ914f c=1 sm=1 tr=0 ts=6ab12446 cx=c_pps a=g/OBtAqTw1pRpVLcEUWRsQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=1L6crL_YRTbalZ11mEUO:22 a=64Cc0HZtAAAA:8 a=PhR9yq4GYvPAogIgPbwA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994276704158500 Content-Type: text/plain; charset="utf-8" Now that all ID register fields are exposed as properties, refactor kvm_arm_writable_idregs_to_cpreg_list() as kvm_arm_write_idregs_to_cpreg_list() and process each field individually. kvm_arm_writable_idregs_to_cpreg_list() assumed that only writable fields were exposed as SYSREG_ properties. Copy only fields advertised as writable by KVM instead of replacing the whole register. For registers absent from the KVM cpreg list, compare the requested value against the host value captured during probing. Return an error when a non-writable field differs from the host value, failing vCPU init. Signed-off-by: Khushit Shah --- target/arm/cpu-idregs.c | 13 +++++++ target/arm/cpu-idregs.h | 2 ++ target/arm/kvm.c | 79 +++++++++++++++++++++++++++++++++-------- target/arm/trace-events | 2 +- 4 files changed, 80 insertions(+), 16 deletions(-) diff --git a/target/arm/cpu-idregs.c b/target/arm/cpu-idregs.c index 199d593153..d58b8ed063 100644 --- a/target/arm/cpu-idregs.c +++ b/target/arm/cpu-idregs.c @@ -7,6 +7,7 @@ * SPDX-License-Identifier: GPL-2.0-or-later */ #include "qemu/osdep.h" +#include "qemu/bitops.h" #include "qemu/error-report.h" #include "qapi/error.h" #include "cpu.h" @@ -94,3 +95,15 @@ ARM64SysReg arm64_id_regs[NUM_ID_IDX] =3D { #include "cpu-idregs.h.inc" }; =20 +uint64_t arm_get_field_mask(const ARM64SysRegField *field) +{ + return MAKE_64BIT_MASK(field->shift, field->length); +} + +bool arm_field_is_writable(const ARM64SysRegField *field) +{ + uint64_t field_mask =3D arm_get_field_mask(field); + + return (arm64_id_regs[field->index].writable_mask & field_mask) + =3D=3D field_mask; +} diff --git a/target/arm/cpu-idregs.h b/target/arm/cpu-idregs.h index 98c7a7518f..aab1a79db1 100644 --- a/target/arm/cpu-idregs.h +++ b/target/arm/cpu-idregs.h @@ -33,4 +33,6 @@ typedef struct ARM64SysReg { */ extern ARM64SysReg arm64_id_regs[NUM_ID_IDX]; =20 +uint64_t arm_get_field_mask(const ARM64SysRegField *field); +bool arm_field_is_writable(const ARM64SysRegField *field); #endif diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 07df6626d4..2d94b3a884 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -1006,6 +1006,16 @@ static uint64_t *kvm_arm_get_cpreg_ptr(ARMCPU *cpu, = uint64_t regidx) return &cpu->cpreg_values[res - cpu->cpreg_indexes]; } =20 +/* Like kvm_arm_get_cpreg_ptr, but returns NULL if the register is not fou= nd. */ +static uint64_t *kvm_arm_find_cpreg_ptr(ARMCPU *cpu, uint64_t regidx) +{ + uint64_t *res; + res =3D bsearch(®idx, cpu->cpreg_indexes, cpu->cpreg_array_len, + sizeof(uint64_t), compare_u64); + + return res ? &cpu->cpreg_values[res - cpu->cpreg_indexes] : NULL; +} + /** * kvm_arm_reg_syncs_via_cpreg_list: * @regidx: KVM register index @@ -1308,31 +1318,67 @@ bool kvm_arm_cpu_post_load(ARMCPU *cpu) } =20 /* - * Copy writable ID regs from isar.idregs[] to cpreg_list - * in case their value differs from the original init cpreg value + * Copy writable ID reg fields from isar.idregs[] into the KVM cpreg list, + * so the subsequent write_list_to_kvmstate() pushes them to KVM. + * Only writable fields are copied. + * Returns -1 if any vCPU's ID reg value differs from the host value and t= he + * field is not writable. */ -static void kvm_arm_writable_idregs_to_cpreg_list(ARMCPU *cpu) +static int kvm_arm_write_idregs_to_cpreg_list(ARMCPU *cpu) { for (int i =3D 0; i < NUM_ID_IDX; i++) { ARM64SysReg *sysregdesc =3D &arm64_id_regs[i]; ARMSysRegs sysreg =3D id_register_sysreg[i]; - uint64_t previous, new; + uint64_t writable_mask =3D sysregdesc->writable_mask; + uint64_t desired =3D cpu->isar.idregs[i]; + uint64_t previous, updated; uint64_t *cpreg; =20 - if (!sysregdesc->writable_mask) { + cpreg =3D kvm_arm_find_cpreg_ptr(cpu, idregs_sysreg_to_kvm_reg(sys= reg)); + /* + * Registers such as DCZID_EL0 are not exposed through the cpreg + * list and are therefore not writable. Use the host value + * snapshotted at probe time as the reference to check the vCPU ID + * regs have the same value. + */ + previous =3D cpreg ? *cpreg : arm_host_cpu_features.isar.idregs[i]; + + if (previous =3D=3D desired) { continue; } =20 - cpreg =3D kvm_arm_get_cpreg_ptr(cpu, idregs_sysreg_to_kvm_reg(sysr= eg)); - previous =3D *cpreg; - new =3D cpu->isar.idregs[i]; + for (int j =3D 0; j < sysregdesc->fields_count; j++) { + const ARM64SysRegField *field =3D &sysregdesc->fields[j]; + uint64_t field_mask =3D arm_get_field_mask(field); + uint64_t prev_val =3D previous & field_mask; + uint64_t new_val =3D desired & field_mask; + + if (prev_val =3D=3D new_val) { + continue; + } + + if (!arm_field_is_writable(field)) { + error_report("%s.%s is not writable: host=3D0x%" PRIx64 + ", requested=3D0x%" PRIx64, + sysregdesc->name, field->name, + prev_val >> field->shift, new_val >> field->s= hift); + return -1; + } + } + + if (!cpreg || !writable_mask) { + continue; + } =20 - if (previous !=3D new) { - *cpreg =3D new; - trace_kvm_arm_writable_idregs_to_cpreg_list(sysregdesc->name, - previous, new); - } + updated =3D (previous & ~writable_mask) | (desired & writable_mask= ); + if (updated !=3D previous) { + *cpreg =3D updated; + trace_kvm_arm_write_idregs_to_cpreg_list(sysregdesc->name, + previous, updated); + } } + + return 0; } =20 void kvm_arm_reset_vcpu(ARMCPU *cpu) @@ -2293,8 +2339,11 @@ int kvm_arch_init_vcpu(CPUState *cs) if (ret) { return ret; } - /* overwrite writable ID regs with their updated property values */ - kvm_arm_writable_idregs_to_cpreg_list(cpu); + /* overwrite ID reg fields with their updated property values */ + ret =3D kvm_arm_write_idregs_to_cpreg_list(cpu); + if (ret) { + return ret; + } ret =3D write_list_to_kvmstate(cpu, KVM_PUT_FULL_STATE); if (!ret) { return -1; diff --git a/target/arm/trace-events b/target/arm/trace-events index 2bb7766f7f..7b54e34ad9 100644 --- a/target/arm/trace-events +++ b/target/arm/trace-events @@ -15,7 +15,7 @@ arm_gt_update_irq(int timer, int irqstate) "gt_update_irq= : timer %d irqstate %d" kvm_arm_fixup_msi_route(uint64_t iova, uint64_t gpa) "MSI iova =3D 0x%"PRI= x64" is translated into 0x%"PRIx64 get_host_cpu_idregs(const char *name, uint64_t value) "scratch vcpu host v= alue for %s is 0x%"PRIx64 get_host_cpu_idreg_not_found(const char *name) "host %s register not reada= ble from KVM" -kvm_arm_writable_idregs_to_cpreg_list(const char *name, uint64_t previous,= uint64_t new) "%s overwrite default 0x%"PRIx64" with 0x%"PRIx64 +kvm_arm_write_idregs_to_cpreg_list(const char *name, uint64_t previous, ui= nt64_t new) "%s overwrite default 0x%"PRIx64" with 0x%"PRIx64 kvm_idreg_write_scratch_vcpu(const char *name, uint64_t oldfv, uint64_t ne= wfv, uint64_t actualfv) "successful dry-run for %s old=3D0x%"PRIx64" new=3D= 0x%"PRIx64" actual=3D0x%"PRIx64 =20 # cpu64.c --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994369; cv=pass; d=zohomail.com; s=zohoarc; b=G8/xVFyfC4+oH9mbAvj+yG7EG8LEnfmCSC0FHfDT1UvirnWcRrfaNE5jHwrVV6rZ2jJ/EXrSGtnZlz9ZkB+FxutzE/vgCHAz+3J5O+hmHw9xVLwkSLwvZLptdGX5AGBtT94c/p1ZohmxGOk1REgzWTSSbv7wLVwjXjh6hCp2hgo= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994369; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bEwf85cLdgg/8fSzwCvjaNjstIyJ4mCyPz9i6LIJDIo=; b=XI+3izjmDr66vNMi/QF1ikQOq7PKnev56bENgd9n/8n3ajvTMW/va16X288hfZdTAJu1tM94/qIQAyz66YgXyFfQ8otfqzc0w9TLjbl9pFhDldOeH+85cMUw0Ag4f5vx3HYxax1nRgZXqq1aYQVcIbtWFHWlnyj7pAkRIshHboE= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994369718176.0063660085824; Mon, 21 Sep 2026 05:39:29 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGV-0008Iz-If; Mon, 21 Sep 2026 08:36:59 -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 1x8dDp-0006xM-9J; Mon, 21 Sep 2026 08:34:24 -0400 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDk-0002B1-KX; Mon, 21 Sep 2026 08:34:12 -0400 Received: from pps.filterd (m0127841.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAflUE774316; Mon, 21 Sep 2026 05:33:38 -0700 Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11021115.outbound.protection.outlook.com [52.101.57.115]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4gsqx831cb-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:38 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:28 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=bEwf85cLdgg/8fSzwCvjaNjstIyJ4mCyPz9i6LIJD Io=; b=ncPmbJDdr4tDv84UU3Taan+X+m+9F2x+wo8cXaArZZM2l0/Yoh0ovwSwY qcbc/uAwKQiEJ6ox3DGrCuIRKqOMGGoWOwtQMyXQaKvnGOkaglXUYqaZS1vHojrW 5ZefFhT6EUXBKykdRD+zmMfmRadJM+TOJH2FuY0a2og9Z3FimbG/zbL11mAso014 7df3kUjwb8bNJ7fCxCe326y8gBZyeJsvvqZSI+ubaZpZD11knCEmRng9tH+8YH5y 76tueVbJl6D2CsF62zzSg/kL2BCzGrfkwNLk/Y1Si5+hgs/AhrzZIz3cG4TLq25i 5Me0js6eU8fADn1EASW7/bl+NjxJw== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=vq76R/AJAidAKlO7kpzPr2mEGq7dlkDo2KqEQoqa8HYlduMAnJlPjAiToJMrjoQc87npWPGAUH0pl6yw7Ea2WEggPU8UkVcxsytczoSrNQH6gx50n0bpdxuDXLrerKdwHJV8F7T0i2qZIjj00rheAh/vU1yWHEaDRGcVTemJq/8EqIZeRdKjWkTayOrcT1N1Bc1Kukgs25fmr6RPpldnVN9M88hceLbzKyGYiCb7n6ByWqcIYNWGnTYIP4VR1crem4MNRcsEmcwa1wQ+hG5w3gElO5Ku3PxooV19uPkhFdLomnydkqW+57Bp+D0rKQGLkjcIKJRoz14kOu68e0nWlw== 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=bEwf85cLdgg/8fSzwCvjaNjstIyJ4mCyPz9i6LIJDIo=; b=l3Y+8W/P62AMU3IjJW4Ru4WapxvGkgExwygUBkqgBZzoA/wq5KDizb29xqUrm1Uf3t8sD7I1jE9jrCH+jiJkv2wyrcak6HlFDZRty4nW8YkxunhyTmP8GsgVUmVaNCQDSepxHwufSq57woF6Af3J46ZMoZmt26Xq/XKLLxYMqIwWw6nngzuiqW1u7RvxrFtTWYNnbXSP6RqvYoKNVOqGR1xEd6p1XxTIsCtgUT+sN7804P4YYjKZ6zMujphOv4oQkpRzsevA1Hu830M9Kac64+BQQIyazo2DhBe5La8dIW9O1S+UtjStfJFGOSxT0J67qU6pS/LE53a65XiRDh1G7A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bEwf85cLdgg/8fSzwCvjaNjstIyJ4mCyPz9i6LIJDIo=; b=dmlh+mcV+53fTA8BZsFiZF9b1Ph5wWftLaXHrHGSUN647o0XTCQL9/wn4K5huQYlRHEGSfo7i2W6GyLQ+AKTTOo1z4j/mXQGC6Z4PYg0LQCAffOimI41PweR2DYXrDRchBFvOzUSAnuAfeDre15VIxwgyYQSa4g712UwmMd6Pw3sOOSz17qPj59izWjQ62IvJdwTVg5snEQ+crKOA6lDk+A6NrSwJydacAzDFvVNKeyM9dLmiXLAirRTKZgKvEVbdwV3n6pOAum0aJZ8ql+2I5w/vSWjzt0zKLNbXIbkqrGGdLHGCmnUKvkiQ1Y+7TiCiqsTlS1ne6ufEtLNtRP87g== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 08/25] target/arm/kvm: handle writeback for special ID register fields Date: Mon, 21 Sep 2026 12:32:32 +0000 Message-ID: <20260921123249.1708067-9-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: d0b50886-48c2-4e13-d705-08df17dc897a x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|56012099006|6133799003|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: gfo0x9GqntiN+E6i5j3wqNTj1Du2JbqAJvggHGLUKNMDmpy2s6e9kLXdmCjH7tOpL5hPE7Lb15lq6xjMGDXhiMFz/he442UYiniM68Bugdy29K751VCA2X11uDYYnJrbtyoyA5C9DVmovAEi1xiR0dIHPVj9vl4Nv9Lv933+n96bE6TB9woUzYdzf0vn550qOn/z3egXIhJ6Bz5rycWxcCmbHMRJwFkNT06Ra+IZY4SFQBRHJqp50Wacd2c/15j/eDIIz8AJApznmkY1S4uQat9O2d8OpUkpSfLUwDS8CQc8sgMtf/LIoRZBamhpYCb/qjDQyqjs6QE3Bj8aUliBhw7JNr9RgEwgOS4X9ZIRfnod/vgFJcMv1pfUaUeMFuZiqPQUBsOdGNvwwy3D51XlLa6m81tBU40rChQ1I7z66Qcg9DqQxPYAWYlmssB9YN6o5MVjXYb4OMnNwzUP1MSiBf/2IzM4cWPnP/+XlMl3RIQHg1h5OFXArVwnqZjMGjBh/zSbfaCmpa/naCF2nYTNV320wsYi0i7eZ+kGopuWsVH47iZcbql1XuoO50Fmb6e26DjuxysEao/8TWkWKbpHN+TlTMIzcM9PYcjYR5EWouzB3F9oqeg7YL77UXQd2PY7zzkkmQMK+FgyoMLWkXPMgmzqilxlLK9ujliXgapG0vw= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(56012099006)(6133799003)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?oN12NpMDx3jN1+0ayOV8JuoJUoGfFeCPXOOaA02iWrEwdsHRbiWKHE561EsL?= =?us-ascii?Q?CdT+gW7rDyzVL0fw0Ey1J0wntZuSMbBellNTvdLRDUJBEJ0lhfXxzTOKye0p?= =?us-ascii?Q?LZ2ZNMv+zmoFeWXugDlMFth81ivCOYLQ5wSV9IizVr7ef3R78p0NBX6J/A/2?= =?us-ascii?Q?oiZG/yah1L/+yT2rY186eTJlEJh2tIgkmIxIliUP/ai9Zs/x/yWWRYe4AliS?= =?us-ascii?Q?IYYezyPfZVDzgUy6wMRN+avZG7QGdDZPe8cQCcoTYGN4F7xWhaHnCnnmO4nm?= =?us-ascii?Q?MUAj/EQLc1ho6IYapSHWTgorbjrZZaxwRxVobMGebTkdvrcaffiHWqXj7CGD?= =?us-ascii?Q?nW//zQbRsdOlGF9t88tPmMO0mKrMAK/hgfUo+lQzvqBojIXRDklt/djRWK5j?= =?us-ascii?Q?+aEMJao+XUBREuJe1iDWgW92jr3N8buyd5f6o1sym7A3xCk3VgpbJN0ze++4?= =?us-ascii?Q?X/GpOo4sr7w+gvDKY3eSwX8Qhm0dBzNAgo+VfJDmou3nR2pYgRrPWLr8kljz?= =?us-ascii?Q?IDHER+S3lQP+nKrsbthqPLMOnzE50Ux01mQK9qVtdQbgJ5Kk92caNDWNfelQ?= =?us-ascii?Q?//oadsJhu1ORHhzxGNrW91htUejI46fiKfHoLZm36/sB/tff/3XnJqnRhWf2?= =?us-ascii?Q?rXhaYQbfsCKZNW079lyNozwuD/CtMnNLF84wZ9E8kDBPADn8jym6eChkUBf4?= =?us-ascii?Q?3wdtUiBEAxSbDr4bZsispCTsv8fNV6x49M5U6uYCOuwGkr6JJSQMSHoKGqnQ?= =?us-ascii?Q?XYtNrzwh2LOw5kSn/itw0oepuhCser+bJPe+HxOmIoVYFOmBEHMXcERH+vIa?= =?us-ascii?Q?K1J0B0X+nP4kmcFWtCIdTtTiluGd5OnHDPfgV3GsI71qcvR7y3lzgR+LvYCa?= =?us-ascii?Q?jU4u1ckSMdFS91mJKK+19pmcqQ9/WWMt6dbZ+yp+Jr2yqvmt2Yj/M80Mx0jO?= =?us-ascii?Q?Ydria6r/lhf4SBAX/oGK1OgdvsF0wkGKPIhJPcO05kM5l2D8QFw2xxSmFkSN?= =?us-ascii?Q?0VSpmOKmHKGQyFrhKe9CdgJXp2fvJYh3emKkPEJ4Q/IdzPjEUOnWq7kYYKAk?= =?us-ascii?Q?/dZN2V5M0gzb5I96zPIOJUzjQIaXaaCQv0lghrGO9PgbMqUHIx45YpzKKU5F?= =?us-ascii?Q?oZkxPmm6M/cBMJEZMAHLJAqq1F//ik/VR8gRixRs+k41O+SJZA7b5exmIot7?= =?us-ascii?Q?16cZQLr/QXGGsIaDsisi+e2GekSn/JYVNtSsqmwk/OVM7qzGchgmMgIpBUEE?= =?us-ascii?Q?B0DKjWHZQVPEM+S+MckXTiVkgh50FpHmmqwES20V/6txLZJBF+uMs1daOKrQ?= =?us-ascii?Q?YDdHuKH7GAM9FJOzhMat/ErCw70+L2ckC1lIwM7npsBCL33+vTb1jU/tfM92?= =?us-ascii?Q?Ikxm3UX/Rn0KLjbDT13rs/cL2eW+XMWsundckxNrDnPhfCQMRSMMOUYW280z?= =?us-ascii?Q?3dDK0uY9UI8hcTbvgEUdCxN5O/iXR+DVQ6TWebN3pVvAtCO9RmzabKum++Ko?= =?us-ascii?Q?ENsdEQ0+CPJkBoRMqTalbwWXVgVablTPK0itc3b2mlPS3soIECQyc5SrlbVi?= =?us-ascii?Q?8KWFt/HVZghTFvV+x8UgN6gu8ADkTUxurPpwKZw77Akz0PRXa0MZw0F9967s?= =?us-ascii?Q?l2ZDqoGF7Mm/LvvT45il76fSOOHwhwgwTY2EIxsUv2DThzUW0Dr8A9Zjjn/o?= =?us-ascii?Q?br0yaHbTZtsy6YY9YnLgcxkcxe73mz16ypit8qGhHgyamRLMHH2ZFwmz4GcD?= =?us-ascii?Q?81dNhYEdD2H2Lvq4R8g8ymw+eutZ8cc=3D?= X-Exchange-RoutingPolicyChecked: Fu5Jt1ZjfEBCWWr+MOg+iBTHgyWh5yVqbjg+J6eD20l1IW9BAzWtc04X5JUKF+g1rIYpudrV51lGfBdETvZoHHVHEdPRpzwq9PzmyFkOLBwKRh3OckNIp87+5j0eJgFeaBotlXluSVDlHQloJi+YldJZa0l/hjL2oJZGgIKbcqqMoJcxwdkj+SbfQ+FDmJrMfnUTtQQ5zlkWI2qS5XuQ5jdvzV2OGQqmHwIIfy14jfsgwg/ouPlCFHxez9WU6A2h9U1qjW1rF6V9vw0VrTtzLHV/FNzqK/hbpFYQcX/olDV7iyYg0sfJXrmrdLdxy0BwlrctSBkF0S+7QXTGSubrFg== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: d0b50886-48c2-4e13-d705-08df17dc897a X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:27.7840 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: rMoh8RZ2ya7HQhDGX3pC+HtCRaXGWwdFAMJStdJz/JEnTFi7Mraj/cjhOpPSFZ47ETv6Y3tGvHNj4upflbyMTRmEPbRg+djkVliPzTRB6Mc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=KInPn1Fo c=1 sm=1 tr=0 ts=6ab12422 cx=c_pps a=jYOLmuRG9FCngycrw98U6Q==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=jxMXjlTPpCISP5mWtjnE:22 a=64Cc0HZtAAAA:8 a=NWnzACZMv7LnZDDXeWAA:9 X-Proofpoint-ORIG-GUID: rS0XlGshGD7nbYllEcKsoVHGh8jVFVPP X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX5ELvkGtiZG1x nUmxoPxmTCsy6s4SM9KRh8qJHpJDmmgfOH1jSwJFB34dNAIgmhKn7h5CLJeVgeRAkvvhMXLzqdw Nvu/g+mhAW+JjHcuJgjDzGMOd/DUmuU= X-Proofpoint-GUID: rS0XlGshGD7nbYllEcKsoVHGh8jVFVPP X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX9FsVAr+I2Loe /wxbGULs3bxd2DIVEaUxT1XyrTVfq6pB96SQ/cAaOPAcjQySAbxUqeJtNcx/JJmw80fqsUJLKaZ KxqiB0vtqY0abAofUS3kOalYanDeZnjUF+NrF5AQPVg9XxjPAslUJfq6pdHXl4GcI07OKELa0P6 qDXY3D39KXzRdlwqI3U0bR93GU9KXHcX5Al5/i9lDhNj0RLPJUYazCxB0I97JLNu41i/UhcTChU 3IO2EezSkvOgqxF0kh9inWW+rkG9HaYDmc+3uZUWQjzzmsWOYPxcCZjNuRJPTax2izBGh9oEYAc ASQ2u3+Vk5e6CNLr1/+n3RcC2W1UE4X6AOqrfzc7V47McfnctVQu/U0zXh1joGapzhK+tFVMlwh nWq+n99yksdC3cTfAutz24TxSk6ew1d7yru2ygIjF0LBFXgelISYlKBO7x6iPsRWtf/JXcMATh2 xWBmXkSsVttPVX/GvNA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.155.12; envelope-from=khushit.shah@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994371179158500 Content-Type: text/plain; charset="utf-8" Some fields should not be written back to KVM for various reasons: - ID_AA64PFR0_EL1.GIC / ID_PFR1_EL1.GIC are fabricated by KVM based on the gic-version property. - KVM does not allow writing 0 to ID_DFR0_EL1.CopDbg, which breaks booting an AArch64-only guest on a host that also supports AArch32. - ID_DFR0_EL1.PerfMon is populated by KVM even for AArch64-only guests but is not writable there. - MPIDR_EL1 is managed by KVM based on vCPU index. - Hold off writing back CLIDR_EL1 until we properly support exposing cache topology to a KVM guest. Signed-off-by: Khushit Shah --- target/arm/cpu-idregs.c | 6 ++++++ target/arm/cpu-idregs.h | 2 ++ target/arm/kvm.c | 40 +++++++++++++++++++++++++++++++++++++++- 3 files changed, 47 insertions(+), 1 deletion(-) diff --git a/target/arm/cpu-idregs.c b/target/arm/cpu-idregs.c index d58b8ed063..1f7ebfe9bb 100644 --- a/target/arm/cpu-idregs.c +++ b/target/arm/cpu-idregs.c @@ -107,3 +107,9 @@ bool arm_field_is_writable(const ARM64SysRegField *fiel= d) return (arm64_id_regs[field->index].writable_mask & field_mask) =3D=3D field_mask; } + +bool field_matches(const ARM64SysRegField *field, ARMIDRegisterIdx index, + const char *name) +{ + return field->index =3D=3D index && !strcmp(field->name, name); +} diff --git a/target/arm/cpu-idregs.h b/target/arm/cpu-idregs.h index aab1a79db1..8ef3f9350e 100644 --- a/target/arm/cpu-idregs.h +++ b/target/arm/cpu-idregs.h @@ -35,4 +35,6 @@ extern ARM64SysReg arm64_id_regs[NUM_ID_IDX]; =20 uint64_t arm_get_field_mask(const ARM64SysRegField *field); bool arm_field_is_writable(const ARM64SysRegField *field); +bool field_matches(const ARM64SysRegField *field, ARMIDRegisterIdx index, + const char *name); #endif diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 2d94b3a884..70d9a07580 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -1317,10 +1317,40 @@ bool kvm_arm_cpu_post_load(ARMCPU *cpu) return true; } =20 +static bool arm_field_skip_writeback_always(const ARM64SysRegField *field) +{ + /* + * GIC is controlled by the gic-version property and fabricated by KVM + * when the vGIC device is created, so a named CPU model must not touch + * it. KVM also rejects writing 0 to ID_DFR0_EL1.CopDbg, which breaks + * booting a model that lacks AArch32 support on a host that supports + * it. MPIDR_EL1 is managed by KVM based on vCPU index, skip writing it + * back. Similarly, skip writing back CLIDR_EL1 till we properly + * support exposing cache for KVM guest. + */ + return field_matches(field, ID_AA64PFR0_EL1_IDX, "GIC") + || field_matches(field, ID_PFR1_EL1_IDX, "GIC") + || field_matches(field, ID_DFR0_EL1_IDX, "CopDbg") + || field->index =3D=3D MPIDR_EL1_IDX + || field->index =3D=3D CLIDR_EL1_IDX; +} + +static bool +arm_field_skip_writeback_if_not_writable(const ARM64SysRegField *field) +{ + /* + * KVM populates ID_DFR0_EL1.PerfMon even for AArch64-only guests but + * does not expose it as writable there, so skip it when it is not + * writable. + */ + return field_matches(field, ID_DFR0_EL1_IDX, "PerfMon"); +} + /* * Copy writable ID reg fields from isar.idregs[] into the KVM cpreg list, * so the subsequent write_list_to_kvmstate() pushes them to KVM. - * Only writable fields are copied. + * Only writable fields are copied; fields that must not be written back + * (see arm_field_skip_writeback_*) are skipped. * Returns -1 if any vCPU's ID reg value differs from the host value and t= he * field is not writable. */ @@ -1357,6 +1387,14 @@ static int kvm_arm_write_idregs_to_cpreg_list(ARMCPU= *cpu) continue; } =20 + if (arm_field_skip_writeback_always(field) || + (!arm_field_is_writable(field) && + arm_field_skip_writeback_if_not_writable(field))) { + /* Never write this field back; keep KVM's value. */ + writable_mask &=3D ~field_mask; + continue; + } + if (!arm_field_is_writable(field)) { error_report("%s.%s is not writable: host=3D0x%" PRIx64 ", requested=3D0x%" PRIx64, --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994522; cv=pass; d=zohomail.com; s=zohoarc; b=a7lI9iVvXeVdMahPxKSjCcncS+Jx+R+a1SZksapKCR/slG7jmwvsqzZ1VJ8NcG27d9wcyPCqFM6x6XNIFBFT5O+cP8fUsZJRp2iRG1h0mdvLsFJO9oW4g7jwy+UeElquTWu9VE4WWh3xJc1ACVCHtWqhyeGwK9gYEjw3Ih4oJ0s= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994522; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=1QkE2ncrQk6eQs5nEd9oT6uG1HxpCiiGZ+Azdxrfd/U=; b=D3p1t2cnlzavoEr4tJ5RNPKQZsF7CCcyAgPBUfpnG2E00f2mzHXPRZ0wEte2f9IWOrqahH9r3otrpGDsECfj1lI4gveuiLogfzwkCk0T77Gfe6CCXfTDA3nPnS3MdBoo6deV4nisyy/B1caqx28LA9T1t08qdp3FaJU92xE4K2s= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994522791140.90913345987508; Mon, 21 Sep 2026 05:42:02 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGi-0000iw-4q; Mon, 21 Sep 2026 08:37:12 -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 1x8dDp-0006xN-BB; Mon, 21 Sep 2026 08:34:24 -0400 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDk-0002B0-Gf; Mon, 21 Sep 2026 08:34:11 -0400 Received: from pps.filterd (m0127841.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAflUF774316; Mon, 21 Sep 2026 05:33:39 -0700 Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11021115.outbound.protection.outlook.com [52.101.57.115]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4gsqx831cb-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:38 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:28 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:28 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=1QkE2ncrQk6eQs5nEd9oT6uG1HxpCiiGZ+Azdxrfd /U=; b=ylnI691FzpmI3JJd0OEuWHeTkvP+d+/xueQV6iqwLFpduFFxano6gpHZN fH1oCEF+pY1XXqszQ29mJXpSS0kunAKtYrrNsh2dwPdzFXT/kUfwmnL+Hs8eNXFu anlr8TqG+LCdo7rpqjGBKlo2N8j86e7wLAXJU6+kJQi0xG+2scdwogMR9ECF6Meh FtojF0lWk6mHP23wyXxDM7hQZq0KRrgvW5FRbuInyWxkg3p6gA2v+o56yHtQK3Nv sX+UFNog9LQIdRU6ZTqg8qv5pNa8j0GCtSTeMxcTzBxrDdF2sxCaX8IWCuH6e3iU IGio8M43qlnLNKe8tNHtR2FQrfsaA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=k18KDiSw3lgWkflc/RiNSuQ2wIDqLamPH0Im+1kRQHEgr0TXqXYn7f2KUcTnp/l4QhW+OTgWARm8OcwuHsArkuNUZcr1+1OPHFzFyxIxOkpDxcIUFCt2+vT+Nm4qB8m5uaX11fp0OSpT/YDFIvtSmFqJZ1E/2eeWiHSeq1ftPlNIma0G2xhq9Kt0GNZwOqk3heBI6MdKgx62zTdKtGY0XXR3bO1p/wvgIKCw2k3RP7HYGj7WUuvhqpNEmmGM/aG3LNbO9JKP9F/Kh+74ER1+FXlI7ZMnC9jGtoCuqlbcy3RdN7Koe4sNnTrGL83hiq/7CbXA5VZEPevQ25NABXSfSQ== 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=1QkE2ncrQk6eQs5nEd9oT6uG1HxpCiiGZ+Azdxrfd/U=; b=m7ulg7+OKG7ViyCclfyQP6UBOajiJ5iWyTd1YCBvlzMjJ99YBw5OesH0iU+n3XKHL9wj0TC/mNIQzi1pGKTYc7DZFogdv8TOQVRWVOmpdRdcFVP/onqwr5JkgVVOPf4xF+SZEQ8/Kamvcg00ZIczlME/oyCiOiUDfWNrHRM0LE/Lqsh0bAKbNK1/4RyggqMsV0JdKLIY+K5SuhbLj5OyQ21oeUmwOSU7Eg9fMiESX1vKouN6RhOizDpSVTwYC+WvNpCmuS7FVmmk6/OZ81olaHFhDIo7r7DuJiB1P0FmnOdoPwCcB9L13NeGZTSFpdROLWGo4WALDIs0PGLTi+zctg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1QkE2ncrQk6eQs5nEd9oT6uG1HxpCiiGZ+Azdxrfd/U=; b=DfaHgp1JYh1VLSywjQgdFgVCE3g9v/hXnWwOvmH+EUuFpn3AGGi8+fZA03414576R4fOkLrK7Qnixtx2qm4L56Zp5J7hLp2Ool8NIl+SffqU8Zl8BkOTeaIgsdm9MhsZeuXHI/08RuddotnWXmoPO8bokcZul8U04XGIkbbx6ViOrheJpHZblqtUaXMySYkxrM+WatAd/E7MZNrj4Pafm194rwdw69AOf+3hMBedrKIsK623sH3Mu4u6SwNbhEgmBJ2IQgu66OBsWck3kmiRPd+sH5Gaawhah8L90XVZvT6gBe9GsL96ttiSrVTqdPnVRGihtxiDpeQQIFSGdrWNPA== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 09/25] target/arm: introduce named CPU model infrastructure Date: Mon, 21 Sep 2026 12:32:33 +0000 Message-ID: <20260921123249.1708067-10-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: 18cd3d5f-ec5e-435f-b41d-08df17dc89f6 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|3023799007|56012099006|6133799003|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: N8B6Agh1OGlouseKzUlH2TVOdtzRz0Gljb6SwI9L/WM4qaVq9Gw7bow+FE3WeMcgkF4PS8nMihob1dzKNpFGvEJ6sFLLMxXoIhnJpBEE9vy75OzushfO/T0nftIfGfIPhWA1IXpnVUYWiff8TBODgSkH0F1qSEGSaSFKFIMdAdXBC7G9Sq887YdvsEx4VFkOH6ERaFArFl3BClxOwWv0c07/vrjWBGadkU4ayuzy3cTkBSu8yOrepE3RMwGROb3yeHAtv7k+2yOPCX2xfUm7avOQm4MHsFENruOIpYdjlLuz0M+JbZlk+PE3FVHpFvzYk+tJwLf3ekzGI9URng7POKmi1CkbOsawFGkTkbi+aW9LRPksS9nhy78haJ9Y5EQRh3n5humms5L/tDKwQ433k4ZHZhiFUpUwUYl9XF0Y4P4sLzzG5PYazVxlR/P8LWPLdyIgVqCTTVanoc+9x8PIurXXR5WUwDx7vFDc/RLt5MQtUSJd/OYZ8ipo0JqWNOGJ1PnMtPFiYW0JMoh3gEfsAEogb/nVKwkYsPLi2OezOt2k0CZN2td+tzhbCYeGEe4g2w/XLHawojU0AyWN7XFoMsiISbLj9PbqRkzKPHion6o9dMEAlRc6Y+OeJTlz2iTNoT3kHhthgD466xlb1/ti6e3FEz37ehBpIkV5wBw+mFY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(3023799007)(56012099006)(6133799003)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?iQ5W9CCU0SphqOkEgg2s5D2op+728H+uRjx929pCIEOEz5Z8psynHNKnRRpx?= =?us-ascii?Q?xVTUKZnZ7outVc3JlQBhAl8Iph7zwfXu8RAk3BmODH6fM9uZyKSgm206m7Vx?= =?us-ascii?Q?2E9VmdsCyIA/ARSMb6VfTjsalOKmcfR4Tn1+wHJTpXXp/0YXxn1J/1beTiYS?= =?us-ascii?Q?9R89qj4YMGOclTKHorwIj3RjSBQPlX+f6etAUyTG9DkWN+SW3AUxWSG/9iak?= =?us-ascii?Q?qqga9aBPmBqCLtuM2C4SAXtQnbISsZG25jB8B0IxXYYz5tWNO9W63l0KcI87?= =?us-ascii?Q?j3XBchSPZRe1XrZfBvtGq5qJDHIXf5hbUya40QgnpwKerd4GrldFjZUomJmX?= =?us-ascii?Q?W7uea/VceszRn3m1YW/yekogq7b2HnbR0aI8ZMV3NFAHV3zQvDzT9TYBn1y8?= =?us-ascii?Q?6Ok3OMLb2Cn9aLNPLZnV95FU942SRvCHdPSn2m+r4XVXZzFF+vcKdTuLxrol?= =?us-ascii?Q?piOLvtqHUCD+AneUXe8G23SK/mhEboXNYmKmbUCchXJQeR3/4Xk8Pij26IiN?= =?us-ascii?Q?dCfiu7aThdyGBX1Pmhoc3HnWyyeiSj70Jb9mq2KYXZXqgdXitFbUZ9NTOQBQ?= =?us-ascii?Q?QrawqhcNKsJygyeE5aawBeo9t9jWPGJnwOfeTK+7UBwcWk9Tx4EdWXUMNhaF?= =?us-ascii?Q?EmTJKWwfX5kHv43r5mD27afP2tAbqPjBDv24D9S2yHjebhZL/KNvVVdgdKsp?= =?us-ascii?Q?4fCjxwu3T6aAakMo3zMhlWWG3/yKPWvizMgzW97HWgDQd05n8SNyr5yn4STf?= =?us-ascii?Q?7ptYOGGJy52Z9TIeopRWmArPovgx7oQM8A4autUSg0TeqJOYnsOEg1VRdXWV?= =?us-ascii?Q?Kyd6+y/L9HNDWycPSMotBWxBCmve5xyTsUK/EEMewomWa6ZWeNOTavzURZle?= =?us-ascii?Q?bkAXP6kUa4e3jR9nd26XJ+1ZoNa+6zKR1/LYYoUuOJmKoWmNm1IyBJG4p27S?= =?us-ascii?Q?V/mOUw1mlPrKgNy+MbtPj3LKQFoYZNh7+rPk2fKwX0I749UQL/zQhLWUPMk6?= =?us-ascii?Q?ZR6yeqGe0XyuaBp3XcsNCP8AuG2xsyi6b/UPwN+bnUS5wnNMbi1SYY1Dx/zT?= =?us-ascii?Q?XqKhU8g3MfAdpSZbl9Wqx9TvFjy2kZG4I/LDkUkgP6Pmf7CV0xNAJeSOqPso?= =?us-ascii?Q?fbzand55x7AOM+d92+l1hrEA0FwzD9bwj5+FOcXJIgM3+HHJyU4DW5acqxmT?= =?us-ascii?Q?/THnkNVKM+O1f615EjzZaQT+cnmqG4bk2NrKtmZsjk3PQUe1oPb9KFgaMyz3?= =?us-ascii?Q?NUFpoyOVPYmnXjoCIIm3V28dERpVSTG4MaWEFukBdBZHnR/DjI8uf4XMaJti?= =?us-ascii?Q?cfIK3kt7Pk1EmXYjfcUsEzezwXgvLQy2HFpak2aTrWBN2iSqAxaim3GmMSkp?= =?us-ascii?Q?59i9VS4Y4jM7OE54TUW8SJTWU50YW73Nj+3szsPFgeCePZL3cciYe21EL4ou?= =?us-ascii?Q?bI7rW4m8bh0mlHYi3KLLwPHvQxuNSQj5Gz8lYbnMSsYe6wsnA6lVryiK2ueh?= =?us-ascii?Q?bHjD05C0+di8m4yvcrkghsryhc35GeAHTtmeNfENBVH96YRHFb4vOnXl8GwB?= =?us-ascii?Q?p/2EYh8bs7KzPSafHb0ifVt8OnDPdvdp0IuKlkuNRwNI3JjxyRzHRGzLB0gx?= =?us-ascii?Q?W6BV9AFnhf8OrtecpJklVDx/BBJDcE6dCXT/JfEkzMk8SbBVTxVAMfruMQEd?= =?us-ascii?Q?sjH0EwUKs722dSvZ9O07XPA9YmoNNxSoTnhxKUkkGS6+5oQ9d2cw8yS81aJE?= =?us-ascii?Q?3GhpjtTKtDeyI5Ty7KfNon3V2wC39+0=3D?= X-Exchange-RoutingPolicyChecked: BoPv2be3FGv+WnIHtyZgXFJaZNLJlbokcyGOW6btET2zi4hfgFt/ucElcD5jE/V1girFKIOUt98ddSsD6bCyAtLElljnGFMvAAUx/3lE0Vdz0vluyr1C5qCVB9Oj1BODk6lZdadSwqodcNBBRza70L2BghbrEKmM8YCAuX077CyH+CRXhhqDrs5CkbHD84SAhlkX40R13a4SCzHbdMo+9EUyqKEfgDG2tvi2mfhMBWIqYCPLhJ0kobwJ0PhrnTs0TF5+LORv5/4Dh7zAOgWtFQjT4chRulwqwJeQJ9IJ0HmNHE2I7eHRxOuxinz3Ss90f48WH7SGlcnurgXf1WePDA== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 18cd3d5f-ec5e-435f-b41d-08df17dc89f6 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:28.6107 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5N7eyyBbDBR6PJL0tdTohbYPQacN/udIK6yWA9aIqjbxfeo+f2K2z0Sl0A7pN78XT1YA6Zi7iT3c571Poh0ZuTTro2NVDRGE7bVaXoD7VSE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=KInPn1Fo c=1 sm=1 tr=0 ts=6ab12423 cx=c_pps a=jYOLmuRG9FCngycrw98U6Q==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=jxMXjlTPpCISP5mWtjnE:22 a=64Cc0HZtAAAA:8 a=fnMJAXpJH4lpJfH95ukA:9 X-Proofpoint-ORIG-GUID: RaWDpuGmJk0MWte1UtT_ZTBgSUiSeEVO X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX+Za2r10EGyZ2 jok/pfsneqCzlMtxf1xoZivvQ3d6HoHRONDmpsQmC/tGFWdv7DERhYixCf4pCvl6ToRcU8Z+5Hm GBZco7EoTjSiIXspt5UDTaBOrMIiXg4= X-Proofpoint-GUID: RaWDpuGmJk0MWte1UtT_ZTBgSUiSeEVO X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX2tjD4SiZHUZF vlE5y1FVo7eAxfQCZYgttYoIFmQxnEPOc7ccP02ZGgjLTAthOA3oXrqiAkOq3ePugUvMAn/NQfH KKFXnd+Xu2Uw4+REmp1ShcpfOPxdLqxdn66bDmtLL019d+awrG5+aQkHPO0Gu1nbFUTzsQ5m4ay wl0PW41it00b1LbqgZw+PmciC7Zz4QebqYHWOUIrOBX5Ve9/mkQZyQ5lQf4Qin/H+X87gO0ea33 ViuA/ZpO20NZlJgZg7n3v67hBndeCS+tPssFRxudKkD/ECFVYJf4kczmO8hTDd71QNVS49Yf68j bsgQuySSkLKqAZa/EyqB2o1cKF+Wphv5MvmcBFThDAbbQyp4UWravLD9SpaSqIGVtEoVWOt1ijj eJCeP8v6tp7Nr/1V/MvGv9ojIj5Azl6yMKcZ9DWfgZnnOAWN7E2O5SlPoUBXROVLjoS8auKVD42 eThpGwSv9UMI+OPrGJg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.155.12; envelope-from=khushit.shah@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994524295158500 Content-Type: text/plain; charset="utf-8" Add scaffolding for named CPU models on Arm on top of the property layer. A model is a list of (property, value) overrides plus an optional parent; a child inherits its parent's property values and may override them. Instance init steps: - host feature discovery. - zero out isar.idregs[] and restore RES1 fields. - install SYSREG_ and sve* properties. - walk the parent chain root-first and apply each level's properties. This assumes that each property is idempotent. `pauth` is intentionally not installed because the model's ID register view is authoritative and can be configured through SYSREG_ properties. No models are defined yet. Signed-off-by: Khushit Shah --- target/arm/cpu-models.c | 191 ++++++++++++++++++++++++++++++++++++++++ target/arm/cpu-models.h | 36 ++++++++ target/arm/meson.build | 1 + 3 files changed, 228 insertions(+) create mode 100644 target/arm/cpu-models.c create mode 100644 target/arm/cpu-models.h diff --git a/target/arm/cpu-models.c b/target/arm/cpu-models.c new file mode 100644 index 0000000000..fed3197186 --- /dev/null +++ b/target/arm/cpu-models.c @@ -0,0 +1,191 @@ +/* + * ARM named CPU models. + * + * Each model is defined as an array of MODEL_PROP macros, listing only + * the properties that DIFFER from the parent model. + * + * Initialization starts with a zeroed idregs[] array. + * + * During initialization, the parent chain is walked root-first and every + * level's properties are applied via QOM, so the leaf's values naturally + * override its ancestors. + * + * Assumptions: + * - All named CPU model properties are idempotent. + * + * SPDX-License-Identifier: GPL-2.0-or-later + */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "qemu/error-report.h" +#include "system/kvm.h" +#include "cpu.h" +#include "internals.h" +#include "kvm_arm.h" +#include "cpu-idregs.h" +#include "cpu-models.h" + +#define MODEL_PROP_FIELD_STR str +#define MODEL_PROP_FIELD_BOOL b +#define MODEL_PROP_FIELD_NUM num + +#define MODEL_PROP(_name, _type, _value) \ + { .name =3D (_name), .type =3D ARM_MODEL_PROP_##_type, \ + .u.MODEL_PROP_FIELD_##_type =3D (_value) } + +#define MODEL_PROP_END { .name =3D NULL } + +/* Maximum parent-chain depth for named CPU models. */ +#define ARM_NAMED_CPU_MODEL_MAX_DEPTH 16 + +static const ArmNamedCpuModel arm_cpu_models[] =3D { + {NULL, NULL, NULL} +}; + +const ArmNamedCpuModel *arm_find_model(const char *name) +{ + for (size_t i =3D 0; i < ARRAY_SIZE(arm_cpu_models); i++) { + if (!arm_cpu_models[i].name) { + break; + } + + if (g_str_equal(arm_cpu_models[i].name, name)) { + return &arm_cpu_models[i]; + } + } + return NULL; +} + +void arm_apply_model_props(Object *obj, const ArmModelPropValue *props, + Error **errp) +{ + const ArmModelPropValue *pv; + ERRP_GUARD(); + + for (pv =3D props; pv->name; pv++) { + switch (pv->type) { + case ARM_MODEL_PROP_BOOL: + object_property_set_bool(obj, pv->name, pv->u.b, errp); + break; + case ARM_MODEL_PROP_NUM: + object_property_set_uint(obj, pv->name, pv->u.num, errp); + break; + default: + g_assert_not_reached(); + } + + if (*errp) { + error_prepend(errp, "property '%s': ", pv->name); + return; + } + } +} + +void arm_realize_model_chain(Object *obj, const ArmNamedCpuModel *model, + Error **errp) +{ + const ArmNamedCpuModel *cur, *parent; + const ArmNamedCpuModel *chain[ARM_NAMED_CPU_MODEL_MAX_DEPTH]; + size_t depth =3D 0; + + for (cur =3D model; cur; ) { + if (depth >=3D ARRAY_SIZE(chain)) { + error_setg(errp, "model '%s': parent chain too deep", model->n= ame); + return; + } + chain[depth++] =3D cur; + + if (!cur->parent) { + break; + } + parent =3D arm_find_model(cur->parent); + if (!parent) { + error_setg(errp, "model '%s': unknown parent '%s'", cur->name, + cur->parent); + return; + } + cur =3D parent; + } + + while (depth--) { + arm_apply_model_props(obj, chain[depth]->props, errp); + if (*errp) { + return; + } + } +} + +static void reset_res1_fields(ARMCPU *cpu) +{ + for (size_t i =3D 0; i < NUM_ID_IDX; i++) { + for (size_t j =3D 0; j < arm64_id_regs[i].fields_count; j++) { + if (strcmp(arm64_id_regs[i].fields[j].name, "RES1") =3D=3D 0) { + cpu->isar.idregs[i] =3D deposit64(cpu->isar.idregs[i], + arm64_id_regs[i].fields[j].shift, + arm64_id_regs[i].fields[j].length, + MAKE_64BIT_MASK(0, arm64_id_regs[i].fields[j].length)); + } + } + } +} + +static void arm_named_cpu_initfn(Object *obj) +{ + ARMCPU *cpu =3D ARM_CPU(obj); + ARMCPUClass *acc =3D ARM_CPU_GET_CLASS(obj); + const ArmNamedCpuModel *model =3D arm_find_model(acc->info->name); + + if (!model) { + error_report("'%s' CPU model entry not found", + acc->info->name); + return; + } + + if (!kvm_enabled()) { + error_report("'%s' CPU model requires KVM (-accel kvm)", + acc->info->name); + return; + } + + kvm_arm_set_cpu_features_from_host(cpu); + if (!arm_feature(&cpu->env, ARM_FEATURE_AARCH64)) { + return; + } + + /* 1.a Reset ID regs to 0 */ + memset(cpu->isar.idregs, 0, sizeof(cpu->isar.idregs)); + + /* 1.b Properly set RES1 fields. */ + reset_res1_fields(cpu); + + /* 2. Add sveNNNN and SYSREG_ properties */ + aarch64_add_sve_properties(obj); + aarch64_add_idregs_properties(obj); + + /* 3. Realize the model chain. */ + arm_realize_model_chain(obj, model, &error_abort); +} + +void arm_register_named_cpu_models(void) +{ + static ARMCPUInfo *arm_named_cpu_infos; + size_t i, n =3D ARRAY_SIZE(arm_cpu_models); + + if (!n) { + return; + } + + arm_named_cpu_infos =3D g_new0(ARMCPUInfo, n); + for (i =3D 0; i < n; i++) { + if (!arm_cpu_models[i].name) { + break; + } + + arm_named_cpu_infos[i].name =3D arm_cpu_models[i].name; + arm_named_cpu_infos[i].initfn =3D arm_named_cpu_initfn; + arm_cpu_register(&arm_named_cpu_infos[i]); + } +} + +type_init(arm_register_named_cpu_models) diff --git a/target/arm/cpu-models.h b/target/arm/cpu-models.h new file mode 100644 index 0000000000..144778744e --- /dev/null +++ b/target/arm/cpu-models.h @@ -0,0 +1,36 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +#ifndef ARM_CPU_MODELS_H +#define ARM_CPU_MODELS_H + +#include "qapi/error.h" +#include "qom/object.h" + +typedef enum ArmModelPropType { + ARM_MODEL_PROP_BOOL, + ARM_MODEL_PROP_NUM, +} ArmModelPropType; + +typedef struct ArmModelPropValue { + const char *name; + ArmModelPropType type; + union { + bool b; + uint64_t num; + } u; +} ArmModelPropValue; + +typedef struct ArmNamedCpuModel { + const char *name; + const char *parent; + const ArmModelPropValue *props; +} ArmNamedCpuModel; + +void arm_register_named_cpu_models(void); + +const ArmNamedCpuModel *arm_find_model(const char *name); +void arm_apply_model_props(Object *obj, const ArmModelPropValue *props, + Error **errp); +void arm_realize_model_chain(Object *obj, const ArmNamedCpuModel *model, + Error **errp); + +#endif /* ARM_CPU_MODELS_H */ diff --git a/target/arm/meson.build b/target/arm/meson.build index 384d90c530..dd28146c52 100644 --- a/target/arm/meson.build +++ b/target/arm/meson.build @@ -32,6 +32,7 @@ arm_common_system_ss.add(files( 'arm-qmp-cmds.c', 'cpu-idregs.c', )) +arm_system_ss.add(when: 'TARGET_AARCH64', if_true: files('cpu-models.c')) arm_system_ss.add(when: 'CONFIG_KVM', if_true: files('hyp_gdbstub.c', 'kvm= .c')) arm_system_ss.add(when: 'CONFIG_HVF', if_true: files('hyp_gdbstub.c')) =20 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994674; cv=pass; d=zohomail.com; s=zohoarc; b=L7LgkIklUqzeR+UI9VRqYQ5mfnxllNV3eacsK+2kwNNI3AMSSOdj7+RRAGDgKLLRzv0Hh/FZJ+dwDO7EBOkLokrAzyZVsiZPtSW36pDkvJrVayLK5gqdWaA/AVOoEPsDJUidtlOHuN8+8wwyX0bshyjHtPMsIDvPX7eEgFbuYbw= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994674; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=108On4TGifilxBS3dCsewSVEjfked9itg+pM1qjq9x4=; b=f2JH7JxlUHBJwJtlT5Y9g0l8N7GdVwtQWUIAk2q//qWhkTSbaz0qQ5TL67RDn1OPz5n76eZcIhuF+oC0oViZ5KdWYkIk4XXZRaQIcDfimzMdgm1COOTn3BRLfV52rL4Mmcqhp749jJ/AnsD03nqkg/xZiNg0UUBWYW665NpsVBo= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17899946744769.983178577929834; Mon, 21 Sep 2026 05:44:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGj-0000oB-4x; Mon, 21 Sep 2026 08:37:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDp-0006xQ-C6; Mon, 21 Sep 2026 08:34:24 -0400 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDl-0002C2-6b; Mon, 21 Sep 2026 08:34:12 -0400 Received: from pps.filterd (m0127841.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAflUG774316; Mon, 21 Sep 2026 05:33:39 -0700 Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11021115.outbound.protection.outlook.com [52.101.57.115]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4gsqx831cb-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:39 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:29 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:29 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=108On4TGifilxBS3dCsewSVEjfked9itg+pM1qjq9 x4=; b=TcmxkqFawSrY2AoQ8iLrQPgPGNsOcG81AHMwWCbqQ6PVWUW0xkoeZv7V/ Z4WtkIUQJYLBUZcJn8d1dqgVJhkPtynBi/2qBjyu0dn2lwYX6pGNoJu5GPcbkUI3 RR4IwPQuUFzZeXQzF/c7mJrx6San7JqU/+FLCaJJSd4B6qIdwg52Qbk7kXTacicl fZf9aZ5Cf1coiA5tpOg73yLzJc4JkemwdKCO6nGHYeSmkQ2E5rxRdiSbtsY99VJw 4cjyrPVp7blPQpuh74oZe124tLweXcDKDXY2H1iy9858KBtgoDHg0Lh2Vw4QQLrQ /OjrXAMDsLDKK7lXLiQ9Q3rP0uvVw== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=astshh8HayoWV6qkGj+Iufi2V3fa4cRXeg0vlCfNx+UvZqeb695gH+L/2GzrQEaelYmC/B7DVVVJQuJmZy0I19vkMiyfV0bq7IWQby3IT01zymG1aVw6HFJ2te/2V2ZR6GiYBOWIcpsVPotnRI27+TLNQpOW/RKqZdb0F6fnMdrRITxfrDP/a06rzGcVtpPQcsQtbdLiQ8M2E5Hghk6Gtt9mZvaJrKWGQ4K7vRAfRIKvrnfH5hLtHvn4PP+JtECRvvnaxb2EaYJvM8l/h5To7Is2TaPMcpDrEMpH2lcMIZziG8GznbNT81Iyvmvqhi3ptQ4SvjREnfWVTJqt7JfPtg== 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=108On4TGifilxBS3dCsewSVEjfked9itg+pM1qjq9x4=; b=U7Pws5Qfk3/HXgSuG/tc41MRT+0zNvAqO+MZjb9u2EVl/3LqNgHxpAUiB22+TxDhKG+mJSehH/CnS14ham+SKjlqi14DfJhCL0AZI67pbfdlHCPxyWISvDCfMYQ5iZCI810Ns6tTJMC9bh1N4+lfEd4mUhRCvXOK5iNpFWYWrIBlxUYR4PfgtLmhXdIqv3R2DsQIaSxzH+EEVeE9jhVePZSKHxONOvWnZAbADThxuyBNK1Q+2VDeiqOppZ8zpplJuYpmq8+YoctBnCyZdBtX6/uukGgbfcIA8mbTno+gOCXNZamOh3mlvm+4knmXgzD4wSJD8WHOZi3UYvRItatbeg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=108On4TGifilxBS3dCsewSVEjfked9itg+pM1qjq9x4=; b=SVdKgjXgY/hEMUGJpi4WiMV/bs4qyS6kP+DEHCA/hqbBBYPqWSiFcIDb2W3LYoIx0K0N0PAwU3tL1BXMtCLZQdb645IqewIQ4uBz74RF0NW2CTM6icz0iitQTxRvoZ1HWsjT9sIbYU/JWoRSMlRr0xPm0zp1JhgQvARr6Qq9zCknsswiWLr8T4uSHUzktYGHmG8qFBnkoLp10rooexgI9y6znDHijkB5Ll5lzs7LJ+5f8HCV+IIpzWV2hm/11GiBxv4IN5XANKec/Fjd1E+5IBG6MUZCqlk++K1TZ8/PBRGaDVyPsWY0qYQMuESLYHn4oqz/Id0Y3FXF7CKOJeaWwA== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 10/25] target/arm: fix SVE and PAuth finalize for named CPU models Date: Mon, 21 Sep 2026 12:32:34 +0000 Message-ID: <20260921123249.1708067-11-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: 373c99d7-67d1-4a54-a4b1-08df17dc8a75 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|3023799007|56012099006|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: z5QVmbqorKrb0abHvUr3RARvsOblf98n2RAURd7MxvH9MJTVSkBjFiGdfY7W0AZ2IKcMws1BQnWNKFiFYKQ01Snc2+H+TwFJdY1OxWXba+qqqN9oF9Zqrhg1TC3XwTXtDRe/lgjY6LAGM0esu9w+ZTi0/UIpIAmbfZHn4zufd5sa6upjFIcQMGZOE+jxRffP2hgJUI0bk5/NuN600Y+f0+WZkSbJCsP421yTYt12jDCGzN7zjNylXRgMts+mA3IsEex9D3WEAm8s7si6gqd1GIRzp8+H7UKHPu1485+vf3Z+ProPx22PHmyOpBq8zHCbTzcKAwEvLRYRY9h/XKYPE2WVmZWSIuDUNNnqHCcqYRaBlvxJ4fi3ZM3Yz4pRFcU7pHgR/4dQMF2O5HBgmIjo9LPODuZRqt+3jKdeNGqCMUqOnX4VPFd6TlFaPp5TVdiQMvzy7xgDEIkBaPGTxNFLWXS9JGeEBwMzcC9g0zYtcZavUzPtUK+3pzp9m4LEMzRb4Btt3WN/CyyIMxHl7kT4vM68CgHpO1KW3n704vbXSKMsSE4FHUD+mURC5PasMM3/RATibFnuBFzCDgk77C/Dk15269yqex0PMEARvbicSKWvxmQCbYJrH7JUSnK4ldebg7flSDzFWDSl5ft5nfiUDsX5l9LbHS9ATe8JccOvGJs= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(3023799007)(56012099006)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?fCOx2aYADpbB3qEnWYkLtUxxV+Ph1ItUy6/Pl4YQUjxjYl/z33o7agHWQ+QC?= =?us-ascii?Q?iwypPhP6+NsbJozNCZYVkXBpIatBnd/F6Gj6YjiFXjGf/TIv2L4FIqAE1bp/?= =?us-ascii?Q?ofs2Pblbg1oNN31BgQ05gaxqBcOdRM9Oz7PrHViTC9svYgLeDb1pczB2GHwW?= =?us-ascii?Q?praqB6AEev26C/3/CeuueGdCdFGPhe592krDi8W62p43/aAXoA7YCtotag5f?= =?us-ascii?Q?/H9hypg9N+vGneG1SFnwnY//LdwpMzJbkbD2L0/fyg6+W15+vkAlSqLfMWxm?= =?us-ascii?Q?Mwi/vYd1D8Pk1wavD0S5IL0An13zJMrOapMdlymzMteHqIoE/x48y3vUrS8S?= =?us-ascii?Q?KlRzMM6J6RSms8wmYje3m6asbjHZrdj1yNZmejCih/escW0iCB7RP573pu45?= =?us-ascii?Q?QLNSWfHptoMfNxvR60XC6qU/X3cXWH9H/G527OuRoda9makrwMGgnFPpmKpN?= =?us-ascii?Q?LOgWuz+ztjG0oeP9hKxoAbXSrSzx+ZtEI6wLdODV8MW8k8YYKJJMh/fC/HRe?= =?us-ascii?Q?NdMzMoQGeEiRlzvhN4EXskUCn9vzPbXSDelMzTrAOuS8ywOJuuZPflYqwZBQ?= =?us-ascii?Q?yblLE2mkjaQkRFqNunb1CawiFgYKm45cCEOFWz3eAlY1qGC0ym347Y/3EaNg?= =?us-ascii?Q?EERC/RId50UR3g1P8cfs5AVQWnuCc1Dte5NFKrCReDYOFyk2ke2CAYE0GMSR?= =?us-ascii?Q?faVNrRYKLXFNSQoXecqGf3OQFxdkEHmv+BqoQzC+6mu8qfV3Ybhpy69b2ObG?= =?us-ascii?Q?i78BFbavGzV6CNWmpLxweomkQ0gA06PzM4jz7UR+iG35DMOAbKCqEjnMcyIo?= =?us-ascii?Q?M5DWKXEYj1hspjdNQO6mIDfT0j15olTF8nxvKwf0MQf6D+zADbikbyaXt4MJ?= =?us-ascii?Q?AoyWWRrEuhRVMHn8mtBz4yPQQFJL7aDN/NdArHHqrlyITolBEqJbUcf1Jj/y?= =?us-ascii?Q?NXWE9hQeMdGTMzHraV1kRhXbdJNgMsImlbJ+3z2At7uvE4/GPpm9bVAk8PsS?= =?us-ascii?Q?/qJ0j5rQeix6Bk8RMsJjejZu0XYVoFwL4XCbP2TpBqpi555Wg1b3o2XpLmFv?= =?us-ascii?Q?SeQZgvUXOA8vsd00Esn2D8zx8lyBLrTbMucXyuOoRIOvL2qPeW4iSbx6PXwQ?= =?us-ascii?Q?Qh3koQehpMCMoQcsF1ILWle3/SCppwZsIG2X3Ja35hTlKSNLGjdb04tud5kl?= =?us-ascii?Q?LyrWXvDmn6P9Wf/jhkXeIBBtQY7DPxUitE/uE3cLktZzMeXAGNYll07jwkrs?= =?us-ascii?Q?2x9kv2ouucQfFrd1Pr+p4dxLtHCHcwNZCkk8hRRZmbTFoP90J46n9f5PxBvc?= =?us-ascii?Q?agakugol8dT98qxtzlhapqfczLTS6pRXuHuCXCs3OGBWlVasUHzC3cFDCwsZ?= =?us-ascii?Q?gDU1KIXc+i+DhKHyIV45MMXm3HQWTRbEzi/D5ghTgEmrCQdKKYgcRVOWumxx?= =?us-ascii?Q?IeeLrluAxdP9OeYbbcDMxlKSVOfTK2BfzfxEiF0CsvUXPDZOrYhCy9FpD5ER?= =?us-ascii?Q?sBnVVIQIgOdNFtlhPyqHnImylnTDOL05S5CWffW5L1P6g/oKGDpEth6qp+9p?= =?us-ascii?Q?Epecvv1JkWDNFicA4hPq7QdjncGDiPxnJMMNHxo8wK7oRFfeu6wVadoiQAQl?= =?us-ascii?Q?LKSG2K8wpO92yVsjrJyoSFTgsqBdiNx428E6cUrStb2ZSDz1iLVpkUk8OObp?= =?us-ascii?Q?s/f+NmpoJSj+dGsXtaDASlsoYcazJg5GbOdwI0u5at1KKt06Upy6kxu1NB9z?= =?us-ascii?Q?+qJmZTbvVr3XHOaJbX86ZAkYxbeBMU0=3D?= X-Exchange-RoutingPolicyChecked: Evwqzkye85vo1c05aUxPTQcVOuXTIjjqn8+/2jiu7/0TtcJSC2iDATUxMTWX9Em+YNHFJzVdoE16oOsR7rS6P97D3Db/rCKFS17F9RVR+ScJ1JKLejLQtQntd23mOmtvbKm8Fr1WWKtJr/YTirRqD3R58MRHGCU2B3f6D6GraoKiSEIVffoVDloWa5UYrvJp3Zt5r+QTo4CgeYTKDnwqq2UGY2pnVeAQmnFiDZYXCwJ+/hPA169Pys98DNYh62fIWSf7ER3hjL7lUMfa1+D5ud+PuBbz6iW1p5J/9x8LdNiB1H/KvmBS9yjcai9fCf+jIPVmQWHd2LDt0AHH+EAA6Q== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 373c99d7-67d1-4a54-a4b1-08df17dc8a75 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:29.6875 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: s0qEC0gP2se7Ogc0LadG34iN3ESTmTLTpOM13TXWlFpM0WaPGmjrwYNOYMZV4hrkGwu3QxfMaXSR0Q8oD9ygZiWU2OvA3vpAkIvSWcYat40= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=KInPn1Fo c=1 sm=1 tr=0 ts=6ab12423 cx=c_pps a=jYOLmuRG9FCngycrw98U6Q==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=jxMXjlTPpCISP5mWtjnE:22 a=64Cc0HZtAAAA:8 a=eaKVySaVM5pmrxNhKe0A:9 X-Proofpoint-ORIG-GUID: fBIuCFV_Vm5TyrTQ9oGXvtmsrEWJovkQ X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX0mONpLKAzx9c 6MmvlSSY3ptpHGZRE9cD4pUWcciQLfrRR83HJUgnNb3VQRH/1neJNg0u/Z5O9s9FDAtcKSZIbuX 5PuarHcoX4w8c49vuBineI9QrfUZ6dg= X-Proofpoint-GUID: fBIuCFV_Vm5TyrTQ9oGXvtmsrEWJovkQ X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX4Y2yjCO7jt8G PR5seMad1ytNp4ORcv/3pkPU28N+zS69LlLVisduIzYd2fySBIE/bxSM0lonbdB5ofe6YKPrRrR 7s3dDX1k3O/Y2739R/sk4Z2gKIo+gf94/uOWQq+KZmQLzvsjVfkkXmAIYCyILWxu2E/lrsfqkZW NiojwRfnFQubDtIfCaW4WYxcKYmw3HFt6TzuUKB77Ct+lcLIkdCX4wKNuIMMawU95SVTQ1b7Jhk F82AOImQZiPFrV5Vi00FEG7COYTDIsBaes4hpNiZKBK/dIAJHXAXxfCkMzI+BttDz2kxAoXd3Qv V1zuxZQEVjPsQKZ+Mo16M3wp7rcqB5SI2mogrdJl6Zp7hfxJc0wD3134ymTg+drsC/9P/xezq+F GR5Xi3nOs1iicjyhz8m+cFg6smJ8ytWW4a8l+jsSPCNJ2AM7Ze07ZcODA1knwPYGsBCwTo0wPfV cqcU/cdC4qm9FRDGH0g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.155.12; envelope-from=khushit.shah@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994675281158500 Content-Type: text/plain; charset="utf-8" As named CPU models define their feature set explicitly, their SVE vector lengths and PAuth fields must not be derived from the host. When SVE is enabled without an sve setting, require the named model to specify its supported vector lengths rather than inheriting them from the host. Named models set PAuth ID register fields directly through SYSREG_ properties. Preserve these values in PAuth finalization. Signed-off-by: Khushit Shah --- target/arm/cpu64.c | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index 7487b48cc9..a0114b0fa2 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -38,6 +38,7 @@ #include "internals.h" #include "cpu-features.h" #include "cpu-idregs.h" +#include "cpu-models.h" #include "trace.h" =20 /* convert between _IDX and SYS_ */ @@ -134,6 +135,21 @@ void aarch64_cpu_sve_finalize(ARMCPU *cpu, Error **err= p) return; } =20 +#ifndef CONFIG_USER_ONLY + /* + * If SVE is enabled but no vector lengths are specified, we must = not + * default to the host's supported lengths for named CPU models. + */ + { + ARMCPUClass *acc =3D ARM_CPU_GET_CLASS(cpu); + if (acc->info && arm_find_model(acc->info->name)) { + error_setg(errp, + "Named CPU models with SVE must set vector leng= ths"); + return; + } + } +#endif + if (kvm_enabled()) { /* Disabling a supported length disables all larger lengths. */ tmp =3D vq_init & vq_supported; @@ -556,6 +572,23 @@ void aarch64_cpu_pauth_finalize(ARMCPU *cpu, Error **e= rrp) ARMISARegisters *isar =3D &cpu->isar; uint64_t isar1, isar2; =20 +#ifndef CONFIG_USER_ONLY + /* + * For named CPU models the model props write the authoritative + * APA/API/APA3/GPA/GPI/GPA3 values directly into cpu->isar through + * SYSREG_ properties, so do not override them here. Since other code + * relies on cpu->prop_pauth, mirror the resulting pauth state into + * cpu->prop_pauth. + */ + { + ARMCPUClass *acc =3D ARM_CPU_GET_CLASS(cpu); + if (acc->info && arm_find_model(acc->info->name)) { + cpu->prop_pauth =3D cpu_isar_feature(aa64_pauth, cpu); + return; + } + } +#endif + /* * These properties enable or disable Pauth as a whole, or change * the pauth algorithm, but do not change the set of features that --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994373; cv=pass; d=zohomail.com; s=zohoarc; b=i7sZc4KMPNUTphmaJumZTj/sP2NZnuzmy3h7oJiz1I4+kMO60Fnx/ORxHymBDC5SBSQdc3buywuAKS5VSwxv59m5IP82DZhygIwwV42jf7Y3NCZ6x+ChiKudSFY4SWQG5nppzNpPaE/TUoRZ5/JbKa03pS8qNiD/Aec9dNbNbmE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994373; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=pr81Oh6zOc7AJNkrhtUWdfxnIJ6AYkrUs51BxVtNIfE=; b=UxD5MSp8RMeRtD0JLYnYdxFTBY5tGcnM85lefgJEvUWt2kJwDv3ix3P4XsRVNsahKhEDGwDWPFIE6DKjbXhXn9ARziopsdUhFPRpk8wkxCgOEQ+H5ltpNilHzrKv6DfylYO8v8hxLKnPlntun0bTNODZCevTmJr4ch5knefn9ZQ= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994373708186.0455267742865; Mon, 21 Sep 2026 05:39:33 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGf-0000Y8-AS; Mon, 21 Sep 2026 08:37:09 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDp-0006xS-Dc; Mon, 21 Sep 2026 08:34:24 -0400 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDl-0002C0-6g; Mon, 21 Sep 2026 08:34:12 -0400 Received: from pps.filterd (m0127841.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAflUH774316; Mon, 21 Sep 2026 05:33:40 -0700 Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11021115.outbound.protection.outlook.com [52.101.57.115]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4gsqx831cb-4 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:40 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:30 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:30 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=pr81Oh6zOc7AJNkrhtUWdfxnIJ6AYkrUs51BxVtNI fE=; b=QVbefnEyAmOO2fAWz8IGFW06v93EQ7TjLY2NYMsnu0xyA7P5An4abTp5h AzLNFea+S3x+0cnKgkPtqUG5deR3WQELvTpZo5AuhGeK4J2ZowiBp0/dVUY623iF Y9u587peU3EVRCGM1hzuHpKazwhALdu1j43vLhdk+nulRTZ7yiI44LosLNktNd7e CkGEcoO5y+JkBJ5VWhDySx1hFP0j0TMr+8zqZXJ/pSIZR59CMYvZt3DHs2yrhXrf 2IwsL91i/Cxhh3DK2g79uH6vL6tDtRTn8izeQsZZ1uvmGYkiumlMxjpoDbiGaHmd rU4iQi1aghSTEjIqQSC1mq4mCjmPw== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gkeHeXOCsjrBbR+MyYoX/nAUM4rVV0mtAHaapPHgubA0b5qi3ZxgWthQNfOrccTycp/PJShzf6eRaMCX9DhGkRun2V8mm3quAIvuhol+LK5cOvMb/zCUiAItT10GiR6cMi3vyynqtVmbH2qWmzx7lNMT0Y36UVwD9/+m1ATXxfgDBDqoCPNwW+4TxVl1FLDrviuey82cVCuXo0Ja8va1QhUbux/yfEVD+O/c6KG80zwvSDqh7VKkMRlmiTOcUoP7A/sf4sZKporpTDi8ofmD05Z5eLK5QJsEESqPgCBi/lS1Msn3/oDdCNVOAHlElftfIyGVqDAzQ80rAdKspOKLnw== 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=pr81Oh6zOc7AJNkrhtUWdfxnIJ6AYkrUs51BxVtNIfE=; b=NATj1ISKulwf3bChIwPzt7aQOSyo28B5FxGTjB4SRDdp6VgME4w8iF8FDRAh+D+zRPGkbh43L3staecZSmQXvKstbq8Sv4fvUG3ElAye0RDCruHlQHAUrlF3jGdydvw0zEwPwF1NRfAb6plHIsWso4yyhNOpxALJ+uF8UGqgW8XLGejfyAGuPTK0Z5J9UnaNz4//YBjJLx+uX8Y5anScGhfFHobgTM6P+vJk1QqF8AuC0B1yi9Yv88DkY0DAcQxnWSTlnNbATdR3Td7cfFfuplRzJmBA6/7qRNu4/LrzAGU7jHF3vqv/kevB2M8R9ZK/vTIGdUWToytGDE8NJGJVxw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=pr81Oh6zOc7AJNkrhtUWdfxnIJ6AYkrUs51BxVtNIfE=; b=v8dpAbRmBzf+6fxTwcAIe3tP5EqkEAgTOM9C5bogQPY0Cqz/SMmhPEnnMbNH75dqyY959OiQKO9QoQiVePauXWwMtM/VbviXQLsx2AvTstm17+ix3RsN9ttOiqvSoOqc+x4/w6Fwov1q6/6x+2T8UCjH104YoaPKopIItJCSfocI7EbrtBafZnIoH5vp1Nt6lqU25hOygClna7eTeJpZ2BhHofEy9CTQxnlHE8iwSMPFEalOHTc9fjTN3KtcgRyLRiktls0XGT1gr6qkhZqMIGvm3AefWXMHeG18EU/wQzZqqTHIBJ7xMJ/v0RtrMBhq2nXPRi8upJS5noLVTOQxtA== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 11/25] target/arm: disable PMU support for named CPU models Date: Mon, 21 Sep 2026 12:32:35 +0000 Message-ID: <20260921123249.1708067-12-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: afd0e491-6182-4c4e-6b19-08df17dc8b1d x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|56012099006|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: D6jP0kXtb/7e4nDi/VEzPa70/N+j5/0prNPbxP4yzk/3e0/MbDIl7DewnLdvD4vPAPOp4lmQuGpcE8k17IZemflr8JFVxTpkr8LrthpFqeVy4Ck/yzBD/xGZ2KU/93b4Hn5pM46R1FywsKlHad/yCLsYTjJz9ukRvnKdJOgfA1TYVdmPgs/dA6MQTjh2GamXzGHWs5U5jRmJcBRmei6gZ9RBw5m3yfjWrEYmJEUihTJhq2WbFPmN2+Xq3Krf9J/dCFlO1OTfZE38QQYHLA/fKoGUf1jFOlFIsLjh71kKn4n2tz2vldr0+ClG2ULvTkqRuyF+LJ1taxJa66JYi/KqLjlOXJHPYT5SLSzD/GHIVuJ+NiIvC4amrjobhNUglzbGw6OutIT724l1qrV+VOGMyPT+pZEkVE50g3HVPfcwV3E2TjVxpKMsA0YkfwhpKi66noJLafM/VuJaeB3+opuYBnHOT9R5KnH81DphdXdjD9eZPNw78+fOCUfWZZv9nolguG5DjNz73k/kYfSffLe0o49F1DvG3o0sZScR4bxy7uTNbh9Fn1vYbjRVjSkMGXAO+2UiuXSet4KY1KXRJKC5TltCCQJQip8Xm4THBqhhuM3pWxNvwP3kvAhEZEPFmQVJHct1HAMkMKu002Dga2IfZQvDS1ywAjDz03SqqA6MTc0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(56012099006)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3Q7mzo1VOejr2ATrpv6UfGaxvV3E/NBhriwAJREGavxDwkVtR/TviQXr3fBn?= =?us-ascii?Q?YqwGeuM3CpmGKCZfsGtSCzlG8dizdOAfPvl9eLmBbqzMRsv4foOII8y0wOhT?= =?us-ascii?Q?0EsVb4HnQwMLt1K+MMiAgpQR68sOxPEhLxnWZo2Nt1xb2seMPT05Jk3U0QT9?= =?us-ascii?Q?8B9CCxnD2IDUj+TZilM5MDBouxQ6sY3j5DMVyi1dIZGzA4QdkIhShsai1BAF?= =?us-ascii?Q?Qsm1aEmkta5HtmeKT4Ho+NNjTW0lmxzYg3uIxoJ+jEuJ/+J4B5mZRYiARJHM?= =?us-ascii?Q?kQqxwH3mE4EKeoQGEFgRGACJ01NHgRyXtOzLareyaIdOJFdgJfRg13QMviOK?= =?us-ascii?Q?tvOygMD7SyIwrrcwfjrWwKeTIrAJPeVLCFNfd5FRmahEZZCD5ouEdqz7exMV?= =?us-ascii?Q?fn03wEuKZZGykxEhT64uw98tcbqyw9dvTD5Or45bBiZAW8uWctbXHsedNtjl?= =?us-ascii?Q?33Tu5/UO08rXBcEPF9KakOn5jD5CIIoATPGjB1oojk0eSKVjthWFABxJGi7/?= =?us-ascii?Q?j7afsBhBBKjZzBhzkVuoL9NXoFpesz15jqbF2mTVDirAn3zx1Ovc7XpdsbyX?= =?us-ascii?Q?qfcOpGo3VrpV1rKeT0EWEvDFMWDoRPhQAGLcgaEM0g0/41ivNYNWS1GGwnvO?= =?us-ascii?Q?UIXoTsMpdUMLw/G6TDW4ZSwjrkSAkLSibmCC/BgdxrCjUul6ulRYdzXqI7S+?= =?us-ascii?Q?TVuZ7Xx2iidFs8ywvNWL8WuZx7ZAWIOu7IR3x0hpTkKlYQjT1Q5h5a+OmELV?= =?us-ascii?Q?KTD5ZUzqmY6q73K9qmq8QVxJh9NrfwKQFZzo1klPdqaVMJ+LvKZfgRdTuNTZ?= =?us-ascii?Q?KPfCwY1IgI57IeutaWy5VUWtTpkng7fBggJ0zvQmv8eL/FbfBVG6M0XC+AFy?= =?us-ascii?Q?+GUueA6JkEBTWcV3N/jgtNwjlE8L+Ttw2EO8efG3eAN/izkwiq3DpLmGZjlj?= =?us-ascii?Q?XSqz0Cg7IyRT4Lahz1nCifA9IcVmUCIPK2UlSwAmYLpiBF+hX3gdF4xi2Z/B?= =?us-ascii?Q?f/hmLgz7h+6p0NVH+VsFIeLABSW2ZLnArlIeL1jk7VNuq9hhckobwqpYJxxz?= =?us-ascii?Q?/XgjXGX57BKme6qkM1XCSCR7E9HPiv4QwYyNhbRnkLQB5OD8RZsMkQF/Q8CB?= =?us-ascii?Q?FpbazkDEf1u09o3Z43hhADGTiMYGF782DpQ1qBW1eEOCMvkbzqP0jh94cxyO?= =?us-ascii?Q?NZKy1XJd3jKjPHyTCvRJRtMv6ERzodcvFUIq39f4stIaV0YIaWCrE0A2//H8?= =?us-ascii?Q?9ynw+HFif7/lpuQFpv/PLmZYM9eWZC9oLOL4LrQ7bhT7fKsivA5evkjuDVFp?= =?us-ascii?Q?s81JZDncJ3gEBJJaxUtclPeDKKytYTJzhGMeAvOaTRVIHAPXudR9yjpPssZ2?= =?us-ascii?Q?Tdlwf/X9FShcAPYXvwxGKVIiWXISCoBEGiAQileKnIakBN618eWGT+PrZ8vm?= =?us-ascii?Q?4ihtNzCRds583AovfpaI4whf1iRobKCjNrOVn0q1A8/Csl5Lj0b2kIBuK4f8?= =?us-ascii?Q?+87Mc2R5q+n7pfxQknKeOHtouY6qYUbnYMWup52Tt/969nEAXAtAxvxHnMs9?= =?us-ascii?Q?VifOPGTD7esUhdB5Bavo4uLBqIaiTW8EpD0IQ0V6UrqqHWBBD4VXRiTjoT3i?= =?us-ascii?Q?3V1U/Xal0C6JHZoAYmpRCe8A6MtRCsZO1aAtGTwMDUnsDcNhTHFIRw5e+gKA?= =?us-ascii?Q?Z93S1u0KNp9jtaQXpLUEKa1cyy3wbJOcOzwSem+8h/d6Jm9er1NXwjiPNUsQ?= =?us-ascii?Q?pTkCe3K84HxHm1TMK0TRiWlJ47y2Fj8=3D?= X-Exchange-RoutingPolicyChecked: NgG8sQnZnAbgQ6AkKhHkk6Hbc+Ct05dEF35cbe9uIOwWjwTp+vqDoOF0XPNlxTot/EL3/7MGvJybsZGZ6brxfRGne3lZ1EH+F0g6vzAAqY6CCd/jgT9TrA3MGuI0+RwQF4kOoLhLQD2y8G4VmtPyBlqOoY6+wG95v27p4rT3PehwqC/THvdu4v0UJZuoKlaoI3wDYs/6Nq8PigZaFS0hRQQzBQBGe4/gzGNEBV8cD+e4bLkLV1eO3SntUW8Zkn+rEPJBaj9rANYux4OutmTBC7u1u1P9CpDHsfXr+oxiCNqhXkPJwZ6vkspkdQxeX9NVQ1mqUoxlf7qJnVscFLT4EQ== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: afd0e491-6182-4c4e-6b19-08df17dc8b1d X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:30.5441 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ew8VNJdlLl62qlIMcFXwkWuKpAxTm+uXVfSpFkCCDfV7ZIVrhJvTYXimW1CSA8i7MMPPIQ7hG7mEkfi0e4l/FK78e6PZ7CQXzdol15oQETc= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=KInPn1Fo c=1 sm=1 tr=0 ts=6ab12424 cx=c_pps a=jYOLmuRG9FCngycrw98U6Q==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=jxMXjlTPpCISP5mWtjnE:22 a=64Cc0HZtAAAA:8 a=qDXpWOp4m997Zg2teoIA:9 X-Proofpoint-ORIG-GUID: zx3YAXciy01Ng93oubWafOhhI1GTI9-h X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX953Nie+i29Wk 14suM4ne0F8cfmWNey96scE9M6ji+ARsL4CsNMRuN8KS5ZuvE/yVo5PO0MoTZvv5VzPwUUNfcHE 9GSuhExDW2cnwtKSq5LoY9VJCe2lTdM= X-Proofpoint-GUID: zx3YAXciy01Ng93oubWafOhhI1GTI9-h X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX3aWj+jDiWbs1 F+zQZV8QFIfcABYCPUo2P+XX46EOc0j0V5oeGcblJVdeSSwx8vXu1zVJa0bcOmvgk629M5qNMZB 6dGqgGvKPj8L8srPUkIPN09bEgDrnCiTWd+fi4f+NgyBaZ0BF6wbm6LGnZ8OpjVIvW7Rdhf7j+z YIIDKAZVCHUruW3/KJhjy/7Kbd43s2a6mpGVKBml0pFyzISlJB2P9BwpdTKUEetTMynACZQzddV AjKmujuYhtkoBKuf2FUFj0X4pF1EjSgxEccNdFYtvKntetgZLZu9Z3bDgytfZuPNvtetowPNE4B IQ4KvtJzVTgwDlJUs9yC7RjVE5D8hUvuVzVOfeivrhnBcasCD933LOgpQC2i8RK/tADhcOzgbRN DhIDR/AcCE9DsXd2DboQEEjPMhq3AC5cARgQITeS7ALSOQzNvFos5pTAiEBdu3ss4+RM22RQiNC efPX9trPiIkwMz/wLnQ== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.155.12; envelope-from=khushit.shah@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994375223158500 Content-Type: text/plain; charset="utf-8" Under KVM, the guest PMU is backed by the host PMU (event set, PMCR.N, and PMCEID), which may not be portable across heterogeneous hosts. Disable PMU support for named CPU models by clearing ARM_FEATURE_PMU in the named-model init path so arm_cpu_post_init() does not create the "pmu" property. Signed-off-by: Khushit Shah --- target/arm/cpu-models.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/target/arm/cpu-models.c b/target/arm/cpu-models.c index fed3197186..153ee10ae6 100644 --- a/target/arm/cpu-models.c +++ b/target/arm/cpu-models.c @@ -159,6 +159,10 @@ static void arm_named_cpu_initfn(Object *obj) /* 1.b Properly set RES1 fields. */ reset_res1_fields(cpu); =20 + /* Disable PMU for named CPU models. */ + unset_feature(&cpu->env, ARM_FEATURE_PMU); + cpu->has_pmu =3D false; + /* 2. Add sveNNNN and SYSREG_ properties */ aarch64_add_sve_properties(obj); aarch64_add_idregs_properties(obj); --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994368; cv=pass; d=zohomail.com; s=zohoarc; b=AqVgDwXrT3zqYtui4NRBLN1B66DRQeu3UnfBAFXOZB8+tY2pqE8tYOLHlq/KVJm3AwwRVsDzSVqDD3Eh3s1w9ezAezVSmQlxfOG5OM1+jKdLTQ9GWbjcLRW7cLVOpdjfoMJdsmX5lXs5CXYac/E+uOOeuv0OimLTic87QqFfqCQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994368; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=BOEaJ0taXIUpX/OSmfh8IMUTqrnzuX6hNC4uDiQb4QI=; b=D/n1aFfDUAeH0bqqBIOV4cgRZ22QCmtfKCMvngP2pxuyca3b3U8XHBgD5ur2doKjr7WE/J+QMQfYhBBI27pG2hflSE7uPyoVZAC32pn+zs4z+7L2gXYa8ttAVbhsYbOvrT1Lg0voR5EWYEnHDP/8WZEdmn8UlYEgdsui59GepKg= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994368653893.3362353210903; Mon, 21 Sep 2026 05:39:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGc-0000Ki-P4; Mon, 21 Sep 2026 08:37:06 -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 1x8dDt-0006yS-Ds; Mon, 21 Sep 2026 08:34:32 -0400 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDp-0002Cd-F5; Mon, 21 Sep 2026 08:34:17 -0400 Received: from pps.filterd (m0127841.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAflUI774316; Mon, 21 Sep 2026 05:33:41 -0700 Received: from bn8pr05cu002.outbound.protection.outlook.com (mail-eastus2azon11021115.outbound.protection.outlook.com [52.101.57.115]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4gsqx831cb-5 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:40 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:31 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:31 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=BOEaJ0taXIUpX/OSmfh8IMUTqrnzuX6hNC4uDiQb4 QI=; b=oM/DQ3aRLlmHFbkg+Fh0/j0NbZZoPiFCk5cEZSADmt3lihLomdJB1jx9D 8Myej143Xnm7NlD0sXxGsFHCPr+xIHrTbH1wEHoVlVBpDmEw5nfHzx9HKDk7dwZ3 suvXRmGt7uPbCL09mDTzkfzXo0x8mdtI2UULN1icV2Fe070GkHYCJilYPsSzHKdu aiVEuZpQkIz+yNbEMiJI8djQKEA0WONWnU2gZy3jC68yq23BgWmzf1DLq6X3xVve h91UzShdPgP98UhyE3Zs52ebFR7O4ld9IZN9CCWbr0BMkUajBEQuEDc26Vo5pXCD KaHaambffN6ECQ8ZsvNIcGFkiiXKA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=doDV6RqUcHJYYuboNaldMFzqWez5du6SUM4Vo+ZL22li2vicfengiNfO6nvPZ6hTmDyDNnDQ+YPUUd9y4KaBiDCCh95HICkKRVD0BW82ps+lnaAum/nD3vMo96zfhMFitI4r9RiPqrZjFRLmFBxkQKxcA4n7jfNZxsuwBLqLEpth3JSWV9qFQy1v9HP7JBiwFoyZ/LYuElgFwOlYWC7BeYc4fyl//ob2G9Tke/ZFIzBknrye5hwxwoa8bOsAsxALnBW3uwKQN0UKKOJVgHuWuv7HjDcHd+JKgjvJgtZ9PCg+nagNDP52DWFJm9XjZHZgMeu7Opb4IBtwhx3nh4N9dg== 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=BOEaJ0taXIUpX/OSmfh8IMUTqrnzuX6hNC4uDiQb4QI=; b=yKH0tgVqqUTcFMhU5jr/xKztogERKWaDKwRcPk7/yDU52phW6CyNBJ6Jevzu6lSndG7aPU/DU/KPfjmckl3TeV+e2A1pqhdJMSrMXcty2lmhmAnWbeJCAezp2CBJijsbmR5wkHrvkSbERApOFXGdQe6GN9MumH9jGAan9Pb12i8CuCGcBugahJLu3+4JiKGxgMZGmG3O0xmslTumP5L+BuFiaXZdum6Ca81fwNbWCAqZGmBb2nSiCsBNPDcDxRfuAppM2+WKzK1ANGxGH18s5cVGsfSMhf1p3Doz576yPvxLbPa6Re/XvzbWFqd8annCnBXzjqptq4bjK5pznH3nTw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BOEaJ0taXIUpX/OSmfh8IMUTqrnzuX6hNC4uDiQb4QI=; b=kYgQjDqDL6w2VUEMXLTFjcLjnPpooeYXYdE+7F7KkSVW17xmNj4qqlHDoWdI3+VXaqe1HUeajTSFU3Z8PeGzra1sB0g+fApcal55DpeVZDYdl3OlwE1nHPp1HPCBbzZ+h1Z7MPSnBxvvQc6PFfHQUvAHUgXrUeQ2Ny8O4jsJCImOg3YNeXVkytFnulQVk8oecypsS+MM3sQlEittxq1AwLb40zC5lQ9kGawabZ+qIKq49A86g2vT0V1dk1B78yYJSpteM6Km8yKN0vX6DmdxhH7vBcDlYaeeXgMQz3wLWVVgQHbkk+cCr817bYuUDlN/89Nml0HcDeNKR6Y53lk4uA== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 12/25] target/arm: add arm-v9.0-a-v1 named CPU model Date: Mon, 21 Sep 2026 12:32:36 +0000 Message-ID: <20260921123249.1708067-13-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: 7fafe6ea-936b-4ca2-3d4d-08df17dc8b99 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|56012099006|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: yy65hyOrgYYIOnxh3/CTCw7bJod4f1iiT4zn8hAJZjhH6moCP8daQ8bycTmZw9tDZKHgGePzurnj2ZY8h4tk5qYJRbRAQ2ghGWhpTlUxgX6AJXof/FyDiyIVEwHLptHtTzYa3+BoXWGvGblv8d2qPp11yol06vXtW5pu83U3hI/y0SiFOP2zPiMF6+RarHkyBq16/RdjmX1J2NN8iDOYuhmGMLeaEseC3zKVIPdlNGW/inUPAKC7jDyGq0AAo8IOohgGJxJYKn+dvBvTsi1v15Zo2OrypfhLpTCgEUy9JoJxDlvqLY3zw91/EVfn9nPg2m+J6OpOwjr+XIDdKmImU+bpFoWvND4pOfL5TiUA6Sutv0iN4V9dT5DTCy2A38YxbfgWrE4HTfvw132GRRIciVD3zKkU8kKj3zPQHNpBnDb628x3Wz8IMhkarVFmepGKDtwUUNDfxHnjPwA6+6vNVuohV4P7tRX3VFH/UidsxRHFlGDtu9UlaC0S1K3gUR8yMaPDJ+vswM6h8BMRaDjQCtdji2bzpI4jGZ7eLSOS+H6vcVWwk2Ul4csYesFbj7go8uZr+mfqfeGeBhdczwlZYMEoczQLfC3WGCi/isNVPSvqrh/FI1qbUBOp9XcC5ojxmzria1Pxb83654bvEfClyL+Hnv8I2P1eUH9HAmaiNiY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(56012099006)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?K3S+6pIFNzzfWrBm8aSs7wgzJ7oU2Leum6zMfq/8QoEisypx2Lju74Snif0m?= =?us-ascii?Q?utPzHodJKasgDW3YRWPnTFphEyKV5q9br6GPzyxoa9fBUoKkaafvGP9jn/9y?= =?us-ascii?Q?57UyhVVu6RdGir0JrHOk4WX5co19fb00wFw4qlLS8w7qbUXAB6Sq7c5OXomx?= =?us-ascii?Q?XaJKzftoaBDefKFAef91Qs6Z/ZYSxuhzx7fg8d1/trOd0tlGIJvcPRjd3jB+?= =?us-ascii?Q?t03eO3sXyn/Hk2G+hRvnxUuRS9uqOga4fRP0GtnMPwsAf4zLPNugRvzh+vGX?= =?us-ascii?Q?X31rq8QtR2WoxQQO204ecvqd9L/N/uH1UMVW640ta19GBMSLrZCMlKeyyD9+?= =?us-ascii?Q?UaXW7ZG2Hb8TOyx8sjHiJJD7CnEWii1/6MpOiVF7FEuu2iaoaP3oE1GBitNS?= =?us-ascii?Q?Fxs4FHRTRGt/5FtBTNSDzic5gxbtV5ss0etRbHQG/MMU2wV2kv8UVc2lLI16?= =?us-ascii?Q?1sekF5Qa3LBPABxpbRuyOTi7QycGj1uOeskYDUDnZrUb5HxjtH1hoZHKV2A+?= =?us-ascii?Q?okPkCO3rz037CLXLt9RP6ZA3NsSLdcOPy7KwfwAGz2gESoG3O9BkjKcAkFxt?= =?us-ascii?Q?lPQ+WZeMIOuHjSdi/87KnnsR14fXF6B0ItIFrxTbJY2CDnuYpJYLiITfAnGF?= =?us-ascii?Q?0JW8uifPygYWvREiZXrnbn9NV27aukdTw9D/LxEyAyw0aA6mWL3EFa3CfU79?= =?us-ascii?Q?7TjGhBdR/dYjHhA9vSJYBKj3zxn96SZ3XOO6e4RZ6gr4AYZYa9WSVeN+2+s0?= =?us-ascii?Q?1wSnoIdVvxKb4bLAmVe6WKkSv7NswpLiT4rMJexA9nTT4nJHowPzC9HPPNFJ?= =?us-ascii?Q?ptid5VkKCXc3oSLTcDZyOdmqq9y1iNoc3r3GWnw2pBUa3mzfH5FLTiESgple?= =?us-ascii?Q?Np4cVfTQRrtWPlhQcw6hj49BBMXhmbjx7sr7PRVcvdSjX/XWGiZ+xFsz1jK5?= =?us-ascii?Q?/+IwzsIKtdYKRv3lWPqA6TOQ1XctzB71gKcruVsytpuygxM+t9vGkJsnYsxq?= =?us-ascii?Q?nKMh14vL0eiNmj4VSdorjjxHbRDfxPzL3dH6tD2zPrFE5EMASPYVoY9QNphf?= =?us-ascii?Q?kxs4uuJcGSNLIr7tBczP3VsuZr2ekB4hGvkmZiyn5p058UmKO5PSPK/6D+ot?= =?us-ascii?Q?yZtdfiy56ROXXgAyjJGp2WCRliNBddC7KpeIkhFLtb7PwfU8ev5DHLIVqmQ8?= =?us-ascii?Q?KGQhKwrxFPbK9DAyBPCBRFNQMjURyqaDOBlifmJpd9OmxDFWb+CHG6KoqJ4s?= =?us-ascii?Q?pa5cg1JbGw3woooZ+bpMYExwxUT+zPiSx68rx4RVh/ruHHXKDZpg5NiyXsAU?= =?us-ascii?Q?q/pxsGAdeTMS6xDxB23gTutwJWkp1xEsiFj8a1XCZOegNKkWQ3Z9iZuFbKM7?= =?us-ascii?Q?R8JLWifHFGcUVrkZM4YTAbkIdz0z8/0o3BxtYV7xcZI0YC9EurpL6hkT8B08?= =?us-ascii?Q?m/wPraQx5PQPqw7fbLqRNvEPOjcJ1bJuwVPMgHqKsCBkKVwCdlIUEAHc4yCD?= =?us-ascii?Q?Qag5pbBOEOJ/TdCNfOtL2uwdEEnAUXb9HlY8kZZEUMOv1sGWnfHELUOnK196?= =?us-ascii?Q?a7JXesO1b3a7VqhhQoenYorRrZ5ErQ0fa0guCcRaUMyIRXpiPTC8givYk7BQ?= =?us-ascii?Q?7OCjcfNq6ZR/ArI/htM57fODNIL1VVDE4SlQIyMYX1rf/ZVGdouVA+JmPEA/?= =?us-ascii?Q?8zXYeMJ6cJqeooibyQ+qdhQPnrTVMsTvUhp/1S5OVLtyX4dczu8gkVnAvIDT?= =?us-ascii?Q?KSB/FF+FfkRfB9hmflRf3JS2I4BLKhU=3D?= X-Exchange-RoutingPolicyChecked: bf0pOsqdSl/7n3KLBFJS8+LuW7Vad64MS+W6GINOeOzJ2yfj0POb/EwvPvjMIA3iQnJQaVUwh5EHZTsiASN99uPVkmiZdzB08+x+FN1Awp6d2/MvMW8Ai+eI1gheIqe0hWsn2TsSQ7bTFgXG8Go544mhD5RK9vEOESrjag18nKlTgMG0Ce5Ci2uhlPcDSNINphjugArKqaqobdffbqjHuiPFQInghrbeCYqbE4G2etMEGkK4qNuW+bRjDazU6hWHVUz357NhGKkNMsYjlSt2Q6TpvIbwvhwP4IwuKz9PFyPNOb/6Qgxi2ZGHk8Gvzsdp1wT0X3Rlz2F3ELE7yt+9Eg== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7fafe6ea-936b-4ca2-3d4d-08df17dc8b99 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:31.3429 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: H7LMFsVRSLAdmV75sfJR8fgil78jknB2uR0Wb02+a30VEMcG1SXCnwMT2k5wwhSchZu4d5PpbSKKl6vFWF2lw0oVvgtM/ppX1g0K23ig5lI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Authority-Analysis: v=2.4 cv=KInPn1Fo c=1 sm=1 tr=0 ts=6ab12424 cx=c_pps a=jYOLmuRG9FCngycrw98U6Q==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=jxMXjlTPpCISP5mWtjnE:22 a=64Cc0HZtAAAA:8 a=TUthYur4ThMOfVJD-JMA:9 X-Proofpoint-ORIG-GUID: 0zqSoyVmZF7U9HfSZe2hdpiZSSPQL6Mf X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX37Dt+x4DgCW5 LTfRWsJUxykECNCcLICMfbYj85q/P6aCheaR4TZ9b5rnKBSLjSBKvrVYXrOxRZkyYP+CIPV/yDZ U2v80D6zTR4BZBNlobaqvK5Q6z3b4A4= X-Proofpoint-GUID: 0zqSoyVmZF7U9HfSZe2hdpiZSSPQL6Mf X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX7QAO2GI7vv+x lJ+oktEEzG+Q0cf0TLTq4SvmABsxK/TjrZ4iB8C9X6CrgwCuUIckaWIO+nQiwFCcXdBOOaTv7do mYse1sr4gMXIGq7C6kZUDNsXnPbyR2aQxsUoiPpitlvjYuEkX6D7VeMxgIMBPlEZMm43PWRSWpO iCt3R3qdVhf/EXIWWTFZH5udaiFOQX3+cG0CkQeBPoAuP6UExMPvJ9Xp5G5yRV6FElxgPjE9zyw dmLsABMeHbCFvqJe8STQLeJLWMyO39gLYXaTOYjQGCqQ2F8+KDQ1AZQw5+Wss5acbgV5J8N+Q3j /vwhz0cW4QsOl643E6+HPsQDKJanQr1EbMY56Q7xrG2b/1MwhLECmmf5qJG3H8pUWyntjDtDSsL LBdIwn59e1NjPqUKj7xONfRWj8olBj6BT0UlEU+zx33vbt7LLayWiktq7eiLu9HtaGLCk+D5gDT vnaXsNxCt+ISjwDxlkA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.155.12; envelope-from=khushit.shah@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994369172158500 Content-Type: text/plain; charset="utf-8" Add a KVM-only named CPU model for the Armv9.0-A baseline, following DDI0487 revision M.c. The property list is the architecture-mandated ID-register field view. Pointer authentication is omitted because a v9.0-A core may implement any PAuth algorithm. Named models start from a zeroed ID-register view, so features whose "not implemented" encoding is non-zero (for example TGran64=3D0xF, DoubleLock=3D0xF) are set explicitly. The model is not realizable on its own; implementation-defined fields such as CTR_EL0.{CWG,ERG} and ID_AA64DFR0_EL1.CTX_CMPs still have to be supplied on the command line. However, this provides a useful baseline for upcoming reference core models. Final ID register state requested from KVM for "arm-v9.0-a-v1": [ 0] AIDR_EL1 =3D 0x0000000000000000 [ 1] CLIDR_EL1 =3D 0x0000000000000000 [ 2] CTR_EL0 =3D 0x0000000080008000 [ 3] DCZID_EL0 =3D 0x0000000000000000 [ 4] GMID_EL1 =3D 0x0000000000000000 [ 5] ID_AA64AFR0_EL1 =3D 0x0000000000000000 [ 6] ID_AA64AFR1_EL1 =3D 0x0000000000000000 [ 7] ID_AA64DFR0_EL1 =3D 0x000000f000000009 [ 8] ID_AA64DFR1_EL1 =3D 0x0000000000000000 [ 9] ID_AA64DFR2_EL1 =3D 0x0000000000000000 [ 10] ID_AA64FPFR0_EL1 =3D 0x0000000000000000 [ 11] ID_AA64ISAR0_EL1 =3D 0x0221100010210000 [ 12] ID_AA64ISAR1_EL1 =3D 0x0000011100211002 [ 13] ID_AA64ISAR2_EL1 =3D 0x0000000000000000 [ 14] ID_AA64ISAR3_EL1 =3D 0x0000000000000000 [ 15] ID_AA64MMFR0_EL1 =3D 0x000001110f000000 [ 16] ID_AA64MMFR1_EL1 =3D 0x0000000000211000 [ 17] ID_AA64MMFR2_EL1 =3D 0x1001001100000011 [ 18] ID_AA64MMFR3_EL1 =3D 0x0000000000000000 [ 19] ID_AA64MMFR4_EL1 =3D 0x000000000f000000 [ 20] ID_AA64PFR0_EL1 =3D 0x1101000010110011 [ 21] ID_AA64PFR1_EL1 =3D 0x0000000000000001 [ 22] ID_AA64PFR2_EL1 =3D 0x0000000000000000 [ 23] ID_AA64SMFR0_EL1 =3D 0x0000000000000000 [ 24] ID_AA64ZFR0_EL1 =3D 0x0000000000000000 [ 25] ID_AFR0_EL1 =3D 0x0000000000000000 [ 26] ID_DFR0_EL1 =3D 0x0000000000000000 [ 27] ID_DFR1_EL1 =3D 0x0000000000000000 [ 28] ID_ISAR0_EL1 =3D 0x0000000000000000 [ 29] ID_ISAR1_EL1 =3D 0x0000000000000000 [ 30] ID_ISAR2_EL1 =3D 0x0000000000000000 [ 31] ID_ISAR3_EL1 =3D 0x0000000000000000 [ 32] ID_ISAR4_EL1 =3D 0x0000000000000000 [ 33] ID_ISAR5_EL1 =3D 0x0000000000000000 [ 34] ID_ISAR6_EL1 =3D 0x0000000000000000 [ 35] ID_MMFR0_EL1 =3D 0x0000000000000000 [ 36] ID_MMFR1_EL1 =3D 0x0000000000000000 [ 37] ID_MMFR2_EL1 =3D 0x0000000000000000 [ 38] ID_MMFR3_EL1 =3D 0x0000000000000000 [ 39] ID_MMFR4_EL1 =3D 0x0000000000000000 [ 40] ID_MMFR5_EL1 =3D 0x0000000000000000 [ 41] ID_PFR0_EL1 =3D 0x0000000000000000 [ 42] ID_PFR1_EL1 =3D 0x0000000000000000 [ 43] ID_PFR2_EL1 =3D 0x0000000000000000 [ 44] MIDR_EL1 =3D 0x0000000000000000 [ 45] MPIDR_EL1 =3D 0x0000000080000000 [ 46] MVFR0_EL1 =3D 0x0000000000000000 [ 47] MVFR1_EL1 =3D 0x0000000000000000 [ 48] MVFR2_EL1 =3D 0x0000000000000000 [ 49] REVIDR_EL1 =3D 0x0000000000000000 [ 50] SMIDR_EL1 =3D 0x0000000000000000 Signed-off-by: Khushit Shah --- hw/arm/virt.c | 3 ++ target/arm/cpu-models.c | 75 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 78 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index e7a56e37f7..01381ab5e7 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -4144,6 +4144,9 @@ static GPtrArray *virt_get_valid_cpu_types(const Mach= ineState *ms) g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-v1"))); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-n2"))); } + if (kvm_enabled() && target_aarch64()) { + g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("arm-v9.0-a-v1"))); + } if (target_aarch64()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a53"))); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a57"))); diff --git a/target/arm/cpu-models.c b/target/arm/cpu-models.c index 153ee10ae6..7394dd358e 100644 --- a/target/arm/cpu-models.c +++ b/target/arm/cpu-models.c @@ -39,7 +39,82 @@ /* Maximum parent-chain depth for named CPU models. */ #define ARM_NAMED_CPU_MODEL_MAX_DEPTH 16 =20 +/* Arm-v9.0-a mandatory features. */ +static const ArmModelPropValue arm_v9_0_a_v1_props[] =3D { + /* ID_AA64PFR0_EL1 */ + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_EL0", NUM, 1), /* only FEAT_AA64EL0= (Armv9.0) */ + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_EL1", NUM, 1), /* only FEAT_AA64EL1= (Armv9.0) */ + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_RAS", NUM, 1), /* FEAT_RAS (Armv8.2= ) */ + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_DIT", NUM, 1), /* FEAT_DIT (Armv8.4= ) */ + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_CSV2", NUM, 1), /* FEAT_CSV2 (Armv8= .5) */ + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_CSV3", NUM, 1), /* FEAT_CSV3 (Armv8= .5) */ + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_FP", NUM, 1), /* FEAT_FP16 */ + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_AdvSIMD", NUM, 1), /* FEAT_FP16 */ + + /* ID_AA64PFR1_EL1 */ + /* KVM zeroes out these field when MTE is not enabled. */ + MODEL_PROP("SYSREG_ID_AA64PFR1_EL1_MTE_frac", NUM, 0), + MODEL_PROP("SYSREG_ID_AA64PFR1_EL1_BT", NUM, 1), /* FEAT_BTI (Armv8.5)= */ + + /* ID_AA64MMFR0_EL1 */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_TGran64", NUM, 0xF), /* not mandat= ory */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_TGran4", NUM, 0), /* 4K granular s= upport */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_TGran16_2", NUM, 1), /* not mandat= ory */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_TGran64_2", NUM, 1), /* not mandat= ory */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_TGran4_2", NUM, 1), /* not mandato= ry */ + + /* ID_AA64DFR0_EL1 */ + MODEL_PROP("SYSREG_ID_AA64DFR0_EL1_DebugVer", NUM, 9), /* FEAT_Debugv8= p4 (Armv8.4) */ + MODEL_PROP("SYSREG_ID_AA64DFR0_EL1_DoubleLock", NUM, 0xF), /* not impl= emented */ + /* no PMU for named models */ + MODEL_PROP("SYSREG_ID_AA64DFR0_EL1_PMUVer", NUM, 0), + + /* CTR_EL0 */ + MODEL_PROP("SYSREG_CTR_EL0_L1Ip", NUM, 2), /* FEAT_IVIPT: VIPT cache i= mpl. */ + + /* ID_AA64MMFR4_EL1 */ + MODEL_PROP("SYSREG_ID_AA64MMFR4_EL1_E2H0", NUM, 0xF), /* FEAT_E2H0 not= mandatory */ + + /* ID_AA64ISAR0_EL1 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_CRC32", NUM, 1), /* FEAT_CRC32 (Ar= mv8.1) */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_Atomic", NUM, 2), /* FEAT_LSE (Arm= v8.1) */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_TS", NUM, 2), /* FEAT_FlagM2 (Armv= 9.0 & FP) */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_TLB", NUM, 2), /* FEAT_TLBIRANGE (= Armv8.4) */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_RDM", NUM, 1), /* FEAT_RDM (Armv9.= 0 & FP) */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_DP", NUM, 1), /* FEAT_DotProd (Arm= v9.0 & FP) */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_FHM", NUM, 1), /* FEAT_FHM (Armv9.= 0 & FP) */ + + /* ID_AA64ISAR1_EL1 */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_LRCPC", NUM, 2), /* FEAT_LRCPC2 (A= rmv8.4) */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_FRINTTS", NUM, 1), /* FEAT_FRINTTS= (v9.0 & FP) */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_FCMA", NUM, 1), /* FEAT_FCMA (Armv= 9.0 & FP) */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_JSCVT", NUM, 1), /* FEAT_JSCVT (Ar= mv9.0 & FP) */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_DPB", NUM, 2), /* FEAT_DPB2 (Armv8= .5) */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_SB", NUM, 1), /* FEAT_SB (Armv8.5)= */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_SPECRES", NUM, 1), /* FEAT_SPECRES= (Armv8.5) */ + /* + * FEAT_PAuth is mandated by Armv8.3 but is excluded here as reference + * core can choose to implement any PAuth algorithm (APA/API/APA3). + */ + + /* ID_AA64MMFR1_EL1 */ + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_HPDS", NUM, 1), /* FEAT_HPDS (Armv= 8.1) */ + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_LO", NUM, 1), /* FEAT_LOR (Armv8.1= ) */ + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_PAN", NUM, 2), /* FEAT_PAN2 (Armv8= .2) */ + + /* ID_AA64MMFR2_EL1 */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_UAO", NUM, 1), /* FEAT_UAO (Armv8.= 2) */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_CnP", NUM, 1), /* FEAT_TTCNP (Armv= 8.2) */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_TTL", NUM, 1), /* FEAT_TTL (Armv8.= 4) */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_AT", NUM, 1), /* FEAT_LSE2 (Armv8.= 4) */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_IDS", NUM, 1), /* FEAT_IDST (Armv8= .4) */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_E0PD", NUM, 1), /* FEAT_E0PD (Armv= 8.5) */ + + MODEL_PROP_END, +}; + static const ArmNamedCpuModel arm_cpu_models[] =3D { + {"arm-v9.0-a-v1", NULL, arm_v9_0_a_v1_props}, {NULL, NULL, NULL} }; =20 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994435; cv=pass; d=zohomail.com; s=zohoarc; b=iCU3eHrs6S+Rux9XzWDmj5MzuTOPJupl+/mxf3U+X7jaZBYzqzGNQ3kheQF6eaQudM6u3RiWgnFrVgP9gwhsjtdUx+/YrKraeWcoAq3C/7/ywDC/LFV3s58xJAm0S1U0P3wLvDVQAff6tDywzmcag5cSErBURqpTnmLyFvdz42g= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994435; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=DuGZ+uv447Dn3AnPyvJnYlX2i9NqG0jRwhnwTlGnMIE=; b=FrHLWR+kc88ootOa+sOGNvi9jE7yOK9/+mDrv+dEHz0Y6JtNfgmUHmoHabVSy/AUrlteCLD9L4HYFpw3n+h9ir5k79KALgkESOp/nYRw35aMYY/FmGcobQqdv1GwVrTQPWS6G4hGZ+rXQPwFZwZd53DGlGDby/nScswCYSw5XoQ= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994435867905.4212604896487; Mon, 21 Sep 2026 05:40:35 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dIp-0003Qn-W6; Mon, 21 Sep 2026 08:39:24 -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 1x8dEL-00074z-Tt; Mon, 21 Sep 2026 08:34:54 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dEH-0002GG-H2; Mon, 21 Sep 2026 08:34:44 -0400 Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhVsR932497; Mon, 21 Sep 2026 05:34:15 -0700 Received: from byapr05cu005.outbound.protection.outlook.com (mail-westusazon11020141.outbound.protection.outlook.com [52.101.85.141]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gssxwkcar-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:34:14 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SJ0PR02MB7534.namprd02.prod.outlook.com (2603:10b6:a03:320::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.13; Mon, 21 Sep 2026 12:33:32 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:32 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=DuGZ+uv447Dn3AnPyvJnYlX2i9NqG0jRwhnwTlGnM IE=; b=gDi7rDsrUIsahiJsXHxycNt4RjDD6R29V0thJfCC1+oBSDoM6I7W0Gm2Q tstq90r+uFXNMs/aQ+kyAYi9utJAyYfj7fV/kNoxrFhg87r4Q4NOnLus5sbUUSjq y6cQwOcjUTzvZk3gR+l3I5FDM9AZSq6Guhh3tH/ikUiE75XYrYDHm6nDd2ZzibpF 4RB0gzhIuhCAZqMOXhFwDcx0JscoJI1/VUL5uEcKbRAFrvsCChPDdCEqg/hgpKFX WJO62peT56BiuchBnjC7oxUDsGYvqRWDtI9GukkgYG595YKc6E1qFHkvNC5Oh2La wpyFabOL3NQlGWYcE4qZXLyWW0xfA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=oeww7Hy0RAzOBgQgXrwsSj7k5wj9BdHIXzaecEXkNX9w8L6m20iG+Tc8SgMnAUJJ3ttT4Zm8N+6whI3Hw6YNWJatPyoAvVnNeEUjFMzwAl3YUbhg2oB6lFiKM4jYP9+8bq+SnEDRuFrjqIB922LDEBrUTd2yCjmxVh+IGLBl+v6ZwtT3IdtbNjQo7Q6JS6dLJZI/m5gWMZOCYOE5YYU7nvixwhPWevuCun8wSMEBiETAgJuTOuKSZnyfvdsLdZw4ence4MIiugyQE+7ndP0SzCVWu5YGooOso7di3SkDD2mYy/sKcXlogBE5og6VWdOsA7mQoIXPNtfpziqK/ENjiQ== 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=DuGZ+uv447Dn3AnPyvJnYlX2i9NqG0jRwhnwTlGnMIE=; b=tcvC/0ywmXM7oWTy1CoXq/9+DBfeg+EFsMfjUlpM17j9Jv/vE3v1RzcSVnbrV6A2ZLQGH3yUdPXdWhVsvXK0u8D30k9yKLLm9Y11dYKfRNWweosyMcil4CLwIKBvxmzGUc4JENqdYShFa3oBScB+E7H7F0DxMvgPXEpOJue3skbtK9rg9jn54Nv1n/Lu7AitJzBA3WDUTAfkgI5nBgsXvgR2RfjAx2XAzDKCmv26f14On8KgfHJDQFvfncJlW2gKON3jw+7pR87T5hVNkMfU1nKQrRmtdcuJ7vUNF7HrnVdH6Sk/YWRYi9SrIRE+OVCtN2lLMEXHV1vkv1quZwiPCA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=DuGZ+uv447Dn3AnPyvJnYlX2i9NqG0jRwhnwTlGnMIE=; b=YFKfQJLRWO1+uiAiY43zmMSQ34/6ZxRKfNRXUEXf5RtKl0qQyUTUbpch5vusM2DdY3xeYDB9DCSvjGW8OPe/X+g7RbiJnDsLoOXU4sgk5NOnfKMoscWY+zmtaDRUOb4GA++CGfUW8WM/MASRM6JUIOnX7Y7moRuCLaf/8yHyaOjuszWJzAnK/CByLkSW7ViX1nkfiq4vMlpeuih0ZoEfZXfiUQWfjcv88DR3OanOd/ZrTNv4C7U+yD8iv7YqktqjeNWRMJOx5Cg9SkbUZ2sg/sLElxZhW7ZqeQgum8N7k1VJ2IjgTDB/6QsvbAX5MKw7Nr32G11zov4qr3nTQGeh7w== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 13/25] target/arm: add neoverse-v2-v1 named CPU model Date: Mon, 21 Sep 2026 12:32:37 +0000 Message-ID: <20260921123249.1708067-14-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SJ0PR02MB7534:EE_ X-MS-Office365-Filtering-Correlation-Id: c48bfdf8-527a-432c-407e-08df17dc8c16 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|376014|23010399003|1800799024|7416014|366016|3023799007|56012099006|18002099003|22082099003|10067099003; X-Microsoft-Antispam-Message-Info: zPg8wjcM7NXCwmD2+SUBSljavFtoflKxoVDEMg/CdNkrCKbioYWhn04Mym3x5yjZZF6RZX7PpuRx/SBehyiLgMthvmK54WEjkjzKXJuxPo1G4pkkLgOzrJROIHbqD/fHZrJmFZXLFgcfNeF0qcJVfK8jxDmaUa8i5b72ntG1l4TkF0lGCPOe7wl8R3I0wLLli54k8AYvGT4a0jQsLypu/Nsvn5kpTy6LJ5xd562BgJrinja0I9gg+/Fow6KWi+vDECvgQTNUFWD0/uN2izG3ZwqwC5N8LGMJyjgg33zCUMjaNBeEkwwK/e+bNs/nzSL9qio2+LjeCLuEYeZHcCSoEoTD+CjNM2AytDzjbTHldVPDBjvUR3rR/Zyve0aujy4E05HkkOTgA7u6JIEpivVA3XqXtUMUOBUlHeSqCSSYwEWvs4QurCjDxI9X8A+5vgErmHlNqh0VYeOvWasgkv23UJCrYYII5dhOtzkgCTVvc7EoDEKV1dLQrsCMpT9ixahQcEToS7agVq2NNY8c1JDnEj+ldWiabPDeRGOnOCxbExvU82dT66ECY0hoZ/dlNWYdB/jL8x6xc+8p3FI2Q2mFtxbdrImKGD6VuDfKkHKeNQzyOQr4jutLxs2IhEC3pxq6SemtwCjSXKrghUo0kR4b7xFNx5IfcKxV1fNS/5nf/Mg= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(376014)(23010399003)(1800799024)(7416014)(366016)(3023799007)(56012099006)(18002099003)(22082099003)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?QjsbNFmc50Nk+Egr71gPu8Yeu84j/mGX7D5ywcu0nayE7rUYZXkMRqob+DcL?= =?us-ascii?Q?b5ZYuRDvY+feZKXesv+Y7E1YrNlZODB4T7ya5MHJQ8e4n2FaPaNx+d+K0qLL?= =?us-ascii?Q?/j34XqYAhVWmwm7d+anBuGIYu9Raq/xrWBE9UyyxJx1jARLl7BCOlHHXMvt9?= =?us-ascii?Q?U/O79fWs3KIrp1pZWd5HhSDX5J/SakHTh2MAPyhW9mfql/xElbqKEB+eXZFV?= =?us-ascii?Q?IH/p+00A1skK3D4xUd8fxPUOP05eWqvCul5xLcxSgEJQz9JCMFNN2aZb7MEG?= =?us-ascii?Q?8ZWRvXZJTTOKwMfBiaAtGPBFmIWvu+tozk2PyTD+lgJYsjwVegnlY3owLe3F?= =?us-ascii?Q?lNQx0VmSnNmAHpwoG0zLHdZhQCHkEwldNcJlfYFfirUj9pXYsHq986zC7+sY?= =?us-ascii?Q?Fp7L67oTZ6i+pZeaCP9oHu+NcSKrzGzoLJQotvk6zX0NOsQL1lipp+G3etxu?= =?us-ascii?Q?/xNL4nOEC7GgC4PVjThSYTZNIQ+cvvMv1cwx0SiAf21MEmsDs/Uh4rnfWdWn?= =?us-ascii?Q?1d2IdxyAlx965Lo+d32q/8rEY8erDP7M4g5S/8K1LL29q/xpLrxL/BIlZr2H?= =?us-ascii?Q?KCZ4m+7mh+kh8SBfgodKCa7mWym+k1m1WxMOzr9s6ml3vw+4x8X0c1p+UjRA?= =?us-ascii?Q?vSIcZe5UrSehHXwQ7Va5pJTfzxrj9P7R8eYFWFW1/pzGoAFaJiJPYrzAn7CZ?= =?us-ascii?Q?by+RCd/Xcwsd4P9Bv76SkKFjwKJIc2wCUBFao0CAqxvXRemk9q4M92Ewim9C?= =?us-ascii?Q?uTgojsioOGlh0c1wkIXIx8aSf9UnrR1cWexcVKgzRpj45xKA1nr0zTB/8r42?= =?us-ascii?Q?ezvOLQjrCpKeMAjAUOycJqLJJSb/s44+j2qA73enm6EEV80oP4h9QjgS7QeF?= =?us-ascii?Q?bpYcmDPVNidQc8m6YMq1ONYahqfFkBoz3P5ZiUfmJbQK1eYNOrd0MHIl+w1G?= =?us-ascii?Q?iAXLvxTVXNg9bTQzQpWm2oJvzY3DVWxUXtK6fnjbbdcKr8udc+C4qTi3B8zc?= =?us-ascii?Q?1TiFOh4hdcgNAXtyDgekpBNaQ2e9nzzB/ZldFGZpqVwVDtUrutK816rcL4/4?= =?us-ascii?Q?LH3Ajk9Kf05yvGckviY02iMQOqwi/el530yTdfx13Pwu7xJF06tLKwvimpFX?= =?us-ascii?Q?O9IvpBxV/NjTggePVgjOVea3MJVFo3rycVcIofi63+GDRryDg3Y48Sh4vU/d?= =?us-ascii?Q?R863o8Z1aAAgLwkGPrSQdxdJKLsVyzvEZgVE0swVXUDZXYVoErbqLTUj2yb0?= =?us-ascii?Q?X7WY+WyK+GuX+jICajS2yAUGz60Av8YN7jb0frTAmkEFRRG8ohYnI+YnQH3i?= =?us-ascii?Q?qbFNXEuEXGu9FBPQT4lh0ZlRcf0QA9ZBEVxLW6QsErjcEJ/70iB2mW4k5pEi?= =?us-ascii?Q?jhFWhNX/kl62yIGgLQwUe4zVAz71f/1yuGgaN4pGLdLrFcqhPDiJSlYVA5Al?= =?us-ascii?Q?kQh8ZKTP7/y7zf0bQ2eUe0l00pI7KtCp2UeyQd9YAReyPHUJWAYiAwxjofXN?= =?us-ascii?Q?nrVV/KQ+f99RaCQZ352gIVTYwrl9OeqzefjmQzCYz9LRyQrC0UtOOAX/fwGl?= =?us-ascii?Q?VaF0cvyrTNbCCyXYG61WebOpVuoBz3NALdubCANuVatT//8UzkugmEWJNBxg?= =?us-ascii?Q?teJPHZjgISa/WF9BrKlQ86i0XKan+u36CIu1T0g9rdSyURf/HU2eYVfMBWbE?= =?us-ascii?Q?BLmLRfYRfnp1p3SyZ3jLYEem0y+8a9Vuu+jhKS2o9Vy6kKBsbrcZbbxz/ZTZ?= =?us-ascii?Q?Vmuk9TxVcyHYzjLi9ufwRZrQGTZop3w=3D?= X-Exchange-RoutingPolicyChecked: tcg2k4naIhOmBfTIRpc8n/Yq4nk/esbvlfV8yoBMquzZGrIwoZ/pJ4oXBb10WFkno8CVNBgd31ghOJmklYFp8i5GEhiXf/sLfwEcOJlGnBEviq2AwCA8Ey0n+xneGRE8ZV37sl1+H9T0Xh8YLrK0VESjMnVrgJ+HIvuuHL43pDQIoRdUfhLenvptilGneCdmL6K1vt5YbqoOu5EliF7ruhzf6UCKI2jyCrkw3+QYhgOMgNt6GIqP0PX2nuh2ATuTpns038YihzdUxMWLeFcqJv823+zEXbPhWcEkxL+/+DYAGdUxoI05WXDsNREZSiqjRPLt8Pf5ikpltmg7cicikw== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: c48bfdf8-527a-432c-407e-08df17dc8c16 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:32.1468 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: jEiRJD90XvDAsVA2QEy4gA4pTjJxr579RNjxzLnT89AxCc+2dm035NRZpQppOJ1rqoJiUhQOT5u5woIAlxmrZjBCqgr7b2q38zgDiO5MnB8= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ0PR02MB7534 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX12GGalSbP0yQ vczFyvTEy7Wsgy8Ap+zy4j62th3e8rILGUJB/PlQyvv+RoUPZ8C02Lc0AvVMGvZyUngJYz4ihGH Sd17Q+5131AgHaHlFqKdrt/28J0czaY= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXx9Oxc+GdOc7d e4dbgxWz4JiOcZLQSPIXLvAcndkY5a+d0G+G0BkR2dkuaxS3HDBLAnSitx8l1qsfF05tN8c9p8g RZjMjtvQOKS3ZziBDh2I/OIE5IV5FaQiY98f9dRF9blMEou/ROD2+mKlttvhO1F8GFBsvQ7occR 13LRNVFDdDBkbb7gBA6RbTH2NAZhzfKBl2J4U7Lk7r0CpxJ970ZXVuk30UwuFlenF4BybntmCyL 7iyUb/zQYC4yv33EXqvCZoZN+drgO9r0NwhAwU1fI1g6poH4bVAZ/QSEhyp0tkERsVqhHtJ8r9c OYtZ8utxrx52+5vMGFs/EF+v1DAx13tKkfOONloLijyisENDz6g9Whbso/D1PGakj+tFXCwriWn JEH7UK/FSzPcwyK+wtP4IbSiNeQgvU5oNBJwbLQ0U7vrtdR2BGH0FQQ6cLeCRPigranbCITFzpI pEC/MrMhoVLN/uCsBVA== X-Proofpoint-ORIG-GUID: ZTXj8BrASxULHb5UWyyUAYoF0opme4pU X-Proofpoint-GUID: ZTXj8BrASxULHb5UWyyUAYoF0opme4pU X-Authority-Analysis: v=2.4 cv=fphJ914f c=1 sm=1 tr=0 ts=6ab12446 cx=c_pps a=g/OBtAqTw1pRpVLcEUWRsQ==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=1L6crL_YRTbalZ11mEUO:22 a=64Cc0HZtAAAA:8 a=4bRBiY6PqUU1wEVE5PwA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994437921158500 Content-Type: text/plain; charset="utf-8" Add a KVM-only named CPU model for Neoverse V2 (TRM 102375, r0p0), inheriting from arm-v9.0-a-v1. The property list is the subset of the TRM that KVM can virtualize for a non-nested guest. EL2, EL3, and SEL2 are left unimplemented. AMU, MPAM, SPE, TRF, and similar features are omitted because KVM does not virtualize them. SoC crypto opt-ins are left unimplemented. PMU stays disabled for named models. Some fields that a non-EL2 guest does not use (VH, EVT, S2FWB, E2H0) are still pinned to the TRM value because KVM does not allow userspace to lower them. Final ID register state requested from KVM for "neoverse-v2-v1": [ 0] AIDR_EL1 =3D 0x0000000000000000 [ 1] CLIDR_EL1 =3D 0x0000000000000000 [ 2] CTR_EL0 =3D 0x000000009444c004 [ 3] DCZID_EL0 =3D 0x0000000000000004 [ 4] GMID_EL1 =3D 0x0000000000000000 [ 5] ID_AA64AFR0_EL1 =3D 0x0000000000000000 [ 6] ID_AA64AFR1_EL1 =3D 0x0000000000000000 [ 7] ID_AA64DFR0_EL1 =3D 0x000000f010305009 [ 8] ID_AA64DFR1_EL1 =3D 0x0000000000000000 [ 9] ID_AA64DFR2_EL1 =3D 0x0000000000000000 [ 10] ID_AA64FPFR0_EL1 =3D 0x0000000000000000 [ 11] ID_AA64ISAR0_EL1 =3D 0x0221100010210000 [ 12] ID_AA64ISAR1_EL1 =3D 0x0011111101211052 [ 13] ID_AA64ISAR2_EL1 =3D 0x0000000000000000 [ 14] ID_AA64ISAR3_EL1 =3D 0x0000000000000000 [ 15] ID_AA64MMFR0_EL1 =3D 0x0000011100101125 [ 16] ID_AA64MMFR1_EL1 =3D 0x0000000010312122 [ 17] ID_AA64MMFR2_EL1 =3D 0x1221011110001011 [ 18] ID_AA64MMFR3_EL1 =3D 0x0000000000000000 [ 19] ID_AA64MMFR4_EL1 =3D 0x0000000000000000 [ 20] ID_AA64PFR0_EL1 =3D 0x1101000120110011 [ 21] ID_AA64PFR1_EL1 =3D 0x0000000000000021 [ 22] ID_AA64PFR2_EL1 =3D 0x0000000000000000 [ 23] ID_AA64SMFR0_EL1 =3D 0x0000000000000000 [ 24] ID_AA64ZFR0_EL1 =3D 0x0000100000110001 [ 25] ID_AFR0_EL1 =3D 0x0000000000000000 [ 26] ID_DFR0_EL1 =3D 0x0000000000000000 [ 27] ID_DFR1_EL1 =3D 0x0000000000000000 [ 28] ID_ISAR0_EL1 =3D 0x0000000000000000 [ 29] ID_ISAR1_EL1 =3D 0x0000000000000000 [ 30] ID_ISAR2_EL1 =3D 0x0000000000000000 [ 31] ID_ISAR3_EL1 =3D 0x0000000000000000 [ 32] ID_ISAR4_EL1 =3D 0x0000000000000000 [ 33] ID_ISAR5_EL1 =3D 0x0000000000000000 [ 34] ID_ISAR6_EL1 =3D 0x0000000000000000 [ 35] ID_MMFR0_EL1 =3D 0x0000000000000000 [ 36] ID_MMFR1_EL1 =3D 0x0000000000000000 [ 37] ID_MMFR2_EL1 =3D 0x0000000000000000 [ 38] ID_MMFR3_EL1 =3D 0x0000000000000000 [ 39] ID_MMFR4_EL1 =3D 0x0000000000000000 [ 40] ID_MMFR5_EL1 =3D 0x0000000000000000 [ 41] ID_PFR0_EL1 =3D 0x0000000000000000 [ 42] ID_PFR1_EL1 =3D 0x0000000000000000 [ 43] ID_PFR2_EL1 =3D 0x0000000000000000 [ 44] MIDR_EL1 =3D 0x00000000410fd4f0 [ 45] MPIDR_EL1 =3D 0x0000000080000000 [ 46] MVFR0_EL1 =3D 0x0000000000000000 [ 47] MVFR1_EL1 =3D 0x0000000000000000 [ 48] MVFR2_EL1 =3D 0x0000000000000000 [ 49] REVIDR_EL1 =3D 0x0000000000000000 [ 50] SMIDR_EL1 =3D 0x0000000000000000 Signed-off-by: Khushit Shah --- hw/arm/virt.c | 1 + target/arm/cpu-models.c | 100 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 01381ab5e7..f5a8ea1145 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -4146,6 +4146,7 @@ static GPtrArray *virt_get_valid_cpu_types(const Mach= ineState *ms) } if (kvm_enabled() && target_aarch64()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("arm-v9.0-a-v1"))); + g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-v2-v1"))= ); } if (target_aarch64()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a53"))); diff --git a/target/arm/cpu-models.c b/target/arm/cpu-models.c index 7394dd358e..2de67f353b 100644 --- a/target/arm/cpu-models.c +++ b/target/arm/cpu-models.c @@ -13,6 +13,9 @@ * Assumptions: * - All named CPU model properties are idempotent. * + * Current Hierarchy: + * arm-v9.0-a-v1 + * neoverse-v2-v1 (r0p0) * SPDX-License-Identifier: GPL-2.0-or-later */ =20 @@ -113,8 +116,105 @@ static const ArmModelPropValue arm_v9_0_a_v1_props[] = =3D { MODEL_PROP_END, }; =20 +/* Neoverse V2 CPU model (TRM 102375, r0p0), inherits from arm-v9.0-a-v1. = */ +static const ArmModelPropValue neoverse_v2_v1_props[] =3D { + /* MIDR_EL1 */ + MODEL_PROP("SYSREG_MIDR_EL1_Implementer", NUM, 0x41), /* ARM */ + MODEL_PROP("SYSREG_MIDR_EL1_Variant", NUM, 0x0), /* r0p0*/ + MODEL_PROP("SYSREG_MIDR_EL1_Architecture", NUM, 0xF), + MODEL_PROP("SYSREG_MIDR_EL1_Revision", NUM, 0x0), /* r0p0 */ + MODEL_PROP("SYSREG_MIDR_EL1_PartNum", NUM, 0xD4F), /* Neoverse V2 */ + + /* ID_AA64PFR0_EL1 */ + /* Neoverse V2 implements CSV2.2 but CSV2 is capped to 1.0 by KVM */ + /* AMU and MPAM are not supported by KVM */ + /* SEL2 is left not implemented for non-virtualized VM */ + /* EL2 and EL3 are not implemented for non-virtualized VM */ + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_SVE", NUM, 1), /* FEAT_SVE */ + MODEL_PROP("sve128", BOOL, true), + MODEL_PROP("SYSREG_ID_AA64PFR0_EL1_RAS", NUM, 2), /* override; FEAT_RA= Sv1p1 */ + + /* ID_AA64PFR1_EL1 */ + MODEL_PROP("SYSREG_ID_AA64PFR1_EL1_SSBS", NUM, 2), /* FEAT_SSBS2 */ + + /* ID_AA64ZFR0_EL1 */ + MODEL_PROP("SYSREG_ID_AA64ZFR0_EL1_I8MM", NUM, 1), /* FEAT_I8MM */ + MODEL_PROP("SYSREG_ID_AA64ZFR0_EL1_BF16", NUM, 1), /* FEAT_BF16 */ + MODEL_PROP("SYSREG_ID_AA64ZFR0_EL1_BitPerm", NUM, 1), /* FEAT_SVE_BitP= erm */ + MODEL_PROP("SYSREG_ID_AA64ZFR0_EL1_SVEver", NUM, 1), /* FEAT_SVE2 */ + /* Other ID_AA64ZFR0_EL1 fields are SoC opt-ins */ + + /* ID_AA64DFR0_EL1 */ + /* KVM does not virtualize FEAT_TRBE, FEAT_TRF, or FEAT_SPE. */ + MODEL_PROP("SYSREG_ID_AA64DFR0_EL1_CTX_CMPs", NUM, 1), /* 2 context-aw= are BPs */ + MODEL_PROP("SYSREG_ID_AA64DFR0_EL1_WRPs", NUM, 3), /* 4 watchpoints */ + MODEL_PROP("SYSREG_ID_AA64DFR0_EL1_BRPs", NUM, 5), /* 6 breakpoints */ + + /* ID_AA64ISAR0_EL1 */ + /* Many fields are SoC opt-ins; no mandatory overrides from Armv9.0-a-= v1 */ + + /* ID_AA64ISAR1_EL1 */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_I8MM", NUM, 1), /* FEAT_I8MM */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_DGH", NUM, 1), /* FEAT_DGH */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_BF16", NUM, 1), /* FEAT_BF16 */ + /* FEAT_PAuth2, QARMA5 is implemented */ + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_GPA", NUM, 1), + MODEL_PROP("SYSREG_ID_AA64ISAR1_EL1_APA", NUM, 5), + + /* ID_AA64MMFR0_EL1 */ + /* Keep stage-2 translations unimplemented for non-virtualized guests = */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_TGran64", NUM, 0), /* supported */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_TGran16", NUM, 1), /* supported */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_SNSMem", NUM, 1), /* supported */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_BigEnd", NUM, 1), /* supported */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_ASIDBits", NUM, 2), /* 16 bits ASI= D */ + MODEL_PROP("SYSREG_ID_AA64MMFR0_EL1_PARange", NUM, 5), /* 48 bits PA R= ange */ + + /* ID_AA64MMFR1_EL1 */ + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_XNX", NUM, 1), /* FEAT_XNX */ + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_PAN", NUM, 3), /* override; FEAT_P= AN3 */ + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_VMIDBits", NUM, 2), /* 16 bits */ + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_HAFDBS", NUM, 2), /* FEAT_HAFDBS */ + /* + * VHE is not needed for non-virtualized guests, but KVM does not + * support writing to it. + */ + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_VH", NUM, 1), + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_HPDS", NUM, 2), /* override; FEAT_= HPDS */ + + /* ID_AA64MMFR2_EL1 */ + /* + * FEAT_EVT, FEAT_S2FWB not needed for non-virtualized guests, but KVM + * does not support writing to them. + */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_EVT", NUM, 2), + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_BBM", NUM, 2), /* FEAT_BBM2 */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_FWB", NUM, 1), /* FEAT_S2FWB */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_ST", NUM, 1), /* FEAT_TTST */ + MODEL_PROP("SYSREG_ID_AA64MMFR2_EL1_IESB", NUM, 1), /* FEAT_IESB */ + /* FEAT_CCIDX not virtualized by KVM */ + /* FEAT_NV not presented for non-virtualized guests */ + + /* ID_AA64MMFR4_EL1 */ + MODEL_PROP("SYSREG_ID_AA64MMFR4_EL1_E2H0", NUM, 0), /* override; FEAT_= E2H0 */ + + /* CTR_EL0 */ + MODEL_PROP("SYSREG_CTR_EL0_IDC", NUM, 1), + MODEL_PROP("SYSREG_CTR_EL0_CWG", NUM, 4), /* Cache-writeback granule */ + MODEL_PROP("SYSREG_CTR_EL0_ERG", NUM, 4), + MODEL_PROP("SYSREG_CTR_EL0_DminLine", NUM, 4), /* 64 bytes */ + MODEL_PROP("SYSREG_CTR_EL0_IminLine", NUM, 4), /* 64 bytes */ + MODEL_PROP("SYSREG_CTR_EL0_L1Ip", NUM, 3), /* PIPT */ + + /* DCZID_EL0 */ + MODEL_PROP("SYSREG_DCZID_EL0_BS", NUM, 4), /* 64 bytes */ + + MODEL_PROP_END +}; + static const ArmNamedCpuModel arm_cpu_models[] =3D { {"arm-v9.0-a-v1", NULL, arm_v9_0_a_v1_props}, + {"neoverse-v2-v1", "arm-v9.0-a-v1", neoverse_v2_v1_props}, {NULL, NULL, NULL} }; =20 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994559; cv=pass; d=zohomail.com; s=zohoarc; b=RA7uicZVBpaZIzv+zJfnbYNJMenRCsQ+Gt7AcsspN1yjbjvFxlXhIHjvly+bRrX6kDJCt4Fz5BZ8B3PF6T/czqDQbBuccY39rdPQnvNGygadKlIJodcrFBCQ31oCNdOBgXGALUFCsS8Fc08y9dBdQb4XqnXD7WwL38AExiDql90= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994559; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=L01GFWY2A3KEGs6JhDwuiEz2yT7cbZNlHBFfzyiGxz4=; b=WuNrBuT8lK5elyxJSVTf2etEUtL7lxbBFEBV3srpoyM8UMd/PjRXWpLBUs+c8yoZsLYj5ej74wpiiP8LpG4nn6Ip2vc/+S6aMWQ694D2B3zKjAh29I/rcGp/Hc2cFHjptbvMdfom2UBsjofXuXyUw7H5L82r8zs6+bBEEt5rvMQ= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994559453545.1993268334111; Mon, 21 Sep 2026 05:42:39 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGh-0000f7-Ad; Mon, 21 Sep 2026 08:37:11 -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 1x8dDp-0006xP-Bv; Mon, 21 Sep 2026 08:34:24 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDk-0002Ak-A7; Mon, 21 Sep 2026 08:34:11 -0400 Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAiHkd520340; Mon, 21 Sep 2026 05:33:36 -0700 Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022131.outbound.protection.outlook.com [52.101.43.131]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspqsbhps-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:36 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:34 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:33 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=L01GFWY2A3KEGs6JhDwuiEz2yT7cbZNlHBFfzyiGx z4=; b=sOfez5HI0jSc9khThN/+IgV+KddMev1q9i8pfSR34R8mRahBjzpV5B0+u QajR/qzGAaVMWKXzYA4GGRdbOqLhgUz8JSxLMQZ0fXBhM8UO55DourHwPh4Bgjwq sZCk1nsUX8dPj5PRwUdB3p5jpMH18DGX7Lq/FfumVeX5HvEcylxAYq7f/6ruejuo m7RFrm4tJ+j7W5FLuZLNK684FgEWpxqBtmM8v/GjWmI9a2uyNV3j3woGXPEXfvLG 7exNRbNSocq8YCTaJbJNFxRi1PWo9g3ZngENU+PNRQKLJKO2pIOYUBzsdVBz5fXx LjP5jhYQIX1UxVvIp1j20URWmSp9Q== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=uqL3lc4Ywdm7TNnG5GGZwS3HWKukKm+I/7M+33O9HkG6si2ka2+YhZsj0LmSosokUEXR9aILCCRBeZGh1g/FZjBGiaHTT+skZrMpSD0naVIJHu0Z4tTOfmEsc2TtTo0uDUm3P5v5729ppF/FIQf4X+fMUOmfdGMpPkTIk2LisaP1sRf0VEvKx+FAsPLYHTB99gS///aaIG/PHSGxgmMgttX4OtSvwRrVIxVD3jM/jU3BUwgKROiMcn//NQJEVfEkSyql7QEOVBRt9pWkOXyPhCgUUBqBZfw4QBv28EvczVDe4xEFoWdeqFZSdp+6C8uDySUwgJyEa9tQjK3d4PZndQ== 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=L01GFWY2A3KEGs6JhDwuiEz2yT7cbZNlHBFfzyiGxz4=; b=tLBctNbLRi8imxhwArzluM5uu6ig1GCRObz5mtN/LoX1pyy17POA5cF81KKNgtSORs8NV53HOwU/bJbyVOdcCUJhjUgrp5gnyNKa/7IcdUlYCHQ05h864gCW/kzMpTkngxBzgqiJQqPdsWYexFbW7VsTRkRJBXXfd2f5Ks32pkb6rP4nF0G+Tfj9Y8xY3I4tcR9C8GNuZUclHnCikBdiLZMRlHeO/ljS/BpgzVZrOwWPXbK1YJ+UmF30NxBR8ZEVW3Jbg9CDF977GuFk0RsBUUx3mzR01Jnh7DxEV8xGfoCK2l23eJbOMUiuFib/pYk8IEozdVobYfEFyJZtSjvTBw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L01GFWY2A3KEGs6JhDwuiEz2yT7cbZNlHBFfzyiGxz4=; b=R3sp1TwjyY1iepYu1JKgaYOIUaTyH4STiMaGi9gtvBbT0slmbqlxflzFsH0yFKxJMO3tPW8AbW6nul30hK9ypalACY1cl4Aba+U6/va/stuFfsSNTjdOAcZpew52MIpsCtM32hZUSm1VZqlz4ud0Nm3iORLFSAiRlm2mALXcZHOLkNUAUf4sc4hjN+5Q/gdxBuhTJLOL+rTzko1ytiIGwnDjhQ53qeHAbcWPTPiSqCIOuQ0oaxo01cWuomRjHPexxtYSOVjHkj8ba7DTKvK45W4ugJzqOQFlLeWG/825RQpZWbNX4su1QToroWtfN6vb9ewJwVm8BRs92V86cYss+g== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 14/25] target/arm: add neoverse-v2-v2 named CPU model Date: Mon, 21 Sep 2026 12:32:38 +0000 Message-ID: <20260921123249.1708067-15-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: 86364172-7512-4fed-4140-08df17dc8cf7 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: yrFWsvDlgRsqnkGSvJYN7d2gsml/PWZv93g3zyJ9pBgl9AGJ0wO+Nruy2vjcNLMGo6ErRzCQfSvm6YRaY9CrVM4KjzZQJm223C2T9jEHlLvy2NnU0wEb9I9QUIWfs6ZaRpWM/viyWM/JTgrke7jTMaYIZD0VpIZPQMD1omD9IJ/7Wp244qN6YoSIUqv1vdmiXqKVcMpp6WGIdsS5RAbkeYN7BCfWsUfTLwWnM1c+SaVpymhSz5Sw08qASrbHuj4ekptvXryCbC+AdJ+LCV1ssjh2WacCK/zOe5AUbxvx3tCHU1OM5Yo7jQPV4CpIU3S4MIHJZi0+Aev3+FiYFd/qLWsgxuq/EPD/A35KgQvND6qtCzJhnpYTVPrR2iQLXKJY0ySegDoq5eBM55NPdDq7BTpFnyPnP0sFYseyvlMEweJFgwLvO4kQu9TeVGGtjpncr025WWbVndxQ/cs9XQOt3ZqyfjlFZnHRIgfXg/7aF+Mi5AzWDhIvyIR+ncV/gkWT+K5ToB4vA0oI/FMdHlTdtfRAJ1eVvdflSk+qozmthgOwqPNA0bBlCS4hkEBF1LjD1CUZzceXVsSVWfqKqMSapQYXCd6B9eSIBQQBR5YMUHRy7jlmbPEPrxemNdhw0z/68ePYTZPtXYnKBBJEJ+wMduuV5+HGZL0a61ZeXR2kKrY= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?aU0jQfdEbzFIcAAICF2iDv8IDou22vZs86jz5zqoJFOBMuBIRKpi2hJ+3A79?= =?us-ascii?Q?SRLbPXGDUYKw2EWuO+CR7moG0zsl4elN3jVPirRsvtRAOfLnC4vg1vfB6Gk5?= =?us-ascii?Q?zxU5VsklRcvTroJUxpyxPnxCRMitU+9IAyhBwhP1VAGdNvAZC4UA2DpXBZC+?= =?us-ascii?Q?GbSYYfgfopIZdsp+q/un/MzZ3PB+Jrt49Z+yNDv7rCGCmyZOKVbinnCXQxrF?= =?us-ascii?Q?Qrjgb8X5+9o9Ijj4bH9U2QEBY0V0fiJc9308qvcjHfQelmo9Xe1yhBOIB+MN?= =?us-ascii?Q?DqcoFB8M8XLES1cPCds5gFwgxWxtRjMYcz2uA8GyvaJus1V2fNjOIc5y+o9C?= =?us-ascii?Q?wuuEAgI9OeAqNPYgy4eCWpkegDKs4PJ7RWolkBvo9nGc7N0GKza/MAh72dgw?= =?us-ascii?Q?zTsZWCqRrshl8vYJAGDB/gCO5C6QtcU5VeXpw7sPcNmE/gR/UfOAUZf7fWZw?= =?us-ascii?Q?N5rm00NRiUn35+JYhRvZkJhMBdDeFF+kGA2S0zm7NmATMUzylS5IyHlBFmwF?= =?us-ascii?Q?c6qAeyY4khtTyEwbvox88pSRwNUS28krU4qA5z+EqLdMLM/Jq2cBq/h8s5ZS?= =?us-ascii?Q?BGosd+zZ660MlOx6r86tfIKG9b5QMpn4TkeI3x/3yeme2ymceHWrLe0GOG3s?= =?us-ascii?Q?XX3dvpL5a4SJONmT++G4aSlk5dBt6cHKYPQ0qOMMNUMwDbscgs/+fLev/IxQ?= =?us-ascii?Q?vGy5MHCn8Ed8rMNkDRVLOLhWOAJfLjV8I/cho/+Eht3IZQpkKn3Zp4d30P3w?= =?us-ascii?Q?nemT+H99wgw40idYLLF8RAW6BJLsIUKsve9Goq7s8ZpyPanQzO9cxqVE3sGD?= =?us-ascii?Q?lyZPAmsEWlYV7VL8Rpz9OQB7AKHydzC0c2dFSNH8EutdFECQv91kCBApXJ85?= =?us-ascii?Q?zqx4jPiZFd4sF8Db3xZ0up1g+wnCLB36rZebuPaWRFX8bmPF8CizMOx3sb2V?= =?us-ascii?Q?Vk8YuqxR9KX/dGJaDYr9VxbFT3leVhRLpWtaz6dakXgd7yOqX2FpRu3Vllsk?= =?us-ascii?Q?Nt61iUTf2sBD9Pggt/aKzP8TotQw2meCEC/4T0n9c3kfFtfRduwyTrU9oWP9?= =?us-ascii?Q?99rmfTzn4D1yK1x4rYs7N0y3FZI6GYpVx/3stjgqdPkRC0sMolCZXYSJCj7C?= =?us-ascii?Q?/nk+YSmGKIawKDfIIOnl2yxya0FH/4M9gCXBsIwyIIIvaj65chKjM6UiDGaq?= =?us-ascii?Q?MhTEVzfUL9KFX5LjbqSGzP3yL4bL78J/ZRDpqyy9vPg4Y+fZw0yjFqRvq1mk?= =?us-ascii?Q?Q1bB+1b0KfeN+WMLnvH6lejaSLDB7NlY3GOAOxmuOK7vaH32xsZBgd/cEDZr?= =?us-ascii?Q?TAD6NnLgkludQWXwDeGQbXwwYo9/HMXDZgCq3dVNTSQPdfyRYiwWFfNiI2Dx?= =?us-ascii?Q?p+nCDqeBPHPPdQHUUpxup6umlT6Ab9niJ1VedM5UNiCCuqJAFObUX3IxMukE?= =?us-ascii?Q?JYix4r1jVwJOQY05NHqJ/vaJJNnw3Hoa+DL8nSf7ltj47T7MIvQdwU1iqHQU?= =?us-ascii?Q?YNZ4pyFI41nS4x+cppEA7mQ16EKb7mum/RrOksQypAOjRKAHwgRX1okPgRr1?= =?us-ascii?Q?Q3Vw/XUEs0A1HNbOvpZrW6bG21384GrLL/LIWZmSf6T+zBDVwf8lU+LkoDZJ?= =?us-ascii?Q?WTPU43J7mN4/7naBxgBtU5s/UfUwR2D2vfaQ0gBWWLNVnr1z5aECSp5ZdSH3?= =?us-ascii?Q?wa0agro/6rN3chjDHYNCyaOutxDsCUR66prsFUVpNsJ8Ikkec51TeBQCBT7N?= =?us-ascii?Q?yKjkd7AqTw084DVFmWimAZ0orkTuTWs=3D?= X-Exchange-RoutingPolicyChecked: UDJOJfZMwZb24kjc9wLBrvVvmECrUR35ErpMJsb5rOp9CGrBGQCzHvTV7uvVUTnwSgS0BeInpnikmCvJUt+OVxR/KcGmpeT2NpeTqOeobDC6LxPyJaJwHqWzxoZmbd9QG0fUjeet5tx5cSgxtz2wvgP5x3gXlaOzbas+pMkcFY/DgFLt/iZ4Gl6VQqfaoSiQiPg68wyZcVqlr+3XhgI+mOOmB1ZNvrBCSEWkMJs8aYRJxbv4/qclI0wtlHqVwJ13jn4saszDKBkqIA/ApM0RD4EN4Yx2yqQx9eoO1GjU6DXHECZEmghgCSQASr5iQIMEllmaGxX+46fhbIMEjBei2A== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 86364172-7512-4fed-4140-08df17dc8cf7 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:33.6356 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: WnMxojvQi3vYCp59CGY8OJLUUAnD96XIfE/8FbboOw4cmCHj2gkBrJJmb3vVICwY06sE15e34Mhj6QLDhv1+YI1/YdjCNdofXfAynQJwTQk= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXyTfgkeMBwZYm MPEm+jDEWqbwqrFHb647TIjmkbclVWEwJ1u9XktWWRJ1jqx3zLjOfPLVw0x3ITuoMbqMaRJkbEO EN5vaCGhCN+beI8XsvhoHGbTpFcu7SUPvCd9JBjheH58CGQOZmLM7LsM5G4EL/XlxuVXez/MbKQ XwnxwpRMZrptjZQQ/cU0SwbD6UJWFGRwndm2CQbohHL1s9MtKWu8orPCkxMMio6+wo2W2+WibyF OODH+P/UCy7e2jP1779PS0Wb0oGOWVs1bM0YjNuInLbF6aOYopNi40tebyH6Tm01vkhjJ8D6KsM wWAzzB6kwmBJqEZZJQHOQM20rUyhDDA9UVYr8PkF/DXtFhnqdYQ/s/ZGFKymjoEx4Ih5+a2Kozb 8+Djh3aaFnFha1Gc1i1ps95v5TIqzFNovFp45LRZkx85kD7Boo/UbK4TYOTkYou1rkOR7jEM4sd O4fbF4NPz15ztYOpCCw== X-Authority-Analysis: v=2.4 cv=E9BYNqdl c=1 sm=1 tr=0 ts=6ab12420 cx=c_pps a=WiodiXt0wH02q4ozJLtFAw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=_-M8LpHI31CeLmyZm6wg:22 a=64Cc0HZtAAAA:8 a=G8GmB4WXMLr-IX6zuRoA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX/iqZXuYrzQqU 2qV4RSqIqp2pv7t0etC0ooIOT0DF30WDi3qXaGCM5Y6UBBopl4Z3FozusPSMAHCETOyTQhMjzIT vbihCMe6EFDiz9JGEW87zuEmrfjGtJ8= X-Proofpoint-GUID: CYQblLNSaQXY4StORWqMsjyztgmF6NfF X-Proofpoint-ORIG-GUID: CYQblLNSaQXY4StORWqMsjyztgmF6NfF X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994560530158500 Content-Type: text/plain; charset="utf-8" Add a KVM-only named CPU model for Neoverse V2 r0p1 (TRM 102375), inheriting from neoverse-v2-v1 (r0p0). r0p1 only changes MIDR_EL1.Revision and adds FEAT_ECBHB (ID_AA64MMFR1_EL1.ECBHB). Final ID register state requested from KVM for "neoverse-v2-v2": [ 0] AIDR_EL1 =3D 0x0000000000000000 [ 1] CLIDR_EL1 =3D 0x0000000000000000 [ 2] CTR_EL0 =3D 0x000000009444c004 [ 3] DCZID_EL0 =3D 0x0000000000000004 [ 4] GMID_EL1 =3D 0x0000000000000000 [ 5] ID_AA64AFR0_EL1 =3D 0x0000000000000000 [ 6] ID_AA64AFR1_EL1 =3D 0x0000000000000000 [ 7] ID_AA64DFR0_EL1 =3D 0x000000f010305009 [ 8] ID_AA64DFR1_EL1 =3D 0x0000000000000000 [ 9] ID_AA64DFR2_EL1 =3D 0x0000000000000000 [ 10] ID_AA64FPFR0_EL1 =3D 0x0000000000000000 [ 11] ID_AA64ISAR0_EL1 =3D 0x0221100010210000 [ 12] ID_AA64ISAR1_EL1 =3D 0x0011111101211052 [ 13] ID_AA64ISAR2_EL1 =3D 0x0000000000000000 [ 14] ID_AA64ISAR3_EL1 =3D 0x0000000000000000 [ 15] ID_AA64MMFR0_EL1 =3D 0x0000011100101125 [ 16] ID_AA64MMFR1_EL1 =3D 0x1000000010312122 [ 17] ID_AA64MMFR2_EL1 =3D 0x1221011110001011 [ 18] ID_AA64MMFR3_EL1 =3D 0x0000000000000000 [ 19] ID_AA64MMFR4_EL1 =3D 0x0000000000000000 [ 20] ID_AA64PFR0_EL1 =3D 0x1101000120110011 [ 21] ID_AA64PFR1_EL1 =3D 0x0000000000000021 [ 22] ID_AA64PFR2_EL1 =3D 0x0000000000000000 [ 23] ID_AA64SMFR0_EL1 =3D 0x0000000000000000 [ 24] ID_AA64ZFR0_EL1 =3D 0x0000100000110001 [ 25] ID_AFR0_EL1 =3D 0x0000000000000000 [ 26] ID_DFR0_EL1 =3D 0x0000000000000000 [ 27] ID_DFR1_EL1 =3D 0x0000000000000000 [ 28] ID_ISAR0_EL1 =3D 0x0000000000000000 [ 29] ID_ISAR1_EL1 =3D 0x0000000000000000 [ 30] ID_ISAR2_EL1 =3D 0x0000000000000000 [ 31] ID_ISAR3_EL1 =3D 0x0000000000000000 [ 32] ID_ISAR4_EL1 =3D 0x0000000000000000 [ 33] ID_ISAR5_EL1 =3D 0x0000000000000000 [ 34] ID_ISAR6_EL1 =3D 0x0000000000000000 [ 35] ID_MMFR0_EL1 =3D 0x0000000000000000 [ 36] ID_MMFR1_EL1 =3D 0x0000000000000000 [ 37] ID_MMFR2_EL1 =3D 0x0000000000000000 [ 38] ID_MMFR3_EL1 =3D 0x0000000000000000 [ 39] ID_MMFR4_EL1 =3D 0x0000000000000000 [ 40] ID_MMFR5_EL1 =3D 0x0000000000000000 [ 41] ID_PFR0_EL1 =3D 0x0000000000000000 [ 42] ID_PFR1_EL1 =3D 0x0000000000000000 [ 43] ID_PFR2_EL1 =3D 0x0000000000000000 [ 44] MIDR_EL1 =3D 0x00000000410fd4f1 [ 45] MPIDR_EL1 =3D 0x0000000080000000 [ 46] MVFR0_EL1 =3D 0x0000000000000000 [ 47] MVFR1_EL1 =3D 0x0000000000000000 [ 48] MVFR2_EL1 =3D 0x0000000000000000 [ 49] REVIDR_EL1 =3D 0x0000000000000000 [ 50] SMIDR_EL1 =3D 0x0000000000000000 Signed-off-by: Khushit Shah --- hw/arm/virt.c | 1 + target/arm/cpu-models.c | 13 +++++++++++++ 2 files changed, 14 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index f5a8ea1145..90e818690c 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -4147,6 +4147,7 @@ static GPtrArray *virt_get_valid_cpu_types(const Mach= ineState *ms) if (kvm_enabled() && target_aarch64()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("arm-v9.0-a-v1"))); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-v2-v1"))= ); + g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-v2-v2"))= ); } if (target_aarch64()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a53"))); diff --git a/target/arm/cpu-models.c b/target/arm/cpu-models.c index 2de67f353b..af60924953 100644 --- a/target/arm/cpu-models.c +++ b/target/arm/cpu-models.c @@ -16,6 +16,7 @@ * Current Hierarchy: * arm-v9.0-a-v1 * neoverse-v2-v1 (r0p0) + * neoverse-v2-v2 (r0p1) * SPDX-License-Identifier: GPL-2.0-or-later */ =20 @@ -212,9 +213,21 @@ static const ArmModelPropValue neoverse_v2_v1_props[] = =3D { MODEL_PROP_END }; =20 +/* Neoverse V2 CPU model (TRM 102375, r0p1), inherits from neoverse-v2-v1.= */ +static const ArmModelPropValue neoverse_v2_v2_props[] =3D { + /* MIDR_EL1 */ + MODEL_PROP("SYSREG_MIDR_EL1_Revision", NUM, 0x1), /* r0p1 */ + + /* ID_AA64MMFR1_EL1 */ + MODEL_PROP("SYSREG_ID_AA64MMFR1_EL1_ECBHB", NUM, 1), /* FEAT_ECBHB */ + + MODEL_PROP_END, +}; + static const ArmNamedCpuModel arm_cpu_models[] =3D { {"arm-v9.0-a-v1", NULL, arm_v9_0_a_v1_props}, {"neoverse-v2-v1", "arm-v9.0-a-v1", neoverse_v2_v1_props}, + {"neoverse-v2-v2", "neoverse-v2-v1", neoverse_v2_v2_props}, {NULL, NULL, NULL} }; =20 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994235; cv=pass; d=zohomail.com; s=zohoarc; b=NYS7Si2fnDU7zXeNJBQgc9VhTUC0MN8O37GdzOKKFSjsEzuCUGiRKkBnbfExfZqNnPliifW5u3qAj9U0sTRjsYi8y+UJjvhlAxLdeFG+GU9sE6vbuLdBwjq5ZIwbTSzBFZLkNItKgtX0zVx8/SeBDqiC+I7Qi48GS7Ne8S+GraI= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994235; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=mZ21jKjDe60npy3R0Pt3Jg1g+hcsBOzExrkjaM5yHaU=; b=SpdL3fqWRfxY6a5K8DJqy/QPyvc+9cupYerIuJ68Ao/TsMK//pP+JYdKeZLSvsC4b1wVgrljsGeI7kLb3oZQQ1Qu5QKb2todFEmBncuqxhnZmQ4q4d+t/i4+r3awU7xB8qCjdgTmTv4FbPEk2+3ifcPXKeVd//Fe9F0WjHd+hK4= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994235507312.624063967545; Mon, 21 Sep 2026 05:37:15 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGX-0008S9-JJ; Mon, 21 Sep 2026 08:37:02 -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 1x8dDp-0006xR-Cp; Mon, 21 Sep 2026 08:34:24 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDk-0002Av-B9; Mon, 21 Sep 2026 08:34:11 -0400 Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAiHke520340; Mon, 21 Sep 2026 05:33:37 -0700 Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022131.outbound.protection.outlook.com [52.101.43.131]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspqsbhps-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:36 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:34 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=mZ21jKjDe60npy3R0Pt3Jg1g+hcsBOzExrkjaM5yH aU=; b=fkBpSbJTecFW6zo4OPgOqh+9CTPnybqu7HIoy0IMpJISqWb+Dv2fG37k/ Od3yU+vZzPoUVqVNQwn6bGSDedEMoUT4HpYUsFE699V2UurIpHDfUCAGb/TY5Yr3 MmLTxbzY1hGpLf17eVAs4w2yaPjXE4Qu/X+WOfGnCl9lPky7C/MbYUvyzw+YHbh/ 5IpJhOpblSdaEGW4OH2A8e27FtvXUjNml0b1N/1ZbV4qluIHUXCPYmFl3tNhJNWF a7Z9SsH0LmhpCU1RYNVF5sZj6LdLPeKS/c/1/VbJOx+/9HudEwvFcyWEM2SpbYu/ 9qHB0h5YS3bDhmy369eipFX+SCyig== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=Xiuy6WZ5Fg1Fl0tqCTg0nsZagkt9SMo8/v9rqDT3Y+L9QrbZBRwMTb47hgg73pIeW48XLEK5U1zIBH2+sqg8BqNn8IIwvm9qS4rE05JRcWUc1MG47TAxwyS2X1UcD/6um75uzdGiLs5qdIghf+Hga3CkbCh0w8Hg5yfTgr6byYgbpQ4yRhia7WxmehFXl7xpWx0HcQqZyvEqhdaWGTsPMb5V/zuMMpkrQu6Vp6IwAygY4mtql2mi43HpAFcOWD9s6/76030V/+oFWaA9nHagSBziAvqJ3SfQ3dM9YF8BX80pk69PV+qLyv4V1FydlRGT466DogQx2Il0wMlM2ddnnA== 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=mZ21jKjDe60npy3R0Pt3Jg1g+hcsBOzExrkjaM5yHaU=; b=zJ+0+9lwsQ9L5UmTPD+HWR0wCOH8z47D6tRgHriOYcEgOv6TFh1eHbsT73Yfx3JE0PzUXRRf4r/hAGRz1xRbwizyajeuYItmEN1lup1P8nEjGY1e2EUJ67lzsdQsYeXAqAtp3VcGchJpg1/mcm+qrN8nwLV23H+9ipo+FipON2XT2FJYmSYpp80DP5IOUDD9n9k6zP/EXKqNceVyEWcYSMxPYsBkLRkRxo06dR8/EnG8+hle6CaLDxV660uRoR36+IGkdvKjKuMeL8fM4nEA1/mktPAP2+1ho/Pwzo5LZp6AHDwG5UjfMdxv5SHy66g7wy0l0mxqZEUehTYFpF4AAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mZ21jKjDe60npy3R0Pt3Jg1g+hcsBOzExrkjaM5yHaU=; b=fjOqmfkP1Nl2Wmnsycdf38Psd/wBlchDzWE5+xbxuSLx9Bh6UI8dmFg5QIMzuZnGLYPzMRlSLRZxOBK5UzxdDVDfCbcl1/CY4QPo2b+v2GD4oImASS3ColgL80mRULyplgB/6X4Dg/P9M1uVOY8FLTDYlvwDTgVj64mgRpEJuLF/krRwuVy0k7W2wWRUHioRyLNz6i6zt5YDWiY9LiIYKDhfMEylBTAFbo7Ja84CPwWCT5GMRbXJ+JNXVhkUk95/eDg8EDe38z9F2ZKbYszdt7Db82wSTFozPc5KXrUs8qXv3h0cnbTi9NYh08eumIrSJUpbwGjm+P+y1YhzaYjcSA== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 15/25] target/arm: add graviton4-v1 named CPU model Date: Mon, 21 Sep 2026 12:32:39 +0000 Message-ID: <20260921123249.1708067-16-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: a50ee468-5245-48a2-9c1d-08df17dc8d72 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: qST7DhP61AbOnurXxqGKxRjR8Kd4VIHWa6vWNjphzNQnPKSLflkfAbhn7A0C+FEOmyaADLBgzt7rlJixbwfAxVyf0+H89yEkF0XS1ij4puZaPh3oQBu/PdaiWfEBJEUtXZnNycALfl3ZiG1HCwTZBvUVtJSPQUAfwyjGFYAmpORN4fD+Cw8b2QO9dBAtfv1Z1Mvoq5CAufCzl1JrzrpmK4PR/aRNUHmqQsmzc0ZEFw60F1XVS4Hgtcp4BK302vT+wuiAzvpcdzb61ctal6SnGigRVC9krM14KstXS8cOLEZ9I5kvkqUecoO5pPjfWehczaJUrKGecmYXqrlDky1ovuw8AgUyAZK1vZqFHhiP5KxaxerPYU79TkcAyrmXBKCJVW2MBa2cdG4ZpFkYM+sjzXl6fEYE9Cm4brA4+i2YDfXwX27Jl63s0lXXrP9+71KNCVISTkMBEmLVZ051/oZ3cpqlovmN08+X6e/NsNToC8aSYyfoSDE+sJ0IoKqFtOpq+QIYksJ2NKgkkl+WivZb035uhJeUH60XFgQNS96Pv46UneWpj6PDXG+t2GUceE3MIiX0d141MUuIs8irI+7Y1oukbn8gg4410f0jIBekOmgr0UfTEoWQJAqw5ktzuxEFqO7qNXgr00B+YaOQGh1aWMv5Oagr1NCDOHL/g0Nsmm0= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(6133799003)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?GslQFghfsCqviiDAlQWv8rJfkkCyD0SZZz3VurHXTnZuZlo6VMkBxgKVjNjd?= =?us-ascii?Q?BFQTlQr633oAF4AoIF6xCr7KYOtMgMYO8iyXL/QhNj82sLlU2Ao6SvYnLEFk?= =?us-ascii?Q?7ke9/clfxgS7gA7UhFSjRriD9KGdDKKyBRCw2FznFqqNFsLCsP1PHhz5BGVd?= =?us-ascii?Q?x7bGTdVVzCKPl+socYBpOBv/Uo7bEvGIyPBSBNVa9pAIQ8HWdsM5i1zzVKOD?= =?us-ascii?Q?MIhZbw8eVUiWLSNDZB/4nbiGHD4aAiSGVq1rbaeQZK2z1J18RgeKBgTK9Bvt?= =?us-ascii?Q?OMecrPloEjIfy708y1Mw6hKvN+Z7d8MlqRMdRkTunDPCT3eaBh5Am7/ajk91?= =?us-ascii?Q?x+rQfA3tGet6ukuG0t5vQQFACj5C+kv1u8UAYPH3WAX10BQ2Oq2LbscMNNz3?= =?us-ascii?Q?NnJBs0hoZ2leQPvihNr1m3QRh8vpDJWlyUbVB5wv3kI/nNuZjfUCdqDjKhRI?= =?us-ascii?Q?va/sNkKn1jazwodfND3KNzhZxN2U2KVZcF+AY2vzucQsqpEm5N5Bxv0Crjgf?= =?us-ascii?Q?Jp37Wbv+vhEQhuIBCRqTY/4ZOFF/NoMUsSun5vadcAcBi7/45Op7ZPVbnscI?= =?us-ascii?Q?/hd+hMoFDQyRy2Kw5+7lu7yM8/KRAy0ajWYd5bU7XbeeilLk/MqGdJLWHNts?= =?us-ascii?Q?mykxzea+8VMQB6vvBSOWbkUZhg4+iLM/Ed7vN5vKHW2gmUBauBqo7wRaD3iJ?= =?us-ascii?Q?P+iEEhd3MCSbmG6uYDqnZOxEjjaS1IedUAwFUARG7sfacZNeF7zJ0Yy2ZFz3?= =?us-ascii?Q?V94l/G+pscx14yWDqBNeEsAiEbzfqEB+DHiTcem6xxjMmhB9kW8TgX4pYekz?= =?us-ascii?Q?VfmAbnJ4853aHJaHHFUxBbHoN9GOq0uu6hjI7NOy35PD6w8/k7ws5JH2MdzN?= =?us-ascii?Q?xOTJ7cgCehETK9l1iiE28nHsZMK4ahWgBRzaQX86RkUXhF3r9mg44lus4SML?= =?us-ascii?Q?Z8abrBuvfx1nHlrVn0mib8GtjpCKIsN8CAzzgQXRKpGC+Gi6OfuU5GGBSQX7?= =?us-ascii?Q?528DZMf+qKL7vRrxsVERrqiOVM5k5jtf1RWIFakgc72pvNvwabqPzkWrW3s4?= =?us-ascii?Q?JsR9W5GCjTGpyV+ZlzoCZ3+NSsL14c5UIqYseWEM4ntzYxTKpX3DqTB8x5gl?= =?us-ascii?Q?UfTUayZc7Vo4JdGKkQWRwtcPyaN0Rd3h6Q4g6EjJvkgd3ZbbQKruQMteYIV+?= =?us-ascii?Q?C4J1QHpicxyIDfxhVZ97uWTsUqwzka2Meiu73ZgBsf1kuxfwwywgu2DDgcPX?= =?us-ascii?Q?JXeWapiwiMkpuPzsStsNlaofqaDWpazgqZNdxZotJmVj57EsuJax1k2B0Z62?= =?us-ascii?Q?nVAOPRw88y3JJOQ/etxLTdrSdJFF0WSy2H2qpi9vMtukWlzVTTCbNW3bwg58?= =?us-ascii?Q?vflqQJdMRdHOyOg1vNrN8pTdm2OjS3CwVO0SXKeexRA9mAI02DaD5pdlJsxh?= =?us-ascii?Q?LEEtXNLecoHRhj07yZ/gfONgGEQ14x1MU5eHo2g3jKh/yGRguepR71EuGP5c?= =?us-ascii?Q?3RDW1SNgNBuaHV4BccUSpqHFKlpjbO98+MuSwBxF2VK34EQTp0W9JodbTxtx?= =?us-ascii?Q?8GjfJBJH3C9CxBmpO8LqKpOqUIRn4IXr53xhQSR1RL0SRRyZdSDSnWzlukZu?= =?us-ascii?Q?dWhj8AUKqfsQofyCI0vzaAX0vARSrVLmRCxDMGLSSBgknFLAgCc6smimGTyb?= =?us-ascii?Q?+4P1kl8TDlWhLCDJhyrUK+DqHKpUkqkoLNH5MbqfsGwHQIyii/o/hnuYxAfA?= =?us-ascii?Q?ZV2opcrEoqVjjttY9Lj9jLgE5CS4NIc=3D?= X-Exchange-RoutingPolicyChecked: Nst61Hw8XSHZY+ZYlrl0Dh6l+Umwe/FTkh/7p2dlxswpjJLd89M6YCVQHkLp7mNmYyYFslvEJEwYETl+g3LKyfTaJ7VwAnGyvcW2OEiEn7Djo8jqsGG3GJPLxueNlHVZbMrKviTyaYh2Qtx96P0oXggH+Cj40eBfe8O2j24LNN0d7drRhyElf44sh8xEDNjbbnr6W0YE7kNJj10Rjbz3SNUK1q0UgTHRie5FT8Y1zuU+TE4xMHMY9pMzEZ/ShEs/Qt28QkuSDmT+1fo1FQo8DZFc6qoAkP6YHrMt8xIG4aVFkYSrmZ1mJU/F9XMPVWO7y8KeiyE7me9dL/opwm9s7w== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: a50ee468-5245-48a2-9c1d-08df17dc8d72 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:34.4707 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OKt3udgsX0HpeyrRCd4aPNoxswPXtN1Vng5P8l9VEzjkWRT/IunkBxrpLRHioEIPpwfSQuUyWwUvuVwoB7iXQw4wiKJOHQ6vDV2uibpF3F4= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX98ba38c3IXol PsperAnhDni64PhWaZdCfmcsN7bEiJo/kobznWRPTxVnXYzeKP9QaXyAd+241N7QLgCEetvI4Vd 97maF8ygKcKO3OvtC0yxwgNdCSI7IWKQGZnqxyqrzkFWK4lNny17e8zQqiB1BlcmQbrG+GLNXoD OwSy7HOBpihrqeQ2pJD/YJNKO4RhTu0sPm//vS7wZcN7kC3lxgE/lAsCEcOKrtf4gqZ0ucbuz98 j9af8BLbGEvCqU29FQAlPM17I9GUJFoZ0h+zQtNQtadA6WDykQqbrf7VhC/UmtxG5cjBzhyBrkh XinI72nC9F769dsqycyLviwH8TxV0x2dy3kRbUKLtJ0prVx57qZX0XoDOB0OfHB3z9rwAsKcjcl baAQhLmNRSOw1w6NqQyTfFUg1wbv5dyJp4ai1w0VgwWdIIq8VDOPmzXXr5xY2eOlYLzQ0pZmt5/ 5QhjxjZvnisY0oCo+4Q== X-Authority-Analysis: v=2.4 cv=E9BYNqdl c=1 sm=1 tr=0 ts=6ab12420 cx=c_pps a=WiodiXt0wH02q4ozJLtFAw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=_-M8LpHI31CeLmyZm6wg:22 a=64Cc0HZtAAAA:8 a=aUUaiw9hmEWJd_nZoTAA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX7KWeXrhCvbtO fn4XDz1t5X+UKyBlAEnMXZtqc4mvHpXSWoQ1GV4HEYR+/iCiAX8VuzoROWo9VvnC/zmihMsI7/g rQESi8FWQ51dhJNNhXIRsItSXjtKt94= X-Proofpoint-GUID: ONpa2itiZZ_6zc6XiCX7YG2NBmnU8eoV X-Proofpoint-ORIG-GUID: ONpa2itiZZ_6zc6XiCX7YG2NBmnU8eoV X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994236325158500 Content-Type: text/plain; charset="utf-8" Add a KVM-only named CPU model for AWS Graviton4, inheriting from neoverse-v2-v2. Because there is no public Graviton4 TRM, this model is based on ID register dumps from actual Graviton4 systems, which appear to implement Neoverse V2 r0p1 with the SoC crypto and RNDR opt-ins enabled. The extra properties are FEAT_RNG, SHA1/SHA2/SHA3/PMULL, the matching SVE AES/SHA3 bits, and CTR_EL0.DIC. Final ID register state requested from KVM for "graviton4-v1": [ 0] AIDR_EL1 =3D 0x0000000000000000 [ 1] CLIDR_EL1 =3D 0x0000000000000000 [ 2] CTR_EL0 =3D 0x00000000b444c004 [ 3] DCZID_EL0 =3D 0x0000000000000004 [ 4] GMID_EL1 =3D 0x0000000000000000 [ 5] ID_AA64AFR0_EL1 =3D 0x0000000000000000 [ 6] ID_AA64AFR1_EL1 =3D 0x0000000000000000 [ 7] ID_AA64DFR0_EL1 =3D 0x000000f010305009 [ 8] ID_AA64DFR1_EL1 =3D 0x0000000000000000 [ 9] ID_AA64DFR2_EL1 =3D 0x0000000000000000 [ 10] ID_AA64FPFR0_EL1 =3D 0x0000000000000000 [ 11] ID_AA64ISAR0_EL1 =3D 0x1221100110212120 [ 12] ID_AA64ISAR1_EL1 =3D 0x0011111101211052 [ 13] ID_AA64ISAR2_EL1 =3D 0x0000000000000000 [ 14] ID_AA64ISAR3_EL1 =3D 0x0000000000000000 [ 15] ID_AA64MMFR0_EL1 =3D 0x0000011100101125 [ 16] ID_AA64MMFR1_EL1 =3D 0x1000000010312122 [ 17] ID_AA64MMFR2_EL1 =3D 0x1221011110001011 [ 18] ID_AA64MMFR3_EL1 =3D 0x0000000000000000 [ 19] ID_AA64MMFR4_EL1 =3D 0x0000000000000000 [ 20] ID_AA64PFR0_EL1 =3D 0x1101000120110011 [ 21] ID_AA64PFR1_EL1 =3D 0x0000000000000021 [ 22] ID_AA64PFR2_EL1 =3D 0x0000000000000000 [ 23] ID_AA64SMFR0_EL1 =3D 0x0000000000000000 [ 24] ID_AA64ZFR0_EL1 =3D 0x0000100100110021 [ 25] ID_AFR0_EL1 =3D 0x0000000000000000 [ 26] ID_DFR0_EL1 =3D 0x0000000000000000 [ 27] ID_DFR1_EL1 =3D 0x0000000000000000 [ 28] ID_ISAR0_EL1 =3D 0x0000000000000000 [ 29] ID_ISAR1_EL1 =3D 0x0000000000000000 [ 30] ID_ISAR2_EL1 =3D 0x0000000000000000 [ 31] ID_ISAR3_EL1 =3D 0x0000000000000000 [ 32] ID_ISAR4_EL1 =3D 0x0000000000000000 [ 33] ID_ISAR5_EL1 =3D 0x0000000000000000 [ 34] ID_ISAR6_EL1 =3D 0x0000000000000000 [ 35] ID_MMFR0_EL1 =3D 0x0000000000000000 [ 36] ID_MMFR1_EL1 =3D 0x0000000000000000 [ 37] ID_MMFR2_EL1 =3D 0x0000000000000000 [ 38] ID_MMFR3_EL1 =3D 0x0000000000000000 [ 39] ID_MMFR4_EL1 =3D 0x0000000000000000 [ 40] ID_MMFR5_EL1 =3D 0x0000000000000000 [ 41] ID_PFR0_EL1 =3D 0x0000000000000000 [ 42] ID_PFR1_EL1 =3D 0x0000000000000000 [ 43] ID_PFR2_EL1 =3D 0x0000000000000000 [ 44] MIDR_EL1 =3D 0x00000000410fd4f1 [ 45] MPIDR_EL1 =3D 0x0000000080000000 [ 46] MVFR0_EL1 =3D 0x0000000000000000 [ 47] MVFR1_EL1 =3D 0x0000000000000000 [ 48] MVFR2_EL1 =3D 0x0000000000000000 [ 49] REVIDR_EL1 =3D 0x0000000000000000 [ 50] SMIDR_EL1 =3D 0x0000000000000000 Signed-off-by: Khushit Shah --- hw/arm/virt.c | 1 + target/arm/cpu-models.c | 21 +++++++++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index 90e818690c..e514d167cd 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -4148,6 +4148,7 @@ static GPtrArray *virt_get_valid_cpu_types(const Mach= ineState *ms) g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("arm-v9.0-a-v1"))); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-v2-v1"))= ); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-v2-v2"))= ); + g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("graviton4-v1"))); } if (target_aarch64()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a53"))); diff --git a/target/arm/cpu-models.c b/target/arm/cpu-models.c index af60924953..1a8913e619 100644 --- a/target/arm/cpu-models.c +++ b/target/arm/cpu-models.c @@ -17,6 +17,7 @@ * arm-v9.0-a-v1 * neoverse-v2-v1 (r0p0) * neoverse-v2-v2 (r0p1) + * graviton4-v1 * SPDX-License-Identifier: GPL-2.0-or-later */ =20 @@ -224,10 +225,30 @@ static const ArmModelPropValue neoverse_v2_v2_props[]= =3D { MODEL_PROP_END, }; =20 +/* Based on neoverse-v2-v2, with opt-in cryptographic features and RNDR. */ +static const ArmModelPropValue graviton4_v1_props[] =3D { + /* ID_AA64ISAR0_EL1 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_RNDR", NUM, 1), /* FEAT_RNDR */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_SHA3", NUM, 1), /* FEAT_SHA3 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_SHA2", NUM, 2), /* FEAT_SHA256 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_SHA1", NUM, 1), /* FEAT_SHA1 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_AES", NUM, 2), /* FEAT_PMULL */ + + /* ID_AA64ZFR0_EL1 */ + MODEL_PROP("SYSREG_ID_AA64ZFR0_EL1_AES", NUM, 2), /* FEAT_SVE_PMULL128= */ + MODEL_PROP("SYSREG_ID_AA64ZFR0_EL1_SHA3", NUM, 1), /* FEAT_SVE_SHA3 */ + + /* CTR_EL0 */ + MODEL_PROP("SYSREG_CTR_EL0_DIC", NUM, 1), + + MODEL_PROP_END, +}; + static const ArmNamedCpuModel arm_cpu_models[] =3D { {"arm-v9.0-a-v1", NULL, arm_v9_0_a_v1_props}, {"neoverse-v2-v1", "arm-v9.0-a-v1", neoverse_v2_v1_props}, {"neoverse-v2-v2", "neoverse-v2-v1", neoverse_v2_v2_props}, + {"graviton4-v1", "neoverse-v2-v2", graviton4_v1_props}, {NULL, NULL, NULL} }; =20 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994176; cv=pass; d=zohomail.com; s=zohoarc; b=b4VuFqJabvQVP72+sP76E5UIZdVk/peOyDF6TcxyA/rvXqOAt+MNFPpKR03KjukilRjL2kLCrfYx6gbLhHM5KATAazj3Cx7Dz5Nt+WaMda5pbbpYKxd5LZbvl7tPfTYLMjJMIZO4nis2T1E9SzEvAJFnJAN8j8g7zd6Ip2G7ZXs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994176; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lecJGAnvOFYQuF9ewe36GTjL35wQQq6E5H2AiTY03HE=; b=VJDCgCQL+hD5PS7r2oMXXXmtW3wRM6QmlPnwmyNZNzW1oX9t3sL7UulNXcisrwESnKxU8nr89Fek/tsWCjJFkdELlTRCUFMD2VMGDKUe4Hfbb0F23mzY4fe5veUFIulTlBBymOOBkhjDJBocDYoCa/hOduV+82ZceodYYaEiwGs= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994176555985.8931343335682; Mon, 21 Sep 2026 05:36:16 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dFR-0007WV-9H; Mon, 21 Sep 2026 08:36:00 -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 1x8dDb-0006tk-25; Mon, 21 Sep 2026 08:34:00 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDY-00029U-UI; Mon, 21 Sep 2026 08:33:58 -0400 Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAiHkf520340; Mon, 21 Sep 2026 05:33:37 -0700 Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022131.outbound.protection.outlook.com [52.101.43.131]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspqsbhps-3 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:37 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:35 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:35 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=lecJGAnvOFYQuF9ewe36GTjL35wQQq6E5H2AiTY03 HE=; b=jzibel37Cb0ypNGuqKPU1olXFSYyAoCyqNDM9j9f4hS9PP/x+dCuE+IrD EJP/3owAJoAfZnBp7b68XhLZvFw6GU1iXV5gz/wSxQnWnq1mXVdbRlPGAji0qfG2 7Vg50/zE7HljlhG6yNh1j7zx6EEgWCyljm+0bY1NWWcFtjVStb7JS7yNFSRBZ2pv sXD+dFRwjrNWAz2qRYH3Zcj5mzoLtfvCwYz4hVSSPMRZISqf7sJeWhVKPXipI25S 2kmN4QAYd0numeCNj1ealZCYI5UG960cutHfH8cQHH+JWSypwRl6HctKvC+BiSh7 1ryBtLwkD24VBaDbibnYQoq0/frbg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GbEwDS9fU5k/td7P71L9OEZVUWFZGIXoh9Qg/gSMQTyswvRAq4a84irp7weHv2B33TXAZXJ28lpmIOLyTjcITNDF+JIjGTfWa7R16yihbM5bWC7LKN61uksSg5SDb9C8owhBcaSwBeezWVTIhWZVMkYtluVJzF7PG4eA+Eb8y91UJjhpiaKZ0xXfZuFNlRxopTOZcbsPGvaUHCxhAiihK8yK/yeb7gdsipfuDTFLKmEhN23A5RFeABbKZTyfLgR2nplLm4OUuSyt8Dso/u8eBDHKOS9iOWZGZLJrNc5Pwui6uLI37jTCOTF2POK1W+086v95o3RYJwr1OogN6lDN3Q== 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=lecJGAnvOFYQuF9ewe36GTjL35wQQq6E5H2AiTY03HE=; b=mjT4dXUXnW8VnwVsLWJBeibslYjvL6Mxhg/jLptkRz+xIw1xc8hT8fj7ZWnqoSVwZ7MhiS70uXfpcODyYO2ggDBR9b398eqpwi5pGWvLvZmN87IVxDERIA2bqKLIcDh6K6HwHogT0lfyOhx6+WRyomPPRD85fpvNiF2m9zP0LnbmNTeoV23t/dg/PhR6wXbTyDkNk0PZ4RSk3UsKNPan0R0lpAjeLnQ6MugvEUhuB2N/h7O1bCCKIkihEdB/uI4CJYkKNuab05AMXV61RxKJZQtbSC5u1sJS1w2aq7l+r8y6xvThakLdtGGYW1VD1INNsd4T28SQ3dLabtWo8kGzWA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lecJGAnvOFYQuF9ewe36GTjL35wQQq6E5H2AiTY03HE=; b=oOfNkiF/yqkMDBpZw3+sVU9eQf9OF6J7TxwMPpC1RMu8G21J039qAfhjm2cqW7Jy80gpVlwyQM3OVllraH68JQ5qDhdh8e/704CpmnYcJphWkaprhAFvxUvleb3gMEfTj5sSog1xdjpHgvjf4+dGUIstqXlGyhpLSjjCRoSjH8B8NNqK6/0kXlpAPuN5yNlwdnG5pWqI9KzUmQ98JLYvuxYtcPGb+WagGIspQXCHfk1m2ykzNT57NmydynG0y5z3/WugEjeg68Z/GqQqdXCUSZsorU21tpG7hyUc95ISOr+uj3qNk33SlXATz0+tdSxFLQvZOosdJ6mVqbS32UrInQ== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 16/25] target/arm: add grace-v1 named CPU model Date: Mon, 21 Sep 2026 12:32:40 +0000 Message-ID: <20260921123249.1708067-17-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: 250b3c2d-af5e-4894-6571-08df17dc8df8 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: Ld0LlsReasyME84i9bkEWwS3PM+L/EajUwSx/FhS+gFBT1Zyw22vhQ8PjKp4DYLz9rjsDG4CY6be1PRFBffBl2f/kPNF8jSRZYAuNDBDE+Be12S4qOqbgJrhrurMWTXvY/MKnbyaJ2Dx3uYkurhUOraOQqMqGbU9DbMBRUfd+R/pXJSNPNpMUSXAeESDGzpYro92qXpKAs/tX79YvDZ35WLOXYbL/oMPSXNRekJD2yODtjJFODdpzKH/G1VCMeId1pJp2GeIIzAmtO1qlisE7ZeM+yl9zj/1Pv3BB/kk5/eSupNXchgQh9Iemqk8YiiIEGIc8lZbtGIgX390C++XXOUDUeIQyqhG055biCCpr+zutZ3mD/LjMK1LCVGnU2W5XgCuMJTAICzz6LLB4O7NmdZjx2kGlX7kq/COVo+OLf/dDyCHye9OELkV/7ucT1bxq2fWAbjxshgEncW9Sl3M+L3eaOQ1rHz0fGmh/F4e0a3+Ed/bY5ptnHCZWi3IpsevWMWXKUM7+p/Yn3C2JqrHxeZqSgsytUFegU+CWACwmGnfqkU31zemQpGvMOmDpBS6RnbUKLs2Mx9G4qVsDC8Oy7tDgakFuxoQDuR7F4wnNVXiJeY5odU6h8p0e0VmqCWaN6NGsqIIurIw97Ivhp0KkfjzOnUsRdoTg+RrHRr3L/o= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(6133799003)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?uHwUYreuO5rhiJtVQMbC+j7Z1sVj1CY3pcFNiAbzzIjnk85TK6Yk6Legx+dX?= =?us-ascii?Q?z17et4fC2eAYsI6MKKT8oTLRtMdcUiPbzQYdeXY6L5nBDR32eeeFjnAy5OZk?= =?us-ascii?Q?pPXci+oZ9NWVo2bRZBCciuxgSk/ydS3au8MaGlFs7zutCYLIGL2auc+ss2bB?= =?us-ascii?Q?MkH5l42Ta65I1Xdg1oRQvsJJW1joU64aurOwrxYfEOz5BIejI56x3bP+Nf8d?= =?us-ascii?Q?4ck0/5mpBaCfVXqzLpYR0wDVtIqM1fOTLR5QL9vXZB38XGP3jvEuWJICZqOQ?= =?us-ascii?Q?jdH1VMWCQ/db5HdoWcE/35HDG0x5iU6Ve4UWVsJBQLs5nMs14F1wDB1/6XC4?= =?us-ascii?Q?YcX1vYTQARYnjRwMF6huAqN6BP63IxQb7d+RGlP9yewW0zSVBJfQXi57AFAp?= =?us-ascii?Q?uTFcOyIQQ78YuFiyjsrfRb+GhE/QcK0HftmGcVT6QbfYFx52+o4ZEA9FJxgb?= =?us-ascii?Q?BDi04NmeZ3XaBWZFW9iPTFf8DTWch43OVVz2x7cUudNzXgbbweOqDnPQyzYu?= =?us-ascii?Q?9hvMItdeuXBW7zkcAC/fEGeZUHyjUmV5NO02hWWoF9xNaHdeL+SGYM3M8YAq?= =?us-ascii?Q?KDgQuh0e74wAnEHKS+y36k6VclmMWOtU3O5w13oABTh1SKcOytWnViAeO+PJ?= =?us-ascii?Q?gY+GNaOGT1+99Mn+OFbQ0KCbQlQsEErefKXzd3BBBFTv4fUcen2srVAoqJ6H?= =?us-ascii?Q?M+7QwCb25wRkr8roYp3wv9+0pKFOMr8Jx33U1nIzlc6MV4Uz3acOgzork6hQ?= =?us-ascii?Q?6P1qH5SKbi2Jo6p562mdc5Xy5BvHeu9NLaWEFP1Rbb3wj8rG8pqrz/ncb7Dv?= =?us-ascii?Q?EDsUmH3FbdCDPY4CK0Qq7g6zoYtDYZVk4Ihs0u9Iccy3eeZsetAoUgoy386x?= =?us-ascii?Q?KLgO7589DD3hDWVaietcvyvebnOKnFRsbBkoDeL7UGTWhNfMJhBEOxFvuz9B?= =?us-ascii?Q?29QKXKXHcjCZe9rTi5KlXX8ovk46+XVrmb8nTVsdrhYVsXKQ9depKDQNO7X5?= =?us-ascii?Q?dZDQB8KcXiNGSi4LYw7p8B43Ej6eLn6kqf3edxbqbO4FnWcI7PHZkArrbaSn?= =?us-ascii?Q?ccNYFq2rKuHpij0Slpcf9K7KPVNtTCfttcD0xCuj1COh4JHQ28Sgzgk0CoW6?= =?us-ascii?Q?GF5K2C0nE+uIgTk8C97BSNzsVrJrMHoom5A/eqi7juVjWeOTkv+GBGr8PA7P?= =?us-ascii?Q?k/GqL7ier0SNzflGeHVW0vpsyCjUm3HCAolpx4M5A/WZetkleB5r30+D+R/v?= =?us-ascii?Q?PuDKjEA1HPcdnRvPsxGjupB/pZzssf2jzyzfpdTPwjT2hkXMnEp9th0eukH/?= =?us-ascii?Q?pEb4PZsZ2WVbeoj+l1Z67FiiWQnkSycNGTAxX+ju+AkHXI6gboM40vvVxAco?= =?us-ascii?Q?taGYSORUf5tgWGLYrMEnqw3YEcpGA9+sRw2R5LKhWIyPiEm2WFbO3BZA8UP9?= =?us-ascii?Q?fLVGwgVG7gkpncnHFz+CvkWgArHH0X/b6o9u/FSgSIt+0uiCsA3uNqDUSOqw?= =?us-ascii?Q?bovWBT5Gnq48FbbHy2vNaIyEmDw/HwTTwKgv8imFiOfSPwmI/F02nv8ODcTC?= =?us-ascii?Q?RkN8ePL46YVjr3skYl3mcVLZt1Z4nzK2QMqo+5l3R41FFb09KQWXpx64KL4W?= =?us-ascii?Q?tr3umAkXyJYx7gGXxlLAZ1qe4Z+PhHHRuFPunhlW8gjk+z+xVK1VcmD1j/xy?= =?us-ascii?Q?/9sqy+pG3/myR6hEt7okTaRb6FVtIrstoz4YFisGaom42c72jYLKuJcbDBFH?= =?us-ascii?Q?z/qi+gd8M7tkwWqGmQXI1WJmuRfgXyE=3D?= X-Exchange-RoutingPolicyChecked: UOcE8d+8hnyPsuRA4w2v3YNEqEHFa8dNCPg0CW39YyqyeXQmFoCj507n3F82YpkdBpVYp67aX9SY4TLyO0URV8sPcSY562qxOBzZ3+ktzMRGM2H5F+gZ4PGBVNNOF585EZyx+VFuPjmzDSeUcNDvO9qi8pGXbhhAshleNTuiusZS2so69iHQp7Q+XpANqkw0GBjSc3ozZGx9aFxge7rsUAsf6BJooTibusrWfw+OHwm7Ali/LGcsJ5HqC0e0Y2hy1M3fNvMTuRssuwq47ZbdLMlGhCMPpyVLg50m77yWiczkNumHoqjVrKN6yiFIhqNjQWDk/4XjL6aIFtwmVFp+zQ== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 250b3c2d-af5e-4894-6571-08df17dc8df8 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:35.3056 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OX3p5QuvO0/bujd7CRmwdR+pE/pAREHXqaKG7+cb5qi6tNdbrK4aRnlCb67Eb/PJLMPAGXx7gyjTS33sW/sPFaMLvwLFfJGHvVimEfesuno= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX3ZCDnB9lCAGs FFmc1K8BE4hqAXI6yMINHbEAeNHP8vQ8e9dw7n+qKMvqFLaH39HfckljhIkermqPApcMTbjFMJW SRir7+npb/44whLko31V23A4ERPXQn7haWU7dhVGyZRIKzXrs/CyFutkcfEBe596cjyBuY5qs/f jPkCYlm9u8lkOAOXWplW7AP48DCu8gqTFrC5l3TQCk28wZQ/Ck0YjV32nMSrn1x+Y8yohquXF0p eWjtCw5bZ3u6TEzqmkRPOUusePzjsTvD/B2WivVlqNs/bNmVVkKlAZpZUbxEz+wHDQaeEWEIe1Y T9kam8d9U+4NKMsQyr/QhsbndVuqoqdBHKp9eR+2ImMH9w4yaHD76KZOydJ+tqKwlrsPGbPzPDz 56XEAb4mwYC0JgSs/TDvseLpJETByOVzh+0Ih/HzAT4DZZ4eBRfyp6/MlLIGQRZQrbjoI8fj7om IQlSZXdKoyIK+jUXN1w== X-Authority-Analysis: v=2.4 cv=E9BYNqdl c=1 sm=1 tr=0 ts=6ab12421 cx=c_pps a=WiodiXt0wH02q4ozJLtFAw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=_-M8LpHI31CeLmyZm6wg:22 a=64Cc0HZtAAAA:8 a=irvVlNVXBIsn0KuwmqQA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX+UtxjYMPKXEr 8Y5jeZjYTnXGuAyJE1rloXKCAZ4IAe8gUWcabtWtupVfwzM/IwWQoJC+bJO5FEE4ZWbpnq8Srl9 NMI0EU3IJnm7I6qlJG31QycSMQ6XEb0= X-Proofpoint-GUID: 1hKUesYxLB4VDu1X1IB8kPDorf3ULvKk X-Proofpoint-ORIG-GUID: 1hKUesYxLB4VDu1X1IB8kPDorf3ULvKk X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994178272158500 Content-Type: text/plain; charset="utf-8" Add a KVM-only named CPU model for NVIDIA Grace, inheriting from neoverse-v2-v1. Because there is no public Grace TRM, this model is based on ID register dumps from actual Grace systems, which appear to implement Neoverse V2 r0p0 with the SoC crypto opt-ins enabled. The extra properties are SM3/SM4, SHA1/SHA2/SHA3/PMULL, the matching SVE AES/SHA3/SM4 bits, and CTR_EL0.DIC. Final ID register state requested from KVM for "grace-v1": [ 0] AIDR_EL1 =3D 0x0000000000000000 [ 1] CLIDR_EL1 =3D 0x0000000000000000 [ 2] CTR_EL0 =3D 0x00000000b444c004 [ 3] DCZID_EL0 =3D 0x0000000000000004 [ 4] GMID_EL1 =3D 0x0000000000000000 [ 5] ID_AA64AFR0_EL1 =3D 0x0000000000000000 [ 6] ID_AA64AFR1_EL1 =3D 0x0000000000000000 [ 7] ID_AA64DFR0_EL1 =3D 0x000000f010305009 [ 8] ID_AA64DFR1_EL1 =3D 0x0000000000000000 [ 9] ID_AA64DFR2_EL1 =3D 0x0000000000000000 [ 10] ID_AA64FPFR0_EL1 =3D 0x0000000000000000 [ 11] ID_AA64ISAR0_EL1 =3D 0x0221111110212120 [ 12] ID_AA64ISAR1_EL1 =3D 0x0011111101211052 [ 13] ID_AA64ISAR2_EL1 =3D 0x0000000000000000 [ 14] ID_AA64ISAR3_EL1 =3D 0x0000000000000000 [ 15] ID_AA64MMFR0_EL1 =3D 0x0000011100101125 [ 16] ID_AA64MMFR1_EL1 =3D 0x0000000010312122 [ 17] ID_AA64MMFR2_EL1 =3D 0x1221011110001011 [ 18] ID_AA64MMFR3_EL1 =3D 0x0000000000000000 [ 19] ID_AA64MMFR4_EL1 =3D 0x0000000000000000 [ 20] ID_AA64PFR0_EL1 =3D 0x1101000120110011 [ 21] ID_AA64PFR1_EL1 =3D 0x0000000000000021 [ 22] ID_AA64PFR2_EL1 =3D 0x0000000000000000 [ 23] ID_AA64SMFR0_EL1 =3D 0x0000000000000000 [ 24] ID_AA64ZFR0_EL1 =3D 0x0000110100110021 [ 25] ID_AFR0_EL1 =3D 0x0000000000000000 [ 26] ID_DFR0_EL1 =3D 0x0000000000000000 [ 27] ID_DFR1_EL1 =3D 0x0000000000000000 [ 28] ID_ISAR0_EL1 =3D 0x0000000000000000 [ 29] ID_ISAR1_EL1 =3D 0x0000000000000000 [ 30] ID_ISAR2_EL1 =3D 0x0000000000000000 [ 31] ID_ISAR3_EL1 =3D 0x0000000000000000 [ 32] ID_ISAR4_EL1 =3D 0x0000000000000000 [ 33] ID_ISAR5_EL1 =3D 0x0000000000000000 [ 34] ID_ISAR6_EL1 =3D 0x0000000000000000 [ 35] ID_MMFR0_EL1 =3D 0x0000000000000000 [ 36] ID_MMFR1_EL1 =3D 0x0000000000000000 [ 37] ID_MMFR2_EL1 =3D 0x0000000000000000 [ 38] ID_MMFR3_EL1 =3D 0x0000000000000000 [ 39] ID_MMFR4_EL1 =3D 0x0000000000000000 [ 40] ID_MMFR5_EL1 =3D 0x0000000000000000 [ 41] ID_PFR0_EL1 =3D 0x0000000000000000 [ 42] ID_PFR1_EL1 =3D 0x0000000000000000 [ 43] ID_PFR2_EL1 =3D 0x0000000000000000 [ 44] MIDR_EL1 =3D 0x00000000410fd4f0 [ 45] MPIDR_EL1 =3D 0x0000000080000000 [ 46] MVFR0_EL1 =3D 0x0000000000000000 [ 47] MVFR1_EL1 =3D 0x0000000000000000 [ 48] MVFR2_EL1 =3D 0x0000000000000000 [ 49] REVIDR_EL1 =3D 0x0000000000000000 [ 50] SMIDR_EL1 =3D 0x0000000000000000 Signed-off-by: Khushit Shah --- hw/arm/virt.c | 1 + target/arm/cpu-models.c | 23 +++++++++++++++++++++++ 2 files changed, 24 insertions(+) diff --git a/hw/arm/virt.c b/hw/arm/virt.c index e514d167cd..d5ff7cf29d 100644 --- a/hw/arm/virt.c +++ b/hw/arm/virt.c @@ -4149,6 +4149,7 @@ static GPtrArray *virt_get_valid_cpu_types(const Mach= ineState *ms) g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-v2-v1"))= ); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("neoverse-v2-v2"))= ); g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("graviton4-v1"))); + g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("grace-v1"))); } if (target_aarch64()) { g_ptr_array_add(vct, g_strdup(ARM_CPU_TYPE_NAME("cortex-a53"))); diff --git a/target/arm/cpu-models.c b/target/arm/cpu-models.c index 1a8913e619..4e92909755 100644 --- a/target/arm/cpu-models.c +++ b/target/arm/cpu-models.c @@ -18,6 +18,7 @@ * neoverse-v2-v1 (r0p0) * neoverse-v2-v2 (r0p1) * graviton4-v1 + * grace-v1 * SPDX-License-Identifier: GPL-2.0-or-later */ =20 @@ -225,6 +226,27 @@ static const ArmModelPropValue neoverse_v2_v2_props[] = =3D { MODEL_PROP_END, }; =20 +/* Based on neoverse-v2-v1, with opt-in cryptographic features. */ +static const ArmModelPropValue grace_v1_props[] =3D { + /* ID_AA64ISAR0_EL1 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_SM4", NUM, 1), /* FEAT_SM4 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_SM3", NUM, 1), /* FEAT_SM3 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_SHA3", NUM, 1), /* FEAT_SHA3 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_SHA2", NUM, 2), /* FEAT_SHA256 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_SHA1", NUM, 1), /* FEAT_SHA1 */ + MODEL_PROP("SYSREG_ID_AA64ISAR0_EL1_AES", NUM, 2), /* FEAT_PMULL */ + + /* ID_AA64ZFR0_EL1 */ + MODEL_PROP("SYSREG_ID_AA64ZFR0_EL1_AES", NUM, 2), /* FEAT_SVE_PMULL128= */ + MODEL_PROP("SYSREG_ID_AA64ZFR0_EL1_SHA3", NUM, 1), /* FEAT_SVE_SHA3 */ + MODEL_PROP("SYSREG_ID_AA64ZFR0_EL1_SM4", NUM, 1), /* FEAT_SVE_SM4 */ + + /* CTR_EL0 */ + MODEL_PROP("SYSREG_CTR_EL0_DIC", NUM, 1), + + MODEL_PROP_END, +}; + /* Based on neoverse-v2-v2, with opt-in cryptographic features and RNDR. */ static const ArmModelPropValue graviton4_v1_props[] =3D { /* ID_AA64ISAR0_EL1 */ @@ -249,6 +271,7 @@ static const ArmNamedCpuModel arm_cpu_models[] =3D { {"neoverse-v2-v1", "arm-v9.0-a-v1", neoverse_v2_v1_props}, {"neoverse-v2-v2", "neoverse-v2-v1", neoverse_v2_v2_props}, {"graviton4-v1", "neoverse-v2-v2", graviton4_v1_props}, + {"grace-v1", "neoverse-v2-v1", grace_v1_props}, {NULL, NULL, NULL} }; =20 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994505; cv=pass; d=zohomail.com; s=zohoarc; b=L4Oj/V4SVOvteCXPXOLW2RrS7VXJKNTpPU8u03i8f903dRLd0WyXKHGUFmeBeJ4k6gsewCYTU4wR9jNLZN0qHYh/Jspp++iXn2LALmNI9Qv76UwmxCWNNOr3pf59T8vUFpt0yEKRNy633dVFCH2EfohLffufWf1cCtM7+hmJlaQ= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994505; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tEC5hr3tAKTD+jXZBwrtYWtBStRzevILe/PpLZJ6P3U=; b=OcCaWJnBK7dRs0s6jPRe/sp8jRTkX2dHJCYCRUkCLEGy8f0rTo/sWbLwFzENSX60f1JtFMKzNfH6H7dv5Wq79NQyxjlUhopz5Wlc/4DlN5/6gVU1fsMK7mawkDEma6DMk9yNfU6iyvuhaQ8GZL04KLwqgg9sob5GBUJeMqmnNuM= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994505151260.16643109517963; Mon, 21 Sep 2026 05:41:45 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGc-0000FS-4p; Mon, 21 Sep 2026 08:37:06 -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 1x8dDp-0006xO-Bt; Mon, 21 Sep 2026 08:34:24 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDi-0002AO-W0; Mon, 21 Sep 2026 08:34:09 -0400 Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAiHkg520340; Mon, 21 Sep 2026 05:33:38 -0700 Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022131.outbound.protection.outlook.com [52.101.43.131]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspqsbhps-4 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:37 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:36 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=tEC5hr3tAKTD+jXZBwrtYWtBStRzevILe/PpLZJ6P 3U=; b=YGmku1JSKiUQvjP/FYfS3loVcoVALZRM4DTe/EovAGfKP55GyiQFR5hjE QT22xxSHne26MMxuYTQXK99iQ0LWSHA+DmKf0PGynDHeAbowCNUlUgkRrhGE0Mf2 beIPLkdFaJEOU33ZBzfkGbuDrCM72RtQTye7CDfvbLUr8sW4jc5TagldnQAAbxU7 xaguu9VU+1aDc+1GfzIjRFKtVfBf/KR4wcFMBtRuCyrhJt3ni+LFW/CSa8+sbUbn XfBk3VOeiVb6vjrCWc7lswUcR8ezbQjGBqnkovhZ3kIXsxAiyJwVAkuHZ7tx128s emwa+rOtxTYNwpSoUQEmhAQZ2Gegg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=xZXwAZeMBwgdK9JPDGp2cPRRjxV7dAgHq8jnoiZjdmGi9COtBR4IaMXtilVR8mhYcy0yXUb6AzZBz1vPUlW9f2U5EEUPn1Ah0uCA3m5+WgtgrH144Jlo6HYH+OMiDIIsQ+qJFzy+sKAmGD/wW3w25XVLmkoRbjZfmnb9VzxqWxnV11ElKiWpLKwOm9J+7w1wrzjet7puRpQuNjzvEOGz9f6o5vvlFHZFqER3BBfSJYGvkAkmtbmX5G9ZojnqHiKRG59qMdfTnRVhicZbJ75G3XFh87OWlEBDQ4leuPYy6zPXFvCHCFx6Q2i0i57EE1g5ppiJsbieiO/jS28Gl+UIbw== 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=tEC5hr3tAKTD+jXZBwrtYWtBStRzevILe/PpLZJ6P3U=; b=U2TED3O2gqkocCE/PB3/NKDXBWoIEE8fQLlGTg1NFLmxjy5gn90hXP2I9vlYUeYLIWQ+VSUmVL/fGlPn4akE16kgqNiugpn6mEKgjxwTRU29/cEqiaSdn7PjST3k16T8Bh4Plq++72N1H7TI20367sT4qwgcWKoF3ixXjiTq9NqTFvdPIaN97z0G7Dc3gOaekNHHTuKoCWh4SUAzf9Df5EN7OB1k7Rr1OadNxv/hF5pPGSv/zy/OdSRILywkHFjlyF2oooeKBpiNxxwR+ym/M8BwH5KLZoCtLymmNGRllZLum+7lN9rysvzz2qgkQD7dZBvJFBrsFVLegsfR4llfDw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tEC5hr3tAKTD+jXZBwrtYWtBStRzevILe/PpLZJ6P3U=; b=rfUY/ZMC2Fw6DKUA9i2zEW1TIlNQx8znmNUfOGXXHal1BFngZszdxn4OCiImq3cAlymGHfbhAuDCz+U1uxZMH2IqTyTbfWvK5tJRhUng4HRo/iFKLqpMQhQvp6xbJ44q5zY8d4WXXugTgsI/9qwctq9jhHZuT4uYmVV8mDQVQQDkLzs4cHqgagsd5hTl7FS6YBjLixNcoB+k6qYH3M2hQcK7aHkAiRdZ4Fpf0pc7KB7/FJkHIyzCBfx/b7MqHmLP4w+UGtZoXk6QNhGtrPQYmTkG/TQANdQYTpsooZUVt8EUxZ0cLUZLXf7zzifD/fEql9OfU4bEO56oFg6s1CGD2A== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 17/25] target/arm: fail named CPU models on unknown non-zero feature ID regs Date: Mon, 21 Sep 2026 12:32:41 +0000 Message-ID: <20260921123249.1708067-18-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: 08846e41-9f7c-4a82-10f4-08df17dc8e6c x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: /y8Uh6xnR0SIrbxkIIVt62gukuqE+gKOVRdhmWAIKIwg7OZ9RIzoNPk2a9VhqI1wvLO6IItnW866yG+O+RGkdFDD8fEuAXTpxOdncyd2rRCYrKze5iJyj+R9rSN7Fp7QLR/SY2cfIA8tygX7LM+g9kJiandFKpa63738FArFrXmjN5gE+VD/hs6Xa5g9HS3T9Ra59Su5W7R/71hxETSSGtcVUmBSVXhZek1gTnpMlXWhQQj+JmA2bcmtxW+v7q/j9HydJEGgqvFH9PLm2gEkYLMTI2jknpfA7TtnK4uWt1pkUzKHZemVzjofW3orvW4hlu4ActTF18axTY8TeRvhFuay9rGCMMeQhp50kDYoMib3t4DG1rqnhU195/w2Rfu2EJFs4O181bI/XN3/fdBfNiMVZV3W6U1iXxxyP0vbt0wOK8nWMzP20US5ZIY0nRlWmkXQ+gHj8DRWklpzd9nBA6F9gr71Y/N/XDts4ZmBGX0OIIMR2L4qh9+bEFByQD7p/DrjOBZ4Mzavf3EakaMH5LTQGb0nuSG4kPc+pjwQv6JJ8dKcw3IxdUAF6hr4Kx1UnWbwJgU9pQXvZLr5zXRHTUffqlYel/Wu8c76MhrN7jZa9KrNEqcayFvbGyTlCgelZPp2BZnBtx/CKIOiAnRX8Ne5znubY8SNQxKflyt5TjI= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(6133799003)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?jW1gTRJ6Nxr1Y9/AgmtVGeWSVCIk9du5dKuaj/S05pBePHBSf5YWgLHOSZWS?= =?us-ascii?Q?qruS0fj/DWfENGy0JzTxuGOxmVXzwVSyL168E4Qs4bCWagAz3dCmSp7HzAnx?= =?us-ascii?Q?8IEIAVvR3+FFNB4h8JMM0rafwj+k09Ujgp1HTnNSBwP26AK5QUaeog175u2V?= =?us-ascii?Q?jshAbKdTTv/SmEbkjt2SKDvip6mHkb+Vh02jWiMoAQs1BEKnFLEeO19zEYD6?= =?us-ascii?Q?5E+gE22LaSGo7ewsiBYSKJt5AmBf6zk2hoE6zCCEPI6hfuT2hobHh6+RDlbT?= =?us-ascii?Q?hfDcO3wF1SNmGZL1axD5YN0yRimpLiQhzcwxKLK+kX+otDIMWl5PcCEkzdQp?= =?us-ascii?Q?40we6E3JlvCAlU1GSOcBeYrc7FQiKD9pGQR6ZDAYhUVLjUEX3vBRmWDBYFqK?= =?us-ascii?Q?KBxaCGqcqjE2tW0pLz3rq4zRApAH+nk4bndBdXy0s8uQ6DaiA0v8EjO2JBEe?= =?us-ascii?Q?3FnItvSeqL/C45uSrKrafA2Av2Uekp1aPFVYoxkJHgYqkrd2w+AO0U9RUvcY?= =?us-ascii?Q?LjRpq3t7yzSqd544rNtvl5Q9QqbxAqYx97iuRcQCcVc+Nko/qxwBHz2g9EuG?= =?us-ascii?Q?jiwbf6nGTS2nZfFcVqe08R5IAAgvbXAqAUiTG3MQRk9MVghdviw+FGFfcu9t?= =?us-ascii?Q?OAr+NMUX4NmecqDg9PNTOI90h9pXQ2XLOXPeWa65hwwe/TVJnisurXFlqyhf?= =?us-ascii?Q?rgQp4iTWQCxAIdfZ97Bnc3LB1q+9M/8ipRKYkELNUyObG/ySgobSaBeBxHwK?= =?us-ascii?Q?lPNtu7iPIz2nGh0JUkQSgKgXV7lCrCmtDpYLp7adjBhwzbY2xngToQRrAjPj?= =?us-ascii?Q?bXZdyxeGmSJF5krU3QQ6D6PGpdweKcIE5vEBSPGY7G75K3wwItQO7H3lb2Ue?= =?us-ascii?Q?/Lr+lXafMvFB73IShRtnYqx4L1UvEvb3e8WNBBmDcqUyQI86PCilddnYhf90?= =?us-ascii?Q?80z/GEXrEk9d/tSuks2gDlVdtzAJ24dcJ50VkszqPicls24i/kKxppqetMLc?= =?us-ascii?Q?Is9DK0N/mkMQ94YMRJJYztPD5VpxUqrgghqze5MzaZusW4RmnEH68wbU/Qnz?= =?us-ascii?Q?4XWb7mh/uxMmksGLP+pvbolIwOFJ9/bToRHIXzTnKowjqKgom8LpA4fGxLW0?= =?us-ascii?Q?6QdCfNvThIg4DCuJR889ns9LY02ExAOzqbui9OTixVszVMjdsWw18sr5zluU?= =?us-ascii?Q?jG7gopaQZhSuop2/6NjHbwU5SdjALyNSqB4Pug1XOPj8U4gvJqWTLaCRKHpI?= =?us-ascii?Q?260ImsZf6OW+3QJkGchwvHWS2u4zRohjs6wjGDqzP+0oLhk98GZab1LraCVs?= =?us-ascii?Q?1xLQmep/QnVEap6uTPRSIr39P/anh+YWhx5lno3kXintMiJ203Xd/dxA9nM9?= =?us-ascii?Q?vJw9AH39Rg3EMO2RsfOWFEAIXyPnbQcWHSkXSDxOSRtw80TcGE8t+paUXnb4?= =?us-ascii?Q?AN/zObhuA8YzXESLk47FNjrGpnVwiwZGso0zkysM0IU4zMdCfxsjA6o8qT22?= =?us-ascii?Q?ctz2Qdmfkii5ztUH+Z1Xbk3rWR1JcS/MM7XYMhVCk24VJQ5j9kCG2hUGOJ0v?= =?us-ascii?Q?pEwrLDITLtTzKktfoETNd1Sal8dTfF1n5kS9rwHVD8TVfdKOkYMgPtB9FT4u?= =?us-ascii?Q?fZkEaHqTQAPYsaprmAnwFc2v+fNN3TFDEvgCcTjnabYFfmjkU//Fve7jwB40?= =?us-ascii?Q?PBUCUhQ5hgbYVV0gqtRdg+VLP3eKU3ISfX3PXLQE/ZbwSLN8515mf56D98+Q?= =?us-ascii?Q?UefEBAyjwxQT3DKyjB7sFA3FUMwrjYQ=3D?= X-Exchange-RoutingPolicyChecked: ce0k2wHUfXFSLI3G+0Efy2BabAEwgoYTeRth8wNGmCGQ4D7LN+36WHaLeR6k14QPSqc204P19q2D6eJu96J/s4BubdukzwKyuPUU7KTJ2Tsug+wE0Uvzn1UHKIk1FlIXcWhSMQt9Z9w88VwhR4wEzSU2tRZHKyoPFm3bsDmanJgelEcM/l/Bb7tEzBVlzOtwVTJRcOuDzr6nF+5CqixP6dmZcWwpNDrTk4rTxcGsDYDbVC1ka6Od8wAbj2zF5zXpc/ZDgD3Mn3HQn94TASWaXbOqFvC6qy9Qx5wCpM+M4XnHfPQ1A4TvqOaFs5Rjrtcqj5hGI7cnxBVPVm+s/hy8bQ== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 08846e41-9f7c-4a82-10f4-08df17dc8e6c X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:36.0685 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: UiAUvYkl1LlTxd31V88n/LXhGu0hhl878Qw7vAJqNUF10EW9dqP4i+VutmtmsrqCtE8OVp3d2BvzaE+jozEDkvA1QB0yi9ICFGAVpGh9UMs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXyIwkQQiMliYw 26YSGb+3hcTp6x9OhJdB3EL8C1wTWmIQqLJ/4PtvXV2t6G+UgwB6YPjrPS0mhQjL9YyKgBocrjI hkCIv0A5UvAcwajjQA2+t8IRsSAlVIN4wb2SYOsUquTsd8t73RdDLGUcyws4vYl2FKcGpKjC1Ab WPkJSv/xakQ2Gv952VWV82tVOWBSY7WDakmNmcHjlbM8UkWOleAe3eHNl1y1NVY4cWdIactPJlA a501p8yv9qF7W6QnqxhqAuXRDlTSZRsV0Q46UdkTdrM2/lWGUqBvh21EHKR0Uc2q+OWVKlVxnIo v9V5C5oaxsFagS4HfB22k1xiJLTwerxvIBfeTPS88m8Ha3thf5JDVGmO1yYZ0ebOkPpsHdfN23L +DHCsuypiPHOL/vGlg75XnUBfVnLaXkrYB4KJuO+hhu2PwgEfDgt/ICE28hkp0p8UtqKQV5D26n 39mMFgDyNdZbuU3NEyg== X-Authority-Analysis: v=2.4 cv=E9BYNqdl c=1 sm=1 tr=0 ts=6ab12421 cx=c_pps a=WiodiXt0wH02q4ozJLtFAw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=_-M8LpHI31CeLmyZm6wg:22 a=64Cc0HZtAAAA:8 a=6kWvz9PVh7Z8NVP_MmYA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX3w5HU+ZShEzA zgXA0Opy5QGgKtF3Rtyg/zH7/hEklrQsN4rQr8sKQoX4fDLkI8paWzZ06FpBy7lIoAt/LbINDkB I7jwD1ygE6UCFz58q7tn0KWG2rJ9DTM= X-Proofpoint-GUID: 9MN9MxNVG7030VSOSRtnIEiF7XisKA4s X-Proofpoint-ORIG-GUID: 9MN9MxNVG7030VSOSRtnIEiF7XisKA4s X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994506212158500 Content-Type: text/plain; charset="utf-8" Named CPU models zero the ID registers QEMU knows about and then apply SYSREG_ properties. However, the host and KVM might expose ID registers that QEMU does not know about yet. In this scenario, named CPU models might leak host features to the guest. Part of the problem can be addressed because the Arm Architecture Reference Manual specifies that unused encodings in the space (op1=3D=3D0, CRn=3D=3D0, CRm=3D=3D{2-7}) may be treated as RES0. This range includes all ID_AA64* registers. Error out if KVM returns a non-zero value for a register in the above space which QEMU does not know about yet. get_sysreg_idx() now returns -1 for encodings that are not known ID registers, and kvm_arm_read_sys_reg64() exposes a KVM GET_ONE_REG read for this probe. Signed-off-by: Khushit Shah --- target/arm/cpu-models.c | 74 ++++++++++++++++++++++++++++++++++++++++ target/arm/cpu-sysregs.h | 2 +- target/arm/cpu64.c | 3 +- target/arm/kvm-stub.c | 7 ++++ target/arm/kvm.c | 7 ++++ target/arm/kvm_arm.h | 12 +++++++ 6 files changed, 103 insertions(+), 2 deletions(-) diff --git a/target/arm/cpu-models.c b/target/arm/cpu-models.c index 4e92909755..855eb5ee6b 100644 --- a/target/arm/cpu-models.c +++ b/target/arm/cpu-models.c @@ -362,6 +362,78 @@ static void reset_res1_fields(ARMCPU *cpu) } } =20 +/* + * From ARM ARM: + * + * For unused encodings in the part of the space that has op1=3D=3D0 a= nd + * CRm=3D=3D{2-7}, direct reads that are not trapped behave as Reserve= d, + * RES0 to ensure correct behavior if the encodings are used for ID + * registers in the future. + * + * It includes every ID_AA64* register. + * + * For named CPU models, we can check if any of the unknown ID registers + * that fall into this space is non-zero on the host. If so, the named CPU + * model leaks those host features. Error out in such case. + * + * We cannot do the same for the remaining Feature ID space (op1=3D=3D0 and + * CRm=3D=3D0, or op1=3D=3D{1,3}). Unused encodings there are UNDEFINED. T= he + * implemented registers in that space (MIDR_EL1, CTR_EL0, DCZID_EL0, + * CCSIDR_EL1, ...) are identification or cache geometry. + */ +static void arm_named_cpu_zero_unknown_feature_ids(ARMCPU *cpu, Error **er= rp) +{ + uint32_t init_features0 =3D 0; + static bool checked; + uint32_t target; + int fdarray[3]; + int crm, op2; + int fd; + + if (checked) { + return; + } + + if (!kvm_arm_create_scratch_max_host_vcpu(fdarray, &init_features0, + &target, errp)) { + return; + } + + fd =3D fdarray[2]; + for (crm =3D 2; crm <=3D 7; crm++) { + for (op2 =3D 0; op2 <=3D 7; op2++) { + uint64_t val =3D 0; + int ret; + + if (get_sysreg_idx(ENCODE_ID_REG(3, 0, 0, crm, op2)) !=3D -1) { + continue; + } + + ret =3D kvm_arm_read_sys_reg64(fd, &val, 3, 0, 0, crm, op2); + if (ret) { + continue; + } + + /* + * TODO: if this encoding is writable, try to write 0? + */ + if (val) { + error_setg(errp, + "unknown Feature ID register " + "(op0=3D3, op1=3D0, CRn=3D0, CRm=3D%d, op2=3D%d= ) " + "reads as 0x%" PRIx64 " on the host; named CPU " + "models cannot hide it", + crm, op2, val); + kvm_arm_destroy_scratch_host_vcpu(fdarray); + return; + } + } + } + + kvm_arm_destroy_scratch_host_vcpu(fdarray); + checked =3D true; +} + static void arm_named_cpu_initfn(Object *obj) { ARMCPU *cpu =3D ARM_CPU(obj); @@ -401,6 +473,8 @@ static void arm_named_cpu_initfn(Object *obj) =20 /* 3. Realize the model chain. */ arm_realize_model_chain(obj, model, &error_abort); + + arm_named_cpu_zero_unknown_feature_ids(cpu, &error_abort); } =20 void arm_register_named_cpu_models(void) diff --git a/target/arm/cpu-sysregs.h b/target/arm/cpu-sysregs.h index 7877a3b06a..d48b44705f 100644 --- a/target/arm/cpu-sysregs.h +++ b/target/arm/cpu-sysregs.h @@ -37,6 +37,6 @@ typedef enum ARMSysRegs { =20 extern const uint32_t id_register_sysreg[NUM_ID_IDX]; =20 -int get_sysreg_idx(ARMSysRegs sysreg); +int get_sysreg_idx(ARMSysRegs sysreg); /* -1 if @sysreg is not a known ID = register */ =20 #endif /* ARM_CPU_SYSREGS_H */ diff --git a/target/arm/cpu64.c b/target/arm/cpu64.c index a0114b0fa2..3cc698d65a 100644 --- a/target/arm/cpu64.c +++ b/target/arm/cpu64.c @@ -57,8 +57,9 @@ int get_sysreg_idx(ARMSysRegs sysreg) { switch (sysreg) { #include "cpu-sysregs.h.inc" + default: + return -1; } - g_assert_not_reached(); } =20 #undef DEF diff --git a/target/arm/kvm-stub.c b/target/arm/kvm-stub.c index eae2e1ec2c..d263adc921 100644 --- a/target/arm/kvm-stub.c +++ b/target/arm/kvm-stub.c @@ -50,6 +50,13 @@ void kvm_arm_set_cpu_features_from_host(ARMCPU *cpu) g_assert_not_reached(); } =20 +int kvm_arm_read_sys_reg64(int fd, uint64_t *val, + uint8_t op0, uint8_t op1, + uint8_t crn, uint8_t crm, uint8_t op2) +{ + g_assert_not_reached(); +} + void kvm_arm_add_vcpu_properties(ARMCPU *cpu) { g_assert_not_reached(); diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 70d9a07580..6f704c0509 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -263,6 +263,13 @@ static int read_sys_reg64(int fd, uint64_t *pret, uint= 64_t id) return ioctl(fd, KVM_GET_ONE_REG, &idreg); } =20 +int kvm_arm_read_sys_reg64(int fd, uint64_t *val, + uint8_t op0, uint8_t op1, + uint8_t crn, uint8_t crm, uint8_t op2) +{ + return read_sys_reg64(fd, val, ARM64_SYS_REG(op0, op1, crn, crm, op2)); +} + static uint64_t idregs_sysreg_to_kvm_reg(ARMSysRegs sysreg) { return ARM64_SYS_REG((sysreg & CP_REG_ARM64_SYSREG_OP0_MASK) >> CP_REG= _ARM64_SYSREG_OP0_SHIFT, diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index 997120966f..4e563fab96 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -154,6 +154,18 @@ bool kvm_arm_create_scratch_max_host_vcpu(int *fdarray, */ void kvm_arm_set_cpu_features_from_host(ARMCPU *cpu); =20 +/** + * kvm_arm_read_sys_reg64: + * @fd: vCPU fd + * @val: filled with the register value on success + * @op0/@op1/@crn/@crm/@op2: System ID register encoding + * + * Returns: 0 on success, -1 on failure. + */ +int kvm_arm_read_sys_reg64(int fd, uint64_t *val, + uint8_t op0, uint8_t op1, + uint8_t crn, uint8_t crm, uint8_t op2); + /** * kvm_arm_add_vcpu_properties: * @cpu: The CPU object to add the properties to --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994300; cv=pass; d=zohomail.com; s=zohoarc; b=fE7xkq4dJe65/k73as/TX06DyZGsM65OxujYieQLP/EVenIQ2w6SLMSg7mhEvz63p3YBb85i/aSXieWpoX+JtzJ0+rmXQ7FIP3chzChUHvbxFWrUpLjQahXaIoIivQ1ite60nD4QtdL8TW6j0GqVGSDFrtsKkKx1HaedIqgTEGs= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994300; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=bEQ2PUeyV28GSDHO3NMCToXidzho92Naq9HxKMTZWBE=; b=HywEqtum8iix0dr6nAtKXcLvrwM4AlsvuGgHGpdhGs4XczQIugHwWrjOZKYw97+Ir7yB+xr/5nnUhY5eZxU7qEedfoS2EcLsemMXdBG22c0KW3OqJiwbqTxfqsP0zKXv5cx5Qctro65Bdra0hQ6ejybWTg0uJFsB7mRUffLa18U= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994300600583.252127587541; Mon, 21 Sep 2026 05:38:20 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGb-0000Eu-QQ; Mon, 21 Sep 2026 08:37:06 -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 1x8dDk-0006wb-8I; Mon, 21 Sep 2026 08:34:08 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDb-00029k-Iv; Mon, 21 Sep 2026 08:34:01 -0400 Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAiHkh520340; Mon, 21 Sep 2026 05:33:38 -0700 Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022131.outbound.protection.outlook.com [52.101.43.131]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspqsbhps-5 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:38 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:36 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:36 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=bEQ2PUeyV28GSDHO3NMCToXidzho92Naq9HxKMTZW BE=; b=x+HOwtQUWzf8h/JZzOCP10HIieuJYPWROm6x+OqsD9pTjaMixDjxSZc2m iHHf+TOsPPe7jWFtyYRYl9DsOYviQDvbdeohFS/axCvKnhUA9/Y4D4AJ5hKsg+SQ 9NmPcuBhQgLqcbCwuYSHs0TPdpq/Yo4/eoz4KywqdTLVGHXz1T1HdaiqpHaSBZEF QogQN5zvvgfTd7IQJ6sDcNzcipKWRotqs7hHhCQeg8Hh1Sqk9z3B2FpQ8B+BPoaG yVMtEkHjhcZ4XUa4brfxKtvOmtPKRUfhrgPflvJoAso3W8UsyA40AWHftKHcjXlJ YlQFY5cGypLDQRmBjQEgFjHAHHYuA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=SN2b9Fz58xvxv8W7tNZkV1DoZy2i1BXw0fyMcyq8t9OC8VXBBMT24tF/nlB9mR/E8UJdFdZlVuI1Xh7MTYqEdd+vTCYwgu6UCx2c7n3I6/CjWl98Q3dkGVWOsla881vJw2AHViT34GF78kaRaxIpXacXlRHdZdReo6mREFX77tIaGwgg7aF8eoVbuykYq866lnxvsN4DCBca4Ssrqetovro1QQKPLrDGE8qlQ8mUHum4EHc9LHIQoCulZjQcAWP2dMBD8NZGFYi0JmTfx7vxQj1R9AAgXVeYMbbAa8uNukFK6zTuQ8RE518J1OPssN8ekbwW8uv8DyDv5tM5lzcBUQ== 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=bEQ2PUeyV28GSDHO3NMCToXidzho92Naq9HxKMTZWBE=; b=OR50OX6Va04egz0TxzJ5dNk/ljYPXV/bgzfanGHf+ikrSShSZdKv9R3vpxX6ysye5zkKO1dDW7cKIcu4YwA9U0NZ5vSGzHwo2ZR96SssdkqTl2kp25qhcp6kRzbWBttbcbgzY5uJqqB1E8lNr+JetPDR4HjDgN3RSRmWqpwayipwdmSaQD6jjeW87wID2MCbaJYvbhGfqMZddR0+UIRGgvYODp4fMHLKGy74Qifxa60xOFMHJ62763f5WYQWRc36o1OV1VjKgJk9hsHQ520i5WMxc3T9aNXnPMEY26KsCC4LUf5kIZpO1FoixlX9X7w3I/tS0I2AQXtn4XylNMmDgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bEQ2PUeyV28GSDHO3NMCToXidzho92Naq9HxKMTZWBE=; b=hCNWb+FvGCOyyuiDQKZQX5evYnP1teRnlbVpxovNBoeI7HIXFkw+2EHbAE3Y096FXm3f3V/xBXPZySIjgTa4P5cs3tTYwH0LaDbigVhA0oH9hvozTwL8dpLfmDWyccgNHQzxTUzQfg0MPowoPGWoZCrVqs3Xfjw+kKjDJ/y8tnzAcDrp49pPNDo78QkNd2uW37ZGEnRn3MO0JEAlKibAP1cvLFDFNfyjCElGDxKtUTPufzhGi7arzgeax4B5DGOBZlD5v41e58mz2cnlp+odbJD9OtjQu8K6lI4gl/pv1I4AfiEOLefzmXPt2y6dW8D4rZs1WlW8Nz9gwC3H0vMt3g== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 18/25] target/arm: add cpu-models-stub.c Date: Mon, 21 Sep 2026 12:32:42 +0000 Message-ID: <20260921123249.1708067-19-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: 18a59724-c72f-4175-ed12-08df17dc8ee1 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: n1hnIimaliyth94r3pp6gx8/GqgUWaWCoWNd2Ie3NXrmX7hUOcGduFttSOGEue91e4uWD+pdftBOYDDGztm4IVfkHPquYbHcuNkvO90wW6gtU+oG49GTfJY2VFYR348oE9m5S0Plt5bDXuOJjtqx1D1z/oefuWtPo+9SUD6T2wS+A54Ew5aXz0NngJeZh0CpX40h32kjTtY+KybViChkJsRItTsWK/Ho7trbIYved7LrODxa3vyKItPzwTmJmgglzjcEnDn2j2MOxbn35jGZ3x3vIwjDVh9BdmIACu5Cm97GjKYOXTOFaoaU488UZUVCGAf2YMfxPIt+W8mFuk3B8RebyJl9fLJVDyBUJ7gVY4gByKFtuoqc/jCFBwJeVtvK9xxo4KdWKnof+MumooLQwGbHzE/c6iHObftE86LMoDrX14B5PCM8YUOjJ74snrsc1MW0QHtOGWPM+2ZTzvkpcZx5Mjo44B2NBA60KKKDGanCTZn81NB6xuEPnMpghCP5gFoDPiRfH/BMkB4KqmWRHxxKkMc+0y6pi2RXQzgcCl7InN5ASiuiw5E6E5hH7Ob1vcWWubFHk3s7OMNTl7r4Aem/wuPQNBkzg8r2oBCCxQIVydd9vZQjuAsULyU1NdNFPMZlebXKrbjp2h5Lud7uICN13vmAIU5eu/TveQxQ2Y4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?LfwlirWkhQdt/ObXs4Wog/a4Jf7sBBWIXnXkEspBhGaC1MEvHvxivQMUu6gc?= =?us-ascii?Q?46eA5ZF+XpY64nScsPibmaApO8YbvJ8HPjM+4qykmN35fbV2YANWYyIQwwm0?= =?us-ascii?Q?3V1oUcVjQFJWmiPD4Oq/NeFwftoh91FPW7x+JjT1lus8CIUqkjwtmBActaWj?= =?us-ascii?Q?OGFW4GDKurFoZNOlyMJJ3gvIWNVM07dgGGTM9fx44m3l4DMAwsx66o2HSZgi?= =?us-ascii?Q?45Jszwm98yoTCGhRuvBJBjKmoOQ3H58ekvjieuTb6+5OWqyRjDOGSp9UQSe5?= =?us-ascii?Q?qby4AFaxXkKhDfSlE+4aZqZU4vf70yHvb/NCAYjDEmen6wXjL0vE630qOCyj?= =?us-ascii?Q?oS0D0ZxLQeGsSm+o7ORI7H9DBUKtNcBu8iPVVt94hVZglZCbRJGNibHBALiC?= =?us-ascii?Q?0dX4h3xxZGfH11cSRvWReLOwc1v49KgtWSboYL3VvbRBLt5RrAZZ12NGPYHV?= =?us-ascii?Q?DVNnMDIA7TVgZa9ZNJQHcgX4MnUaub9FbQqb55fXvqYs88I1rqYO1RkWRHBd?= =?us-ascii?Q?XsN3QwATIAvJG0w2QjL7iqfTHe2oEmnDZJv9nVgNkqdPwjiC2qUZKmVz8WDf?= =?us-ascii?Q?0BF45veqwAfQNQ9tKBdvoDIgutXN1+KGJJ0MXmWRwbadzQZ8tLNoHopj2yVL?= =?us-ascii?Q?fSNbJhraRSMYrswdzK6UJdkJMASH5aoUcEfqdVFtAbSvxVoFVTsc3pqdTC7f?= =?us-ascii?Q?lauOf0oe9SVEY0vFY6YTZcOxVKsMRkM2YHGDReP26kS5Dc33RSPELf6mVvb2?= =?us-ascii?Q?6hKbvvMjwlNZWxp46k/h2cvj2Yqrf8VrJ0ttwUVKxdPSISJzArDApcr9ASFq?= =?us-ascii?Q?9xjZaGafSS/khqEsSxJmlCKOijdyFVrDBWmVQfi8W6pDXzEH/o/D6slrpeIO?= =?us-ascii?Q?cJ3Dj3uSJtVwjSRGMit3vnmqmVwlCCCsJbNfifgv6r8GeAGtuAcZw/TkMmrX?= =?us-ascii?Q?Ez9Tduq9DqOLy0d533edaw35vm/wN+DH4mE2hjBGwe+UIYNK0PvogabWtgl1?= =?us-ascii?Q?FDU/WS4Pbml3qr0O4hvd0xTbRVwFggxAtfDaMD/Sp2+2i1V8rWcS/NGr/2zt?= =?us-ascii?Q?QSD6MHvnOU25F+vFsk8xWmViAObBJnMO6OV2Gjb3NjO+3P6cyAOpKEZIPYnG?= =?us-ascii?Q?OnbzY0svSDtBGi/OtfofCRZQmbaUGM8hDG/MU+FXOkeQXf7NRxmEH6WVNblJ?= =?us-ascii?Q?0BB3AMkR8cAN9oHlvxXZ/ePAifGA6AeNpgMiZmvhq5RLRiQIb7J9XDeFU/lb?= =?us-ascii?Q?8lKe4F3U5LNPfPQcKW/dDBz+9n6Ry4d+WeRAuVZjgCMREXOQDnYalbqGx2xC?= =?us-ascii?Q?iKLJnsLRKv9gs8xLGi5l9QToFwSOAvjNKgmlJf+tnQhE7dTaufo9JU8MP1od?= =?us-ascii?Q?qLPxUFsml/27C4v44HLCNQD/MjqTQ1JES0kVLnrHclZWfc94Fgzl7di6GxZT?= =?us-ascii?Q?iR6KK1U5RqTC8Ku+F7tBLlLs3D/bNSe1cjvoogRrxT/iqzCQjxkI3bZAIkqX?= =?us-ascii?Q?hrFU50+A5KtDBUtQeb3xQjPI/Xi7AM19RnWcIx80twFWyuwu9dvlEJUk6U+e?= =?us-ascii?Q?uQqnMGnrA7RR1uUbWSyteEJO93N1c49pFtvVuCiD6RH5e9Ozw7aO25l1v0YI?= =?us-ascii?Q?Al+Q8PhY/Ii3aF/G8+kACaZ6mBIu6X0rFIoImD7V2/sCkcD7gQaUIw6Pe3/d?= =?us-ascii?Q?RHSAF0iYh4J63aiY+cC8lyTdBpJmGqrLCCtr17yNl3Kcsso4Aq5Rg737+sy8?= =?us-ascii?Q?KS0E5AUcTRttMPhuCIRc9K8koCIjGsw=3D?= X-Exchange-RoutingPolicyChecked: VmCDwf5VGiY2tTsOqzEomzu0+eubZ7XrPJ99kb64rze+y/FKnG94QtFbr1uY4VZC3aHPgBv+7kCMrSuKeQZ+jCNV/oH46yBOjOyfwn7SS+ZTKktiV4c33kzr2c6t7qe7PBY8J8ePzaaIirHiT8vQPDRXVA5CcIUc9QqIxbilhzjkmfY2H6DKUN0zvH8Vie8wl/pHldcsSuBCr7Gixbp1UIvqrgMQwbcNbFeo5r7mr7LUhZzPvELYb7jjsQrQgHbXqfQp4jQFnYVTnOaRapJT4ov5LgklfFbdj9TGzetLqmjluLe0N4nR3z+twV7P69mG+U8u/mb+MBI88NQa/QgHAw== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 18a59724-c72f-4175-ed12-08df17dc8ee1 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:36.8639 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: +Y8CeH/P10TCQ3WZtJbbmah8x+JoauC1gyMU+vIhAtRm8FCOwIZB4Asi6pVu0cIP9O73CbxnSCRfQyAWqDCLq7jU0gU2YyfvcmOJ05OhFuE= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX9ztnaaMPjZ8g hAdU0qKRNAFuEIprzATrmCrd+uZC1M1yqdZYAK6p3dPjGpcc6IHU787Za2Bi8f8tfqEcowg3al4 7rTaHFclpXXTGU86QqmZcOdXGxzrnKSYVcCJqWeGVvOKXp7pnHZB7rkesryMK4xeuutj0IYE89D jOIPijpT3IrNFJSyvmAHFpGgYRiCOwaaj0MwojHIyihjPDlcHCr34mmDfz2g1Dwq+Swjbuc+4Ki HFA9KU3w03A+7XA+JEsKuNvZjTxZWs1YXGwnRf55gL/03Z7EKRtTLPbV8ilunX8c7h+Gp0C1Iws 0wVfjgYgBjdKjmdNuzsHWXKdId7cjdAA3UFPjeCAyn51bkKCZPQ7MCO3jteQWf8YVYH5y452jYj 0jEAQG3weWmTNNTpl7DNzJC5nftpBCa+VjIfCsYWJlS1DsrxF/mMbPbsPf2wyhjfCF2ZTYHH6mz 2YhParrpHdni35CyBVw== X-Authority-Analysis: v=2.4 cv=E9BYNqdl c=1 sm=1 tr=0 ts=6ab12422 cx=c_pps a=WiodiXt0wH02q4ozJLtFAw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=_-M8LpHI31CeLmyZm6wg:22 a=64Cc0HZtAAAA:8 a=zld6iL6FPamXMVRW9-4A:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX4STSRkK94c+t oQlpf+JcBGCdcl5TmHSskok6+1awnXq9e6fQ6UfloT5CLlHZx9Sq9eeBAEjlNEbHUxp/8VyQgji Y04px2PAaO51cHkBUT8LJBQd4rCQwxk= X-Proofpoint-GUID: A0azfTJLJ-gWcVP-vUHTyrkLVOmuYU5O X-Proofpoint-ORIG-GUID: A0azfTJLJ-gWcVP-vUHTyrkLVOmuYU5O X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994302947158500 Content-Type: text/plain; charset="utf-8" Add cpu-models-stub.c, which will be required to add QMP support. Signed-off-by: Khushit Shah --- target/arm/cpu-models-stub.c | 13 +++++++++++++ target/arm/meson.build | 1 + 2 files changed, 14 insertions(+) create mode 100644 target/arm/cpu-models-stub.c diff --git a/target/arm/cpu-models-stub.c b/target/arm/cpu-models-stub.c new file mode 100644 index 0000000000..48f712d648 --- /dev/null +++ b/target/arm/cpu-models-stub.c @@ -0,0 +1,13 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ +/* + * ARM named CPU model stubs. + */ +#include "qemu/osdep.h" +#include "cpu.h" +#include "cpu-models.h" + + +const ArmNamedCpuModel *arm_find_model(const char *name) +{ + return NULL; +} diff --git a/target/arm/meson.build b/target/arm/meson.build index dd28146c52..5c056fc440 100644 --- a/target/arm/meson.build +++ b/target/arm/meson.build @@ -42,6 +42,7 @@ arm_stubs_ss.add(files( 'gicv5-stubs.c', 'kvm-stub.c', 'tcg-stubs.c', + 'cpu-models-stub.c' )) arm_user_ss.add(files( 'el2-stubs.c', --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994554; cv=pass; d=zohomail.com; s=zohoarc; b=YVcjzE3HHlgnp62JeUU+UOFiVDCc09fCLI7YEadtBGdGf472h3+X3Tg0ggOgvtUBGcTlLVA9ClGXL5SPm5qnK9GTDivOYcT5CNuBhXNSScLS8OxjeOmEyyknTTc6ej4MzTxRVtzSBMrxW4njHfxHvQvx0XGTN1JRM0k3f+Q+GSY= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994554; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=0DMr3VD86uGL8Af5mb4qLwbOFZicxlFcJowyyXVEfUU=; b=eQGq73Ojw6t02gPxfbvYzvw/qAXdbUvbNkAeGTCde6JFQHGv0LyBdTgtPVs0mn+MLDGwdd9vX/HmsKax851wYo5F9XMWTJge3xXkPp8/etgq2lTtfWj7JYbxJgW1PD2oFfsyhgvB0fbeTHOgimGN6+zPUhW8vxFxq2Buww3yWxg= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994554967991.5815880831225; Mon, 21 Sep 2026 05:42:34 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGg-0000cE-Og; Mon, 21 Sep 2026 08:37:10 -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 1x8dE6-00070n-91; Mon, 21 Sep 2026 08:34:36 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dE4-0002Ai-Hg; Mon, 21 Sep 2026 08:34:30 -0400 Received: from pps.filterd (m0127840.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAiHki520340; Mon, 21 Sep 2026 05:33:39 -0700 Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022131.outbound.protection.outlook.com [52.101.43.131]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspqsbhps-6 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:38 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:37 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:37 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=0DMr3VD86uGL8Af5mb4qLwbOFZicxlFcJowyyXVEf UU=; b=duux+pFn9vJniJq/JFCVyDDRAoi13VbaH3MrtqXis4H6eFraxUCcS3eVC ghT4rzQgWeffBvkXgd2BvMOopmv0iW62f3c6zGaBM76+dhvdfxHgTey2CRUwQ8vK haNpqk8Y42/nnRk53DfvC6BsTVxsZKF3YSQ9/QJJPeW05FXngeFhSRwhDjy4RBV7 VrgpKPENAx0DOGSUKK3a9h7OO54qf0kIQzWXmPeFds3WQQoeUnpTcPfU/bI9fxJ3 hTmdz62haDSxBC2H0aBmQ/OV5phJj2EGa5wekC2ecbsyAgEosPPm8jU+cUu5QvW+ LiKmXtgI62Ege4Co6TrQFwlab0Dtg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n3MHxbJ4r4NJyuE+p9990O+B7Lv2vELB8IOA0ZmFIQ69cvKq5vj6fImLrQk/X1/pymd+XeS3zWDb8hxKB1zZYW2xxkIAhF1CL2KDOCKeqRHT416jSwUPostijFLSbmgdHs46zGXKfmmHZ6x0L+tXTGxbLCdz/OvfoH2ZhFBnoyiclbLZSpWZBrSCinniBwr320CIoLKsP7EZO8hgfsFRAqBGoRlmgEIcwhDdsrJX26txZV4YjliUVNIKY+jxHFQWOeUxt6t9FMiQO193zyFOdLwKdHG/fye06B3gKELX/LnVJBBSv8Ka6dd4sF2wGIQr7QcZbbx4+cuPAgv2vxGg2A== 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=0DMr3VD86uGL8Af5mb4qLwbOFZicxlFcJowyyXVEfUU=; b=HfTWJW7P8WQNrSrHUaW7BpjgXgBbyhYSzbmrn58E3wGEYt1IZjNnc89DWxaMwWvIWMfnuifJc4kvCiW5Lo2aMXMjf5lc3CuqNhTYKGPlQODUnM6tMwWPc4zLjvZr8W/M1xBkbMYR7/BWEMbIK9RRa5F0sPbM4sQ06ZUekZCeut3+Qu1QWrkkQ1Ss2TVprhdpBSlD7RRJ8T5Xo00qUn7L1RDLs8gAcJ9IUhl6KwnwN/w5vc8DEt/OS2Hv4Tz+mIxkbr/eHWjGyCVsD6o7aDd8LUhgZWusERD+vecB9vpekiwYKvbDEgdww8w8iFGSLqlYwyRwHBY7m/w2Cjc6HpY32g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=0DMr3VD86uGL8Af5mb4qLwbOFZicxlFcJowyyXVEfUU=; b=kuLT4+Qyz7cf62gr1Da1Baiu7/CfV76SXa7ODQUk9SUjoPhlfog41ubwDXDS8X6LI5vpwDeHzbJfHW5snU6zGedkPnSAvkYp+yhCYz7fDsfSerMXXrfZgqFePcNiNK75CZ4VREm6dDg4KNxLpKAy+TgginoZB/pj4MZKgsOo7pPxgPOTGZDQcKLBW3rBHaJ5ByPyPQNDl1rdACbltf/XgWHAYNzUFoFkov/C/503BaYL3GOPr44NEf6PLKCyzb6d/gyTMd+YIpQy9vrH1xcgSkJQXApVsFywTvjCxoZ4hQnMT0zsnHoHa/jXBZRXtMuLRFIzAZGgjgenSfdIlL9INw== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 19/25] target/arm/qmp: allow named CPU models on cpu-model-expansion Date: Mon, 21 Sep 2026 12:32:43 +0000 Message-ID: <20260921123249.1708067-20-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: d771fe24-633a-4a7c-e9e6-08df17dc8f5e x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: f7zh/qHu4Vj4v/XpMlFHxseqSMAdX4jAv98HBhOHbPcl3Qsa8h25/pmti7t/7Rhpd7bmrB/BSNqU4LBlSMTrv8guYwlMMnfaJKn6M86eZt87UoM61TF6YFs3BS8wVC77PPMXv76dIs7qMeNUoNr96dfWS0GLoc5nRtZNMXWYcuMuvbdHOpw5kinVuzJWbyfYeAHg0zBtE7HzTLth+W3EgBokqOxnT77NQVUvOoOw980RVsksp/SDL/DiOqoFqti1F3cmbDMwsmjJ0X0wieJNGzfGE3ZfYRumvPUTGeA5GBvenq4pK3Ein+sm3ITqZvrt1eIX65h4z1c4EYM+DJ+RY2KFsaVG6g6U/VB0NSzgz4nKTvtcjSTBX0hVgxNUYszIDuhpuV/IB1QRDPMHmkX7UVDNlzWrZ/6CxHgOTLTpxOSQqdsmdrReVYuJ582C66UwZxqyF8pXRcP7B5LXI0iclmRiVt3LhtocvCbmwh/5p3PEIYdGD4CbquElL3xEOyZBhhiuf1Jye5LFXzPYx8OlW2IFLInKjxHxrkJK89qMI7Yuuxf+oHA8oicte/LyeOfFWwVvGtOBdz/H8IaLdn8zYFAKFC7Bq3fsHkHW17PpDajWz+Pvg06tXonWzwDfMNs+02iDOprG+zQOXOxTDUi7xmIOqXn3dkxc9bByLci7POM= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?HY8daQJSNfRTg7mSUFa9gF0K6AU+lTi0+nC+CJBk8YhtVsctzWaBYoDPSpng?= =?us-ascii?Q?F6MTRsc5/mD1xYpE4i9GzOFSJh6WrQJO2s6GotHlZdamV3UmV3yAFZeKmire?= =?us-ascii?Q?CmtOx9cvzbWoJzIQLo4/FlYnxzsouHCXMKTqCke5tXz2SpGgNLHpIiNwc6eF?= =?us-ascii?Q?+PVXV8+TVI1euXpDvZPI+wsuS8jusEMXuECV/oWEYR+59qCBERTjk1Zik+Fo?= =?us-ascii?Q?aC3OhYwPPwt3rgVEHYxJ5xOclgggZQOeK+ubLdg+X1KkZMc1aTJ7qgXQKUP/?= =?us-ascii?Q?xvKpaGOtBKgY+r1mUrNNwW+L3PPpYHCcfLIiIYBTOHu1lsM/qz96zpXw6QGj?= =?us-ascii?Q?LPkhFaWPmmY9uuZ9WE3YnYkPf5dMguy+BXnG2p4sPetaRLHwm+4fIe4aPlr8?= =?us-ascii?Q?WOfdgKZDhBSQpTjdxWtF5QECheYtGYex73P13ifEc6xTyBXc/zomZlJaxyuk?= =?us-ascii?Q?44gcVVQGM477FcsCJBD7HjVORDfW884Ile2qke171G8NNL1n/HopxY/mARYc?= =?us-ascii?Q?jnEiFoXY0Q2He2vCZCWrX3wcSGAhYhnAivEjwPxKQGKcNyKQck5bofIW3tHd?= =?us-ascii?Q?fS2Z96vHYos6sQdMuqBWITkC2R0kTUvr1clV37jgUFIGQtAP8hH4DioWSiEu?= =?us-ascii?Q?j6H0hpQR47uC4FhW+5EOUEkxBwU+QMwCVMXiy/zAlQW0wlS8iSGaAzS3ef8g?= =?us-ascii?Q?kaA/u/L+FHJ4WAkJZoQg/wzG5hvVMEzyob9HGFHjH2txyYYHaXfwx3e26yBC?= =?us-ascii?Q?2bHoXH1ldiV7uGxiZ7pu6UYn5bMrstr3yJ4I0cFefmsPefbvFNp6cS3E4Pbv?= =?us-ascii?Q?WAtYq+IQkShUmaVTJscffbS/MyTM0jPoRin/tH5nxuTGgfDyQKztxZLUngHy?= =?us-ascii?Q?WGTuCKz3apY1tT4iilGc9wgS1/mfxS5lfuLWCTLaCmswru4hQcNb0XIIXb64?= =?us-ascii?Q?DrBP4Ea1l+t3Z3FpogW/c2DC4jHXYqw4yIuA0Nw7xW5uUiEJrFxb/oESyPKA?= =?us-ascii?Q?sELO3nJsVeoDLKUvigCWT5MjIxLz/yH3F+hMs+frcRdVdwEILK/I7MGQhD3s?= =?us-ascii?Q?v/IH2gKK9xXC5FiACqMvcyOXiGueHIG0ozu9Roa67DC2V1Dm+aRflj0PKywN?= =?us-ascii?Q?3B14Th/SO6yePoxv1oq3D6uKoVMAZzF30KoMOJLPpF7eYl0POVeZ5hVkyXc2?= =?us-ascii?Q?kdLKE6+BiNzaFTXrw4+Bfiq3FOZybotPIcvPVQssBrOb9PYMkl1dJCBuCGxu?= =?us-ascii?Q?8cyDu1o1t1O9tMUTRcJQ9vG4uov7qDcR6rr97DV2/jJWlNvHPM33tyFveUaV?= =?us-ascii?Q?GjcVMJ4BDFyKvt9K2jAbBuKiTfKqwCGY92SVsfckC9O9JeuYaTlefHoFLBIt?= =?us-ascii?Q?1HKG9eqGVfLqskdT74OsJnpnSobsczHms8Y+z26pU8eL5zW0yQxr7vwjzjkL?= =?us-ascii?Q?0BGrjNGclry2+9ykfCwg1gnIP1WDQKoNNa1H4+Hz/2gkLL2PMs1LPRQeje1D?= =?us-ascii?Q?ZvdIzaDYR67svYaSHqyJbYqb+qYQpjIIFZtLYok+x/DDYIRbrLLeFfbXyIO7?= =?us-ascii?Q?kx5XdwCok3PbE35AB4C7/mWDrDcnjay8zkHgQVJhfyMzb2lDNPZXeExq2HOI?= =?us-ascii?Q?xwDRxwxlMcaipgpWcBb1EENHLnHepFEUXoCDlPLslIrtZfiPcgv13FyFDuCq?= =?us-ascii?Q?12bSMjVLlU5uCt6YoXr/5ucYAQ7jPgKdflw1xGpnn9r96md63FCH85WQ3Cqa?= =?us-ascii?Q?FlT/JA/f0EhHG62gU7k0rYJCyFgaLnE=3D?= X-Exchange-RoutingPolicyChecked: WQX9cPJ4QzJ0emNLMh/yv8cYW5Kl8NvTbsHq4XtWtQk/a8AWtfG7WkVBXg1iHWQT0EmIxYwzqj0pOLUVFyelJRD8RqM1HWSexj5zMjzC60xgVjZnEBFuyU1muwlr4Q6OIwVGO/wluGSIK1DHtS8Ui94Fi7msBOp0jswny3Icb5ZtP3ioblfV3XvabqeS713/D1Rxsbnc9JqfPSU5GMjHAq23JC6cMHfr8OiDVV705OKALXGzg2QQs+X+PqwDqVHAYv1inJoXkWEAXr1CqMk05BmmC+0+bthXspSnOlsUaocN/CHxC0kcXpYwQSVUtnpiDlbh/f4wz8Rdil02v9oTWw== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: d771fe24-633a-4a7c-e9e6-08df17dc8f5e X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:37.6654 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: nQhYbLUn6qPZkN50IATNH+umeDyOxv53WNB2fevNyY3OmkNtiIKicXmH1GpCmRHaaagwefiAWgG1uuO6MBkqUQUb6jKap3do7MSuqd0cxHs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX+GtAD/dVXP5m xCDfmORfNY3JCs2IDXfwX+71S3uINEToLYOHX4nzL1LAeQTYAvdX6zOGd9kSVGI6w54BmKvEx5f XyMuAtRhQ+CS1hi3iILYWEvQO9GYzMNZGez+PQoUuqjW6w7j5lhZZ3+Rc4BPdwwn2YIeEOUwRRa YQ56G6zPQWwH6VDjhN0Iu34iG3ixq5ItOm7a7u+8CYYu+8bvuc8vjU/twPqqvJhlYQi+AGr8WvM EV+NiV2SQB2+LTXVmZA2FPOp+1SyHmCNkN0GY6+38sVZ9+w4GrEnBJdz/ICzdvkf5Vq4Tke2ycO ctQL2e2kpKS26Jq6oU4TORJTFEMc0fxO2+TLx1AGpH/pVdsYiTBY1fzDoYRYRru3XaKRKcBYT0d KiUa0QtQUWaaHrrV7ZPJRK6jre+Z3EH/aBYxNV+ipn3Spw5MBSSNur0cFDHc+cM6QoKarqT5B/c KZKADvVWyk/7MzPX8bg== X-Authority-Analysis: v=2.4 cv=E9BYNqdl c=1 sm=1 tr=0 ts=6ab12422 cx=c_pps a=WiodiXt0wH02q4ozJLtFAw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=_-M8LpHI31CeLmyZm6wg:22 a=64Cc0HZtAAAA:8 a=vnAHZ3QMiFH_N7o83AsA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX1bxyVt9O1p1K qfHocBRdi3YiaxeihEnTu5lXYehoAxh4CmSl+3BXbOPEf9RwlFV3naIRp3sknQTBdHH2IS3C73v zmGFTS78AIVSPm+rvnqZDZ9KE8metTY= X-Proofpoint-GUID: MTbNo1Cg1d1qZcqbnJC6pib2JdBarSPq X-Proofpoint-ORIG-GUID: MTbNo1Cg1d1qZcqbnJC6pib2JdBarSPq X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994556608158500 Content-Type: text/plain; charset="utf-8" Allow expansion of the new KVM-only named CPU models through the cpu-model-expansion QMP query. Signed-off-by: Khushit Shah --- target/arm/arm-qmp-cmds.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/target/arm/arm-qmp-cmds.c b/target/arm/arm-qmp-cmds.c index 5fbdca3253..0940285af1 100644 --- a/target/arm/arm-qmp-cmds.c +++ b/target/arm/arm-qmp-cmds.c @@ -36,6 +36,7 @@ #include #include "system/kvm.h" #include "cpu.h" +#include "cpu-models.h" =20 static GICCapability *gic_cap_new(int version) { @@ -96,6 +97,7 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(CpuM= odelExpansionType type, Object *obj; const char *name; int fdarray[3]; + bool named_model =3D (arm_find_model(model->name) !=3D NULL); int i; =20 if (type !=3D CPU_MODEL_EXPANSION_TYPE_FULL) { @@ -108,6 +110,11 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(C= puModelExpansionType type, return NULL; } =20 + if (!kvm_enabled() && named_model) { + error_setg(errp, "The CPU type '%s' requires KVM", model->name); + return NULL; + } + oc =3D cpu_class_by_name(TYPE_ARM_CPU, model->name); if (!oc) { error_setg(errp, "The CPU type '%s' is not a recognized ARM CPU ty= pe", @@ -121,6 +128,8 @@ CpuModelExpansionInfo *qmp_query_cpu_model_expansion(Cp= uModelExpansionType type, if (!strcmp(model->name, "host") || !strcmp(model->name, "max")) { /* These are kvmarm's recommended cpu types */ supported =3D true; + } else if (named_model) { + supported =3D true; } else if (current_machine->cpu_type) { const char *cpu_type =3D current_machine->cpu_type; int len =3D strlen(cpu_type) - strlen(ARM_CPU_TYPE_SUFFIX); --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994238; cv=pass; d=zohomail.com; s=zohoarc; b=cukUG07rSyPGepQXFuEnz15HK+CyhNackE9MIv1rZsOCkMIA1JGZLo94zXRjv3iHsBrg2PIZUzw3VfV+U7J8pTo1pAUmxm7pAPiemDBeTxrEZIcVNjuT0yluILkF3Yw3hPAsvkSa+5z0k93WQFRrPYDyPBDWT3jQxQgRWoVtTpE= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994238; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=tpg4UfrkqHrIYs8+kzXIp2L9JVuzrbyVyG5fgyqp84o=; b=cIIx653j8lNrIe3ZNnLzCk8IK7WjnVYnTasfPcfTLGJzxP1rg0lszMxi6XCHc4i1+igjAlOXIKQZXpPdfmNHM+y7jyCC+FGhXOE+KBAmfj9lBtxYkB+WAo28xEe6B3cq0zAbJ1P01yw3TRZ3rpLT3xOzFPD3tF0UNGRLQx/IfVw= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994238193877.3204459187679; Mon, 21 Sep 2026 05:37:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGY-000069-Jc; Mon, 21 Sep 2026 08:37:02 -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 1x8dDk-0006wa-8V; Mon, 21 Sep 2026 08:34:08 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDb-00029s-RO; Mon, 21 Sep 2026 08:34:02 -0400 Received: from pps.filterd (m0127838.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhSBs932490; Mon, 21 Sep 2026 05:33:40 -0700 Received: from sj2pr03cu001.outbound.protection.outlook.com (mail-westusazon11022095.outbound.protection.outlook.com [52.101.43.95]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gssxwkc93-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:39 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:38 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:38 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=tpg4UfrkqHrIYs8+kzXIp2L9JVuzrbyVyG5fgyqp8 4o=; b=b/xlTAgvkVwj9Rb4JAgLarOtWjUBUbzrKIzdH1WKW9xVKpn8d08zF1Weo E+wmvrMReunYXoMq4rXhaSfCBONvxsG7liwt/uRwvIrOj/67VFKTqvOFj4Z2leT3 m5RmExJ2loB49Obe7PFBMysLMT/Y4gkd8bH/L38+r9u7/ZGNn3Wtxi6kq9yQMy4/ M6bOpD+4TTKpUr8F5m170jSm6OTylS4pI7OISTQx8rHVM9CZY0bZ51qKt1/ZHAWw c3D+DqMkzXE+JOo00c3Oa93vclW0b8Tn4orr6zWwo7s7e9u0B6Uwpwl3esapHE7w vwP2CN6Elo5p4rAY/wb30Wayd+eXg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=fg47ily1TxfY13DlmlHTcmpmxCg4M9QsmZzJTnIZCxjFLkSUiEZ1MLlzpE6ur91pKVRaPnmDBqPSuMsiCWOicLgzmQSAjm3UKg149sTkL2DHfdhrxsQFkcpboElLle+94puBbgu3nbv9YIgNJLoGmofqnM1nYkJTT3f4rEz3qFnJKptJM24pAmCC1DDxrYVJPbcSyielAzP38/m/UJEu9U2Tin0dBRqABYbBl6C5KeTqW8t20tqCm8oEGq+B15GLxGQol67EAjty+xvYV1G22BGylsfWNGMZdB1g5nYSEDHEQoqWf7A7/iqdfNosBqsLOrE88tjtN4B2gzGS3EptvQ== 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=tpg4UfrkqHrIYs8+kzXIp2L9JVuzrbyVyG5fgyqp84o=; b=X10nK0TfujYJfPyDsCyYrbBzUTOHHbbMaI0OkRZzwy2BYxrQdcByPjUQ1aYCfUsYTxLgpuay0xvAAO1jHr8qaQ1aqc99X+nTZWvd3Gk9GflyNImpQLUKA42XEm7jC/eP++CkAeRKds5OIZkGwTktO0ni1RSz1GP/9OdABH2D3UgWreXOt36GbSEzomInBvivM9WIpP82L6SbvCwqC1+QNMyOOZB2a0PqAFosaiJF59mM3s7aBBSrkb+tGh8JvPxBJYiuLNlQCVu3fYcofW51Pc+9TYvyg89j7scF+T/32QzL/Z7bBpqYEqdAKAvic34l1RTvBSuvmd7e9F0NoIH5vQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tpg4UfrkqHrIYs8+kzXIp2L9JVuzrbyVyG5fgyqp84o=; b=L1Beays7lEVh7gb7ThfipqYGImrn5xmCFm1HWDUxScBFIzpy76A7tFKtb4Vg11Q+7kRr/DWvB1jS1cVhjadG4d9vEFvc0w8+OtoWTLVaZarDRD6fghQWyAkLPWZGltOzM3LeOAGn2WGF7XkSqRwCzBxf/RoalzZUxrxpXduXRNE0BzDOIZWwMKzTZypjIXIBSXEcn4JNSxukhhG1hnJl6lI+xG7X+sL5Wkj99qXQAg36GglOq4YxtMAQU38YYjS7d5EMuqKusFLmMgCvNsuy8smzgilzQjel/Ka6IiKWQAashTg2Z8PuCs2l8TOezhK2cyLT6K8lQwmaTxixGoVU3w== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 20/25] target/arm/kvm: compute host-supported values for ID register fields Date: Mon, 21 Sep 2026 12:32:44 +0000 Message-ID: <20260921123249.1708067-21-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: 397cc356-9a5c-4766-519a-08df17dc8fde x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|3023799007|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: Z4xUpAp+1OwnlQgx/HW8OKfq6ZmoDd/PT+gC9Do7Fb9BPmuXLMlSixjxwRsOqxMWOnQczmqu/JuX7fA8skL0GnTbHnJbckw0vsTVevCdUnk1gwPx8rUMb/x0rrXeCJqAjdrerg4uyhudjsNTGv42+Xg7UGMNh9QqqVQog7o7r3g+Fe/a1tnzp1P0lOA8mwowr5H+DDfVaRcORgrshsXg29VAreJOf6MbPsnWuBDe/5bUBszBmeGIUVTSJwONWt2Me1tNkdZlx9ztpsyUy4ksdy2gnrSBZeOWzKMAXCMVsiH6qxFHOvAIP1Fy/59bvDPo4UD2fgZtVfsmjXnbhUczroNSS0tb0ShVlSfA3RcPlaFwMHMzS44zMzYh8O5R/6SThFuh9QDUKCee32E0ra+mKg0m9ycSflNXreIW0+mAaz+mZuqmj/a2BvLgd5rUvjkTDAUvZ2Hf/JVoq9Dv4iWDdU5g80EKbaDVWZLqH7coRKQxVcGXExC9gtNmaENv+dHfx4v3t2liGwHgrejM+3NSpQMOruwlEOfe/fC9Vl+9KcJIf0bduX805X8loX45UL9lhTD+lP+L5681eFr3+mZjOtE5ifoMm7JIFlGykSkFIjV9KiRjYQQzRGO+bQmbqsqltD7XueWU9coUi7nEAv3LhcWGgI4N1JG8GfV/DoAR5+A= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(3023799007)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?3U2x9C6RgrvvVPD86g/x/yQQbGImJpgSNXqLD+rawlGMORczSDDGzimNU0Yx?= =?us-ascii?Q?RAZ1dvpRepRL0Oiuj37P9Si4sSnUOEJpuX6apbyB1u53einE+qEF8tP/UCFf?= =?us-ascii?Q?HDYRlfj5ssnqJs1og3md1cZ0JXnRoqOlLhHSZOpR2Y/PCrjMQMCS8U/2cyzO?= =?us-ascii?Q?3hyzrIwEQ6JWT47vNmZeD4KgaZ04+GuJDDMqcuF6pYUl1iIRAetJUrlPMCR0?= =?us-ascii?Q?CQWWzRVvzMuft8uT5On1AT7NZvZAH1eWGwopS8XYOi12Gj5K1xvxdMx4j6vq?= =?us-ascii?Q?/nDBoQ1CDdTeVh3i8eD13Gt//KyEzzTbbSl5iDmXTPrL+qUcMzdX6AcKCttL?= =?us-ascii?Q?iyAC505Bmo+B0/39yAndQLYbxUqmCsyvEFg3dRx+mleXjTv0H2TZptru1/t9?= =?us-ascii?Q?saHh4JeAoQmpfwsvgMcq+kOA3o8RS+qwgJAfZLH87c9+bhkx9bQERSoCL/0H?= =?us-ascii?Q?o30lnfJr8kxlPWPU8hCkBm6BRcm/rv09He30KLnTgEd1yN2VftZcgY6EQ34g?= =?us-ascii?Q?/jdMm2dE5+HjeKeOPdNI5MpH51E3jnvL2AApEVZq4lpk2Vdf2QyUR0y7GkEu?= =?us-ascii?Q?HNfVJ3e4s8DI9jYv/cZ3jf87uKKg0sLcuCRbT4IHlq1HQBgxmv3yWyWw2kv/?= =?us-ascii?Q?mG4sPoBPlcawtwPH1R72xk3Pvy/4BuYkX3CJ9ywuCSQ1XmJKZl9Q1r7S3Q9I?= =?us-ascii?Q?D4e8zEzj4k+QeMGmTJpfYrmpaYs2141R38KQhP1wHWsQf/ZNcMZtgWuiwvCy?= =?us-ascii?Q?IcVGEoi2jebMuIkglyJXQD5C0YZEyZyY8RasVUtQzrOybNfcKCzmjLYlc6MO?= =?us-ascii?Q?bl2bq+WWfT5Aew6wtBH0W907sSl8oGwpBwjrED05BmIy9v9IhBldb9FQF5o8?= =?us-ascii?Q?C5zmpFCjE4Gc9bkcgyoGBGp3qUC5+V+QmrXIfyD5jM6k/muFoVlJ1QDOPmLD?= =?us-ascii?Q?mCNwxWI3WSs1CdY+R3kuakkqFIsevzG5LzyF71nrfRCqy9MlcUh0aZWcyqjq?= =?us-ascii?Q?lOzfBxbzGSn76QdMIhLKFHN/oU+na4gq9KsNZnIXyMbmh/EEQNu973vLzINS?= =?us-ascii?Q?CQGC7k7c7663t4vJvPl3P9QGF2JH39uofHWD4TXm6W8leqgFVNRpDfh25N5p?= =?us-ascii?Q?0gW3SyUM+C2aWspJWqjA9A8Jp8qcNxVsrRmmETh05BNLkhH4mCR8bQT1FGF2?= =?us-ascii?Q?kLvc3cbJi4AORZ75yBhW+41jN/drLm4ons6g1rf4RSQg+GYyGfUKDr1MamiZ?= =?us-ascii?Q?KoRDW/qGY06zvsErUPAmYr/kzUlAJ64zLY9HlZCWEEnjSSRWg0sWwCbSI/6X?= =?us-ascii?Q?XEFhADQyfaJQ2wJ0tOyr88oOK0PaU4RO6XixUbw10pGjMvnDsS0w6fx3Orzo?= =?us-ascii?Q?Z3IQaHwnaMFWK+vSkeAjwdA9s4cYipaP+MMWiK7ZVnh67aSvrOBon11Zu8M7?= =?us-ascii?Q?odyT9bG/+sG7zr1padb9jLtM4OaEhrXzAjPs4s3TIH6p4KZOL9CTFVAcz/Kq?= =?us-ascii?Q?rE8OK1U3zOu5rpmE2HmNJt0lecgw/JHai6w/ObPzBckhFkGeM0yqgd7rkKiG?= =?us-ascii?Q?tZ6Wf9doEiRm+3B6/hZzcYolMHpksl7eTacP6zlEIGiJm0o0GkctsgOx0p8P?= =?us-ascii?Q?Spo+YECnZhLYArHEfHKjN+4IuKFmSfdl14sS7XHc8jpUZJqYs9Cy01LjdZB7?= =?us-ascii?Q?eKPR/c9vK0MFu7odhqa7b7FwKkTdtciidpEyN9yQnO2dWaWeBKfey19pD6Fo?= =?us-ascii?Q?N5Y+LkcRucQywG6jMuCsERAla8d2aJE=3D?= X-Exchange-RoutingPolicyChecked: jVz+sUz412dZc8VQFgJg+c93w6Wwxwb6x5Wl3yJpNNu9J7VfyB+xz8NymxQbQRpPa7hfyCSY7hyFHq6N3sx0RPjPSZQHkt3sUqxR/TBeuzNmfu7+R5wZxxQFTyCd9AymdMbHEBAEkpRMBrZH0EYA4jFdcwJdZ38Yc2ADLoZIB8BReyOVFwx+MPLHOjma3NkN/qc3jEwayg0ldQiVCxQZrLzujLN4BZ8SeV+JNXMYa7NFxbY+N/U6GZjiV5fNwkSbMk2aaC52KST3qckZdG5QGBUSD8ad/tM9wveBTyj9re2p+R3ZaxEud18QQQSYA9k3/AJo+EbDbMfxsHwVFxvIWA== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 397cc356-9a5c-4766-519a-08df17dc8fde X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:38.5375 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ANX1PM+3o8fO73Bs/oikEWm7nPf9bdChG7x1rJXFG2iPXpl3xUrlUaFxl+5xEuAaLuRLAqFapkmNZHfVsyE51VA7vLGqdNxQ3vGPOfOL4bU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX3Ac+G29iMg05 jaR/IJZr3uZ4deicsjFp/6T4bd/R3Dh3fFAfvtBBJGVqdER4yvjPyyHW5NOuSInnYH2A75w/doQ 9bCMRGs48dNU7gr9hV+Twnz3kVn3S2U= X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX8mVNz/R+LbE7 ajXmp+9woeKMqIQWG8bljxaTlpnIW0kY5ogNo0Oop0+ZrdULpHfHub3JTHjpJjshIsAl2yHbH0O 7KQoSMM05ncxOo1c00XZFxLHJxvONASuh5AkpHNhALHC0ApD2OoCLAH+fAJEY/IEE+H03IV5tLv CfgAMh5M0KAVbALHpZcGTqM8GdcYocFVKfIA+9nlQ4eIQW38qcu0zRdIjNw0TdyAhr9uMvBWj+g 48hBFX+s/odm2OEThtGZu7gZ/pbyYqSG8WHfx6xm6bJ2DP1dUOm0Y8MrpTeanQALqfTwPnXxG4P lnOnDGMH/RhMdrHeiugMzcN66dVbOaaobu/XoWtwqa6HNnT6ie4X1MSWNkZPGbsjWVvd9jk2aGa JxZ329Xl1EJu9AZgRSdJnZlPIplvSkvOHHIgJjg17UwhWUHQT+Gr3GvkPPzEENVk1xjdI04FQci fFYVKR5jwAxQ1tLMRaQ== X-Proofpoint-ORIG-GUID: Eq5is1XjvfqIrfBd3YNpqoAWjUaHVkBd X-Proofpoint-GUID: Eq5is1XjvfqIrfBd3YNpqoAWjUaHVkBd X-Authority-Analysis: v=2.4 cv=fphJ914f c=1 sm=1 tr=0 ts=6ab12423 cx=c_pps a=kkxl9DAbGs3C2F6ePkv26A==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=1L6crL_YRTbalZ11mEUO:22 a=64Cc0HZtAAAA:8 a=g3_KJovKdQ1qFWqhGEgA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994240580158500 Content-Type: text/plain; charset="utf-8" Add kvm_arm_field_get_supported_values() which, for a given ID register field, builds the set of values KVM allows it to take on the given host. Non-writable fields are pinned to the host value. Writable fields follow their per-field constraints. This function must be updated when KVM starts exposing a new writable field that is not lower-safe; hence the special handling of TGranX_2/SpecSEI/L1Ip/MIDR/REVIDR/AIDR. Signed-off-by: Khushit Shah -------- Note: - We should have an authoritative static list of "writable" fields in QEMU. --- target/arm/kvm-stub.c | 7 +++ target/arm/kvm.c | 99 +++++++++++++++++++++++++++++++++++++++++++ target/arm/kvm_arm.h | 28 ++++++++++++ 3 files changed, 134 insertions(+) diff --git a/target/arm/kvm-stub.c b/target/arm/kvm-stub.c index d263adc921..c9cd47bf47 100644 --- a/target/arm/kvm-stub.c +++ b/target/arm/kvm-stub.c @@ -144,3 +144,10 @@ void kvm_arm_destroy_scratch_host_vcpu(int *fdarray) { g_assert_not_reached(); } + +void kvm_arm_field_get_supported_values(const ARM64SysRegField *field, + const ARMISARegisters *host_isar, + ArmFieldValueSet **value_set) +{ + g_assert_not_reached(); +} diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 6f704c0509..77b1bcdf55 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -1324,6 +1324,105 @@ bool kvm_arm_cpu_post_load(ARMCPU *cpu) return true; } =20 +static bool arm_field_is_signed(const ARM64SysRegField *field) +{ + return field_matches(field, ID_AA64MMFR0_EL1_IDX, "TGran4") || + field_matches(field, ID_AA64MMFR0_EL1_IDX, "TGran64") || + field_matches(field, ID_MMFR0_EL1_IDX, "InnerShr") || + field_matches(field, ID_MMFR0_EL1_IDX, "OuterShr") || + field_matches(field, ID_AA64DFR0_EL1_IDX, "DoubleLock") || + field_matches(field, ID_AA64DFR0_EL1_IDX, "PMUVer") || + field_matches(field, ID_DFR0_EL1_IDX, "PerfMon") || + field_matches(field, ID_AA64PFR1_EL1_IDX, "MTE_frac") || + field_matches(field, ID_AA64MMFR4_EL1_IDX, "E2H0") || + field_matches(field, ID_DFR1_EL1_IDX, "MTPMU") || + field_matches(field, ID_AA64PFR0_EL1_IDX, "FP") || + field_matches(field, ID_AA64PFR0_EL1_IDX, "AdvSIMD"); +} + +static void ranges_add(GArray *ranges, uint64_t min, uint64_t max) +{ + ArmFieldRange r =3D { .min =3D min, .max =3D max }; + g_array_append_val(ranges, r); +} + +void kvm_arm_field_get_supported_values(const ARM64SysRegField *field, + const ARMISARegisters *host_isar, + ArmFieldValueSet **value_set) +{ + bool is_signed =3D arm_field_is_signed(field); + uint64_t host =3D extract64(host_isar->idregs[field->index], + field->shift, field->length); + GArray *ranges =3D g_array_new(false, false, sizeof(ArmFieldRange)); + + /* A non-writable field can only ever hold the host value. */ + if (!arm_field_is_writable(field)) { + ranges_add(ranges, host, host); + goto done; + } + + if (field_matches(field, ID_AA64MMFR0_EL1_IDX, "TGran4_2") || + field_matches(field, ID_AA64MMFR0_EL1_IDX, "TGran16_2") || + field_matches(field, ID_AA64MMFR0_EL1_IDX, "TGran64_2")) { + /* Either support the host value or the "off" value */ + ranges_add(ranges, host, host); + if (host !=3D 1) { /* 1 =3D "off" */ + ranges_add(ranges, 1, 1); + } + } else if (field_matches(field, CTR_EL0_IDX, "L1Ip")) { + /* Only safe to downgrade to VIPT, other values are reserved. */ + ranges_add(ranges, host, host); + if (host !=3D 2) { /* 2 =3D "VIPT" */ + ranges_add(ranges, 2, 2); + } + } else if (field_matches(field, ID_AA64MMFR1_EL1_IDX, "SpecSEI") || + field_matches(field, ID_MMFR4_EL1_IDX, "SpecSEI")) { + /* It is safe to upgrade SpecSEI to 1, other values are reserved. = */ + ranges_add(ranges, host, host); + if (host !=3D 1) { + ranges_add(ranges, 1, 1); + } + } else if (field->index =3D=3D MIDR_EL1_IDX || + field->index =3D=3D REVIDR_EL1_IDX || + field->index =3D=3D AIDR_EL1_IDX) { + /* + * No restriction on value that can be set for implementation ID + * registers fields. + */ + uint64_t max =3D 0; + if (field->length =3D=3D 64) { + max =3D ~0ULL; + } else { + max =3D (1ULL << field->length) - 1; + } + ranges_add(ranges, 0, max); + } else { + /* + * After handling the special cases, other writable fields are + * either lower-safe or signed lower-safe. + */ + if (field->arch_vals_count) { + for (uint32_t i =3D 0; i < field->arch_vals_count; i++) { + uint64_t av =3D field->arch_vals[i]; + int64_t v =3D is_signed ? + sextract64(av, 0, field->length) : (int64_t)av; + int64_t hv =3D is_signed ? + sextract64(host, 0, field->length) : (int64_t)host; + if (v <=3D hv) { + ranges_add(ranges, av, av); + } + } + } else { + g_assert(!is_signed); /* No signed field with no arch vals */ + ranges_add(ranges, 0, host); + } + } +done: + *value_set =3D g_new0(ArmFieldValueSet, 1); + (*value_set)->n_ranges =3D ranges->len; + (*value_set)->ranges =3D (ArmFieldRange *)g_array_free(ranges, false); +} + static bool arm_field_skip_writeback_always(const ARM64SysRegField *field) { /* diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index 4e563fab96..9481e56412 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -175,6 +175,34 @@ int kvm_arm_read_sys_reg64(int fd, uint64_t *val, */ void kvm_arm_add_vcpu_properties(ARMCPU *cpu); =20 +typedef struct ARM64SysReg ARM64SysReg; +typedef struct ARM64SysRegField ARM64SysRegField; +typedef struct ARMISARegisters ARMISARegisters; + +typedef struct ArmFieldRange { + uint64_t min; + uint64_t max; +} ArmFieldRange; + +typedef struct ArmFieldValueSet { + ArmFieldRange *ranges; + size_t n_ranges; +} ArmFieldValueSet; + +/** + * kvm_arm_field_get_supported_values: + * @field: The field to get the supported values for + * @host_isar: The host ISAR registers + * @value_set: The set of supported values for the @field + * + * Will be allocated and filled in with the supported values for the @field + * based on the host_isar and whether the field is writable or not. + * The caller must free the value_set. + */ +void kvm_arm_field_get_supported_values(const ARM64SysRegField *field, + const ARMISARegisters *host_isar, + ArmFieldValueSet **value_set); + /** * kvm_arm_steal_time_finalize: * @cpu: ARMCPU for which to finalize kvm-steal-time --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994530; cv=pass; d=zohomail.com; s=zohoarc; b=W330v1NtHJd8iQGhttnxEUU065sq8gu0X/jCq8M9iD1KB4edYbHTRbvRtc43DehzocxxGl5gPmZwxR2Hdl4+fLl38kGHz25BxbPWNpmcWFC1YE9mRoGfX/rR5qvyRDejchOQLser2n+4iP54gKIsEISNnTEdVtol5zMWabGKbMg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994530; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=+EUcr9YpDJ2dwgGqkDAfKhKUtc7P/qvdLc+cBTcPV6k=; b=aMVqA+IX+pVNKJm1DYwtDAy6D5oWj5ynUZ80IRscOxROr6RpVvPHNiBnhVC2H4bzGL/KLsZNQ/fCzzy0G5JYbk03s0wIO5BReyREJ6iFdQbRhHbOjEkTSdAsomb3/aDgpl/BkQ0nJvfz8t7aBjwN58R8LmKYxpDEu1KeajS2vPg= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994529994445.3952595553325; Mon, 21 Sep 2026 05:42:09 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGd-0000SP-Qs; Mon, 21 Sep 2026 08:37:08 -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 1x8dDp-0006xL-98; Mon, 21 Sep 2026 08:34:24 -0400 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDk-0002BQ-G4; Mon, 21 Sep 2026 08:34:11 -0400 Received: from pps.filterd (m0127842.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAfNtr3340875; Mon, 21 Sep 2026 05:33:42 -0700 Received: from mw6pr02cu001.outbound.protection.outlook.com (mail-westus2azon11022134.outbound.protection.outlook.com [52.101.48.134]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4gssqa2y0v-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:42 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:39 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:39 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=+EUcr9YpDJ2dwgGqkDAfKhKUtc7P/qvdLc+cBTcPV 6k=; b=2uKVMXA8ZpgcDgwAO3pukgHxW8yS2FdWnuyPsaBcTDb+UkWq6av6hARSn fb05DbVt94G8KQk4JsPMF8FfVhYe6J+53BctE7L9LGrwv1VatnAgGMbGDSK6uGuZ fbplS+2UQy0fBpRjJSUjlzV6C48MHpDw+P/hykScSWb1uHk129q6pAd5VJVL6VOW KNVf35ErYwhQbwiRyAjyOhZQqOYHsHo959/cNwwev+20s5ZzeiDpIO3HzKlSqkIc Id8aZFxSB0cnsmPlk014aKKnFzBixrBwOwQL4ajJOmWKwk9CB0gdvBz+QSEKcxzz xhXZ2cF+CQO1+FW8NC9mPYwTp6gjA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=ZfieIQtGyp9nISSHrFk4urR1n20iwpTjrdF9zbHdP+uf1uPzVf/0EtCuvbTjLqGYJ+fFA6JmPm3FY+YiRMmQqjEMB7MoI7OpirJmVP2RYnd9NN93XGXvCUvciMjueQDuJ1RuexajTfU1b2smUgQq0zMlKJHTQp/bXeqPdYMinjEQvkVOQoEGBmr2H20j2ANZdNLDn6LcuFiNA/erFGCnrIKkUmM4s58/YNu2dCqW4faaEOTuFliMmNfGNIi/6VZ+SOXtTdlzbr+M6TZFJNRFN4RSW+EpdPXwE59MoJUj12rtmm6BtnlWJrx4HSpfCKzrpKwwC7xn+1tcnGt19RLjzQ== 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=+EUcr9YpDJ2dwgGqkDAfKhKUtc7P/qvdLc+cBTcPV6k=; b=PligAcpFYeT217fnxrj2PW4IkWwSmGVXWoeVZJesY0V9kIZas0eFbUxdEDQWkjqJa/IxW24I1v6+p+syYNns/5Mw8oPBrp8yrq+dmg1lwzjCuvYS6IT1FGWrTQ1HCTIQDjUD3VtwDLdnjOK7p/GL5i3XerMUPxwZs1LGTkycMy3uzyfYH3OcAk56UpNG4GStWwekLI7aQx6efSS3Id8o4U6MLcxO9Ooe6OJnWgUrH2gqvDQbQ4UZiufQtLxsPGgxUZqe6aZKPiTH2ZMY+iOcO8HELjWAtSDJMpP0SEUJMoE8l1So0O88PWUgnJaUj9ov9j7wEYrIgf8hSC5tzAgF5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=+EUcr9YpDJ2dwgGqkDAfKhKUtc7P/qvdLc+cBTcPV6k=; b=QpB/7rMxeybvVXvZtK8leIUA28E5gHOuj+54q817Fl2CxNfG4kz+bPvF0NP21DYOjB0Pqa8pj57bD/Rw7mPhc3hnvNd7b0C30G9EkQ15QfjK2nT4+V6OppfQdE4vkwJ8QlT1SsaUS4rzpDaNNFTdBsQadDV85kA6ioa5EOUIgO/BgQSqlJovLl9+4YFUB6GBaSFJ7CpwQK1fOdCg8DbuHKn1xgTbCwjMgQY2vZ7ZTuAXv75teC12M2njjmzTTkZqToskloqmUlJ7jnNqt7DJW8PF9nBpwzD9bUntDFKf5Mm0pJoBALSSivgRsZwiQ2Cgh+uhIzwvAqbWZx33ljeriA== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 21/25] target/arm: report 0 as supported for ID fields gated by vCPU init flags Date: Mon, 21 Sep 2026 12:32:45 +0000 Message-ID: <20260921123249.1708067-22-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: 82eebe63-d637-4163-a7ea-08df17dc9059 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: f27DNR1fvyr6ZdLtqMRc/k1Hdbd93CYWrG6r5B/++zrq48xtIfu4ADWrqUtP5UVums2cdmw0nWlL+YOW2QJuNXowJpZrApXods04u9G+VdNcwIWp5ZxMpUQE2SeiMIioQ5lQQ7SGmrSYLZMvGFycwkvpOFYwvten8vz7ZIBehNnfS7GGD2mD31ebluo5SCKgnaIWRUQfIza8jkg6xoG71j7tcCKGGbnFf1uqvy09atWO6TFubDOa+MpmfzXmgEXNDrwTrUIQeX62C053eL/yq8/5qMr3vWHg0JK49wRbGyBDkzYMWzx5Ybl6pNwxFRR04tOtkQMLHoyHOgIk+W2/ZTBomlJXgod5hc5Xg60LufRUA9ik1Qz8MQ2aCXsYksKaFSWs2aH+YnRcTLAa0D+s953BjzMPxFY+C56l1jXGqId2Akpygt+R27off1trgnOfGyzoof8BXAFX7NFQoG6SdeRhtIW38Cb17yowy8pqXgRnqeBE7Y4tMP34eImJDSB2PFJ3h6wbT2PBoTCfc2g+vkvLXWkILQlo0jLQWGm61NfBo/P5DUibGS65KXq/wuud3KyO+hjBuKssleBb4nmUonnQwaDBrHubHYnqbzVC7BYJbNwZRXHOimf106kbPdGbiGubg6ZjaC/UtZcoDZ9/m4p3HvA/Ac5wdygrfO9EzzQ= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(6133799003)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?JmIO1UXq6ia4fSQZ2D2eGmUQURKRiPiRXa9lFdzhfdl+JYKsK/glMe9T8yQF?= =?us-ascii?Q?CRS54KAtQZIlUMnr4uzkAYK7sodTQiIr0BHNYPXFh3nRWRbKAeF0U9RkjHUg?= =?us-ascii?Q?YDVLeywHLNwjt+8CHzMKCyltxh3VQpwy6rAAXu1SfqDSPpmAYmXNnal37PIk?= =?us-ascii?Q?VbZHBmylTl6j9fHujcrKsyk1Cpz1w+WeQiM72RPamYjspCWHJ6/EvLO3OZRD?= =?us-ascii?Q?OdAYBrd1gJQ1wW0VVCL5AZgX4wovUOFwUz2RHLNookmknt/BLo43Coy/Hdx0?= =?us-ascii?Q?huPurdrmQ96crKMcKSxP3ZGqAl/RhMQeQibBZ5tlHXdW2x9PFMEYuNH7b3mq?= =?us-ascii?Q?hE19uw5J8OtNdEPaE7ewrN0bIHMmy5w8iTOZo9qox1LX3XHUpAUJkEs1fTQ5?= =?us-ascii?Q?zf9nFlsLZACEMLfSJWw/9NjGOmT8WYc5GnN/zFU03W5jV3hRvCgwlrc/pxgB?= =?us-ascii?Q?oUFHaPwpsWNFiWwSKqUPBqtToQ0oRCKY4VFBRkLGCBICC3ag58bK/w95uyVZ?= =?us-ascii?Q?mEtnb1tuugvvRCDnZGuJD90MNrDiOA7ieomWhkw6F9EcM50qbeCEDffs07z/?= =?us-ascii?Q?/8/xS4/TMA5rYJoVf4lgm/2SGs6Gfo0WQve3gOmcWBDWUhEn8Kkx4MafR0Xe?= =?us-ascii?Q?LMk0+wN2n0SsPS4aMpM7FFUVVbsUd8O50P93nFsL2vC/nbMCdmNsOBBKf75p?= =?us-ascii?Q?p9vigQb9LVVZpoVWiH4qYSgC51jO5IpfMJWZKDPqFBWqe70qUyXyWpM2nfp+?= =?us-ascii?Q?ULMC5PQOASlBdmhEhKq5VbY49Gc1PYuz2V84JgdjvAj4UbVHD5dmL9ycznbd?= =?us-ascii?Q?qbv/Plqa6ELk2hB4bIlxeM+V04t6K5PRJdvlpyTCkd1AE0XjzRRLx9+blw1H?= =?us-ascii?Q?Ca+wB21DfnL2UWsWJMq7erez8G0ymFEEKnTFPHtnQohsSd6mmv4SGSs+e7NA?= =?us-ascii?Q?xH6nrekJK/LNgzUAnPxeAx0mj3C+h0ZKW+UUDE8zl54f6TZnuinnjLB3e+RB?= =?us-ascii?Q?lBObLMhp55dqNpfJ2LZ/ziXh9ztUPz5tIGpxBQX+SFYbB4Ns+1x6dH+I+3XH?= =?us-ascii?Q?JNtgVP3g626KKV9xmqNXTTe8sCC/fEtFuNiv49CJ0ohoEgQsBGYu5z8CwMrq?= =?us-ascii?Q?IxaZrZ73ZiYnkS0hRFnvsm0UtoBZQCJerTyvUx8SrUxpnsuyy4oTH4DJjgHB?= =?us-ascii?Q?acYCJMSTaIYAeW+8vWi5LbXzTn5ZJ1mTRjhdC7vzNLn3cBTMVk3rOe7R+dWp?= =?us-ascii?Q?PJmGxdJkAcEy8rXohtcBnRTiE/PQTyO8z0hpzemn6sfkvv5kdT4u622WvStz?= =?us-ascii?Q?3ZbyU5nXMiiCxX+c2Xa66xd9NrMIyBuZz5lGgCcV8nrpoyvPNfOWZTH5/3Dt?= =?us-ascii?Q?o/dQ3Hs0Pa/RVdjj2kI2FYYcVyWtvGouPFDlZBCSysl0axwldR7HCSSr6qcy?= =?us-ascii?Q?0lW5qrx4xtnC7VVFYAoqSjcPf5cJ69d2sIiheAOafaa3o1a4YngYOhUxxwpQ?= =?us-ascii?Q?mHz9RoWHogv8Li6ALnZD8xxHx26YzX4t+wt4DD5l+jva5aXmAicdsxoB/RIr?= =?us-ascii?Q?fYmbierpR8rDGrKVKk5GQq82ZyxQEADv8osk/1D6MuU905vhmmiUwiJuOR6k?= =?us-ascii?Q?B6w1HvltTk1sTzAl4TgukilwKo6qqlptUPZDkjUkhmNjjsVyVMt0fB4VeQ7D?= =?us-ascii?Q?aSf9EsplLeTFqy24OhkHxtMmMqvxV5LAhsMjajJ0ih3BBs1VGtaRpxazE1Wg?= =?us-ascii?Q?06N39GX5s9iYiswF2fX6eemg4HS8ZYs=3D?= X-Exchange-RoutingPolicyChecked: Etk2iNSygfJnD8Hvc+nPX/C3R0L1WfH74baCr5HcvwWLRAlsHukAGmi/zWziyFDaagTmKBQjKGUWrzm1XS1LpJOPVu0w7B24O/HQpp6Nh/na3DAdfa7HJxA8IUnZJ2YhCAW2I+v/lwPwuAJUOgs7wy04fgmTt8p2ePW6342teq9ZFmIagFn36VXnv1zig/voQ/L9eHWwiEgxvqwabbVtLwAZz2FhkYaNdJ2PjZOWy+3pDba/Nj4tQnHYR23EJ515uJS9VPZiuDYkPr7XSwaoFX4Bu+QrJQy1FIyrsx2ryjRUclTqLyTLZPlUEnYUKYkS5bLCJFsfUW7FO3Ut7Ve4IA== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 82eebe63-d637-4163-a7ea-08df17dc9059 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:39.3305 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 5yRlX2MtcBvp2w5WK5jOpCLbRA4DR5+16wVFexpnx0bdJ76B80TsC2pZuSbzqugI+sTgs8OvClEX2wDPqFz32U2MjRb+Kw6fxkou2y2d6rs= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXx9fZs2qEij59 PxIKUbl0rg44TluitoQRGKzcY0+jrePAcHQqL6SAl0O8bNZcXbk7NKqP8U7DJ5+JBGNBhljUsM2 sJgtu4HpGJ1gpJRVvHJsuqzjERRT9B6O5Osfby1A0kk/D1PDkWIEHNLGXbiIoZ8lOOjtBxlqXbn MCfuS5cGvkS2n3qAnCClnLu5na4lU6mT3B1/VM+osVjv02tUbC2zlFGPcRP6CgiijVyxQGqMY/m FMep8xEDHfaIsFi97+ay7ZMLaEqa2n40T21r7uM/PrJDmHxdn9SJa1A5nBc+qWXArRS9RjZRfUI OWIl3yHbDfVoVqinRYS6BYl6Gt7u2uuJ8j/Rm+UPr1sjxoS5XE5GZ0swQ6ZRJlRM3D3O7Y/YOfX dLZqmMYoZ7+G5Fb0ydT0oAfKUV+kHAcc9Hg1pz6aTeHOi4/+zaVrioIUn89nilgCRiHOw5Yi8W3 v4k0puR6mdR9Ms7zRMQ== X-Authority-Analysis: v=2.4 cv=DfeCOftW c=1 sm=1 tr=0 ts=6ab12426 cx=c_pps a=xo3zWrN9qLO3Lphhql2lSw==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=VUi8bpU7OL1Oj2-RSIOF:22 a=64Cc0HZtAAAA:8 a=AgFlfPbjf6SEF9yYaDIA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX10KtP0M6n+fC tiP3rW70UQtPVa4Xfo6vaFnt16NCXcPP7CzxWPRtAaI/yg+VZxEgDnsvSLdjNsMOA7d64Fdel9D ilcKkzzF3nrF9nCyzpqVqF/CGKg5yb0= X-Proofpoint-GUID: iUzoY1eT9dWTeicMvtog9eN5ZbFF6YH- X-Proofpoint-ORIG-GUID: iUzoY1eT9dWTeicMvtog9eN5ZbFF6YH- X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.155.12; envelope-from=khushit.shah@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994534231158500 Content-Type: text/plain; charset="utf-8" When QEMU queries the host ISAR via KVM, it uses a scratch vCPU initialized with all host-supported features (like SVE and PAuth). KVM exposes the corresponding ID register fields (e.g., ID_AA64ISAR1_EL1.APA) as read-only. The supported-values list only shows the enabled host value (e.g., 5). This falsely flags a model as blocked, even though the features can be masked by omitting those flags during vCPU initialization. For these fields, even if KVM reports them as non-writable, we explicitly append "0" to the list of supported values if the host value is non-zero. Signed-off-by: Khushit Shah --- target/arm/kvm.c | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 77b1bcdf55..0b5fb49dff 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -1346,6 +1346,24 @@ static void ranges_add(GArray *ranges, uint64_t min,= uint64_t max) g_array_append_val(ranges, r); } =20 +/* + * Some fields are reported as non-writable by KVM but can still be + * disabled by not requesting the corresponding vCPU init feature flag + * (SVE, pauth). The supported values are derived from a scratch vCPU + * whose init flags may differ from the real vCPU, so for these fields + * "off" (0) is a supported value in addition to the host value. + */ +static bool kvm_arm_field_off_via_vcpu_flags(const ARM64SysRegField *field) +{ + return field_matches(field, ID_AA64PFR0_EL1_IDX, "SVE") || + field_matches(field, ID_AA64ISAR1_EL1_IDX, "APA") || + field_matches(field, ID_AA64ISAR1_EL1_IDX, "API") || + field_matches(field, ID_AA64ISAR1_EL1_IDX, "GPA") || + field_matches(field, ID_AA64ISAR1_EL1_IDX, "GPI") || + field_matches(field, ID_AA64ISAR2_EL1_IDX, "APA3") || + field_matches(field, ID_AA64ISAR2_EL1_IDX, "GPA3"); +} + void kvm_arm_field_get_supported_values(const ARM64SysRegField *field, const ARMISARegisters *host_isar, ArmFieldValueSet **value_set) @@ -1358,6 +1376,13 @@ void kvm_arm_field_get_supported_values(const ARM64S= ysRegField *field, /* A non-writable field can only ever hold the host value. */ if (!arm_field_is_writable(field)) { ranges_add(ranges, host, host); + /* + * ...unless it is one of the fields that can still be turned off + * via vCPU init flags, in which case "off" (0) is also supported. + */ + if (host !=3D 0 && kvm_arm_field_off_via_vcpu_flags(field)) { + ranges_add(ranges, 0, 0); + } goto done; } =20 --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994238; cv=pass; d=zohomail.com; s=zohoarc; b=l/MQwspl56OnuV4doCKrzMgyo/aH3QssFeepezqoOFNRbksR1qZRnhpSmvtMhAY6Gm6Xd0xvnfNsgFWnO5g4ESKrAqqW6wTN3i2iAmN1suWlrLTP5zHOK8dUfxbbInSqESupjyuETLRX6tJIhQIMxqvk2gP6uS80yP/etCN4lFg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994238; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=RoA46Smm2kG7AgEkLGIlPx/3rudaOSdVVhNBIOQGUlQ=; b=fp78csPe4H6qeM9DlbdCfRnWoqp9lpC1pFCo2QznVlF7XImDWjtAWCdxM+ZJIeBfkq6BK7r5glJpdG19wrvVFwzst+M9aVEZG4aFOfZbeihw7ik2WKjSt1o0i+6Mu8EnbxcCMM+dyR4AjDdUJbHhUx+OYvmuS1ujNG0xCAz6WOY= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994238572187.4300396956719; Mon, 21 Sep 2026 05:37:18 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGZ-00009J-Gd; Mon, 21 Sep 2026 08:37:03 -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 1x8dDs-0006xW-Pd; Mon, 21 Sep 2026 08:34:32 -0400 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDp-0002Cf-Cr; Mon, 21 Sep 2026 08:34:16 -0400 Received: from pps.filterd (m0127844.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAfaiY685521; Mon, 21 Sep 2026 05:33:43 -0700 Received: from mw6pr02cu001.outbound.protection.outlook.com (mail-westus2azon11022084.outbound.protection.outlook.com [52.101.48.84]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4gsswvtxe8-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:43 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:40 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:40 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=RoA46Smm2kG7AgEkLGIlPx/3rudaOSdVVhNBIOQGU lQ=; b=rMsz6tptMmg4HQ1zjFA1XoV9CtjziEMmhraWaHhmI54X7HbhsR8caICyC zCzJKNamLSMfUZxj41fxaE5b3zQ22slL9+e29rH5KE1p1RUwSeI+CWI3qm9pAMiT HPlJxRNSHDkTEufeYZXXVAT59Hdepvz71VLIoJnveznGfLAPrDqvjo867FOgXCdF w3ydFOUCS0Qvz/fF18eCPMXRsY7echLBkAB7JHvqqhoztqiUYE+k8uObA6b+yy/w gMIeqn/KyTaobBcOc8/30lSk68ufktvTaHy3DckqG/xYZpJUWKPr5vLbSGgxRAGB SUwgLyyylMrYmXabAvVaOd+2k79GA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=CHuY56JkkvVTdlOpb85sfe5dePnjFNicz+LLsU0+DY7rvHll39YFFzABLJ3FWhUIGZuFGR/sBPirTYK7m1WXACOul0atzyufZGTIoLUOb85FprmPp7oVg+UomOB5U/OARiTLGaSJkcPfe+yB30m3COzUS7E3VFjdKG3WqMNaBAU6qQgD67zrYLA41N8cgLTF8wt9LgYl4c2ehEhXLgKTKbtvPb3YDmqhVDW2AIZVUXWmHr04yL23MsEPll+cWYy1lx79kiZj1Njk2x9fKD34VUUKRpbYUVS+A6duGqS5DDXfsP1XcnfDHBBmQLNPvg8V8id6CnCzE8zM8ShUSrc4Dg== 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=RoA46Smm2kG7AgEkLGIlPx/3rudaOSdVVhNBIOQGUlQ=; b=AxQa90kiOuvus323XLDSVkLodj1MsKrRaW2j7RImZqidQzrppQAE0uAuKa7lB+skSFpafLwFp5F4EIMCo1FCAW1qiXkeCLDPTL3y9p/i/bH5l+hBB5sLFTWFYKhUV9QIo7Xhm5dAv42NSgPOqH7pWWWJdU4FY0vFxst2qOgyF5uV403sKMv4k+VChLSenm1UgmY2NxooBicLvAG4q/k6D0pUHbVmNRnfEmSRLI5VFNXGuFdMGeIDTAa5n96zhP9z+wxVMqCXt7tsAxAssiWKheBiH7iT9kjZC9cuDgOKCnV6Tpr7StSRnnLLnfceUss8zvf76G/gAqLyO7uxN0fjMA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=RoA46Smm2kG7AgEkLGIlPx/3rudaOSdVVhNBIOQGUlQ=; b=wm4iz7+THg24jFxjKRYj2f0JZ7hxRUhQHPb+WrtH5Toskiy3GS6mrD7A1ButI12YfkJAVMmJttEvi6s9jiAMtIwnZ4hDYlO7idcy/UAohInRWdpVYc6wNj9Iovk1a9n9uqRZPSeUE2sfo3DRFPXdv6oB7sONIZKBMhebw2IzcdFUqS/ubcy9kJG1YG4PYnXV+GGj9g0obaZNYDsqJOaWmXqrzv0cRude64fbhn9pnMa88qU3C2rwKoG+RPmkEF9NcoW/fsnOWarevH42ZSD23VNtc0Jkb9Vs4qKHxrrqrUgXZBGN0yBuHhy6tbAXyI+ZNqkJqz+WpyfJiYcV1rw2/Q== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 22/25] target/arm/kvm: add kvm_arm_get_host_isar helper Date: Mon, 21 Sep 2026 12:32:46 +0000 Message-ID: <20260921123249.1708067-23-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: a82b6669-e07c-4857-409b-08df17dc90dd x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: RWN2ABPrO3SWcjbv+0Mom54xpnBNU64XV/+SD0r9oEQniwM2w4Od3A98YeLzEwBLdD8ujsTpxyopwaLN++tH21Kw6qZDk5s2M4DD+3NQ5FVQoF325FmfjZfW0VfdxQorp8lpSW8+NReQbcv5cMqmeGHy5DY8D7l2BvxFL44Q7WdWs1fc8SwFoCWn4xUz9/8NdmhYqtBZzggHbaw/iFVlbY2pF9ivlY4OBFmzPycL9BavpQV24SVseCgtkQqcX100rjbwb2+Ojnz2o7V9AsQvgsmrrC2M44AnAnRnBPCAxoSmoNVAq8wSQP+C3AXqVxBGYylXZxvfL5ZzevqYWBvJ2ep7fy1dCw3dfUV/vOK4vvoMs0F9lPN0oimwFXfLYqqAG70wmhJwfh81p7FtIS31kkbUfi+/R+itssjaicXPKb21oR8lLTMi2AaKaD4M3sgA71A66DxqRpH4c83pC5KAC33In6aRLv6aDt1oqlliRC7Bdu5qx+qZbcXsAFtzTwm/dTikbeLVQVeg+tGRAl1iFfe+vQ23V7KedcinxUMuZlDw+50exeFuhcGReNaFFYpYCX2k0ND67MwzBgmzCCtmWX9sQM3ZYISS4RwK+8f6hPnrWPameI9LrkDbtyNLmKj5pNF5SZpEvhdKadX48LsD9c+WK0p/+8A3ZsCQFv98lU4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?84FAvx0vXtifrpJu3LnhS2KC7Y1o/YeKoNN6EMgIeojAt30F8r2hC0sBcogA?= =?us-ascii?Q?2bQvCiN1eFSf2w3P2RF1D0vonNCZn1knSEX7Nzq3pvy4CK5NEDeNfAG2iQgB?= =?us-ascii?Q?yZaQaHj2cqYcLSOGHrJBoYsBqOW+cC3MX/ArlnjfHEUA/gLFEHKCkrctSgjC?= =?us-ascii?Q?G8wIanZC3rEEoXIG8yL3NriDChf2IO2AIts1nG34vJ89EJBccx8Vnn6A4wzo?= =?us-ascii?Q?P/FjADTH2C/X42DV47IAEH41ImZ8tokGCOWW0fBQO/SVf7CuZuB8WeiiRrmm?= =?us-ascii?Q?pDMCukwuzIoDtqL/fZeMxeVLB5pvUksOl4nJ5O+a2ffPZ7adljuLv+jxSHWl?= =?us-ascii?Q?wzSN/uJ1pV4sPiq0fqSxNM0Lk58ey4yrMEekkGnXuATakGvMSGfV6YFiM8w0?= =?us-ascii?Q?Q/30w/pfIO7Q8lvOzZ+tJVmAoWbGhp6EehZHdT8RU6mNxTMCgNXpRGFHLReh?= =?us-ascii?Q?oFhYMwHkA2cLKMkEQhI2aH57IcsqkR/9IuyJKBTNUWjLOLNvXConQyyjSGX8?= =?us-ascii?Q?ELkAT9U1rvL5l/mGtE64trMWkCT4c/jdK+Zl4e5H0hUOCgflpeZRBEVVKKlb?= =?us-ascii?Q?6sj6rCJ0VavpBhJO8yvB2N27IaqbfTeFPPREDDVtqp6iBs4xQr8qcUxAaL9A?= =?us-ascii?Q?fy1cr9srHk72UU3CkRCpyvJz3tnz/+XueiLz9BoDx2GxpMKf8TusCcBBvfGb?= =?us-ascii?Q?cXqpV2EbGEC0CL8jSF++RE6zY2Whd2iiXyd2EJo040kcEF3srI6iEpTRjqJZ?= =?us-ascii?Q?pAHfk5TPmROFtN/rAkgbpzLiTQGk4/t/l90lxj5xsJbrAEr0hgncMz2N1N5o?= =?us-ascii?Q?va3pf/6nw8Ni4oPKdY0bBAQ9na+drD4cvaO0hnk46viV+9egwrO2bY03k2jT?= =?us-ascii?Q?GPamR7kY6rXOizLV+kluWCZkW3V92QykwU9tPiOxw7yml6jIFrpw/95Rnv21?= =?us-ascii?Q?Jqh2oQjl8J8cqpjhBN2RQ8oGokrrUQdFWvidqmXSTPLHicsX0i/ljSnis0nH?= =?us-ascii?Q?/KugnhXMA/kKe2dUsIR56vrgCR2gydzURTO9R0ZBWc4wtIsw1O6RXdpNu5G4?= =?us-ascii?Q?bBCsLohO1g21Hl5PDvgtt938bFzhCmDkcagKkSEE56r5kM6mgSxCalaztOKY?= =?us-ascii?Q?zqo5eXrRXII9c2ah6+uhNwWlC6OD1PzjGRNTYp+0iLVG5EZD/rluq5ukw3c+?= =?us-ascii?Q?2lzgijep523bdy7AlYwm7Y/r4kSwM/Vdl/4xyNNu/YCWqPpGHwtXqKjSAFiV?= =?us-ascii?Q?DcLqf2X0zM4EPhFPmxLTk15B3AbfRX2/4VUuZgKZ4I4U4T3MQpbghIscwUep?= =?us-ascii?Q?1LPzG/GtQDShOZR6SRr9JY2QXtcWGfpdv2DFwDXm7f78T8sDVE2O9g3LRzqS?= =?us-ascii?Q?7i60vzojxXySpX/K6R5EAqWl/CYVm3VDX6VGNAbrI4CDxWV5rEb7jNHDhJj1?= =?us-ascii?Q?Sa67R/jeC4lpaViyhTP/IJsh9qmFEBjiEp1L/gIfQXtzTD2VO631sTA8nrD0?= =?us-ascii?Q?eXhIpXvHRh58Q4AVc85hp1JoVwzCBhCN940DDRsqf7gDXZ4wRDofbW53DZX7?= =?us-ascii?Q?vr7pChf/Xtjy55QnFLDrEx0Qmg6y4N2ENDl55eMxenXHeEDvGeno+MiiZ8F8?= =?us-ascii?Q?kcitl4F3M7npSDfgFu6UsAi9T+iVGSYHIsl59jcYVaGPwzy/flyEQp7NAXKx?= =?us-ascii?Q?VA9om62e4zjhMm1im2Uugkmlb3/RhU53HGgrAqvFzKi/IIlTk9+3WSDwJqW2?= =?us-ascii?Q?i9/jdvG7DWiGCxNrsVWt0T6eiYm/Lc0=3D?= X-Exchange-RoutingPolicyChecked: cCzIMMzpU+OPkiZM9jIcKCSKjnroAQxAg8W9GeEdbxayTJxkWimTqMV0VXaQmH6oECU0iNhsUprggL43Ys6i2D8U9lzV0LmubnU05rROIY3Ys6E0rdPyMQEqxU5Y/NZreucZvChOVOpfP5+6o2KVS+L/H5DM1FU+XPjC/qLdMabOSrfwipxtnp2CmfagpX4R7dbF0CTlZJ8SWfsP2gwuVOm3Nysq92/y6BoVjdvgHKWApt6ei4Ymsa1dtvAO8vvP7xXedTzVm3pPERRp7iZ4t27VkhCqMCyRoGbdfnQyWaUlsaSEgghmHqEknAAwNla9X06pb+AthYEnjrdhP1yVnQ== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: a82b6669-e07c-4857-409b-08df17dc90dd X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:40.1690 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: V8fq9PL+WeJmB0ebrZcGr5fBu/CegEOF8DBF0i+eTePoJjyJvx11/S99AqJkawqUUEzCkg42G4VySSPElNgZMZl8e7RyOGXk6+sVphJJboY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-GUID: ikiMjkgKyd94rx37XcLIK0S4rdCnmBWq X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX5jqk7NQh63vf 67wXq5f8sCpsoLievMddXdNH7bOG1aB2uXjsChn4VNmlfqfyg44SMqLu/O46FngOaz2oQa+V5Q7 CUcYKPlXQBGZwOAgULaLODY07v5BRXPdL8fo0gwFjPXt1+mvTqKqgyA0CKiLa4FUBOHHBuFm6d+ VdoWWXeKduRnvK/+aCn5CDaMrqStORz/pAqabZLmgLAKyl1JBs+ZQksUCxqV3HXbT5yG+5zyz4Y oMgND9XRtSs13jy77hViwE4jzGdh0617Lc1Yw32gPaxIYqEgNYpdDhbdu3T8MFjwn5Oa3D1hBGN 5GK83S06sguvwxD7OgrqnaPkxnFgFB9S+AYkjSUcKPL5JN8bBGJ0BGZKKhJZzPxMJbGbT3UswgW yxwXZBoNobc3djn35UsbtRqVezMC4OlmCAJQrFhAk1eI947AZozamdU0wsrrBfD/ueofKjsHTzq zUxVwZ0Z7+vxeClZp0A== X-Proofpoint-ORIG-GUID: ikiMjkgKyd94rx37XcLIK0S4rdCnmBWq X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX9JEnuqJzJfDe q1tlCJTieszKkD4R9DxkZC2iSfTeDhRorz2hgCPEiztYvBXggrnbFvGa7CQC6mLcT8d2RG4u+mf M/o8Zwkxki7zSGch367LBcju/cNP7oE= X-Authority-Analysis: v=2.4 cv=J8g/fwnS c=1 sm=1 tr=0 ts=6ab12427 cx=c_pps a=fn/DPt3lPG6OhtMeQbTPHg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=0LlEyIVc8U2lsR7dKhuH:22 a=64Cc0HZtAAAA:8 a=vS_ObyiCXZHXlSlc3J4A:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.155.12; envelope-from=khushit.shah@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994240514158500 Content-Type: text/plain; charset="utf-8" Introduce kvm_arm_get_host_isar() to provide the host ISAR probed through a scratch vCPU. It will be needed by later commits. Signed-off-by: Khushit Shah --- target/arm/kvm-stub.c | 5 +++++ target/arm/kvm.c | 8 ++++++++ target/arm/kvm_arm.h | 4 ++++ 3 files changed, 17 insertions(+) diff --git a/target/arm/kvm-stub.c b/target/arm/kvm-stub.c index c9cd47bf47..059a7afdcb 100644 --- a/target/arm/kvm-stub.c +++ b/target/arm/kvm-stub.c @@ -151,3 +151,8 @@ void kvm_arm_field_get_supported_values(const ARM64SysR= egField *field, { g_assert_not_reached(); } + +const ARMISARegisters *kvm_arm_get_host_isar(void) +{ + return NULL; +} diff --git a/target/arm/kvm.c b/target/arm/kvm.c index 0b5fb49dff..bb74f8c274 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -712,6 +712,14 @@ void kvm_arm_set_cpu_features_from_host(ARMCPU *cpu) env->features =3D arm_host_cpu_features.features; } =20 +const ARMISARegisters *kvm_arm_get_host_isar(void) +{ + if (!arm_host_cpu_features.dtb_compatible) { + kvm_arm_get_host_cpu_features(&arm_host_cpu_features); + } + return &arm_host_cpu_features.isar; +} + static bool kvm_no_adjvtime_get(Object *obj, Error **errp) { return !ARM_CPU(obj)->kvm_adjvtime; diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index 9481e56412..ab01ce8665 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -15,6 +15,8 @@ #include "system/kvm.h" #include "target/arm/cpu-qom.h" =20 +typedef struct ARMISARegisters ARMISARegisters; + #define KVM_ARM_VGIC_V2 (1 << 0) #define KVM_ARM_VGIC_V3 (1 << 1) =20 @@ -290,6 +292,8 @@ void kvm_arm_enable_mte(Object *cpuobj, Error **errp); =20 void arm_cpu_kvm_set_irq(void *arm_cpu, int irq, int level); =20 +const ARMISARegisters *kvm_arm_get_host_isar(void); + void arm_gic_cap_kvm_probe(GICCapability *v2, GICCapability *v3); =20 /* --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994539; cv=pass; d=zohomail.com; s=zohoarc; b=T6iAZmFmR/VgWhFy2IltPtvJOdUd7CM47etkvrZuZlETSBRBK7SoIkdXiKAtLbLNkdeTc/a28oE+7rWi0XwgAhy9uoFnYUdobpVx8rSvzLeOavZ8dCKZUOgt4uFQ/BEUToDWFYQfM6Fc6KeGkHPqX1xyRz5yt2ODtr4Paa8UTWc= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994539; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=k1cPfr67ixrfZp04B//b0+CWNo2WG54jyUkoNrahSz8=; b=MS6fcmc7y4bixoJpjFgJvhrTvqooJMmdVPryaoIUFzqCawiBtQuGMX04p05mN/Dd3GdbrGUqYIaVST5tIMsg5+o4p8Kpq/uCck9LVbFVEXmW3p6/CSE6hYk0urpe9gJ1C2W5F7JY6C+qNfixK+2P8NLQgEtTIPG47R2NsP7lcI8= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994539155595.2277919790268; Mon, 21 Sep 2026 05:42:19 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dGm-0000yt-Cg; Mon, 21 Sep 2026 08:37:16 -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 1x8dDt-0006xa-4X; Mon, 21 Sep 2026 08:34:32 -0400 Received: from mx0b-002c1b01.pphosted.com ([148.163.155.12]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dDp-0002Cl-FW; Mon, 21 Sep 2026 08:34:16 -0400 Received: from pps.filterd (m0127844.ppops.net [127.0.0.1]) by mx0b-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAfaiZ685521; Mon, 21 Sep 2026 05:33:44 -0700 Received: from mw6pr02cu001.outbound.protection.outlook.com (mail-westus2azon11022084.outbound.protection.outlook.com [52.101.48.84]) by mx0b-002c1b01.pphosted.com (PPS) with ESMTPS id 4gsswvtxe8-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:44 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by BY5PR02MB6868.namprd02.prod.outlook.com (2603:10b6:a03:234::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:41 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=k1cPfr67ixrfZp04B//b0+CWNo2WG54jyUkoNrahS z8=; b=buOCn+ex9UbUbjbxKxNoyqFk7T1mTvms+/Sm2OK7HGMY4KSJ31t4qOJt8 djSzJdU+Je9didfmVYWhLQmzT+u9/kbYwCCH8t4wipOKe0RXtzqYbMImprJQXlqb Q4e9XwvhsClwL3/hY0b7cL27SU/PckPZrX7yUN4/GwJZiC3kZunC31qkCbAX+P6X cPuenGzWJESPmMLaYQ3eSKTp56GWNRMBufBP+87JtCfGelygU4SZ4jBSIs48LCx9 ZyqDFcBXa7O8RJAbwT0md7hv96wWqWeA2zBVBVnKLnPATJJOmplYG9UkB3P1eNr0 9Y0XGr+rI/VDvnkaQVz87eYv5ZnEA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=BuUnvHgRpGiXUq6XoIaBUea45L8pL356Rpsw4+G5TLDb2A20H41mT8ZDEx+WauK2pm1CXA/gF1SqRygnvMxr3JUSQh8U8EQXHMQlIQiyHrPSHIpZdsWiwlr84amoFBCGiRbV1SCgPpMPtN+kai8/VBlOtmULEPeILjvXcmsCgHvsXiNZl8W2knX5BCR8nKskkByROv8E0VuMUwjCadgtIU72akeVCSJhqS3UB4f4XFkqgnoN1A4UHNroOC3VXe/me537dO2Y+56lbPNyvb2F01n3jv11LhpNxOT16Wz1kNjQNp/HpjrhZktnkVKLFAdKcQC3q+wWdkX5pGq0wI1jyQ== 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=k1cPfr67ixrfZp04B//b0+CWNo2WG54jyUkoNrahSz8=; b=ghwsrDmxiyCJGI9vC4yEm9P0DCseJR0YkyhjO0VOGp0tD5kVfdzdW/2QK2+CwEf6XyP5quSw3A6uhTwBbP6GhvB/4XVftVWXAC3necr+CJ6ZPa+rrDPbvGNS10RWp0i8zZEBGHlpp5yxrv1RgdfqctGLzpGnxE4CIjOYBr1M1lsksB2zTPuYJgL1YAByaeq49XpijoKXsiE1XglO9xBGpUBYz21mQ51pRuEHSnWeKqYI5hK4ZRc7UUcCRCGfTBbEiDiJN3wLm2Nhhz/01OHGLOqzM05WQnMPbgKSbaTPsDcthvF17GDEcD/ZxtFjUlHadWN9fAYqSvmw6t2MXWjILw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=k1cPfr67ixrfZp04B//b0+CWNo2WG54jyUkoNrahSz8=; b=m+knEgBrFbSMo9/s6VHvlquf46pRLxBW/B/nIzKL8wOjSywzsRYTgzweY0ZuyflXD/Ckn+k3MmDFXljoX+ZNTjKFN1hMnvxu8ySBr9+ooAGlv4A83xwte2nqAHoeGO+MbMs4Ywun2zpudLo+R5tChZYeFv+g42htpOZINANo+lTNR8Iv11LSNQ1Cbt70x9gnGqy91Wzol7lqfUHwYdujQu9dRxth0RM/suVjg5SonCqHXMcTUj98oIaCw4A1hBL1g3fL78mUhDKXjmRuCDQX4kdxw/l5gig+uA80oU3zF5+lxMnMEQ7xXA6kPzUpJM0W1GYQSEQyt+Bl/YhJKFluVQ== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 23/25] qmp: add query-cpu-props-info command Date: Mon, 21 Sep 2026 12:32:47 +0000 Message-ID: <20260921123249.1708067-24-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|BY5PR02MB6868:EE_ X-MS-Office365-Filtering-Correlation-Id: 1d1c4e86-e091-44e1-a898-08df17dc915d x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|7416014|376014|23010399003|1800799024|10067099003|56012099006|3023799007|6133799003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: tAkAwIuCcn2HFWFp85LylDW9NMP4Hc9vryuaL0/d+8KB8bOkuh2K9xpkqK8ghHHX9Dqm3NjaEnT6vN5QkxjlIJEQ/hys/gV2JmSP8R9eMgqGgRpklzsarhEo9Z65Q/C9EqtlKl+GlIyGreS1tY/b59CgWJbSLX4wGdXIyDfvJf90M+1pY0IndmqWOrz+vVU0nFJnCGWvmK7ReF2fEtz7l2vxIpDle5v1rZDfetNt6dUH+FV9J9pyz3IGihmJDajxUuHgCmlvjHMZlaQrENpy0CpYjUl485hpeTmlmV5M6xVRewq6mIK9bC0k1HYqq+vZaHQukEmD8Nou4iBMB4ZKDepf7pQwNaZL5WY/vVOundw23NyCvy2cjGDIL7IhEaCjLtlPJ8yQKB2r0BN1wPogHAhhiBcMbsZTfwRbyG8BETyvf86ONGReZw3JlUgccUGG2H9aapPCPCFupEbvQ/FzokW9VCOUR7d8a/Xj/aNkCLd4V/hJNnJ64GoxYt5pyhX9uPSJxSLqeuX4tsYaLS7g1H+9UKeRvZGtXo+Cg1l78KJ28L9V4wLXcYP9dkUcYEDt/+DD+KAgQDBeFghuDIpMy8RL8Q+fw0yclhonD83uENuJcJ3oK01Mtc/zx6SXvqjgTWxZMLnRxaeoIEMImrklXDCClrnFVD7tdUk6YZWpZYA= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(7416014)(376014)(23010399003)(1800799024)(10067099003)(56012099006)(3023799007)(6133799003)(22082099003)(18002099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?r8+8SXBZfhmggWok+O/Vix0gDKPW8ly/lnuCBFrMbdqdqHT11RDzSw1yi+3g?= =?us-ascii?Q?kGDYTaZn8d/liueucK7q9ddg0aTBn2fcAVUzNSsjXUFVeCuOY2PC4RXHbkPl?= =?us-ascii?Q?zd9pggq4jDQcbxsCKYvR0EkLmRHuxhoS4epWL7cEup64IlvkYIkOMHMSV8kJ?= =?us-ascii?Q?u5DnT2KS+Hmau1C7T/g8X+v8pa6bObmToL1aV1+t3o12fRBhT/qoxofNyHVW?= =?us-ascii?Q?YNVnSKYeeWJIKtOh63ARDAqQCUroX1PuB1RMBnfQ9B9b9kI+sj3SySmKd2su?= =?us-ascii?Q?bjY5SjlqZn8TwVKZ2oGD8vO913OBXvc1y+8q0VZuiUUhy3pfzDB1vteSwjdi?= =?us-ascii?Q?xB2cmGMZ31Sopf5X8uk+HJjjgQi3yoyAMi8kkFmSkvcG9Ddr/trwxvBDOuEj?= =?us-ascii?Q?6rVH0TCRsCtvHt5+FBz5TyUBnOHTnVBVFNG9mYwe7BEmSXEGGyaBnN/aIuec?= =?us-ascii?Q?LEXn++rVw0cWkIVGG33PJ9REFC+K0RowsZRuLLZnyrQAuTW4XJSAsrcUUrpt?= =?us-ascii?Q?xXBd4FOr+qdcBE2YRB/nZ0Eq3ZXkQrgk1m/PThD1P7blOcux1wlT9BvYe0nx?= =?us-ascii?Q?VoIdA3qrWomM13Gv7tVGhzS8NWBughNTuVG2orKx7fK3N/VrKijA19wyrdn1?= =?us-ascii?Q?GAfC6XNLH/QvxNccvbQTWlvG0dZPrkK5iTFfA+aRAaovRbAP+mceeuXkceJs?= =?us-ascii?Q?cBI9oKMk6AJ7dnPGtyCvO2I8fObpmwNEcQe2cRuz2coXrSS/xShYL4LcDIN+?= =?us-ascii?Q?RwuaexefFe3KhlmHRdXLa5HP0ih0jHnkc+VoZd9BWRfivcVUfsI2uSeh9yQJ?= =?us-ascii?Q?vtqm+zgwVWsVi+/aI8PUYebZSgcQIx/+Zg6RW53nPg6OaQlORDe8tlxl9bAz?= =?us-ascii?Q?l9PVXD0eSixyUX0DknM+Ep1n8vrWwJAW+AQe2hwT5/F970LvV4T8ybC9Lz18?= =?us-ascii?Q?zNQ1jZnt/JOdGFLlTp36RT91yV2WkKAUOw3rpKrn8KlnpM1zVXAnwk+j6aJp?= =?us-ascii?Q?bkYqel44eIuvgGb+wnvxHvEonxS6B3ZtzKZBLxlZLjHXsUY/Yqlf+TobzK4T?= =?us-ascii?Q?4/DsiLn8SBz37Z79enFMPbZ4eiqE1otKJwEv+ndFb3CJkBYxns97fzNFTLCM?= =?us-ascii?Q?vKsC5XkXWw2JO+bZX1KuMbrLHGFKxCrPdZclun+MpriWRZr0+rkrwMedUpo1?= =?us-ascii?Q?IslotXUD1iyQQdIpemqAfTpxzG9hFlMHUDWVQHTM2DGuA0OmgphxUoEzjqi6?= =?us-ascii?Q?H6PNu8glVuTxvJNaAvwIzWU+72ZanLIaCKO+JpdqwhwIjt3OwKOPtgLqDQZu?= =?us-ascii?Q?whsjcJ024PlBD+2DaPjzCd07ArOo8xomx/VTmuwAd86CcNRugNQE4tXrOq2v?= =?us-ascii?Q?Q9/lRfmdRxsTyhSPKAZorAcF9z3YaIfnUGRjCU/47lOIiZFbFvqdEnqPvw1W?= =?us-ascii?Q?5ym4a5pvuX7KhxXpS22U9zHSuZrOvqt4oR7n7237au6pRlWktJJ7JmkvmqwW?= =?us-ascii?Q?aIgG40iovobaH4XCFEQ+214IG/+ofU6177zvPx2oknSbbOncsh29xfbKGjiO?= =?us-ascii?Q?wEGUfaXEhZtPcuqZtB4y+NEH/zEV4SFeDnixvvj0YSFhFV//n0jfv2/dchcv?= =?us-ascii?Q?ifnJxWgSaoboO+eVxDcc04l85yHAese0IH2hyxKyfh+V9mHsuY2HKY+aV8dS?= =?us-ascii?Q?bmoIQq32DdQj4aGLRJwzmJG6aAJHIwVRn7NPAypnTTjBjGRpOByFZaJsHXuO?= =?us-ascii?Q?gOrs576+gToDWiYWhcp7OOP1SmEwbWc=3D?= X-Exchange-RoutingPolicyChecked: DN0HyK+Zl3qMCTrcjsYRqRprZ0lZRLV7M+QLckswobkCNNHggMXxY4g7H+0eg+DfaBR+2Fyf4OWLOsmUuVH20n4NAnG16guNO1kp+AMXFuYC2xCZrPlcVxvcJVskxoi8ALmt4iZYm/mbr7F243p4p3ZPfnerOSPnzMvicggzERuxMr5Y/rPCUqOB93Ncm8QZ7Ag/rlJf549lT/zKSLrZ7WUpdZLm1+SfECq/6OXeHv8drDeuMYJAjGdTzy1qCWZhBVs8APaImNwUXm8OWv9yAVujKBXztmmJEOUQ7Et8E4mX3XNDjvj+4GcntpDOYEQsg+m98Kf0OC71w+DtDyuLBA== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1d1c4e86-e091-44e1-a898-08df17dc915d X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:40.9818 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: meQ/eAXcIHPxWQz8HRbMwATJyGVDM7qLAJFMcu1U75aOvey/QZVlOfu6/k+lwWDztXdbF0M7yLtBQoq6r+9mb+7J1mv2i0OgPJplIxpWNYA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR02MB6868 X-Proofpoint-GUID: m9-HqkCgd9VNOBx-K6-8GRWuPffq_Da3 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX14tfmKfSMi/q XYr0O1Wk+gFXL1zpPG6dc6iOIIdDYNVn1bqCwYMpXCIwHurPXjRZcNn7uBZqWiHjdDDpROgt4ci Y3G5I9YMDKz8W2/a5/vnrnDbhnm+Z3XKc2SUrlRio9QHCnsycnByaZ6IeRllrkBHhQiwg3okGZk 4gWGVOsj6Fj+O3FmSpvLJJYmBg1Qh56QSHzASY5/AVE7eLWZyhWjCc0O9TbhjnS8TY1YsZ4/ny/ XY8kNmsL6DV3lHY5Ovb3oKdkNx3Tg4Uxhqh7WO38pfzOyLE2csh34G4Og2PKaHCBJrL7cg0bStI OR3bdrgnHBA/dVeruY0CXSVmRDq+EcRvtJVwEEn1ZAJKzbSL1I/OseUq6ROLXD+I29ZWd9RuWWP AS42hq3wrhkOcmJV8BCxLEDSIC8lT4j2/amSUf9jf+7D8HEYNORNcXgphpOlBFaFBxYS+OxhETA 2D2tYmc5MefXCrAQamQ== X-Proofpoint-ORIG-GUID: m9-HqkCgd9VNOBx-K6-8GRWuPffq_Da3 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX/N4qu3GkPtmU Vl2A43F85VWJb/zR/jJ+RVqDSte/GJyuGK2TynYFmgm0DiQ6sRWI/+tBGrOvdTliQYFuFqPx5nx agn01bKX6oktROBx45TSrZiC+ZDI5As= X-Authority-Analysis: v=2.4 cv=J8g/fwnS c=1 sm=1 tr=0 ts=6ab12428 cx=c_pps a=fn/DPt3lPG6OhtMeQbTPHg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=0LlEyIVc8U2lsR7dKhuH:22 a=64Cc0HZtAAAA:8 a=ttUzrGzlu7rhztxTIxsA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.155.12; envelope-from=khushit.shah@nutanix.com; helo=mx0b-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994540284158500 Content-Type: text/plain; charset="utf-8" Introduce the 'query-cpu-props-info' QMP command. For each CPU model property, it reports the type (boolean or number) and the set of values supported under the active accelerator and host. This helps the management stack to discover which values are supported for a given CPU property. This is especially important for non-boolean properties, where knowing that the host has value 'x' does not inherently reveal the full range of valid values supported on the host. For example, an Arm host with CTR_EL0.L1Ip=3D3 (PIPT) also allows 2 (VIPT) but a host with CTR_EL0.L1Ip=3D2 does not allow CTR_EL0.L1Ip=3D3 for a guest. For numerical properties, the supported values are expressed as a list of inclusive {min, max} ranges. For boolean properties, they are represented as a list of true/false values. The command and its return types (CpuPropertyType, CpuPropertyInfo and friends) are defined in qapi/machine.json rather than an Arm-specific schema, since the concept applies to other targets (e.g. x86, RISC-V) too. Targets that do not implement it return an error. (The following commit implements the command for Arm KVM.) Signed-off-by: Khushit Shah --- qapi/machine.json | 82 ++++++++++++++++++++++++++++++++++++++ stubs/meson.build | 1 + stubs/qmp-cpu-props-info.c | 12 ++++++ tests/qtest/qmp-cmd-test.c | 1 + 4 files changed, 96 insertions(+) create mode 100644 stubs/qmp-cpu-props-info.c diff --git a/qapi/machine.json b/qapi/machine.json index 2d63c1bac3..6e65bdad86 100644 --- a/qapi/machine.json +++ b/qapi/machine.json @@ -2291,3 +2291,85 @@ # Since: 1.2 ## { 'command': 'query-cpu-definitions', 'returns': ['CpuDefinitionInfo'] } + +## +# @CpuPropertyType: +# +# The type of a CPU model property. +# +# @boolean: the property is of type boolean. +# +# @number: the property is of type unsigned integer. +# +# Since: 11.2 +## +{ 'enum': 'CpuPropertyType', + 'data': [ 'boolean', 'number' ] } + +## +# @CpuPropertyValueRange: +# +# An inclusive range of numeric values supported for the property. +# +# @min: the lowest supported value. +# +# @max: the highest supported value. +# +# Since: 11.2 +## +{ 'struct': 'CpuPropertyValueRange', + 'data': { 'min': 'uint64', 'max': 'uint64' } } + +## +# @CpuPropertyInfoBoolean: +# +# @supported-values: list of boolean values supported for the +# property. +# +# Since: 11.2 +## +{ 'struct': 'CpuPropertyInfoBoolean', + 'data': { 'supported-values': ['bool'] } } + +## +# @CpuPropertyInfoNumber: +# +# @supported-values: list of numeric value ranges supported +# for the property. +# +# Since: 11.2 +## +{ 'struct': 'CpuPropertyInfoNumber', + 'data': { 'supported-values': ['CpuPropertyValueRange'] } } + +## +# @CpuPropertyInfo: +# +# Information about a single CPU model property, including the values +# the host/accelerator supports for it. +# +# @name: the name of the property. +# +# @type: the type of the property, which selects the layout of +# @supported-values. +# +# Since: 11.2 +## +{ 'union': 'CpuPropertyInfo', + 'base': { 'name': 'str', + 'type': 'CpuPropertyType' }, + 'discriminator': 'type', + 'data': { 'boolean': 'CpuPropertyInfoBoolean', + 'number': 'CpuPropertyInfoNumber' } } + +## +# @query-cpu-props-info: +# +# Return information about the CPU model properties. For each +# property it reports the values supported under the active +# accelerator and host. +# +# Since: 11.2 +## +{ 'command': 'query-cpu-props-info', + 'returns': ['CpuPropertyInfo'] } diff --git a/stubs/meson.build b/stubs/meson.build index 3b2f2680b1..3bb4028bab 100644 --- a/stubs/meson.build +++ b/stubs/meson.build @@ -83,6 +83,7 @@ if have_system stub_ss.add(files('qmp-i386-sgx.c')) stub_ss.add(files('qmp-i386-xen.c')) stub_ss.add(files('qmp-cpu.c')) + stub_ss.add(files('qmp-cpu-props-info.c')) stub_ss.add(files('qmp-cpu-s390x.c')) stub_ss.add(files('qmp-cpu-s390x-kvm.c')) stub_ss.add(files('hmp-cmd-info_mem.c')) diff --git a/stubs/qmp-cpu-props-info.c b/stubs/qmp-cpu-props-info.c new file mode 100644 index 0000000000..36b0530b98 --- /dev/null +++ b/stubs/qmp-cpu-props-info.c @@ -0,0 +1,12 @@ +/* SPDX-License-Identifier: GPL-2.0-or-later */ + +#include "qemu/osdep.h" +#include "qapi/error.h" +#include "qapi/qapi-commands-machine.h" + +CpuPropertyInfoList * +qmp_query_cpu_props_info(Error **errp) +{ + error_setg(errp, "query-cpu-props-info not supported on this target"); + return NULL; +} diff --git a/tests/qtest/qmp-cmd-test.c b/tests/qtest/qmp-cmd-test.c index 279a8f5614..2c25dbd8cb 100644 --- a/tests/qtest/qmp-cmd-test.c +++ b/tests/qtest/qmp-cmd-test.c @@ -100,6 +100,7 @@ static bool query_is_ignored(const char *cmd) "add-fd", /* Success depends on target arch: */ "query-cpu-definitions", /* arm, i386, ppc, s390x */ + "query-cpu-props-info", /* arm + kvm */ "query-gic-capabilities", /* arm */ "query-s390x-cpu-polarization", /* s390x */ /* Success depends on target-specific build configuration: */ --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994368; cv=pass; d=zohomail.com; s=zohoarc; b=NuFKVPOlvfDicUmts49RLCFXB2am2sGGRN8VnvEThGTCSZZ8ij1xEHZlbiRc5qB8MbgxnP5B5B/tKuDNwdEFIvIycRh8G3/FWuI3dO/1Q8TnA42cWiB0T70RHekSSxkwk/7EGBS84AYs6aqShNdh2oi8cfk4sjICHCDpsyxK2Wg= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994368; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Zc6dX/+YCGzIFzB+wb+DUr+pA+BnML60wi9csamxIX8=; b=UC655qV2JG/uQ6wa2g9j4jpEgCRn+1Dgr9ZAu+C6J4Ikb4ATi7KDNrEOwa2rdAdNIzepEhJE8sSI336uwaMg3/1a8+aPKlvB1FmjKDwyTo9JbHYnGjt7gAQ4zPh2PvkuVinkFh12E+9rC3fX5o0jgV0Ky1Csm2v5TvgAYOZjE9w= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994368866294.7563807537017; Mon, 21 Sep 2026 05:39:28 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dHu-0001no-I0; Mon, 21 Sep 2026 08:38: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 1x8dE6-00070o-AM; Mon, 21 Sep 2026 08:34:36 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dE4-0002B9-Gz; Mon, 21 Sep 2026 08:34:30 -0400 Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhHpK857563; Mon, 21 Sep 2026 05:33:43 -0700 Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11021097.outbound.protection.outlook.com [40.107.208.97]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspa73jp9-1 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:43 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SAWPR02MB11945.namprd02.prod.outlook.com (2603:10b6:806:55f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:42 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=Zc6dX/+YCGzIFzB+wb+DUr+pA+BnML60wi9csamxI X8=; b=19pPmyP7cwniHefub6S9kT/H9sstepsl8lkpEhduIVEYG4sx7XRYBFcTJ tP5lA+dBb0hfWnzaqwuRdn65NWsZeyZv4EBKxNfIsSygjebZF//mZuMUoMLuPImX HaJecoQ4qbkH6QnpdKAcaXzCIkZQyHqLMZaVpvQUncxsN0JQWxG/Ow/regKIOWrp izJ3dEvn+azEO79AX/cpUkik/iH39xwlBFg+Efpsz9NMQaENm5d0qs6eEGTcFBNC EmBE13KfHmDmhf/ApKuafO7Zl3yqLWj7gC2czd6vZwuxgDjeLotKoslB8PkNoEhc ya+4zaEykvhtWpptge3T9zeGHNLAA== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=qngJ1HYV+Hcyn6xB3h4mKtIZWB+pf0OkQpaIL0EWSYYOUBxEMiZXhsXFZ8AaJdJKGmJOzJwqlF3u0UJ87zww8mnJNmoYyjgv0dLXHKg6JviyTU16ct1wXB6KVJnjqkoUdWxCHHKIfLsSUNr8GSUU6uucDmd32dfHjLDYZchq7GX2vm3tRrFOU+WjU58urArwAqS9zyCN+CzfpMMYHE/aCGMQa2AsIEuSChHeFnO5BAYqtkdfwZak3etQ9a9Mv3PwdEYO7BrlIy/7wthK7VBN7Fhhwr10Jge9KmELO9njZvjUwZfBTa/OXmj3DtoZJP1wEPn5uflNKA6asYSRc0qDGQ== 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=Zc6dX/+YCGzIFzB+wb+DUr+pA+BnML60wi9csamxIX8=; b=UhSOsT817rkAcVzhVBzH2CnZw+0VpXCjH2sq57P6nWrY/uIRmMS0lDBeqxwZFV4guViA9oFDIY+C+yUELLWbd8bnzR0ZJo2MtcJx7k5yP19uxHmHw8BeNq2azQ4BSWGOxoc+Q4p2BDrCg1ed8ghPANZlluCcqH3+BfCsrU2VVsN0fi2cWRToPpkr7dFuPXxfBLaJ7W8GH8w4e7bhD10ZOO/VqcBhjmMpeQ8ril2dv4UMqZyWD5xQJWp3gAoeu8/1l6qQoqsjxDxpm5wKr/TRIX/fDjaaiRluBoeDNmR3xlsGKmc6Y1Esvyic5kZX4Gfkd0ysiWkDT0OKWXJmBwW9tA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Zc6dX/+YCGzIFzB+wb+DUr+pA+BnML60wi9csamxIX8=; b=pJuyX7p760uR4Q4aHVC8zX2tI5gVgIMlwloeNQhMdH25cxmb9VypjTd53suKJYXMYvPVMbQQHUIPd+ZWbfAcWNPV+U3LoKbtJXUJa6F49zlNbJNm5z8wLVQDhJwaoxVREDZkSUJcf6pIfwt3Cf2uVzYKfKNBEKMYKtYxeu3U1cHnNnXQ6TlmY+7h7ymSgjYOKokebcxSvm9PnnSg1YYoskKFxVOZNB1Dnm3gyLTcYNYK+NWqxWp3P2AehJ9Ep/dlUuagW/WwbHZR/p8eGdG3qHEFtpFZcvRAmQPSuAMSM65yohRvihrolyqqF94u+42gUxHnyd+2+2/TZVqgzP4xgw== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 24/25] target/arm/qmp: implement query-cpu-props-info for KVM Date: Mon, 21 Sep 2026 12:32:48 +0000 Message-ID: <20260921123249.1708067-25-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SAWPR02MB11945:EE_ X-MS-Office365-Filtering-Correlation-Id: d6b502aa-c84d-433e-8774-08df17dc91d1 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|23010399003|376014|7416014|1800799024|18002099003|22082099003|56012099006|10067099003; X-Microsoft-Antispam-Message-Info: 5UbAgG25TJxwo5vQwrElULt1160M9cabwDhBHBbEjUfOVQRtuf0bCWQrTUPCsincxcZUPcs+DfywBg3LiSS1Iile9AP8BFYflMIwkD5kSFKMmAKAYYJgQ89Iu/+ei5pMODPdSDSMBxvmZV8tAWjA1TM0wbyQa9YHNC1M6c7JT4I/+7f2+stYCxzarhHKwKuJHfcOiwdiQ5R14wXwm+lQV1X7LRygMR/Ua7cdJF460oCUX5y6aL6vWk8klw7goL2ML2iP3UMX30nhL/noFhop6Le1mDYDqi28GqYyrZbuhZT61WHLOOqim1S7WgLj7tN8VGwf+aSCMz67W2sgpnEJ7a4uLTLPv4u9DKOjV2Kr+dmRAVV41VNBaeFySLIhjRxlj5IE7KexjfLH3D4hPv1MKn0mS6xeEQtXU0C+Hx5mhrRSo+0g6VUWSCVSbYOTZ5rdRHYN4n6xyO//jkI3562GobKXZGHYMIXfvI3q1skoXTbamJPCYGN3GBkCqHw7vQoGyJOGmSgSVAPXvwJjQ3FA0jglEBEaUIIFS58h6fofupx2dx/fVTLEEWFb/rYlRfJCwXisYrS2qdA/oyImiYAddhVdVpN3uLTs7kAed02++Htn9ClH5G15r8McJZjhXU9MF9ToNvcZ1JgQsiza8QHQwbzrVroFJbWG1r7fqwLom18= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(23010399003)(376014)(7416014)(1800799024)(18002099003)(22082099003)(56012099006)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?7tlH/pZCMWR1TCHuLHDxxXDvTYXbqUReGFJTb2WbgJl1XfkjU253UnvkGoPd?= =?us-ascii?Q?ddtPjB+JpFbtRMj5I/1roswL+AkscOVMqoT1QQNebRWIF8V34Ir4TXBuO6I7?= =?us-ascii?Q?Zhktg1StBNjhUL4ykKfB/Ezxlx8MAOPePutPFOJ0gH2V1147lKsc4AZShDzb?= =?us-ascii?Q?D2WxT1I2JNN0D1GikAXjHNUmO7TPncRbhot6nhY1hAakxLMFY/kLGMB/zva+?= =?us-ascii?Q?W+xtjbVXwJrFLaLRYzkm/zL/HgsTYtOQj2B99EbwQnl3NwGYs8ya1GDxYxeE?= =?us-ascii?Q?LO45Iyj5S20EUuF+ioVo2eUSBHZA82x5P4NmcVJGj1TL0HL4+/qYxJFcJb0G?= =?us-ascii?Q?pp5ApvS1tOMbOLkczZhvaOpWUVhJjFcVgDXwPalR3Uz9uiUipacGxsEhV6Ng?= =?us-ascii?Q?LNbML8TRXR+BISs3IUmY9WkdYT6DBSWu00J6wctzLqb6qNwZaQFhqs1AGZSN?= =?us-ascii?Q?OhmK1JwHWbiE78jrcm+QF4d4CnPevZAxJukpVR8RJ6gEYrqAmIUeDcV1SKPk?= =?us-ascii?Q?WHPSqp+jEUjCi8OCpJTSkm/Bx8oBtpXjLrvX2W0Q9aD05MfEKhZmc8jd+hbg?= =?us-ascii?Q?ffWdPzQ9jAmNpVIOQHaRtpsNH8Ht3buvk3pdRnOvvwLoY3MIPFMRuPfxwmPG?= =?us-ascii?Q?LX1Hs9iudsXfwG6PWo5g/JM/qtL1uGBHyQHGLlIakUboIcOBsuCKRVmNsVWs?= =?us-ascii?Q?zdekJCf6Ie3I1z0Iw40hjLWeWtq1QhpUQykp76MuEQlgcxUuBg3wBmDOu5y9?= =?us-ascii?Q?vqzbGThIWnAIa2H2k2WZbJ/e/k0J2NdyIz4XJkKmmQ3D0xaZltiXiHXWsgoU?= =?us-ascii?Q?qY3LdM7yp+crcKUH8H1yn4UEQAnqmRq38ktcWZ1UqW4NyF9y35MzlTGYT+WC?= =?us-ascii?Q?X7O/hbts2PW04Uds5KeWPDPGtZatQnZlwm5k04UwU92IXDFqNl5ynj6DYFP8?= =?us-ascii?Q?7MdnVqzF+Y1wUhNws8rYy0yrFp99qoSGtJAEuSjgJt6vjt7VHaqWkZ5/Qowe?= =?us-ascii?Q?EHhm3mUxvvE6RNmyDiE3TA5AmcHunMMMdzuqUG3wT+wD8kDAd8ko2Eq82d05?= =?us-ascii?Q?zPhjlyumeerPX9CGNVriEWlTg1iJl/pXaCWPPGDMc7Ct+jpACIGUbTi62CXW?= =?us-ascii?Q?lrP/RftP97441h18o1NVFUwOLtcxfJloVToYS6xiDd1nKJdlxeWYvPYNvyh2?= =?us-ascii?Q?Y4//BEa+Ozw5BK0sYLUFpeGM/idSItlehj/IcpPlSdYyD8cv899OrsL8ByeU?= =?us-ascii?Q?UNsk+ICqSSz/eWg0zZNInQTohUsXcCXdAvhihZBMxgf1zYaFHUZFST+eipJq?= =?us-ascii?Q?DSbK8QsBuKAgbnhKwbKhSsCR5WsYKtmsXIZbou5wMEBu0wFBeZv/lBlrqA5q?= =?us-ascii?Q?lysfM+1V5WVedwd4h7zNutTNcsU2xqAgNp7Ss7+3l2TO6J0YnEkQvTGHzGAx?= =?us-ascii?Q?atFT/8zpyshq58Gk0qWGnROlwrdB/DzpfWsZiS15fvc/FZo0UJkMtaQwFHQq?= =?us-ascii?Q?0f7Xzm/tRCGmKgO+mxPPjX9WD2fKPyFvhHRsb3i1CQYIqv52KnT0hBZ7jCCH?= =?us-ascii?Q?3Uwoeudtqcg63EIaUjhoE4bW06G5F1FbKjoo3iJz9c97mX7T9Ce94fN71oCZ?= =?us-ascii?Q?WBxyDXbKyRU6DezNNmwUwinPTNaiA1fvYGq/2m5+RU8fe2L65zX4LIZx8hK/?= =?us-ascii?Q?kUUxtnnMN8pTRRGIxPpwpUk19bWIqa+gZGbO3VqZeYbBCiqhy+/82B6NCsd8?= =?us-ascii?Q?z6ZNAHrpETMyyMo2r0EvPuuT3BGXIpY=3D?= X-Exchange-RoutingPolicyChecked: ElhOYsk3HV8dCNmQRlWFCqbH9xYtbQwxS0yVqNWWQDo2gyVDlTTbGuPRoeORX9Rl4b8NvbzngvU0tNwIlaKUe5z3A6eMFOtmlCsrROerCRxFZGa2KUThF668BKC7c/u9iS0duxr3qXtOZX63UHaowKFYJbxjoZJVfWOAV9xB9HN4dTkM2JKSEmXK+iY4xCw67lLSU0mqIvdtKWmKIZi5mM20HiaCtmXjl+5llFPkkPMmN19+zHZbwGe+Mnj0rhoTHlE/irxCKI32uEcMyozw9dXW7LDud7yoyFYdlxjf+doHsCxDCYu3FjV7Cg3HpBY2OD7pAuPDrvROr/9fAGY0gg== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: d6b502aa-c84d-433e-8774-08df17dc91d1 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:41.7637 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 36I/OIheEpXE5jXwnzss+aLw82y3SGt2OnJEky1bzaCaLHwLs2lBavdFhwoV0emSK1N7T5dlk1vQ+l7e/nm4tJ/nMm5AkfKMHhY0DN2xKAA= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SAWPR02MB11945 X-Authority-Analysis: v=2.4 cv=fPWsTpae c=1 sm=1 tr=0 ts=6ab12427 cx=c_pps a=HfG1oWozJQbQxD3IkfRzFg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=Ap8k9tRZuQ82DLYWQqG7:22 a=64Cc0HZtAAAA:8 a=R2yoBtOzyJ_eo7SXKFUA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX19NhVwv4Gdmb pgGB8NXmHllznqctMZCFFWLDiiA6ZHLGfzA2t/hriTFbSW6eDv7KQDWnBRkL536K3R3KDsvhlz2 JfvSl4IEf/LSakjQZ84CDV0Jl3o7MX0= X-Proofpoint-GUID: tmVyTIiKpO6s5bJV2IgIN9XIgRT3-FqR X-Proofpoint-ORIG-GUID: tmVyTIiKpO6s5bJV2IgIN9XIgRT3-FqR X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfX4TBBuUnaf95M UCLR9rkO2MpHR6ltAuTEIcr25oIKW39uLlSeuJ+qShb9M+71hzROTXmeCY/kGhTJ0DjAMsgGezz BYMegBvOS1fSlue3ExYzauTGUMtl7WZeBCuam/U2viFWEs6mkMTHHPtnnbHqnh/tGtKIPa6Esds 9Nd4dh5u+zCqU6pKQfSFS6pvx6j931N4IwjXnoRTh+jf8WXKZCgB1HWkdf/tcKcQynFvlnEJ6Bt 4l6VRlFaoY6ULB/E66MKfT9/LropBdJHsHJjnBxAbAhqqksi94M9BTn4aTADuPijtZ3+zG5g0wZ 8Ipgr4D7oJezsIp04WJmsZyI94wOYlDzXOoObCxWHb8YR04KyiXhFoc1ZTRQjHLGBge/ZaehIW0 olG5ewQ7AcuxqiQCFt/i0V0lPfmlnCRdNhNtOGEO1n/XMO5KdjPiGdQt6RpCCfRxQe+ou8pTsqa /1u+JcZ56TGGkW0hJrw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994371115158500 Content-Type: text/plain; charset="utf-8" Implement query-cpu-props-info for ARM64/KVM by creating and finalizing a temporary "host" CPU object and then walking its QOM properties. For numeric SYSREG_ properties, report the host-supported value ranges computed by kvm_arm_field_get_supported_values(). For boolean properties, report false as always supported and true as supported when the QOM property value is true. Signed-off-by: Khushit Shah --- target/arm/arm-qmp-cmds.c | 84 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/target/arm/arm-qmp-cmds.c b/target/arm/arm-qmp-cmds.c index 0940285af1..ba488d5c01 100644 --- a/target/arm/arm-qmp-cmds.c +++ b/target/arm/arm-qmp-cmds.c @@ -84,6 +84,90 @@ static const char *cpu_model_advertised_features[] =3D { NULL }; =20 +CpuPropertyInfoList *qmp_query_cpu_props_info(Error **errp) +{ + CpuPropertyInfoList *head =3D NULL; + const ARMISARegisters *host_isar; + ObjectPropertyIterator iter; + ObjectProperty *prop; + Error *err =3D NULL; + ObjectClass *oc; + Object *obj; + + if (!kvm_enabled()) { + error_setg(errp, "query-cpu-props-info requires KVM"); + return NULL; + } + + oc =3D cpu_class_by_name(TYPE_ARM_CPU, "host"); + if (!oc) { + error_setg(errp, "The 'host' CPU type is not available"); + return NULL; + } + + host_isar =3D kvm_arm_get_host_isar(); + + /* Spin up a scratch "host" vCPU object and walk its QOM properties. */ + obj =3D object_new_with_class(oc); + arm_cpu_finalize_features(ARM_CPU(obj), &err); + if (err) { + error_propagate(errp, err); + object_unref(obj); + return NULL; + } + + object_property_iter_init(&iter, obj); + while ((prop =3D object_property_iter_next(&iter))) { + CpuPropertyInfo *info; + + if (g_str_has_prefix(prop->name, "SYSREG_")) { + const ARM64SysRegField *field =3D prop->opaque; + CpuPropertyValueRangeList *ranges =3D NULL; + ArmFieldValueSet *vs =3D NULL; + + info =3D g_new0(CpuPropertyInfo, 1); + info->name =3D g_strdup(prop->name); + info->type =3D CPU_PROPERTY_TYPE_NUMBER; + + kvm_arm_field_get_supported_values(field, host_isar, &vs); + for (size_t k =3D 0; k < vs->n_ranges; k++) { + CpuPropertyValueRange *r =3D g_new0(CpuPropertyValueRange,= 1); + r->min =3D vs->ranges[k].min; + r->max =3D vs->ranges[k].max; + QAPI_LIST_PREPEND(ranges, r); + } + info->u.number.supported_values =3D ranges; + + g_free(vs->ranges); + g_free(vs); + } else if (g_strv_contains(cpu_model_advertised_features, prop->na= me)) { + bool cur =3D object_property_get_bool(obj, prop->name, &error_= abort); + boolList *values =3D NULL; + + info =3D g_new0(CpuPropertyInfo, 1); + info->name =3D g_strdup(prop->name); + info->type =3D CPU_PROPERTY_TYPE_BOOLEAN; + + /* + * "off" is always supported. "on" is only supported when the + * host already has the feature enabled. + */ + QAPI_LIST_PREPEND(values, false); + if (cur) { + QAPI_LIST_PREPEND(values, true); + } + info->u.boolean.supported_values =3D values; + } else { + continue; + } + + QAPI_LIST_PREPEND(head, info); + } + + object_unref(obj); + return head; +} + CpuModelExpansionInfo *qmp_query_cpu_model_expansion(CpuModelExpansionType= type, CpuModelInfo *model, Error **errp) --=20 2.52.0 From nobody Sat Sep 26 20:02:31 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=nutanix.com); dmarc=pass(p=none dis=none) header.from=nutanix.com ARC-Seal: i=2; a=rsa-sha256; t=1789994523; cv=pass; d=zohomail.com; s=zohoarc; b=GcR8RvWkNo9F+nptk4s/YzcaxDcegjzcqPA4Z1INb+YrjfGMmtzjDAWiLDQ+EMBxEmdgRparQ+u2VzrB9CUNYnWfLsp0NvZbEBpjt4M95NpYejooMhxiJKfC1qbzeqLk5XC08rQcwdO3Yz7PPr6yumZFzjjhiU3iHEgpMBCcSvk= ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1789994523; 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:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=lRDRn47KjhOmXOUad9TVQjXA3aB6TkzL7zGvZRc9Rp4=; b=EgCSHTSldPE+MSZJkEa6pP/X1w5dM9owNiTpXn3NVQHRsPtKTQvK4X3gV1Lqwp8ZK1yJrMuWRRizwav7vBZYxqoIDCn679ztm6QUHN5+4YM/u7fyRhLqsspdGNkCJg0RC1PNAYRkC3AK1/97VXOwTASxqIHgHP/JQvTg1HdhIw8= 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=nutanix.com); dmarc=pass header.from= (p=none dis=none) Return-Path: Received: from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1789994523656737.4061684646821; Mon, 21 Sep 2026 05:42:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1x8dKb-0004hT-4X; Mon, 21 Sep 2026 08:41:18 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dIV-0002xb-IT; Mon, 21 Sep 2026 08:39:04 -0400 Received: from mx0a-002c1b01.pphosted.com ([148.163.151.68]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1x8dIR-000312-AU; Mon, 21 Sep 2026 08:39:02 -0400 Received: from pps.filterd (m0127837.ppops.net [127.0.0.1]) by mx0a-002c1b01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 68LAhHpL857563; Mon, 21 Sep 2026 05:33:44 -0700 Received: from ph0pr06cu001.outbound.protection.outlook.com (mail-westus3azon11021097.outbound.protection.outlook.com [40.107.208.97]) by mx0a-002c1b01.pphosted.com (PPS) with ESMTPS id 4gspa73jp9-2 (version=TLSv1.3 cipher=TLS_AES_256_GCM_SHA384 bits=256 verify=NOT); Mon, 21 Sep 2026 05:33:44 -0700 (PDT) Received: from SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) by SAWPR02MB11945.namprd02.prod.outlook.com (2603:10b6:806:55f::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.428.16; Mon, 21 Sep 2026 12:33:42 +0000 Received: from SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4]) by SA2PR02MB7564.namprd02.prod.outlook.com ([fe80::1ea5:acb6:ebe1:e1c4%5]) with mapi id 15.21.0428.015; Mon, 21 Sep 2026 12:33:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s= proofpoint20171006; bh=lRDRn47KjhOmXOUad9TVQjXA3aB6TkzL7zGvZRc9R p4=; b=zY228hp/oRTR27GX2iglhmKRRka/Z/WzFg/VK8tzGnUT1i2Xv5IdvGHkQ lmALPQ410aqVZt6lW9WhdBrfOQGCLA+m9H6W71fstHeQtY0iFWnhcN4OJxWdMsnC KfABXhdqaO4d8tQmGlitJeULXE5iZ9RQDfm/s4OtR5RzBEKZGap6bD4UsCQZc96M xEKdI9TUaRsWHvGYxV4upDCUo4YkuSwiySL6Sm+3+killHg6VkZz4sBVHbRa3rxx AjRjk+Znj5mMsUKPuIgam812DzHNpBaIu7/P2hYl6Eo8xeQ8TH7K7FJ1TaAfOAcs OMVmsPRvwv8xl0bzXXp25l26xhVJg== ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=URgVu/zGoBBFiYL47K6mPpIS2etyOeTOJ1gWJptq7AnRqVlTPSga+c4UjqcWKIpXu84xmQS95ve/uxsYwmReQoL39uLWW0ZPVaAQL1gSwtIdzvE2kCCyxSok0Yca1AUZ1pBIXErh5l9tSN8XaCCAPI/kCSavYMow8gniJFfb0eCoTuW36WRv9LzsDoLGiGEyNStzaF7chs7L+ZQn6mI864ExNHNybEB7GRrXos+yXUp0lnbM9GEumidIEilL2Ve0R7zBMptZuPUzY/zfVYtgYIklgPSkxswCTujxgMcivRhJD+0iz60WYy/vulI659JMPOlq1SNsU77ZdsrR3S3S1Q== 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=lRDRn47KjhOmXOUad9TVQjXA3aB6TkzL7zGvZRc9Rp4=; b=AOxSwQoZWaOLgGf8ISB3gWgFJv0WcBkqwuhbagr8xtBUfJCMFjd2oSNBPBz/f7HDgxrOvzhtUFsOijoZs6ZyKwftPtCX5qIh3a3Y3YWPkJuXxby/oXMJUiGj6msT0nv5L5JzBwgh3rQE+gYt54oBrtLV3Ja63gWdZ0eJJkryzOm7f21SHhg8z+gcmRmtN7dKzJfbJtibJ0HYYE34Il4e1rJ/F8xfLRIeXW8qKql1cikuTY1Mfz4AvPBER74/EigjL7yR+INw9Ijdtw7HHFDATVTSbbs14x0rLJykZS0rUr3C+JnbDHf6pwmzuK9ZIA3tTLDEp09iTjLHnyDPNs0LyA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nutanix.com; dmarc=pass action=none header.from=nutanix.com; dkim=pass header.d=nutanix.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nutanix.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lRDRn47KjhOmXOUad9TVQjXA3aB6TkzL7zGvZRc9Rp4=; b=wTNrhC0JIX3Xxh+JDWbWCbP41eIPRFB7TMfdwdoBcRRCPIbZIYoDrVSDVswR0DZiy8ppp8Ci4F5uzjVFbvrPdU6mPzH6odPcQGBcftgYrVByzWqPy1OG4Eef0VrfgSa+hr2UnOnM4+TL5UuYJRjLwyCHS3xF2q44TNHHQ4odeb21RUW1mv7vmM5B2tverCL9GoJaR2PBh22SpaECGIjyq9N4k9bf/3OOufpnllbznwM0sm1qEQE1z1TA28f4sRIe8zUBb8xeIxja4xu1QUE1A0GIVkydVxznOu+8bXdrhbuSRYaAF1ytSHLihQrd/Zgh43GdPHtQ94KWHySFkSyerg== From: Khushit Shah To: qemu-devel@nongnu.org, qemu-arm@nongnu.org, kvmarm@lists.linux.dev, eric.auger@redhat.com Cc: cohuck@redhat.com, peter.maydell@linaro.org, richard.henderson@linaro.org, maz@kernel.org, oliver.upton@linux.dev, berrange@redhat.com, abologna@redhat.com, jdenemar@redhat.com, gshan@redhat.com, skolothumtho@nvidia.com, sebott@redhat.com, armbru@redhat.com, philmd@linaro.org, yangjinqian1@huawei.com, shaju.abraham@nutanix.com, mark.caveayland@nutanix.com, khushit.shah@nutanix.com, ping@khushitshah.com, sandesh.patel@nutanix.com Subject: [RFC PATCH v4 25/25] target/arm/qmp: hook blockers in query-cpu-definitions Date: Mon, 21 Sep 2026 12:32:49 +0000 Message-ID: <20260921123249.1708067-26-khushit.shah@nutanix.com> X-Mailer: git-send-email 2.43.7 In-Reply-To: <20260921123249.1708067-1-khushit.shah@nutanix.com> References: <20260921123249.1708067-1-khushit.shah@nutanix.com> Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: PH1PEPF0001330D.namprd07.prod.outlook.com (2603:10b6:518:1::1c) To SA2PR02MB7564.namprd02.prod.outlook.com (2603:10b6:806:146::23) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SA2PR02MB7564:EE_|SAWPR02MB11945:EE_ X-MS-Office365-Filtering-Correlation-Id: 5f2e76a9-66b1-4ab3-a576-08df17dc9246 x-proofpoint-crosstenant: true X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|366016|23010399003|376014|7416014|1800799024|18002099003|22082099003|56012099006|10067099003; X-Microsoft-Antispam-Message-Info: Ehml6YIbc4COXEdzXQm3XKEumb9HVPXHmdER5vFtDNBR4gW0cecV78MHnS+Y/yhevcixExqnb1U3tOlHO095DxY0pQ1qQ/9eGfpIaCQBWvmBwZiHqREsHpmzQcaoHekV4E6zktK0wwzfIKKcJI/DU74EnR6vfqFuV5DNFwbIKgnBOW7JKoj2JkzHYnV4O3DXUMrfgWFZbBp62lFalPmWy29gzxH3Z3Dxm9S8jY0NA/yuqE7/dF2aFcbznPk13ZeBMTwfw4ly2TJHsJpkBUDQIj2lMjupmfZJhbGQm3NQb9HFRdqPMDJj43KcWMF8Sc6Kg8wlHnD6NEClCI6IAPeI7vBnyVfB40lF97pRrYdtIlmsQ1bg/9CL58yuC9NAjeHl63Fev47ygPTmBJS2Ey7L0ggsBElshDthn2XF+CtiLBJ33qrjIOJ+Vfq3MIRJfgrDRNLCJmvucGNiWi+7V0z+suTUadhWaHuB1OT/gx1d2RPAIJP5tmUXsB1R0u4TBwUGYkVrzDAZ6+KqgSWIjbWqEbfvW8iOPhSblZTNR0+QDc9R3P7kmuNkTd7eO62tavTa2kJqwuNJMb1q8+AKt9FYz1m8qBG/482F2J01H3mICtbiNQgOX6AI+fW2WyDKSrHt7hNojin3LGFr7ZCKbA/EcgWaNkgkBtsh+qT48+y/0T8= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SA2PR02MB7564.namprd02.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(366016)(23010399003)(376014)(7416014)(1800799024)(18002099003)(22082099003)(56012099006)(10067099003); DIR:OUT; SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Smrbt4n3DeL0FUkVaBb3vGOeo2+NdPjh7gsea53uqDAxp6jCPp4Tqph1tC2q?= =?us-ascii?Q?DOwuWFzxZ0eX9AHr672pgCVylvf6OCryrKmU7YzIMSKo6SJkS1ycDUEMD6hB?= =?us-ascii?Q?ThG2y1W9cIyDsa8VVPtDEsaTnrIHC4FgE2Kp6kUKzbbejPtx0kcnrA/oqSqw?= =?us-ascii?Q?uy8XhgGKOiGYQa6hu+3TiIKGMiUswWbRdar/ppOHFK2J/AtXPfbIMFWfHa/G?= =?us-ascii?Q?hPLaGvcrI9RVfI288ipVGm5ejdS9pdXtgPt5Aup4hsJN+BljVierAUr9IJWI?= =?us-ascii?Q?3u1f5/WpNnEpP/snAfGETuu6z9je8JqCaUTocfoJ61fR7KRMOHvDhJeESti5?= =?us-ascii?Q?Zj1DbM53VvZLkb4sBCI15UGyuz11ALnlbaXxi0wGd+kC3mCKCnvjZOqD0v9j?= =?us-ascii?Q?kwdc6MX0N1LskZI2ZTMibhkH7UQSVAMhruoDWW68vmfcHMW4F826nupfJrr6?= =?us-ascii?Q?m1xbDsRz92siGk9we6/ZM2ev0C+a+/E9QQseUFb1GmmuftnwjN37pIqu8ikN?= =?us-ascii?Q?FVFx3zr9xCq1uu98xoNJzQcY8Yv0a0gql1cVbbvHE7ggvctbF/vPxu6duikj?= =?us-ascii?Q?WlS5FzoxAI9A1w4Y9zpYZ87IBU46Nb6fYK11vUBNJrOWMhZVW49fKAPW4Maq?= =?us-ascii?Q?VkVN9XlBMwW5PMd42uAMmZZ7QIJxRbFqoWnT4qkbZhNbKzxgWgmMQKQalCAg?= =?us-ascii?Q?fwlaXreyv2CSE3a8wyKvazErgO1MHINMXGOcD83FRanDb0VcI4sRWsbvf1NZ?= =?us-ascii?Q?HuSxupalEm3CC4GSBuP3kvgoxrPBwq4NvTn2jZ9cyN8VyeCQENDcWDNBaRAZ?= =?us-ascii?Q?LWORjlGcj8sdwgKm3o9hYc1s7Hm2BhUF/QSjg6vE2JqIbkYHWmztkyuOCaOl?= =?us-ascii?Q?ren5M6reJaOaXam4VSBhwX4wWa7LpIRvKuvyESh0nv42IHlTEYxunCwn6BKY?= =?us-ascii?Q?fzTUAiLTLRwp8P1qHDFzo+tjJRPAdHBqW2KXqoLKG/xjsczNzqjCFZm7e0fm?= =?us-ascii?Q?Dm1A/7Vxnk2r6uxzTcqcYAgHoODPiHzf4/bYJzUie9QQJxA58znhxaxotLcn?= =?us-ascii?Q?rk/8fkhxoAG5OOlmEDWyG8jjglMfSFgP2B3TBAZwcESFKcV4a13fU6606BvH?= =?us-ascii?Q?NENOqyTgzU9TpcqdxThytIDQBqBzRMxP3bmKGQ7K2rM8DHwBlI4YyOHLaIfu?= =?us-ascii?Q?tybdUAghhIcHElXwSgRo9IjzzpwIs8GydlbUbu+o5rwlkJc6Upkbm/uPs/0u?= =?us-ascii?Q?WbyRfv2rdkjf7kwz2WAewfftP+MXKCuVKMJUFJGgH7wz9xhyxzZ1tseYUgte?= =?us-ascii?Q?dUZdOJfFe1g91Fc2aL3kwbbQ+qqJiseDW/k3lqese9Y1Q27iLTf7nZoW+/kI?= =?us-ascii?Q?0CimY4ynPVfYRsiSAQ55VEv8hz8dHUjz4MqPxUscocOZ8MDM3DRgwnJNbfDP?= =?us-ascii?Q?tTveB+IVj2eiMGKzXR4NKBjMa7CFKob9E69LW+Y0vFA4hULJINhgIC+Md71n?= =?us-ascii?Q?bWy583WCUjxUn2dBi758Q7eH9qPFgUR02ijQDBh38nl05wEQSpKzbQEux7Es?= =?us-ascii?Q?DjY0N4cEZT9lX7cyPoKcTuDkgGYC7P2NFnTY2BmAy8GIhChFdEZJKz85AcgP?= =?us-ascii?Q?4M3qjfkpm/iyZfO8w85cOtaHt8oXQX3+o2Qsuh7KNDXzOD2k0OFzwZOB1zZ1?= =?us-ascii?Q?sbzrLXv7lS6+Xye0cEE4UYQLroHH1zEj9OtVrQg54B73XwyXx4PlM+BCo1qN?= =?us-ascii?Q?AI9uYA/ConyFH0DwU77ZKKydFILQ7/Q=3D?= X-Exchange-RoutingPolicyChecked: xwm8xhBtabnuAlFx1l4m1ptXoFhkniA17+ImHXJgpEfoJFuodU60GKmCKrdfYACr22O6Yqg7GlU1YW4WRz5wcglVlSdZnMWa7OvfJgNrd8zw3Cy0tWnnXUbNhrsEZs+aMbb1hddojqbnBG7PRiJX6R9czoxnAQPGOxScfFHrkoxBe45P2iX25jLmV9KhIMdlVXBT7r/uUl7hNoPbOtnAe+ynEDxejVTBogkvYZ3w0ML/Oi9/7TUjrFvV8nbI7XQnuyEmjcYWO1W5lhXos+3DXH/HPSK+gWY99BqkTWTMEPIWfDiLz3s0Q1n2PAhNVWts01MS99X4YofJR+DKDwuHNw== X-OriginatorOrg: nutanix.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5f2e76a9-66b1-4ab3-a576-08df17dc9246 X-MS-Exchange-CrossTenant-AuthSource: SA2PR02MB7564.namprd02.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Sep 2026 12:33:42.5481 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: bb047546-786f-4de1-bd75-24e5b6f79043 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QyljEmNdO7cFMdb5xiU2cQKCxJpK0HvmY/rJJTHdiUEYQ+O7Fklf4s6EhM2zYhJaEYzl6BqWqZMDhxM8kwHmgyvseP2HZGvze3KOEA6i50o= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SAWPR02MB11945 X-Authority-Analysis: v=2.4 cv=fPWsTpae c=1 sm=1 tr=0 ts=6ab12428 cx=c_pps a=HfG1oWozJQbQxD3IkfRzFg==:117 a=6eWqkTHjU83fiwn7nKZWdM+Sl24=:19 a=z/mQ4Ysz8XfWz/Q5cLBRGdckG28=:19 a=lCpzRmAYbLLaTzLvsPZ7Mbvzbb8=:19 a=xqWC_Br6kY4A:10 a=VdqzKS8jKosA:10 a=0kUYKlekyDsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=VofLwUrZ8Iiv6rRUPXIb:22 a=Ap8k9tRZuQ82DLYWQqG7:22 a=64Cc0HZtAAAA:8 a=7l7nGPkXPwBlwO1dnCAA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXyG5m1ugi+kIO CyI3HHIm6cCzxrn1/0BQLAM4aGWd01s//sYJwMlWpPeAAr+d0nHtsF5MTQl3Lxq7+v+3i3vzlaM qDV3ANsXFcWOSctgNhgMQtY7VhuZX3U= X-Proofpoint-GUID: 9MISnTVUJCxp8e6jxTCUZ_FZDiazxY2F X-Proofpoint-ORIG-GUID: 9MISnTVUJCxp8e6jxTCUZ_FZDiazxY2F X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwOTIxMDE4MiBTYWx0ZWRfXxIgE/GnCWV8n xr+/Ax3Lj+gpQQXt8PuApmpV3gZi8NgJVjXI71Rf8autlnWHUby3F1M+kgFcbS6Wc12UEoumxeJ tINgR1t/i4kwsu75GVmteu1G6fijQ3QhCMoWuFdpROt80+SeGwCAnWcKCpEM8zaZE1PaKIU0zUK snxZEDwiqGA1aYwlcZXE6U3t1kSAXXeKB8C+8rfi8YKXmy3jQpxpX/ugizVdMH5GHK4eK9fy+Re inVhVycYW+V/yfZjGjp0eTolMVAtZqbAi6bakogEQTwDS4li9ar5TOIDXwYE1CAuBwye8/FDaO7 3qxAa+dbkXeSVK4EDzpp7W+vbv3fhtj8LTsgAuqxRqY23puiPaMY7Xf/HUs4l6FWO8PI9VaAIRp o3ggoGCIwsiLS4rAvPdy1oCfeeQjJirnO95XWmGWfYhjSiSfVcx2SNO7BS5O2gQwmdtLdWgnqY5 Nt49GW6U/vH1X95KW1g== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-09-21_04,2026-09-16_02,2025-10-01_01 X-Proofpoint-Spam-Reason: safe 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: pass client-ip=148.163.151.68; envelope-from=khushit.shah@nutanix.com; helo=mx0a-002c1b01.pphosted.com X-Spam_score_int: -27 X-Spam_score: -2.8 X-Spam_bar: -- X-Spam_report: (-2.8 / 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, RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: 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 @nutanix.com) X-ZM-MESSAGEID: 1789994524265158500 Content-Type: text/plain; charset="utf-8" Report blockers for named CPU models in query-cpu-definitions. Efficiently do this by validating the realized ID register values against the host values. sveNNNN properties need special handling because they are not stored in ID registers. This way, we need not instantiate each model to check if it can be realized on the host, and we also get granular information about the ID register fields blocking realization. Introduce arm_cpu_class_check_missing_features() and kvm_arm_idregs_get_blockers() to achieve this. Signed-off-by: Khushit Shah --- target/arm/arm-qmp-cmds.c | 12 +++++++++ target/arm/cpu-models-stub.c | 5 ++++ target/arm/cpu-models.c | 35 +++++++++++++++++++++++++ target/arm/cpu-models.h | 2 ++ target/arm/kvm.c | 50 ++++++++++++++++++++++++++++++++++++ target/arm/kvm_arm.h | 13 ++++++++++ 6 files changed, 117 insertions(+) diff --git a/target/arm/arm-qmp-cmds.c b/target/arm/arm-qmp-cmds.c index ba488d5c01..d837ec6653 100644 --- a/target/arm/arm-qmp-cmds.c +++ b/target/arm/arm-qmp-cmds.c @@ -379,6 +379,18 @@ static void arm_cpu_add_definition(gpointer data, gpoi= nter user_data) info->name =3D cpu_model_from_type(typename); info->q_typename =3D g_strdup(typename); =20 + /* calculate blockers */ + if (kvm_enabled() + && !g_str_equal(info->name, "host") + && !g_str_equal(info->name, "max") + && arm_find_model(info->name) !=3D NULL) { + arm_cpu_class_check_missing_features(ARM_CPU_CLASS(oc), + &info->unavailable_features); + if (info->unavailable_features) { + info->has_unavailable_features =3D true; + } + } + QAPI_LIST_PREPEND(*cpu_list, info); } =20 diff --git a/target/arm/cpu-models-stub.c b/target/arm/cpu-models-stub.c index 48f712d648..2d1be49e0a 100644 --- a/target/arm/cpu-models-stub.c +++ b/target/arm/cpu-models-stub.c @@ -11,3 +11,8 @@ const ArmNamedCpuModel *arm_find_model(const char *name) { return NULL; } + +void arm_cpu_class_check_missing_features(ARMCPUClass *acc, strList **bloc= kers) +{ + return; +} diff --git a/target/arm/cpu-models.c b/target/arm/cpu-models.c index 855eb5ee6b..9591b6dbfc 100644 --- a/target/arm/cpu-models.c +++ b/target/arm/cpu-models.c @@ -477,6 +477,41 @@ static void arm_named_cpu_initfn(Object *obj) arm_named_cpu_zero_unknown_feature_ids(cpu, &error_abort); } =20 +void arm_cpu_class_check_missing_features(ARMCPUClass *acc, strList **bloc= kers) +{ + Error *err =3D NULL; + Object *obj =3D object_new_with_class(OBJECT_CLASS(acc)); + ARMCPU *cpu =3D ARM_CPU(obj); + + if (!kvm_enabled() || !arm_find_model(acc->info->name)) { + goto out; + } + + if (cpu_isar_feature(aa64_sve, cpu)) { + aarch64_cpu_sve_finalize(cpu, &err); + if (err) { + error_free(err); + err =3D NULL; + uint32_t host_vq_map =3D cpu->sve_vq.supported; + uint32_t model_vq_map =3D cpu->sve_vq.map; + + if ((model_vq_map & host_vq_map) !=3D model_vq_map) { + for (int vq =3D 1; vq <=3D ARM_MAX_VQ; vq++) { + uint32_t vq_bit =3D (1 << (vq - 1)); + if ((model_vq_map & vq_bit) && !(host_vq_map & vq_bit)= ) { + QAPI_LIST_PREPEND(*blockers, + g_strdup_printf("sve%d", vq * 128)); + } + } + } + } + } + + kvm_arm_idregs_get_blockers(cpu, kvm_arm_get_host_isar(), blockers); +out: + object_unref(obj); +} + void arm_register_named_cpu_models(void) { static ARMCPUInfo *arm_named_cpu_infos; diff --git a/target/arm/cpu-models.h b/target/arm/cpu-models.h index 144778744e..41bb15d928 100644 --- a/target/arm/cpu-models.h +++ b/target/arm/cpu-models.h @@ -4,6 +4,7 @@ =20 #include "qapi/error.h" #include "qom/object.h" +#include "cpu.h" =20 typedef enum ArmModelPropType { ARM_MODEL_PROP_BOOL, @@ -32,5 +33,6 @@ void arm_apply_model_props(Object *obj, const ArmModelPro= pValue *props, Error **errp); void arm_realize_model_chain(Object *obj, const ArmNamedCpuModel *model, Error **errp); +void arm_cpu_class_check_missing_features(ARMCPUClass *acc, strList **bloc= kers); =20 #endif /* ARM_CPU_MODELS_H */ diff --git a/target/arm/kvm.c b/target/arm/kvm.c index bb74f8c274..ca3da80262 100644 --- a/target/arm/kvm.c +++ b/target/arm/kvm.c @@ -1485,6 +1485,56 @@ arm_field_skip_writeback_if_not_writable(const ARM64= SysRegField *field) return field_matches(field, ID_DFR0_EL1_IDX, "PerfMon"); } =20 +void kvm_arm_idregs_get_blockers(ARMCPU *cpu, + const ARMISARegisters *host_isar, + strList **blockers) +{ + for (int i =3D 0; i < NUM_ID_IDX; i++) { + ARM64SysReg *reg =3D &arm64_id_regs[i]; + + if (!reg->name) { + continue; + } + + for (uint32_t j =3D 0; j < reg->fields_count; j++) { + const ARM64SysRegField *field =3D ®->fields[j]; + ArmFieldValueSet *vs =3D NULL; + bool supported =3D false; + uint64_t model_val; + + /* Not a blocker if the field is never written back to KVM. */ + if (arm_field_skip_writeback_always(field) || + (!arm_field_is_writable(field) && + arm_field_skip_writeback_if_not_writable(field))) { + continue; + } + + model_val =3D extract64(cpu->isar.idregs[field->index], + field->shift, field->length); + + /* + * If the field is written back, make sure a "supported" value + * is requested. + */ + kvm_arm_field_get_supported_values(field, host_isar, &vs); + for (size_t k =3D 0; k < vs->n_ranges; k++) { + if (model_val >=3D vs->ranges[k].min && + model_val <=3D vs->ranges[k].max) { + supported =3D true; + break; + } + } + g_free(vs->ranges); + g_free(vs); + + if (!supported) { + QAPI_LIST_PREPEND(*blockers, + g_strdup_printf("SYSREG_%s_%s", reg->name, field->name= )); + } + } + } +} + /* * Copy writable ID reg fields from isar.idregs[] into the KVM cpreg list, * so the subsequent write_list_to_kvmstate() pushes them to KVM. diff --git a/target/arm/kvm_arm.h b/target/arm/kvm_arm.h index ab01ce8665..59832d8063 100644 --- a/target/arm/kvm_arm.h +++ b/target/arm/kvm_arm.h @@ -205,6 +205,19 @@ void kvm_arm_field_get_supported_values(const ARM64Sys= RegField *field, const ARMISARegisters *host_isar, ArmFieldValueSet **value_set); =20 +/** + * kvm_arm_idregs_get_blockers: + * @cpu: ARMCPU + * @host_isar: The host ISAR registers + * @blockers: The list of blockers + * + * Get the list of "blockers" in @cpu's idregs state for the given + * @host_isar. + */ +void kvm_arm_idregs_get_blockers(ARMCPU *cpu, + const ARMISARegisters *host_isar, + strList **blockers); + /** * kvm_arm_steal_time_finalize: * @cpu: ARMCPU for which to finalize kvm-steal-time --=20 2.52.0