summaryrefslogtreecommitdiffstats
path: root/src/usr/util
diff options
context:
space:
mode:
authorMike Baiocchi <mbaiocch@us.ibm.com>2018-02-01 12:14:23 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-02-01 17:58:10 -0500
commit4046ab053d85e0a531532f1a40894efb9361c83c (patch)
treea7d8ba193e5d58b03bd7dedbdc893c2353d8d482 /src/usr/util
parent5320c4c323d2be26decc21d31aaafd010246fd07 (diff)
downloadtalos-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')
-rw-r--r--src/usr/util/utiltcemgr.C17
-rw-r--r--src/usr/util/utiltcemgr.H9
2 files changed, 17 insertions, 9 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]);
diff --git a/src/usr/util/utiltcemgr.H b/src/usr/util/utiltcemgr.H
index 9bb643dbf..490f10e2e 100644
--- a/src/usr/util/utiltcemgr.H
+++ b/src/usr/util/utiltcemgr.H
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2013,2017 */
+/* Contributors Listed Below - COPYRIGHT 2013,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -254,9 +254,10 @@ class UtilTceMgr
* - see utiltce.H for details
*
*/
- errlHndl_t allocateTces(uint64_t i_startingAddress,
- size_t i_size,
- uint32_t& o_startingToken);
+ errlHndl_t allocateTces(uint64_t i_startingAddress,
+ size_t i_size,
+ uint32_t& o_startingToken,
+ const bool i_rwNotRO);
/**
* @brief Responsible for deallocating TCEs
OpenPOWER on IntegriCloud