# git rev-parse -q --verify e48310b3511a384c095015337414a8683baaa1ee^{commit} e48310b3511a384c095015337414a8683baaa1ee already have revision, skipping fetch # git checkout -q -f -B kisskb e48310b3511a384c095015337414a8683baaa1ee # git clean -qxdf # < git log -1 # commit e48310b3511a384c095015337414a8683baaa1ee # Author: Linus Walleij # Date: Wed Aug 9 10:07:13 2023 +0200 # # powerpc: Make virt_to_pfn() a static inline # # Making virt_to_pfn() a static inline taking a strongly typed # (const void *) makes the contract of a passing a pointer of that # type to the function explicit and exposes any misuse of the # macro virt_to_pfn() acting polymorphic and accepting many types # such as (void *), (unitptr_t) or (unsigned long) as arguments # without warnings. # # Move the virt_to_pfn() and related functions below the # declaration of __pa() so it compiles. # # For symmetry do the same with pfn_to_kaddr(). # # As the file is included right into the linker file, we need # to surround the functions with ifndef __ASSEMBLY__ so we # don't cause compilation errors. # # The conversion moreover exposes the fact that pmd_page_vaddr() # was returning an unsigned long rather than a const void * as # could be expected, so all the sites defining pmd_page_vaddr() # had to be augmented as well. # # Finally the KVM code in book3s_64_mmu_hv.c was passing an # unsigned int to virt_to_phys() so fix that up with a cast so the # result compiles. # # Signed-off-by: Linus Walleij # [mpe: Fixup compile error in kfence.h] # Signed-off-by: Michael Ellerman # Link: https://msgid.link/20230809-virt-to-phys-powerpc-v1-1-12e912a7d439@linaro.org # < /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 e48310b3511a384c095015337414a8683baaa1ee # make -s -j 40 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc64e_defconfig+UP_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc64e_defconfig # Added to kconfig CONFIG_SMP=n # < make -s -j 40 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc64e_defconfig+UP_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 40 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc64e_defconfig+UP_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 40 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc64e_defconfig+UP_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- In file included from /kisskb/src/arch/powerpc/include/asm/percpu.h:20:0, from /kisskb/src/arch/powerpc/include/asm/mmu.h:148, from /kisskb/src/arch/powerpc/include/asm/nohash/kup-booke.h:6, from /kisskb/src/arch/powerpc/include/asm/kup.h:24, from /kisskb/src/arch/powerpc/mm/nohash/kup.c:11: /kisskb/src/arch/powerpc/include/asm/paca.h:155:23: error: field 'tcd' has incomplete type struct tlb_core_data tcd; ^ /kisskb/src/arch/powerpc/include/asm/paca.h:291:36: error: 'struct mm_struct' declared inside parameter list [-Werror] extern void copy_mm_to_paca(struct mm_struct *mm); ^ /kisskb/src/arch/powerpc/include/asm/paca.h:291:36: error: its scope is only this definition or declaration, which is probably not what you want [-Werror] cc1: all warnings being treated as errors make[6]: *** [/kisskb/src/scripts/Makefile.build:243: arch/powerpc/mm/nohash/kup.o] Error 1 make[6]: *** Waiting for unfinished jobs.... make[5]: *** [/kisskb/src/scripts/Makefile.build:480: arch/powerpc/mm/nohash] Error 2 make[4]: *** [/kisskb/src/scripts/Makefile.build:480: arch/powerpc/mm] Error 2 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [/kisskb/src/scripts/Makefile.build:480: arch/powerpc] Error 2 make[3]: *** Waiting for unfinished jobs.... make[2]: *** [/kisskb/src/Makefile:2032: .] Error 2 make[1]: *** [/kisskb/src/Makefile:234: __sub-make] Error 2 make: *** [Makefile:234: __sub-make] Error 2 Command 'make -s -j 40 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc64e_defconfig+UP_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ' returned non-zero exit status 2. # rm -rf /kisskb/build/powerpc-next_ppc64e_defconfig+UP_powerpc-gcc5 # Build took: 0:00:52.588570