diff options
author | Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com> | 2015-03-05 10:35:53 +0530 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2015-03-17 14:54:49 +1100 |
commit | 8b196e828f7a2c8258f7fae9fb45d857eacaa76e (patch) | |
tree | 2e21a781e156165f12b7624753447214b9ce80c4 /doc | |
parent | a953795d2b4ed8accdb87c6535228946b66b7f1f (diff) | |
download | skiboot-8b196e828f7a2c8258f7fae9fb45d857eacaa76e.zip skiboot-8b196e828f7a2c8258f7fae9fb45d857eacaa76e.tar.gz skiboot-8b196e828f7a2c8258f7fae9fb45d857eacaa76e.tar.bz2 |
opal: Update doc/opal-api/opal-messages.txt
Update doc/opal-api/opal-messages.txt to add more documentation on the HMI
event structure.
Signed-off-by: Mahesh Salgaonkar <mahesh@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'doc')
-rw-r--r-- | doc/opal-api/opal-messages.txt | 46 |
1 files changed, 41 insertions, 5 deletions
diff --git a/doc/opal-api/opal-messages.txt b/doc/opal-api/opal-messages.txt index 1091d8b..fdde247 100644 --- a/doc/opal-api/opal-messages.txt +++ b/doc/opal-api/opal-messages.txt @@ -52,9 +52,28 @@ params[0] = 0x01 reboot, 0x00 shutdown OPAL_MSG_HMI_EVT ---------------- -Sends the OPAL HMI Event to the host OS +Used by OPAL to sends the OPAL HMI Event to the host OS that reports a +summary of HMI error and whether it was successfully recovered or not. -TODO: Describe what HMI is +HMI is a Hypervisor Maintenance Interrupt usually reports error related +to processor recovery/checkstop, NX checkstop and Timer facility. Hypervisor +then takes this opportunity to analyze and recover from some of these errors. +Hypervisor takes assistance from OPAL layer to handle and recover from +HMI. After handling HMI, OPAL layer sends the summary of error report and +status of recovery action using HMI event structure shown below. + +The HMI event structure uses version numbering to allow future enhancement +to accommodate additional members. The version start from V1 onward. +Version 0 is invalid version and unsupported. + +The current version of HMI event structure V2 and is backward compatible +to V1 version. + +Notes: +- When adding new structure to the union in future, the version number + must be bumped. +- All future versions must be backward compatible to all its older versions. +- Size of this structure should not exceed that of struct opal_msg. struct OpalHMIEvent { uint8_t version; /* 0x00 */ @@ -63,9 +82,26 @@ struct OpalHMIEvent { uint8_t disposition; /* 0x03 */ uint8_t reserved_1[4]; /* 0x04 */ - uint64_t hmer; - /* TFMR register. Valid only for TFAC and TFMR_PARITY error type. */ - uint64_t tfmr; + __be64 hmer; + /* TFMR register. Valid only for TFAC and TFMR_PARITY error type. */ + __be64 tfmr; + + /* version 2 and later */ + union { + /* + * checkstop info (Core/NX). + * Valid for OpalHMI_ERROR_MALFUNC_ALERT. + */ + struct { + uint8_t xstop_type; /* enum OpalHMI_XstopType */ + uint8_t reserved_1[3]; + __be32 xstop_reason; + union { + __be32 pir; /* for CHECKSTOP_TYPE_CORE */ + __be32 chip_id; /* for CHECKSTOP_TYPE_NX */ + } u; + } xstop_error; + } u; }; |