[Skiboot] [PATCH 00/16] assorted MCE and SRESET handling and reporting

Nicholas Piggin npiggin at gmail.com
Tue Jan 8 01:04:12 AEDT 2019

There is a motley assortment of precursor patches 1-8 that I ended
up writing while implementing and testing the others, each one of
these is independent and could be cherry-picked. The only real bug
fix is patch 1.

The rest of the series basically tries to improve handling of the non
maskable interrupts MCE and SRESET, basically reducing cases where
MSR[ME]=1, properly handle MCE from power saving mode, reporting SRESET
interrupts with a register dump, reducing windows where an NMI will
crash due to vectors or SPRs being out of synch.

By the end of the series, we have the capability to handle and return
from interrupts, and that is actually done in the case of SRESET
interrupts. All others are still fatal, however this opens the
possibility to contiue after a recoverable MCE, take virtual memory
faults, implement a decrementer watchdog, etc.


Nicholas Piggin (16):
  core/cpu: HID update race
  external/mambo: allow CPU targeting for most debug utils
  core/init: rename setup_reset_vector
  core/cpu: do not inline cpu_relax
  core/exceptions: save current MSR in exception frame
  asm/head: use HSRR exception registers in FIXUP_ENDIAN
  core: hardcode P9 large decrementer width
  core/init: rearrange final boot steps
  core/fast-reboot: improve NMI handling during fast reset
  core/init: enable machine check on secondaries
  asm/head: provide asm support for interrupts to be returned from
  core/fast-reboot: fast reboot specific sreset patch
  asm/head: sreset handler remove FIXUP_ENDIAN
  core/exceptions: implement an exception handler for non-powersave
  core/exceptions: allow recoverable sreset exceptions
  core/exceptions: implement support for MCE interrupts in powersave

 asm/asm-offsets.c              |   7 +
 asm/head.S                     | 209 +++++++++++++++------
 core/cpu.c                     | 102 ++++++-----
 core/exceptions.c              | 124 ++++++++++---
 core/fast-reboot.c             |  55 +++++-
 core/init.c                    |  81 ++++++--
 external/mambo/mambo_utils.tcl | 326 +++++++++++++++++++++++----------
 include/asm-utils.h            |  12 ++
 include/cpu.h                  |  12 +-
 include/processor.h            |   5 +
 include/skiboot.h              |  15 +-
 include/stack.h                |   1 +
 12 files changed, 684 insertions(+), 265 deletions(-)


More information about the Skiboot mailing list