diff options
Diffstat (limited to 'src/include/usr/scom')
| -rw-r--r-- | src/include/usr/scom/scomif.H | 20 | ||||
| -rw-r--r-- | src/include/usr/scom/scomreasoncodes.H | 3 |
2 files changed, 23 insertions, 0 deletions
diff --git a/src/include/usr/scom/scomif.H b/src/include/usr/scom/scomif.H index da7227735..d86bd6358 100644 --- a/src/include/usr/scom/scomif.H +++ b/src/include/usr/scom/scomif.H @@ -25,6 +25,8 @@ #ifndef __SCOMIF_H #define __SCOMIF_H +#include <devicefw/driverif.H> + namespace SCOM { @@ -43,6 +45,24 @@ errlHndl_t scomTranslate(TARGETING::Target * &i_target, bool & o_needsWakeup, uint64_t i_opMode = 0); +/** + * @brief Common routine that verifies input parameters for *scom accesses. + * + * @param[in] i_opType Operation type, see driverif.H + * @param[in] i_target Scom target + * @param[in] i_buffer Read: Pointer to output data storage + * Write: Pointer to input data storage + * @param[in] i_buflen Input: size of io_buffer (in bytes) + * @param[in] i_addr Address being accessed (Used for FFDC) + * @return errlHndl_t + */ +errlHndl_t scomOpSanityCheck(const DeviceFW::OperationType i_opType, + const TARGETING::Target* i_target, + const void* i_buffer, + const size_t i_buflen, + const uint64_t i_addr, + const size_t i_minbufsize); + #ifndef __HOSTBOOT_RUNTIME /** * @brief Enable scoms to all cores for multicast workaround diff --git a/src/include/usr/scom/scomreasoncodes.H b/src/include/usr/scom/scomreasoncodes.H index b6fb9816b..c4db021c8 100644 --- a/src/include/usr/scom/scomreasoncodes.H +++ b/src/include/usr/scom/scomreasoncodes.H @@ -41,6 +41,7 @@ namespace SCOM SCOM_HANDLE_SPECIAL_WAKEUP = 0x07, SCOM_TRANSLATE_CENTAUR = 0x08, SCOM_RT_SEND_SCOM_TO_HYP = 0x09, + SCOM_OP_SANITY_CHECK = 0x0A, }; enum scomReasonCode @@ -66,6 +67,8 @@ namespace SCOM SCOM_SPCWKUP_COUNT_ERR = SCOM_COMP_ID | 0x13, SCOM_CEN_TRANS_INVALID_TYPE = SCOM_COMP_ID | 0x14, SCOM_RUNTIME_HYP_ERR = SCOM_COMP_ID | 0x15, + SCOM_INVALID_DATA_BUFFER = SCOM_COMP_ID | 0x16, + SCOM_INVALID_OP_TYPE = SCOM_COMP_ID | 0x17, }; enum UserDetailsTypes |

