# git rev-parse -q --verify 91288fcc5a7ebb6378f442916299dc20d037aa72^{commit} 91288fcc5a7ebb6378f442916299dc20d037aa72 already have revision, skipping fetch # git checkout -q -f -B kisskb 91288fcc5a7ebb6378f442916299dc20d037aa72 # git clean -qxdf # < git log -1 # commit 91288fcc5a7ebb6378f442916299dc20d037aa72 # Author: Oliver O'Halloran # Date: Wed Oct 23 12:36:35 2019 +1100 # # powerpc/boot: Fix the initrd being overwritten under qemu # # When booting under OF the zImage expects the initrd address and size # to be passed to it using registers r3 and r4. SLOF (guest firmware # used by QEMU) currently doesn't do this so the zImage is not aware of # the initrd location. This can result in initrd corruption either # though the zImage extracting the vmlinux over the initrd, or by the # vmlinux overwriting the initrd when relocating itself. # # QEMU does put the linux,initrd-start and linux,initrd-end properties # into the devicetree to vmlinux to find the initrd. So we can work # around the problem by also looking for those properties in the zImage. # # Cc: stable@vger.kernel.org # Signed-off-by: Oliver O'Halloran # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/20191023013635.2512-1-oohall@gmail.com # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 91288fcc5a7ebb6378f442916299dc20d037aa72 # < make -s -j 32 ARCH=powerpc O=/kisskb/build/powerpc-next_powernv_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- powernv_defconfig # make -s -j 32 ARCH=powerpc O=/kisskb/build/powerpc-next_powernv_defconfig_ppc64le-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- WARNING: vmlinux.o(.text+0x43c8): Section mismatch in reference from the variable start_here_common to the function .init.text:start_kernel() The function start_here_common() references the function __init start_kernel(). This is often because start_here_common lacks a __init annotation or the annotation of start_kernel is wrong. Completed OK # rm -rf /kisskb/build/powerpc-next_powernv_defconfig_ppc64le-gcc5 # Build took: 0:03:16.929640