diff options
author | Sachin Gupta <sgupta2m@in.ibm.com> | 2016-03-21 07:35:17 -0500 |
---|---|---|
committer | AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com> | 2016-05-17 05:16:07 -0400 |
commit | 55f9061a6810f7122765bcafad382ed98f67dd5f (patch) | |
tree | dbd80ee2a727188f908186176765d6fe312d4c31 /sbe/sbefw/sbeSpMsg.H | |
parent | 1349a59f0b860c268bd178ad099269dccd9f8a10 (diff) | |
download | talos-sbe-55f9061a6810f7122765bcafad382ed98f67dd5f.tar.gz talos-sbe-55f9061a6810f7122765bcafad382ed98f67dd5f.zip |
Reg access support
RTC: 128984
Change-Id: I6c5637de94077cca58a72d20a88c6db20c137632
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/22279
Tested-by: Jenkins Server
Reviewed-by: RAJA DAS <rajadas2@in.ibm.com>
Reviewed-by: AMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>
Diffstat (limited to 'sbe/sbefw/sbeSpMsg.H')
-rw-r--r-- | sbe/sbefw/sbeSpMsg.H | 47 |
1 files changed, 46 insertions, 1 deletions
diff --git a/sbe/sbefw/sbeSpMsg.H b/sbe/sbefw/sbeSpMsg.H index 7d8e3fb1..df2730cb 100644 --- a/sbe/sbefw/sbeSpMsg.H +++ b/sbe/sbefw/sbeSpMsg.H @@ -144,7 +144,7 @@ typedef struct sbeResponseFfdc * * @return fapiRc */ - uint32_t getRc() + uint32_t getRc() const { return lowFapiRc; } @@ -475,5 +475,50 @@ typedef struct } } }sbeCntlInstRegMsgHdr_t; +/** + * @brief Reg access message header + */ +typedef struct +{ + uint32_t reserved:8; + uint32_t coreChiplet:8; + uint32_t threadNr:4; + uint32_t regType:4; + uint32_t numRegs:8; + + /** + * @brief checks if it is valid request. + * + * @return true if valid request, false otherwise + */ + bool isValidRequest() const + { + return (( SBE_REG_ACCESS_FPR >= regType ) + &&( SBE_MAX_REG_ACCESS_REGS >= numRegs ) + &&( SMT4_THREAD3 >= threadNr ) + &&( SMT4_CORE0_ID <= coreChiplet ) + &&( SMT4_CORE_ID_MAX >= coreChiplet )) ? true:false; + } +}sbeRegAccessMsgHdr_t; + +/** + * @brief reg scom package + */ +typedef struct +{ + uint32_t regNr; + uint32_t hiData; + uint32_t lowData; + + /** + * @brief data for a register. + * + * @return data. + */ + uint64_t getData() const + { + return (((uint64_t)hiData << 32 ) | lowData ); + } +}sbeRegAccessPackage_t; #endif // __SBEFW_SBESP_MSG_H |