[Skiboot] [RFC PATCH 0/3] add support for quiescing OPAL

Nicholas Piggin npiggin at gmail.com
Sun Oct 22 21:06:45 AEDT 2017


This is a bit more complete implementation of the idea. The biggest
problem is that system reset can interrupt OPAL, and it might be holding
locks or something that prevents progress of another CPU that is trying
to handle errors, print messages, or shut down the system.

fast-reboot is an example of where OPAL wants to quiesce itself.
Debugging and shutdown with OPAL_SIGNAL_SYSTEM_RESET is an example of
where Linux would like to quiesce OPAL. I have some Linux patches for
that.

This is still an RFC at the moment. Havne't tested fast-reboot yet,
for one. For another we may want to do the entry/exit differently,
what I did was pretty basic.

Thanks,
Nick

Nicholas Piggin (3):
  core/lock: Introduce atomic cmpxchg and implement try_lock with it
  core/lock: improve bust_locks
  core: Add support for quiescing OPAL

 asm/Makefile.inc                              |   2 +-
 asm/head.S                                    |  32 +----
 asm/lock.S                                    |  43 ------
 core/cpu.c                                    |   5 +
 core/fast-reboot.c                            |  21 ++-
 core/lock.c                                   |  29 +++-
 core/opal.c                                   | 183 ++++++++++++++++++++++++--
 core/platform.c                               |   4 +
 doc/opal-api/opal-quiesce-158.rst             |  54 ++++++++
 doc/opal-api/opal-signal-system-reset-145.rst |   7 +
 include/cpu.h                                 |   2 +
 include/lock.h                                |  58 +++++++-
 include/opal-api.h                            |   8 +-
 include/opal-internal.h                       |   2 +
 14 files changed, 352 insertions(+), 98 deletions(-)
 delete mode 100644 asm/lock.S
 create mode 100644 doc/opal-api/opal-quiesce-158.rst

-- 
2.13.3



More information about the Skiboot mailing list