diff options
author | Thi Tran <thi@us.ibm.com> | 2012-10-10 13:39:43 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2012-10-24 10:39:41 -0500 |
commit | 44282a5242ed8f268680cc7fc2c365df79fdd900 (patch) | |
tree | 51000e4c40e0d4f75e0bafae8b1ffe1c1b2695c2 /src/usr/hwpf/hwp/core_activate | |
parent | 054e5219b3c18f11e6a97f9e264513a01f50486e (diff) | |
download | talos-hostboot-44282a5242ed8f268680cc7fc2c365df79fdd900.tar.gz talos-hostboot-44282a5242ed8f268680cc7fc2c365df79fdd900.zip |
HWP: Integrate proc_switch_cfsim into Hostboot
Change-Id: I2f32b1840d9349791494c41d3ca2a7ab29b53e3c
RTC: 41356
Reviewed-on: http://gfw160.austin.ibm.com:8080/gerrit/2019
Tested-by: Jenkins Server
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
Diffstat (limited to 'src/usr/hwpf/hwp/core_activate')
4 files changed, 640 insertions, 39 deletions
diff --git a/src/usr/hwpf/hwp/core_activate/core_activate.C b/src/usr/hwpf/hwp/core_activate/core_activate.C index 89824647b..6bd571751 100644 --- a/src/usr/hwpf/hwp/core_activate/core_activate.C +++ b/src/usr/hwpf/hwp/core_activate/core_activate.C @@ -66,7 +66,7 @@ #include "proc_prep_master_winkle.H" #include "proc_stop_deadman_timer.H" // #include "host_activate_slave_cores/host_activate_slave_cores.H" -// #include "host_ipl_complete/host_ipl_complete.H" +#include "proc_switch_cfsim.H" namespace CORE_ACTIVATE { @@ -300,50 +300,62 @@ void* call_host_activate_slave_cores( void *io_pArgs ) // void* call_host_ipl_complete( void *io_pArgs ) { - errlHndl_t l_errl = NULL; + errlHndl_t l_err = NULL; TRACDCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "call_host_ipl_complete entry" ); do { - -#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, host_ipl_complete, _args_...); - if ( l_errl ) + uint8_t l_cpuNum = 0; + TARGETING::TargetHandleList l_cpuTargetList; + getAllChips(l_cpuTargetList, TYPE_PROC); + for ( l_cpuNum=0; l_cpuNum < l_cpuTargetList.size(); l_cpuNum++ ) { - TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, - "ERROR : .........." ); - errlCommit( l_errl, HWPF_COMP_ID ); + const TARGETING::Target* l_cpu_target = l_cpuTargetList[l_cpuNum]; + const fapi::Target l_fapi_proc_target( + TARGET_TYPE_PROC_CHIP, + reinterpret_cast<void *> + ( const_cast<TARGETING::Target*>(l_cpu_target) ) ); + + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "Running proc_switch_cfsim HWP on..."); + EntityPath l_path; + l_path = l_cpu_target->getAttr<ATTR_PHYS_PATH>(); + l_path.dump(); + + // call proc_switch_cfsim + FAPI_INVOKE_HWP(l_err, proc_switch_cfsim, l_fapi_proc_target, + true, // RESET + true, // RESET_OPB_SWITCH + true, // FENCE_FSI0 + true, // FENCE_PIB_NH + true, // FENCE_PIB_H + true, // FENCE_FSI1 + true); // FENCE_PIB_SW1 + if (l_err) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR 0x%.8X: proc_switch_cfsim HWP returns error", + l_err->reasonCode()); + break; + } + else + { + TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, + "SUCCESS: proc_switch_cfsim HWP( )" ); + } } - else + + if( l_err ) { - TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "SUCCESS : .........." ); + break; } - // @@@@@ END CUSTOM BLOCK: @@@@@ -#endif + // Sync attributes to Fsp - l_errl = syncAllAttributesToFsp(); + l_err = syncAllAttributesToFsp(); - if( l_errl ) + if( l_err ) { break; } @@ -351,17 +363,16 @@ void* call_host_ipl_complete( void *io_pArgs ) // Send Sync Point to Fsp TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, INFO_MRK"Send SYNC_POINT_REACHED msg to Fsp" ); - l_errl = INITSERVICE::sendSyncPoint(); - + l_err = INITSERVICE::sendSyncPoint(); } while( 0 ); TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, - "call_host_ipl_complete exit elog ptr = %p", l_errl ); + "call_host_ipl_complete exit elog ptr = %p", l_err ); // end task, returning any errorlogs to IStepDisp - return l_errl; + return l_err; } diff --git a/src/usr/hwpf/hwp/core_activate/makefile b/src/usr/hwpf/hwp/core_activate/makefile index c296d3b44..824ee02cb 100644 --- a/src/usr/hwpf/hwp/core_activate/makefile +++ b/src/usr/hwpf/hwp/core_activate/makefile @@ -42,14 +42,15 @@ EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate ## EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate/<HWP_dir> EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate/proc_prep_master_winkle EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate/proc_stop_deadman_timer - +EXTRAINCDIR += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate/proc_switch_cfsim ## NOTE: add new object files when you add a new HWP OBJS = core_activate.o \ proc_prep_master_winkle.o \ proc_sbe_ffdc.o \ - proc_stop_deadman_timer.o + proc_stop_deadman_timer.o \ + proc_switch_cfsim.o ## NOTE: add a new directory onto the vpaths when you add a new HWP @@ -57,6 +58,7 @@ OBJS = core_activate.o \ # VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate/<HWP_dir> VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate/proc_prep_master_winkle VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate/proc_stop_deadman_timer +VPATH += ${ROOTPATH}/src/usr/hwpf/hwp/core_activate/proc_switch_cfsim include ${ROOTPATH}/config.mk diff --git a/src/usr/hwpf/hwp/core_activate/proc_switch_cfsim/proc_switch_cfsim.C b/src/usr/hwpf/hwp/core_activate/proc_switch_cfsim/proc_switch_cfsim.C new file mode 100755 index 000000000..45c56627c --- /dev/null +++ b/src/usr/hwpf/hwp/core_activate/proc_switch_cfsim/proc_switch_cfsim.C @@ -0,0 +1,478 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/core_activate/proc_switch_cfsim/proc_switch_cfsim.C $ */ +/* */ +/* 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 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_switch_cfsim.C,v 1.7 2012/05/03 10:41:46 rkoester Exp $ +// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_switch_cfsim.C,v $ +//------------------------------------------------------------------------------ +// *| +// *! (C) Copyright International Business Machines Corp. 2012 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +// *| +// *! TITLE : proc_switch_cfsim.C +// *! DESCRIPTION : Configure the PLLs +// *! +// *! OWNER NAME : Ralph C. Koester Email: rkoester@de.ibm.com +// *! Backup : Todd A. Venton Email: venton@us.ibm.com +// *! +// *! +// *! General Description: +// *! +// *! The purpose of this procedure is to reset fences in CFAM +// *! +// *! via the mailbox register of the PIB +// *! +// *! set the sbetrigger reg via SCOM write +// *| +// *! Procedure Prereq : none +// *! +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +// Includes +//------------------------------------------------------------------------------ +#include "proc_switch_cfsim.H" + + +//------------------------------------------------------------------------------ +// Function definitions +//------------------------------------------------------------------------------ + +extern "C" +{ + + + +//------------------------------------------------------------------------------ +// function: utility subroutine to manipulate GP4 of CFAM via MBOX +// parameters: io_data => Input data buffer +// i_reset => Input parameter (RESET) +// returns: FAPI_RC_SUCCESS if operation was successful, else error +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_reset_fence(ecmdDataBufferBase & io_data, bool i_RESET) +{ + + fapi::ReturnCode rc; + uint32_t rc_ecmd = 0; + + FAPI_DBG("proc_reset_fence: Start"); + + // mark function entry + FAPI_INF("Entry, RESET=%s\n\n" , + i_RESET? "true":"false"); + + do + { + + if(i_RESET==true){ + // manipulate external buffer + rc_ecmd |= io_data.clearBit(3,3); + } + if (rc_ecmd) + { + FAPI_ERR("proc_reset_fence: Error 0x%x setting up data buffer to RESET all fences", + rc_ecmd); + rc.setEcmdError(rc_ecmd); + break; + } + + } while(0); + + FAPI_DBG("proc_reset_fence: End"); + + return rc; +} + +//------------------------------------------------------------------------------ +// function: utility subroutine to manipulate GP4 of CFAM via MBOX +// parameters: io_data => Input data buffer +// i_reset_opb_switch => Input parameter (RESET_OPB_SWITCH) +// returns: FAPI_RC_SUCCESS if operation was successful, else error +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_reset_opb( ecmdDataBufferBase & io_data, + bool i_RESET_OPB_SWITCH) +{ + + fapi::ReturnCode rc; + uint32_t rc_ecmd = 0; + + FAPI_DBG("proc_reset_opb: Start"); + + // mark function entry + FAPI_INF("Entry, RESET_OPB_SWITCH=%s\n\n" , + i_RESET_OPB_SWITCH? "true":"false"); + + + do + { + + if(i_RESET_OPB_SWITCH==true){ + // manipulate external buffer + rc_ecmd |= io_data.setBit(1); + } + if (rc_ecmd) + { + FAPI_ERR("proc_reset_opb: Error 0x%x setting up data buffer to RESET both OPB switches", + rc_ecmd); + rc.setEcmdError(rc_ecmd); + break; + } + + } while(0); + + FAPI_DBG("proc_reset_opb: End"); + + return rc; +} + + +//------------------------------------------------------------------------------ +// function: utility subroutine to manipulate GP4 of CFAM via MBOX +// // parameters: io_data => Input data buffer +// i_fence_fsi0 => Input parameter (FENCE_FSI0) +// returns: FAPI_RC_SUCCESS if operation was successful, else error +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_fence_fsi0( ecmdDataBufferBase & io_data, + bool i_FENCE_FSI0) +{ + + + fapi::ReturnCode rc; + uint32_t rc_ecmd = 0; + + FAPI_DBG("proc_fence_fsi0: Start"); + + // mark function entry + FAPI_INF("Entry, FENCE_FSI0=%s\n\n" , + i_FENCE_FSI0? "true":"false"); + + + do + { + + if(i_FENCE_FSI0==true){ + // manipulate external buffer + rc_ecmd |= io_data.setBit(3); + } + if (rc_ecmd) + { + FAPI_ERR("proc_fence_fsi0: Error 0x%x setting up data buffer to bring-up the fence for FSI0 port", + rc_ecmd); + rc.setEcmdError(rc_ecmd); + break; + } + + } while(0); + + FAPI_DBG("proc_fence_fsi0: End"); + + return rc; +} + + +//------------------------------------------------------------------------------ +// function: utility subroutine to manipulate GP4 of CFAM via MBOX +// parameters: io_data => Input data buffer +// i_fence_pib_nh => Input parameter (FENCE_PIB_NH) +// returns: FAPI_RC_SUCCESS if operation was successful, else error +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_pib_nh( ecmdDataBufferBase & io_data, + bool i_FENCE_PIB_NH) +{ + + fapi::ReturnCode rc; + uint32_t rc_ecmd = 0; + + FAPI_DBG("proc_pib_nh: Start"); + + // mark function entry + FAPI_INF("Entry, FENCE_PIB_NH=%s\n\n" , + i_FENCE_PIB_NH? "true":"false"); + + + do + { + + if(i_FENCE_PIB_NH==true){ + // manipulate external buffer + rc_ecmd |= io_data.setBit(4); + } + if (rc_ecmd) + { + FAPI_ERR("proc_pib_nh: Error 0x%x setting up data buffer to bring-up the fence for the none HOST PIB port", + rc_ecmd); + rc.setEcmdError(rc_ecmd); + break; + } + + } while(0); + + FAPI_DBG("proc_pib_nh: End"); + + return rc; +} + + +//------------------------------------------------------------------------------ +// function: utility subroutine to manipulate GP4 of CFAM via MBOX +// parameters: io_data => Input data buffer +// i_fence_pib_h => Input parameter (FENCE_PIB_H) +// returns: FAPI_RC_SUCCESS if operation was successful, else error +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_pib_h( ecmdDataBufferBase & io_data, + bool i_FENCE_PIB_H) +{ + + + fapi::ReturnCode rc; + uint32_t rc_ecmd = 0; + + FAPI_DBG("proc_pib_h: Start"); + + // mark function entry + FAPI_INF("Entry, FENCE_PIB_H=%s\n\n" , + i_FENCE_PIB_H? "true":"false"); + + + do + { + + if(i_FENCE_PIB_H==true){ + // manipulate external buffer + rc_ecmd |= io_data.setBit(5); + FAPI_DBG("data set bit done"); + } + if (rc_ecmd) + { + FAPI_ERR("proc_pib_h: Error 0x%x setting up data buffer to bring-up the fence for the HOST PIB port", + rc_ecmd); + rc.setEcmdError(rc_ecmd); + break; + } + + } while(0); + + FAPI_DBG("proc_pib_h: End"); + + return rc; +} + +//------------------------------------------------------------------------------ +// function: utility subroutine to manipulate GP4 of CFAM via MBOX +// parameters: io_data => Input data buffer +// i_fence_fsi1 => Input parameter (FENCE_FSI1) +// returns: FAPI_RC_SUCCESS if operation was successful, else error +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_fence_fsi1( ecmdDataBufferBase & io_data, + bool i_FENCE_FSI1) +{ + + // return codes + uint32_t rc_ecmd = 0; + fapi::ReturnCode rc; + + + FAPI_DBG("proc_fence_fsi1: Start"); + + // mark function entry + FAPI_INF("Entry, FENCE_FSI1=%s\n\n" , + i_FENCE_FSI1? "true":"false"); + + do + { + + if(i_FENCE_FSI1==true){ + // manipulate external buffer + rc_ecmd |= io_data.setBit(6); + } + if (rc_ecmd) + { + FAPI_ERR("proc_fence_fsi1: Error 0x%x setting up data buffer to bring-up the fence for the FSI-1 port", + rc_ecmd); + rc.setEcmdError(rc_ecmd); + break; + } + + } while(0); + + FAPI_DBG("proc_fence_fsi1: End"); + + return rc; +} + +//------------------------------------------------------------------------------ +// function: utility subroutine to manipulate GP4 of CFAM via MBOX +// parameters: io_data => Input data buffer +// i_fence_pib_sw1 => Input parameter (FENCE_PIB_SW1) +// returns: FAPI_RC_SUCCESS if operation was successful, else error +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_pib_sw1( ecmdDataBufferBase & io_data , + bool i_FENCE_PIB_SW1) +{ + + fapi::ReturnCode rc; + uint32_t rc_ecmd = 0; + + FAPI_DBG("proc_pib_sw1: Start"); + + // mark function entry + FAPI_INF("Entry, FENCE_PIB_SW1=%s\n\n" , + i_FENCE_PIB_SW1? "true":"false"); + +// // temporary for debug only +// if (i_FENCE_PIB_SW1==true) { FAPI_DBG(" Debug only, print: FENCE_PIB_SW1==true ");} +// else { FAPI_DBG(" Debug only, print: FENCE_PIB_SW1==false ") ; } + + + do + { + + if(i_FENCE_PIB_SW1==true){ + // manipulate external buffer + rc_ecmd |= io_data.setBit(7); + } + if (rc_ecmd) + { + FAPI_ERR("proc_pib_sw1: Error 0x%x setting up data buffer to bring-up the PIB_SW1 fence", + rc_ecmd); + rc.setEcmdError(rc_ecmd); + break; + } + + } while(0); + + FAPI_DBG("proc_pib_sw1: End"); + + return rc; +} +//------------------------------------------------------------------------------ +// Hardware Procedure +//------------------------------------------------------------------------------ +fapi::ReturnCode proc_switch_cfsim(const fapi::Target& i_target, + bool RESET, + bool RESET_OPB_SWITCH, + bool FENCE_FSI0, + bool FENCE_PIB_NH, + bool FENCE_PIB_H, + bool FENCE_FSI1, + bool FENCE_PIB_SW1) +{ + fapi::ReturnCode rc; + ecmdDataBufferBase manipulate(64); + + // mark HWP entry + FAPI_INF("proc_switch_cfsim: Entering ..."); + + do + { + rc = fapiGetScom(i_target, MBOX_FSIGP4_0x00050013, manipulate); + if (rc) + { + FAPI_ERR("proc_switch_cfsim: fapiGetScom error (MBOX_FSIGP4_0x00050013)"); + break; + } + + // start manipulation based on parsed inputs + + FAPI_DBG("Starting manipulating the fences ..."); + + rc = proc_reset_fence( + manipulate, + RESET); + if (rc) + { + break; + } + + rc = proc_reset_opb( + manipulate, + RESET_OPB_SWITCH); + if (rc) + { + break; + } + + rc = proc_fence_fsi0( + manipulate, + FENCE_FSI0); + if (rc) + { + break; + } + + rc = proc_pib_nh( + manipulate, + FENCE_PIB_NH); + if (rc) + { + break; + } + + rc = proc_pib_h( + manipulate, + FENCE_PIB_H); + if (rc) + { + break; + } + + rc = proc_fence_fsi1( + manipulate, + FENCE_FSI1); + if (rc) + { + break; + } + + rc = proc_pib_sw1( + manipulate, + FENCE_PIB_SW1); + if (rc) + { + break; + } + + FAPI_DBG("proc_switch_cfsim: manipulating the fences done."); + + + rc = fapiPutScom(i_target, MBOX_FSIGP4_0x00050013, manipulate); + if (rc) + { + FAPI_ERR("proc_switch_cfsim: fapiPutScom error (MBOX_FSIGP4_0x00050013)"); + break; + } + + + + } while (0); // end do + + // mark function exit + FAPI_INF("proc_switch_cfsim: Exiting ..."); + return rc; +} // end FAPI procedure proc_switch_cfsim + +} // extern "C" +/* Local Variables: */ +/* c-basic-offset: 4 */ +/* End: */ diff --git a/src/usr/hwpf/hwp/core_activate/proc_switch_cfsim/proc_switch_cfsim.H b/src/usr/hwpf/hwp/core_activate/proc_switch_cfsim/proc_switch_cfsim.H new file mode 100755 index 000000000..cf7e211f9 --- /dev/null +++ b/src/usr/hwpf/hwp/core_activate/proc_switch_cfsim/proc_switch_cfsim.H @@ -0,0 +1,110 @@ +/* IBM_PROLOG_BEGIN_TAG */ +/* This is an automatically generated prolog. */ +/* */ +/* $Source: src/usr/hwpf/hwp/core_activate/proc_switch_cfsim/proc_switch_cfsim.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 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_switch_cfsim.H,v 1.3 2012/05/03 10:41:52 rkoester Exp $ +// $Source: /afs/awd/projects/eclipz/KnowledgeBase/.cvsroot/eclipz/chips/p8/working/procedures/ipl/fapi/proc_switch_cfsim.H,v $ +//------------------------------------------------------------------------------ +// *| +// *! (C) Copyright International Business Machines Corp. 2011 +// *! All Rights Reserved -- Property of IBM +// *! *** IBM Confidential *** +// *| +// *! TITLE : p8_switch_cfsim.H +// *! DESCRIPTION : (FAPI) +// *! +// *! OWNER NAME : Ralph Koester Email: rkoester@de.ibm.com +// *! BACKUP NAME : Gebhard Weber Email: gweber@de.ibm.com +// *! +// *! ADDITIONAL COMMENTS : +// *! +// *! this is a function pointer of p8_switch_cfsim.C +// *! +//------------------------------------------------------------------------------ + +#ifndef _P8_SWITCH_CFSIM_H_ +#define _P8_SWITCH_CFSIM_H_ + +//------------------------------------------------------------------------------ +// Includes +//------------------------------------------------------------------------------ + +#include <fapi.H> +#include "p8_scom_addresses.H" + + +//------------------------------------------------------------------------------ +// Structure definitions +//------------------------------------------------------------------------------ + +// function pointer typedef definition for HWP call support + +typedef fapi::ReturnCode +(*proc_switch_cfsim_FP_t)(const fapi::Target&, bool, bool, bool, bool, bool, + bool, bool); + + + + +//------------------------------------------------------------------------------ +// Constant definitions +//------------------------------------------------------------------------------ + + +//------------------------------------------------------------------------------ +// Function prototype +//------------------------------------------------------------------------------ + + +extern "C" +{ + + +/** + * @brief access GP4 of CFAM via MBOX + * + * @param[in] i_target Processor Chip Target (Murano, Venice) + * @param[in] RESET True if all fences should be reset + * @param[in] RESETOPB Reset both OPB switches + * @param[in] FENCEFSI0 Fence port FSI-0 + * @param[in] FENCEPIBnh Fence PIB none HOST PIB port + * @param[in] FENCEPIBh Fence HOST PIB port + * @param[in] FENCEFSI1 Fence Port FSI-1 + * @param[in] FENCEPIBSW1 fence PIB por + * + * @return ReturnCode + */ + +fapi::ReturnCode proc_switch_cfsim(const fapi::Target& i_target, + bool i_RESET, + bool i_RESET_OPB_SWITCH, + bool i_FENCE_FSI0, + bool i_FENCE_PIB_NH, + bool i_FENCE_PIB_H, + bool i_FENCE_FSI1, + bool i_FENCE_PIB_SW1); + +} // extern "C" + + +#endif // _PROC_SWITCH_CFSIM_H_ + + |