diff options
| author | Dan Crowell <dcrowell@us.ibm.com> | 2012-09-07 15:39:08 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-10-10 14:17:00 -0500 |
| commit | 3536e96bd3a1d490cec900617fab6703fb7798ea (patch) | |
| tree | de8f6a5988bdb935ba8691fb0747c305c395ccef /src/usr/runtime/common/hsvc_attribute_structs.H | |
| parent | c093ffb2f52adae60468cfa466e9939ad9026a62 (diff) | |
| download | talos-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.H | 77 |
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; |

