# git rev-parse -q --verify 5ad0e6cf98ac177bdc3d162dda4af5253b0f0d78^{commit} 5ad0e6cf98ac177bdc3d162dda4af5253b0f0d78 already have revision, skipping fetch # git checkout -q -f -B kisskb 5ad0e6cf98ac177bdc3d162dda4af5253b0f0d78 # git clean -qxdf # < git log -1 # commit 5ad0e6cf98ac177bdc3d162dda4af5253b0f0d78 # Author: Christophe Leroy # Date: Fri Mar 19 06:34:43 2021 +0000 # # powerpc/irq: Inline call_do_irq() and call_do_softirq() # # call_do_irq() and call_do_softirq() are simple enough to be # worth inlining. # # Inlining them avoids an mflr/mtlr pair plus a save/reload on stack. It # also allows GCC to keep the saved ksp_limit in an nonvolatile reg. # # This is inspired from S390 arch. Several other arches do more or # less the same. The way sparc arch does seems odd thought. # # Signed-off-by: Christophe Leroy # Signed-off-by: Michael Ellerman # --- # # v2: no change. # v3: no change. # v4: # - comment reminding the purpose of the inline asm block. # - added r2 as clobbered reg # v5: # - Limiting the change to PPC32 for now. # - removed r2 from the clobbered regs list (on PPC32 r2 points to current all the time) # - Removed patch 1 and merged ksp_limit handling in here. # v6: # - Rebase on top of merge-test (ca6e327fefb2). # - Remove the ksp_limit stuff as it's doesn't exist anymore. # # v7: # mpe: # - Enable for 64-bit too. This all in-kernel code calling in-kernel # code, and must use the kernel TOC. # - Use named parameters for the inline asm. # - Reformat inline asm. # - Mark as always_inline. # - Drop unused ret from call_do_softirq(), add r3 as clobbered. # < /opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 5ad0e6cf98ac177bdc3d162dda4af5253b0f0d78 # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- randconfig KCONFIG_SEED=0xEFBBBD55 # Added to kconfig CONFIG_STANDALONE=y # Added to kconfig CONFIG_BUILD_DOCSRC=n # Added to kconfig CONFIG_MODULE_SIG=n # Added to kconfig CONFIG_CPU_BIG_ENDIAN=y # Added to kconfig CONFIG_PPC64=y # Added to kconfig CONFIG_PPC_DISABLE_WERROR=y # Added to kconfig CONFIG_SECTION_MISMATCH_WARN_ONLY=y # Added to kconfig CONFIG_PREVENT_FIRMWARE_BUILD=y # Added to kconfig CONFIG_CC_STACKPROTECTOR_STRONG=n # Added to kconfig CONFIG_GCC_PLUGINS=n # Added to kconfig CONFIG_LD_HEAD_STUB_CATCH=y # Added to kconfig CONFIG_TRIM_UNUSED_KSYMS=n # Added to kconfig CONFIG_UBSAN=n # < make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig .config:5921:warning: override: reassigning to symbol MODULE_SIG .config:5924:warning: override: reassigning to symbol PPC_DISABLE_WERROR .config:5926:warning: override: reassigning to symbol PREVENT_FIRMWARE_BUILD .config:5929:warning: override: reassigning to symbol LD_HEAD_STUB_CATCH .config:5931:warning: override: reassigning to symbol UBSAN # make -s -j 120 ARCH=powerpc O=/kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc9 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-9.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- WARNING: 4 bad relocations c0000000000175ea R_PPC64_ADDR16_HIGHEST .head.text+0x0000000000017604 c0000000000175ee R_PPC64_ADDR16_HIGH .head.text+0x0000000000017604 c0000000000175f2 R_PPC64_ADDR16_HIGHER .head.text+0x0000000000017604 c0000000000175f6 R_PPC64_ADDR16_LO .head.text+0x0000000000017604 Completed OK # rm -rf /kisskb/build/powerpc-next-rand_powerpc-randconfig_powerpc-gcc9 # Build took: 0:02:19.972755