From efb976fc64fc447d93015d3bb950431f341b6c19 Mon Sep 17 00:00:00 2001 From: Nick Bofferding Date: Tue, 8 Mar 2016 08:33:57 -0600 Subject: Support association between pervasive targets and other unit targets - Updated attribute compiler to link targets based on pervasive association - Updated attribute compiler to support virtual attributes - Added virtual attribute describing a unit's pervasive association - Updated Nimbus system XML with pervasive/unit associations - Fixed various errors compiling with debug trace enabled - Updated FSP attribute generator to create perv/unit links - Fixed FSP bad path character in attribute generator - Fixed PHB chip unit numbering in attribute generator - Replaced some NVBUS references with NV RTC: 148577 CMVC-Prereq: 988338 Change-Id: I6f3c4aa806e465dd9f09859c4911ff70db782a4f Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/21943 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Reviewed-by: Martin Gloff Reviewed-by: Christian R. Geddes Reviewed-by: Daniel M. Crowell --- src/include/usr/targeting/common/target.H | 7 ++++--- src/include/usr/targeting/common/targetservice.H | 4 ++++ 2 files changed, 8 insertions(+), 3 deletions(-) (limited to 'src/include') diff --git a/src/include/usr/targeting/common/target.H b/src/include/usr/targeting/common/target.H index 4901845c8..ae7f64e90 100644 --- a/src/include/usr/targeting/common/target.H +++ b/src/include/usr/targeting/common/target.H @@ -537,14 +537,15 @@ class Target // Array of pointers to target handles. Currently there is one pointer // for each supported association type. The currently supported - // association types are PARENT, CHILD, PARENT_BY_AFFINITY, and - // CHILD_BY_AFFINTY. The number of pointers should exactly equal value + // association types are PARENT, CHILD, PARENT_BY_AFFINITY, + // CHILD_BY_AFFINTY, PERVASIVE_CHILD, and PARENT_PERVASIVE. + // The number of pointers should exactly equal value // of TargetService::MAX_ASSOCIATION_TYPES defined in // targeting/common/targetservice.H. Due to the huge code changes // necessary to directly use that enum value, a compile time assert in // targeting/common/targetservice.C enforces that restriction. TARGETING::AbstractPointer< AbstractPointer > - iv_ppAssociations[4]; + iv_ppAssociations[6]; private: // Private CTORs/DTORs/Operators diff --git a/src/include/usr/targeting/common/targetservice.H b/src/include/usr/targeting/common/targetservice.H index 455502dcf..79641e7ff 100644 --- a/src/include/usr/targeting/common/targetservice.H +++ b/src/include/usr/targeting/common/targetservice.H @@ -179,6 +179,10 @@ class TargetService ///< Hardware affinity. For example the child ///< of a memory controller channel target might ///< be a DIMM target + PERVASIVE_CHILD, ///< The result target(s) should be units + ///< associated with a pervasive target + PARENT_PERVASIVE, ///< The result target should be a pervasive + ///< target MAX_ASSOCIATION_TYPES, ///< Number of types, must always be last }; -- cgit v1.2.3