diff options
Diffstat (limited to 'roms/skiboot/doc/opal-api/opal-signal-system-reset-145.rst')
-rw-r--r-- | roms/skiboot/doc/opal-api/opal-signal-system-reset-145.rst | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/roms/skiboot/doc/opal-api/opal-signal-system-reset-145.rst b/roms/skiboot/doc/opal-api/opal-signal-system-reset-145.rst new file mode 100644 index 000000000..98baef72a --- /dev/null +++ b/roms/skiboot/doc/opal-api/opal-signal-system-reset-145.rst @@ -0,0 +1,59 @@ +.. _OPAL_SIGNAL_SYSTEM_RESET: + +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 SRR1 register will indicate a power-saving wakeup when appropriate, +and the wake reason will be System Reset (see Power ISA). + +This interrupt may not be recoverable in some cases (e.g., if it is +raised when the target has MSR[RI]=0), so it should not be used in +normal operation, but only for crashing, debugging, and similar +exceptional cases. + +OPAL_SIGNAL_SYSTEM_RESET can pull CPUs out of OPAL, which may be +undesirable in a crash or shutdown situation (e.g., because they may +hold locks which are required to access the console, or may be halfway +through setting hardware registers), so OPAL_QUIESCE can be used +before OPAL_SIGNAL_SYSTEM_RESET to (attempt to) ensure all CPUs are +out of OPAL before being interrupted. + +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 system reset requests to target CPU(s) was successful. This returns + asynchronously without acknowledgement from targets that system reset + interrupt processing has completed or even started. + +OPAL_PARAMETER + A parameter was incorrect. + +OPAL_HARDWARE + Hardware indicated failure during reset, some or all of the target CPUs + may have the system reset delivered. + +OPAL_CONSTRAINED + Platform does not support broadcast operations. + +OPAL_PARTIAL + Platform can not reset sibling threads on the same core as requested. + None of the specified CPUs are reset in this case. + +OPAL_UNSUPPORTED + This processor/platform is not supported. + |