diff options
18 files changed, 51 insertions, 125 deletions
diff --git a/src/usr/diag/prdf/common/framework/config/iipDomainContainer.C b/src/usr/diag/prdf/common/framework/config/iipDomainContainer.C index 3fe03b258..1d56e0ed2 100755 --- a/src/usr/diag/prdf/common/framework/config/iipDomainContainer.C +++ b/src/usr/diag/prdf/common/framework/config/iipDomainContainer.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -70,11 +70,8 @@ namespace PRDF // Member Function Specifications //--------------------------------------------------------------------- -// @jl02 a Start // This is used with the CHIP_CLASS vectors to remove one that matches a chipID // Predicate function for comparing chip IDs. This is required by remove_if from STL. -// TODO:FIXME: Add compiler directives or some method to make sure the type handling here -// is generic enough or correct enough to handle future use of this functionality. class prdfCompareChipIds: public std::unary_function<void*&, bool> { public: @@ -100,7 +97,6 @@ class prdfCompareChipIds: public std::unary_function<void*&, bool> //Private storage for value passed in. TARGETING::TargetHandle_t __cid; }; -// @jl02 a Stop template<class T> inline diff --git a/src/usr/diag/prdf/common/framework/config/prdfFabricDomain.C b/src/usr/diag/prdf/common/framework/config/prdfFabricDomain.C index d499c3ae9..f91ce88bf 100755 --- a/src/usr/diag/prdf/common/framework/config/prdfFabricDomain.C +++ b/src/usr/diag/prdf/common/framework/config/prdfFabricDomain.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -242,8 +242,9 @@ void FabricDomain::SortForXstop() } else if (0 == l_internalOnlyCount) { - // TODO : add trace here... continue with analysis to determine - // which chip origined though. + PRDF_TRAC("[FabricDomain::SortForXstop] continue " + "with analysis to determine which chip " + "sourced the error."); } // --- Do graph reduction --- diff --git a/src/usr/diag/prdf/common/framework/config/prdfParentDomain.C b/src/usr/diag/prdf/common/framework/config/prdfParentDomain.C index 8ad6a5990..38c83670e 100755 --- a/src/usr/diag/prdf/common/framework/config/prdfParentDomain.C +++ b/src/usr/diag/prdf/common/framework/config/prdfParentDomain.C @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 1996,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,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. */ @@ -71,7 +73,6 @@ namespace PRDF template<class T> ParentDomain<T>::ParentDomain() { - //TODO::Do I need to have this here to clear out the vector? VectorOfDomainPointerType iv_childrenDomains(); } diff --git a/src/usr/diag/prdf/common/framework/register/iipResetErrorRegister.h b/src/usr/diag/prdf/common/framework/register/iipResetErrorRegister.h index 8699e298c..73282e793 100755 --- a/src/usr/diag/prdf/common/framework/register/iipResetErrorRegister.h +++ b/src/usr/diag/prdf/common/framework/register/iipResetErrorRegister.h @@ -217,7 +217,6 @@ ResetErrorRegister::ResetErrorRegister(SCAN_COMM_REGISTER_CLASS & r, * reset/mask registers. * * Will do masking if isAtThreshold(). - * Always does resets. (TODO: Should this be done only on recov?) */ class ResetAndMaskErrorRegister : public ErrorRegisterMask { diff --git a/src/usr/diag/prdf/common/framework/register/prdfResetOperators.H b/src/usr/diag/prdf/common/framework/register/prdfResetOperators.H index bb4931498..9cf18750b 100755 --- a/src/usr/diag/prdf/common/framework/register/prdfResetOperators.H +++ b/src/usr/diag/prdf/common/framework/register/prdfResetOperators.H @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2005,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,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. */ @@ -129,7 +131,6 @@ class OrOperator : public RegisterResetOperator if (RESETOPERATOR_RESET == Type) { - // Make sure this register was read. (TODO: is this needed?) readReg->Read(); if(readReg != writeReg) // read different than write, move bits. @@ -200,7 +201,6 @@ class AndOperator : public RegisterResetOperator } else // RESETOPERATOR_MASK { - // Make sure this register was read. (TODO: is this needed?) readReg->Read(); if(readReg != writeReg) // read different than write, move bits. @@ -257,7 +257,6 @@ class XorOperator : public RegisterResetOperator } else // RESETOPERATOR_MASK { - // Make sure this register was read. (TODO: is this needed?) readReg->Read(); if(readReg != writeReg) // read different than write, move bits. diff --git a/src/usr/diag/prdf/common/framework/register/prdfScanFacility.H b/src/usr/diag/prdf/common/framework/register/prdfScanFacility.H index b7589fa5d..63dab2bd7 100755 --- a/src/usr/diag/prdf/common/framework/register/prdfScanFacility.H +++ b/src/usr/diag/prdf/common/framework/register/prdfScanFacility.H @@ -93,28 +93,6 @@ public: SCAN_COMM_REGISTER_CLASS::AccessLevel i_regOp ); /** - Get a scan ring register - * @param i_ptargetHandle handle to target in targeting - * @param pointer to list an array of ScanRingField see prdfHomRegisterAccess.H - * @param pointer to last entry+1 of ScanFingField array - * @pre AliasId's for the scan ring registers MUST exist in the function unit - associated with the Id given - * @post Access object and scr created for this register. the bit length of the - scr returned will be the sum of all the field lengths provided. - * @note an SCR based on a scan ring register can not be written, and should - only be read if the global - attention type is CHECK_STOP. - */ - -//FIXME Need to discuss before deleting the function below -#if 0 - SCAN_COMM_REGISTER_CLASS & GetScanRingRegister( - TARGETING::TargetHandle_t i_ptargetHandle, - ScanRingField * start, - ScanRingField * end); -#endif - - /** * @brief Get a register that bitwise inverts the bitstring of a register * when read or written to * @param SCAN_COMM_REGISTER_CLASS source diff --git a/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.h b/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.h index 1403530b4..3369330e9 100755 --- a/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.h +++ b/src/usr/diag/prdf/common/framework/resolution/iipResolutionFactory.h @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 1997,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,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. */ @@ -254,8 +256,6 @@ public: * @return reference to a resolution * @post only one instance of this obect with these paramaters will exist */ - // FIXME: Need support for clock targets - // FIXME: Need support for clock targets types Resolution & GetClockResolution( TARGETING::TargetHandle_t i_pClockHandle = NULL , TARGETING::TYPE i_targetType = TARGETING::TYPE_PROC ); diff --git a/src/usr/diag/prdf/common/framework/rule/prdfRuleChip.H b/src/usr/diag/prdf/common/framework/rule/prdfRuleChip.H index c15bc1e47..5eb661925 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdfRuleChip.H +++ b/src/usr/diag/prdf/common/framework/rule/prdfRuleChip.H @@ -5,7 +5,9 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* COPYRIGHT International Business Machines Corp. 2004,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,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. */ @@ -68,7 +70,6 @@ class RuleChip : public ExtensibleChip instantiating ChipScopeLock at the beginning of the function.This is encapsulated by PRDF_LOCK_CHIP_SCOPE */ - // TODO : add parameter for parent domains, connected chip classes. /** * @brief constructor * @param[in] i_fileName name of Rule file diff --git a/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C b/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C index 1661bcb68..7d2a334f4 100644 --- a/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C +++ b/src/usr/diag/prdf/common/framework/rule/prdfRuleMetaData.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2013,2014 */ +/* Contributors Listed Below - COPYRIGHT 2013,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -107,7 +107,7 @@ struct ResetAndMaskTransformer break; default: - o.op = NULL; // TODO: ERROR! Assert... + o.op = NULL; break; } @@ -970,8 +970,6 @@ void RuleMetaData::createGroup(Group * i_group, { std::vector<uint8_t> l_bits; // Vector to hold bit string. - // TODO : handle & transformations. - // Get expression for group's line. Prdr::Expr * l_expr = &i_data.cv_loadChip->cv_groups[i_groupId][i]; diff --git a/src/usr/diag/prdf/common/framework/rule/prdf_rule.mk b/src/usr/diag/prdf/common/framework/rule/prdf_rule.mk index 1f58070ea..d6da96f09 100644 --- a/src/usr/diag/prdf/common/framework/rule/prdf_rule.mk +++ b/src/usr/diag/prdf/common/framework/rule/prdf_rule.mk @@ -5,7 +5,7 @@ # # OpenPOWER HostBoot Project # -# Contributors Listed Below - COPYRIGHT 2014 +# Contributors Listed Below - COPYRIGHT 2014,2015 # [+] International Business Machines Corp. # # @@ -23,14 +23,15 @@ # # IBM_PROLOG_END_TAG -prd_rule_files += Proc.rule -prd_rule_files += Ex.rule -prd_rule_files += Mcs.rule -prd_rule_files += Membuf.rule -prd_rule_files += Mba.rule +# Add Rule tables here: +PRDR_RULE_TABLES += Proc.prf +PRDR_RULE_TABLES += Ex.prf +PRDR_RULE_TABLES += Mcs.prf +PRDR_RULE_TABLES += Membuf.prf +PRDR_RULE_TABLES += Mba.prf -prd_rule_prf_targets = ${prd_rule_files:.rule=.prf} -prd_rule_err_targets = ${prd_rule_files:.rule=.prf.err.C} -prd_rule_reg_targets = ${prd_rule_files:.rule=.prf.reg.C} -prd_rule_html_targets = ${prd_rule_files:.rule=.prf.html} +prd_rule_prf_targets = ${PRDR_RULE_TABLES} +prd_rule_err_targets = ${PRDR_RULE_TABLES:.prf=.prf.err.C} +prd_rule_reg_targets = ${PRDR_RULE_TABLES:.prf=.prf.reg.C} +prd_rule_html_targets = ${PRDR_RULE_TABLES:.prf=.prf.html} diff --git a/src/usr/diag/prdf/common/framework/rule/prdrCompile.C b/src/usr/diag/prdf/common/framework/rule/prdrCompile.C index 368a958ee..f4da5bf20 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrCompile.C +++ b/src/usr/diag/prdf/common/framework/rule/prdrCompile.C @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -355,8 +355,6 @@ std::list<std::string> prdrParseDoxygen(std::string & i_string) } l_result.push_back(l_input); // push long desc. - // TODO : take care of the @tags. - return l_result; }; @@ -456,9 +454,10 @@ uint32_t prdrActionArgMap(const std::string & i_arg) } // Initialize SDC Flags. - // FIXME: Not quite happy with the way this is implemented. Would like - // to move the macros to another file like we did with - // prdfCalloutMap.H, but will need to do this later. + // FIXME: RTC 119976 + // Not quite happy with the way this is implemented. + // Would like to move the macros to another file like we + // did with prdfCalloutMap.H, but will need to do this later. #define PRDF_SDC_FLAGS_MAP_ONLY #define PRDF_SDC_FLAGS_MAP #define PRDF_SDC_FLAG(name, value) \ diff --git a/src/usr/diag/prdf/common/framework/rule/prdrCompile.y b/src/usr/diag/prdf/common/framework/rule/prdrCompile.y index 1ccb5ae33..78736643d 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrCompile.y +++ b/src/usr/diag/prdf/common/framework/rule/prdrCompile.y @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -650,7 +650,6 @@ bitgroup: PRDR_BIT_KW '(' bitandlist ')' { $$ = $3; } | PRDR_BIT_KW '(' bitorlist ')' { $$ = $3; } ; -// TODO: Change to & instead of , bitandlist: bitandlist ',' PRDR_INTEGER { $$ = new ExprOp2(Prdr::AND, @@ -677,7 +676,6 @@ bitorlist: bitorlist '|' PRDR_INTEGER } ; -// TODO: Merge attention types. rule: PRDR_RULE PRDR_ID '{' ruleexpr ';' '}' ';' { g_rules[*$2] = new ExprOp1(Prdr::RULE, $4); diff --git a/src/usr/diag/prdf/common/framework/rule/prdrLoadChipCache.C b/src/usr/diag/prdf/common/framework/rule/prdrLoadChipCache.C index 1a1859f3f..ebe77878d 100755 --- a/src/usr/diag/prdf/common/framework/rule/prdrLoadChipCache.C +++ b/src/usr/diag/prdf/common/framework/rule/prdrLoadChipCache.C @@ -79,12 +79,7 @@ namespace Prdr { // NOTE: to patch PRF files require rebuilding // entire Hostboot image and put in a special - // location on FSP /maint/ mount. - // FIXME: if we need to patch prf files directly - // on Hostboot, need to discuss with Patrick - // about a possibility of creating a new PNOR - // partition outside of the cryptographically - // signed area just for PRD. + // location on FSP /nfs/test/pnor/ mount. const char * ext = ".prf"; diff --git a/src/usr/diag/prdf/common/framework/rule/tables.mk b/src/usr/diag/prdf/common/framework/rule/tables.mk index 65405e5e4..225449dc3 100755 --- a/src/usr/diag/prdf/common/framework/rule/tables.mk +++ b/src/usr/diag/prdf/common/framework/rule/tables.mk @@ -5,7 +5,7 @@ # # OpenPOWER HostBoot Project # -# Contributors Listed Below - COPYRIGHT 2012,2014 +# Contributors Listed Below - COPYRIGHT 2012,2015 # [+] International Business Machines Corp. # # @@ -23,19 +23,12 @@ # # IBM_PROLOG_END_TAG + #------------------------------------------------------------------- -# To add a new chip, modify PRDR_RULE_TABLES line. +# To add a new chip, modify PRDR_RULE_TABLES line in prdf_rule.mk # To change system type, modify VPATH line in rule/Makefile #------------------------------------------------------------------- -# Add Rule tables here: -# FIXME: This is now a duplicate of prd_rule_prf_targets in prdf_rule.mk -PRDR_RULE_TABLES += Proc.prf -PRDR_RULE_TABLES += Ex.prf -PRDR_RULE_TABLES += Mcs.prf -PRDR_RULE_TABLES += Membuf.prf -PRDR_RULE_TABLES += Mba.prf - #------------------------------------------------------------------ # Change nothing below this line unless you know what you're doing! #------------------------------------------------------------------ diff --git a/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.C b/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.C index 0ce4f59f7..a3d5feec1 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.C +++ b/src/usr/diag/prdf/common/framework/service/prdfPlatServices_common.C @@ -839,17 +839,6 @@ int32_t getMemBufRawCardType( TargetHandle_t i_mba, #undef PRDF_FUNC } - -//------------------------------------------------------------------------------ - -/* TODO - Get the type of the card a DIMM is plugged into. This is needed for - the DRAM site locations for IS DIMMs. Should be able to get this from - an attribute but doesn't look like this is available yet. -getDimmPlugCardType() -{ -} -*/ - //############################################################################## //## Maintenance Command class wrapper //############################################################################## diff --git a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C index 16da5b89a..ca9cb88b7 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C +++ b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.C @@ -61,7 +61,8 @@ namespace PlatServices //## //############################################################################## -// FIXME: This function is using type PRDF::HUID. I think it should now be using +// FIXME: RTC 62867 +// This function is using type PRDF::HUID. I think it should now be using // TARGETING::HUID_ATTR. Also, will need equivalent to // PRDF::INVALID_HUID. I think HWSV has HWSV_INVALID_HUID, but I don't // think that exists in Hostboot. Need a common interface before making @@ -70,7 +71,8 @@ TARGETING::TargetHandle_t getTarget( HUID i_huid ) { TargetHandle_t o_target = NULL; - // FIXME: This is an incredibly inefficient linear search. It is recommended + // FIXME: RTC 62867 + // This is an incredibly inefficient linear search. It is recommended // that the common targeting code provide an interface for us so that // all users can call the potentially optimized function. There is a // function available in HWSV (hwsvTargetUtil.H) but not in Hostboot. @@ -166,9 +168,6 @@ HUID getHuid( TARGETING::TargetHandle_t i_target ) { if ( NULL == i_target ) break; // return INVALID_HUID - // TODO: get_huid() (src/include/usr/targeting/common/util.H) can be - // called to fetch HUID however this feature is not yet available - // in FSP yet. if ( !i_target->tryGetAttr<ATTR_HUID>(o_huid) ) { PRDF_ERR( "[getHuid] Failed to get ATTR_HUID" ); @@ -329,20 +328,6 @@ void setHWStateChanged(TARGETING::TargetHandle_t i_target) #undef PRDF_FUNC } -//------------------------------------------------------------------------------ - -/* TODO: getChipId() may be available in an attribute, but this design has not - * been solidified. Instead, we may need to query for 'reason' attributes - * to determine the reason we need to do the checks. Since we don't have - * any immediate need for these functions (no workarounds as of yet), we - * will leave them commented out in the code. -uint8_t getChipId( TARGETING::TargetHandle_t i_target ) -{ - // Returns chip ID enum (i.e. P7, P7+, etc.) - return 0; -} -*/ - //############################################################################## //## //## getConnected() support functions @@ -961,10 +946,8 @@ uint32_t getNodePosition( TARGETING::TargetHandle_t i_target ) break; } - // FIXME: While this code works, it is preferred to use the POSITION - // attribute of the node. Currently, this attribute does not - // exist but it will, eventually. (RTC WI expected from Nick - // Bofferding) + // FIXME: RTC 120711 will add NODE POSITION keyword + // that we can use instead of ePath instance. EntityPath l_path ( EntityPath::PATH_PHYSICAL ); int32_t l_rc = getEntityPath( node, l_path ); if ( SUCCESS != l_rc ) break; diff --git a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H index ff3a34a05..6fcce1377 100755 --- a/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H +++ b/src/usr/diag/prdf/common/framework/service/prdfTargetServices.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2012,2014 */ +/* Contributors Listed Below - COPYRIGHT 2012,2015 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -138,14 +138,6 @@ uint8_t getChipLevel( TARGETING::TargetHandle_t i_target ); */ void setHWStateChanged(TARGETING::TargetHandle_t i_target); -/** - * @brief Get the chip ID (P7, P7+, etc.) of this target. - * @param i_target Any chip or unit target. - * @return The chip ID or 0 function failed. - */ -//TODO: See .C -//uint32_t getChipId( TARGETING::TargetHandle_t i_target ); - //############################################################################## //## //## getConnected() support functions diff --git a/src/usr/diag/prdf/plugins/makefile b/src/usr/diag/prdf/plugins/makefile index d567d8e37..c2fab1948 100644 --- a/src/usr/diag/prdf/plugins/makefile +++ b/src/usr/diag/prdf/plugins/makefile @@ -5,7 +5,9 @@ # # OpenPOWER HostBoot Project # -# COPYRIGHT International Business Machines Corp. 2004,2014 +# Contributors Listed Below - COPYRIGHT 2013,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. @@ -29,6 +31,7 @@ CFLAGS += -DPRDF_HOSTBOOT_ERRL_PLUGIN # library names. BASE_LIB_NAME = B-E500 +.include "prdf_rule.mk" .include "tables.mk" .include "plugins.mk" |