diff options
| author | Mike Jones <mjjones@us.ibm.com> | 2013-04-29 13:34:57 -0500 |
|---|---|---|
| committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-05-06 16:23:37 -0500 |
| commit | d615a4879c5e0a3dcd2cf09967bb091eb6f85cbd (patch) | |
| tree | 02791152705bdf6f13b2469ad804c50e847d6ca1 /src/include/usr/targeting/common/target.H | |
| parent | 85ccc6bf69ed809c8ef64f02faa01728f761344a (diff) | |
| download | blackbird-hostboot-d615a4879c5e0a3dcd2cf09967bb091eb6f85cbd.tar.gz blackbird-hostboot-d615a4879c5e0a3dcd2cf09967bb091eb6f85cbd.zip | |
Reduce FAPI->TARG attribute access code size
Change-Id: I5fe3e7be1780d6034d2c52ef0dac6799f3c89d3b
RTC: 70572
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/4276
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/include/usr/targeting/common/target.H')
| -rw-r--r-- | src/include/usr/targeting/common/target.H | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/src/include/usr/targeting/common/target.H b/src/include/usr/targeting/common/target.H index 16b2a8c51..496636a57 100644 --- a/src/include/usr/targeting/common/target.H +++ b/src/include/usr/targeting/common/target.H @@ -50,6 +50,23 @@ #include <targeting/common/attributes.H> #include <targeting/common/attributeTank.H> +//****************************************************************************** +// Forward declarations to allow friend functions to work +//****************************************************************************** +namespace fapi +{ + class ReturnCode; + class Target; + + namespace platAttrSvc + { + fapi::ReturnCode getTargetingAttr(const fapi::Target *, + const TARGETING::ATTRIBUTE_ID, const uint32_t, void *); + fapi::ReturnCode setTargetingAttr(const fapi::Target *, + const TARGETING::ATTRIBUTE_ID, const uint32_t, void *); + } +} + namespace TARGETING { @@ -469,6 +486,15 @@ class Target friend class PnorBuilderService; + // Friend functions to allow FAPI Attribute code to directly call + // _tryGetAttr and _trySetAttr for code size optimization + friend fapi::ReturnCode fapi::platAttrSvc::getTargetingAttr( + const fapi::Target *, TARGETING::ATTRIBUTE_ID, const uint32_t, + void *); + friend fapi::ReturnCode fapi::platAttrSvc::setTargetingAttr( + const fapi::Target *, TARGETING::ATTRIBUTE_ID, const uint32_t, + void *); + } PACKED; template<const ATTRIBUTE_ID A> |

