summaryrefslogtreecommitdiffstats
path: root/src/usr/isteps/nest
diff options
context:
space:
mode:
authorChristian Geddes <crgeddes@us.ibm.com>2018-05-16 11:28:38 -0500
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-05-29 10:12:09 -0400
commita09327508399ce6d7c9f569f4011b097e92cfdaa (patch)
tree18d03d3299aa8e5b7fb68fcbb075e9842b421ea2 /src/usr/isteps/nest
parent264b8c707d653cefd84c5ad939e458e8a064261e (diff)
downloadblackbird-hostboot-a09327508399ce6d7c9f569f4011b097e92cfdaa.tar.gz
blackbird-hostboot-a09327508399ce6d7c9f569f4011b097e92cfdaa.zip
Save and restore OBUS related firmasks
During Hostboot IPL time it is impossible to see OBUS peers because they exists on different nodes and Hostboot is unaware of other nodes. Because of this we must mask off additional OBUS related firs during Hostboot IPL time. After we have reached runtime and have re-adjusted PEER targets we can restore the FIR values to what they were prior to the additional masking Hostboot does during IPL time. Change-Id: Ib9c158191c7f68f4bd7126799ba0a0aba40cee18 CQ: SW425530 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/58916 Tested-by: Jenkins Server <pfd-jenkins+hostboot@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: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/isteps/nest')
-rw-r--r--src/usr/isteps/nest/makefile1
-rw-r--r--src/usr/isteps/nest/nestHwpHelperFuncs.C8
-rw-r--r--src/usr/isteps/nest/nestHwpHelperFuncs.H1
3 files changed, 10 insertions, 0 deletions
diff --git a/src/usr/isteps/nest/makefile b/src/usr/isteps/nest/makefile
index 6a0a35625..a858b2cb2 100644
--- a/src/usr/isteps/nest/makefile
+++ b/src/usr/isteps/nest/makefile
@@ -39,6 +39,7 @@ EXTRAINCDIR += ${ROOTPATH}/src/import/chips/common/utils/imageProcs/
EXTRAINCDIR += ${PROCEDURES_PATH}/hwp/initfiles
OBJS += nestHwpHelperFuncs.o
+OBJS += p9_io_obus_firmask_save_restore.o
VPATH += ${PROCEDURES_PATH}/hwp/initfiles
VPATH += ${PROCEDURES_PATH}/hwp/io
diff --git a/src/usr/isteps/nest/nestHwpHelperFuncs.C b/src/usr/isteps/nest/nestHwpHelperFuncs.C
index 451caf79f..6ff374f5d 100644
--- a/src/usr/isteps/nest/nestHwpHelperFuncs.C
+++ b/src/usr/isteps/nest/nestHwpHelperFuncs.C
@@ -54,6 +54,7 @@
#include <p9_fbc_eff_config_links.H>
#include <p9_sys_chiplet_scominit.H>
#include <p9_chiplet_fabric_scominit.H>
+#include <p9_io_obus_firmask_save_restore.H>
namespace ISTEP
{
@@ -81,6 +82,7 @@ const char * hwpCallToString( HWP_CALL_TYPE i_hwpCall )
{ P9_PSI_SCOMINIT, "p9_psi_scominit" },
{ P9_SYS_CHIPLET_SCOMINIT, "p9_sys_chiplet_scominit" },
{ P9_XBUS_ENABLE_RIDI, "p9_xbus_enable_ridi" },
+ { P9_OBUS_FIRMASK_SAVE_RESTORE, "p9_io_obus_firmask_save_restore" },
};
if (hwpCallToStringMap.count(i_hwpCall) > 0)
@@ -208,6 +210,12 @@ void fapiHWPCallWrapper(HWP_CALL_TYPE i_hwpCall,
p9_chiplet_fabric_scominit,
l_fapi2Target);
}
+ else if (P9_OBUS_FIRMASK_SAVE_RESTORE == i_hwpCall)
+ {
+ FAPI_INVOKE_HWP(l_err,
+ p9_io_obus_firmask_save_restore,
+ l_fapi2Target, p9iofirmasksaverestore::SAVE);
+ }
else
{
TRACFCOMP(g_trac_isteps_trace, "ERROR: Invalid/Uknown HWP call");
diff --git a/src/usr/isteps/nest/nestHwpHelperFuncs.H b/src/usr/isteps/nest/nestHwpHelperFuncs.H
index fb35700b7..9fe2b23bf 100644
--- a/src/usr/isteps/nest/nestHwpHelperFuncs.H
+++ b/src/usr/isteps/nest/nestHwpHelperFuncs.H
@@ -74,6 +74,7 @@ enum HWP_CALL_TYPE
P9_PSI_SCOMINIT,
P9_SYS_CHIPLET_SCOMINIT, // Although it says chiplet, this uses proc chip
P9_XBUS_ENABLE_RIDI,
+ P9_OBUS_FIRMASK_SAVE_RESTORE, // loops on proc chip
};
/**
OpenPOWER on IntegriCloud