# 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_pseries_defconfig+POWERNV=n_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- pseries_defconfig Using /kisskb/src/arch/powerpc/configs/ppc64_defconfig as base Merging /kisskb/src/arch/powerpc/configs/le.config Merging /kisskb/src/arch/powerpc/configs/guest.config Value of CONFIG_VIRTIO_BLK is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_BLK=m New value: CONFIG_VIRTIO_BLK=y Value of CONFIG_SCSI_VIRTIO is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_SCSI_VIRTIO=m New value: CONFIG_SCSI_VIRTIO=y Value of CONFIG_VIRTIO_NET is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_NET=m New value: CONFIG_VIRTIO_NET=y Value of CONFIG_VIRTIO_CONSOLE is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_CONSOLE=m New value: CONFIG_VIRTIO_CONSOLE=y Value of CONFIG_VIRTIO_PCI is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_PCI=m New value: CONFIG_VIRTIO_PCI=y Value of CONFIG_VIRTIO_BALLOON is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VIRTIO_BALLOON=m New value: CONFIG_VIRTIO_BALLOON=y Value of CONFIG_VHOST_NET is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_VHOST_NET=m New value: CONFIG_VHOST_NET=y Value of CONFIG_IBMVETH is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_IBMVETH=m New value: CONFIG_IBMVETH=y Value of CONFIG_IBMVNIC is redefined by fragment /kisskb/src/arch/powerpc/configs/guest.config: Previous value: CONFIG_IBMVNIC=m New value: CONFIG_IBMVNIC=y Merging /kisskb/src/arch/powerpc/configs/kvm_guest.config # # merged configuration written to .config (needs make) # # Added to kconfig CONFIG_PPC_POWERNV=n # < make -s -j 40 ARCH=powerpc O=/kisskb/build/powerpc-next_pseries_defconfig+POWERNV=n_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_pseries_defconfig+POWERNV=n_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_pseries_defconfig+POWERNV=n_powerpc-gcc5 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-5.5.0-nolibc/powerpc64-linux/bin/powerpc64-linux- gcc: error: /kisskb/build/powerpc-next_pseries_defconfig+POWERNV=n_powerpc-gcc5/tools/objtool/libsubcmd/libsubcmd.a: No such file or directory make[4]: *** [Makefile:71: /kisskb/build/powerpc-next_pseries_defconfig+POWERNV=n_powerpc-gcc5/tools/objtool/objtool] Error 1 make[3]: *** [Makefile:73: objtool] Error 2 make[2]: *** [/kisskb/src/Makefile:1440: tools/objtool] Error 2 make[2]: *** Waiting for unfinished jobs.... 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_pseries_defconfig+POWERNV=n_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_pseries_defconfig+POWERNV=n_powerpc-gcc5 # Build took: 0:00:13.251696