summaryrefslogtreecommitdiffstats
path: root/src/usr/diag/attn/common/attnfwd.H
diff options
context:
space:
mode:
authorChris Phan <cphan@us.ibm.com>2014-08-21 21:48:36 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-12-03 10:46:43 -0600
commit605137529b178862bf2c28ea3c3da4fb48394991 (patch)
tree9ef0d3c4de57d3abd62ef79a0f73adf4df0c71ae /src/usr/diag/attn/common/attnfwd.H
parent884df0a961451b7b00d99e07512b19f801ee7587 (diff)
downloadtalos-hostboot-605137529b178862bf2c28ea3c3da4fb48394991.tar.gz
talos-hostboot-605137529b178862bf2c28ea3c3da4fb48394991.zip
ATTN: code re-org in preparation for HBRT support
Change-Id: I100fafcfc794e8828e992438bacf8303a029a566 RTC: 110949 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/12949 Tested-by: Jenkins Server Reviewed-by: Zane Shelley <zshelle@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/diag/attn/common/attnfwd.H')
-rw-r--r--src/usr/diag/attn/common/attnfwd.H206
1 files changed, 206 insertions, 0 deletions
diff --git a/src/usr/diag/attn/common/attnfwd.H b/src/usr/diag/attn/common/attnfwd.H
new file mode 100644
index 000000000..18061ee38
--- /dev/null
+++ b/src/usr/diag/attn/common/attnfwd.H
@@ -0,0 +1,206 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/diag/attn/common/attnfwd.H $ */
+/* */
+/* OpenPOWER HostBoot Project */
+/* */
+/* Contributors Listed Below - COPYRIGHT 2014 */
+/* [+] International Business Machines Corp. */
+/* */
+/* */
+/* Licensed under the Apache License, Version 2.0 (the "License"); */
+/* you may not use this file except in compliance with the License. */
+/* You may obtain a copy of the License at */
+/* */
+/* http://www.apache.org/licenses/LICENSE-2.0 */
+/* */
+/* Unless required by applicable law or agreed to in writing, software */
+/* distributed under the License is distributed on an "AS IS" BASIS, */
+/* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or */
+/* implied. See the License for the specific language governing */
+/* permissions and limitations under the License. */
+/* */
+/* IBM_PROLOG_END_TAG */
+
+#ifndef __ATTN_ATTNFWD_H
+#define __ATTN_ATTNFWD_H
+
+/**
+ * @file attnfwd.H
+ *
+ * @brief HBATTN forward declarations.
+ */
+
+#include <attn/attn.H>
+#include <intr/interrupt.H>
+#include <errl/errlentry.H>
+#include <diag/prdf/prdfMain.H>
+#include <targeting/common/target.H>
+#include <vector>
+#include <builtins.h>
+#include "common/attnbits.H"
+
+class AttnTraceTest;
+class AttnSvcTest;
+class AttnListTest;
+class AttnOpsTest;
+class AttScomTest;
+class AttnProcTest;
+class AttnMemTest;
+
+namespace ATTN
+{
+
+class Attention;
+class AttentionList;
+class AttentionOps;
+class PrdWrapper;
+class PrdImpl;
+class TargetService;
+class TargetServiceImpl;
+class ScomWrapper;
+class ScomImpl;
+class ProcOps;
+class MemOps;
+
+enum
+{
+ /**
+ * @brief HOST Represents host attentions,
+ * distinct from the local error attentions.
+ */
+ HOST = PRDF::END_ATTENTION_TYPE,
+};
+
+/**
+ * @brief MessageType Attention service message types.
+ */
+enum MessageType
+{
+ /**
+ * @brief ATTENTION Attention message.
+ */
+ ATTENTION = 0x1,
+
+ /**
+ * @brief SHUTDOWN Shutdown message.
+ */
+ SHUTDOWN,
+};
+
+/**
+ * @brief ScomOp ModifyScom operation types.
+ */
+enum ScomOp
+{
+ /**
+ * @brief SCOM_OR ModifyScom or operation.
+ */
+ SCOM_OR,
+
+ /**
+ * @brief SCOM_AND ModifyScom and operation.
+ */
+ SCOM_AND,
+};
+
+/**
+ * @brief getScom Read a register using SCOM.
+ *
+ * @param[in] i_target Target to read register from.
+ * @param[in] i_address Register address to read from.
+ * @param[in] i_data Buffer to write register content to.
+ *
+ * @retval[0] No errors.
+ * @retval[!0] Unexpected error occurred.
+ */
+errlHndl_t getScom(
+ TARGETING::TargetHandle_t i_target,
+ uint64_t i_address,
+ uint64_t & o_data);
+
+/**
+ * @brief putScom Write a register using SCOM.
+ *
+ * @param[in] i_target Target to write register on.
+ * @param[in] i_address Register address to write to.
+ * @param[in] i_data Data to write to register.
+ *
+ * @retval[0] No errors.
+ * @retval[!0] Unexpected error occurred.
+ */
+errlHndl_t putScom(
+ TARGETING::TargetHandle_t i_target,
+ uint64_t i_address,
+ uint64_t i_data);
+
+/**
+ * @brief modifyScom Read/Modify/Write a register using SCOM.
+ *
+ * @param[in] i_target Target to write register on.
+ * @param[in] i_address Register address to write to.
+ * @param[in] i_data Data to write to register.
+ * @param[in] i_op And/Or specification.
+ *
+ * @retval[0] No errors.
+ * @retval[!0] Unexpected error occurred.
+ */
+errlHndl_t modifyScom(
+ TARGETING::TargetHandle_t i_target,
+ uint64_t i_address,
+ uint64_t i_data,
+ ScomOp i_op);
+
+/**
+ * @brief getScomWrapper ScomWrapper singleton access.
+ *
+ * @return ScomWrapper Singleton instance.
+ */
+ScomWrapper & getScomWrapper();
+
+/**
+ * @brief getPrdWrapper PrdWrapper singleton access.
+ *
+ * @return PrdWrapper Singleton instance.
+ */
+PrdWrapper & getPrdWrapper();
+
+/**
+ * @brief getTargetService TargetService singleton access.
+ *
+ * @return TargetService Singleton instance.
+ */
+TargetService & getTargetService();
+
+/**
+ * @brief getProcOps ProcOps singleton access.
+ *
+ * @return ProcOps Singleton instance.
+ */
+ProcOps & getProcOps();
+
+/**
+ * @brief getMemOps MemOps singleton access.
+ *
+ * @return MemOps Singleton instance.
+ */
+MemOps & getMemOps();
+
+/**
+ * @brief compare compare two PRDF::AttnData structures.
+ *
+ * @param[in] i_l one of two AttnData structures.
+ * @param[in] i_r one of two AttnData structures.
+ *
+ * @raturn int64_t The result of the comparison.
+ *
+ * @retval[-1] i_l < i_r
+ * @retval[1] i_r < i_l
+ * @retval[0] equivalent
+ */
+int64_t compare(const PRDF::AttnData & i_l, const PRDF::AttnData & i_r);
+
+}
+
+#endif
OpenPOWER on IntegriCloud