[Skiboot] [PATCH v3 00/29] the big fast reboot series, now with p9 support
Nicholas Piggin
npiggin at gmail.com
Wed Nov 29 16:36:38 AEDT 2017
POWER9 was so close to working that I got a bunch of monkeys with
typewriters to write xive reset code until it worked. The P9 fast
reboot is very experimental and will probably break if you sneeze
at it, but it works reliably for my very specific conditions so I
think it's a good start for others to test and attack remaining
missing bits. So I think it's worth merging.
Since last time, other than p9 support, a smattering of pretty minor
cleanups or fixes. Also fixed mambo support for fast reboot and
enabled it by default, which actually turned out to be helpful in
diagnosing a bug I had.
Thanks,
Nick
Nicholas Piggin (29):
fast-reboot: restore SMT priority on spin loop exit
fast-reboot: factor out direct control loops for sreset
fast-reboot: remove last man standing logic
fast-reboot: clean up some common cpu iteration processes with macros
fast-reboot: factor out the mambo sreset code
fast-reboot: add sreset_all_others error handling
fast-reboot: make spin loops consistent and SMT friendly
fast-reboot: add sreset timeout detection and handling
fast-reboot: add more barriers around cpu state changes
fast-reboot: remove delay after sreset
fast-reboot: inline fast_reset_p8 into fast_reboot
fast-reboot: move de-asserting of special wakeups to the initiator
fast-reboot: allow mambo fast reboot independent of CPU type
fast-reboot: move sreset direct controls to direct-controls.c
direct-controls: change p8_sreset_all_others sequence
direct-controls: p8 implementation of generic direct controls
direct-controls: add xscom error handling for p8
core/lock: Introduce atomic cmpxchg and implement try_lock with it
core/lock: improve bust_locks
asm/head: add entry/exit calls
asm/head: move opal entry token check into C
core/opal: always verify cpu->pir on entry
core: Add support for quiescing OPAL
fast-reboot: quiesce opal before initiating a fast reboot
fast-reboot: improve failure error messages
fast-reboot: move fdt freeing into init
fast-reboot: move boot CPU cleanup logically together with secondaries
fast-reboot: bare bones fast reboot implementation for POWER9
direct-controls: enable fast reboot direct controls for mambo
asm/Makefile.inc | 2 +-
asm/head.S | 35 +-
core/chip.c | 2 +-
core/cpu.c | 36 ++
core/direct-controls.c | 367 ++++++++++++++++++-
core/fast-reboot.c | 507 +++++++-------------------
core/init.c | 22 +-
core/lock.c | 29 +-
core/opal.c | 208 ++++++++++-
core/platform.c | 6 +
doc/opal-api/opal-quiesce-158.rst | 59 +++
doc/opal-api/opal-signal-system-reset-145.rst | 7 +
hw/xive.c | 39 +-
include/cpu.h | 12 +
asm/lock.S => include/direct-controls.h | 36 +-
include/interrupts.h | 1 +
include/lock.h | 58 ++-
include/opal-api.h | 9 +-
include/opal-internal.h | 2 +
include/xive.h | 1 +
20 files changed, 978 insertions(+), 460 deletions(-)
create mode 100644 doc/opal-api/opal-quiesce-158.rst
rename asm/lock.S => include/direct-controls.h (56%)
--
2.15.0
More information about the Skiboot
mailing list