summaryrefslogtreecommitdiffstats
path: root/sbe/sbefw/sbeSpMsg.H
diff options
context:
space:
mode:
authorSachin Gupta <sgupta2m@in.ibm.com>2016-03-21 07:35:17 -0500
committerAMIT J. TENDOLKAR <amit.tendolkar@in.ibm.com>2016-05-17 05:16:07 -0400
commit55f9061a6810f7122765bcafad382ed98f67dd5f (patch)
treedbd80ee2a727188f908186176765d6fe312d4c31 /sbe/sbefw/sbeSpMsg.H
parent1349a59f0b860c268bd178ad099269dccd9f8a10 (diff)
downloadtalos-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.H47
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
OpenPOWER on IntegriCloud