diff options
author | CamVan Nguyen <ctnguyen@us.ibm.com> | 2012-08-15 16:01:22 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-08-16 13:54:43 -0500 |
commit | 1681d8660846d58472bb717917ec383b49d69faf (patch) | |
tree | 9d5449b8aab65fc06bd7c4967db7953be12b8116 /src/usr/hwpf/hwp/edi_ei_initialization | |
parent | 3afee991ccf79716b952706edfdf128b16154810 (diff) | |
download | blackbird-hostboot-1681d8660846d58472bb717917ec383b49d69faf.tar.gz blackbird-hostboot-1681d8660846d58472bb717917ec383b49d69faf.zip |
Updates to IPL flow v1.08
Change-Id: I496b5739f625dd5111a5cdd144e89dcd43ad1986
RTC: 45712
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/1533
Tested-by: Jenkins Server
Reviewed-by: Van H. Lee <vanlee@us.ibm.com>
Reviewed-by: MIKE J. JONES <mjjones@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/edi_ei_initialization')
-rw-r--r-- | src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C | 166 | ||||
-rw-r--r-- | src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H | 102 |
2 files changed, 208 insertions, 60 deletions
diff --git a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C index 3acbef00a..d9fc91941 100644 --- a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C +++ b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.C @@ -62,7 +62,9 @@ // Uncomment these files as they become available: // #include "fabric_erepair/fabric_erepair.H" // #include "fabric_io_dccal/fabric_io_dccal.H" +// #include "fabric_pre_trainadv/fabric_pre_trainadv.H" #include "fabric_io_run_training/fabric_io_run_training.H" +// #include "fabric_post_trainadv/fabric_post_trainadv.H" // #include "host_startPRD_pbus/host_startPRD_pbus.H" // #include "host_attnlisten_proc/host_attnlisten_proc.H" #include "proc_fab_iovalid/proc_fab_iovalid.H" @@ -83,7 +85,7 @@ void call_fabric_erepair( void *io_pArgs ) { errlHndl_t l_errl = NULL; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_fabric_erepair entry" ); #if 0 @@ -107,22 +109,22 @@ void call_fabric_erepair( void *io_pArgs ) FAPI_INVOKE_HWP( l_errl, fabric_erepair, _args_...); if ( l_errl ) { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : .........." ); errlCommit( l_errl, HWPF_COMP_ID ); } else { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "SUCCESS : .........." ); } // @@@@@ END CUSTOM BLOCK: @@@@@ #endif - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_fabric_erepair exit" ); - // end task, returning any errorlogs to IStepDisp + // end task, returning any errorlogs to IStepDisp task_end2( l_errl ); } @@ -136,7 +138,7 @@ void call_fabric_io_dccal( void *io_pArgs ) { errlHndl_t l_errl = NULL; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_fabric_io_dccal entry" ); #if 0 @@ -160,22 +162,22 @@ void call_fabric_io_dccal( void *io_pArgs ) FAPI_INVOKE_HWP( l_errl, fabric_io_dccal, _args_...); if ( l_errl ) { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : .........." ); errlCommit( l_errl, HWPF_COMP_ID ); } else { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "SUCCESS : .........." ); } // @@@@@ END CUSTOM BLOCK: @@@@@ #endif - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_fabric_io_dccal exit" ); - // end task, returning any errorlogs to IStepDisp + // end task, returning any errorlogs to IStepDisp task_end2( l_errl ); } @@ -183,13 +185,66 @@ void call_fabric_io_dccal( void *io_pArgs ) // // Wrapper function to call 08.3 : +// fabric_pre_trainadv +// +void call_fabric_pre_trainadv( void *io_pArgs ) +{ + errlHndl_t l_errl = NULL; + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_fabric_pre_trainadv entry" ); + +#if 0 + // @@@@@ CUSTOM BLOCK: @@@@@ + // figure out what targets we need + // customize any other inputs + // set up loops to go through all targets (if parallel, spin off a task) + + // dump physical path to targets + EntityPath l_path; + l_path = l_@targetN_target->getAttr<ATTR_PHYS_PATH>(); + l_path.dump(); + + // cast OUR type of target to a FAPI type of target. + const fapi::Target l_fapi_@targetN_target( + TARGET_TYPE_MEMBUF_CHIP, + reinterpret_cast<void *> + (const_cast<TARGETING::Target*>(l_@targetN_target)) ); + + // call the HWP with each fapi::Target + FAPI_INVOKE_HWP( l_errl, fabric_pre_trainadv, _args_...); + if ( l_errl ) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR : .........." ); + errlCommit( l_errl, HWPF_COMP_ID ); + } + else + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "SUCCESS : .........." ); + } + // @@@@@ END CUSTOM BLOCK: @@@@@ +#endif + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_fabric_pre_trainadv exit" ); + + // end task, returning any errorlogs to IStepDisp + task_end2( l_errl ); +} + + + +// +// Wrapper function to call 08.4 : // fabric_io_run_training // void call_fabric_io_run_training( void *io_pArgs ) { errlHndl_t l_errl = NULL; - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_fabric_io_run_training entry" ); TargetPairs_t l_PbusConnections; @@ -224,31 +279,84 @@ void call_fabric_io_run_training( void *io_pArgs ) FAPI_INVOKE_HWP( l_errl, fabric_io_run_training, l_fapi_endp1_target, l_fapi_endp2_target ); - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "%s : %cbus connection io_run_training", (l_errl ? "ERROR" : "SUCCESS"), (i ? 'X' : 'A') ); } } - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_fabric_io_run_training exit" ); - // end task, returning any errorlogs to IStepDisp + // end task, returning any errorlogs to IStepDisp task_end2( l_errl ); } // -// Wrapper function to call 08.4 : +// Wrapper function to call 08.5 : +// fabric_post_trainadv +// +void call_fabric_post_trainadv( void *io_pArgs ) +{ + errlHndl_t l_errl = NULL; + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_fabric_post_trainadv entry" ); + +#if 0 + // @@@@@ CUSTOM BLOCK: @@@@@ + // figure out what targets we need + // customize any other inputs + // set up loops to go through all targets (if parallel, spin off a task) + + // dump physical path to targets + EntityPath l_path; + l_path = l_@targetN_target->getAttr<ATTR_PHYS_PATH>(); + l_path.dump(); + + // cast OUR type of target to a FAPI type of target. + const fapi::Target l_fapi_@targetN_target( + TARGET_TYPE_MEMBUF_CHIP, + reinterpret_cast<void *> + (const_cast<TARGETING::Target*>(l_@targetN_target)) ); + + // call the HWP with each fapi::Target + FAPI_INVOKE_HWP( l_errl, fabric_post_trainadv, _args_...); + if ( l_errl ) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR : .........." ); + errlCommit( l_errl, HWPF_COMP_ID ); + } + else + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "SUCCESS : .........." ); + } + // @@@@@ END CUSTOM BLOCK: @@@@@ +#endif + + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "call_fabric_post_trainadv exit" ); + + // end task, returning any errorlogs to IStepDisp + task_end2( l_errl ); +} + + + +// +// Wrapper function to call 08.6 : // host_startPRD_pbus // void call_host_startPRD_pbus( void *io_pArgs ) { errlHndl_t l_errl = NULL; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_startPRD_pbus entry" ); #if 0 @@ -272,36 +380,36 @@ void call_host_startPRD_pbus( void *io_pArgs ) FAPI_INVOKE_HWP( l_errl, host_startPRD_pbus, _args_...); if ( l_errl ) { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : .........." ); errlCommit( l_errl, HWPF_COMP_ID ); } else { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "SUCCESS : .........." ); } // @@@@@ END CUSTOM BLOCK: @@@@@ #endif - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_startPRD_pbus exit" ); - // end task, returning any errorlogs to IStepDisp + // end task, returning any errorlogs to IStepDisp task_end2( l_errl ); } // -// Wrapper function to call 08.5 : +// Wrapper function to call 08.7 : // host_attnlisten_proc // void call_host_attnlisten_proc( void *io_pArgs ) { errlHndl_t l_errl = NULL; - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_attnlisten_proc entry" ); #if 0 @@ -325,29 +433,29 @@ void call_host_attnlisten_proc( void *io_pArgs ) FAPI_INVOKE_HWP( l_errl, host_attnlisten_proc, _args_...); if ( l_errl ) { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : .........." ); errlCommit( l_errl, HWPF_COMP_ID ); } else { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "SUCCESS : .........." ); } // @@@@@ END CUSTOM BLOCK: @@@@@ #endif - TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_attnlisten_proc exit" ); - // end task, returning any errorlogs to IStepDisp + // end task, returning any errorlogs to IStepDisp task_end2( l_errl ); } // -// Wrapper function to call 08.6 : +// Wrapper function to call 08.8 : // proc_fab_iovalid // void call_proc_fab_iovalid( void *io_pArgs ) @@ -447,7 +555,7 @@ void call_proc_fab_iovalid( void *io_pArgs ) { FAPI_INVOKE_HWP( l_errl, proc_fab_iovalid, l_smp, true ); - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "%s : proc_fab_iovalid HWP.", (l_errl ? "ERROR" : "SUCCESS")); } @@ -455,7 +563,7 @@ void call_proc_fab_iovalid( void *io_pArgs ) TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_proc_fab_iovalid exit" ); - // end task, returning any errorlogs to IStepDisp + // end task, returning any errorlogs to IStepDisp task_end2( l_errl ); } diff --git a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H index 5282b78eb..c8f5efa26 100644 --- a/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H +++ b/src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H @@ -1,26 +1,26 @@ -// IBM_PROLOG_BEGIN_TAG -// This is an automatically generated prolog. -// -// $Source: src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.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 - +/* IBM_PROLOG_BEGIN_TAG + * This is an automatically generated prolog. + * + * $Source: src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.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 + */ #ifndef __EDI_EI_INITIALIZATION_EDI_EI_INITIALIZATION_H #define __EDI_EI_INITIALIZATION_EDI_EI_INITIALIZATION_H @@ -39,7 +39,7 @@ */ /* @tag isteplist - * @docversion v1.01 (03/26/12) + * @docversion v1.08 (08/13/12) * @istepname edi_ei_initialization * @istepnum 08 * @istepdesc EDI, EI Initialization @@ -58,24 +58,36 @@ * @} * @{ * @substepnum 3 + * @substepname fabric_pre_trainadv + * @substepdesc : Advanced pre EI/EDI training + * @target_sched serial + * @} + * @{ + * @substepnum 4 * @substepname fabric_io_run_training * @substepdesc : Run training on internal buses * @target_sched serial * @} * @{ - * @substepnum 4 + * @substepnum 5 + * @substepname fabric_post_trainadv + * @substepdesc : Advanced post EI/EDI training + * @target_sched serial + * @} + * @{ + * @substepnum 6 * @substepname host_startPRD_pbus * @substepdesc : Load PRD for powerbus domain * @target_sched serial * @} * @{ - * @substepnum 5 + * @substepnum 7 * @substepname host_attnlisten_proc * @substepdesc : Start listening for attentions * @target_sched serial * @} * @{ - * @substepnum 6 + * @substepnum 8 * @substepname proc_fab_iovalid * @substepdesc : Lower functional fences on local SMP * @target_sched serial @@ -122,9 +134,23 @@ void call_fabric_io_dccal( void *io_pArgs ); /** + * @brief fabric_pre_trainadv + * + * 08.3 : : Advanced pre EI/EDI training + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return none + * + */ +void call_fabric_pre_trainadv( void *io_pArgs ); + + + +/** * @brief fabric_io_run_training * - * 08.3 : : Run training on internal buses + * 08.4 : : Run training on internal buses * * param[in,out] - pointer to any arguments, usually NULL * @@ -136,9 +162,23 @@ void call_fabric_io_run_training( void *io_pArgs ); /** + * @brief fabric_post_trainadv + * + * 08.5 : : Advanced post EI/EDI training + * + * param[in,out] - pointer to any arguments, usually NULL + * + * return none + * + */ +void call_fabric_post_trainadv( void *io_pArgs ); + + + +/** * @brief host_startPRD_pbus * - * 08.4 : : Load PRD for powerbus domain + * 08.6 : : Load PRD for powerbus domain * * param[in,out] - pointer to any arguments, usually NULL * @@ -152,7 +192,7 @@ void call_host_startPRD_pbus( void *io_pArgs ); /** * @brief host_attnlisten_proc * - * 08.5 : : Start listening for attentions + * 08.7 : : Start listening for attentions * * param[in,out] - pointer to any arguments, usually NULL * @@ -166,7 +206,7 @@ void call_host_attnlisten_proc( void *io_pArgs ); /** * @brief proc_fab_iovalid * - * 08.6 : : Lower functional fences on local SMP + * 08.8 : : Lower functional fences on local SMP * * param[in,out] - pointer to any arguments, usually NULL * |