[PATCH 0/5] powerpc/64: avoid GOT addressing, don't put data in TOC
Nicholas Piggin
npiggin at gmail.com
Fri Sep 23 13:25:07 AEST 2022
This is a cleaned up set of the initial prep patches from the pcrel
series, dealing with regularising addressing variables from asm
and using helper macros more consistently.
Nothing really new, this is more complete, splits out the changes
more logically, adds changelog/comments, and avoids touching ppc32
much (only slight comment change and interrupt stack magic number
change).
Patch 2 is probably actually required before we make the TOC readonly
at runtime, because there is one case (hcall_tracepoint_refcount)
that puts read-write data in the TOC section.
Thanks,
Nick
Nicholas Piggin (5):
powerpc/64: use 32-bit immediate for STACK_FRAME_REGS_MARKER
powerpc/64: asm use consistent global variable declaration and access
powerpc/64: switch asm helpers from GOT to TOC relative addressing
powerpc/64: provide a helper macro to load r2 with the kernel TOC
powerpc/64e: provide an addressing macro for use with TOC in alternate
register
arch/powerpc/boot/opal-calls.S | 6 ++--
arch/powerpc/boot/ppc_asm.h | 10 ++++++
arch/powerpc/include/asm/ppc_asm.h | 20 ++++++++++-
arch/powerpc/include/asm/ptrace.h | 5 +--
arch/powerpc/kernel/entry_32.S | 6 ++--
arch/powerpc/kernel/exceptions-64e.S | 34 ++++++++-----------
arch/powerpc/kernel/exceptions-64s.S | 8 ++---
arch/powerpc/kernel/head_64.S | 11 ++----
arch/powerpc/kernel/interrupt_64.S | 28 +++++----------
arch/powerpc/kernel/optprobes_head.S | 2 +-
arch/powerpc/kernel/swsusp_asm64.S | 16 +++------
arch/powerpc/kernel/trace/ftrace_low.S | 2 +-
arch/powerpc/kernel/trace/ftrace_mprofile.S | 6 ++--
arch/powerpc/kernel/vector.S | 15 ++++----
arch/powerpc/kvm/book3s_64_entry.S | 2 +-
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 4 +--
arch/powerpc/kvm/tm.S | 2 +-
arch/powerpc/lib/copypage_64.S | 7 +---
arch/powerpc/lib/string_64.S | 7 +---
arch/powerpc/mm/nohash/tlb_low_64e.S | 4 +--
arch/powerpc/perf/bhrb.S | 2 +-
.../powerpc/platforms/powernv/opal-wrappers.S | 2 +-
arch/powerpc/platforms/pseries/hvCall.S | 4 +--
arch/powerpc/xmon/spr_access.S | 4 +--
24 files changed, 97 insertions(+), 110 deletions(-)
--
2.37.2
More information about the Linuxppc-dev
mailing list