# git rev-parse -q --verify 66763e9d1f6a8eda00da3a32c007b2af61412c10^{commit} 66763e9d1f6a8eda00da3a32c007b2af61412c10 already have revision, skipping fetch # git checkout -q -f -B kisskb 66763e9d1f6a8eda00da3a32c007b2af61412c10 # git clean -qxdf # git log -1 commit 66763e9d1f6a8eda00da3a32c007b2af61412c10 Author: Michael Ellerman Date: Tue Mar 13 15:58:11 2018 +1100 powerpc/64s: Fix NULL AT_BASE_PLATFORM when using DT CPU features 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 # < /opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < git log --format=%s --max-count=1 66763e9d1f6a8eda00da3a32c007b2af61412c10 # < make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_83xx_mpc836x_mds_defconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- 83xx/mpc836x_mds_defconfig # make -s -j 48 ARCH=powerpc O=/kisskb/build/powerpc-fixes_83xx_mpc836x_mds_defconfig_powerpc-5.3 CROSS_COMPILE=/opt/cross/kisskb/gcc-5.3.0-nolibc/powerpc64-linux/bin/powerpc64-linux- INFO: Uncompressed kernel (size 0x4ec9c0) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x500000) INFO: Uncompressed kernel (size 0x4dc2a8) overlaps the address of the wrapper(0x400000) INFO: Fixing the link_address of wrapper to (0x500000) Image Name: Linux-4.16.0-rc2-g66763e9 Created: Wed Mar 14 01:32:16 2018 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2472618 Bytes = 2414.67 kB = 2.36 MB Load Address: 00000000 Entry Point: 00000000 Image Name: Linux-4.16.0-rc2-g66763e9 Created: Wed Mar 14 01:32:16 2018 Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 2496238 Bytes = 2437.73 kB = 2.38 MB Load Address: 00500000 Entry Point: 005001f4 Completed OK # rm -rf /kisskb/build/powerpc-fixes_83xx_mpc836x_mds_defconfig_powerpc-5.3 # Build took: 0:00:41.087933