summaryrefslogtreecommitdiffstats
path: root/src/include
diff options
context:
space:
mode:
authorBill Schwartz <whs@us.ibm.com>2015-05-15 07:09:27 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2015-07-21 16:08:13 -0500
commitb7f5e1563415cf786ca80c83351d792a70c18899 (patch)
treee08a903bfbf0a2c86cf9d5f118847f6ade315701 /src/include
parent547e3794064bc372e8d10a371bb9e305c89b8f8f (diff)
downloadtalos-hostboot-b7f5e1563415cf786ca80c83351d792a70c18899.tar.gz
talos-hostboot-b7f5e1563415cf786ca80c83351d792a70c18899.zip
New HBRT interfaces for attribute overrides
Add interface to apply attribute overrides Change-Id: I2eb9f32e0236d7296ff3f3f133af4ef349d70376 RTC: 127328 Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/17818 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Reviewed-by: MATTHEW A. PLOETZ <maploetz@us.ibm.com> Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include')
-rw-r--r--src/include/runtime/interface.h11
-rwxr-xr-xsrc/include/usr/hwpf/plat/fapiPlatAttrOverrideSync.H9
-rw-r--r--src/include/usr/runtime/rt_targeting.H4
-rw-r--r--src/include/usr/targeting/attrPlatOverride.H7
4 files changed, 27 insertions, 4 deletions
diff --git a/src/include/runtime/interface.h b/src/include/runtime/interface.h
index ca62f2ea1..19c673c16 100644
--- a/src/include/runtime/interface.h
+++ b/src/include/runtime/interface.h
@@ -454,6 +454,17 @@ typedef struct runtimeInterfaces
*/
int (*enable_occ_actuation)(int i_occ_activation);
+
+ /**
+ * @brief Apply a set of attribute overrides
+ * @param[in] pointer to binary override data
+ * @param[in] length of override data (bytes)
+ * @returns 0 on success, or return code if the command failed
+ * @platform OpenPower
+ */
+ int (*apply_attr_override)(uint8_t* i_data,
+ size_t i_size );
+
// Reserve some space for future growth.
void (*reserved[32])(void);
diff --git a/src/include/usr/hwpf/plat/fapiPlatAttrOverrideSync.H b/src/include/usr/hwpf/plat/fapiPlatAttrOverrideSync.H
index fbc036eda..88c7d47ef 100755
--- a/src/include/usr/hwpf/plat/fapiPlatAttrOverrideSync.H
+++ b/src/include/usr/hwpf/plat/fapiPlatAttrOverrideSync.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2012,2014 */
+/* Contributors Listed Below - COPYRIGHT 2012,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -50,6 +50,11 @@ namespace TARGETING
errlHndl_t getAttrOverrides(PNOR::SectionInfo_t &i_sectionInfo,
AttributeTank* io_tanks[AttributeTank::TANK_LAYER_LAST]);
}
+namespace RT_TARG
+{
+ int apply_attr_override(uint8_t* i_data,
+ size_t i_size );
+}
namespace fapi
{
@@ -92,6 +97,8 @@ public:
PNOR::SectionInfo_t &i_sectionInfo,
TARGETING::AttributeTank*
io_tanks[TARGETING::AttributeTank::TANK_LAYER_LAST]);
+ friend int RT_TARG::apply_attr_override(uint8_t* i_data,
+ size_t i_size );
/**
* @brief Maximum size of a direct attribute override
diff --git a/src/include/usr/runtime/rt_targeting.H b/src/include/usr/runtime/rt_targeting.H
index a95d599dd..6b7ee4075 100644
--- a/src/include/usr/runtime/rt_targeting.H
+++ b/src/include/usr/runtime/rt_targeting.H
@@ -5,7 +5,9 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* COPYRIGHT International Business Machines Corp. 2014 */
+/* Contributors Listed Below - COPYRIGHT 2014,2015 */
+/* [+] 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. */
diff --git a/src/include/usr/targeting/attrPlatOverride.H b/src/include/usr/targeting/attrPlatOverride.H
index 6461228ab..266f1976e 100644
--- a/src/include/usr/targeting/attrPlatOverride.H
+++ b/src/include/usr/targeting/attrPlatOverride.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2014 */
+/* Contributors Listed Below - COPYRIGHT 2014,2015 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -68,6 +68,9 @@ const std::pair<AttributeTank::TankLayer, PNOR::SectionId>
* permanent attribute overrides. Currently there are 3 attribute tanks,
* FAPI, Targeting, and Permanent.
*
+ * For runtime attribute updates, a PNOR::SectionInfo is set up to point to the
+ * passed attribute update binary blob instead of being a 'real' pnor section.
+ *
* @param[in] i_sectionInfo PNOR::SectionInfo_t to look for overrides
* @param[in] io_tanks Array of pointers to Attribute tanks, used for
* test cases, default set to NULL
@@ -79,4 +82,4 @@ errlHndl_t getAttrOverrides(PNOR::SectionInfo_t &i_sectionInfo,
} // end of namespace
-#endif \ No newline at end of file
+#endif
OpenPOWER on IntegriCloud