[Skiboot] [PATCH 0/4] next round of OPAL debugging improvements

Nicholas Piggin npiggin at gmail.com
Sun Apr 8 16:49:35 AEST 2018

The r13 clobber bug has been fixed in Linux upstream now, the next
bit is the skiboot stack corruption caused by re-entry from the OS.

Patches 1-3 have been posted here before in various RFCs. They give
nicer back traces, make quiescing a bit more robust, and stop the
stack from being destroyed, and make quiescing a bit more robust.

Patch 4 is one I've found useful when testing with sreset injection
into various parts of skiboot code.

We can in general interrupt and resume OPAL after this series.
Many specific cases are unlikely to work for other reasons, but
we have a cut down sub-set of OPAL API that we allow through, so
the task of making those reasonably robust should be manageable.


Nicholas Piggin (4):
  core/stack: backtrace unwind basic OPAL call details
  asm/head: implement quiescing without stack or clobbering regs
  core/opal: Emergency stack for re-entry
  core/opal: Allow poller re-entry if OPAL was re-entered

 asm/asm-offsets.c |   2 ++
 asm/head.S        | 100 ++++++++++++++++++++++++++++++++++++++++++++++++------
 core/cpu.c        |  13 ++++---
 core/opal.c       |  53 ++++++++++++-----------------
 core/stack.c      |  46 ++++++++++++++++++++-----
 include/cpu.h     |   3 +-
 include/mem-map.h |  10 +++---
 include/stack.h   |  34 ++++++++++++++++---
 8 files changed, 196 insertions(+), 65 deletions(-)


More information about the Skiboot mailing list