diff options
author | Richard J. Knight <rjknight@us.ibm.com> | 2013-08-14 22:28:32 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2013-08-21 16:27:47 -0500 |
commit | 308db00a89c9c18c1c5e346f171f36ec34705f31 (patch) | |
tree | 27e1e2402935294701b49a405ce651ebcd2e70de | |
parent | a0a28214eff925dae2a5e1081c6d600560fafdb5 (diff) | |
download | blackbird-hostboot-308db00a89c9c18c1c5e346f171f36ec34705f31.tar.gz blackbird-hostboot-308db00a89c9c18c1c5e346f171f36ec34705f31.zip |
Update IPL flow for clocks and memory(Hostboot)
Update hostboot code to match version 1.37
of the IPL flow document.
- added proc_cen_ref_clk_enable support
- added mss_dimm_power_test support
- deferred step 12 updates
Change-Id: Ief2d55fa9864ac64b847da21f14b897006965d57
RTC:80595
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/5817
Tested-by: Jenkins Server
Reviewed-by: Brian H. Horton <brianh@linux.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r-- | src/include/usr/hwpf/istepreasoncodes.H | 2 | ||||
-rw-r--r-- | src/include/usr/isteps/istep06list.H | 33 | ||||
-rw-r--r-- | src/include/usr/isteps/istep13list.H | 14 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/dram_training/dram_training.C | 97 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/dram_training/dram_training.H | 55 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/dram_training/makefile | 5 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C | 82 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H | 86 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/slave_sbe/makefile | 5 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C | 187 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H | 86 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml | 39 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/slave_sbe/slave_sbe.C | 165 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/slave_sbe/slave_sbe.H | 53 | ||||
-rw-r--r-- | src/usr/hwpf/makefile | 3 |
15 files changed, 847 insertions, 65 deletions
diff --git a/src/include/usr/hwpf/istepreasoncodes.H b/src/include/usr/hwpf/istepreasoncodes.H index 01dab7c93..e84739b45 100644 --- a/src/include/usr/hwpf/istepreasoncodes.H +++ b/src/include/usr/hwpf/istepreasoncodes.H @@ -118,6 +118,8 @@ enum istepModuleId ISTEP_MEM_PLL_INITF = 0x46, ISTEP_PROC_GETECID = 0x47, ISTEP_INITSVC_MOD_ID = 0x48, + ISTEP_MSS_DIMM_POWER_TEST = 0x49, + ISTEP_PROC_CEN_REF_CLK_ENABLE = 0x4A, }; /** diff --git a/src/include/usr/isteps/istep06list.H b/src/include/usr/isteps/istep06list.H index ec2173ada..79bf0cc2f 100644 --- a/src/include/usr/isteps/istep06list.H +++ b/src/include/usr/isteps/istep06list.H @@ -27,7 +27,6 @@ * @file istep6list.H * * list of functions called by HWAS (ISTEP 6) - "named isteps" - * IPL FLow Doc v1.28 (12/03/12) * * Please see the note in initsvcstructs.H for description of * the ISTEPNAME macro. @@ -49,7 +48,7 @@ namespace INITSERVICE * @note IStep definition for Hostboot - Slave SBE * * IStep 06 Slave SBE - * IPL FLow Doc v1.28 (12/03/12) + * IPL FLow Doc v1.37 (08/13/13) * * 06.1 host_setup * : Setup host environment (non-executable istep) @@ -59,7 +58,7 @@ namespace INITSERVICE * : Setup the FSI links to slave chips * 06.4 host_set_ipl_parms * : Build ipl parameters - * 06.5 host_discover_targets + * 06.5 host_discover_targets * : Builds targeting * 06.6 host_gard * : Do Gard @@ -67,11 +66,13 @@ namespace INITSERVICE * : Clear deconfigured states * 06.8 proc_revert_sbe_mcs_setup * : Clean up MCS extent regs - * 06.9 host_slave_sbe_config - * 06.10 host_sbe_start - * 06.11 proc_check_slave_sbe_seeprom_complete + * 06.9 proc_cen_ref_clk_enable + * : Setup centaur ref clocks + * 06.10 host_slave_sbe_config + * 06.11 host_sbe_start + * 06.12 proc_check_slave_sbe_seeprom_complete * : Check Slave SBE Complete - * 06.12 proc_xmit_sbe + * 06.13 proc_xmit_sbe * : vSBE Init of Slave Chips * */ @@ -168,7 +169,17 @@ const TaskInfo g_istep06[] = { } }, { - ISTEPNAME(06,09,"host_slave_sbe_config"), + ISTEPNAME(06,09,"proc_cen_ref_clk_enable"), + SLAVE_SBE::call_proc_cen_ref_clk_enable, + { + START_FN, + EXT_IMAGE, + NORMAL_IPL_OP, + false, + } + }, + { + ISTEPNAME(06,10,"host_slave_sbe_config"), SLAVE_SBE::call_host_slave_sbe_config, { START_FN, @@ -179,7 +190,7 @@ const TaskInfo g_istep06[] = { }, { - ISTEPNAME(06,10,"host_sbe_start"), + ISTEPNAME(06,11,"host_sbe_start"), SLAVE_SBE::call_host_sbe_start, { START_FN, @@ -190,7 +201,7 @@ const TaskInfo g_istep06[] = { }, { - ISTEPNAME(06,11,"proc_check_slave_sbe_seeprom_complete"), + ISTEPNAME(06,12,"proc_check_slave_sbe_seeprom_complete"), SLAVE_SBE::call_proc_check_slave_sbe_seeprom_complete, { START_FN, @@ -200,7 +211,7 @@ const TaskInfo g_istep06[] = { } }, { - ISTEPNAME(06,12,"proc_xmit_sbe"), + ISTEPNAME(06,13,"proc_xmit_sbe"), SLAVE_SBE::call_proc_xmit_sbe, { START_FN, diff --git a/src/include/usr/isteps/istep13list.H b/src/include/usr/isteps/istep13list.H index 655975ad1..a4c09d0e8 100644 --- a/src/include/usr/isteps/istep13list.H +++ b/src/include/usr/isteps/istep13list.H @@ -27,7 +27,7 @@ * @file istep13list.H * * IStep 13 Step 13 DRAM Training - * IPL FLow Doc v1.28 (12/03/12) + * IPL FLow Doc v1.37 (08/13/13) * * 13.1 host_disable_vddr * : Disable VDDR on CanContinue loops @@ -51,6 +51,7 @@ * : Advanced dram training * 13.11 mss_draminit_mc * : Hand off control to MC + * 13.12 mss_dimm_power_test * * ***************************************************************** * THIS FILE WAS GENERATED ON 2012-02-27:2142 @@ -192,7 +193,16 @@ const TaskInfo g_istep13[] = { true, } }, - + { + ISTEPNAME(13,12,"mss_dimm_power_test"), + DRAM_TRAINING::call_mss_dimm_power_test, + { + START_FN, + EXT_IMAGE, + NORMAL_IPL_OP, + true, + } + }, // END OF LIST! }; diff --git a/src/usr/hwpf/hwp/dram_training/dram_training.C b/src/usr/hwpf/hwp/dram_training/dram_training.C index c0f9f43f0..3d2e11639 100644 --- a/src/usr/hwpf/hwp/dram_training/dram_training.C +++ b/src/usr/hwpf/hwp/dram_training/dram_training.C @@ -65,18 +65,16 @@ const uint8_t VPO_NUM_OF_MEMBUF_TO_RUN = UNLIMITED_RUN; // -- prototype includes -- #include "dram_training.H" -// Un-comment these files as they become available: -// #include "host_disable_vddr/host_disable_vddr.H" #include "mem_pll_setup/cen_mem_pll_initf.H" #include "mem_pll_setup/cen_mem_pll_setup.H" #include "mem_startclocks/cen_mem_startclocks.H" -// #include "host_enable_vddr/host_enable_vddr.H" #include "mss_scominit/mss_scominit.H" #include "mss_ddr_phy_reset/mss_ddr_phy_reset.H" #include "mss_draminit/mss_draminit.H" #include "mss_draminit_training/mss_draminit_training.H" #include "mss_draminit_trainadv/mss_draminit_training_advanced.H" #include "mss_draminit_mc/mss_draminit_mc.H" +#include "mss_dimm_power_test/mss_dimm_power_test.H" namespace DRAM_TRAINING { @@ -936,6 +934,99 @@ void* call_mss_draminit_mc( void *io_pArgs ) return l_stepError.getErrorHandle(); } +// +// Wrapper function to call mss_dimm_power_test +// +void* call_mss_dimm_power_test( void *io_pArgs ) +{ + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_mss_dimm_power_test entry" ); + + errlHndl_t l_err = NULL; + + // get a list of mba targets + IStepError l_stepError; + + TARGETING::TargetHandleList l_mbaTargetList; + TARGETING::TargetHandleList::const_iterator pRangeLimitItr; + TARGETING::TargetHandleList::const_iterator pTargetItr; + + // Get all MBA targets + getAllChiplets(l_mbaTargetList, TYPE_MBA, true); + + // Limit the number of MBAs to run in VPO environment to save time. + uint8_t l_mbaLimit = l_mbaTargetList.size(); + if (TARGETING::is_vpo() && (VPO_NUM_OF_MBAS_TO_RUN < l_mbaLimit)) + { + // limit the range to VPO_NUM_OF_MBAS_TO_RUN + pRangeLimitItr = l_mbaTargetList.begin() + VPO_NUM_OF_MBAS_TO_RUN; + } + else + { + // process all targets + pRangeLimitItr = l_mbaTargetList.end(); + + } + // process each target till we reach the limit set above + for ( TARGETING::TargetHandleList::const_iterator pTargetItr + = l_mbaTargetList.begin(); + pTargetItr != pRangeLimitItr; pTargetItr++) + { + // make a local copy of the target for ease of use + const TARGETING::Target* l_mba_target = *pTargetItr; + + // Dump current run on target + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "Running mss_dimm_power_test HWP on " + "target HUID %.8X", TARGETING::get_huid(l_mba_target)); + + // Cast to a FAPI type of target. + const fapi::Target l_fapi_mba_target( TARGET_TYPE_MBA_CHIPLET, + (const_cast<TARGETING::Target*>(l_mba_target)) ); + + // call the HWP with each fapi::Target + FAPI_INVOKE_HWP(l_err, mss_dimm_power_test, l_fapi_mba_target); + + if (l_err) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR 0x%.8X: mss_dimm_power_test HWP returns error", + l_err->reasonCode()); + + // capture the target data in the elog + ErrlUserDetailsTarget(l_mba_target).addToLog( l_err ); + + /*@ + * @errortype + * @reasoncode ISTEP_DRAM_TRAINING_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_MSS_DIMM_POWER_TEST + * @userdata1 bytes 0-1: plid identifying first error + * bytes 2-3: reason code of first error + * @userdata2 bytes 0-1: total number of elogs included + * bytes 2-3: N/A + * @devdesc call to mss_dimm_power_test has failed + */ + l_stepError.addErrorDetails(ISTEP_DRAM_TRAINING_FAILED, + ISTEP_MSS_DIMM_POWER_TEST, + l_err ); + + errlCommit( l_err, HWPF_COMP_ID ); + + } + else + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "SUCCESS : call_mss_dimm_power_test HWP( )" ); + } + } // end l_mbaNum loop + + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_mss_dimm_power_test exit" ); + + return l_stepError.getErrorHandle(); +} + }; // end namespace diff --git a/src/usr/hwpf/hwp/dram_training/dram_training.H b/src/usr/hwpf/hwp/dram_training/dram_training.H index 6092fb99d..40ca07990 100644 --- a/src/usr/hwpf/hwp/dram_training/dram_training.H +++ b/src/usr/hwpf/hwp/dram_training/dram_training.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/hwpf/hwp/dram_training/dram_training.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/dram_training/dram_training.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef __DRAM_TRAINING_DRAM_TRAINING_H #define __DRAM_TRAINING_DRAM_TRAINING_H @@ -269,6 +268,16 @@ void* call_mss_draminit_trainadv( void * io_pArgs ); * */ void* call_mss_draminit_mc( void * io_pArgs ); +/** + * @brief mss_dimm_power_test + * + * + * param[in,out] io_pArgs - (normally) a pointer to a TaskArgs struct, + * or NULL. + * return any errlogs to istep + * + */ +void* call_mss_dimm_power_test( void * io_pArgs ); }; // end namespace diff --git a/src/usr/hwpf/hwp/dram_training/makefile b/src/usr/hwpf/hwp/dram_training/makefile index 3fe9152b0..527265eec 100644 --- a/src/usr/hwpf/hwp/dram_training/makefile +++ b/src/usr/hwpf/hwp/dram_training/makefile @@ -49,6 +49,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_scominit EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mem_pll_setup EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_draminit_trainadv EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/build_winkle_images/p8_slw_build +EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test ## NOTE: add new object files when you add a new HWP OBJS = dram_training.o \ @@ -68,10 +69,12 @@ OBJS = dram_training.o \ mss_mcbist.o \ mss_mcbist_common.o\ hbVddrMsg.o \ - mss_mcbist_address.o + mss_mcbist_address.o \ + mss_dimm_power_test.o ## NOTE: add a new directory onto the vpaths when you add a new HWP ##@ VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/??? +VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_draminit_training VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_draminit_mc VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/dram_training/mss_draminit diff --git a/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C b/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C new file mode 100644 index 000000000..7343f2cca --- /dev/null +++ b/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C @@ -0,0 +1,82 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +// $Id: mss_dimm_power_test.C,v 1.1 2013/04/18 14:14:10 joabhend Exp $ +// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/centaur/working/procedures/ipl/fapi/mss_dimm_power_test.C,v $ +//------------------------------------------------------------------------------ +// *! (C) Copyright International Business Machines Corp. 2011 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +//------------------------------------------------------------------------------ +// *! TITLE : mss_dimm_power_test +// *! DESCRIPTION : see additional comments below +// *! OWNER NAME : Joab Henderson Email: joabhend@us.ibm.com +// *! BACKUP NAME : Michael Pardeik Email: pardeik@us.ibm.com +// *! ADDITIONAL COMMENTS : +// +// DESCRIPTION: +// The purpose of this procedure is to run an insitu power test on ISDIMMs to determine max power draw +// +// TODO: +// +//------------------------------------------------------------------------------ +// Don't forget to create CVS comments when you check in your changes! +//------------------------------------------------------------------------------ +// CHANGE HISTORY: +//------------------------------------------------------------------------------ +// Version:| Author: | Date: | Comment: +//---------|----------|---------|----------------------------------------------- +// 1.1 | joabhend |04-APR-13| Shell code - Only returns success + + + +//---------------------------------------------------------------------- +// Includes +//---------------------------------------------------------------------- +#include <mss_dimm_power_test.H> +#include <fapi.H> + +extern "C" { + + using namespace fapi; + + + // Procedures in this file + fapi::ReturnCode mss_dimm_power_test(const fapi::Target & i_target); + + +//****************************************************************************** +// +//****************************************************************************** + +fapi::ReturnCode mss_dimm_power_test(const fapi::Target & i_target) +{ + // Target is centaur.mba + + fapi::ReturnCode l_rc = fapi::FAPI_RC_SUCCESS; + + return l_rc; +} + + +} //end extern C + diff --git a/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H b/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H new file mode 100644 index 000000000..e3501e534 --- /dev/null +++ b/src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H @@ -0,0 +1,86 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/dram_training/mss_dimm_power_test/mss_dimm_power_test.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +// $Id: mss_dimm_power_test.H,v 1.1 2013/04/18 14:14:50 joabhend Exp $ +// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/centaur/working/procedures/ipl/fapi/mss_dimm_power_test.H,v $ +//------------------------------------------------------------------------------ +// *! (C) Copyright International Business Machines Corp. 2011 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +//------------------------------------------------------------------------------ +// *! TITLE : mss_throttle_to_power.H +// *! DESCRIPTION : see additional comments below +// *! OWNER NAME : Joab Henderson Email: joabhend@us.ibm.com +// *! BACKUP NAME : Michael Pardeik Email: pardeik@us.ibm.com +// *! ADDITIONAL COMMENTS : +// +// Header file for mss_dimm_power_test. +// +//------------------------------------------------------------------------------ +// Don't forget to create CVS comments when you check in your changes! +//------------------------------------------------------------------------------ +// CHANGE HISTORY: +//------------------------------------------------------------------------------ +// Version:| Author: | Date: | Comment: +//---------|----------|---------|----------------------------------------------- +// 1.1 | joabhend |04-APR-13| First Draft. + + + +#ifndef MSS_DIMM_POWER_TEST_H_ +#define MSS_DIMM_POWER_TEST_H_ + +//---------------------------------------------------------------------- +// Includes +//---------------------------------------------------------------------- +#include <fapi.H> + +//---------------------------------------------------------------------- +// Defines +//---------------------------------------------------------------------- + +//---------------------------------------------------------------------- +// ENUMs +//---------------------------------------------------------------------- + +//---------------------------------------------------------------------- +// Data Types +//---------------------------------------------------------------------- + +typedef fapi::ReturnCode (*mss_dimm_power_test_FP_t)(const fapi::Target & i_target); + +extern "C" +{ + +/** + * @brief mss_dimm_power_test procedure. Run power test on ISDIMMs to determine max power draw + * + * @param[in] i_target Reference to centaur.mba target + * + * @return ReturnCode + */ + + fapi::ReturnCode mss_dimm_power_test(const fapi::Target & i_target); + +} // extern "C" + +#endif // MSS_DIMM_POWER_TEST_H_ diff --git a/src/usr/hwpf/hwp/slave_sbe/makefile b/src/usr/hwpf/hwp/slave_sbe/makefile index 8a9b7ed37..a51963441 100644 --- a/src/usr/hwpf/hwp/slave_sbe/makefile +++ b/src/usr/hwpf/hwp/slave_sbe/makefile @@ -39,6 +39,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_getecid +EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable ## NOTE: add new object files when you add a new HWP @@ -47,9 +48,11 @@ OBJS = slave_sbe.o \ proc_check_slave_sbe_seeprom_complete.o \ proc_extract_sbe_rc.o \ proc_read_seeprom.o \ - proc_getecid.o + proc_getecid.o \ + proc_cen_ref_clk_enable.o ## NOTE: add a new directory onto the vpaths when you add a new HWP +VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_revert_sbe_mcs_setup VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_check_slave_sbe_seeprom_complete VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/slave_sbe/proc_getecid diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C b/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C new file mode 100644 index 000000000..faece1ed5 --- /dev/null +++ b/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C @@ -0,0 +1,187 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.C $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +// -*- mode: C++; c-file-style: "linux"; -*- + +// $Id: proc_cen_ref_clk_enable.C,v 1.2 2013/08/14 20:44:47 jmcgill Exp $ +// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_cen_ref_clk_enable.C,v $ +//------------------------------------------------------------------------------ +// *| +// *! (C) Copyright International Business Machines Corp. 2012 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +// *| +// *! TITLE : proc_cen_ref_clk_enable.C +// *! DESCRIPTION : Enable Centaur reference clocks (FAPI) +// *! +// *! OWNER NAME : Benedikt Geukes Email: benedikt.geukes@de.ibm.com +// *! BACKUP NAME : Ralph Koester Email: rkoester@de.ibm.com +// *! +//------------------------------------------------------------------------------ + +//------------------------------------------------------------------------------ +// Includes +//------------------------------------------------------------------------------ +#include "proc_cen_ref_clk_enable.H" + +//------------------------------------------------------------------------------ +// Function definitions +//------------------------------------------------------------------------------ + +extern "C" +{ + + +//------------------------------------------------------------------------------ +// Hardware Procedure +//------------------------------------------------------------------------------ +// parameters: i_target => chip target +// i_attached_centaurs => bitmask representing attached Centaur +// positions +// returns: FAPI_RC_SUCCESS if operation was successful, else error +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_cen_ref_clk_enable(const fapi::Target & i_target, + const uint8_t i_attached_centaurs) +{ + + ecmdDataBufferBase fsi_data(64); + uint32_t rc_ecmd = 0; + fapi::ReturnCode rc; + uint8_t configured_centaurs = 0x00; + std::vector<fapi::Target> mcs_targets; + + do { + rc = fapiGetScom(i_target, MBOX_FSIGP8_0x00050017, fsi_data); + if (rc) + { + FAPI_ERR("proc_cen_ref_clk_enable: fapiGetScom error (MBOX_FSIGP8_0x00050017)"); + break; + } + + FAPI_INF("proc_cen_ref_clk_enable: got number of attached centaurs: i_attached_centaurs=0x%02X\n", + (int) i_attached_centaurs); + + rc = fapiGetChildChiplets(i_target, + fapi::TARGET_TYPE_MCS_CHIPLET, + mcs_targets, + fapi::TARGET_STATE_FUNCTIONAL); + if (!rc.ok()) + { + FAPI_ERR("proc_cen_ref_clk_enable: Error from fapiGetChildChiplets"); + break; + } + + // loop through MCS chiplets, match with attached Centaurs + for (std::vector<fapi::Target>::iterator i = mcs_targets.begin(); + (i != mcs_targets.end()) && !rc && !rc_ecmd; + i++) + { + uint8_t mcs_unit_id = 0x00; + uint8_t refclock_bit = 0x00; + + rc = FAPI_ATTR_GET(ATTR_CHIP_UNIT_POS, + &(*i), + mcs_unit_id); + if (rc) + { + FAPI_ERR("proc_cen_ref_clk_enable: Error querying ATTR_CHIP_UNIT_POS"); + break; + } + + // continue to next iteration if this MCS is not connected to a Centaur + if (!(i_attached_centaurs & (1 << ((NUM_CENTAUR_POS-1)-mcs_unit_id)))) + { + FAPI_DBG("proc_cen_ref_clk_enable: MCS %d is not connected to a Centaur, skipping...\n", mcs_unit_id); + } + else + { + // mark that we have configured this MCS/Centaur pair + configured_centaurs |= (1 << ((NUM_CENTAUR_POS-1)-mcs_unit_id)); + FAPI_DBG("proc_cen_ref_clk_enable: MCS %d is connected to a Centaur, configured_centaurs: %02X\n", mcs_unit_id,configured_centaurs); + + // query attribute which defines reflock bit associated with this Centaur + rc = FAPI_ATTR_GET(ATTR_DMI_REFCLOCK_SWIZZLE, + &(*i), + refclock_bit); + if (rc) + { + FAPI_ERR("proc_cen_ref_clk_enable: Error querying ATTR_DMI_REFCLOCK_SWIZZLE"); + break; + } + FAPI_DBG("proc_cen_ref_clk_enable: refclock_bit: %02X\n", refclock_bit); + + if ((FSI_GP8_CENTAUR_REFCLOCK_START_BIT + refclock_bit) > FSI_GP8_CENTAUR_REFCLOCK_END_BIT) + { + // bit offset exceeds field range + FAPI_ERR("proc_cen_ref_clk_enable: Translated Centaur refclock enable bit position is out of range!"); + const uint8_t& POSITION = mcs_unit_id; + const uint8_t& REFCLOCK_BIT = refclock_bit; + FAPI_SET_HWP_ERROR(rc, + RC_PROC_CEN_REF_CLK_ENABLE_SWIZZLE_ERR); + break; + } + + rc_ecmd |= fsi_data.setBit(FSI_GP8_CENTAUR_REFCLOCK_START_BIT+ + refclock_bit); + } + } + if (rc) + { + break; + } + if (rc_ecmd) + { + FAPI_ERR("proc_cen_ref_clk_enable: Error (0x%x) setting up ecmdDataBufferBase", rc_ecmd); + rc.setEcmdError(rc_ecmd); + break; + } + + if (configured_centaurs != i_attached_centaurs) + { + FAPI_ERR("proc_cen_ref_clk_enable: Not all Centaurs marked as attached were configured"); + const uint8_t& CONFIGURED = configured_centaurs; + const uint8_t& ATTACHED = i_attached_centaurs; + FAPI_SET_HWP_ERROR(rc, + RC_PROC_CEN_REF_CLK_ENABLE_CONFIG_ERR); + break; + } + + FAPI_INF("proc_cen_ref_clk_enable: Enable refclk for Centaur ..."); + + rc = fapiPutScom(i_target, MBOX_FSIGP8_0x00050017, fsi_data); + if (rc) + { + FAPI_ERR("proc_cen_ref_clk_enable: fapiPutScom error (MBOX_FSIGP8_0x00050017)"); + break; + } + } while(0); // end do + + // mark function exit + FAPI_INF("proc_cen_ref_clk_enable: Exit"); + return rc; +} // end FAPI procedure proc_cen_ref_clk_enable + + +} // extern "C" +/* Local Variables: */ +/* c-basic-offset: 4 */ +/* End: */ diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H b/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H new file mode 100644 index 000000000..ff4507a51 --- /dev/null +++ b/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H @@ -0,0 +1,86 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ +// $Id: proc_cen_ref_clk_enable.H,v 1.1 2013/08/12 18:19:30 jmcgill Exp $ +// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_cen_ref_clk_enable.H,v $ +//------------------------------------------------------------------------------ +// *| +// *! (C) Copyright International Business Machines Corp. 2012 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +// *| +// *! TITLE : proc_cen_ref_clk_enable.H +// *! DESCRIPTION : Enable Centaur reference clocks (FAPI) +// *! +// *! OWNER NAME : Benedikt Geukes Email: benedikt.geukes@de.ibm.com +// *! +//------------------------------------------------------------------------------ + +#ifndef _PROC_CEN_REF_CLK_ENABLE_H_ +#define _PROC_CEN_REF_CLK_ENABLE_H_ + +//------------------------------------------------------------------------------ +// Includes +//------------------------------------------------------------------------------ + +#include <fapi.H> +#include "p8_scom_addresses.H" + +//------------------------------------------------------------------------------ +// Structure definitions +//------------------------------------------------------------------------------ + +// function pointer typedef definition for HWP call support +typedef fapi::ReturnCode (*proc_cen_ref_clk_enable_FP_t)(const fapi::Target &, + const uint8_t); + + +//------------------------------------------------------------------------------ +// Constant definitions +//------------------------------------------------------------------------------ + +const uint8_t NUM_CENTAUR_POS = 8; +const uint8_t FSI_GP8_CENTAUR_REFCLOCK_START_BIT = 16; +const uint8_t FSI_GP8_CENTAUR_REFCLOCK_END_BIT = (FSI_GP8_CENTAUR_REFCLOCK_START_BIT + NUM_CENTAUR_POS - 1); + +//------------------------------------------------------------------------------ +// Function prototypes +//------------------------------------------------------------------------------ + + +extern "C" +{ + +/** + * @brief Enble Centaur reference clocks + * + * @param[in] i_target chip target + * @param[in] i_attached_centaurs Bitmask representing attached Centaur positions + * + * @return ReturnCode + */ + fapi::ReturnCode proc_cen_ref_clk_enable(const fapi::Target & i_target, + const uint8_t i_attached_centaurs); + +} // extern "C" + +#endif // _PROC_CEN_REF_CLK_ENABLE_H diff --git a/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml b/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml new file mode 100644 index 000000000..eff8ecdc9 --- /dev/null +++ b/src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml @@ -0,0 +1,39 @@ +<!-- IBM_PROLOG_BEGIN_TAG --> +<!-- This is an automatically generated prolog. --> +<!-- --> +<!-- $Source: src/usr/hwpf/hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml $ --> +<!-- --> +<!-- IBM CONFIDENTIAL --> +<!-- --> +<!-- COPYRIGHT International Business Machines Corp. 2013 --> +<!-- --> +<!-- p1 --> +<!-- --> +<!-- Object Code Only (OCO) source materials --> +<!-- Licensed Internal Code Source Materials --> +<!-- IBM HostBoot Licensed Internal Code --> +<!-- --> +<!-- The source code for this program is not published or otherwise --> +<!-- divested of its trade secrets, irrespective of what has been --> +<!-- deposited with the U.S. Copyright Office. --> +<!-- --> +<!-- Origin: 30 --> +<!-- --> +<!-- IBM_PROLOG_END_TAG --> +<!-- $Id: proc_cen_ref_clk_enable_errors.xml,v 1.1 2013/08/14 20:45:46 jmcgill Exp $ --> +<!-- Error definitions for proc_cen_ref_clk_enable --> +<hwpErrors> + <!-- *********************************************************************** --> + <hwpError> + <rc>RC_PROC_CEN_REF_CLK_ENABLE_SWIZZLE_ERR</rc> + <description>Translated Centaur refclock enable bit position is out of range.</description> + <ffdc>POSITION</ffdc> + <ffdc>REFCLOCK_BIT</ffdc> + </hwpError> + <hwpError> + <rc>RC_PROC_CEN_REF_CLK_ENABLE_CONFIG_ERR</rc> + <description>Not all Centaurs marked as attached were configured.</description> + <ffdc>CONFIGURED</ffdc> + <ffdc>ATTACHED</ffdc> + </hwpError> +</hwpErrors> diff --git a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C index e96dd3ea5..859a96389 100644 --- a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C +++ b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.C @@ -52,6 +52,7 @@ #include <fapi.H> #include <fapiPlatHwpInvoker.H> +#include "proc_cen_ref_clk_enable/proc_cen_ref_clk_enable.H" #include "slave_sbe.H" #include "proc_revert_sbe_mcs_setup/proc_revert_sbe_mcs_setup.H" #include "proc_check_slave_sbe_seeprom_complete.H" @@ -65,6 +66,8 @@ using namespace TARGETING; namespace SLAVE_SBE { +uint8_t getMembufsAttachedBitMask( TARGETING::Target * i_procChipHandle ); + //****************************************************************************** // call_proc_revert_sbe_mcs_setup function //****************************************************************************** @@ -348,5 +351,167 @@ void* call_proc_xmit_sbe(void *io_pArgs ) return l_stepError.getErrorHandle(); } +//****************************************************************************** +// call_proc_cen_ref_clock_enable +//****************************************************************************** +void* call_proc_cen_ref_clk_enable(void *io_pArgs ) +{ + errlHndl_t l_errl = NULL; + + IStepError l_stepError; + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_proc_cen_ref_clock_enable enter" ); + + TARGETING::TargetHandleList functionalProcChipList; + + getAllChips(functionalProcChipList, TYPE_PROC, true); + + // loop thru the list of processors + for (TargetHandleList::const_iterator + l_proc_iter = functionalProcChipList.begin(); + l_proc_iter != functionalProcChipList.end(); + ++l_proc_iter) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "target HUID %.8X", + TARGETING::get_huid( *l_proc_iter )); + + uint8_t l_membufsAttached = 0; + // get a bit mask of present/functional dimms assocated with + // this processor + l_membufsAttached = getMembufsAttachedBitMask( *l_proc_iter ); + + + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "passing target HUID %.8X and 0x%x mask", + TARGETING::get_huid( *l_proc_iter ), l_membufsAttached ); + + if( l_membufsAttached ) + { + + fapi::Target l_fapiProcTarget( fapi::TARGET_TYPE_PROC_CHIP, + *l_proc_iter ); + + // Invoke the HWP passing in the proc target and + // a bit mask indicating connected centaurs + FAPI_INVOKE_HWP(l_errl, + proc_cen_ref_clk_enable, + l_fapiProcTarget, l_membufsAttached ); + + if (l_errl) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR : proc_cen_ref_clk_enable", + "failed, returning errorlog" ); + + // capture the target data in the elog + ErrlUserDetailsTarget( *l_proc_iter ).addToLog( l_errl ); + /*@ + * @errortype + * @reasoncode ISTEP_SLAVE_SBE_FAILED + * @severity ERRORLOG::ERRL_SEV_UNRECOVERABLE + * @moduleid ISTEP_PROC_CEN_REF_CLK_ENABLE + * @userdata1 bytes 0-1: plid identifying first error + * bytes 2-3: reason code of first error + * @userdata2 bytes 0-1: total number of elogs included + * bytes 2-3: N/A + * @devdesc call to proc_cen_ref_clk_enable returned an error + * + */ + l_stepError.addErrorDetails( ISTEP_SLAVE_SBE_FAILED, + ISTEP_PROC_CEN_REF_CLK_ENABLE, + l_errl ); + + errlCommit( l_errl, HWPF_COMP_ID ); + } + else + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "SUCCESS : proc_cen_ref_clk_enable", + "completed ok"); + } + } + } // endfor + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_proc_cen_ref_clock_enable exit" ); + + // end task, returning any errorlogs to IStepDisp + return l_stepError.getErrorHandle(); +} + +//****************************************************************************** +// getMembufsAttachedBitMask - helper function for hwp proc_cen_ref_clk_enable +//****************************************************************************** +uint8_t getMembufsAttachedBitMask( TARGETING::Target * i_procTarget ) +{ + const uint8_t MCS_WITH_ATTACHED_CENTAUR_MASK = 0x80; + + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "Finding functional membuf chips downstream from " + "proc chip with HUID of 0x%08X", + i_procTarget->getAttr<TARGETING::ATTR_HUID>()); + + uint8_t l_attachedMembufs = 0; + + // Get list of functional membuf chips downstream from the given + // proc chip + TARGETING::TargetHandleList functionalMembufChipList; + + getChildAffinityTargets( functionalMembufChipList, + const_cast<TARGETING::Target*>(i_procTarget ), + TARGETING::CLASS_CHIP, + TARGETING::TYPE_MEMBUF, + true); + + // loop through the functional membufs + for(TARGETING::TargetHandleList::const_iterator pTargetItr + = functionalMembufChipList.begin(); + pTargetItr != functionalMembufChipList.end(); + pTargetItr++) + { + // Find each functional membuf chip's upstream functional MCS + // unit, if any, and accumulate it into the attached membuf + // chips mask + TARGETING::TargetHandleList functionalMcsUnitList; + + getParentAffinityTargets( functionalMcsUnitList, *pTargetItr, + TARGETING::CLASS_UNIT, TARGETING::TYPE_MCS, + true ); + + if(functionalMcsUnitList.empty()) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "Functional membuf chip with HUID of 0x%08X " + "is not attached to an upstream functional MCS", + (*pTargetItr)->getAttr< + TARGETING::ATTR_HUID>()); + continue; + } + + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "Found functional MCS unit with HUID of 0x%08X " + "upstream from functional membuf chip with HUID of 0x%08X", + ((*functionalMcsUnitList.begin())->getAttr< + TARGETING::ATTR_CHIP_UNIT>()), + (*pTargetItr)->getAttr< + TARGETING::ATTR_HUID>()); + l_attachedMembufs |= + ((MCS_WITH_ATTACHED_CENTAUR_MASK) >> + ((*functionalMcsUnitList.begin())->getAttr< + TARGETING::ATTR_CHIP_UNIT>())); + } + + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "Proc chip with HUID of 0x%08X has attached membuf " + "mask (l_attachedMembufs) of 0x%02X", + i_procTarget->getAttr<TARGETING::ATTR_HUID>(), + l_attachedMembufs); + + // return the bitmask + return l_attachedMembufs; + +} } diff --git a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.H b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.H index b0fed944f..38637c85c 100644 --- a/src/usr/hwpf/hwp/slave_sbe/slave_sbe.H +++ b/src/usr/hwpf/hwp/slave_sbe/slave_sbe.H @@ -1,26 +1,25 @@ -/* IBM_PROLOG_BEGIN_TAG - * This is an automatically generated prolog. - * - * $Source: src/usr/hwpf/hwp/slave_sbe/slave_sbe.H $ - * - * IBM CONFIDENTIAL - * - * COPYRIGHT International Business Machines Corp. 2012 - * - * p1 - * - * Object Code Only (OCO) source materials - * Licensed Internal Code Source Materials - * IBM HostBoot Licensed Internal Code - * - * The source code for this program is not published or other- - * wise divested of its trade secrets, irrespective of what has - * been deposited with the U.S. Copyright Office. - * - * Origin: 30 - * - * IBM_PROLOG_END_TAG - */ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/slave_sbe/slave_sbe.H $ */ +/* */ +/* IBM CONFIDENTIAL */ +/* */ +/* COPYRIGHT International Business Machines Corp. 2012,2013 */ +/* */ +/* p1 */ +/* */ +/* Object Code Only (OCO) source materials */ +/* Licensed Internal Code Source Materials */ +/* IBM HostBoot Licensed Internal Code */ +/* */ +/* The source code for this program is not published or otherwise */ +/* divested of its trade secrets, irrespective of what has been */ +/* deposited with the U.S. Copyright Office. */ +/* */ +/* Origin: 30 */ +/* */ +/* IBM_PROLOG_END_TAG */ #ifndef __SLAVE_SBE_SLAVE_SBE_H #define __SLAVE_SBE_SLAVE_SBE_H @@ -122,6 +121,14 @@ void* call_proc_check_slave_sbe_seeprom_complete(void *io_pArgs); * return any error logs to istep */ void* call_proc_xmit_sbe(void *io_pArgs); +/** + * @brief proc_cen_ref_clk_enable + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return any error logs to istep + */ +void* call_proc_cen_ref_clk_enable(void *io_pArgs); }; // end namespace diff --git a/src/usr/hwpf/makefile b/src/usr/hwpf/makefile index 67aa2984f..608f4d082 100644 --- a/src/usr/hwpf/makefile +++ b/src/usr/hwpf/makefile @@ -101,7 +101,8 @@ HWP_ERROR_XML_FILES = hwp/fapiHwpErrorInfo.xml \ hwp/dram_training/mem_startclocks/memory_cen_stopclocks.xml \ hwp/dram_training/mss_scominit/memory_mss_scominit.xml \ hwp/dram_training/mss_draminit_trainadv/memory_mss_mcbist_common.xml \ - hwp/dram_initialization/proc_setup_bars/memory_mss_setup_bars.xml + hwp/dram_initialization/proc_setup_bars/memory_mss_setup_bars.xml \ + hwp/slave_sbe/proc_cen_ref_clk_enable/proc_cen_ref_clk_enable_errors.xml ## these get generated into obj/genfiles/AttributeIds.H HWP_ATTR_XML_FILES = hwp/memory_attributes.xml \ |