diff options
author | Mike Baiocchi <mbaiocch@us.ibm.com> | 2018-02-01 12:14:23 -0600 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2018-02-01 17:58:10 -0500 |
commit | 4046ab053d85e0a531532f1a40894efb9361c83c (patch) | |
tree | a7d8ba193e5d58b03bd7dedbdc893c2353d8d482 /src/usr/util/utiltcemgr.C | |
parent | 5320c4c323d2be26decc21d31aaafd010246fd07 (diff) | |
download | talos-hostboot-4046ab053d85e0a531532f1a40894efb9361c83c.tar.gz talos-hostboot-4046ab053d85e0a531532f1a40894efb9361c83c.zip |
On MPIPLs open up TCE windows for FSP to extract dump information
When the system is rebooting in a MPIPL, in istep 14.8
host_mpipl_service, if TCEs are enabled, a Read-Only TCE window
will be opened for the FSP to read information about the dump.
Change-Id: I1a32c9d4fe0027e795c14c50dfbd8782609b17e9
Backport: release-fips910
CQ:SW415585
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/53204
Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com>
Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com>
Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com>
Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com>
Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/util/utiltcemgr.C')
-rw-r--r-- | src/usr/util/utiltcemgr.C | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/src/usr/util/utiltcemgr.C b/src/usr/util/utiltcemgr.C index 0cf802cd4..e61ae4ca5 100644 --- a/src/usr/util/utiltcemgr.C +++ b/src/usr/util/utiltcemgr.C @@ -78,11 +78,13 @@ namespace TCE /************************************************************************/ errlHndl_t utilAllocateTces(const uint64_t i_startingAddress, const size_t i_size, - uint32_t& o_startingToken) + uint32_t& o_startingToken, + const bool i_rwNotRO) { return Singleton<UtilTceMgr>::instance().allocateTces(i_startingAddress, i_size, - o_startingToken); + o_startingToken, + i_rwNotRO); }; /************************************************************************/ @@ -583,7 +585,8 @@ errlHndl_t UtilTceMgr::initTceInHdw() /************************************************************************/ errlHndl_t UtilTceMgr::allocateTces(const uint64_t i_startingAddress, const size_t i_size, - uint32_t& o_startingToken) + uint32_t& o_startingToken, + const bool i_rwNotRO) { errlHndl_t errl = nullptr; uint32_t numTcesNeeded = 0; @@ -591,7 +594,7 @@ errlHndl_t UtilTceMgr::allocateTces(const uint64_t i_startingAddress, TceEntry_t *tablePtr = nullptr; - TRACFCOMP(g_trac_tce,ENTER_MRK"UtilTceMgr::allocateTces: start for addr = 0x%.16llX and size = 0x%X", i_startingAddress, i_size); + TRACFCOMP(g_trac_tce,ENTER_MRK"UtilTceMgr::allocateTces: start for addr = 0x%.16llX , size = 0x%X, rwNorRO=%d", i_startingAddress, i_size, i_rwNotRO); do { @@ -811,7 +814,11 @@ errlHndl_t UtilTceMgr::allocateTces(const uint64_t i_startingAddress, { tablePtr[index].realPageNumber = (i_startingAddress + (i*PAGESIZE))/PAGESIZE; - tablePtr[index].writeAccess = 1; + + if (i_rwNotRO) + { + tablePtr[index].writeAccess = 1; + } tablePtr[index].readAccess = 1; TRACDCOMP(g_trac_tce,INFO_MRK"UtilTceMgr::allocateTces: TCE Entry/Token[%d] (hex) = 0x%llX", index, tablePtr[index]); |