blob: 64ecdee4544e98e8a5890cc701b1dff0badf1849 [file] [log] [blame]
OPAL_SLW_SET_REG
==============================
::
int64_t opal_slw_set_reg(uint64_t cpu_pir, uint64_t sprn, uint64_t val)
OPAL_SLW_SET_REG is used to inform low-level firmware to restore a
given value of SPR when there is a state loss. The actual set of SPR
that is supported is platform dependent.
In Power 8, it uses p8_pore_gen_cpufreq_fixed(), api provided by pore engine,
to inform the spr with their corresponding values with which they
must be restored.
In Power 9, it uses p9_stop_save_cpureg(), api provided by self restore code,
to inform the spr with their corresponding values with which they
must be restored.
Parameters
----------
``uint64_t cpu_pir``
This parameter specifies the pir of the cpu for which the call is being made.
``uint64_t sprn``
This parameter specifies the spr number as mentioned in p9_stop_api.H for
Power9 and p8_pore_table_gen_api.H for Power8.
``uint64_t val``
This parameter specifices value with which the spr should be restored.
Returns
-------
``OPAL_INTERNAL_ERROR``
On failure. The actual error code from the platform specific code is logged in the OPAL logs
``OPAL_UNSUPPORTED``
In power8 only, if spr restore is not supported by pore engine.
``OPAL_SUCCESS``
On success