summaryrefslogtreecommitdiffstats
path: root/src/usr/sbe/sbe_update.C
diff options
context:
space:
mode:
authorJaymes Wilks <mjwilks@us.ibm.com>2017-09-13 09:53:39 -0500
committerWilliam G. Hoffa <wghoffa@us.ibm.com>2017-10-20 12:50:04 -0400
commitb70fc1ac984f9da0d9e4932b8a9e40b1ccf4da50 (patch)
tree509a1189bbbb420583dadd61603a08eb6691e2c3 /src/usr/sbe/sbe_update.C
parent3f4963bae6821005c0d355587e43ca17512e5a3b (diff)
downloadtalos-hostboot-b70fc1ac984f9da0d9e4932b8a9e40b1ccf4da50.tar.gz
talos-hostboot-b70fc1ac984f9da0d9e4932b8a9e40b1ccf4da50.zip
Implement Secure unload
Implement Secure unload of secure sections within PNOR. Change-Id: I92a00013d23e0506f89f89ec41a193eac0b25d25 RTC:157475 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/46203 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: Michael Baiocchi <mbaiocch@us.ibm.com> Reviewed-by: Nicholas E. Bofferding <bofferdn@us.ibm.com> Reviewed-by: William G. Hoffa <wghoffa@us.ibm.com>
Diffstat (limited to 'src/usr/sbe/sbe_update.C')
-rw-r--r--src/usr/sbe/sbe_update.C17
1 files changed, 5 insertions, 12 deletions
diff --git a/src/usr/sbe/sbe_update.C b/src/usr/sbe/sbe_update.C
index 5054a5dfa..1a2cea5cb 100644
--- a/src/usr/sbe/sbe_update.C
+++ b/src/usr/sbe/sbe_update.C
@@ -1706,7 +1706,7 @@ namespace SBE
ERRL_GETPLID_SAFE(err));
break;
}
-
+
bool l_bootSide0 = (l_bootside == SBE_SEEPROM0);
TRACFCOMP( g_trac_sbe,INFO_MRK"updateSbeBootSeeprom(): set SBE boot side %d for proc=%.8X",
@@ -4226,16 +4226,6 @@ namespace SBE
break;
}
-#ifndef CONFIG_SECUREBOOT
- // @TODO RTC 157475
- // UnloadSecureSection is not fully implemented so we do not attempt
- // to pull the SBE partition back in after the initial time.
- // NOTE: PNOR::flush(PNOR::HB_BOOTLOADER) is another thing that
- // could be flushed. It's only 20K, but it would be 5 pages
- // freed up.
- PNOR::flush( PNOR::SBE_IPL );
-#endif
-
// Unload PNOR sections from secure memory
#ifdef CONFIG_SECUREBOOT
err = unloadSecureSection(PNOR::SBE_IPL);
@@ -4251,14 +4241,17 @@ namespace SBE
TRACFCOMP( g_trac_sbe, ERR_MRK,"cleanupSbeImageVmmSpace() - Error from unloadSecureSection(PNOR::HB_BOOTLOADER)");
break;
}
+
err = unloadSecureSection(PNOR::HCODE);
if (err)
{
TRACFCOMP( g_trac_sbe, ERR_MRK,"cleanupSbeImageVmmSpace() - Error from unloadSecureSection(PNOR::HCODE)");
break;
}
-
#endif
+ PNOR::flush( PNOR::SBE_IPL );
+ PNOR::flush( PNOR::HB_BOOTLOADER );
+ PNOR::flush( PNOR::HCODE );
}while(0);
OpenPOWER on IntegriCloud