powerpc/64s: Fix NULL AT_BASE_PLATFORM when using DT CPU features
Michael Ellerman
patch-notifications at ellerman.id.au
Wed Mar 14 20:24:57 AEDT 2018
On Tue, 2018-03-13 at 23:14:11 UTC, Michael Ellerman wrote:
> When running virtualised the powerpc kernel is able to run the system
> in "compat mode" - which means the kernel and hardware are pretending
> to userspace that the CPU is an older version than it actually is.
>
> AT_BASE_PLATFORM is an AUXV entry that we export to userspace for use
> when we're running in that mode, which tells userspace the "platform"
> string for the real CPU version, as opposed to the faked version.
>
> Although we don't support compat mode when using DT CPU features, and
> arguably don't need to set AT_BASE_PLATFORM, the existing cputable
> based code always sets it even when we're running bare metal. That
> means the lack of AT_BASE_PLATFORM is a user-visible artifact of the
> fact that the kernel is using DT CPU features, which we don't want.
>
> So set it in the DT CPU features code also.
>
> This results in eg:
> $ LD_SHOW_AUXV=1 /bin/true | grep "AT_.*PLATFORM"
> AT_PLATFORM: power9
> AT_BASE_PLATFORM:power9
>
> Signed-off-by: Michael Ellerman <mpe at ellerman.id.au>
> Reviewed-by: Nicholas Piggin <npiggin at gmail.com>
Applied to powerpc fixes.
https://git.kernel.org/powerpc/c/e4b79900222b8cccd4da4a7a89581f
cheers
More information about the Linuxppc-dev
mailing list