diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2014-04-22 21:37:53 -0500 |
---|---|---|
committer | A. Patrick Williams III <iawillia@us.ibm.com> | 2014-04-24 08:25:22 -0500 |
commit | 993ccd80a387ab6d70f54bcfea8c36344ff6f5cb (patch) | |
tree | e5d12aa5010f38fcddf3e382df4c525878a467f0 | |
parent | a943cc9960ba6393de4dfd6f8c73c1b45a6a670b (diff) | |
download | talos-hostboot-993ccd80a387ab6d70f54bcfea8c36344ff6f5cb.tar.gz talos-hostboot-993ccd80a387ab6d70f54bcfea8c36344ff6f5cb.zip |
Zero out PBA BAR 0 for MPIPL
Change-Id: I3f2b721fe19d4a7b453ee685f1ec90af9bdf6b4f
CQ: SW258345
Backport: release-fips810
Reviewed-on: http://gfw160.aus.stglabs.ibm.com:8080/gerrit/10698
Tested-by: Jenkins Server
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Reviewed-by: A. Patrick Williams III <iawillia@us.ibm.com>
-rw-r--r-- | src/usr/hwpf/hwp/build_winkle_images/build_winkle_images.C | 31 |
1 files changed, 29 insertions, 2 deletions
diff --git a/src/usr/hwpf/hwp/build_winkle_images/build_winkle_images.C b/src/usr/hwpf/hwp/build_winkle_images/build_winkle_images.C index 662bc36c3..37f290468 100644 --- a/src/usr/hwpf/hwp/build_winkle_images/build_winkle_images.C +++ b/src/usr/hwpf/hwp/build_winkle_images/build_winkle_images.C @@ -72,6 +72,7 @@ #include "p8_slw_build/p8_slw_build.H" #include "p8_slw_build/p8_pore_table_gen_api.H" #include "p8_set_pore_bar/p8_set_pore_bar.H" +#include "p8_set_pore_bar/p8_pba_bar_config.H" #include "p8_pm.H" // PM_INIT #include "p8_set_pore_bar/p8_poreslw_init.H" #include "p8_slw_build/sbe_xip_image.h" @@ -718,13 +719,39 @@ void* call_proc_set_pore_bar( void *io_pArgs ) (l_pImage)); } - - if ( l_errl ) + if (l_errl) { TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, "ERROR : p8_set_pore_bar, PLID=0x%x", l_errl->plid() ); + } + else + { + //No error on previous call, make sure to + //init PBA BAR 0 to 0s. This is required on MPIPLs + //so sapphire can determine when OCC is active. FSPless + //it will be active before hostboot hands over control + //FSP mode it will be loaded in sapphire + + FAPI_INVOKE_HWP( l_errl, + p8_pba_bar_config, + l_fapi_cpu_target, + 0, //PBA BAR 0 + 0, //Addr 0 + 0, //Size 0 + 0); //Cmd 0 + + if (l_errl) + { + TRACFCOMP(ISTEPS_TRACE::g_trac_isteps_trace, + "ERROR : p8_pba_bar_config, PLID=0x%x", + l_errl->plid() ); + } + } + + if ( l_errl ) + { // capture the target data in the elog ErrlUserDetailsTarget(l_procChip).addToLog( l_errl ); |