SecurityPkg/SmmTcg2PhysicalPresenceLib: Add Tcg2PhysicalPresenceLibGetManagementFlags support.
OpalPasswordSmm driver need to use this API from this library, so enable this API. Signed-off-by: Eric Dong <eric.dong@intel.com>
This commit is contained in:
@@ -34,6 +34,38 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|||||||
|
|
||||||
EFI_SMM_VARIABLE_PROTOCOL *mTcg2PpSmmVariable;
|
EFI_SMM_VARIABLE_PROTOCOL *mTcg2PpSmmVariable;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Return TPM2 ManagementFlags set by PP interface.
|
||||||
|
|
||||||
|
@retval ManagementFlags TPM2 Management Flags.
|
||||||
|
**/
|
||||||
|
UINT32
|
||||||
|
EFIAPI
|
||||||
|
Tcg2PhysicalPresenceLibGetManagementFlags (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
EFI_STATUS Status;
|
||||||
|
EFI_TCG2_PHYSICAL_PRESENCE_FLAGS PpiFlags;
|
||||||
|
UINTN DataSize;
|
||||||
|
|
||||||
|
DEBUG ((EFI_D_INFO, "[TPM2] GetManagementFlags\n"));
|
||||||
|
|
||||||
|
DataSize = sizeof (EFI_TCG2_PHYSICAL_PRESENCE_FLAGS);
|
||||||
|
Status = mTcg2PpSmmVariable->SmmGetVariable (
|
||||||
|
TCG2_PHYSICAL_PRESENCE_FLAGS_VARIABLE,
|
||||||
|
&gEfiTcg2PhysicalPresenceGuid,
|
||||||
|
NULL,
|
||||||
|
&DataSize,
|
||||||
|
&PpiFlags
|
||||||
|
);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
DEBUG ((EFI_D_ERROR, "[TPM2] Get PP flags variable failure! Status = %r\n", Status));
|
||||||
|
PpiFlags.PPFlags = TCG2_BIOS_TPM_MANAGEMENT_FLAG_DEFAULT | TCG2_BIOS_STORAGE_MANAGEMENT_FLAG_DEFAULT;
|
||||||
|
}
|
||||||
|
return PpiFlags.PPFlags;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
The handler for TPM physical presence function:
|
The handler for TPM physical presence function:
|
||||||
Return TPM Operation Response to OS Environment.
|
Return TPM Operation Response to OS Environment.
|
||||||
|
Reference in New Issue
Block a user