diff options
author | Bill Schwartz <whs@us.ibm.com> | 2015-05-15 07:09:27 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2015-07-21 16:08:13 -0500 |
commit | b7f5e1563415cf786ca80c83351d792a70c18899 (patch) | |
tree | e08a903bfbf0a2c86cf9d5f118847f6ade315701 /src/include | |
parent | 547e3794064bc372e8d10a371bb9e305c89b8f8f (diff) | |
download | talos-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.h | 11 | ||||
-rwxr-xr-x | src/include/usr/hwpf/plat/fapiPlatAttrOverrideSync.H | 9 | ||||
-rw-r--r-- | src/include/usr/runtime/rt_targeting.H | 4 | ||||
-rw-r--r-- | src/include/usr/targeting/attrPlatOverride.H | 7 |
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 |