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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.