summaryrefslogtreecommitdiffstats
path: root/src/include/sys
diff options
context:
space:
mode:
authorDoug Gilbert <dgilbert@us.ibm.com>2014-01-22 14:46:04 -0600
committerA. Patrick Williams III <iawillia@us.ibm.com>2014-03-02 13:21:47 -0600
commit8e4ae1fa8e7378af70d0927068b5d27d3f3c8c68 (patch)
tree1a5c793c7951734662a15c1a71e4c0606e4a5295 /src/include/sys
parentef737aaa136524bcc9fc9145a294bdea50d56fce (diff)
downloadtalos-hostboot-8e4ae1fa8e7378af70d0927068b5d27d3f3c8c68.tar.gz
talos-hostboot-8e4ae1fa8e7378af70d0927068b5d27d3f3c8c68.zip
Handle pending interrupts across nodes in mpipl
RTC: 80988 Change-Id: I7ef9feaa3d163d6956576f30538e2fe001e892a1 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/8441 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Jenkins Server Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/sys')
-rw-r--r--src/include/sys/internode.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/src/include/sys/internode.h b/src/include/sys/internode.h
new file mode 100644
index 000000000..3d4c6bf65
--- /dev/null
+++ b/src/include/sys/internode.h
@@ -0,0 +1,58 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/include/sys/internode.h $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* COPYRIGHT International Business Machines Corp. 2014 */
+/* */
+/* p1 */
+/* */
+/* Object Code Only (OCO) source materials */
+/* Licensed Internal Code Source Materials */
+/* IBM HostBoot Licensed Internal Code */
+/* */
+/* The source code for this program is not published or otherwise */
+/* divested of its trade secrets, irrespective of what has been */
+/* deposited with the U.S. Copyright Office. */
+/* */
+/* Origin: 30 */
+/* */
+/* IBM_PROLOG_END_TAG */
+#ifndef __INTERNODE_H
+#define __INTERNODE_H
+// Memory area preserved on MPIPL
+
+#include <vmmconst.h>
+
+enum internode_info_vals_t
+{
+ MAX_NODES_PER_SYS = 8,
+};
+
+enum intr_mpipl_sync_t
+{
+ INTR_MPIPL_SYNC_CLEAR = 0,
+ INTR_MPIPL_UPSTREAM_DISABLED = 1,
+ INTR_MPIPL_DRAINED = 2,
+};
+
+
+/**
+ * Node information needed across MPIPLs
+ */
+struct internode_info_t
+{
+ uint64_t eye_catcher;
+ uint64_t version;
+ bool exist[ MAX_NODES_PER_SYS ]; //!< true if HB node exists
+ volatile intr_mpipl_sync_t mpipl_intr_sync; //!< at sync point
+};
+
+#define NODE_INFO_EYE_CATCHER 0x4e4f444544415441ul // "NODEDATA"
+#define NODE_INFO_VERSION 1
+
+#define INTERNODE_INFO_SIZE (sizeof(internode_info_t))
+
+#endif
OpenPOWER on IntegriCloud