From: Olof Johansson <olof@lixom.net> To: Marc Zyngier <marc.zyngier@arm.com> Cc: Catalin Marinas <catalin.marinas@arm.com>, Will Deacon <will.deacon@arm.com>, Linux Kernel Mailing List <linux-kernel@vger.kernel.org>, Linux ARM Mailing List <linux-arm-kernel@lists.infradead.org> Subject: Re: [PATCH] arm64: cpuinfo: Include cleartext implementer and part strings Date: Mon, 16 Jul 2018 07:34:05 -0700 [thread overview] Message-ID: <CAOesGMjq=d3ZPLTq5qudx+EE+XC2-zSsA1ViheTwM7fnTtJh2Q@mail.gmail.com> (raw) In-Reply-To: <f619f0e9-b8b4-29fb-5ad6-7f5ebc3a4da8@arm.com> On Mon, Jul 16, 2018 at 2:17 AM, Marc Zyngier <marc.zyngier@arm.com> wrote: > Hi Olof, > > On 15/07/18 04:53, Olof Johansson wrote: >> There's some use in printing out what the implementer and part numbers >> decode to for cases where they're known. >> >> I filled in the table based on public information; mostly from ARM TRMs >> and other tools (and some of the SSBD tables in the kernel, etc). >> >> Apple IDs came from >> https://github.com/apple/darwin-xnu/blob/master/osfmk/arm/cpuid.h >> >> Signed-off-by: Olof Johansson <olof@lixom.net> >> --- >> arch/arm64/kernel/cpuinfo.c | 79 +++++++++++++++++++++++++++++++++++++++++++-- >> 1 file changed, 76 insertions(+), 3 deletions(-) > > [...] > > The same thing pops up every so often. And the answer is the same each time: Ever thought about why it pops up? > - it breaks an existing userspace ABI by changing the format of cpuinfo Most tools likely rely on a per-line format, and in this case they're likely interpreting the contents after the ':' as an integer. Adding something to the line might or might not break them, agreed. How about introducing a "CPU model" line similar to x86's cleartext one? > - it is unmaintainable in the long run False. Chances are you already need details more fine-grained than this for errata and quirks, we already do for SSBD. And if it lacks an entry it's not the end of the world. > - userspace already has this information by simply running "lscpu" > > What has changed? What has changed is that ARM(64) is moving from a custom-kernel-custom-userspace world to one where you might be upreving kernels and userspace separately, and you might be using an older userspace with a newer machine and a newer kernel. Having to update lscpu is an extra step and extra friction to making it behave nicely. There's also a growing expectation of the system to behave more like x86, especially when it comes to trivial ways of detecting what kind of machine you are running on. On x86 it's been trivial to look at /proc/cpuinfo since it is provided by the platform there. Nobody wants to change their implementation from having to read a file to exec a program, dealing with errors, and parsing its output (sure, easier from scripts, but more awkward from real source). Having the information exported from the kernel is a reasonable way to do it. The other extreme is that the kernel should just ever have exported the raw MIDR value. -Olof
WARNING: multiple messages have this Message-ID (diff)
From: olof@lixom.net (Olof Johansson) To: linux-arm-kernel@lists.infradead.org Subject: [PATCH] arm64: cpuinfo: Include cleartext implementer and part strings Date: Mon, 16 Jul 2018 07:34:05 -0700 [thread overview] Message-ID: <CAOesGMjq=d3ZPLTq5qudx+EE+XC2-zSsA1ViheTwM7fnTtJh2Q@mail.gmail.com> (raw) In-Reply-To: <f619f0e9-b8b4-29fb-5ad6-7f5ebc3a4da8@arm.com> On Mon, Jul 16, 2018 at 2:17 AM, Marc Zyngier <marc.zyngier@arm.com> wrote: > Hi Olof, > > On 15/07/18 04:53, Olof Johansson wrote: >> There's some use in printing out what the implementer and part numbers >> decode to for cases where they're known. >> >> I filled in the table based on public information; mostly from ARM TRMs >> and other tools (and some of the SSBD tables in the kernel, etc). >> >> Apple IDs came from >> https://github.com/apple/darwin-xnu/blob/master/osfmk/arm/cpuid.h >> >> Signed-off-by: Olof Johansson <olof@lixom.net> >> --- >> arch/arm64/kernel/cpuinfo.c | 79 +++++++++++++++++++++++++++++++++++++++++++-- >> 1 file changed, 76 insertions(+), 3 deletions(-) > > [...] > > The same thing pops up every so often. And the answer is the same each time: Ever thought about why it pops up? > - it breaks an existing userspace ABI by changing the format of cpuinfo Most tools likely rely on a per-line format, and in this case they're likely interpreting the contents after the ':' as an integer. Adding something to the line might or might not break them, agreed. How about introducing a "CPU model" line similar to x86's cleartext one? > - it is unmaintainable in the long run False. Chances are you already need details more fine-grained than this for errata and quirks, we already do for SSBD. And if it lacks an entry it's not the end of the world. > - userspace already has this information by simply running "lscpu" > > What has changed? What has changed is that ARM(64) is moving from a custom-kernel-custom-userspace world to one where you might be upreving kernels and userspace separately, and you might be using an older userspace with a newer machine and a newer kernel. Having to update lscpu is an extra step and extra friction to making it behave nicely. There's also a growing expectation of the system to behave more like x86, especially when it comes to trivial ways of detecting what kind of machine you are running on. On x86 it's been trivial to look at /proc/cpuinfo since it is provided by the platform there. Nobody wants to change their implementation from having to read a file to exec a program, dealing with errors, and parsing its output (sure, easier from scripts, but more awkward from real source). Having the information exported from the kernel is a reasonable way to do it. The other extreme is that the kernel should just ever have exported the raw MIDR value. -Olof
next prev parent reply other threads:[~2018-07-16 14:34 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2018-07-15 3:53 [PATCH] arm64: cpuinfo: Include cleartext implementer and part strings Olof Johansson 2018-07-15 3:53 ` Olof Johansson 2018-07-16 9:17 ` Marc Zyngier 2018-07-16 9:17 ` Marc Zyngier 2018-07-16 14:34 ` Olof Johansson [this message] 2018-07-16 14:34 ` Olof Johansson 2018-07-16 16:52 ` Mark Rutland 2018-07-16 16:52 ` Mark Rutland 2018-07-17 12:27 ` Robin Murphy 2018-07-17 12:27 ` Robin Murphy
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to='CAOesGMjq=d3ZPLTq5qudx+EE+XC2-zSsA1ViheTwM7fnTtJh2Q@mail.gmail.com' \ --to=olof@lixom.net \ --cc=catalin.marinas@arm.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=marc.zyngier@arm.com \ --cc=will.deacon@arm.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.