From nobody Sat Oct 4 11:12:01 2025 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2073.outbound.protection.outlook.com [40.107.220.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 564F52701D9; Mon, 18 Aug 2025 06:05:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.220.73 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755497132; cv=fail; b=h2skyxVW+DXlTa2ycehD6kbX7ljlJ1NFSIiyeZiiLV+JhOcCq+wNw0AdYk9YRHSzaz2rycDOKpQzrkSjBl0gKZ8C+JI/Z0MvEswJHY3E952imB2ybPAXad4Sur07P0kCa5EK1yS3C9ht0CIA4MB2b63RX5MvRX/jKrCyIqJ6lVg= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755497132; c=relaxed/simple; bh=PnOFrV7gtqK5WSfQKpQs8AhH5Br4i9ZWIJqgybdDDTY=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=BvrN0pfj9h4VHjt7+mSq9NrkLSrdO6LdU+KLLBmj4L+5DIn7xqAT9yJKzEcZOuYXK8ct0EE1vlXw/f1Rz8RSd1m3WjV8QuPxyg9TuOW3gUy1fL0zLrwuD8tPZBdFjZIwfbRDofija2uP2wvFGIb/wctomwl0kSjAFRJx3JRtbjo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=fi/vL1b5; arc=fail smtp.client-ip=40.107.220.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="fi/vL1b5" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MrQ5giA6vFcG63Ux1QACLZjXJlegyDHRyAjqzV6zE6QbswPFDgj5mOAt7W1+Gov8ePsMqz+dCdypD0Z5VaN/ZwADfPdURmPCrLpI+v7rT9H1dsI7k7qr0F1+Iagd3ipuA+T1FhyKjYojWfirp/uDjp67J8uZJJyAA/ZD4Bs7LJ2YxvY8n6guAeFAC22QlhTqy67OtXr1g5iVMrXj+NzV3TVpTa/fMJ+Ml0JgXF4EMOc2CSy85o5xh6FCW5a7KHqThGqq2KAkRaHv6GnZgEzLiaCFzQoAdwOnxGOiyqYCcU1LwFOGFnE6gzkEgoKs0j8cy/pAwsllJhnratFCdOgkug== 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=9Im2w6CHU67TEcCxrg/eSXyIzxnI/edkPOAfOyz+chQ=; b=BTnN62+oE6CvY0g2GVVWodzpdt/yqB4DxCII36Yd6ulKMPjk+OxT4vdx0/uMgUFq40+yJ4ZL6HghdHR45KT7JPiV2wygaKW84MccvJevAkjL/cV6wPzF1txVAZBiT3T3DbViZO6RXGHgeN7j/TYqx7rxOanYrdPuoeLPnwCjEUHiCd00FB6kUQIpbZL9Kyd8LAf7NmLl98ddKZWuyFqZnDlf5HJOhONBajsHbmCvrsrM3y4aVZtKDJsm7En9m3WffdqVXymDS7DTLXwLiPq2ipvrVcAzrJENLRfrOpfHx1l3SJEPfZf+pdyT/iGl2Fu3Vt8xqh5q93VSxmfkP8hgAA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9Im2w6CHU67TEcCxrg/eSXyIzxnI/edkPOAfOyz+chQ=; b=fi/vL1b5kenh+67EfKt82qAZv+0DUypI6oJzkAmN9Y4AnNGGYscnEUBUxFd+zUouU41cR7SBKbsx54pHiUqn4DwKNyQKS27kx/kIYZDeCVbr3ebDIyouId3bNXIHaEVXArf1HA+ygC4oFTftkQ8sgS8UvdgwV6O/NMvsi4Guqzo= Received: from BY5PR13CA0036.namprd13.prod.outlook.com (2603:10b6:a03:180::49) by DM6PR12MB4267.namprd12.prod.outlook.com (2603:10b6:5:21e::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Mon, 18 Aug 2025 06:05:26 +0000 Received: from SN1PEPF000252A0.namprd05.prod.outlook.com (2603:10b6:a03:180:cafe::13) by BY5PR13CA0036.outlook.office365.com (2603:10b6:a03:180::49) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9052.12 via Frontend Transport; Mon, 18 Aug 2025 06:05:26 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF000252A0.mail.protection.outlook.com (10.167.242.7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9052.8 via Frontend Transport; Mon, 18 Aug 2025 06:05:25 +0000 Received: from BLRKPRNAYAK.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 18 Aug 2025 01:05:16 -0500 From: K Prateek Nayak To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Sean Christopherson , Paolo Bonzini , CC: Naveen rao , Sairaj Kodilkar , "H. Peter Anvin" , "Peter Zijlstra (Intel)" , "Xin Li (Intel)" , Pawan Gupta , , , Mario Limonciello , "Gautham R. Shenoy" , Babu Moger , Suravee Suthikulpanit , K Prateek Nayak Subject: [PATCH v3 1/4] x86/msr-index: Define AMD64_CPUID_FN_EXT MSR Date: Mon, 18 Aug 2025 06:04:32 +0000 Message-ID: <20250818060435.2452-2-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250818060435.2452-1-kprateek.nayak@amd.com> References: <20250818060435.2452-1-kprateek.nayak@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A0:EE_|DM6PR12MB4267:EE_ X-MS-Office365-Filtering-Correlation-Id: 9aedb652-d94b-4871-e96f-08ddde1d3991 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|7416014|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?UquGnuIDjJWBAiTQg/2k0d9oqz1pg+BjY+Ht1CraO+P8i31FCxMR0eo8juT2?= =?us-ascii?Q?a65Hr+F6wfBJw4aeATLRWV96LSDbeBYlxoHbDwPUhkolFEdSMrSTZ2z1zi+L?= =?us-ascii?Q?79A9m9Ydt93WQrfrn7M5qnPXXmNflGbzrZSyFicstfDAWCxV+ad6xAUzuKG/?= =?us-ascii?Q?t2qBMSAFS3SUYbVs77LJYHKBq0dxCLKqDGEZgq05ybe3ggt6TeH5u5DZ5nFM?= =?us-ascii?Q?0gv+kYq4XhP98k4HkTX3c/YivrfXS5KAi8sz87yaz6IMLh1isT61a7wjdfuQ?= =?us-ascii?Q?2btmHRO5Dcpewhk9eNmY1ELa9m81f2F8vW64LNFoqIYJsFQLLuwG88DX0rmI?= =?us-ascii?Q?TAx2vYZphJ8uAkKc3TkzK5cj/PUscr8o0hBFr865Ai8/nXiFwhw2IPwRTF3F?= =?us-ascii?Q?kfaHHnZul6QaaK7DWShCwMLjzBBhjClhLns83+1FwahVuLsydRjakFjKajFA?= =?us-ascii?Q?hLfS8QOgH/yzbMLU6sCPKLC+vTzd+0tMkIdIDzK7x0UDuT6mQmlyFHWcFWZ+?= =?us-ascii?Q?Os7QxJgzeHWZ3RgUngSvcmFE5uPlTSEwzJqv2SLNamL6M0k0mCsG1qovUrR9?= =?us-ascii?Q?cw84q87Qcb/3OuOoqrbCM/5nWq2VxmHzq+uN7g6/aGwWObv8nMaWLxtRSzfm?= =?us-ascii?Q?/1a+/YVG25LBdsvopQkIgpZzVOz+X3G1AtO2muyEbTkE3h5aJLMjXAF+fvLG?= =?us-ascii?Q?Azdg9W84is/81+qXhhsgtO3TabbB2Wu++5VhzBWIQKlYsWBGrv7AnKAIpsQa?= =?us-ascii?Q?SxMqaG+Bi18KXjce8xYR0U96b9o7bH+ICG5blWi5TMPPlTDwqF8kOMvenMoo?= =?us-ascii?Q?1n40bAmuekVnGRI3oG06Ds/F/g8g6ouJ79eHU2lXD2YUNXsxl97XDX9loU+s?= =?us-ascii?Q?99ppJwO11nl4QhSfJ2Be+oXsd2OK88zqNbegEm2QMEj8k5wG29mo95tFymgO?= =?us-ascii?Q?JC19+G87hYvE/LBp4rDrd2cnQo7UiZSrWUEFHMSVXFpHnpFw3x9TFwUoB6Qt?= =?us-ascii?Q?EMEF43KYffk0gWB3PHsBwd2Gz/Y2ILEnLJyaQfyPZNYxyj1ie8aPlugVb2yD?= =?us-ascii?Q?h/ADPM3bs2f+kLnSH486LyLln6jeauKCR58xe02CuJCb9reQ7hUtMRivRnAn?= =?us-ascii?Q?B1coUBwS41dQonN8YXfQmyn57BN4S4bRQu/Hw6OVvDPUuyYLTs6lD35L6qjB?= =?us-ascii?Q?TFDHDqne5hFtqAWm24JCz9lj7NeWGXpPIx74SoCQ9RX2xmTt/YSEZOJrFdKW?= =?us-ascii?Q?+fni2D6lV8sEKNtR7nfkVpSuFRQfeitU5KErvnnAKlWg1gEPRqq9GmGk9axH?= =?us-ascii?Q?RS+URfj5Hdol5i3kUJvu6xnc1Y0YOTWG9SRqXdSa/2HAz6wi6cWBapEEAw5z?= =?us-ascii?Q?58hCnH1E+08ufhaR0LIzcGP38I7RuWC8I/Rv8aNgbi7oM+yBqvd7obJG9siq?= =?us-ascii?Q?TagI2Qij01O6PqNdNyai46KwehrdvRyCTWt7U5xnGELMIAJJ4CyN1DXhjBeC?= =?us-ascii?Q?ZWDXzcnmgOGfuK3OPCkqirEwhPtk+zTZtJEc?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(7416014)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2025 06:05:25.7109 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 9aedb652-d94b-4871-e96f-08ddde1d3991 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000252A0.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4267 Content-Type: text/plain; charset="utf-8" Explicitly define the AMD64_CPUID_FN_EXT MSR used to toggle the extended features. Also define and use the bits necessary an old TOPOEXT fixup on AMD Family 0x15 processors. No functional changes intended. Signed-off-by: K Prateek Nayak --- Changelog v2..v3: o New patch. Note: The definition of MSR_AMD64_CPUID_FN_EXT_TOPOEXT_ENABLED crosses the 100 column limit and results in a checkpatch warning. msr-index.h contains a couple more examples where the definitions with very explicit naming crosses 100 columns and I've decided to retain the same despite the warning. If this needs to be changed, please let me know and I'll address it in the next version. --- arch/x86/include/asm/msr-index.h | 5 +++++ arch/x86/kernel/cpu/topology_amd.c | 7 ++++--- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/arch/x86/include/asm/msr-index.h b/arch/x86/include/asm/msr-in= dex.h index 2d5595bdfa27..7931f9b3250b 100644 --- a/arch/x86/include/asm/msr-index.h +++ b/arch/x86/include/asm/msr-index.h @@ -630,6 +630,11 @@ #define MSR_AMD_PPIN 0xc00102f1 #define MSR_AMD64_CPUID_FN_7 0xc0011002 #define MSR_AMD64_CPUID_FN_1 0xc0011004 + +#define MSR_AMD64_CPUID_FN_EXT 0xc0011005 +#define MSR_AMD64_CPUID_FN_EXT_TOPOEXT_ENABLED_BIT 54 +#define MSR_AMD64_CPUID_FN_EXT_TOPOEXT_ENABLED BIT_ULL(MSR_AMD64_CPUID_FN= _EXT_TOPOEXT_ENABLED_BIT) + #define MSR_AMD64_LS_CFG 0xc0011020 #define MSR_AMD64_DC_CFG 0xc0011022 #define MSR_AMD64_TW_CFG 0xc0011023 diff --git a/arch/x86/kernel/cpu/topology_amd.c b/arch/x86/kernel/cpu/topol= ogy_amd.c index 843b1655ab45..bb00dc6433eb 100644 --- a/arch/x86/kernel/cpu/topology_amd.c +++ b/arch/x86/kernel/cpu/topology_amd.c @@ -158,11 +158,12 @@ static void topoext_fixup(struct topo_scan *tscan) c->x86 !=3D 0x15 || c->x86_model < 0x10 || c->x86_model > 0x6f) return; =20 - if (msr_set_bit(0xc0011005, 54) <=3D 0) + if (msr_set_bit(MSR_AMD64_CPUID_FN_EXT, + MSR_AMD64_CPUID_FN_EXT_TOPOEXT_ENABLED_BIT) <=3D 0) return; =20 - rdmsrq(0xc0011005, msrval); - if (msrval & BIT_64(54)) { + rdmsrq(MSR_AMD64_CPUID_FN_EXT, msrval); + if (msrval & MSR_AMD64_CPUID_FN_EXT_TOPOEXT_ENABLED) { set_cpu_cap(c, X86_FEATURE_TOPOEXT); pr_info_once(FW_INFO "CPU: Re-enabling disabled Topology Extensions Supp= ort.\n"); } --=20 2.34.1 From nobody Sat Oct 4 11:12:01 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2069.outbound.protection.outlook.com [40.107.93.69]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D5E0271453; Mon, 18 Aug 2025 06:05:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.69 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755497155; cv=fail; b=g7cUbElEeNZvXEEnquqJrRdOzdhXLZ1JByTytRhWBOJlGIaDMD0GkKNM4F6wetigjoOUuL+fmnk4MiywoCT8ve5iBlOI90Hcu9RUU36OIg7unSrBa2cUsZKXdI54nS+41tL52x8VoG97qcenHwrPYHFoUHYC4zs69md6+ikguIo= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755497155; c=relaxed/simple; bh=hKy0Q4awVuoyYaPZdUoiHKTwArinXyTtV8KaEKqCTXM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=evxYqpOC9ReiJ8gmBJn62a4ULgDJLF0mUq9c+5WCwY9QIgrKB2f7zmdMYWkU6Y/eiyXBIK97662mg7fCo5Q1LJtVHIYxWe2nGzM7ij4osbN3HRBhgKPAR6uvaIQj1Pb2ZsXWzPtwtWth3jhNsoQKsJNLH8ymObUCwjhXkCrfL/4= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=FxFh1d9k; arc=fail smtp.client-ip=40.107.93.69 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="FxFh1d9k" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=D8pjk8RQkjn/az5Y4ItXh33MzGgF9oQL+aXZRvJLg3cPCDzdxpP+hTAMOHQx1yxzlvY+Zz6SqiOG04VfyzV/1mV5fhDP8RWLbZ+V6AbbrxdWQwQPgREjILgxIo6My2LEjDhZp8PBjfDx7tm/+aqxmLLkxxJOqXTdrpOcZsmKy/Xoac53v0+vPSFiE1Z90b5d+0aVQ4CLXbLlEZeFvx32xq34gwPZ52RNvzVBqBJoRrxpb75/CVENrFJ6UbVxEgVORc4nSlSgZhOLPCywHDFxGtWtN1Rq68WLBQ2zVQqjH/CS2mKzKNYzqFcVEpRSBtq/ERm3AGUuugeEaGqGhSMt5g== 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=BFtHSeTWqCV9cAFv7TU2tMCCfF2Nv3ggF6jfIhDH/Xo=; b=jbWBzO2fmne6NFd6BRppUUBImypIuQ7N7oHah/C/GzQXPXzI3u6HG5/KqxcDKQqzwUkx2MqdgnUNAodKJ+/X5E1oGJisSHU+p1AfWc+LELw2a7B9j8SRYyioUrpFXG/woEJLqklEAB38Jvk38r6hkHcR9++ZwKaRiQZn+NFaVc/2zhdqS6k5b51Wr8MlHRkSu8RTQi2EaR+1m6Fvh12V8BUapoqV3u4OTd/uoGHSlz7Yp+crGv+t4mJ/sShr8HZ9Eeiy0DouwFxPz3Ng5mBofOmNiLnctIlEdg5vtMCIBnZ25p7E0emX46Am/HESrKp7zcmN/VRiMcmIZMWx6qyAsQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=BFtHSeTWqCV9cAFv7TU2tMCCfF2Nv3ggF6jfIhDH/Xo=; b=FxFh1d9kS5SvFULdd1naavOqDmvTHek+Sdq4JJHvyuTkV1I1FJTZrRWpK3xAb44ntiDloiuXTzxmgkOUVrxQessynVKBVjiTdPpWZ00mOCoxytEewKDODjP2dww8J5g2MhNZuB2SAuesVTb6guKRvC9Nuo2xJcWgIxJzwoNK27s= Received: from BYAPR05CA0068.namprd05.prod.outlook.com (2603:10b6:a03:74::45) by DM6PR12MB4250.namprd12.prod.outlook.com (2603:10b6:5:21a::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9031.24; Mon, 18 Aug 2025 06:05:50 +0000 Received: from SN1PEPF0002529D.namprd05.prod.outlook.com (2603:10b6:a03:74:cafe::f1) by BYAPR05CA0068.outlook.office365.com (2603:10b6:a03:74::45) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9052.12 via Frontend Transport; Mon, 18 Aug 2025 06:05:49 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF0002529D.mail.protection.outlook.com (10.167.242.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9052.8 via Frontend Transport; Mon, 18 Aug 2025 06:05:49 +0000 Received: from BLRKPRNAYAK.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 18 Aug 2025 01:05:42 -0500 From: K Prateek Nayak To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Sean Christopherson , Paolo Bonzini , CC: Naveen rao , Sairaj Kodilkar , "H. Peter Anvin" , "Peter Zijlstra (Intel)" , "Xin Li (Intel)" , Pawan Gupta , , , Mario Limonciello , "Gautham R. Shenoy" , Babu Moger , Suravee Suthikulpanit , K Prateek Nayak Subject: [PATCH v3 2/4] x86/cpu/topology: Use initial APICID from XTOPOEXT on AMD/HYGON Date: Mon, 18 Aug 2025 06:04:33 +0000 Message-ID: <20250818060435.2452-3-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250818060435.2452-1-kprateek.nayak@amd.com> References: <20250818060435.2452-1-kprateek.nayak@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF0002529D:EE_|DM6PR12MB4250:EE_ X-MS-Office365-Filtering-Correlation-Id: 09f16e7e-17ce-4a8e-947d-08ddde1d47ee X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|1800799024|82310400026|36860700013|7416014|376014|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?AdJ4XXq5lX2zMir3ZtNjNwU8FqPBA1anFAkrzD4swS/yR8PAfw8lBRfkVZFw?= =?us-ascii?Q?YL+LJ4nRIhuEs7wVwy4/L4KHlj95Bia+/WcM2YJQOylamYC2fzDh+tjzd5rN?= =?us-ascii?Q?6dFxHjlA6hrUGJNIoTPzJyXqiuByo15Pnz3xasLrHPeOP2nMKPGs2+X10gsr?= =?us-ascii?Q?7JECRUFm0HpgKYiMo3d7EPqT3PwahfxRwuBgj8kPd71GLGYNqnvLqqZhVcwH?= =?us-ascii?Q?lt8sPaetd3Mg7js6FEDR+yYqPQfbPmCy1tONIR1VomqgnXwP+HveGMN156km?= =?us-ascii?Q?vGls7yKL/SCExM0q4ne3MreNFgQ8mCpiRAHpnY2FLcCOhzYXZmXS9K/oZdIl?= =?us-ascii?Q?8pOvhfy0dRF0Yft4MXXtBlam5xCrrRKIhvP5FBJrcXUiwNYAE5ajS/1Cld83?= =?us-ascii?Q?oow0njXuLkYYxI9mw0VUaifnxilhfmzFflQhhnE2/6EPC47XhAyAeVXWeoWA?= =?us-ascii?Q?ZgWXcvUy5nL5BUkN+WC6YUBTQUa1ea+IeYfgEHGzCM7MP+Fy3EyYniw/Ia/h?= =?us-ascii?Q?tsijttVJ47i51INtvl7dpysyhiz085v+wkvW/wAzZKvVCPw0r0jDYqKW2Imf?= =?us-ascii?Q?vWKFJcI5YozSyjLk8rGGRPCIfCvQUIQ3vv15jMQQxAn9Ta8vvFKnWWGwmOZb?= =?us-ascii?Q?q6xnBjz1Wqj405p2FQARK/8RZcK4jJhboe4kGhLP2BxAhBbBvoZmiL9nak7p?= =?us-ascii?Q?dbGT/2rsoQzaavtz2Kpo5L9V44dYJMMmTYzOsm51tfeXGHxqDe640p0pVLut?= =?us-ascii?Q?x8INtssVPZmbAiYLwfB9WM1HmmtcW/a6yOrQPcmhek6piAzV+Z3X08Mxe9t2?= =?us-ascii?Q?cgLxQtafBH1Tq3NH3PntDvOTXJhM26IWFXYt7QAwHnaJ8PnDkx3ksQF7WKWp?= =?us-ascii?Q?gYReVtBGnAz9SCQFB7UtBoKgBrYxrKlYBMysb8+WI04Vki/GPPIRDRofCZJV?= =?us-ascii?Q?ORW8ZTPjKJSN9L58RLepDrwn5rv47KKTfnQf67OMzHaTM8iRSorNs/owMRLa?= =?us-ascii?Q?Y1a21Mj0xkxfXccZ3dX5ONuRbbxE3F/W91bZ+DdmrHn4s5+0HiaUSCWzsB9D?= =?us-ascii?Q?WNYXL4oKzo1o0/QKCPVFmQlLAdgICk7cGRZcWjdPxOfhdY+f3/D3bU+ToFwG?= =?us-ascii?Q?Co7P1ah+pU/vwi25eyj1zUKF0XlQJMdfHncCDV10DvVmOir51redb/b7LJs9?= =?us-ascii?Q?2LXpBEYKaGqWtw/j2D4jvxer6II+//Yip62adySbRMds+YONwkoUYbaIHU98?= =?us-ascii?Q?gFnGJAUiGHVZO4HlHagGsB82viMXwph7ewG6KKSc57OEEJ4hgVn/pY04rM6Y?= =?us-ascii?Q?ihsQt+W2gZ2lGiNG0+HJzNFzNIqYn7x7J9iF/xn0qgV/YUfGtH/mcELACXnM?= =?us-ascii?Q?SLi/8sKtFlnc3NJ1G4hGZeW/Y9485CXkGSHqaU6N9pfETuIF7iECNKBwFhDn?= =?us-ascii?Q?4A2UbzOVVvfIjkRqWE0S3+8gkyVu6FiGF0noFqZXAod9FU27MMRuWw=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(1800799024)(82310400026)(36860700013)(7416014)(376014)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2025 06:05:49.8058 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 09f16e7e-17ce-4a8e-947d-08ddde1d47ee X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF0002529D.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4250 Content-Type: text/plain; charset="utf-8" Prior to the topology parsing rewrite and the switchover to the new parsing logic for AMD processors in commit c749ce393b8f ("x86/cpu: Use common topology code for AMD"), the "initial_apicid" on these platforms was: - First initialized to the LocalApicId from CPUID leaf 0x1 EBX[31:24]. - Then overwritten by the ExtendedLocalApicId in CPUID leaf 0xb EDX[31:0] on processors that supported topoext. With the new parsing flow introduced in commit f7fb3b2dd92c ("x86/cpu: Provide an AMD/HYGON specific topology parser"), parse_8000_001e() now unconditionally overwrites the "initial_apicid" already parsed during cpu_parse_topology_ext(). Although this has not been a problem on baremetal platforms, on virtualized AMD guests that feature more than 255 cores, QEMU 0's out the CPUID leaf 0x8000001e on CPUs with "CoreID" > 255 to prevent collision of these IDs in EBX[7:0] which can only represent a maximum of 255 cores [1]. This results in the following FW_BUG being logged when booting a guest with more than 255 cores: [Firmware Bug]: CPU 512: APIC ID mismatch. CPUID: 0x0000 APIC: 0x0200 Rely on the APICID parsed during cpu_parse_topology_ext() from CPUID leaf 0x80000026 or 0xb and only use the APICID from leaf 0x8000001e if cpu_parse_topology_ext() failed (has_topoext is false). On platforms that support the 0xb leaf (Zen2 or later, AMD guests on QEMU) or the extended leaf 0x80000026 (Zen4 or later), the "initial_apicid" is now set to the value parsed from EDX[31:0]. On older AMD/Hygon platforms that does not support the 0xb leaf but supports the TOPOEXT extension (Fam 0x15, 0x16, 0x17[Zen1], and Hygon), the current behavior is retained where "initial_apicid" is set using the 0x8000001e leaf. Link: https://github.com/qemu/qemu/commit/35ac5dfbcaa4b [1] Debugged-by: Naveen N Rao (AMD) Debugged-by: Sairaj Kodilkar Fixes: c749ce393b8f ("x86/cpu: Use common topology code for AMD") Tested-by: Naveen N Rao (AMD) Signed-off-by: K Prateek Nayak --- Changelog v2..v3: o No changes. --- arch/x86/kernel/cpu/topology_amd.c | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/arch/x86/kernel/cpu/topology_amd.c b/arch/x86/kernel/cpu/topol= ogy_amd.c index bb00dc6433eb..ac0ba8495eec 100644 --- a/arch/x86/kernel/cpu/topology_amd.c +++ b/arch/x86/kernel/cpu/topology_amd.c @@ -81,20 +81,28 @@ static bool parse_8000_001e(struct topo_scan *tscan, bo= ol has_topoext) =20 cpuid_leaf(0x8000001e, &leaf); =20 - tscan->c->topo.initial_apicid =3D leaf.ext_apic_id; - - /* - * If leaf 0xb is available, then the domain shifts are set - * already and nothing to do here. Only valid for family >=3D 0x17. - */ - if (!has_topoext && tscan->c->x86 >=3D 0x17) { + if (!has_topoext) { /* - * Leaf 0x80000008 set the CORE domain shift already. - * Update the SMT domain, but do not propagate it. + * Prefer initial_apicid parsed from XTOPOLOGY leaf + * 0x8000026 or 0xb if available. Otherwise prefer the + * one from leaf 0x8000001e over 0x1. */ - unsigned int nthreads =3D leaf.core_nthreads + 1; + tscan->c->topo.initial_apicid =3D leaf.ext_apic_id; =20 - topology_update_dom(tscan, TOPO_SMT_DOMAIN, get_count_order(nthreads), n= threads); + /* + * If XTOPOLOGY leaf is available, then the domain shifts are set + * already and nothing to do here. Only valid for family >=3D 0x17. + */ + if (tscan->c->x86 >=3D 0x17) { + /* + * Leaf 0x80000008 set the CORE domain shift already. + * Update the SMT domain, but do not propagate it. + */ + unsigned int nthreads =3D leaf.core_nthreads + 1; + + topology_update_dom(tscan, TOPO_SMT_DOMAIN, + get_count_order(nthreads), nthreads); + } } =20 store_node(tscan, leaf.nnodes_per_socket + 1, leaf.node_id); --=20 2.34.1 From nobody Sat Oct 4 11:12:01 2025 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11on2073.outbound.protection.outlook.com [40.107.223.73]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BF59F26FA5E; Mon, 18 Aug 2025 06:06:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.223.73 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755497179; cv=fail; b=NSNb91KXGWwHQ+K4OzFY+khYmK6gZdMJhSeYuZFRolp1uKZarf0lnGPFvFGg/edogKkvbDQqQ+sicqkiDEDUeHu1obAR+Mh9TnqzeO7/jadM2T9QZJuAvdM1n9bahI7xrsbBxT5mtiwC9x05D6j++FEYO5MtDwqwNyJEoRT5SIA= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755497179; c=relaxed/simple; bh=61vBkg1VtJDji/EdPJ8VB8rDi1s8PkAaTzKBEkz3tcM=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=LE54olDzijQBOWKOAZ82W5Ii8edNRTxO3D7Ml+93D8hg3eJkEa9gJVQPkyMgglje9kAKfPQ5ea//dTB6VVWad9ARfrzPdBLcbxCxOiczq2QJSGtUHHvzJnQLEX+mzD4X3YdlStxr0uLUBOFxdSBmT2WOSR3Es961FMwGrt/+hEQ= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=nQnAHyN3; arc=fail smtp.client-ip=40.107.223.73 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="nQnAHyN3" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=y9o07zZYgDtN/UsJgtIaTcKJi5X7zM8yZhYMhUN0AN3pycBM0rwwAKX1S/QkzlaDlshnuZGI0jSemlnCdzffBDHUBHGMmEAC2ykHjwaKE5V/QxS/MZXLTCO71jEyPULCEuxkbAZspBkNZJIqGN1sl5LLbDTC/srxCx2s6y/Gas9pTan+oppJlARbJ0ykp1K4FntfX+3wvt4X7JURF118dV99Dmqe29tSuY2dgrIXiIGsMe56oJ8P97df/NSrFcJJTY8G1OElPJQjYM7dr3gpVIo6Yqu14gJtkXXe/GlgS0PmgwPBPhwE8T9xoIfq+28G4tXVkRT7i3El78miodwzaQ== 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=weWQi3mjuYUaDQFsIv40U3ZFEbKMZBmqY7tOG/ngF5Q=; b=gmHTcR2gGsB4conjy1sQef1gBNJnEpmGAqmfPaHyv6oAu30hUgTnInN5PYPf9c4h//CeMviiT9lDOPvtJy42aUyanAwYu524X0eO5CIXrb45r4yCgSi/8FD5LW+wvCEGTqfMdLDrCZ1lL2qIPn3bvQTYoBiiQiD8hwBXAP1NXCY+dInH5V63jOrPXmwqYRpAQU0LigxS8WnAyI7/jTNFnOwz8s06beQ8jh8RSNEyReGlV42wFJ4Iq1CEC3BJitaKEj5i8z8pdgamApt7kraPcGHLnq0Vtd2YbU7IpVFGoGX+xs0fn7fNqmbvKc1v+cTse4D/TlZ9wOeolTQT117ZfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=weWQi3mjuYUaDQFsIv40U3ZFEbKMZBmqY7tOG/ngF5Q=; b=nQnAHyN3uGe/+S67BqjSrq9T8qr1+a7vtj+ghI/iPFtbJ5S1Hg2FntybOxM79MBFtnHNFeHVbkR9+tYU0FG/crw3wPZAehyYiCYuIo8Y/zfxekpJwwqkAx3LVWYPYhD15eUTcLLu6JqCaUx0s/xUyD+ZSrNy1xj/P0ZTaLxBiPc= Received: from BYAPR08CA0013.namprd08.prod.outlook.com (2603:10b6:a03:100::26) by CY8PR12MB7705.namprd12.prod.outlook.com (2603:10b6:930:84::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9009.18; Mon, 18 Aug 2025 06:06:12 +0000 Received: from SN1PEPF000252A4.namprd05.prod.outlook.com (2603:10b6:a03:100:cafe::62) by BYAPR08CA0013.outlook.office365.com (2603:10b6:a03:100::26) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9031.19 via Frontend Transport; Mon, 18 Aug 2025 06:06:12 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF000252A4.mail.protection.outlook.com (10.167.242.11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9052.8 via Frontend Transport; Mon, 18 Aug 2025 06:06:11 +0000 Received: from BLRKPRNAYAK.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 18 Aug 2025 01:06:03 -0500 From: K Prateek Nayak To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Sean Christopherson , Paolo Bonzini , CC: Naveen rao , Sairaj Kodilkar , "H. Peter Anvin" , "Peter Zijlstra (Intel)" , "Xin Li (Intel)" , Pawan Gupta , , , Mario Limonciello , "Gautham R. Shenoy" , Babu Moger , Suravee Suthikulpanit , K Prateek Nayak Subject: [PATCH v3 3/4] x86/cpu/topology: Always try cpu_parse_topology_ext() on AMD/Hygon Date: Mon, 18 Aug 2025 06:04:34 +0000 Message-ID: <20250818060435.2452-4-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250818060435.2452-1-kprateek.nayak@amd.com> References: <20250818060435.2452-1-kprateek.nayak@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A4:EE_|CY8PR12MB7705:EE_ X-MS-Office365-Filtering-Correlation-Id: e4dd1ec3-4e87-4fd0-c38b-08ddde1d551c X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|36860700013|82310400026|1800799024|376014|7416014|13003099007; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?BdgcG7YRf7r9/eOUO5e5qvSQ5ucjCFQ/GNJ13SujWpW0/uaJGMo0His/5dYY?= =?us-ascii?Q?5KI2G3117Ge7p0OWNF8A9fssO1gwgOLMvy8BfOGPQCpHZw3ZJxmRo0evtvXT?= =?us-ascii?Q?Jt1qXJeqGwyUulHe/zf5K7Otr2Vbt06LXTPn8xcblJD76/4PlR4j7Qc//kh9?= =?us-ascii?Q?cNXasKaiVBQW4To2hZRLInA9qLUw/ifR0lh1CCkz4nnmys25srz/mP9t04ua?= =?us-ascii?Q?NAAGtQbr0RvqF9YnGr/Crxkly8IyEP4OC0UfaXcEu2QDnUSQjVFZmxPuMoB3?= =?us-ascii?Q?yM1ol1NwNVge+smqRKqrN6zoz5W1/8vcmRCVDuDAQrp4b7zDejXNnSiVerL0?= =?us-ascii?Q?nJ7lIYNd4eW2zCw3/mJ69g8CV3qpndWxf9UeCl6jnzttpWCIZdxXE7jnk/vO?= =?us-ascii?Q?xBCNXkkUPl2cksMslnvhYus7xrpNcTE7vDkE9iPvkqV6AGP3gF3bJNv2S/GQ?= =?us-ascii?Q?hPyI3cGw1JwOR0HqWDiQXQuLaAh97CIVrV3tdB8CHkvVMt60MZEetq6Jrtcu?= =?us-ascii?Q?URuxu++Chb84Pcja4R3/gYiHyxV8LS8aIGnY+7K+6ruGBrSXyOw+eSCKxnsV?= =?us-ascii?Q?kDxMheZ0WoYq4QhLBERfGXgmu1wMOiInDDUN8TJSFz0I9z0aNabIKsC5AgIw?= =?us-ascii?Q?hxh8PGULa0PUbhbY3J2Hl2dU84R36098/XdoEAgpRAF0G5SDBzugnGxsDO1d?= =?us-ascii?Q?n4OdphZNJS9CJqgq7G5FNts8BIImZH66BU/9mTfAOeYAs91C7cThgkxPir6e?= =?us-ascii?Q?Pvqsu3PV+6ERKnzc9tQvFF8bBWz44m0vNDW4w2BTsMgTGdeeapsr/1Logy19?= =?us-ascii?Q?ccx+wcc1Oef7SZfMJEysTu3v7THYXPskoyurxMKsO2hmVpMyXFRymIgLioIf?= =?us-ascii?Q?98LVATKagdwxMWn41elgn3rgLh8nK5Oa7B91jBpjJMXXWic8P2HyCSCvx12R?= =?us-ascii?Q?r+f8rajrsXy4fyBF2NUQFnSujzsdPGvWqQIUBz/bcdXKvs6ktfRlrhLbGwG/?= =?us-ascii?Q?CfRUgWc4JRs/h9zTBr48qbpY1lZU3nUj5xDy6xPCbVu/x1ElUIRiQGAfY/38?= =?us-ascii?Q?mf0cVSTxTcAiAVjjYthphljDpFQjUKACaZfJDk4+NVyhd0pXG+bqril+3uRi?= =?us-ascii?Q?8LAfOZUxmPULHwAsg9w1vsTC8WdzB2yJLMoAj7anzNOw2iBZeREMzRE2B4+4?= =?us-ascii?Q?vXmxsGpxCTiWftiKBSctTGDgnpNgI8hGSxeZqc3jWDHpZhrFUOJsQWmOD/ka?= =?us-ascii?Q?oME591HUaYaSBJ/Lb59rWuLoDQQg1Av7Gvc0AvPwZ1eXFZGhxF0WDTv102/w?= =?us-ascii?Q?8h8FyISfhmUe3kjQ7QMp71HrhLtOHHBak0KMxmTHp7+GgXNsdnsEfJZMouPo?= =?us-ascii?Q?W78VCpLr7d0PzELS1nX318UDja1wm+iXssLE/LfLbebECz9qORQ0Qwo6iiMo?= =?us-ascii?Q?a0RlevH0IoWeH57yCT8mv4ymrbdNwQ7eG9YHDG374wLG6jGbJ7vECA=3D=3D?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(36860700013)(82310400026)(1800799024)(376014)(7416014)(13003099007);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2025 06:06:11.9106 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: e4dd1ec3-4e87-4fd0-c38b-08ddde1d551c X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000252A4.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY8PR12MB7705 Content-Type: text/plain; charset="utf-8" Support for parsing the topology on AMD/Hygon processors using CPUID leaf 0xb was added in commit 3986a0a805e6 ("x86/CPU/AMD: Derive CPU topology from CPUID function 0xB when available"). In an effort to keep all the topology parsing bits in one place, this commit also introduced a pseudo dependency on the TOPOEXT feature to parse the CPUID leaf 0xb. TOPOEXT feature (CPUID 0x80000001 ECX[22]) advertises the support for Cache Properties leaf 0x8000001d and the CPUID leaf 0x8000001e EAX for "Extended APIC ID" however support for 0xb was introduced alongside the x2APIC support not only on AMD [1], but also historically on x86 [2]. Similar to 0xb, the support for extended CPU topology leaf 0x80000026 too does not depend on the TOPOEXT feature. The support for these leaves is expected to be confirmed by ensuring "leaf <=3D {extended_}cpuid_level" and then parsing the level 0 of the respective leaf to confirm ECX[15:8] (LevelType) is non-zero. This has not been a problem on baremetal platforms since support for TOPOEXT (Fam 0x15 and later) predates the support for CPUID leaf 0xb (Fam 0x17[Zen2] and later), however, for AMD guests on QEMU, "x2apic" feature can be enabled independent of the "topoext" feature where QEMU expects topology and the initial APICID to be parsed using the CPUID leaf 0xb (especially when number of cores > 255) which is populated independent of the "topoext" feature flag. Unconditionally call cpu_parse_topology_ext() on AMD and Hygon processors to first parse the topology using the XTOPOEXT leaves before using the TOPOEXT leaf. Link: https://lore.kernel.org/lkml/1529686927-7665-1-git-send-email-suravee= .suthikulpanit@amd.com/ [1] Link: https://lore.kernel.org/lkml/20080818181435.523309000@linux-os.sc.int= el.com/ [2] Suggested-by: Naveen N Rao (AMD) Signed-off-by: K Prateek Nayak --- Changelog v2..v3: o No changes. --- arch/x86/kernel/cpu/topology_amd.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/arch/x86/kernel/cpu/topology_amd.c b/arch/x86/kernel/cpu/topol= ogy_amd.c index ac0ba8495eec..3d01675d94f5 100644 --- a/arch/x86/kernel/cpu/topology_amd.c +++ b/arch/x86/kernel/cpu/topology_amd.c @@ -179,18 +179,14 @@ static void topoext_fixup(struct topo_scan *tscan) =20 static void parse_topology_amd(struct topo_scan *tscan) { - bool has_topoext =3D false; - /* - * If the extended topology leaf 0x8000_001e is available - * try to get SMT, CORE, TILE, and DIE shifts from extended + * Try to get SMT, CORE, TILE, and DIE shifts from extended * CPUID leaf 0x8000_0026 on supported processors first. If * extended CPUID leaf 0x8000_0026 is not supported, try to * get SMT and CORE shift from leaf 0xb first, then try to * get the CORE shift from leaf 0x8000_0008. */ - if (cpu_feature_enabled(X86_FEATURE_TOPOEXT)) - has_topoext =3D cpu_parse_topology_ext(tscan); + bool has_topoext =3D cpu_parse_topology_ext(tscan); =20 if (cpu_feature_enabled(X86_FEATURE_AMD_HTR_CORES)) tscan->c->topo.cpu_type =3D cpuid_ebx(0x80000026); --=20 2.34.1 From nobody Sat Oct 4 11:12:01 2025 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (mail-dm6nam10on2059.outbound.protection.outlook.com [40.107.93.59]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5549B17A300; Mon, 18 Aug 2025 06:06:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=40.107.93.59 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755497202; cv=fail; b=A2Sro1k1NnTaUuenH1Nijbyl8td8IjkFhzl52KTxVOIf5CV77+1T7zBOxnGMnTeltK5DSfM4TQUuizhhXk+uVh4Tvfhbb6/weWzIw/J5B0LvHbeFUBk46oQceHrT3BKO47VI4kc90pg3yuuWD1tedbnQBOJY7qYgW03JJiyo4gY= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755497202; c=relaxed/simple; bh=IToSl09U36HY3Gkc5jEjV1iOxR3K3o0BM7XLFV72Pr4=; h=From:To:CC:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=awmh1SdgjHp4/SO1mj3G7wfdE2XfKMT2CcVTb7EWO7L3nWPjnfHlcPsgVxoey1PwD6mItIK04YbRRZE4fNnGI3LVoShlDeBmSza+K2+h2vdcas7oL3R0AZKf52xhNe5y94lENGbkYq0ULekUlaRClddLvz6pyxK2v45uID3gIDE= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com; spf=fail smtp.mailfrom=amd.com; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b=g+P2S8I8; arc=fail smtp.client-ip=40.107.93.59 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=amd.com Authentication-Results: smtp.subspace.kernel.org; spf=fail smtp.mailfrom=amd.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=amd.com header.i=@amd.com header.b="g+P2S8I8" ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=RfmVJO/H4K+dOEnPpCgXwLb5lLARE3rNEFUBxnAMHTw6LGdISiS8E0wFsjUPjj+Q4Pigp52FZtks3Ky032ZkwOGyEu0RSHz2wfQU2VtPxEF4NBpOAca2ZzgQ6x2fJuRDoEYO6HDjN8yDNVN/7qUzbMKPsuhgqrvKcj7u4p9eCiI3Bll+pMTa3Of+1obp81W5bSiSDMF+8icoLlPuiBkOywyeiwjLNWu/0pQmXFGKA0h+gxb8I9/ODgOcdcaedFNhgoGbctrsPlrsNGFSkcvDN+Ewvl0cjyifKZ4llyUR75Lgc15EejXv5SmL+GtC+fi+uwVPiuJmLbZt+OlRnQ2JUw== 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=H99iRj2k3u8wEPNCZX/+WBAR51QMckHj454E+pz31Ow=; b=ZPW3SwpWSqgsdeenCX8NSx938TX6GvqykQZuNEVAusI60KbobYK5IhTkieYqmcW2j9MFMKACYuF64XG4FUlSrWGw3SR70f4UazaOInMOWf4dg90DQu5m6xBgVCGKOigrAZx91x17z7Ed/zb/O7+61FDp5W36im/yikxzADVkVcnMiDCt7emC1w5WoA3Rafw3Nfx6p9MbGOcg/muSNZTUlhyusywy7oCaPaInAVOu+J2eUGpBOZn+ZOdw07FFYYRx9Iljep3jNfzFc+lLBrKruIl+RyYAH5QDTC/rAeAP2NBaSYvi5Xo6VZyIO04oA05GrQcjvDvGjaxBfHxPYJRtBA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=linutronix.de smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); arc=none (0) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=H99iRj2k3u8wEPNCZX/+WBAR51QMckHj454E+pz31Ow=; b=g+P2S8I8E8hSH2avWUD1wyxEVKb12zQ4BztXTaofLa06SIHsEaLFeNAvgI8i2qlth8KLfQyr2WY4Hh7UC7c0poCRozCbTq1SbwpqQAKSvUgBuQJ2GN0Yt1sG9thr1FgxFupcC46dnqx0BhTN7Doi94bmsHzw2lwy/Efzgxcd1W4= Received: from SA9PR13CA0027.namprd13.prod.outlook.com (2603:10b6:806:21::32) by BY5PR12MB4067.namprd12.prod.outlook.com (2603:10b6:a03:212::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9009.18; Mon, 18 Aug 2025 06:06:36 +0000 Received: from SN1PEPF000252A2.namprd05.prod.outlook.com (2603:10b6:806:21:cafe::68) by SA9PR13CA0027.outlook.office365.com (2603:10b6:806:21::32) with Microsoft SMTP Server (version=TLS1_3, cipher=TLS_AES_256_GCM_SHA384) id 15.20.9052.12 via Frontend Transport; Mon, 18 Aug 2025 06:06:36 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by SN1PEPF000252A2.mail.protection.outlook.com (10.167.242.9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.9052.8 via Frontend Transport; Mon, 18 Aug 2025 06:06:36 +0000 Received: from BLRKPRNAYAK.amd.com (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.39; Mon, 18 Aug 2025 01:06:29 -0500 From: K Prateek Nayak To: Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , Sean Christopherson , Paolo Bonzini , CC: Naveen rao , Sairaj Kodilkar , "H. Peter Anvin" , "Peter Zijlstra (Intel)" , "Xin Li (Intel)" , Pawan Gupta , , , Mario Limonciello , "Gautham R. Shenoy" , Babu Moger , Suravee Suthikulpanit , K Prateek Nayak Subject: [PATCH v3 4/4] x86/cpu/topology: Check for X86_FEATURE_XTOPOLOGY instead of passing has_topoext Date: Mon, 18 Aug 2025 06:04:35 +0000 Message-ID: <20250818060435.2452-5-kprateek.nayak@amd.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20250818060435.2452-1-kprateek.nayak@amd.com> References: <20250818060435.2452-1-kprateek.nayak@amd.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: SN1PEPF000252A2:EE_|BY5PR12MB4067:EE_ X-MS-Office365-Filtering-Correlation-Id: b15fca18-3aeb-40b8-f3d3-08ddde1d6399 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0;ARA:13230040|82310400026|36860700013|7416014|1800799024|376014; X-Microsoft-Antispam-Message-Info: =?us-ascii?Q?5Q1dPYSImqVhCK3W6s7wJP/MGUkxUg3CO7cBEn2TcI9A5n+ZlS6W0VGivlBQ?= =?us-ascii?Q?/3Wg764M0Fepy7TX5UFcbNXYom/RWaLSKoOFQmgUO2nq2Qk04Qyf+2SEYBU4?= =?us-ascii?Q?gb816Yse4qvfxw+oQuog2LOAh9tvcqRJ0YLwFcwgmTDH88J87p9/ev3xjoby?= =?us-ascii?Q?3CbAS6Pl3r4Kvb+8fK4vWetRrihAj85xOY0XH13ZZJlxo859D5BRpN6+Qelx?= =?us-ascii?Q?RYSuiZN2xkpKjt44rL0wxkE0VHtwthkpzOJ9bzlgA7DRwFibpVXyuVVrFzgH?= =?us-ascii?Q?wMGXLE3NPWoanHvJB/wzEk3X0GEB1NogFXzLQZX6ekaEz1a1SjP2p+TsiK6f?= =?us-ascii?Q?yomeI5NB/Vap785aQsZXjcaF4p8K27CxBzkjMJPmwWSwJfB32sxBxV3/r+RA?= =?us-ascii?Q?8w02GqjLLwLitx8z/FPxxI/s8acosaB7wNATJwvBSlDAJtWMTJjzvB6+NZLA?= =?us-ascii?Q?jSuF92H+Xo+n+ThkzU1OVltSwTYzfAsIyh2XdNUQW3eLRgT+96Q2fpL00/+n?= =?us-ascii?Q?nAt8rR2DGIGCtdMXOnFgFOHXYVESVWmhGI4u9nSJ4YNRFKF4Q91nLvhMGMR5?= =?us-ascii?Q?V+1FtDxadNcD0aqPseubpuaMUzOovNOunSLIHFlDtgHYgIq27EarpzLFLViC?= =?us-ascii?Q?SPKypkQYaETPiy0e22y6R83+oDmXEQuc7t5WNHVhqLHvwUgcfy2fj2RqzMCU?= =?us-ascii?Q?TuFgvkMxxJU+5Zt9YjJvSwZVV0Gna75k45sDwa1z58VyKw+eAbhxDbuhENxd?= =?us-ascii?Q?F/IoI1IMrjon0xxZit981sutnEXMjA/SVxyTv8nynaORSNJ+YHcSTJnaT7gi?= =?us-ascii?Q?Nhx/G1HaxPjhMIKzRuL9AiG2rBZxHTv2yUIDSi+Bm4m4rzCReM9SKGNR+Wgc?= =?us-ascii?Q?0Ixe1pnXFw7Ltyb1i0eMIFr4w524IkuEBpcDpMhB4WSuIDD6/7H+qdpqXq3L?= =?us-ascii?Q?gytUeWUeT47tsEeNq9NOjPjlmRt468X3fqoPaEg05K5F0TqVr77AdZ21bUH/?= =?us-ascii?Q?6qqPqf8U2vVj4WPMa7ixFbopllzWKOnKzV/fyCDo3RkES8Bg2H0Xq0BD/vbJ?= =?us-ascii?Q?L//9DsPw3XeuN/aGITQCIkC5GdSomcvmJP5Yls5pf1h/TuIWQVqAIfkwr65U?= =?us-ascii?Q?p4Vks34Z5HdMc+otunQENW1Qc7WnWvA6uT9MyxBwVp/D94pPGoRgYTxDQ4PY?= =?us-ascii?Q?L3jfeBGAx7umvfTXcVF1JNsPq66PDWJLnUEeUUMJJvWDOky9ubzjfp3TEC+2?= =?us-ascii?Q?apNoHMH+Za1JN5EqpHYW12055YObT4f/cvwUjuBmdaiZGS5GR8bWwMshp/OZ?= =?us-ascii?Q?MlqmeYyqSETXsddeYT2lVtlP0Ybnuy+w2vkWle1VU6Ww6LWzdgjDVaRVTdxn?= =?us-ascii?Q?MfC/ImKYT+3PJ7cnX/wPdNkLvlMT8EZeeu2nv1ycpSseunqlUiLJQIyZXnth?= =?us-ascii?Q?sC2kZjP/cFCHHLczF3pQkAtwuPD/GeVa28srjdj4v0R7aZvtus4gVC0Hwea4?= =?us-ascii?Q?ww2AnTSA5WO1sipPyO/2EpohVtE+TYcLs7kq?= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230040)(82310400026)(36860700013)(7416014)(1800799024)(376014);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Aug 2025 06:06:36.2203 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: b15fca18-3aeb-40b8-f3d3-08ddde1d6399 X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: SN1PEPF000252A2.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: BY5PR12MB4067 Content-Type: text/plain; charset="utf-8" cpu_parse_topology_ext() sets X86_FEATURE_XTOPOLOGY before returning true if any of the XTOPOLOGY leaf could be parsed successfully. Instead of storing and passing around this return value using "has_topoext" in parse_topology_amd(), check for X86_FEATURE_XTOPOLOGY instead in parse_8000_001e() to simplify the flow. No functional changes intended. Signed-off-by: K Prateek Nayak --- Changelog v2..v3: o Use cpu_feature_enabled() when checking for X86_FEATURE_XTOPOLOGY. --- arch/x86/kernel/cpu/topology_amd.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/arch/x86/kernel/cpu/topology_amd.c b/arch/x86/kernel/cpu/topol= ogy_amd.c index 3d01675d94f5..138a09528083 100644 --- a/arch/x86/kernel/cpu/topology_amd.c +++ b/arch/x86/kernel/cpu/topology_amd.c @@ -59,7 +59,7 @@ static void store_node(struct topo_scan *tscan, u16 nr_no= des, u16 node_id) tscan->amd_node_id =3D node_id; } =20 -static bool parse_8000_001e(struct topo_scan *tscan, bool has_topoext) +static bool parse_8000_001e(struct topo_scan *tscan) { struct { // eax @@ -81,7 +81,7 @@ static bool parse_8000_001e(struct topo_scan *tscan, bool= has_topoext) =20 cpuid_leaf(0x8000001e, &leaf); =20 - if (!has_topoext) { + if (!cpu_feature_enabled(X86_FEATURE_XTOPOLOGY)) { /* * Prefer initial_apicid parsed from XTOPOLOGY leaf * 0x8000026 or 0xb if available. Otherwise prefer the @@ -179,6 +179,9 @@ static void topoext_fixup(struct topo_scan *tscan) =20 static void parse_topology_amd(struct topo_scan *tscan) { + if (cpu_feature_enabled(X86_FEATURE_AMD_HTR_CORES)) + tscan->c->topo.cpu_type =3D cpuid_ebx(0x80000026); + /* * Try to get SMT, CORE, TILE, and DIE shifts from extended * CPUID leaf 0x8000_0026 on supported processors first. If @@ -186,16 +189,11 @@ static void parse_topology_amd(struct topo_scan *tsca= n) * get SMT and CORE shift from leaf 0xb first, then try to * get the CORE shift from leaf 0x8000_0008. */ - bool has_topoext =3D cpu_parse_topology_ext(tscan); - - if (cpu_feature_enabled(X86_FEATURE_AMD_HTR_CORES)) - tscan->c->topo.cpu_type =3D cpuid_ebx(0x80000026); - - if (!has_topoext && !parse_8000_0008(tscan)) + if (!cpu_parse_topology_ext(tscan) && !parse_8000_0008(tscan)) return; =20 /* Prefer leaf 0x8000001e if available */ - if (parse_8000_001e(tscan, has_topoext)) + if (parse_8000_001e(tscan)) return; =20 /* Try the NODEID MSR */ --=20 2.34.1