From 0a1b60c34e55018e233c64b292e16c3479d2145c Mon Sep 17 00:00:00 2001 From: Marty Gloff Date: Tue, 17 Oct 2017 08:23:52 -0500 Subject: Concurrent code update of HBRT - Update Structure Update Hostboot targeting data in the new targeting structure from the current targeting data. It will have the logic to save and restore values as appropriate. Change-Id: I7ae4a0c2e58548f6f1a6229f40b9fda833670e86 RTC: 180908 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/48504 Reviewed-by: Roland Veloz Reviewed-by: Matt Derksen Reviewed-by: Brian E. Bakke Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Daniel M. Crowell --- src/include/usr/targeting/common/target.H | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 'src/include/usr/targeting/common/target.H') diff --git a/src/include/usr/targeting/common/target.H b/src/include/usr/targeting/common/target.H index 9e1c23b85..6d7a0dafd 100644 --- a/src/include/usr/targeting/common/target.H +++ b/src/include/usr/targeting/common/target.H @@ -58,6 +58,8 @@ namespace RT_TARG { void adjustTargeting4Runtime(); + int saveRestoreAttrs(void *i_rsvdMemPtr, + void *io_lidStructPtr); } #endif @@ -98,6 +100,7 @@ namespace TARGETING // Type Aliases //****************************************************************************** class AttributeTank; +class AttrRP; class Target; typedef const Target* ConstTargetHandle_t; typedef Target* TargetHandle_t; @@ -479,6 +482,31 @@ class Target ATTRIBUTE_ID i_attr, void*& o_pAttr) const; + /** + * @brief Gets a pointer to the target's associated attribute + * + * Gets a pointer to the target's associated attribute + * + * @param[in] i_attr Attribute to retrieve + * @param[in] i_attrRP Pointer to attribute resource provider + * @param[in] i_pAttrId Pointer to array of attribute IDs for target + * @param[in] i_ppAttrAddr Pointer to array of attribute addresses + * @param[out] o_pAttr Pointer to data location to hold the attribute + * data + * + * @pre Target service must be initialized + * + * @post If attribute exists for the associated target, caller's + * pointer updated with associated attribute pointer. Otherwise, + * caller's pointer updated to NULL. + */ + void _getAttrPtr( + ATTRIBUTE_ID i_attr, + AttrRP* i_attrRP, + ATTRIBUTE_ID* i_pAttrId, + AbstractPointer* i_ppAttrAddr, + void*& o_pAttr) const; + /** * @brief Returns pointer to a mutex attribute associated with the * target @@ -632,6 +660,8 @@ class Target #ifdef __HOSTBOOT_RUNTIME friend void RT_TARG::adjustTargeting4Runtime(); + friend int RT_TARG::saveRestoreAttrs(void *, + void *); #endif -- cgit v1.2.3