diff options
author | Dean Sanner <dsanner@us.ibm.com> | 2018-08-01 10:44:21 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2019-03-06 20:39:10 -0600 |
commit | 73fc80f05f076a1270b01a4e73d4d510d03ff2a3 (patch) | |
tree | 57f3bc24d4dee56cd502d0b0c68d3da38026103d /src/usr/isteps/istep07/host_mss_attr_cleanup.C | |
parent | 90552694307ef94f6150fb9c7cc6af852b68ca41 (diff) | |
download | talos-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.C | 21 |
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); |