Messages in this thread | | | Date | Tue, 8 Mar 2022 17:47:12 +0000 | Subject | Re: [PATCH RFC] arm64: improve display about CPU architecture in cpuinfo | From | Robin Murphy <> |
| |
On 2022-03-08 17:18, Catalin Marinas wrote: > On Mon, Mar 07, 2022 at 08:05:06PM +0000, Robin Murphy wrote: >> On 2022-03-07 19:30, Arnd Bergmann wrote: >>> On Mon, Mar 7, 2022 at 5:48 PM Robin Murphy <robin.murphy@arm.com> wrote: >>> >>>> And arguably it's not even too late, because 10 years ago this *did* say >>>> "AArch64". I don't remember all the exact details behind commit >>>> 44b82b7700d0 ("arm64: Fix up /proc/cpuinfo") - this just tickled enough >>>> of a memory to go and look up the git history - but I don't think we >>>> changed any of those fields without a real reason. >>>> >>> >>> The patch description does state that this was done for compatibility with >>> 32-bit architectures, which does make some sense. I suppose for similar >>> reasons, the arch/arm/ version of /proc/cpuinfo is now stuck at >>> 'CPU architecture: 7', even for ARMv8 or higher in aarch32 mode. >>> >>> The part that I find more annoying is how we leave out the one bit >>> of information that people are generally looking for in /proc/cpuinfo: >>> the name of the processor. Even though we already know the >>> exact processor type in order to handle the CPU errata, this is >>> always "model name\t: ARMv7 Processor rev %d (v7l)" on 32-bit, >>> and "model name\t: ARMv8 Processor rev %d (%s)" on 64-bit, >>> with the revision being the least important bit of information here... >> >> Eh, it's hardly impossible to recompose a MIDR value from the implementer, >> part, variant and revision fields if one actually needs to. Maybe we could >> null-terminate the raw MIDR value and print it as a string of >> largely-unprintable characters in the "model name" field... I guess that >> might satisfy the crowd who want parity* with x86 CPUID, at least :) > > You can get the MIDR from > /sys/devices/system/cpu/cpu*/regs/identification/midr_el1. > > As for printing the actual names, we thought we'd leave it to tools like > lscpu. I'm not keen on maintaining a dictionary of MIDR to CPU marketing > names in the kernel, deal with rebranding and so on. For x86 you can get > the name from the CPU itself IIUC, that's not the case for arm.
Yes, CPUID reads a string out of the hardware which is the name for the *physical product*, which among other things is allegedly useful to dissuade unscrupulous people from grinding the markings off and re-etching them to fake a higher-spec chip. We obviously can't maintain a whole database of SoC names in Linux.
In fact on my x86 box, even lscpu still doesn't tell me what the actual CPU cores are other than family 6 model 79, so in that respect Arm support is already ahead! :D
Robin.
| |