From 21bcf18c2d4da4d3c6cb2d306c17422cdfc80ec6 Mon Sep 17 00:00:00 2001 From: Jaymes Wilks Date: Fri, 20 Jan 2017 10:31:30 -0600 Subject: TPM Log Pass up to FSP Host Adds hostboot functionality to populate the HDAT area with System Security Settings, TPM Configuration bits, TPMs/Drawer and Hardware Key Hash Values in the HDAT area for passing up to FSP hosts. Change-Id: I34a9ec51d0311a0a7bc5468a8261a1276b0e5f7a RTC:125306 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/35163 Tested-by: Jenkins Server Tested-by: FSP CI Jenkins Tested-by: Jenkins OP Build CI Reviewed-by: Michael Baiocchi Reviewed-by: Stephen M. Cprek Reviewed-by: Daniel M. Crowell --- src/usr/hdat/hdatiplparms.C | 31 +++++++------------------------ src/usr/hdat/hdatiplparms.H | 3 +-- 2 files changed, 8 insertions(+), 26 deletions(-) (limited to 'src/usr/hdat') diff --git a/src/usr/hdat/hdatiplparms.C b/src/usr/hdat/hdatiplparms.C index 33f2c4b3f..900dbf07c 100755 --- a/src/usr/hdat/hdatiplparms.C +++ b/src/usr/hdat/hdatiplparms.C @@ -773,32 +773,15 @@ void HdatIplParms::hdatGetSystemParamters() HDAT_ERR("Error in getting SYSTEM_BRAND_NAME"); } - //TODO RTC Story 161867 - //Need to remove the hard coding data - this->iv_hdatIPLParams->iv_sysParms.hdatTpmDrawer = 1; + // The next 4 fields are set to their final values in a common handler + // in istep 21.1, to avoid trust issues when HDAT is initially populated + // by a service processor + this->iv_hdatIPLParams->iv_sysParms.hdatSysSecuritySetting = 0; - TARGETING::ATTR_SECURITY_ENABLE_type l_sysSecuritySetting; - if(l_pSysTarget->tryGetAttr - (l_sysSecuritySetting)) - { - this->iv_hdatIPLParams->iv_sysParms.hdatSysSecuritySetting = - l_sysSecuritySetting; - } - else - { - HDAT_ERR("Error in getting SECURITY_ENABLE attribute"); - } + this->iv_hdatIPLParams->iv_sysParms.hdatTpmConfBits = 0; + + this->iv_hdatIPLParams->iv_sysParms.hdatTpmDrawer = 0; - TARGETING::ATTR_TPM_REQUIRED_type l_tpmConfBits; - if(l_pSysTarget->tryGetAttr - (l_tpmConfBits)) - { - this->iv_hdatIPLParams->iv_sysParms.hdatTpmConfBits = l_tpmConfBits; - } - else - { - HDAT_ERR("Error in getting TPM_REQUIRED attribute"); - } memset(this->iv_hdatIPLParams->iv_sysParms.hdatHwKeyHashValue, 0x00, 64); memset(this->iv_hdatIPLParams->iv_sysParms.hdatSystemFamily, 0x00, 64); diff --git a/src/usr/hdat/hdatiplparms.H b/src/usr/hdat/hdatiplparms.H index c8117aeb1..bdbfeb5db 100755 --- a/src/usr/hdat/hdatiplparms.H +++ b/src/usr/hdat/hdatiplparms.H @@ -5,7 +5,7 @@ /* */ /* OpenPOWER HostBoot Project */ /* */ -/* Contributors Listed Below - COPYRIGHT 2016 */ +/* Contributors Listed Below - COPYRIGHT 2016,2017 */ /* [+] International Business Machines Corp. */ /* */ /* */ @@ -58,7 +58,6 @@ const uint16_t HDAT_IPL_PARAMS_VERSION = 0x5F; const char HDAT_IPLP_STRUCT_NAME[7] = "IPLPMS"; - /** @enum hdatDataPtrs * Constants for the internal data pointers that are added to the base * class -- cgit v1.2.1