Having two sets of macros for saving and restoring registers on exceptions doesn't seem optimal to me. Therefore this patch set removes the old macros that use the lowcore as storage in favor of the stack using ones. At the same time we move over to generated offsets instead of subtracting from the stack piece by piece. Changes to the stack struct are easier that way. Additionally let's add backtrace support and print the GRs on exception so we get a bit more information when something goes wrong. Janosch Frank (8): s390x: Fix fpc store address in RESTORE_REGS_STACK s390x: Fully commit to stack save area for exceptions RFC: s390x: Define STACK_FRAME_INT_SIZE macro s390x: Introduce and use CALL_INT_HANDLER macro s390x: Provide preliminary backtrace support s390x: Print more information on program exceptions s390x: Move diag308_load_reset to stack saving s390x: Remove SAVE/RESTORE_stack lib/s390x/asm-offsets.c | 15 +++++-- lib/s390x/asm/arch_def.h | 29 ++++++++++--- lib/s390x/asm/interrupt.h | 4 +- lib/s390x/interrupt.c | 43 +++++++++++++++--- lib/s390x/stack.c | 20 ++++++--- s390x/Makefile | 1 + s390x/cpu.S | 6 ++- s390x/cstart64.S | 25 +++-------- s390x/macros.S | 91 +++++++++++++++++++-------------------- 9 files changed, 140 insertions(+), 94 deletions(-) -- 2.25.1