[Skiboot] [PATCH 0/9] p9_stop_api error handling

Stewart Smith stewart at linux.vnet.ibm.com
Mon Jan 15 14:55:54 AEDT 2018


Akshay Adiga <akshay.adiga at linux.vnet.ibm.com> writes:
> From: Akshay Adiga <aks at aksadiga.ibm>
>
> This patch series adds error handling for p9_stop_api. Following are
> the features that the series adds :
>  - stop api calls will only be attempted if there is real reason to do so.
>  - If stop api calls fail at init, deeper states will not be exposed in
> device tree.
>  - stop api calls will be ignored if it does not have deep states enabled
>  and return sucess.
>  - if stop api fails at run time, all futher calls will be returned as
> failure without attempting.
>
>
> There are 3 states that a wakeup_engine can have (wakeup_engine_state) :
> - WAKEUP_ENGINE_NOT_PRESENT : Homer base is not set
> - WAKEUP_ENGINE_FAILED : stop api returned error sometime in the past.
> - WAKEUP_ENGINE_PRESENT : Homer base is present and till now stop api
>  has succeeded
>
> Discover if stop-enabled-bits has any states that requires wakeup engine.
> and set it in the global variable :
> - has_deep_states
>
> if ( has_deep_states == false) :
>  - No need to call stop api.
>
> else if ( wakeup_engine_state != WAKEUP_ENGINE_PRESENT ) :
>  - Return fail without attempting stop api.
>
> else If ( wakeup_engine_state ==  WAKEUP_ENGINE_PRESENT ) : 
>  - Actually call stop api
>  - If it fails, mark wakeup_engine_state = WAKEUP_ENGINE_FAILED
>
> if (wakeup_engine_state == WAKEUP_ENGINE_FAILED) before device-tree creation
>  - set has_deep_states = false;
>  - don't add deep states in device-tree.
>
> Akshay Adiga (9):
>   SLW: Delay cpuidle device-tree creation
>   SLW: Split init functions
>   SLW: Call slw_late_init_p{8,9} only when has_wakeup_engine is set
>   SLW: Use wakeup_engine state to handle errors in wakeup engine
>   SLW: Move MAMBO simulator checks to slw_init
>   SLW: Detect if deep states are enabled
>   SLW: Call p9_stop_api only if deep_states are enabled
>   SCOM restore for DARN and XIVE
>   SLW: Add p9_stop_api calls for IMC
>
>  core/opal.c       |   1 -
>  hw/imc.c          |  40 ++++++++++++++
>  hw/nx.c           |  42 +++++++++++++++
>  hw/slw.c          | 159 ++++++++++++++++++++++++++++++++++--------------------
>  hw/xive.c         |  30 +++++++++++
>  include/skiboot.h |  13 +++++
>  6 files changed, 227 insertions(+), 58 deletions(-)

Thanks, merged to master as of 7def6cdac27f407bbcb15e83699abdb33078447e

-- 
Stewart Smith
OPAL Architect, IBM.



More information about the Skiboot mailing list