# git rev-parse -q --verify 2b42c8057a19768a3f203feee8fe16965ff119b5^{commit} 2b42c8057a19768a3f203feee8fe16965ff119b5 already have revision, skipping fetch # git checkout -q -f -B kisskb 2b42c8057a19768a3f203feee8fe16965ff119b5 # git clean -qxdf # < git log -1 # commit 2b42c8057a19768a3f203feee8fe16965ff119b5 # Author: Nathan Lynch # Date: Fri Feb 10 12:42:08 2023 -0600 # # powerpc/rtas: arch-wide function token lookup conversions # # With the tokens for all implemented RTAS functions now available via # rtas_function_token(), which is optimal and safe for arbitrary # contexts, there is no need to use rtas_token() or cache its result. # # Most conversions are trivial, but a few are worth describing in more # detail: # # * Error injection token comparisons for lockdown purposes are # consolidated into a simple predicate: token_is_restricted_errinjct(). # # * A couple of special cases in block_rtas_call() do not use # rtas_token() but perform string comparisons against names in the # function table. These are converted to compare against token values # instead, which is logically equivalent but less expensive. # # * The lookup for the ibm,os-term token can be deferred until needed, # instead of caching it at boot to avoid device tree traversal during # panic. # # * Since rtas_function_token() accesses a read-only data structure # without taking any locks, xmon's lookup of set-indicator can be # performed as needed instead of cached at startup. # # Signed-off-by: Nathan Lynch # Signed-off-by: Michael Ellerman # Link: https://lore.kernel.org/r/20230125-b4-powerpc-rtas-queue-v3-20-26929c8cce78@linux.ibm.com # < /opt/cross/kisskb/korg/gcc-12.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-gcc --version # < /opt/cross/kisskb/korg/gcc-12.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux-ld --version # < git log --format=%s --max-count=1 2b42c8057a19768a3f203feee8fe16965ff119b5 # < make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc6xx_defconfig_powerpc-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- ppc6xx_defconfig # < make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc6xx_defconfig_powerpc-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- help # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc6xx_defconfig_powerpc-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- olddefconfig # make -s -j 160 ARCH=powerpc O=/kisskb/build/powerpc-next_ppc6xx_defconfig_powerpc-gcc12 CROSS_COMPILE=/opt/cross/kisskb/korg/gcc-12.2.0-nolibc/powerpc64-linux/bin/powerpc64-linux- arch/powerpc/kernel/optprobes_head.o: warning: objtool: optprobe_template_end(): can't find starting instruction Completed OK # rm -rf /kisskb/build/powerpc-next_ppc6xx_defconfig_powerpc-gcc12 # Build took: 0:04:34.742686