Subject: [RFC PATCH 00/12] interrupt entry wrappers

From: Nicholas Piggin <[email-masked]>
Date: Sun, 6 Sep 2020 03:43:23 +1000

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