From 782de5edafdbc02a756cd6eadb6dfc551496df85 Mon Sep 17 00:00:00 2001 From: Mike Jones Date: Thu, 22 Aug 2013 15:00:24 -0500 Subject: Change HWPF Reg Capture to identify addresses using identifiers HWP Error XML can specify to capture reigsters when an error happens. Rather than extracting the address (0xxxx) from the Register XML element the change here is to use the Register XML element as-is, so it must be a valid identifier (e.g. from p8_scom_addresses.H) or literal. Change-Id: I838fd39b088a174cea6ac7d86ca66356ced123fe RTC: 50833 Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5886 Reviewed-by: Brian H. Horton Tested-by: Jenkins Server Reviewed-by: Donald E. Dahle Reviewed-by: A. Patrick Williams III --- src/usr/hwpf/fapi/fapiParseErrorInfo.pl | 30 +++---------- src/usr/hwpf/fapi/makefile | 2 + src/usr/hwpf/hwp/dram_training/memory_errors.xml | 56 ++++++++++++------------ src/usr/hwpf/hwp/include/cen_scom_addresses.H | 24 ++++++++-- src/usr/hwpf/hwp/proc_cfam_registers.xml | 20 ++++----- src/usr/hwpf/hwp/proc_sbe_registers.xml | 13 +----- 6 files changed, 70 insertions(+), 75 deletions(-) (limited to 'src/usr/hwpf') diff --git a/src/usr/hwpf/fapi/fapiParseErrorInfo.pl b/src/usr/hwpf/fapi/fapiParseErrorInfo.pl index 0117cf077..395d50318 100755 --- a/src/usr/hwpf/fapi/fapiParseErrorInfo.pl +++ b/src/usr/hwpf/fapi/fapiParseErrorInfo.pl @@ -56,6 +56,7 @@ # collectRegisterFfdc element # mjjones 05/20/13 Support Bus Callouts # mjjones 06/24/13 Support Children CDGs +# mjjones 08/20/13 Use constants for Reg FFDC collection # # End Change Log ****************************************************** @@ -278,7 +279,8 @@ print CRFILE "#include \n"; print CRFILE "#include \n"; print CRFILE "#include \n"; print CRFILE "#include \n"; -print CRFILE "#include \n\n"; +print CRFILE "#include \n"; +print CRFILE "#include \n\n"; print CRFILE "namespace fapi\n"; print CRFILE "{\n"; print CRFILE "void fapiCollectRegFfdc(const fapi::Target & i_target,\n"; @@ -777,33 +779,15 @@ foreach my $argnum (1 .. $#ARGV) # Look for CFAM Register addresses foreach my $cfamRegister (@{$registerFfdc->{cfamRegister}}) { - # Extract the address - if ($cfamRegister =~ m/(0x[\dA-Fa-f]+)/) - { - print CRFILE " l_cfamAddresses.push_back($1);\n"; - print CRFILE " l_ffdcSize += sizeof(l_cfamData);\n"; - } - else - { - print ("fapiParseErrorInfo.pl ERROR. CFAM address bad: $cfamRegister\n"); - exit(1); - } + print CRFILE " l_cfamAddresses.push_back($cfamRegister);\n"; + print CRFILE " l_ffdcSize += sizeof(l_cfamData);\n"; } # Look for SCOM Register addresses foreach my $scomRegister (@{$registerFfdc->{scomRegister}}) { - # Extract the address - if ($scomRegister =~ m/(0x[\dA-Fa-f]+)/) - { - print CRFILE " l_scomAddresses.push_back($1ULL);\n"; - print CRFILE " l_ffdcSize += sizeof(l_scomData);\n"; - } - else - { - print ("fapiParseErrorInfo.pl ERROR. SCOM address bad: $scomRegister\n"); - exit(1); - } + print CRFILE " l_scomAddresses.push_back($scomRegister);\n"; + print CRFILE " l_ffdcSize += sizeof(l_scomData);\n"; } print CRFILE " break;\n"; diff --git a/src/usr/hwpf/fapi/makefile b/src/usr/hwpf/fapi/makefile index 5af2f587f..ae098e7d3 100644 --- a/src/usr/hwpf/fapi/makefile +++ b/src/usr/hwpf/fapi/makefile @@ -27,6 +27,8 @@ EXTRAINCDIR += ${ROOTPATH}/src/include/usr/ecmddatabuffer EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/fapi EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/plat EXTRAINCDIR += ${ROOTPATH}/src/include/usr/hwpf/hwp +EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/include + CFLAGS += -D_NO_SPY_ACCESS=1 OBJS = fapiReturnCode.o \ diff --git a/src/usr/hwpf/hwp/dram_training/memory_errors.xml b/src/usr/hwpf/hwp/dram_training/memory_errors.xml index 3b82da84b..d3a6cb2c8 100644 --- a/src/usr/hwpf/hwp/dram_training/memory_errors.xml +++ b/src/usr/hwpf/hwp/dram_training/memory_errors.xml @@ -21,7 +21,7 @@ - + @@ -334,10 +334,10 @@ REG_FFDC_MBI_FIR_REGS - CEN_MBIFIRQ_0x02010800 - CEN_MBIFIRMASK_0x02010803 - CEN_MBIFIRACT0_0x02010806 - CEN_MBIFIRACT1_0x02010807 + MBI_FIR_0x02010800 + MBI_FIRMASK_0x02010803 + MBI_FIRACT0_0x02010806 + MBI_FIRACT1_0x02010807 @@ -360,35 +360,35 @@ MBS_ECC1_MBECCFIR_ACTION1_0x02011487 MBS_ECC1_MBECCFIR_WOF_0x02011488 - CEN_MBS01_MBSFIRQ_0x02011600 - CEN_MBS01_MBSFIRMASK_0x02011603 - CEN_MBS01_MBSFIRACT0_0x02011606 - CEN_MBS01_MBSFIRACT1_0x02011607 - CEN_MBS01_MBSFIRWOF_0x02011608 - - CEN_MBS23_MBSFIRQ_0x02011700 - CEN_MBS23_MBSFIRMASK_0x02011703 - CEN_MBS23_MBSFIRACT0_0x02011706 - CEN_MBS23_MBSFIRACT1_0x02011707 - CEN_MBS23_MBSFIRWOF_0x02011708 + MBS01_MBSFIRQ_0x02011600 + MBS01_MBSFIRMASK_0x02011603 + MBS01_MBSFIRACT0_0x02011606 + MBS01_MBSFIRACT1_0x02011607 + MBS01_MBSFIRWOF_0x02011608 + + MBS23_MBSFIRQ_0x02011700 + MBS23_MBSFIRMASK_0x02011703 + MBS23_MBSFIRACT0_0x02011706 + MBS23_MBSFIRACT1_0x02011707 + MBS23_MBSFIRWOF_0x02011708 REG_FFDC_SCAC_FIR_REGS - CEN_SCAC_LFIR_0x020115c0 - CEN_SCAC_FIRMASK_0x020115c3 - CEN_SCAC_FIRACTION0_0x020115c6 - CEN_SCAC_FIRACTION1_0x020115c7 - CEN_SCAC_FIRWOF_0x020115c8 + SCAC_LFIR_0x020115C0 + SCAC_FIRMASK_0x020115C3 + SCAC_FIRACTION0_0x020115C6 + SCAC_FIRACTION1_0x020115C7 + SCAC_FIRWOF_0x020115C8 REG_FFDC_DDR_PHY_FIR_REGS - PHY01_DDRPHY_FIR_REG_0x800200900301143fULL - PHY01_DDRPHY_FIR_MASK_REG_0x800200930301143fULL - PHY01_DDRPHY_FIR_ACTION0_REG_0x800200960301143fULL - PHY01_DDRPHY_FIR_ACTION1_REG_0x800200970301143fULL - PHY01_DDRPHY_FIR_WOF_REG_0x800200980301143fULL + PHY01_DDRPHY_FIR_REG_0x800200900301143f + PHY01_DDRPHY_FIR_MASK_REG_0x800200930301143f + PHY01_DDRPHY_FIR_ACTION0_REG_0x800200960301143f + PHY01_DDRPHY_FIR_ACTION1_REG_0x800200970301143f + PHY01_DDRPHY_FIR_WOF_REG_0x800200980301143f @@ -396,8 +396,8 @@ CEN_DMIFIR_0x02010400 CEN_DMIFIR_MASK_0x02010403 CEN_DMIFIR_ACT0_0x02010406 - CEN_DMIFIR_ACT0_0x02010407 - CEN_DMIFIR_ACT0_0x02010408 + CEN_DMIFIR_ACT1_0x02010407 + CEN_DMIFIR_WOF_0x02010408 diff --git a/src/usr/hwpf/hwp/include/cen_scom_addresses.H b/src/usr/hwpf/hwp/include/cen_scom_addresses.H index 2309fafe7..12c93fde2 100755 --- a/src/usr/hwpf/hwp/include/cen_scom_addresses.H +++ b/src/usr/hwpf/hwp/include/cen_scom_addresses.H @@ -20,7 +20,7 @@ /* Origin: 30 */ /* */ /* IBM_PROLOG_END_TAG */ -// $Id: cen_scom_addresses.H,v 1.63 2013/06/18 15:20:21 mwuu Exp $ +// $Id: cen_scom_addresses.H,v 1.64 2013/08/22 19:46:32 mjjones Exp $ // $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/centaur/working/procedures/cen_scom_addresses.H,v $ //------------------------------------------------------------------------------ // *! (C) Copyright International Business Machines Corp. 2011 @@ -709,8 +709,16 @@ CONST_UINT64_T( MBA01_MBA_WRD_MODE_0x03010449 , ULL(0x03010449) ); //------------------------------------------------------------------------------ CONST_UINT64_T( MBA01_MBARPC0Q_0x03010434 ,ULL(0x03010434) ); - - +//------------------------------------------------------------------------------ +// DMI FIR Registers +//------------------------------------------------------------------------------ +CONST_UINT64_T( CEN_DMIFIR_0x02010400 , ULL(0x02010400) ); +CONST_UINT64_T( CEN_DMIFIR_MASK_0x02010403 , ULL(0x02010403) ); +CONST_UINT64_T( CEN_DMIFIR_MASK_AND_0x02010404 , ULL(0x02010404) ); +CONST_UINT64_T( CEN_DMIFIR_MASK_OR_0x02010405 , ULL(0x02010405) ); +CONST_UINT64_T( CEN_DMIFIR_ACT0_0x02010406 , ULL(0x02010406) ); +CONST_UINT64_T( CEN_DMIFIR_ACT1_0x02010407 , ULL(0x02010407) ); +CONST_UINT64_T( CEN_DMIFIR_WOF_0x02010408 , ULL(0x02010408) ); //------------------------------------------------------------------------------ // Address Translate Control Registers @@ -729,6 +737,7 @@ CONST_UINT64_T( MBS_ECC0_MBECCFIR_MASK_AND_0x02011444 , ULL(0x02011444) ); CONST_UINT64_T( MBS_ECC0_MBECCFIR_MASK_OR_0x02011445 , ULL(0x02011445) ); CONST_UINT64_T( MBS_ECC0_MBECCFIR_ACTION0_0x02011446 , ULL(0x02011446) ); CONST_UINT64_T( MBS_ECC0_MBECCFIR_ACTION1_0x02011447 , ULL(0x02011447) ); +CONST_UINT64_T( MBS_ECC0_MBECCFIR_WOF_0x02011448 , ULL(0x02011448) ); CONST_UINT64_T( MBS_ECC1_MBECCFIR_0x02011480 , ULL(0x02011480) ); CONST_UINT64_T( MBS_ECC0_MBECCFIR_AND_0x02011481 , ULL(0x02011481) ); @@ -738,6 +747,7 @@ CONST_UINT64_T( MBS_ECC1_MBECCFIR_MASK_AND_0x02011484 , ULL(0x02011484) ); CONST_UINT64_T( MBS_ECC1_MBECCFIR_MASK_OR_0x02011485 , ULL(0x02011485) ); CONST_UINT64_T( MBS_ECC1_MBECCFIR_ACTION0_0x02011486 , ULL(0x02011486) ); CONST_UINT64_T( MBS_ECC1_MBECCFIR_ACTION1_0x02011487 , ULL(0x02011487) ); +CONST_UINT64_T( MBS_ECC1_MBECCFIR_WOF_0x02011488 , ULL(0x02011488) ); //------------------------------------------------------------------------------ // MBS ECC Error Report Hold Registers @@ -991,6 +1001,7 @@ CONST_UINT64_T( MBS_FIR_MASK_REG_AND_0x02011404 , ULL(0x02011404) ); CONST_UINT64_T( MBS_FIR_MASK_REG_OR_0x02011405 , ULL(0x02011405) ); CONST_UINT64_T( MBS_FIR_ACTION0_REG_0x02011406 , ULL(0x02011406) ); CONST_UINT64_T( MBS_FIR_ACTION1_REG_0x02011407 , ULL(0x02011407) ); +CONST_UINT64_T( MBS_FIR_WOF_REG_0x02011408 , ULL(0x02011408) ); //------------------------------------------------------------------------------ // DDRPHY FIR Registers @@ -1001,6 +1012,7 @@ CONST_UINT64_T( PHY01_DDRPHY_FIR_MASK_REG_AND_0x800200940301143f , ULL(0x8002 CONST_UINT64_T( PHY01_DDRPHY_FIR_MASK_REG_OR_0x800200950301143f , ULL(0x800200950301143f) ); CONST_UINT64_T( PHY01_DDRPHY_FIR_ACTION0_REG_0x800200960301143f , ULL(0x800200960301143f) ); CONST_UINT64_T( PHY01_DDRPHY_FIR_ACTION1_REG_0x800200970301143f , ULL(0x800200970301143f) ); +CONST_UINT64_T( PHY01_DDRPHY_FIR_WOF_REG_0x800200980301143f , ULL(0x800200980301143f) ); //------------------------------------------------------------------------------ // MBA RRQ0 Register - DDR read command parameters @@ -1025,6 +1037,7 @@ CONST_UINT64_T( MBS01_MBSFIRMASK_AND_0x02011604 , ULL(0x02011604) ); CONST_UINT64_T( MBS01_MBSFIRMASK_OR_0x02011605 , ULL(0x02011605) ); CONST_UINT64_T( MBS01_MBSFIRACT0_0x02011606 , ULL(0x02011606) ); CONST_UINT64_T( MBS01_MBSFIRACT1_0x02011607 , ULL(0x02011607) ); +CONST_UINT64_T( MBS01_MBSFIRWOF_0x02011608 , ULL(0x02011608) ); CONST_UINT64_T( MBS23_MBSFIRQ_0x02011700 , ULL(0x02011700) ); CONST_UINT64_T( MBS23_MBSFIRMASK_0x02011703 , ULL(0x02011703) ); @@ -1032,6 +1045,7 @@ CONST_UINT64_T( MBS23_MBSFIRMASK_AND_0x02011704 , ULL(0x02011704) ); CONST_UINT64_T( MBS23_MBSFIRMASK_OR_0x02011705 , ULL(0x02011705) ); CONST_UINT64_T( MBS23_MBSFIRACT0_0x02011706 , ULL(0x02011706) ); CONST_UINT64_T( MBS23_MBSFIRACT1_0x02011707 , ULL(0x02011707) ); +CONST_UINT64_T( MBS23_MBSFIRWOF_0x02011708 , ULL(0x02011708) ); //------------------------------------------------------------------------------ // SCAC Registers @@ -1042,6 +1056,7 @@ CONST_UINT64_T( SCAC_FIRMASK_AND_0x020115C4 , ULL(0x020115C4) ); CONST_UINT64_T( SCAC_FIRMASK_OR_0x020115C5 , ULL(0x020115C5) ); CONST_UINT64_T( SCAC_FIRACTION0_0x020115C6 , ULL(0x020115C6) ); CONST_UINT64_T( SCAC_FIRACTION1_0x020115C7 , ULL(0x020115C7) ); +CONST_UINT64_T( SCAC_FIRWOF_0x020115C8 , ULL(0x020115C8) ); //------------------------------------------------------------------------------ // DQ/DQS Slew Registers @@ -1741,6 +1756,9 @@ This section is automatically updated by CVS when you check in this file. Be sure to create CVS comments when you commit so that they can be included here. $Log: cen_scom_addresses.H,v $ +Revision 1.64 2013/08/22 19:46:32 mjjones +Added DMI-FIR and WOF registers + Revision 1.63 2013/06/18 15:20:21 mwuu Fixed naming of IO_FET_SLICE_EN_MAP1_P0_ADR0:3 diff --git a/src/usr/hwpf/hwp/proc_cfam_registers.xml b/src/usr/hwpf/hwp/proc_cfam_registers.xml index bf5f70b5e..861a1c6df 100644 --- a/src/usr/hwpf/hwp/proc_cfam_registers.xml +++ b/src/usr/hwpf/hwp/proc_cfam_registers.xml @@ -20,27 +20,27 @@ - + REG_FFDC_PROC_CFAM_REGISTERS - FSI_STATUS_0x1007 - FSI_GP3_0x2812 - FSI_GP4_0x2813 - FSI_GP5_0x2814 - FSI_GP6_0x2815 - FSI_GP7_0x2816 - FSI_GP8_0x2817 - FSI_GP3MIR_0x281B + CFAM_FSI_STATUS_0x00001007 + CFAM_FSI_GP3_0x00002812 + CFAM_FSI_GP4_0x00002813 + CFAM_FSI_GP5_0x00002814 + CFAM_FSI_GP6_0x00002815 + CFAM_FSI_GP7_0x00002816 + CFAM_FSI_GP8_0x00002817 + CFAM_FSI_GP3_MIRROR_0x0000281B CFAM_FSI_SBE_VITAL_0x0000281C CFAM_FSI_WRITE_PROTECT_0x00002818 REG_FFDC_PROC_STATUS_AND_SBE_VITAL_REGISTERS - FSI_STATUS_0x1007 + CFAM_FSI_STATUS_0x00001007 CFAM_FSI_SBE_VITAL_0x0000281C diff --git a/src/usr/hwpf/hwp/proc_sbe_registers.xml b/src/usr/hwpf/hwp/proc_sbe_registers.xml index a6de24830..bd465197d 100644 --- a/src/usr/hwpf/hwp/proc_sbe_registers.xml +++ b/src/usr/hwpf/hwp/proc_sbe_registers.xml @@ -5,7 +5,7 @@ - + @@ -20,18 +20,11 @@ + REG_FFDC_PROC_SBE_REGISTERS - FSI_STATUS_0x1007 - FSI_GP3_0x2812 - FSI_GP4_0x2813 - FSI_GP5_0x2814 - FSI_GP6_0x2815 - FSI_GP7_0x2816 - FSI_GP8_0x2817 - FSI_GP3MIR_0x281B PORE_SBE_STATUS_0x000E0000 PORE_SBE_CONTROL_0x000E0001 PORE_SBE_RESET_0x000E0002 @@ -58,7 +51,5 @@ PORE_SBE_I2C_E0_PARAM_0x000E0017 PORE_SBE_I2C_E1_PARAM_0x000E0018 PORE_SBE_I2C_E2_PARAM_0x000E0019 - PIBMEM_STATUS_0x00088005 - TP_CLK_STATUS_0x01030008 -- cgit v1.2.3