summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep07/host_mss_attr_cleanup.C
diff options
context:
space:
mode:
authorDean Sanner <dsanner@us.ibm.com>2018-08-01 10:44:21 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2019-03-06 20:39:10 -0600
commit73fc80f05f076a1270b01a4e73d4d510d03ff2a3 (patch)
tree57f3bc24d4dee56cd502d0b0c68d3da38026103d /src/usr/isteps/istep07/host_mss_attr_cleanup.C
parent90552694307ef94f6150fb9c7cc6af852b68ca41 (diff)
downloadtalos-hostboot-73fc80f05f076a1270b01a4e73d4d510d03ff2a3.tar.gz
talos-hostboot-73fc80f05f076a1270b01a4e73d4d510d03ff2a3.zip
Base HWP mirroring control on HB policy
PHYP can't support mixed mirroring/non mirroed memory, so MRW mirroring needs to be on/off. HB already has this info in a TARGETING ATTR (but not FAPI) and they don't match meaning one for one. Thus make ATTR writable and replicate FW setting to HWP setting Change-Id: I899272d338947f4c41f93c1ece88028053ce9d5f CQ:SW438826 CQ:SW459005 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/64580 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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> Reviewed-by: Matt Derksen <mderkse1@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/isteps/istep07/host_mss_attr_cleanup.C')
-rw-r--r--src/usr/isteps/istep07/host_mss_attr_cleanup.C21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/usr/isteps/istep07/host_mss_attr_cleanup.C b/src/usr/isteps/istep07/host_mss_attr_cleanup.C
index f63fb25f8..ed1cbc25a 100644
--- a/src/usr/isteps/istep07/host_mss_attr_cleanup.C
+++ b/src/usr/isteps/istep07/host_mss_attr_cleanup.C
@@ -5,7 +5,7 @@
/* */
/* OpenPOWER HostBoot Project */
/* */
-/* Contributors Listed Below - COPYRIGHT 2016,2017 */
+/* Contributors Listed Below - COPYRIGHT 2016,2018 */
/* [+] International Business Machines Corp. */
/* */
/* */
@@ -80,6 +80,25 @@ void* host_mss_attr_cleanup( void *io_pArgs )
TRACFCOMP( ISTEPS_TRACE::g_trac_isteps_trace, "host_mss_attr_cleanup entry");
// errlHndl_t l_err = NULL;
+ // Replicate HB memory mirroring policy into HWP policy
+ // Default to non mirror (so if tryGet fails just keep going)
+ Target* l_pTopLevel = NULL;
+ TARGETING::targetService().getTopLevelTarget(l_pTopLevel);
+ TARGETING::ATTR_PAYLOAD_IN_MIRROR_MEM_type l_mirror = 0x0;
+ l_pTopLevel->tryGetAttr<TARGETING::ATTR_PAYLOAD_IN_MIRROR_MEM>
+ (l_mirror);
+
+ if(l_mirror)
+ {
+ l_pTopLevel->setAttr<TARGETING::ATTR_MRW_HW_MIRRORING_ENABLE>
+ (fapi2::ENUM_ATTR_MRW_HW_MIRRORING_ENABLE_TRUE);
+ }
+ else
+ {
+ l_pTopLevel->setAttr<TARGETING::ATTR_MRW_HW_MIRRORING_ENABLE>
+ (fapi2::ENUM_ATTR_MRW_HW_MIRRORING_ENABLE_FALSE);
+ }
+
TargetHandleList l_funcDimmList;
// Get all the functional Dimms
TARGETING::getAllLogicalCards(l_funcDimmList, TYPE_DIMM, true);
OpenPOWER on IntegriCloud