summaryrefslogtreecommitdiffstats
path: root/src/include/usr/scom
diff options
context:
space:
mode:
authorCorey Swenson <cswenson@us.ibm.com>2018-03-23 10:49:35 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-04-02 13:44:41 -0400
commitb51298075aee402dbcef485088cfa71a6ca61725 (patch)
tree21bd59df20830b108f6b3f6dd835915c28691ec7 /src/include/usr/scom
parent55f0053bc34e10d118e383f782b7be5cb14f59d2 (diff)
downloadtalos-hostboot-b51298075aee402dbcef485088cfa71a6ca61725.tar.gz
talos-hostboot-b51298075aee402dbcef485088cfa71a6ca61725.zip
Add ibscom runtime support
- Add ibscom runtime files - Make ibscom multicast workaround common - Call from ibscom rt_ibscom - Make scom sanity check common - Call from xscom rt_xscom ibscom rt_ibscom RTC:190144 Change-Id: Ia52feac596ff6b6c8fb9f0db4493f35e4ee837af Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/56215 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Martin Gloff <mgloff@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/include/usr/scom')
-rw-r--r--src/include/usr/scom/scomif.H20
-rw-r--r--src/include/usr/scom/scomreasoncodes.H3
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
OpenPOWER on IntegriCloud