* [Patch][edk2-platforms/devel-IntelAtomProcessorE3900] Setup Cleanup
@ 2018-09-30 5:57 zwei4
0 siblings, 0 replies; only message in thread
From: zwei4 @ 2018-09-30 5:57 UTC (permalink / raw)
To: edk2-devel; +Cc: David Wei, Mike Wu, Mang Guo, Steele Kelly
Remove TPM setup option. Add fixed PCD gPlatformModuleTokenSpaceGuid.PcdTpmControl to enable/disable TPM at build-time.
Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: David Wei <david.wei@intel.com>
CC: Mike Wu <mike.wu@intel.com>
CC: Mang Guo <mang.guo@intel.com>
CC: Steele Kelly <kelly.steele@intel.com>
---
.../Common/Include/Guid/SetupVariable.h | 2 +-
.../PeiPlatformConfigUpdateLib.c | 36 +-----------
.../PlatformPostMemPei/PlatformInit.c | 15 +++--
.../PlatformPostMemPei/PlatformPostMemPei.inf | 3 +-
.../PlatformSetupDxe/PlatformSetupDxe.c | 7 +--
.../PlatformSettings/PlatformSetupDxe/Security.vfi | 25 +++------
.../PlatformSetupDxe/SetupInfoRecords.c | 64 +---------------------
Platform/BroxtonPlatformPkg/PlatformPkg.dec | 4 ++
8 files changed, 26 insertions(+), 130 deletions(-)
diff --git a/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h b/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h
index 19b948c0ea..2d81068778 100644
--- a/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h
+++ b/Platform/BroxtonPlatformPkg/Common/Include/Guid/SetupVariable.h
@@ -480,7 +480,7 @@ typedef struct {
UINT8 PanelScaling;
UINT8 IgdLcdIGmchBlc;
UINT8 SecEnable;
- UINT8 TPM;
+ UINT8 TPMReserved;
UINT8 TPMSupportedBanks;
UINT8 TpmDetection;
UINT8 PttSuppressCommandSend; // For PTT Debug
diff --git a/Platform/BroxtonPlatformPkg/Common/Library/PeiPlatformConfigUpdateLib/PeiPlatformConfigUpdateLib.c b/Platform/BroxtonPlatformPkg/Common/Library/PeiPlatformConfigUpdateLib/PeiPlatformConfigUpdateLib.c
index a003b278b4..b62db3ae8d 100644
--- a/Platform/BroxtonPlatformPkg/Common/Library/PeiPlatformConfigUpdateLib/PeiPlatformConfigUpdateLib.c
+++ b/Platform/BroxtonPlatformPkg/Common/Library/PeiPlatformConfigUpdateLib/PeiPlatformConfigUpdateLib.c
@@ -2,7 +2,7 @@
Platform Configuration Update library implementation file.
This library updates the setup data with platform overrides.
- Copyright (c) 2016, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2016 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -30,37 +30,6 @@
#define SETUP_NFC_IPT 1
#define SETUP_NFC 2
-EFI_STATUS
-TpmSetupPolicyInit (
- IN SYSTEM_CONFIGURATION *SystemConfiguration
- )
-{
-#if FTPM_SUPPORT
- EFI_STATUS Status;
- BOOLEAN PttEnabledState = FALSE;
- EFI_HOB_GUID_TYPE *FdoEnabledGuidHob = NULL;
-
- FdoEnabledGuidHob = GetFirstGuidHob (&gFdoModeEnabledHobGuid);
-
- if (SystemConfiguration->TpmDetection == 0) {
- Status = PttHeciGetState (&PttEnabledState);
- if (EFI_ERROR (Status)) {
- DEBUG ((DEBUG_ERROR, "Get PTT enabled state failed.\n"));
- }
-
- if (PttEnabledState && (FdoEnabledGuidHob == NULL)) {
- SystemConfiguration->TPM = TPM_PTT;
- } else {
- DEBUG ((EFI_D_INFO, "TpmPolicyInit-TPM and TpmDetection is disabled because of FDO \n\r"));
- SystemConfiguration->TPM = TPM_DISABLE;
- }
- SystemConfiguration->TpmDetection = 1;
- }
-
-#endif
- return EFI_SUCCESS;
-}
-
EFI_STATUS
GetSecureNfcInfo (
@@ -189,9 +158,6 @@ UpdateSetupDataValues (
Status = GetSecureNfcInfo (PreDefaultSetupData);
ASSERT_EFI_ERROR (Status);
- Status = TpmSetupPolicyInit (PreDefaultSetupData);
- ASSERT_EFI_ERROR (Status);
-
return Status;
}
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformPostMemPei/PlatformInit.c b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformPostMemPei/PlatformInit.c
index acaaebbfbb..412304b158 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformPostMemPei/PlatformInit.c
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformPostMemPei/PlatformInit.c
@@ -76,19 +76,22 @@ TpmPolicyInit (
EFI_STATUS Status;
UINTN Size;
BOOLEAN IsPttEnabled = TRUE;
- MBP_ME_FW_CAPS Mbp_Me_Fw_Caps = { 0 };
+ MBP_ME_FW_CAPS MbpMeFwCaps = { 0 };
+ UINT8 TpmControl;
DEBUG ((EFI_D_ERROR, "TpmPolicyInit entry.\n"));
+ TpmControl = PcdGet8(PcdTpmControl);
+
//
// Get ME FW Capability from MBP table to determine PTT State
//
- Status = HeciGetMeFwCapability (&Mbp_Me_Fw_Caps);
+ Status = HeciGetMeFwCapability (&MbpMeFwCaps);
if (!EFI_ERROR (Status)) {
- IsPttEnabled = (BOOLEAN) Mbp_Me_Fw_Caps.CurrentFeatures.Fields.PTT;
+ IsPttEnabled = (BOOLEAN) MbpMeFwCaps.CurrentFeatures.Fields.PTT;
}
- if ((IsPttEnabled) && (SystemConfiguration->TPM == TPM_PTT)) {
+ if ((IsPttEnabled) && (TpmControl == TPM_PTT)) {
if (SystemConfiguration->PttSuppressCommandSend == 1) {
Size = sizeof (gEfiTpmDeviceInstanceNoneGuid);
PcdSetPtrS (PcdTpmInstanceGuid, &Size, &gEfiTpmDeviceInstanceNoneGuid);
@@ -101,14 +104,14 @@ TpmPolicyInit (
PcdSetPtrS (PcdTpmInstanceGuid, &Size, &gTpmDeviceInstanceTpm20PttPtpGuid);
DEBUG ((DEBUG_INFO, "Set PcdTpmInstanceGuid to PTT.\n"));
}
- } else if (SystemConfiguration->TPM == TPM_DTPM_1_2) {
+ } else if (TpmControl == TPM_DTPM_1_2) {
//
// Set PcdTpmInstanceGuid to dTPM 1.2
//
Size = sizeof (gEfiTpmDeviceInstanceTpm12Guid);
PcdSetPtrS (PcdTpmInstanceGuid, &Size, &gEfiTpmDeviceInstanceTpm12Guid);
DEBUG ((DEBUG_INFO, "Set PcdTpmInstanceGuid to dTPM 1.2.\n"));
- } else if (SystemConfiguration->TPM == TPM_DTPM_2_0) {
+ } else if (TpmControl == TPM_DTPM_2_0) {
//
// Set PcdTpmInstanceGuid to dTPM 2.0
//
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformPostMemPei/PlatformPostMemPei.inf b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformPostMemPei/PlatformPostMemPei.inf
index c7c0f4dfe3..717bb55ba0 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformPostMemPei/PlatformPostMemPei.inf
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformPostMemPei/PlatformPostMemPei.inf
@@ -1,7 +1,7 @@
## @file
# Component description file for PlatformInit module.
#
-# Copyright (c) 1999 - 2017, Intel Corporation. All rights reserved.<BR>
+# Copyright (c) 1999 - 2018, Intel Corporation. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions of the BSD License
@@ -123,6 +123,7 @@
gPlatformModuleTokenSpaceGuid.PcdBoardPostMemInitFunc
gPlatformModuleTokenSpaceGuid.PcdBoardVbtFileGuid
gPlatformModuleTokenSpaceGuid.PcdOemLogoFileGuid
+ gPlatformModuleTokenSpaceGuid.PcdTpmControl
[Depex]
gDramPolicyPpiGuid
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c
index 15d3a91fc0..c13981a028 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/PlatformSetupDxe.c
@@ -13,7 +13,7 @@
4. It save all the mapping info in NV variables which will be consumed
by platform override protocol driver to publish the platform override protocol.
- Copyright (c) 2007 - 2017, Intel Corporation. All rights reserved.<BR>
+ Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR>
This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
@@ -117,11 +117,6 @@ LoadOsDefaultValues (
Private->FakeNvData.I2s34C1 = TRUE;
Private->FakeNvData.UserCameraSel = TRUE;
Private->FakeNvData.WorldCameraSel = 2;
-#if X64_BUILD_ENABLE
- Private->FakeNvData.TPM = 1;
-#else
- Private->FakeNvData.TPM = 0;
-#endif
Private->FakeNvData.I2C0Speed = 1;
Private->FakeNvData.I2C1Speed = 1;
Private->FakeNvData.I2C2Speed = 1;
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Security.vfi b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Security.vfi
index 6f2361318d..1b65ae15d4 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Security.vfi
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/Security.vfi
@@ -112,25 +112,14 @@ form formid = SECURITY_CONFIGURATION_FORM_ID,
//
subtitle text = STRING_TOKEN(STR_TPM_CONFIGURATION_PROMPT);
- grayoutif TRUE;
- oneof varid = Setup.TPM,
- prompt = STRING_TOKEN(STR_TPM_PROMPT),
- help = STRING_TOKEN(STR_TPM_HELP),
- option text = STRING_TOKEN(STR_DISABLE), value = 0x00, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
- option text = STRING_TOKEN(STR_TPM_PTT), value = 0x01, flags = RESET_REQUIRED;
+ oneof varid = Setup.TPMSupportedBanks,
+ prompt = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_PROMPT),
+ help = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_HELP),
+ option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_NULL), value = TPM2_SUPPORTED_BANK_NULL, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_SHA1), value = TPM2_SUPPORTED_BANK_SHA1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_SHA2), value = TPM2_SUPPORTED_BANK_SHA2, flags = RESET_REQUIRED;
+ option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_BOTH), value = TPM2_SUPPORTED_BANK_BOTH, flags = RESET_REQUIRED;
endoneof;
- endif;
-
- suppressif NOT ideqval Setup.TPM == 1;
- oneof varid = Setup.TPMSupportedBanks,
- prompt = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_PROMPT),
- help = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_HELP),
- option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_NULL), value = TPM2_SUPPORTED_BANK_NULL, flags = RESET_REQUIRED;
- option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_SHA1), value = TPM2_SUPPORTED_BANK_SHA1, flags = DEFAULT | MANUFACTURING | RESET_REQUIRED;
- option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_SHA2), value = TPM2_SUPPORTED_BANK_SHA2, flags = RESET_REQUIRED;
- option text = STRING_TOKEN(STR_TPM2_PCR_ALLOCATE_BOTH), value = TPM2_SUPPORTED_BANK_BOTH, flags = RESET_REQUIRED;
- endoneof;
- endif;
endform;
diff --git a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupInfoRecords.c b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupInfoRecords.c
index 4e921c2eaa..6de245fa51 100644
--- a/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupInfoRecords.c
+++ b/Platform/BroxtonPlatformPkg/Common/PlatformSettings/PlatformSetupDxe/SetupInfoRecords.c
@@ -1603,65 +1603,6 @@ UpdatePLInformation (
HiiSetString (mHiiHandle, STRING_TOKEN (STR_SHORT_DUR_PWR_LIMIT_VALUE), Buffer, NULL);
}
-
-EFI_STATUS
-SaveTpmDeviceSelection (
- SYSTEM_CONFIGURATION *SystemConfigPtr
- )
-{
- EFI_STATUS Status;
- BOOLEAN PttEnabledState;
- BOOLEAN ResetRequired;
- EFI_INPUT_KEY Key;
- CHAR16 *StringBuffer1 = L"Perform TPM Device Selection is Changed.";
- CHAR16 *StringBuffer2 = L"System will Restart!";
- CHAR16 *StringBuffer3 = L"Press Enter Key To Continue";
-
- ResetRequired = FALSE;
- //
- // TPM Device Selector Override
- //
- Status = PttHeciGetState (&PttEnabledState);
- if (EFI_ERROR (Status)) {
- return Status;
- }
-
- if (SystemConfigPtr->TPM == TPM_PTT) {
- DEBUG ((EFI_D_INFO, "TPM Device Selection is PTT.\n"));
- if (!PttEnabledState) {
- ResetRequired = TRUE;
- PttHeciSetState (TRUE);
- }
- } else if ((SystemConfigPtr->TPM == TPM_DTPM_1_2) || (SystemConfigPtr->TPM == TPM_DTPM_2_0)) {
- DEBUG ((EFI_D_INFO, "TPM Device Selection is dTPM.\n"));
- if (PttEnabledState) {
- ResetRequired = TRUE;
- PttHeciSetState (FALSE);
- }
- } else if (SystemConfigPtr->TPM == TPM_DISABLE) {
- DEBUG ((EFI_D_INFO, "TPM Device Selection is Disable.\n"));
- if (PttEnabledState) {
- ResetRequired = TRUE;
- PttHeciSetState (FALSE);
- }
- }
-
- if (ResetRequired) {
- DEBUG ((EFI_D_INFO, "Trigger cold reset to take effect.\n"));
- //
- // Popup a menu to notice user
- //
- do {
- CreatePopUp (EFI_LIGHTGRAY | EFI_BACKGROUND_BLUE, &Key, StringBuffer1, StringBuffer2, StringBuffer3, NULL);
- } while (Key.UnicodeChar != CHAR_CARRIAGE_RETURN);
-
- gRT->ResetSystem (EfiResetCold, EFI_SUCCESS, 0, NULL);
- }
-
- return EFI_SUCCESS;
-}
-
-
VOID
EFIAPI
SetupInfo (
@@ -1809,9 +1750,6 @@ CheckSystemConfigSave (
CheckTPMActivePcrBanks (SystemConfigPtr->TPMSupportedBanks);
- //
- // Save TPM device selection and trigger a cold reset to take effect.
- //
- SaveTpmDeviceSelection (SystemConfigPtr);
+
}
diff --git a/Platform/BroxtonPlatformPkg/PlatformPkg.dec b/Platform/BroxtonPlatformPkg/PlatformPkg.dec
index c27ac042ab..f72b1222d5 100644
--- a/Platform/BroxtonPlatformPkg/PlatformPkg.dec
+++ b/Platform/BroxtonPlatformPkg/PlatformPkg.dec
@@ -397,3 +397,7 @@
gPlatformModuleTokenSpaceGuid.PcdSecCoreMaxPpiSupported|0x6|UINT32|0x10001010
## SerialIo Uart Configuration
gPlatformModuleTokenSpaceGuid.PcdSerialIoUartNumber|2|UINT8|0x10001011
+
+ ## TPM Configuration
+ ## 0 - Disable TPM; 1 - Enable PTT (fTPM); 2 - Enable Discrete TPM 1.2; 3 - Enable Discrete TPM 2.0
+ gPlatformModuleTokenSpaceGuid.PcdTpmControl|1|UINT8|0x10001012
--
2.14.1.windows.1
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2018-09-30 5:59 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-09-30 5:57 [Patch][edk2-platforms/devel-IntelAtomProcessorE3900] Setup Cleanup zwei4
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox