summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/istep14
diff options
context:
space:
mode:
authorBill Hoffa <wghoffa@us.ibm.com>2018-06-28 10:46:38 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2018-06-30 16:14:33 -0400
commit622bd28195c76976fa13afa9cdef878d883cdcb5 (patch)
tree85cfd09c071bc091d41356fba7bbe5fef917bb49 /src/usr/isteps/istep14
parent62011defef4ebaf5caa90c397b257d297830f58e (diff)
downloadtalos-hostboot-622bd28195c76976fa13afa9cdef878d883cdcb5.tar.gz
talos-hostboot-622bd28195c76976fa13afa9cdef878d883cdcb5.zip
Fix Memory Mirroring Address Calculation
- Use CPU_SPR_HRMOR instead of the deprecated ATTR_HB_HRMOR_NODAL_BASE attribute when calculating mirrored memory address Change-Id: I04d98f92ce71ecbaeb0ca368092253b3d1811003 CQ: SW435289 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61572 Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Dean Sanner <dsanner@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/61702 Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/istep14')
-rw-r--r--src/usr/isteps/istep14/call_proc_exit_cache_contained.C20
1 files changed, 6 insertions, 14 deletions
diff --git a/src/usr/isteps/istep14/call_proc_exit_cache_contained.C b/src/usr/isteps/istep14/call_proc_exit_cache_contained.C
index d9b6f188c..45d4bbf73 100644
--- a/src/usr/isteps/istep14/call_proc_exit_cache_contained.C
+++ b/src/usr/isteps/istep14/call_proc_exit_cache_contained.C
@@ -43,7 +43,6 @@
#include <p9_misc_scom_addresses.H>
#include <p9_exit_cache_contained.H>
-
#include <sys/mm.h>
#include <arch/pirformat.H>
#include <isteps/hwpf_reasoncodes.H>
@@ -51,6 +50,8 @@
#include <config.h>
#include <util/misc.H>
#include <hwas/common/hwas.H>
+#include <sys/misc.h>
+#include <vmmconst.h>
#ifdef CONFIG_SECUREBOOT
#include <secureboot/service.H>
@@ -211,22 +212,13 @@ void* call_proc_exit_cache_contained (void *io_pArgs)
ATTR_MIRROR_BASE_ADDRESS_type l_mirrorBaseAddr = 0;
if(!is_sapphire_load())
{
- uint64_t hrmor_base =
- l_sys->getAttr<TARGETING::ATTR_HB_HRMOR_NODAL_BASE>();
-
+ //First get the Base Memory Mirroring Address
l_mirrorBaseAddr =
l_sys->getAttr<TARGETING::ATTR_MIRROR_BASE_ADDRESS>();
- // For single-node systems, the non-master processors can be
- // in a different logical (powerbus) group.
- // Need to migrate task to master.
- task_affinity_pin();
- task_affinity_migrate_to_master();
- uint64_t this_node = PIR_t(task_getcpuid()).groupId;
- task_affinity_unpin();
-
- l_mirrorBaseAddr += (this_node * hrmor_base);
-
+ //Add on the current HRMOR value being used
+ l_mirrorBaseAddr += (cpu_spr_value(CPU_SPR_HRMOR)
+ - VMM_HRMOR_OFFSET);
}
// Verify there is memory at the mirrored location
OpenPOWER on IntegriCloud