This series moves more stuff to C, and fixes context tracking on 64s. Nicholas Piggin (12): powerpc/64s: move the last of the page fault handling logic to C powerpc: remove arguments from interrupt handler functions powerpc: interrupt handler wrapper functions powerpc: add interrupt_cond_local_irq_enable helper powerpc/64s: Do context tracking in interrupt entry wrapper powerpc/64s: reconcile interrupts in C powerpc/64: move account_stolen_time into its own function powerpc/64: entry cpu time accounting in C powerpc: move NMI entry/exit code into wrapper powerpc/64s: move NMI soft-mask handling to C powerpc/64s: runlatch interrupt handling in C powerpc/64s: power4 nap fixup in C
arch/powerpc/Kconfig | 2 +- arch/powerpc/include/asm/asm-prototypes.h | 28 -- arch/powerpc/include/asm/bug.h | 2 +- arch/powerpc/include/asm/cputime.h | 15 + arch/powerpc/include/asm/hw_irq.h | 9 - arch/powerpc/include/asm/interrupt.h | 316 ++++++++++++++++++++++ arch/powerpc/include/asm/ppc_asm.h | 24 -- arch/powerpc/include/asm/processor.h | 1 + arch/powerpc/include/asm/thread_info.h | 6 + arch/powerpc/include/asm/time.h | 2 + arch/powerpc/kernel/dbell.c | 3 +- arch/powerpc/kernel/exceptions-64e.S | 3 - arch/powerpc/kernel/exceptions-64s.S | 307 ++------------------- arch/powerpc/kernel/idle_book3s.S | 4 + arch/powerpc/kernel/irq.c | 3 +- arch/powerpc/kernel/mce.c | 17 +- arch/powerpc/kernel/ptrace/ptrace.c | 4 - arch/powerpc/kernel/signal.c | 4 - arch/powerpc/kernel/syscall_64.c | 24 +- arch/powerpc/kernel/tau_6xx.c | 2 +- arch/powerpc/kernel/time.c | 3 +- arch/powerpc/kernel/traps.c | 198 ++++++-------- arch/powerpc/kernel/watchdog.c | 15 +- arch/powerpc/kvm/book3s_hv_builtin.c | 1 + arch/powerpc/mm/book3s64/hash_utils.c | 82 ++++-- arch/powerpc/mm/book3s64/slb.c | 12 +- arch/powerpc/mm/fault.c | 74 ++++- arch/powerpc/platforms/powernv/idle.c | 1 + 28 files changed, 608 insertions(+), 554 deletions(-) create mode 100644 arch/powerpc/include/asm/interrupt.h -- 2.23.0