diff options
author | Stewart Smith <stewart@linux.ibm.com> | 2019-05-31 16:13:44 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2019-06-03 10:20:00 +1000 |
commit | 227c81905887c1e6136c64503d5b33456c418a4d (patch) | |
tree | c13b307092df45b3d6e4f355e2464134c0e0f224 /doc/opal-api | |
parent | 9d3a0036ed414877fcbeab4bcc2a10628d2079a7 (diff) | |
download | skiboot-227c81905887c1e6136c64503d5b33456c418a4d.zip skiboot-227c81905887c1e6136c64503d5b33456c418a4d.tar.gz skiboot-227c81905887c1e6136c64503d5b33456c418a4d.tar.bz2 |
doc: Document OPAL_GET_PARAM and OPAL_SET_PARAM
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'doc/opal-api')
-rw-r--r-- | doc/opal-api/opal-param-89-90.rst | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/doc/opal-api/opal-param-89-90.rst b/doc/opal-api/opal-param-89-90.rst new file mode 100644 index 0000000..1d1ceda --- /dev/null +++ b/doc/opal-api/opal-param-89-90.rst @@ -0,0 +1,84 @@ +.. _opal-sysparams: + +========================= +Get/Set System Parameters +========================= + +The usual way for setting system parameters is via IPMI for things controlled +by the service processor, or through NVRAM for things controlled by host +firmware. However, some platforms may have other options not easily (or +possible to be) exposed over IPMI. These OPAL calls will read (and write) +these parameters. + +The list of parameters is set at boot time, and is represented in the device +tree (see :ref:`device-tree/ibm,opal/sysparams` for details). + +Currently only implemented on FSP based systems. + +.. _OPAL_GET_PARAM: + +OPAL_GET_PARAM +============== + +.. code-block:: c + + #define OPAL_GET_PARAM 89 + + int64_t fsp_opal_get_param(uint64_t async_token, uint32_t param_id, + uint64_t buffer, uint64_t length); + +Get the current setting of `param_id`. This is an asynchronous call as OPAL may +need to communicate with a service processor. The `param_id` and `length` are +described in the device tree for each parameter (see +:ref:`device-tree/ibm,opal/sysparams` for details). + +Returns +------- +:ref:`OPAL_HARDWARE` + Hardware issue prevents retreiving parameter. e.g. FSP is offline or + absent. +:ref:`OPAL_PARAMETER` + Invalid `param_id` +:ref:`OPAL_PERMISSION` + Not allowed to read parameter. +:ref:`OPAL_NO_MEM` + Not enough free memory in OPAL to process request. +:ref:`OPAL_INTERNAL_ERROR` + Other internal OPAL error +:ref:`OPAL_ASYNC_COMPLETION` + Request is submitted. + +.. _OPAL_SET_PARAM: + +OPAL_SET_PARAM +============== + +.. code-block:: c + + #define OPAL_SET_PARAM 90 + + int64_t fsp_opal_set_param(uint64_t async_token, uint32_t param_id, + uint64_t buffer, uint64_t length); + + +Write a new setting for `param_id`. This is an asynchronous call as OPAL may +need to communicate with a service processor. The `param_id` and `length` are +described in the device tree for each parameter (see +:ref:`device-tree/ibm,opal/sysparams` for details). + + +Returns +------- +:ref:`OPAL_HARDWARE` + Hardware issue prevents retreiving parameter. e.g. FSP is offline or + absent. +:ref:`OPAL_PARAMETER` + Invalid `param_id` +:ref:`OPAL_PERMISSION` + Not allowed to write parameter. +:ref:`OPAL_NO_MEM` + Not enough free memory in OPAL to process request. +:ref:`OPAL_INTERNAL_ERROR` + Other internal OPAL error +:ref:`OPAL_ASYNC_COMPLETION` + Request is submitted. |