diff options
author | Nick Bofferding <bofferdn@us.ibm.com> | 2017-08-24 23:17:23 -0500 |
---|---|---|
committer | Daniel M. Crowell <dcrowell@us.ibm.com> | 2017-08-26 22:03:30 -0400 |
commit | 28aadd302f7580333212a5b3c7c54c6b03b3761a (patch) | |
tree | b9aef88a7fbc94bcd4da18e7b5c159c9ffe651df /src/usr/i2c | |
parent | bc6c66c50ca468a5463d3e5232751c4382aa845f (diff) | |
download | talos-hostboot-28aadd302f7580333212a5b3c7c54c6b03b3761a.tar.gz talos-hostboot-28aadd302f7580333212a5b3c7c54c6b03b3761a.zip |
Secure Boot: Exempt all ports on i2c engine 2 from diagnostic reset
Change-Id: I8f6ce3000ca9e9626e1027fef6d790e6ecf088e9
Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/45146
Reviewed-by: Michael Baiocchi <mbaiocch@us.ibm.com>
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>
Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com>
Reviewed-by: Stephen M. Cprek <smcprek@us.ibm.com>
Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
Diffstat (limited to 'src/usr/i2c')
-rwxr-xr-x | src/usr/i2c/i2c.C | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/usr/i2c/i2c.C b/src/usr/i2c/i2c.C index 65c34535d..17f5d258d 100755 --- a/src/usr/i2c/i2c.C +++ b/src/usr/i2c/i2c.C @@ -2579,13 +2579,15 @@ errlHndl_t i2cForceResetAndUnlock( TARGETING::Target * i_target, auto skipDiagMode = false; // P9 engine 2 port 0 has a limitation where the diag mode - // cannot be used. -- skip it if the attribute states it - // should not be used + // cannot be used. Since diag mode restrictions are enforced at + // the engine level, generalize this restriction to all ports on + // that engine, skipping the diagnostic reset based on the + // value of the attribute. const auto l_disable_diag_mode = i_target->getAttr< TARGETING::ATTR_DISABLE_I2C_ENGINE2_PORT0_DIAG_MODE>(); - if ( (l_disable_diag_mode) - &&((0 == port) && (2 == i_args.engine))) // Host + if ( (l_disable_diag_mode) + && (2 == i_args.engine)) // Host { skipDiagMode = true; } @@ -2608,7 +2610,7 @@ errlHndl_t i2cForceResetAndUnlock( TARGETING::Target * i_target, TRACFCOMP(g_trac_i2c, INFO_MRK "Not doing i2cForceResetAndUnlock() for " "target=0x%08X: e/p= %d/%d due to P9 diag mode " - "limitations. Disable diag mode on e2/p0 = %d, " + "limitations. Disable diag mode on e2 = %d, " "secure mode enabled = %d", TARGETING::get_huid(i_target), i_args.engine, port,l_disable_diag_mode, |