diff options
author | Vipin K Parashar <vipin@linux.vnet.ibm.com> | 2015-07-29 23:28:43 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-07-31 15:32:43 +1000 |
commit | 36c213d95f971804388c336213d636277b0f40f5 (patch) | |
tree | d325c6ebec923a8941315a0c2122fa4e0715de16 /include/opal-api.h | |
parent | c37f122d3ca2e7964f971a98c5acbec9435c5616 (diff) | |
download | blackbird-skiboot-36c213d95f971804388c336213d636277b0f40f5.tar.gz blackbird-skiboot-36c213d95f971804388c336213d636277b0f40f5.zip |
opal-api: Add OPAL call to handle abnormal reboots.
This patch adds a new OPAL call OPAL_CEC_REBOOT2 which will
be used to handle abnormal reboot/termination by kernel host.
This call will allow host kernel to pass reboot type and additional
debug data which needs to be captured/saved somewhere (for later
analysis) before going down.
Currently it will support two reboot types (0). normal reboot, that
will behave similar to that of opal_cec_reboot() call, and
(1). platform error reboot, that will trigger a system checkstop
using xscom address and FIR bit information obtained via device-tree
property 'ibm,sw-checkstop-fir'.
For unsupported reboot type, this call will do nothing and return
with OPAL_UNSUPPORTED.
In future, we can overload this call to support additional reboot types.
Signed-off-by: Vipin K Parashar <vipin@linux.vnet.ibm.com>
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Reviewed-by: Samuel Mendoza-Jonas <sam.mj@au1.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'include/opal-api.h')
-rw-r--r-- | include/opal-api.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/include/opal-api.h b/include/opal-api.h index bfad5896..e22370f7 100644 --- a/include/opal-api.h +++ b/include/opal-api.h @@ -161,7 +161,8 @@ #define OPAL_PRD_MSG 113 #define OPAL_LEDS_GET_INDICATOR 114 #define OPAL_LEDS_SET_INDICATOR 115 -#define OPAL_LAST 115 +#define OPAL_CEC_REBOOT2 116 +#define OPAL_LAST 116 /* Device tree flags */ @@ -972,6 +973,12 @@ struct opal_i2c_request { __be64 buffer_ra; /* Buffer real address */ }; +/* Argument to OPAL_CEC_REBOOT2() */ +enum { + OPAL_REBOOT_NORMAL = 0, + OPAL_REBOOT_PLATFORM_ERROR, +}; + #endif /* __ASSEMBLY__ */ #endif /* __OPAL_API_H */ |