Messages in this thread | | | Date | Tue, 19 Jan 2021 12:32:38 +0000 | From | Catalin Marinas <> | Subject | Re: [PATCH] arm64/cpuinfo: Show right CPU architecture information |
| |
On Tue, Jan 19, 2021 at 07:26:31PM +0800, 乱石 wrote: > 锟斤拷 2021/1/19 19:01, Will Deacon 写锟斤拷: > > On Tue, Jan 19, 2021 at 06:55:10PM +0800, Liguang Zhang wrote: > > > CPU architecture is assigned to be a fixed value, it should be obtained > > > from midr register. > > > > > > Signed-off-by: Liguang Zhang <zhangliguang@linux.alibaba.com> > > > --- > > > 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
| |