summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoe McGill <jmcgill@us.ibm.com>2018-01-11 16:15:29 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2018-06-15 10:19:46 -0400
commit6d4c897edca3290c82db2994f550a651b535a1b8 (patch)
tree8bcaa55a6beaca18f3bd5378516bef00fb0b7b94
parent0c44c70474ee8aab98d2a04f793d0af346388037 (diff)
downloadtalos-hostboot-6d4c897edca3290c82db2994f550a651b535a1b8.tar.gz
talos-hostboot-6d4c897edca3290c82db2994f550a651b535a1b8.zip
p9_fab_iovalid -- secure ABUS mailboxes after iovalid is asserted
Setting ABUS_LOCK in security switch register will return all zero data on future reads to secure mailboxes (even half-link, mbox 0) Change-Id: Id36204f016bc766ccd39d7bdae16123dab73a5d1 Original-Change-Id: I6c661839b8661e073ba0e16ce594843e60355f85 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/51817 Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Tested-by: Hostboot CI <hostboot-ci+hostboot@us.ibm.com> Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: Thi N. Tran <thi@us.ibm.com> Reviewed-by: Jennifer A. Stofer <stofer@us.ibm.com> Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/60653 Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com> Disable-CI: Daniel M. Crowell <dcrowell@us.ibm.com> Tested-by: Daniel M. Crowell <dcrowell@us.ibm.com>
-rw-r--r--src/import/chips/p9/procedures/hwp/nest/p9_fab_iovalid.C20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/import/chips/p9/procedures/hwp/nest/p9_fab_iovalid.C b/src/import/chips/p9/procedures/hwp/nest/p9_fab_iovalid.C
index fa0197a1e..ad8b56914 100644
--- a/src/import/chips/p9/procedures/hwp/nest/p9_fab_iovalid.C
+++ b/src/import/chips/p9/procedures/hwp/nest/p9_fab_iovalid.C
@@ -956,6 +956,26 @@ p9_fab_iovalid(const fapi2::Target<fapi2::TARGET_TYPE_PROC_CHIP>& i_target,
FAPI_TRY(FAPI_ATTR_SET(fapi2::ATTR_PROC_FABRIC_A_LINK_DELAY, i_target, l_a_agg_link_delay),
"Error from FAPI_ATTR_GET (ATTR_PROC_FABRIC_A_LINK_DELAY");
+ // lock down secure ABUS mailboxes (even half link, mailbox 0), future
+ // read accessses will return 0
+ if (i_set_not_clear &&
+ i_manage_optical)
+ {
+ fapi2::buffer<uint64_t> l_security_switch;
+
+ FAPI_TRY(fapi2::getScom(i_target,
+ PU_SECURITY_SWITCH_REGISTER_SCOM,
+ l_security_switch),
+ "Error from getScom (PU_SECURITY_SWITCH_REGISTER_SCOM)");
+
+ l_security_switch.setBit<PU_SECURITY_SWITCH_REGISTER_ABUS_LOCK>();
+
+ FAPI_TRY(fapi2::putScom(i_target,
+ PU_SECURITY_SWITCH_REGISTER_SCOM,
+ l_security_switch),
+ "Error from putScom (PU_SECURITY_SWITCH_REGISTER_SCOM)");
+ }
+
fapi_try_exit:
FAPI_INF("End");
return fapi2::current_err;
OpenPOWER on IntegriCloud