From: Nicholas Piggin <npiggin@gmail.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: Nicholas Piggin <npiggin@gmail.com>, Alan Modra <amodra@gmail.com>
Subject: [RFC PATCH 0/9] powerpc/64: Build with PC-Relative addressing
Date: Tue, 27 Dec 2022 19:26:00 +1000 [thread overview]
Message-ID: <20221227092609.2078908-1-npiggin@gmail.com> (raw)
This is a more complete change than my earlier hack. Namely fixed the
boot code so it's more unified rather than adding a special case for
Book3S+PCREL. Lots of bug fixes, and adding some of the ftrace and BPF
trampoline/stubs. And added module support, which might be the most
interesting bit.
This won't see a lot of real use until POWER10 is the oldest supported
CPU for distros, but being as we're quite a unique user of toolchain I'd
like to start ironing things out earlier rather than later. I'm making a
list of observations here, https://github.com/linuxppc/issues/issues/455
and will take them to toolchan developers after the kernel work is a bit
further along.
Thanks,
Nick
Nicholas Piggin (9):
crypto: powerpc - Use address generation helper for asm
powerpc/64s: Refactor initialisation after prom
powerpc/64e: Simplify address calculation in secondary hold loop
powerpc/64: Move initial base and TOC pointer calculation
powerpc/64s: Run at the kernel virtual address earlier in boot
powerpc: add CFUNC assembly label annotation
powerpc/64: Add support to build with prefixed instructions
powerpc/64: vmlinux support building with PCREL addresing
powerpc/64: modules support building with PCREL addresing
arch/powerpc/Kconfig | 6 +
arch/powerpc/Makefile | 10 +
arch/powerpc/crypto/crc32-vpmsum_core.S | 13 +-
arch/powerpc/include/asm/atomic.h | 24 +-
arch/powerpc/include/asm/io.h | 37 +++
arch/powerpc/include/asm/module.h | 9 +-
arch/powerpc/include/asm/paca.h | 2 +
arch/powerpc/include/asm/ppc-opcode.h | 8 +
arch/powerpc/include/asm/ppc_asm.h | 24 ++
arch/powerpc/include/asm/sections.h | 5 +
arch/powerpc/include/asm/uaccess.h | 28 +-
arch/powerpc/include/uapi/asm/elf.h | 4 +
arch/powerpc/kernel/asm-offsets.c | 2 +
arch/powerpc/kernel/exceptions-64s.S | 112 ++++----
arch/powerpc/kernel/head_64.S | 179 +++++++-----
arch/powerpc/kernel/interrupt_64.S | 28 +-
arch/powerpc/kernel/irq.c | 8 +
arch/powerpc/kernel/misc_64.S | 2 +-
arch/powerpc/kernel/module_64.c | 344 ++++++++++++++++++++----
arch/powerpc/kernel/paca.c | 2 +
arch/powerpc/kernel/trace/ftrace.c | 52 +++-
arch/powerpc/kernel/vdso/gettimeofday.S | 6 +-
arch/powerpc/kernel/vector.S | 6 +
arch/powerpc/kernel/vmlinux.lds.S | 6 +
arch/powerpc/kvm/book3s_hv_rmhandlers.S | 16 +-
arch/powerpc/lib/copypage_64.S | 4 +-
arch/powerpc/lib/copypage_power7.S | 4 +-
arch/powerpc/lib/copyuser_power7.S | 8 +-
arch/powerpc/lib/hweight_64.S | 8 +-
arch/powerpc/lib/memcmp_64.S | 4 +-
arch/powerpc/lib/memcpy_power7.S | 6 +-
arch/powerpc/net/bpf_jit.h | 10 +-
arch/powerpc/net/bpf_jit_comp64.c | 35 ++-
arch/powerpc/platforms/Kconfig.cputype | 38 +++
arch/powerpc/platforms/pseries/hvCall.S | 4 +-
arch/powerpc/xmon/xmon.c | 2 +
36 files changed, 793 insertions(+), 263 deletions(-)
--
2.37.2
next reply other threads:[~2022-12-27 9:28 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-27 9:26 Nicholas Piggin [this message]
2022-12-27 9:26 ` [RFC PATCH 1/9] crypto: powerpc - Use address generation helper for asm Nicholas Piggin
2022-12-27 9:26 ` [RFC PATCH 2/9] powerpc/64s: Refactor initialisation after prom Nicholas Piggin
2022-12-27 9:26 ` [RFC PATCH 3/9] powerpc/64e: Simplify address calculation in secondary hold loop Nicholas Piggin
2022-12-27 9:26 ` [RFC PATCH 4/9] powerpc/64: Move initial base and TOC pointer calculation Nicholas Piggin
2022-12-27 9:26 ` [RFC PATCH 5/9] powerpc/64s: Run at the kernel virtual address earlier in boot Nicholas Piggin
2022-12-27 9:26 ` [RFC PATCH 6/9] powerpc: add CFUNC assembly label annotation Nicholas Piggin
2022-12-27 9:26 ` [RFC PATCH 7/9] powerpc/64: Add support to build with prefixed instructions Nicholas Piggin
2022-12-27 9:26 ` [RFC PATCH 8/9] powerpc/64: vmlinux support building with PCREL addresing Nicholas Piggin
2022-12-27 9:26 ` [RFC PATCH 9/9] powerpc/64: modules " Nicholas Piggin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221227092609.2078908-1-npiggin@gmail.com \
--to=npiggin@gmail.com \
--cc=amodra@gmail.com \
--cc=linuxppc-dev@lists.ozlabs.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).