summaryrefslogtreecommitdiffstats
path: root/src/usr/runtime/common/hsvc_attribute_structs.H
diff options
context:
space:
mode:
authorDan Crowell <dcrowell@us.ibm.com>2012-09-07 15:39:08 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-10-10 14:17:00 -0500
commit3536e96bd3a1d490cec900617fab6703fb7798ea (patch)
treede8f6a5988bdb935ba8691fb0747c305c395ccef /src/usr/runtime/common/hsvc_attribute_structs.H
parentc093ffb2f52adae60468cfa466e9939ad9026a62 (diff)
downloadtalos-hostboot-3536e96bd3a1d490cec900617fab6703fb7798ea.tar.gz
talos-hostboot-3536e96bd3a1d490cec900617fab6703fb7798ea.zip
Populate Attributes for HostServices
Inside the start payload istep a set of FAPI attributes will be read and copied into a specified location of mainstore so that HostServices runtime code can access them. There are 4 files that will be shared with HostServices code: - attribute_structs.H : common structures used to define data - hsvc_sysdata.C : list of required system attributes - hsvc_procdata.C : list of required proc attributes - hsvc_exdata.C : list of required ex attributes RTC: 41242 Change-Id: I3af3b2bf99b4dbedb6efeb2cb35e49ba066a9c19 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1893 Tested-by: Jenkins Server Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/runtime/common/hsvc_attribute_structs.H')
-rw-r--r--src/usr/runtime/common/hsvc_attribute_structs.H77
1 files changed, 77 insertions, 0 deletions
diff --git a/src/usr/runtime/common/hsvc_attribute_structs.H b/src/usr/runtime/common/hsvc_attribute_structs.H
new file mode 100644
index 000000000..19f12ddcd
--- /dev/null
+++ b/src/usr/runtime/common/hsvc_attribute_structs.H
@@ -0,0 +1,77 @@
+/* IBM_PROLOG_BEGIN_TAG */
+/* This is an automatically generated prolog. */
+/* */
+/* $Source: src/usr/runtime/attribute_structs.H $ */
+/* */
+/* IBM CONFIDENTIAL */
+/* */
+/* COPYRIGHT International Business Machines Corp. 2012 */
+/* */
+/* 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 */
+/**
+ * @file attribute_structs.H
+ *
+ * @brief Shared structures with the HostServices code
+ */
+
+struct hsvc_proc_header_t {
+ uint64_t procid; //=NNNCCC
+ uint64_t offset; //offset to attribute header relative to start of node_data
+ uint64_t numAttr; //number of populated attributes
+ static const uint64_t NO_PROC = 0xFFFFFFFFFFFFFFFF;
+};
+
+struct hsvc_ex_header_t {
+ uint64_t parent_procid; //=NNNCCC
+ uint64_t chiplet; //physical ex number (0..15)
+ uint64_t offset; //offset to attribute header relative to start of node_data
+ uint64_t numAttr; //number of populated attributes
+ static const uint64_t NO_PROC = 0xFFFFFFFFFFFFFFFF;
+ static const uint64_t NO_CHIPLET = 0xFFFFFFFFFFFFFFFF;
+};
+
+struct hsvc_attr_header_t {
+ uint64_t id; // attribute id
+ uint64_t sizeBytes; // size of attribute data
+ uint64_t offset; // offset to attribute data relative to start of node_data/sys_data
+ static const uint64_t NO_ATTRIBUTE = 0x0;
+};
+
+// This is the data that will be in the 'System Attribute Data'
+// section of HDAT
+struct hsvc_system_data_t
+{
+ uint64_t nodePresent; //bitstring of populated nodes, bit0=node0, etc
+ uint64_t numAttr; //number of populated attributes
+ uint64_t offset; //offset to attribute headers relative to start of system_data
+ //blob of data...
+};
+
+// This is the data that will be in the 'Node Attribute Data'
+// section of HDAT, there will be 1 of these per physical
+// drawer/book/octant/blade
+struct hsvc_node_data_t
+{
+ uint64_t procOffset; //offset to proc headers relative to start of node_data
+ uint64_t exOffset; //offset to ex headers relative to start of node_data
+ uint64_t numTargets; //number of proc+ex targets present in this node
+ //blob of data...
+};
+
+// Custom Attribute IDs
+// Note: Standard fapi::AttributeId are only 32-bits so we can use the top
+// 32-bits of the 64-bit value for our own numbers
+static const uint64_t HSVC_HUID = 0xFF000001FFFFFFFF;
+static const uint64_t HSVC_PHYS_PATH = 0xFF000002FFFFFFFF;
OpenPOWER on IntegriCloud