summaryrefslogtreecommitdiffstats
path: root/src/usr/hwpf/hwp/edi_ei_initialization
diff options
context:
space:
mode:
authorCamVan Nguyen <ctnguyen@us.ibm.com>2012-08-15 16:01:22 -0500
committerA. Patrick Williams III <iawillia@us.ibm.com>2012-08-16 13:54:43 -0500
commit1681d8660846d58472bb717917ec383b49d69faf (patch)
tree9d5449b8aab65fc06bd7c4967db7953be12b8116 /src/usr/hwpf/hwp/edi_ei_initialization
parent3afee991ccf79716b952706edfdf128b16154810 (diff)
downloadtalos-hostboot-1681d8660846d58472bb717917ec383b49d69faf.tar.gz
talos-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.C166
-rw-r--r--src/usr/hwpf/hwp/edi_ei_initialization/edi_ei_initialization.H102
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
*
OpenPOWER on IntegriCloud