diff options
author | Nicholas Piggin <npiggin@gmail.com> | 2017-02-08 18:34:16 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-03-07 15:40:20 +1100 |
commit | 139e32d139103fc7fcb2121146c89edb9f40c55f (patch) | |
tree | 81488319384125d77350c3eb4c2237132977e0ab /doc/opal-api | |
parent | 28e96ffaba8b659f48312bdcea35a1403310fba3 (diff) | |
download | skiboot-139e32d139103fc7fcb2121146c89edb9f40c55f.zip skiboot-139e32d139103fc7fcb2121146c89edb9f40c55f.tar.gz skiboot-139e32d139103fc7fcb2121146c89edb9f40c55f.tar.bz2 |
System reset IPI facility and Mambo implementation
Add an opal call OPAL_SIGNAL_SYSTEM_RESET which allows system reset
exceptions to be raised on other CPUs and act as an NMI IPI. There
is an initial simple Mambo implementation, but allowances are made
for a more complex hardware implementation.
This API is based on the POWER8 implementation from Alistair Popple.
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[stewart@linux.vnet.ibm.com: minor RST fix]
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'doc/opal-api')
-rw-r--r-- | doc/opal-api/opal-signal-system-reset-145.rst | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/doc/opal-api/opal-signal-system-reset-145.rst b/doc/opal-api/opal-signal-system-reset-145.rst new file mode 100644 index 0000000..4c1ee93 --- /dev/null +++ b/doc/opal-api/opal-signal-system-reset-145.rst @@ -0,0 +1,44 @@ +OPAL_SIGNAL_SYSTEM_RESET +======================== +:: + + int64_t signal_system_reset(int32_t cpu_nr); + +This OPAL call causes the specified cpu(s) to be reset to the system +reset exception handler (0x100). + +The exact contents of system registers (e.g., SRR1 wakeup causes) may +vary depending on implementation and should not be relied upon. + +Resetting active threads on the same core as this call is run may +not be supported by some platforms. In that case, OPAL_PARTIAL will be +returned and NONE of the interrupts will be delivered. + +Arguments +--------- +:: + + int32_t cpu_nr + cpu_nr >= 0 The cpu server number of the target cpu to reset. + SYS_RESET_ALL (-1) All cpus should be reset. + SYS_RESET_ALL_OTHERS (-2) All but the current cpu should be reset. + +Returns +------- +OPAL_SUCCESS + The power down was updated successful. + +OPAL_PARAMETER + A parameter was incorrect. + +OPAL_HARDWARE + Hardware indicated failure during reset. + +OPAL_PARTIAL + Platform can not reset all requested CPUs at this time. This requires + platform-specific code to work around, otherwise to be treated as + failure. No CPUs are reset. + +OPAL_UNSUPPORTED + This processor/platform is not supported. + |