powerpc/ftrace: Extend ftrace support for large kernels to ppc32
authorNaveen N Rao <naveen@kernel.org>
Mon, 19 Jun 2023 09:47:24 +0000 (15:17 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 21 Aug 2023 14:09:05 +0000 (00:09 +1000)
commitf3993a0330e2d11e42c095810c6c33084024df46
tree26349ad0cb0e140963ed96fda394b6a9e994f21a
parentb5efb61c70f8ba9b1e168185530b9c7342184a4c
powerpc/ftrace: Extend ftrace support for large kernels to ppc32

Commit 67361cf8071286 ("powerpc/ftrace: Handle large kernel configs")
added ftrace support for ppc64 kernel images with a text section larger
than 32MB. The approach itself isn't specific to ppc64, so extend the
same to also work on ppc32.

While at it, reduce the space reserved for the stub from 64 bytes to 32
bytes since the different stub variants are all less than 8
instructions.

To reduce use of #ifdef, a stub implementation is provided for
kernel_toc_address() and -SZ_2G is cast to 'long long' to prevent
errors on ppc32.

Signed-off-by: Naveen N Rao <naveen@kernel.org>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/9fa3258cbb9105cf8a0a8135214d44ffbc75fe84.1687166935.git.naveen@kernel.org
arch/powerpc/include/asm/ftrace.h
arch/powerpc/include/asm/sections.h
arch/powerpc/kernel/trace/ftrace.c
arch/powerpc/kernel/trace/ftrace_low.S
arch/powerpc/kernel/vmlinux.lds.S