44 lines
1.7 KiB
Diff
44 lines
1.7 KiB
Diff
From 34ef29430b9a217ef0811f218b8f86c631d6c574 Mon Sep 17 00:00:00 2001
|
|
From: Perry Yuan <perry.yuan@amd.com>
|
|
Date: Fri, 25 Oct 2024 12:14:56 -0500
|
|
Subject: x86/cpufeatures: Add feature bits for AMD heterogeneous processor
|
|
|
|
CPUID leaf 0x80000026 advertises core types with different efficiency
|
|
rankings.
|
|
|
|
Bit 30 indicates the heterogeneous core topology feature, if the bit
|
|
set, it means not all instances at the current hierarchical level have
|
|
the same core topology.
|
|
|
|
This is described in the AMD64 Architecture Programmers Manual Volume
|
|
2 and 3, doc ID #25493 and #25494.
|
|
|
|
Signed-off-by: Perry Yuan <perry.yuan@amd.com>
|
|
Co-developed-by: Mario Limonciello <mario.limonciello@amd.com>
|
|
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
|
|
---
|
|
arch/x86/include/asm/cpufeatures.h | 1 +
|
|
arch/x86/kernel/cpu/scattered.c | 1 +
|
|
2 files changed, 2 insertions(+)
|
|
|
|
--- a/arch/x86/include/asm/cpufeatures.h
|
|
+++ b/arch/x86/include/asm/cpufeatures.h
|
|
@@ -474,6 +474,7 @@
|
|
#define X86_FEATURE_CLEAR_BHB_HW (21*32+ 3) /* BHI_DIS_S HW control enabled */
|
|
#define X86_FEATURE_CLEAR_BHB_LOOP_ON_VMEXIT (21*32+ 4) /* Clear branch history at vmexit using SW loop */
|
|
#define X86_FEATURE_AMD_FAST_CPPC (21*32 + 5) /* Fast CPPC */
|
|
+#define X86_FEATURE_AMD_HETEROGENEOUS_CORES (21*32 + 6) /* Heterogeneous Core Topology */
|
|
|
|
/*
|
|
* BUG word(s)
|
|
--- a/arch/x86/kernel/cpu/scattered.c
|
|
+++ b/arch/x86/kernel/cpu/scattered.c
|
|
@@ -52,6 +52,7 @@ static const struct cpuid_bit cpuid_bits
|
|
{ X86_FEATURE_PERFMON_V2, CPUID_EAX, 0, 0x80000022, 0 },
|
|
{ X86_FEATURE_AMD_LBR_V2, CPUID_EAX, 1, 0x80000022, 0 },
|
|
{ X86_FEATURE_AMD_LBR_PMC_FREEZE, CPUID_EAX, 2, 0x80000022, 0 },
|
|
+ { X86_FEATURE_AMD_HETEROGENEOUS_CORES, CPUID_EAX, 30, 0x80000026, 0 },
|
|
{ 0, 0, 0, 0, 0 }
|
|
};
|
|
|