mirror of https://github.com/acidanthera/audk.git
SecurityPkg/TPM2: Move Tpm2PcrAllocateBanks() to Tpm2CommandLib
This patch just moves function Tpm2CommandAllocPcr() from DxeTcg2PhysicalPresenceLib.c to Tpm2CommandLib as Tpm2PcrAllocateBanks() and no functionality change. Cc: Chao B Zhang <chao.b.zhang@intel.com> Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Jiewen Yao <jiewen.yao@intel.com> Signed-off-by: Star Zeng <star.zeng@intel.com> Reviewed-by: Chao Zhang <chao.b.zhang@intel.com>
This commit is contained in:
parent
558311c94a
commit
f9c9a1406c
|
@ -1,7 +1,7 @@
|
||||||
/** @file
|
/** @file
|
||||||
This library is used by other modules to send TPM2 command.
|
This library is used by other modules to send TPM2 command.
|
||||||
|
|
||||||
Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved. <BR>
|
Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved. <BR>
|
||||||
This program and the accompanying materials
|
This program and the accompanying materials
|
||||||
are licensed and made available under the terms and conditions of the BSD License
|
are licensed and made available under the terms and conditions of the BSD License
|
||||||
which accompanies this distribution. The full text of the license may be found at
|
which accompanies this distribution. The full text of the license may be found at
|
||||||
|
@ -560,6 +560,23 @@ Tpm2PcrAllocate (
|
||||||
OUT UINT32 *SizeAvailable
|
OUT UINT32 *SizeAvailable
|
||||||
);
|
);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Alloc PCR data.
|
||||||
|
|
||||||
|
@param[in] PlatformAuth platform auth value. NULL means no platform auth change.
|
||||||
|
@param[in] SupportedPCRBanks Supported PCR banks
|
||||||
|
@param[in] PCRBanks PCR banks
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS Operation completed successfully.
|
||||||
|
**/
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
Tpm2PcrAllocateBanks (
|
||||||
|
IN TPM2B_AUTH *PlatformAuth, OPTIONAL
|
||||||
|
IN UINT32 SupportedPCRBanks,
|
||||||
|
IN UINT32 PCRBanks
|
||||||
|
);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
This command returns various information regarding the TPM and its current state.
|
This command returns various information regarding the TPM and its current state.
|
||||||
|
|
||||||
|
|
|
@ -105,139 +105,6 @@ Done:
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
Alloc PCR data.
|
|
||||||
|
|
||||||
@param[in] PlatformAuth platform auth value. NULL means no platform auth change.
|
|
||||||
@param[in] SupportedPCRBanks Supported PCR banks
|
|
||||||
@param[in] PCRBanks PCR banks
|
|
||||||
|
|
||||||
@retval EFI_SUCCESS Operation completed successfully.
|
|
||||||
**/
|
|
||||||
EFI_STATUS
|
|
||||||
Tpm2CommandAllocPcr (
|
|
||||||
IN TPM2B_AUTH *PlatformAuth, OPTIONAL
|
|
||||||
IN UINT32 SupportedPCRBanks,
|
|
||||||
IN UINT32 PCRBanks
|
|
||||||
)
|
|
||||||
{
|
|
||||||
EFI_STATUS Status;
|
|
||||||
TPMS_AUTH_COMMAND *AuthSession;
|
|
||||||
TPMS_AUTH_COMMAND LocalAuthSession;
|
|
||||||
TPML_PCR_SELECTION PcrAllocation;
|
|
||||||
TPMI_YES_NO AllocationSuccess;
|
|
||||||
UINT32 MaxPCR;
|
|
||||||
UINT32 SizeNeeded;
|
|
||||||
UINT32 SizeAvailable;
|
|
||||||
|
|
||||||
if (PlatformAuth == NULL) {
|
|
||||||
AuthSession = NULL;
|
|
||||||
} else {
|
|
||||||
AuthSession = &LocalAuthSession;
|
|
||||||
ZeroMem (&LocalAuthSession, sizeof(LocalAuthSession));
|
|
||||||
LocalAuthSession.sessionHandle = TPM_RS_PW;
|
|
||||||
LocalAuthSession.hmac.size = PlatformAuth->size;
|
|
||||||
CopyMem (LocalAuthSession.hmac.buffer, PlatformAuth->buffer, PlatformAuth->size);
|
|
||||||
}
|
|
||||||
|
|
||||||
//
|
|
||||||
// Fill input
|
|
||||||
//
|
|
||||||
ZeroMem (&PcrAllocation, sizeof(PcrAllocation));
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SHA1 & SupportedPCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SHA1;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SHA1 & PCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
|
||||||
} else {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
|
||||||
}
|
|
||||||
PcrAllocation.count++;
|
|
||||||
}
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SHA256 & SupportedPCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SHA256;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SHA256 & PCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
|
||||||
} else {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
|
||||||
}
|
|
||||||
PcrAllocation.count++;
|
|
||||||
}
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SHA384 & SupportedPCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SHA384;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SHA384 & PCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
|
||||||
} else {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
|
||||||
}
|
|
||||||
PcrAllocation.count++;
|
|
||||||
}
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SHA512 & SupportedPCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SHA512;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SHA512 & PCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
|
||||||
} else {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
|
||||||
}
|
|
||||||
PcrAllocation.count++;
|
|
||||||
}
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SM3_256 & SupportedPCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SM3_256;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
|
||||||
if ((EFI_TCG2_BOOT_HASH_ALG_SM3_256 & PCRBanks) != 0) {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
|
||||||
} else {
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
|
||||||
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
|
||||||
}
|
|
||||||
PcrAllocation.count++;
|
|
||||||
}
|
|
||||||
Status = Tpm2PcrAllocate (
|
|
||||||
TPM_RH_PLATFORM,
|
|
||||||
AuthSession,
|
|
||||||
&PcrAllocation,
|
|
||||||
&AllocationSuccess,
|
|
||||||
&MaxPCR,
|
|
||||||
&SizeNeeded,
|
|
||||||
&SizeAvailable
|
|
||||||
);
|
|
||||||
DEBUG ((EFI_D_INFO, "Tpm2PcrAllocate - %r\n", Status));
|
|
||||||
if (EFI_ERROR (Status)) {
|
|
||||||
goto Done;
|
|
||||||
}
|
|
||||||
|
|
||||||
DEBUG ((EFI_D_INFO, "AllocationSuccess - %02x\n", AllocationSuccess));
|
|
||||||
DEBUG ((EFI_D_INFO, "MaxPCR - %08x\n", MaxPCR));
|
|
||||||
DEBUG ((EFI_D_INFO, "SizeNeeded - %08x\n", SizeNeeded));
|
|
||||||
DEBUG ((EFI_D_INFO, "SizeAvailable - %08x\n", SizeAvailable));
|
|
||||||
|
|
||||||
Done:
|
|
||||||
ZeroMem(&LocalAuthSession.hmac, sizeof(LocalAuthSession.hmac));
|
|
||||||
return Status;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Change EPS.
|
Change EPS.
|
||||||
|
|
||||||
|
@ -327,7 +194,7 @@ Tcg2ExecutePhysicalPresence (
|
||||||
return TCG_PP_OPERATION_RESPONSE_SUCCESS;
|
return TCG_PP_OPERATION_RESPONSE_SUCCESS;
|
||||||
|
|
||||||
case TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS:
|
case TCG2_PHYSICAL_PRESENCE_SET_PCR_BANKS:
|
||||||
Status = Tpm2CommandAllocPcr (PlatformAuth, ProtocolCapability.HashAlgorithmBitmap, CommandParameter);
|
Status = Tpm2PcrAllocateBanks (PlatformAuth, ProtocolCapability.HashAlgorithmBitmap, CommandParameter);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
return TCG_PP_OPERATION_RESPONSE_BIOS_FAILURE;
|
return TCG_PP_OPERATION_RESPONSE_BIOS_FAILURE;
|
||||||
} else {
|
} else {
|
||||||
|
@ -343,7 +210,7 @@ Tcg2ExecutePhysicalPresence (
|
||||||
}
|
}
|
||||||
|
|
||||||
case TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS:
|
case TCG2_PHYSICAL_PRESENCE_LOG_ALL_DIGESTS:
|
||||||
Status = Tpm2CommandAllocPcr (PlatformAuth, ProtocolCapability.HashAlgorithmBitmap, ProtocolCapability.HashAlgorithmBitmap);
|
Status = Tpm2PcrAllocateBanks (PlatformAuth, ProtocolCapability.HashAlgorithmBitmap, ProtocolCapability.HashAlgorithmBitmap);
|
||||||
if (EFI_ERROR (Status)) {
|
if (EFI_ERROR (Status)) {
|
||||||
return TCG_PP_OPERATION_RESPONSE_BIOS_FAILURE;
|
return TCG_PP_OPERATION_RESPONSE_BIOS_FAILURE;
|
||||||
} else {
|
} else {
|
||||||
|
|
|
@ -535,3 +535,137 @@ Done:
|
||||||
ZeroMem (&Res, sizeof(Res));
|
ZeroMem (&Res, sizeof(Res));
|
||||||
return Status;
|
return Status;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Alloc PCR data.
|
||||||
|
|
||||||
|
@param[in] PlatformAuth platform auth value. NULL means no platform auth change.
|
||||||
|
@param[in] SupportedPCRBanks Supported PCR banks
|
||||||
|
@param[in] PCRBanks PCR banks
|
||||||
|
|
||||||
|
@retval EFI_SUCCESS Operation completed successfully.
|
||||||
|
**/
|
||||||
|
EFI_STATUS
|
||||||
|
EFIAPI
|
||||||
|
Tpm2PcrAllocateBanks (
|
||||||
|
IN TPM2B_AUTH *PlatformAuth, OPTIONAL
|
||||||
|
IN UINT32 SupportedPCRBanks,
|
||||||
|
IN UINT32 PCRBanks
|
||||||
|
)
|
||||||
|
{
|
||||||
|
EFI_STATUS Status;
|
||||||
|
TPMS_AUTH_COMMAND *AuthSession;
|
||||||
|
TPMS_AUTH_COMMAND LocalAuthSession;
|
||||||
|
TPML_PCR_SELECTION PcrAllocation;
|
||||||
|
TPMI_YES_NO AllocationSuccess;
|
||||||
|
UINT32 MaxPCR;
|
||||||
|
UINT32 SizeNeeded;
|
||||||
|
UINT32 SizeAvailable;
|
||||||
|
|
||||||
|
if (PlatformAuth == NULL) {
|
||||||
|
AuthSession = NULL;
|
||||||
|
} else {
|
||||||
|
AuthSession = &LocalAuthSession;
|
||||||
|
ZeroMem (&LocalAuthSession, sizeof(LocalAuthSession));
|
||||||
|
LocalAuthSession.sessionHandle = TPM_RS_PW;
|
||||||
|
LocalAuthSession.hmac.size = PlatformAuth->size;
|
||||||
|
CopyMem (LocalAuthSession.hmac.buffer, PlatformAuth->buffer, PlatformAuth->size);
|
||||||
|
}
|
||||||
|
|
||||||
|
//
|
||||||
|
// Fill input
|
||||||
|
//
|
||||||
|
ZeroMem (&PcrAllocation, sizeof(PcrAllocation));
|
||||||
|
if ((HASH_ALG_SHA1 & SupportedPCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SHA1;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
||||||
|
if ((HASH_ALG_SHA1 & PCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
||||||
|
} else {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
||||||
|
}
|
||||||
|
PcrAllocation.count++;
|
||||||
|
}
|
||||||
|
if ((HASH_ALG_SHA256 & SupportedPCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SHA256;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
||||||
|
if ((HASH_ALG_SHA256 & PCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
||||||
|
} else {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
||||||
|
}
|
||||||
|
PcrAllocation.count++;
|
||||||
|
}
|
||||||
|
if ((HASH_ALG_SHA384 & SupportedPCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SHA384;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
||||||
|
if ((HASH_ALG_SHA384 & PCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
||||||
|
} else {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
||||||
|
}
|
||||||
|
PcrAllocation.count++;
|
||||||
|
}
|
||||||
|
if ((HASH_ALG_SHA512 & SupportedPCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SHA512;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
||||||
|
if ((HASH_ALG_SHA512 & PCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
||||||
|
} else {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
||||||
|
}
|
||||||
|
PcrAllocation.count++;
|
||||||
|
}
|
||||||
|
if ((HASH_ALG_SM3_256 & SupportedPCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].hash = TPM_ALG_SM3_256;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].sizeofSelect = PCR_SELECT_MAX;
|
||||||
|
if ((HASH_ALG_SM3_256 & PCRBanks) != 0) {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0xFF;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0xFF;
|
||||||
|
} else {
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[0] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[1] = 0x00;
|
||||||
|
PcrAllocation.pcrSelections[PcrAllocation.count].pcrSelect[2] = 0x00;
|
||||||
|
}
|
||||||
|
PcrAllocation.count++;
|
||||||
|
}
|
||||||
|
Status = Tpm2PcrAllocate (
|
||||||
|
TPM_RH_PLATFORM,
|
||||||
|
AuthSession,
|
||||||
|
&PcrAllocation,
|
||||||
|
&AllocationSuccess,
|
||||||
|
&MaxPCR,
|
||||||
|
&SizeNeeded,
|
||||||
|
&SizeAvailable
|
||||||
|
);
|
||||||
|
DEBUG ((EFI_D_INFO, "Tpm2PcrAllocateBanks call Tpm2PcrAllocate - %r\n", Status));
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
goto Done;
|
||||||
|
}
|
||||||
|
|
||||||
|
DEBUG ((EFI_D_INFO, "AllocationSuccess - %02x\n", AllocationSuccess));
|
||||||
|
DEBUG ((EFI_D_INFO, "MaxPCR - %08x\n", MaxPCR));
|
||||||
|
DEBUG ((EFI_D_INFO, "SizeNeeded - %08x\n", SizeNeeded));
|
||||||
|
DEBUG ((EFI_D_INFO, "SizeAvailable - %08x\n", SizeAvailable));
|
||||||
|
|
||||||
|
Done:
|
||||||
|
ZeroMem(&LocalAuthSession.hmac, sizeof(LocalAuthSession.hmac));
|
||||||
|
return Status;
|
||||||
|
}
|
Loading…
Reference in New Issue