My interrupt entry patches have finally collided with syscall and interrupt exit patches, so I'll merge the series. Most patches have been seen already, however there have been a number of small changes and fixes throughout the series.
The final two patches add support for 'scv' and 'rfscv' instructions. I'm posting this out now so we can start considering ABI and userspace support. We have the PPC_FEATURE2_SCV hwcap for this. Thanks, Nick Nicholas Piggin (27): powerpc/64s/exception: Introduce INT_DEFINE parameter block for code generation powerpc/64s/exception: Add GEN_COMMON macro that uses INT_DEFINE parameters powerpc/64s/exception: Add GEN_KVM macro that uses INT_DEFINE parameters powerpc/64s/exception: Expand EXC_COMMON and EXC_COMMON_ASYNC macros powerpc/64s/exception: Move all interrupt handlers to new style code gen macros powerpc/64s/exception: Remove old INT_ENTRY macro powerpc/64s/exception: Remove old INT_COMMON macro powerpc/64s/exception: Remove old INT_KVM_HANDLER powerpc/64s/exception: Add ISIDE option powerpc/64s/exception: move real->virt switch into the common handler powerpc/64s/exception: move soft-mask test to common code powerpc/64s/exception: move KVM test to common code powerpc/64s/exception: remove confusing IEARLY option powerpc/64s/exception: remove the SPR saving patch code macros powerpc/64s/exception: trim unused arguments from KVMTEST macro powerpc/64s/exception: hdecrementer avoid touching the stack powerpc/64s/exception: re-inline some handlers powerpc/64s/exception: Clean up SRR specifiers powerpc/64s/exception: add more comments for interrupt handlers powerpc/64s/exception: only test KVM in SRR interrupts when PR KVM is supported powerpc/64s/exception: soft nmi interrupt should not use ret_from_except powerpc/64: system call remove non-volatile GPR save optimisation powerpc/64: system call implement the bulk of the logic in C powerpc/64s: interrupt return in C powerpc/64s/exception: remove lite interrupt return powerpc/64s/exception: treat NIA below __end_interrupts as soft-masked powerpc/64s: system call support for scv/rfscv instructions arch/powerpc/include/asm/asm-prototypes.h | 11 - .../powerpc/include/asm/book3s/64/kup-radix.h | 24 +- arch/powerpc/include/asm/cputime.h | 24 + arch/powerpc/include/asm/exception-64s.h | 4 - arch/powerpc/include/asm/head-64.h | 2 +- arch/powerpc/include/asm/hw_irq.h | 4 + arch/powerpc/include/asm/ppc_asm.h | 2 + arch/powerpc/include/asm/processor.h | 2 +- arch/powerpc/include/asm/ptrace.h | 3 + arch/powerpc/include/asm/signal.h | 3 + arch/powerpc/include/asm/switch_to.h | 11 + arch/powerpc/include/asm/time.h | 4 +- arch/powerpc/kernel/Makefile | 3 +- arch/powerpc/kernel/cpu_setup_power.S | 2 +- arch/powerpc/kernel/dt_cpu_ftrs.c | 1 + arch/powerpc/kernel/entry_64.S | 964 ++------ arch/powerpc/kernel/exceptions-64e.S | 254 +- arch/powerpc/kernel/exceptions-64s.S | 2046 ++++++++++++----- arch/powerpc/kernel/process.c | 2 + arch/powerpc/kernel/signal.h | 2 - arch/powerpc/kernel/syscall_64.c | 422 ++++ arch/powerpc/kernel/syscalls/syscall.tbl | 22 +- arch/powerpc/kernel/systbl.S | 9 +- arch/powerpc/kernel/time.c | 9 - arch/powerpc/kernel/vector.S | 2 +- arch/powerpc/kvm/book3s_hv_rmhandlers.S | 11 - arch/powerpc/kvm/book3s_segment.S | 7 - 27 files changed, 2458 insertions(+), 1392 deletions(-) create mode 100644 arch/powerpc/kernel/syscall_64.c -- 2.23.0