From 44d178b6d050d9491e35360d5f3867e23c8ee895 Mon Sep 17 00:00:00 2001 From: Mike Baiocchi Date: Wed, 24 May 2017 15:20:04 -0500 Subject: Use Scratch Reg 3 Bit 7 to allow Attribute Overrides in Secure Mode Change-Id: Ic9b220dc3480c13e1b1ac1c69a0be148ab5ea977 RTC:163094 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/41114 Reviewed-by: Stephen M. Cprek Reviewed-by: Martin Gloff Tested-by: Jenkins Server Reviewed-by: Marshall J. Wilks Tested-by: FSP CI Jenkins Tested-by: Jenkins OP Build CI Reviewed-by: Daniel M. Crowell --- src/include/bootloader/bootloaderif.H | 9 +++++++-- src/include/kernel/bltohbdatamgr.H | 19 +++++++++++++++++-- src/include/usr/initservice/mboxRegs.H | 17 +++++++++-------- 3 files changed, 33 insertions(+), 12 deletions(-) (limited to 'src/include') diff --git a/src/include/bootloader/bootloaderif.H b/src/include/bootloader/bootloaderif.H index e54688f81..3ec6261be 100644 --- a/src/include/bootloader/bootloaderif.H +++ b/src/include/bootloader/bootloaderif.H @@ -75,7 +75,8 @@ struct BlToHbData branchtableOffset(0), secureRom(nullptr), secureRomSize(0), hwKeysHash(nullptr), hwKeysHashSize(0), hbbHeader(nullptr), - hbbHeaderSize(0), secureAccessBit(false), + hbbHeaderSize(0), secureAccessBit(0), + securityOverride(0), allowAttrOverrides(0), xscomBAR(MMIO_GROUP0_CHIP0_XSCOM_BASE_ADDR), lpcBAR(MMIO_GROUP0_CHIP0_LPC_BASE_ADDR) {} @@ -97,8 +98,12 @@ struct BlToHbData const void* hbbHeader; // size of Hostboot base header size_t hbbHeaderSize; - // Secure Access Bit + // Secure Setting - Secure Access Bit bool secureAccessBit; + // Secure Setting - Security Override + bool securityOverride; + // Secure Setting - Allow Attribute Overrides in Securemode + bool allowAttrOverrides; // XSCOM MMIO BAR uint64_t xscomBAR; // LPC MMIO BAR diff --git a/src/include/kernel/bltohbdatamgr.H b/src/include/kernel/bltohbdatamgr.H index 87db201ab..3e701b01b 100644 --- a/src/include/kernel/bltohbdatamgr.H +++ b/src/include/kernel/bltohbdatamgr.H @@ -143,12 +143,27 @@ class BlToHbDataManager const size_t getHbbHeaderSize() const; /* - * @brief Returns internal secure access bit + * @brief Returns internal Secure Setting: Secure Access Bit * - * @return bool secure access bit + * @return bool Secure Access Bit */ const bool getSecureAccessBit() const; + /* + * @brief Returns internal Secure Setting: Security Override + * + * @return bool Security Override Setting + */ + const bool getSecurityOverride() const; + + /* + * @brief Returns internal Secure Setting: Allow Attribute Overrides + * in Secure Mode + * + * @return bool Allow Attribute Overrides Setting + */ + const bool getAllowAttrOverrides() const; + /* * @brief Returns internal preserved size * diff --git a/src/include/usr/initservice/mboxRegs.H b/src/include/usr/initservice/mboxRegs.H index cde76b1e9..90f639e38 100644 --- a/src/include/usr/initservice/mboxRegs.H +++ b/src/include/usr/initservice/mboxRegs.H @@ -82,14 +82,15 @@ namespace SPLESS uint32_t data32; struct { - uint32_t istepMode :1; //0 - uint32_t goToRuntime :1; //1 - uint32_t isMpipl :1; //2 - uint32_t fspAttached :1; //3 - uint32_t reserved1 :1; //4 - uint32_t sbeInternalFFDC :1; //5 - uint32_t overrideSecurity :1; //6 - uint32_t reserved2 :25; //7:31 + uint32_t istepMode :1; //0 + uint32_t goToRuntime :1; //1 + uint32_t isMpipl :1; //2 + uint32_t fspAttached :1; //3 + uint32_t reserved1 :1; //4 + uint32_t sbeInternalFFDC :1; //5 + uint32_t overrideSecurity :1; //6 + uint32_t allowAttrOverrides :1; //7 + uint32_t reserved2 :24; //8:31 } PACKED; }; -- cgit v1.2.1