#include <Library/Tcg2PhysicalPresenceLib.h>\r
#include <Library/Tcg2PpVendorLib.h>\r
\r
-#define CONFIRM_BUFFER_SIZE 4096\r
+#define CONFIRM_BUFFER_SIZE 4096\r
\r
-EFI_HII_HANDLE mTcg2PpStringPackHandle;\r
+EFI_HII_HANDLE mTcg2PpStringPackHandle;\r
\r
/**\r
Get string by string id from HII Interface.\r
**/\r
CHAR16 *\r
Tcg2PhysicalPresenceGetStringById (\r
- IN EFI_STRING_ID Id\r
+ IN EFI_STRING_ID Id\r
)\r
{\r
return HiiGetString (mTcg2PpStringPackHandle, Id, NULL);\r
EFI_STATUS\r
EFIAPI\r
Tpm2CommandClear (\r
- IN TPM2B_AUTH *PlatformAuth OPTIONAL\r
+ IN TPM2B_AUTH *PlatformAuth OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- TPMS_AUTH_COMMAND *AuthSession;\r
- TPMS_AUTH_COMMAND LocalAuthSession;\r
+ EFI_STATUS Status;\r
+ TPMS_AUTH_COMMAND *AuthSession;\r
+ TPMS_AUTH_COMMAND LocalAuthSession;\r
\r
if (PlatformAuth == NULL) {\r
AuthSession = NULL;\r
} else {\r
AuthSession = &LocalAuthSession;\r
- ZeroMem (&LocalAuthSession, sizeof(LocalAuthSession));\r
+ ZeroMem (&LocalAuthSession, sizeof (LocalAuthSession));\r
LocalAuthSession.sessionHandle = TPM_RS_PW;\r
- LocalAuthSession.hmac.size = PlatformAuth->size;\r
+ LocalAuthSession.hmac.size = PlatformAuth->size;\r
CopyMem (LocalAuthSession.hmac.buffer, PlatformAuth->buffer, PlatformAuth->size);\r
}\r
\r
if (EFI_ERROR (Status)) {\r
goto Done;\r
}\r
+\r
DEBUG ((DEBUG_INFO, "Tpm2Clear ... \n"));\r
Status = Tpm2Clear (TPM_RH_PLATFORM, AuthSession);\r
DEBUG ((DEBUG_INFO, "Tpm2Clear - %r\n", Status));\r
\r
Done:\r
- ZeroMem (&LocalAuthSession.hmac, sizeof(LocalAuthSession.hmac));\r
+ ZeroMem (&LocalAuthSession.hmac, sizeof (LocalAuthSession.hmac));\r
return Status;\r
}\r
\r
**/\r
EFI_STATUS\r
Tpm2CommandChangeEps (\r
- IN TPM2B_AUTH *PlatformAuth OPTIONAL\r
+ IN TPM2B_AUTH *PlatformAuth OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- TPMS_AUTH_COMMAND *AuthSession;\r
- TPMS_AUTH_COMMAND LocalAuthSession;\r
+ EFI_STATUS Status;\r
+ TPMS_AUTH_COMMAND *AuthSession;\r
+ TPMS_AUTH_COMMAND LocalAuthSession;\r
\r
if (PlatformAuth == NULL) {\r
AuthSession = NULL;\r
} else {\r
AuthSession = &LocalAuthSession;\r
- ZeroMem (&LocalAuthSession, sizeof(LocalAuthSession));\r
+ ZeroMem (&LocalAuthSession, sizeof (LocalAuthSession));\r
LocalAuthSession.sessionHandle = TPM_RS_PW;\r
- LocalAuthSession.hmac.size = PlatformAuth->size;\r
+ LocalAuthSession.hmac.size = PlatformAuth->size;\r
CopyMem (LocalAuthSession.hmac.buffer, PlatformAuth->buffer, PlatformAuth->size);\r
}\r
\r
Status = Tpm2ChangeEPS (TPM_RH_PLATFORM, AuthSession);\r
DEBUG ((DEBUG_INFO, "Tpm2ChangeEPS - %r\n", Status));\r
\r
- ZeroMem(&LocalAuthSession.hmac, sizeof(LocalAuthSession.hmac));\r
+ ZeroMem (&LocalAuthSession.hmac, sizeof (LocalAuthSession.hmac));\r
return Status;\r
}\r
\r
**/\r
UINT32\r
Tcg2ExecutePhysicalPresence (\r
- IN TPM2B_AUTH *PlatformAuth OPTIONAL,\r
- IN UINT32 CommandCode,\r
- IN UINT32 CommandParameter,\r
- IN OUT EFI_TCG2_PHYSICAL_PRESENCE_FLAGS *PpiFlags\r
+ IN TPM2B_AUTH *PlatformAuth OPTIONAL,\r
+ IN UINT32 CommandCode,\r
+ IN UINT32 CommandParameter,\r
+ IN OUT EFI_TCG2_PHYSICAL_PRESENCE_FLAGS *PpiFlags\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_TCG2_EVENT_ALGORITHM_BITMAP TpmHashAlgorithmBitmap;\r
- UINT32 ActivePcrBanks;\r
+ EFI_STATUS Status;\r
+ EFI_TCG2_EVENT_ALGORITHM_BITMAP TpmHashAlgorithmBitmap;\r
+ UINT32 ActivePcrBanks;\r
\r
switch (CommandCode) {\r
case TCG2_PHYSICAL_PRESENCE_CLEAR:\r
// Firmware has to ensure that at least one PCR banks is active.\r
// If not, an error is returned and no action is taken.\r
//\r
- if (CommandParameter == 0 || (CommandParameter & (~TpmHashAlgorithmBitmap)) != 0) {\r
- DEBUG((DEBUG_ERROR, "PCR banks %x to allocate are not supported by TPM. Skip operation\n", CommandParameter));\r
+ if ((CommandParameter == 0) || ((CommandParameter & (~TpmHashAlgorithmBitmap)) != 0)) {\r
+ DEBUG ((DEBUG_ERROR, "PCR banks %x to allocate are not supported by TPM. Skip operation\n", CommandParameter));\r
return TCG_PP_OPERATION_RESPONSE_BIOS_FAILURE;\r
}\r
\r
}\r
}\r
\r
-\r
/**\r
Read the specified key for user confirmation.\r
\r
**/\r
BOOLEAN\r
Tcg2ReadUserKey (\r
- IN BOOLEAN CautionKey\r
+ IN BOOLEAN CautionKey\r
)\r
{\r
- EFI_STATUS Status;\r
- EFI_INPUT_KEY Key;\r
- UINT16 InputKey;\r
+ EFI_STATUS Status;\r
+ EFI_INPUT_KEY Key;\r
+ UINT16 InputKey;\r
\r
InputKey = 0;\r
do {\r
if (Key.ScanCode == SCAN_ESC) {\r
InputKey = Key.ScanCode;\r
}\r
+\r
if ((Key.ScanCode == SCAN_F10) && !CautionKey) {\r
InputKey = Key.ScanCode;\r
}\r
+\r
if ((Key.ScanCode == SCAN_F12) && CautionKey) {\r
InputKey = Key.ScanCode;\r
}\r
if (Buffer[0] != 0) {\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L", ", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
+\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L"SHA1", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
+\r
if ((BootHashAlg & EFI_TCG2_BOOT_HASH_ALG_SHA256) != 0) {\r
if (Buffer[0] != 0) {\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L", ", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
+\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L"SHA256", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
+\r
if ((BootHashAlg & EFI_TCG2_BOOT_HASH_ALG_SHA384) != 0) {\r
if (Buffer[0] != 0) {\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L", ", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
+\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L"SHA384", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
+\r
if ((BootHashAlg & EFI_TCG2_BOOT_HASH_ALG_SHA512) != 0) {\r
if (Buffer[0] != 0) {\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L", ", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
+\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L"SHA512", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
+\r
if ((BootHashAlg & EFI_TCG2_BOOT_HASH_ALG_SM3_256) != 0) {\r
if (Buffer[0] != 0) {\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L", ", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
+\r
StrnCatS (Buffer, BufferSize / sizeof (CHAR16), L"SM3_256", (BufferSize / sizeof (CHAR16)) - StrLen (Buffer) - 1);\r
}\r
}\r
**/\r
BOOLEAN\r
Tcg2UserConfirm (\r
- IN UINT32 TpmPpCommand,\r
- IN UINT32 TpmPpCommandParameter\r
+ IN UINT32 TpmPpCommand,\r
+ IN UINT32 TpmPpCommandParameter\r
)\r
{\r
CHAR16 *ConfirmText;\r
ASSERT (mTcg2PpStringPackHandle != NULL);\r
\r
switch (TpmPpCommand) {\r
-\r
case TCG2_PHYSICAL_PRESENCE_CLEAR:\r
case TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR:\r
case TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR_2:\r
case TCG2_PHYSICAL_PRESENCE_ENABLE_CLEAR_3:\r
CautionKey = TRUE;\r
- TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_CLEAR));\r
+ TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_CLEAR));\r
\r
TmpStr1 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_HEAD_STR));\r
UnicodeSPrint (ConfirmText, BufSize, TmpStr1, TmpStr2);\r
case TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CLEAR_FALSE:\r
CautionKey = TRUE;\r
NoPpiInfo = TRUE;\r
- TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_CLEAR));\r
+ TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_CLEAR));\r
\r
TmpStr1 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_PPI_HEAD_STR));\r
UnicodeSPrint (ConfirmText, BufSize, TmpStr1, TmpStr2);\r
break;\r
\r
case TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS:\r
- Status = gBS->LocateProtocol (&gEfiTcg2ProtocolGuid, NULL, (VOID **) &Tcg2Protocol);\r
+ Status = gBS->LocateProtocol (&gEfiTcg2ProtocolGuid, NULL, (VOID **)&Tcg2Protocol);\r
ASSERT_EFI_ERROR (Status);\r
\r
- ProtocolCapability.Size = sizeof(ProtocolCapability);\r
- Status = Tcg2Protocol->GetCapability (\r
- Tcg2Protocol,\r
- &ProtocolCapability\r
- );\r
+ ProtocolCapability.Size = sizeof (ProtocolCapability);\r
+ Status = Tcg2Protocol->GetCapability (\r
+ Tcg2Protocol,\r
+ &ProtocolCapability\r
+ );\r
ASSERT_EFI_ERROR (Status);\r
\r
Status = Tcg2Protocol->GetActivePcrBanks (\r
ASSERT_EFI_ERROR (Status);\r
\r
CautionKey = TRUE;\r
- TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_SET_PCR_BANKS));\r
+ TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_SET_PCR_BANKS));\r
\r
TmpStr1 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_HEAD_STR));\r
UnicodeSPrint (ConfirmText, BufSize, TmpStr1, TmpStr2);\r
StrnCatS (ConfirmText, BufSize / sizeof (CHAR16), TmpStr1, (BufSize / sizeof (CHAR16)) - StrLen (ConfirmText) - 1);\r
FreePool (TmpStr1);\r
\r
- Tcg2FillBufferWithBootHashAlg (TempBuffer, sizeof(TempBuffer), TpmPpCommandParameter);\r
- Tcg2FillBufferWithBootHashAlg (TempBuffer2, sizeof(TempBuffer2), CurrentPCRBanks);\r
+ Tcg2FillBufferWithBootHashAlg (TempBuffer, sizeof (TempBuffer), TpmPpCommandParameter);\r
+ Tcg2FillBufferWithBootHashAlg (TempBuffer2, sizeof (TempBuffer2), CurrentPCRBanks);\r
\r
TmpStr1 = AllocateZeroPool (BufSize);\r
ASSERT (TmpStr1 != NULL);\r
\r
case TCG2_PHYSICAL_PRESENCE_CHANGE_EPS:\r
CautionKey = TRUE;\r
- TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_CHANGE_EPS));\r
+ TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_CHANGE_EPS));\r
\r
TmpStr1 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_HEAD_STR));\r
UnicodeSPrint (ConfirmText, BufSize, TmpStr1, TmpStr2);\r
break;\r
\r
case TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_FALSE:\r
- NoPpiInfo = TRUE;\r
- TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TCG_STORAGE_PP_ENABLE_BLOCK_SID));\r
+ NoPpiInfo = TRUE;\r
+ TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TCG_STORAGE_PP_ENABLE_BLOCK_SID));\r
\r
TmpStr1 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TCG_STORAGE_PPI_HEAD_STR));\r
UnicodeSPrint (ConfirmText, BufSize, TmpStr1, TmpStr2);\r
break;\r
\r
case TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FUNC_FALSE:\r
- NoPpiInfo = TRUE;\r
- TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TCG_STORAGE_PP_DISABLE_BLOCK_SID));\r
+ NoPpiInfo = TRUE;\r
+ TmpStr2 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TCG_STORAGE_PP_DISABLE_BLOCK_SID));\r
\r
TmpStr1 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TCG_STORAGE_PPI_HEAD_STR));\r
UnicodeSPrint (ConfirmText, BufSize, TmpStr1, TmpStr2);\r
} else {\r
TmpStr1 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TPM_ACCEPT_KEY));\r
}\r
+\r
StrnCatS (ConfirmText, BufSize / sizeof (CHAR16), TmpStr1, (BufSize / sizeof (CHAR16)) - StrLen (ConfirmText) - 1);\r
FreePool (TmpStr1);\r
\r
} else {\r
TmpStr1 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TCG_STORAGE_ACCEPT_KEY));\r
}\r
+\r
StrnCatS (ConfirmText, BufSize / sizeof (CHAR16), TmpStr1, (BufSize / sizeof (CHAR16)) - StrLen (ConfirmText) - 1);\r
FreePool (TmpStr1);\r
\r
\r
TmpStr1 = Tcg2PhysicalPresenceGetStringById (STRING_TOKEN (TCG_STORAGE_REJECT_KEY));\r
}\r
+\r
BufSize -= StrSize (ConfirmText);\r
UnicodeSPrint (ConfirmText + StrLen (ConfirmText), BufSize, TmpStr1, TmpStr2);\r
\r
**/\r
BOOLEAN\r
Tcg2HaveValidTpmRequest (\r
- IN EFI_TCG2_PHYSICAL_PRESENCE *TcgPpData,\r
- IN EFI_TCG2_PHYSICAL_PRESENCE_FLAGS Flags,\r
- OUT BOOLEAN *RequestConfirmed\r
+ IN EFI_TCG2_PHYSICAL_PRESENCE *TcgPpData,\r
+ IN EFI_TCG2_PHYSICAL_PRESENCE_FLAGS Flags,\r
+ OUT BOOLEAN *RequestConfirmed\r
)\r
{\r
- EFI_TCG2_PROTOCOL *Tcg2Protocol;\r
- EFI_STATUS Status;\r
- BOOLEAN IsRequestValid;\r
+ EFI_TCG2_PROTOCOL *Tcg2Protocol;\r
+ EFI_STATUS Status;\r
+ BOOLEAN IsRequestValid;\r
\r
*RequestConfirmed = FALSE;\r
\r
//\r
// Need TCG2 protocol.\r
//\r
- Status = gBS->LocateProtocol (&gEfiTcg2ProtocolGuid, NULL, (VOID **) &Tcg2Protocol);\r
+ Status = gBS->LocateProtocol (&gEfiTcg2ProtocolGuid, NULL, (VOID **)&Tcg2Protocol);\r
if (EFI_ERROR (Status)) {\r
return FALSE;\r
}\r
if ((Flags.PPFlags & TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CLEAR) == 0) {\r
*RequestConfirmed = TRUE;\r
}\r
+\r
break;\r
\r
case TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_CLEAR_TRUE:\r
if ((Flags.PPFlags & TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_PCRS) == 0) {\r
*RequestConfirmed = TRUE;\r
}\r
+\r
break;\r
\r
case TCG2_PHYSICAL_PRESENCE_CHANGE_EPS:\r
if ((Flags.PPFlags & TCG2_BIOS_TPM_MANAGEMENT_FLAG_PP_REQUIRED_FOR_CHANGE_EPS) == 0) {\r
*RequestConfirmed = TRUE;\r
}\r
+\r
break;\r
\r
case TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS:\r
if ((Flags.PPFlags & TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_ENABLE_BLOCK_SID) == 0) {\r
*RequestConfirmed = TRUE;\r
}\r
+\r
break;\r
\r
case TCG2_PHYSICAL_PRESENCE_DISABLE_BLOCK_SID:\r
if ((Flags.PPFlags & TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_DISABLE_BLOCK_SID) == 0) {\r
*RequestConfirmed = TRUE;\r
}\r
+\r
break;\r
\r
case TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_TRUE:\r
return TRUE;\r
}\r
\r
-\r
/**\r
Check and execute the requested physical presence command.\r
\r
**/\r
VOID\r
Tcg2ExecutePendingTpmRequest (\r
- IN TPM2B_AUTH *PlatformAuth OPTIONAL,\r
- IN OUT EFI_TCG2_PHYSICAL_PRESENCE *TcgPpData,\r
- IN OUT EFI_TCG2_PHYSICAL_PRESENCE_FLAGS *Flags\r
+ IN TPM2B_AUTH *PlatformAuth OPTIONAL,\r
+ IN OUT EFI_TCG2_PHYSICAL_PRESENCE *TcgPpData,\r
+ IN OUT EFI_TCG2_PHYSICAL_PRESENCE_FLAGS *Flags\r
)\r
{\r
EFI_STATUS Status;\r
return;\r
}\r
\r
- if (!Tcg2HaveValidTpmRequest(TcgPpData, *Flags, &RequestConfirmed)) {\r
+ if (!Tcg2HaveValidTpmRequest (TcgPpData, *Flags, &RequestConfirmed)) {\r
//\r
// Invalid operation request.\r
//\r
} else {\r
TcgPpData->PPResponse = TCG_PP_OPERATION_RESPONSE_BIOS_FAILURE;\r
}\r
- TcgPpData->LastPPRequest = TcgPpData->PPRequest;\r
- TcgPpData->PPRequest = TCG2_PHYSICAL_PRESENCE_NO_ACTION;\r
+\r
+ TcgPpData->LastPPRequest = TcgPpData->PPRequest;\r
+ TcgPpData->PPRequest = TCG2_PHYSICAL_PRESENCE_NO_ACTION;\r
TcgPpData->PPRequestParameter = 0;\r
\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);\r
- Status = gRT->SetVariable (\r
- TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
- DataSize,\r
- TcgPpData\r
- );\r
+ Status = gRT->SetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
+ DataSize,\r
+ TcgPpData\r
+ );\r
return;\r
}\r
\r
ResetRequired = FALSE;\r
if (TcgPpData->PPRequest >= TCG2_PHYSICAL_PRESENCE_VENDOR_SPECIFIC_OPERATION) {\r
- NewFlags = *Flags;\r
- NewPPFlags = NewFlags.PPFlags;\r
+ NewFlags = *Flags;\r
+ NewPPFlags = NewFlags.PPFlags;\r
TcgPpData->PPResponse = Tcg2PpVendorLibExecutePendingRequest (PlatformAuth, TcgPpData->PPRequest, &NewPPFlags, &ResetRequired);\r
- NewFlags.PPFlags = NewPPFlags;\r
+ NewFlags.PPFlags = NewPPFlags;\r
} else {\r
if (!RequestConfirmed) {\r
//\r
// Execute requested physical presence command\r
//\r
TcgPpData->PPResponse = TCG_PP_OPERATION_RESPONSE_USER_ABORT;\r
- NewFlags = *Flags;\r
+ NewFlags = *Flags;\r
if (RequestConfirmed) {\r
TcgPpData->PPResponse = Tcg2ExecutePhysicalPresence (\r
PlatformAuth,\r
//\r
// Save the flags if it is updated.\r
//\r
- if (CompareMem (Flags, &NewFlags, sizeof(EFI_TCG2_PHYSICAL_PRESENCE_FLAGS)) != 0) {\r
+ if (CompareMem (Flags, &NewFlags, sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS)) != 0) {\r
*Flags = NewFlags;\r
- Status = gRT->SetVariable (\r
- TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
- sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS),\r
- &NewFlags\r
- );\r
+ Status = gRT->SetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
+ sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS),\r
+ &NewFlags\r
+ );\r
}\r
\r
//\r
// Clear request\r
//\r
if ((NewFlags.PPFlags & TCG2_LIB_PP_FLAG_RESET_TRACK) == 0) {\r
- TcgPpData->LastPPRequest = TcgPpData->PPRequest;\r
- TcgPpData->PPRequest = TCG2_PHYSICAL_PRESENCE_NO_ACTION;\r
+ TcgPpData->LastPPRequest = TcgPpData->PPRequest;\r
+ TcgPpData->PPRequest = TCG2_PHYSICAL_PRESENCE_NO_ACTION;\r
TcgPpData->PPRequestParameter = 0;\r
}\r
\r
// Save changes\r
//\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);\r
- Status = gRT->SetVariable (\r
- TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
- DataSize,\r
- TcgPpData\r
- );\r
+ Status = gRT->SetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
+ DataSize,\r
+ TcgPpData\r
+ );\r
if (EFI_ERROR (Status)) {\r
return;\r
}\r
if (ResetRequired) {\r
break;\r
} else {\r
- return ;\r
+ return;\r
}\r
}\r
+\r
if (TcgPpData->PPRequest != TCG2_PHYSICAL_PRESENCE_NO_ACTION) {\r
break;\r
}\r
+\r
return;\r
}\r
\r
VOID\r
EFIAPI\r
Tcg2PhysicalPresenceLibProcessRequest (\r
- IN TPM2B_AUTH *PlatformAuth OPTIONAL\r
+ IN TPM2B_AUTH *PlatformAuth OPTIONAL\r
)\r
{\r
EFI_STATUS Status;\r
//\r
if (GetBootModeHob () == BOOT_ON_S4_RESUME) {\r
DEBUG ((DEBUG_INFO, "S4 Resume, Skip TPM PP process!\n"));\r
- return ;\r
+ return;\r
}\r
\r
//\r
// Initialize physical presence flags.\r
//\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS);\r
- Status = gRT->GetVariable (\r
- TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- NULL,\r
- &DataSize,\r
- &PpiFlags\r
- );\r
+ Status = gRT->GetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ NULL,\r
+ &DataSize,\r
+ &PpiFlags\r
+ );\r
if (EFI_ERROR (Status)) {\r
- PpiFlags.PPFlags = PcdGet32(PcdTcg2PhysicalPresenceFlags);\r
- Status = gRT->SetVariable (\r
- TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
- sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS),\r
- &PpiFlags\r
- );\r
+ PpiFlags.PPFlags = PcdGet32 (PcdTcg2PhysicalPresenceFlags);\r
+ Status = gRT->SetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
+ sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS),\r
+ &PpiFlags\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "[TPM2] Set physical presence flag failed, Status = %r\n", Status));\r
- return ;\r
+ return;\r
}\r
- DEBUG((DEBUG_INFO, "[TPM2] Initial physical presence flags value is 0x%x\n", PpiFlags.PPFlags));\r
+\r
+ DEBUG ((DEBUG_INFO, "[TPM2] Initial physical presence flags value is 0x%x\n", PpiFlags.PPFlags));\r
}\r
\r
//\r
// Initialize physical presence variable.\r
//\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);\r
- Status = gRT->GetVariable (\r
- TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- NULL,\r
- &DataSize,\r
- &TcgPpData\r
- );\r
+ Status = gRT->GetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ NULL,\r
+ &DataSize,\r
+ &TcgPpData\r
+ );\r
if (EFI_ERROR (Status)) {\r
- ZeroMem ((VOID*)&TcgPpData, sizeof (TcgPpData));\r
+ ZeroMem ((VOID *)&TcgPpData, sizeof (TcgPpData));\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);\r
Status = gRT->SetVariable (\r
TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
);\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "[TPM2] Set physical presence variable failed, Status = %r\n", Status));\r
- return ;\r
+ return;\r
}\r
}\r
\r
//\r
Tcg2ExecutePendingTpmRequest (PlatformAuth, &TcgPpData, &PpiFlags);\r
DEBUG ((DEBUG_INFO, "[TPM2] PPResponse = %x (LastPPRequest=%x, Flags=%x)\n", TcgPpData.PPResponse, TcgPpData.LastPPRequest, PpiFlags.PPFlags));\r
-\r
}\r
\r
/**\r
**/\r
BOOLEAN\r
EFIAPI\r
-Tcg2PhysicalPresenceLibNeedUserConfirm(\r
+Tcg2PhysicalPresenceLibNeedUserConfirm (\r
VOID\r
)\r
{\r
// Check Tpm requests\r
//\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);\r
- Status = gRT->GetVariable (\r
- TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- NULL,\r
- &DataSize,\r
- &TcgPpData\r
- );\r
+ Status = gRT->GetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ NULL,\r
+ &DataSize,\r
+ &TcgPpData\r
+ );\r
if (EFI_ERROR (Status)) {\r
return FALSE;\r
}\r
\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS);\r
- Status = gRT->GetVariable (\r
- TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- NULL,\r
- &DataSize,\r
- &PpiFlags\r
- );\r
+ Status = gRT->GetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ NULL,\r
+ &DataSize,\r
+ &PpiFlags\r
+ );\r
if (EFI_ERROR (Status)) {\r
return FALSE;\r
}\r
return FALSE;\r
}\r
\r
- if (!Tcg2HaveValidTpmRequest(&TcgPpData, PpiFlags, &RequestConfirmed)) {\r
+ if (!Tcg2HaveValidTpmRequest (&TcgPpData, PpiFlags, &RequestConfirmed)) {\r
//\r
// Invalid operation request.\r
//\r
return FALSE;\r
}\r
\r
-\r
/**\r
The handler for TPM physical presence function:\r
Return TPM Operation Response to OS Environment.\r
UINT32\r
EFIAPI\r
Tcg2PhysicalPresenceLibReturnOperationResponseToOsFunction (\r
- OUT UINT32 *MostRecentRequest,\r
- OUT UINT32 *Response\r
+ OUT UINT32 *MostRecentRequest,\r
+ OUT UINT32 *Response\r
)\r
{\r
- EFI_STATUS Status;\r
- UINTN DataSize;\r
- EFI_TCG2_PHYSICAL_PRESENCE PpData;\r
+ EFI_STATUS Status;\r
+ UINTN DataSize;\r
+ EFI_TCG2_PHYSICAL_PRESENCE PpData;\r
\r
DEBUG ((DEBUG_INFO, "[TPM2] ReturnOperationResponseToOsFunction\n"));\r
\r
// Get the Physical Presence variable\r
//\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);\r
- Status = gRT->GetVariable (\r
- TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- NULL,\r
- &DataSize,\r
- &PpData\r
- );\r
+ Status = gRT->GetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ NULL,\r
+ &DataSize,\r
+ &PpData\r
+ );\r
if (EFI_ERROR (Status)) {\r
*MostRecentRequest = 0;\r
*Response = 0;\r
UINT32\r
EFIAPI\r
Tcg2PhysicalPresenceLibSubmitRequestToPreOSFunction (\r
- IN UINT32 OperationRequest,\r
- IN UINT32 RequestParameter\r
+ IN UINT32 OperationRequest,\r
+ IN UINT32 RequestParameter\r
)\r
{\r
EFI_STATUS Status;\r
// Get the Physical Presence variable\r
//\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);\r
- Status = gRT->GetVariable (\r
- TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- NULL,\r
- &DataSize,\r
- &PpData\r
- );\r
+ Status = gRT->GetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ NULL,\r
+ &DataSize,\r
+ &PpData\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "[TPM2] Get PP variable failure! Status = %r\n", Status));\r
return TCG_PP_SUBMIT_REQUEST_TO_PREOS_GENERAL_FAILURE;\r
}\r
\r
if ((OperationRequest > TCG2_PHYSICAL_PRESENCE_NO_ACTION_MAX) &&\r
- (OperationRequest < TCG2_PHYSICAL_PRESENCE_STORAGE_MANAGEMENT_BEGIN) ) {\r
+ (OperationRequest < TCG2_PHYSICAL_PRESENCE_STORAGE_MANAGEMENT_BEGIN))\r
+ {\r
return TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED;\r
}\r
\r
if ((PpData.PPRequest != OperationRequest) ||\r
- (PpData.PPRequestParameter != RequestParameter)) {\r
- PpData.PPRequest = (UINT8)OperationRequest;\r
+ (PpData.PPRequestParameter != RequestParameter))\r
+ {\r
+ PpData.PPRequest = (UINT8)OperationRequest;\r
PpData.PPRequestParameter = RequestParameter;\r
- DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);\r
- Status = gRT->SetVariable (\r
- TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
- DataSize,\r
- &PpData\r
- );\r
+ DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE);\r
+ Status = gRT->SetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,\r
+ DataSize,\r
+ &PpData\r
+ );\r
if (EFI_ERROR (Status)) {\r
DEBUG ((DEBUG_ERROR, "[TPM2] Set PP variable failure! Status = %r\n", Status));\r
return TCG_PP_SUBMIT_REQUEST_TO_PREOS_GENERAL_FAILURE;\r
\r
if (OperationRequest >= TCG2_PHYSICAL_PRESENCE_VENDOR_SPECIFIC_OPERATION) {\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS);\r
- Status = gRT->GetVariable (\r
- TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- NULL,\r
- &DataSize,\r
- &Flags\r
- );\r
+ Status = gRT->GetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ NULL,\r
+ &DataSize,\r
+ &Flags\r
+ );\r
if (EFI_ERROR (Status)) {\r
- Flags.PPFlags = PcdGet32(PcdTcg2PhysicalPresenceFlags);\r
+ Flags.PPFlags = PcdGet32 (PcdTcg2PhysicalPresenceFlags);\r
}\r
+\r
return Tcg2PpVendorLibSubmitRequestToPreOSFunction (OperationRequest, Flags.PPFlags, RequestParameter);\r
}\r
\r
DEBUG ((DEBUG_INFO, "[TPM2] GetManagementFlags\n"));\r
\r
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS);\r
- Status = gRT->GetVariable (\r
- TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
- &gEfiTcg2PhysicalPresenceGuid,\r
- NULL,\r
- &DataSize,\r
- &PpiFlags\r
- );\r
+ Status = gRT->GetVariable (\r
+ TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,\r
+ &gEfiTcg2PhysicalPresenceGuid,\r
+ NULL,\r
+ &DataSize,\r
+ &PpiFlags\r
+ );\r
if (EFI_ERROR (Status)) {\r
- PpiFlags.PPFlags = PcdGet32(PcdTcg2PhysicalPresenceFlags);\r
+ PpiFlags.PPFlags = PcdGet32 (PcdTcg2PhysicalPresenceFlags);\r
}\r
+\r
return PpiFlags.PPFlags;\r
}\r