[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210119123237.GA17369@gaia>
Date: Tue, 19 Jan 2021 12:32:38 +0000
From: Catalin Marinas <catalin.marinas@....com>
To: 乱石 <zhangliguang@...ux.alibaba.com>
Cc: Will Deacon <will@...nel.org>,
Anshuman Khandual <anshuman.khandual@....com>,
Suzuki K Poulose <suzuki.poulose@....com>,
Mark Brown <broonie@...nel.org>, gustavoars@...nel.org,
Vincenzo Frascino <vincenzo.frascino@....com>,
Dave Martin <Dave.Martin@....com>,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org
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@...ux.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
Powered by blists - more mailing lists