Re: [PATCH] arm64/cpuinfo: Show right CPU architecture information
From: Catalin Marinas <catalin.marinas@arm.com>
Date: 2021-01-19 12:42:12
Also in:
lkml
On Tue, Jan 19, 2021 at 07:26:31PM +0800, 乱石 wrote:
锟斤拷 2021/1/19 19:01, Will Deacon 写锟斤拷:quoted
On Tue, Jan 19, 2021 at 06:55:10PM +0800, Liguang Zhang wrote:quoted
CPU architecture is assigned to be a fixed value, it should be obtained from midr register. Signed-off-by: Liguang Zhang <redacted> --- arch/arm64/kernel/cpuinfo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)diff --git a/arch/arm64/kernel/cpuinfo.c b/arch/arm64/kernel/cpuinfo.c index 77605aec25fe..0bd11e0fe9f2 100644 --- a/arch/arm64/kernel/cpuinfo.c +++ b/arch/arm64/kernel/cpuinfo.c@@ -191,7 +191,7 @@ static int c_show(struct seq_file *m, void *v) seq_printf(m, "CPU implementer\t: 0x%02x\n", MIDR_IMPLEMENTOR(midr)); - seq_printf(m, "CPU architecture: 8\n"); + seq_printf(m, "CPU architecture: %d\n", MIDR_ARCHITECTURE(midr));Huh? Won't this always return 0xf?Hi Will, I'm not sure. My platform return 0xf, but /proc/cpuinfo show 8. Why we assign a fixed value to cpu architecture?
Because 0xf first appeared on some ARMv6 CPUs (1176, 11MPcore and some newer revisions of 1136). A field value of 0xf means don't bother with architecture version but rather check the CPUID information for the features you need. We decided to call it 8 here with 64-bit as that was announced as ARMv8. A 32-bit kernel running on ARMv8 hardware would report 7 (as it would on some ARMv6 hardware like 1176 etc.) -- Catalin _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel