# git rev-parse -q --verify b53ab70eaf6ce5df58a1985dcfcda07683255778^{commit} b53ab70eaf6ce5df58a1985dcfcda07683255778 already have revision, skipping fetch # git checkout -q -f -B kisskb b53ab70eaf6ce5df58a1985dcfcda07683255778 # git clean -qxdf # < git log -1 # commit b53ab70eaf6ce5df58a1985dcfcda07683255778 # 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 # Signed-off-by: Michael Ellerman # Link: https://msgid.link/20230809-virt-to-phys-powerpc-v1-1-12e912a7d439@linaro.org # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 b53ab70eaf6ce5df58a1985dcfcda07683255778 # make -s -j 32 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc40x_defconfig_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc40x_defconfig # < make -s -j 32 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc40x_defconfig_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 32 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc40x_defconfig_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 32 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc40x_defconfig_powerpc-gcc13 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-13.1.0-nolibc/powerpc64-linux/bin/powerpc64-linux- Completed OK # rm -rf /kisskb/build/powerpc-next_ppc40x_defconfig_powerpc-gcc13 # Build took: 0:00:57.207788