Subject: [PATCH 0/5] rework bad stack, sreset, hmi handling

From: Nicholas Piggin <[email-masked]>
Date: Fri, 28 Jun 2019 16:33:17 +1000

These are some significant changes to generated code here, again
with the aim of simplifying and improving code sharing.

Patches 1, 2-3, and 4-5 are independent in case any run into problems.

Last big thing to do is machine check I'll try to send out tonight.
After that we can start more unwinding of macros.

[ BTW, the end game here is that each handler should be able to more or
  less specify _what_ it wants to do in macro flags, and the generation
  that takes care of _how_ will mostly be in a single place. e.g.,
  Rather than some magic combination of EXCEPTION_<number>, it will just
  specify that it wants an early realmode handler with an alternate stack. ]

Nicholas Piggin (5):
  powerpc/64s/exception: remove bad stack branch
  powerpc/64s/exception: optimise system_reset for idle, clean up
    non-idle case
  powerpc/64s/exception: sreset move trampoline ahead of common code
  powerpc/64s/exception: hmi remove special case macro
  powerpc/64s/exception: simplify hmi control flow

 arch/powerpc/include/asm/exception-64s.h |   7 -
 arch/powerpc/include/asm/paca.h          |   2 +
 arch/powerpc/kernel/asm-offsets.c        |   2 +
 arch/powerpc/kernel/exceptions-64s.S     | 231 ++++++++---------------
 arch/powerpc/xmon/xmon.c                 |   2 +
 5 files changed, 86 insertions(+), 158 deletions(-)

-- 
2.20.1