From a9addc3db4f8940ca38fb63c99fcab26126c88f0 Mon Sep 17 00:00:00 2001 From: Ilya Smirnov Date: Tue, 11 Dec 2018 09:47:55 -0600 Subject: SMF: Logic For Creating Non-Secure HOMER Memory Space For SMF to be enabled, HOMER requires a small amount of non-SMF (unsecure) memory where the "jump to Ultravisor" instruction can be put (to transition to UV mode). This commit sets up a region of non-secure memory space for that purpose. Change-Id: Ib91ec69f49a4e174e65f3c2aad337a68eaa0803b RTC: 205986 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/70699 Reviewed-by: Prem Shanker Jha Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: FSP CI Jenkins Tested-by: Jenkins OP HW Reviewed-by: Nicholas E. Bofferding Reviewed-by: Daniel M. Crowell --- src/include/usr/hdat/hdat.H | 3 ++- src/include/usr/isteps/istep_reasoncodes.H | 2 ++ src/include/usr/secureboot/smf.H | 4 ++++ src/include/usr/vmmconst.h | 4 +--- 4 files changed, 9 insertions(+), 4 deletions(-) (limited to 'src/include/usr') diff --git a/src/include/usr/hdat/hdat.H b/src/include/usr/hdat/hdat.H index 0f750936c..01a196a41 100755 --- a/src/include/usr/hdat/hdat.H +++ b/src/include/usr/hdat/hdat.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2015,2017 */ +/* Contributors Listed Below - COPYRIGHT 2015,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -225,6 +225,7 @@ enum hdatMsVpdRhbAddrRangeType : uint8_t RHB_TYPE_SECUREBOOT = 3, RHB_TYPE_HOMER_OCC = 4, RHB_TYPE_VERIFIED_PNOR = 5, + RHB_TYPE_UNSECURE_HOMER = 6, RHB_TYPE_INVALID = 0xFF }; diff --git a/src/include/usr/isteps/istep_reasoncodes.H b/src/include/usr/isteps/istep_reasoncodes.H index 7aa3abc5e..5bd5fbf94 100644 --- a/src/include/usr/isteps/istep_reasoncodes.H +++ b/src/include/usr/isteps/istep_reasoncodes.H @@ -67,6 +67,7 @@ namespace ISTEP MOD_GET_LANEMASK_FROM_HX_KEYWORD = 0x24, MOD_MSS_SCRUB = 0x25, MOD_CALL_UPDATE_UCD_FLASH = 0x26, + MOD_LOAD_HCODE = 0x27, }; /** @@ -140,6 +141,7 @@ namespace ISTEP RC_PNOR_IPMI_NOT_ENABLED = ISTEP_COMP_ID | 0x4D, RC_SLAVE_CORE_WAKEUP_ERROR = ISTEP_COMP_ID | 0x4E, RC_UCD_IMG_NOT_IN_CONTAINER = ISTEP_COMP_ID | 0x4F, + RC_MM_UNMAP_FAILED = ISTEP_COMP_ID | 0x50, }; }; diff --git a/src/include/usr/secureboot/smf.H b/src/include/usr/secureboot/smf.H index 990bce09b..e062e56c9 100644 --- a/src/include/usr/secureboot/smf.H +++ b/src/include/usr/secureboot/smf.H @@ -27,6 +27,10 @@ #include #include +#include + +// The maximum size of the unsecure HOMER region in reserved memory +#define MAX_UNSECURE_HOMER_SIZE (1 * PAGESIZE) namespace SMF_TRACE { diff --git a/src/include/usr/vmmconst.h b/src/include/usr/vmmconst.h index ee280c6c2..b6841eea4 100644 --- a/src/include/usr/vmmconst.h +++ b/src/include/usr/vmmconst.h @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2011,2018 */ +/* Contributors Listed Below - COPYRIGHT 2011,2019 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -286,6 +286,4 @@ enum BlockPriority #define PREVERLIDMGR_TEST_ADDR (512*MEGABYTE) #define PREVERLIDMGR_TEST_SIZE (64*MEGABYTE) - - #endif /* _VMMCONST_H */ -- cgit v1.2.1