diff options
Diffstat (limited to 'src/import/chips')
-rw-r--r-- | src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C | 27 | ||||
-rw-r--r-- | src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml | 18 |
2 files changed, 38 insertions, 7 deletions
diff --git a/src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C b/src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C index 57bb161bd..d370f8e51 100644 --- a/src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C +++ b/src/import/chips/p9/procedures/hwp/pm/p9_pm_get_poundv_bucket_attr.C @@ -57,7 +57,6 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP> l_procParent = i_target.getParent<fapi2::TARGET_TYPE_PROC_CHIP>(); - //Need to determine which LRP record to read from depending on which //bucket we are getting the power management data from. FapiPos will //tell us which LRP record to use. @@ -169,6 +168,9 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( // Set the size of the bucket l_bucketSize = VERSION_3_BUCKET_SIZE; + //Save off some FFDC data about the #V data itself + uint16_t l_bucketNestFreqs[NUM_BUCKETS] = { 0, 0, 0, 0, 0, 0 }; + // Version 3 uses the nest frequency to choose the bucket Id // get the system target to find the NEST_FREQ_MHZ fapi2::Target<fapi2::TARGET_TYPE_SYSTEM> l_sysParent; @@ -192,10 +194,11 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( { FAPI_ERR("p9_pm_get_poundv_bucket_attr::" " Multiple buckets (%d) reporting the same nest frequency" - " Bucket Nest = %d Bucket ID = %d", + " Bucket Nest = %d Bucket ID = %d, First Bucket = %d", l_numMatches, l_buckets[i].pbFreq, - (i + 1)); + (i + 1), + l_currentBucket); } else @@ -203,6 +206,9 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( l_currentBucket = &l_buckets[i]; } } + + //save FFDC in case we fail + l_bucketNestFreqs[i] = l_buckets[i].pbFreq; } if(l_numMatches == 1) @@ -212,11 +218,20 @@ fapi2::ReturnCode p9_pm_get_poundv_bucket_attr( else { - FAPI_ERR("p9_pm_get_poundv_bucket_attr::Invalid number of matching nest freqs found. Matches found = %d", - l_numMatches ); + FAPI_ERR("p9_pm_get_poundv_bucket_attr::Invalid number of matching nest freqs found for PBFreq=%d. Matches found = %d", + l_sysNestFreq, l_numMatches ); FAPI_ASSERT(false, fapi2::INVALID_MATCHING_FREQ_NUMBER(). - set_MATCHES_FOUND(l_numMatches), + set_MATCHES_FOUND(l_numMatches). + set_DESIRED_FREQPB(l_sysNestFreq). + set_LRPREC(lrpRecord). + set_BUCKETA_FREQPB(l_bucketNestFreqs[0]). + set_BUCKETB_FREQPB(l_bucketNestFreqs[1]). + set_BUCKETC_FREQPB(l_bucketNestFreqs[2]). + set_BUCKETD_FREQPB(l_bucketNestFreqs[3]). + set_BUCKETE_FREQPB(l_bucketNestFreqs[4]). + set_BUCKETF_FREQPB(l_bucketNestFreqs[5]). + set_EQ(i_target), "Matches found is NOT 1" ); } } diff --git a/src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml b/src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml index 82c38dd09..3d67361f5 100644 --- a/src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml +++ b/src/import/chips/p9/procedures/xml/error_info/p9_pm_get_poundv_bucket_errors.xml @@ -44,9 +44,25 @@ <hwpError> <rc>RC_INVALID_MATCHING_FREQ_NUMBER</rc> <description> - Number of buckets with matching pbFreq is not equal to one + Found either zero or multiple buckets for the desired powerbus frequency </description> <ffdc>MATCHES_FOUND</ffdc> + <ffdc>DESIRED_FREQPB</ffdc> + <ffdc>LRPREC</ffdc> + <ffdc>BUCKETA_FREQPB</ffdc> + <ffdc>BUCKETB_FREQPB</ffdc> + <ffdc>BUCKETC_FREQPB</ffdc> + <ffdc>BUCKETD_FREQPB</ffdc> + <ffdc>BUCKETE_FREQPB</ffdc> + <ffdc>BUCKETF_FREQPB</ffdc> + <callout> + <procedure>CODE</procedure> + <priority>HIGH</priority> + </callout> + <callout> + <target>EQ</target> + <priority>LOW</priority> + </callout> </hwpError> <!-- ******************************************************************** --> <hwpError> |