diff options
author | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-07-14 16:52:55 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2016-07-14 16:52:55 +1000 |
commit | 5eea6c650a3a2bff2d382e3fd1f62316c18c998b (patch) | |
tree | 350dbc176d961c0f12e3ac4ca7372d04d63b3dbc | |
parent | ee8d135aa92de252d3f79034f829e3579e6a122f (diff) | |
download | skiboot-5eea6c650a3a2bff2d382e3fd1f62316c18c998b.zip skiboot-5eea6c650a3a2bff2d382e3fd1f62316c18c998b.tar.gz skiboot-5eea6c650a3a2bff2d382e3fd1f62316c18c998b.tar.bz2 |
Document OPAL_RETURN_CPU and OPAL_REINIT_CPUS
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
-rw-r--r-- | doc/opal-api/opal-reinit-cpus-70.txt | 27 | ||||
-rw-r--r-- | doc/opal-api/opal-return-cpu-69.txt | 17 |
2 files changed, 44 insertions, 0 deletions
diff --git a/doc/opal-api/opal-reinit-cpus-70.txt b/doc/opal-api/opal-reinit-cpus-70.txt new file mode 100644 index 0000000..27f6f2e --- /dev/null +++ b/doc/opal-api/opal-reinit-cpus-70.txt @@ -0,0 +1,27 @@ +OPAL_REINIT_CPUS +---------------- + +static int64_t opal_reinit_cpus(uint64_t flags); + +This OPAL call reinitializes some bit of CPU state across *ALL* CPUs. +Consequently, all CPUs must be in OPAL for this call to succeed (either +at boot time or after OPAL_RETURN_CPU is called) + +Arguments: +Currently, possible flags are: +enum { + OPAL_REINIT_CPUS_HILE_BE = (1 << 0), + OPAL_REINIT_CPUS_HILE_LE = (1 << 1), +}; + +Extra flags may be added in the future, so other bits *must* be 0. + +On POWER7 CPUs, only OPAL_REINIT_CPUS_HILE_BE is supported. All other +flags will return OPAL_UNSUPPORTED. + +On POWER8 CPUs, only OPAL_REINIT_CPUS_HILE_BE and OPAL_REINIT_CPUS_HILE_LE +are support and other bits *MUST NOT* be set. + +Returns: +- OPAL_SUCCESS +- OPAL_UNSUPPORTED diff --git a/doc/opal-api/opal-return-cpu-69.txt b/doc/opal-api/opal-return-cpu-69.txt new file mode 100644 index 0000000..db54cae --- /dev/null +++ b/doc/opal-api/opal-return-cpu-69.txt @@ -0,0 +1,17 @@ +OPAL_RETURN_CPU +--------------- + +int64_t opal_return_cpu(void); + +When OPAL first starts the host, all secondary CPUs are spinning in OPAL. +To start them, one must call OPAL_START_CPU (you may want to OPAL_REINIT_CPU +to set the HILE bit first). + +In cases where you need OPAL to do something for you across all CPUs, such +as OPAL_REINIT_CPU, (on some platforms) a firmware update or get the machine +back into a similar state as to when the host OS was started (e.g. for kexec) +you may also need to return control of the CPU to OPAL. + + +Returns: +- this call does not return. You need to OPAL_START_CPU. |