[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20201002201931.2826-1-ricardo.neri-calderon@linux.intel.com>
Date: Fri, 2 Oct 2020 13:19:28 -0700
From: Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
To: x86@...nel.org, Borislav Petkov <bp@...e.de>,
Ingo Molnar <mingo@...nel.org>,
Thomas Gleixner <tglx@...utronix.de>
Cc: Len Brown <len.brown@...el.com>,
"Ravi V. Shankar" <ravi.v.shankar@...el.com>,
linux-kernel@...r.kernel.org, Andy Lutomirski <luto@...nel.org>,
Tony Luck <tony.luck@...el.com>,
"Peter Zijlstra (Intel)" <peterz@...radead.org>,
Ricardo Neri <ricardo.neri-calderon@...ux.intel.com>
Subject: [PATCH 0/3] x86: Add initial support to discover Intel hybrid CPUs
Add support to discover and enumerate CPUs in Intel hybrid parts. A hybrid
part has CPUs with more than one type of micro-architecture. Thus, certain
features may only be present in a specific CPU type.
It is useful to know the type of CPUs present in a system. For instance,
perf may need to handle CPUs differently depending on the type of micro-
architecture. Decoding machine check error logs may need the additional
micro-architecture type information, so include that in the log.
A hybrid part can be identified by reading a new CPUID feature bit.
Likewise, CPUID contains information about the CPU type as well as a new
native model ID. Details can be found in the Intel manual (SDM, [1]).
This series adds support for Intel hybrid parts in two areas: a) adding
the hybrid feature bit as well as struct cpuinfo_x86; and b) decode machine
check errors on hybrid parts.
A later submission will use the proposed functionality to expose the CPU
topology to user space.
Thanks and BR,
Ricardo
[1].
https://software.intel.com/content/dam/develop/public/us/en/documents/325462-sdm-vol-1-2abcd-3abcd.pdf
Vol 2. Section 3.2.CPUID leaf 0x1a
Ricardo Neri (3):
x86/cpufeatures: Enumerate hybrid CPU feature bit
x86/cpu: Describe hybrid CPUs in cpuinfo_x86
x86/mce: include type of core when reporting a machine check error
arch/x86/include/asm/cpufeatures.h | 1 +
arch/x86/include/asm/processor.h | 13 +++++++++++++
arch/x86/include/uapi/asm/mce.h | 1 +
arch/x86/kernel/cpu/common.c | 5 +++++
arch/x86/kernel/cpu/mce/core.c | 7 +++++++
5 files changed, 27 insertions(+)
--
2.17.1
Powered by blists - more mailing lists