SecurityPkg: Apply uncrustify changes
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737 Apply uncrustify changes to .c/.h files in the SecurityPkg package Cc: Andrew Fish <afish@apple.com> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Michael D Kinney <michael.d.kinney@intel.com> Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com> Reviewed-by: Jian J Wang <jian.j.wang@intel.com>
This commit is contained in:
committed by
mergify[bot]
parent
39de741e2d
commit
c411b485b6
@@ -26,12 +26,12 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
// Execution of the command may take from several seconds to minutes for certain
|
||||
// commands, such as key generation.
|
||||
//
|
||||
#define PTP_TIMEOUT_MAX (90000 * 1000) // 90s
|
||||
#define PTP_TIMEOUT_MAX (90000 * 1000) // 90s
|
||||
|
||||
//
|
||||
// Max TPM command/response length
|
||||
//
|
||||
#define TPMCMDBUFLENGTH 0x500
|
||||
#define TPMCMDBUFLENGTH 0x500
|
||||
|
||||
/**
|
||||
Check whether TPM PTP register exist.
|
||||
@@ -43,10 +43,10 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
**/
|
||||
BOOLEAN
|
||||
Tpm2IsPtpPresence (
|
||||
IN VOID *Reg
|
||||
IN VOID *Reg
|
||||
)
|
||||
{
|
||||
UINT8 RegRead;
|
||||
UINT8 RegRead;
|
||||
|
||||
RegRead = MmioRead8 ((UINTN)Reg);
|
||||
if (RegRead == 0xFF) {
|
||||
@@ -55,6 +55,7 @@ Tpm2IsPtpPresence (
|
||||
//
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -71,22 +72,24 @@ Tpm2IsPtpPresence (
|
||||
**/
|
||||
EFI_STATUS
|
||||
PtpCrbWaitRegisterBits (
|
||||
IN UINT32 *Register,
|
||||
IN UINT32 BitSet,
|
||||
IN UINT32 BitClear,
|
||||
IN UINT32 TimeOut
|
||||
IN UINT32 *Register,
|
||||
IN UINT32 BitSet,
|
||||
IN UINT32 BitClear,
|
||||
IN UINT32 TimeOut
|
||||
)
|
||||
{
|
||||
UINT32 RegRead;
|
||||
UINT32 WaitTime;
|
||||
UINT32 RegRead;
|
||||
UINT32 WaitTime;
|
||||
|
||||
for (WaitTime = 0; WaitTime < TimeOut; WaitTime += 30){
|
||||
for (WaitTime = 0; WaitTime < TimeOut; WaitTime += 30) {
|
||||
RegRead = MmioRead32 ((UINTN)Register);
|
||||
if ((RegRead & BitSet) == BitSet && (RegRead & BitClear) == 0) {
|
||||
if (((RegRead & BitSet) == BitSet) && ((RegRead & BitClear) == 0)) {
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
||||
MicroSecondDelay (30);
|
||||
}
|
||||
|
||||
return EFI_TIMEOUT;
|
||||
}
|
||||
|
||||
@@ -102,16 +105,16 @@ PtpCrbWaitRegisterBits (
|
||||
**/
|
||||
EFI_STATUS
|
||||
PtpCrbRequestUseTpm (
|
||||
IN PTP_CRB_REGISTERS_PTR CrbReg
|
||||
IN PTP_CRB_REGISTERS_PTR CrbReg
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
EFI_STATUS Status;
|
||||
|
||||
if (!Tpm2IsPtpPresence (CrbReg)) {
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
|
||||
MmioWrite32((UINTN)&CrbReg->LocalityControl, PTP_CRB_LOCALITY_CONTROL_REQUEST_ACCESS);
|
||||
MmioWrite32 ((UINTN)&CrbReg->LocalityControl, PTP_CRB_LOCALITY_CONTROL_REQUEST_ACCESS);
|
||||
Status = PtpCrbWaitRegisterBits (
|
||||
&CrbReg->LocalityStatus,
|
||||
PTP_CRB_LOCALITY_STATUS_GRANTED,
|
||||
@@ -138,52 +141,55 @@ PtpCrbRequestUseTpm (
|
||||
**/
|
||||
EFI_STATUS
|
||||
PtpCrbTpmCommand (
|
||||
IN PTP_CRB_REGISTERS_PTR CrbReg,
|
||||
IN UINT8 *BufferIn,
|
||||
IN UINT32 SizeIn,
|
||||
IN OUT UINT8 *BufferOut,
|
||||
IN OUT UINT32 *SizeOut
|
||||
IN PTP_CRB_REGISTERS_PTR CrbReg,
|
||||
IN UINT8 *BufferIn,
|
||||
IN UINT32 SizeIn,
|
||||
IN OUT UINT8 *BufferOut,
|
||||
IN OUT UINT32 *SizeOut
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
UINT32 Index;
|
||||
UINT32 TpmOutSize;
|
||||
UINT16 Data16;
|
||||
UINT32 Data32;
|
||||
EFI_STATUS Status;
|
||||
UINT32 Index;
|
||||
UINT32 TpmOutSize;
|
||||
UINT16 Data16;
|
||||
UINT32 Data32;
|
||||
|
||||
DEBUG_CODE_BEGIN ();
|
||||
UINTN DebugSize;
|
||||
UINTN DebugSize;
|
||||
|
||||
DEBUG ((DEBUG_VERBOSE, "PtpCrbTpmCommand Send - "));
|
||||
if (SizeIn > 0x100) {
|
||||
DebugSize = 0x40;
|
||||
} else {
|
||||
DebugSize = SizeIn;
|
||||
}
|
||||
for (Index = 0; Index < DebugSize; Index++) {
|
||||
DEBUG ((DEBUG_VERBOSE, "PtpCrbTpmCommand Send - "));
|
||||
if (SizeIn > 0x100) {
|
||||
DebugSize = 0x40;
|
||||
} else {
|
||||
DebugSize = SizeIn;
|
||||
}
|
||||
|
||||
for (Index = 0; Index < DebugSize; Index++) {
|
||||
DEBUG ((DEBUG_VERBOSE, "%02x ", BufferIn[Index]));
|
||||
}
|
||||
|
||||
if (DebugSize != SizeIn) {
|
||||
DEBUG ((DEBUG_VERBOSE, "...... "));
|
||||
for (Index = SizeIn - 0x20; Index < SizeIn; Index++) {
|
||||
DEBUG ((DEBUG_VERBOSE, "%02x ", BufferIn[Index]));
|
||||
}
|
||||
if (DebugSize != SizeIn) {
|
||||
DEBUG ((DEBUG_VERBOSE, "...... "));
|
||||
for (Index = SizeIn - 0x20; Index < SizeIn; Index++) {
|
||||
DEBUG ((DEBUG_VERBOSE, "%02x ", BufferIn[Index]));
|
||||
}
|
||||
}
|
||||
DEBUG ((DEBUG_VERBOSE, "\n"));
|
||||
}
|
||||
|
||||
DEBUG ((DEBUG_VERBOSE, "\n"));
|
||||
DEBUG_CODE_END ();
|
||||
TpmOutSize = 0;
|
||||
TpmOutSize = 0;
|
||||
|
||||
//
|
||||
// STEP 0:
|
||||
// if CapCRbIdelByPass == 0, enforce Idle state before sending command
|
||||
//
|
||||
if (GetCachedIdleByPass () == 0 && (MmioRead32((UINTN)&CrbReg->CrbControlStatus) & PTP_CRB_CONTROL_AREA_STATUS_TPM_IDLE) == 0){
|
||||
if ((GetCachedIdleByPass () == 0) && ((MmioRead32 ((UINTN)&CrbReg->CrbControlStatus) & PTP_CRB_CONTROL_AREA_STATUS_TPM_IDLE) == 0)) {
|
||||
Status = PtpCrbWaitRegisterBits (
|
||||
&CrbReg->CrbControlStatus,
|
||||
PTP_CRB_CONTROL_AREA_STATUS_TPM_IDLE,
|
||||
0,
|
||||
PTP_TIMEOUT_C
|
||||
);
|
||||
&CrbReg->CrbControlStatus,
|
||||
PTP_CRB_CONTROL_AREA_STATUS_TPM_IDLE,
|
||||
0,
|
||||
PTP_TIMEOUT_C
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
//
|
||||
// Try to goIdle to recover TPM
|
||||
@@ -199,7 +205,7 @@ PtpCrbTpmCommand (
|
||||
// of 1 by software to Request.cmdReady, as indicated by the Status field
|
||||
// being cleared to 0.
|
||||
//
|
||||
MmioWrite32((UINTN)&CrbReg->CrbControlRequest, PTP_CRB_CONTROL_AREA_REQUEST_COMMAND_READY);
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlRequest, PTP_CRB_CONTROL_AREA_REQUEST_COMMAND_READY);
|
||||
Status = PtpCrbWaitRegisterBits (
|
||||
&CrbReg->CrbControlRequest,
|
||||
0,
|
||||
@@ -210,6 +216,7 @@ PtpCrbTpmCommand (
|
||||
Status = EFI_DEVICE_ERROR;
|
||||
goto GoIdle_Exit;
|
||||
}
|
||||
|
||||
Status = PtpCrbWaitRegisterBits (
|
||||
&CrbReg->CrbControlStatus,
|
||||
0,
|
||||
@@ -230,19 +237,20 @@ PtpCrbTpmCommand (
|
||||
for (Index = 0; Index < SizeIn; Index++) {
|
||||
MmioWrite8 ((UINTN)&CrbReg->CrbDataBuffer[Index], BufferIn[Index]);
|
||||
}
|
||||
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlCommandAddressHigh, (UINT32)RShiftU64 ((UINTN)CrbReg->CrbDataBuffer, 32));
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlCommandAddressLow, (UINT32)(UINTN)CrbReg->CrbDataBuffer);
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlCommandSize, sizeof(CrbReg->CrbDataBuffer));
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlCommandSize, sizeof (CrbReg->CrbDataBuffer));
|
||||
|
||||
MmioWrite64 ((UINTN)&CrbReg->CrbControlResponseAddrss, (UINT32)(UINTN)CrbReg->CrbDataBuffer);
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlResponseSize, sizeof(CrbReg->CrbDataBuffer));
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlResponseSize, sizeof (CrbReg->CrbDataBuffer));
|
||||
|
||||
//
|
||||
// STEP 3:
|
||||
// Command Execution occurs after receipt of a 1 to Start and the TPM
|
||||
// clearing Start to 0.
|
||||
//
|
||||
MmioWrite32((UINTN)&CrbReg->CrbControlStart, PTP_CRB_CONTROL_START);
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlStart, PTP_CRB_CONTROL_START);
|
||||
Status = PtpCrbWaitRegisterBits (
|
||||
&CrbReg->CrbControlStart,
|
||||
0,
|
||||
@@ -254,16 +262,16 @@ PtpCrbTpmCommand (
|
||||
// Command Completion check timeout. Cancel the currently executing command by writing TPM_CRB_CTRL_CANCEL,
|
||||
// Expect TPM_RC_CANCELLED or successfully completed response.
|
||||
//
|
||||
MmioWrite32((UINTN)&CrbReg->CrbControlCancel, PTP_CRB_CONTROL_CANCEL);
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlCancel, PTP_CRB_CONTROL_CANCEL);
|
||||
Status = PtpCrbWaitRegisterBits (
|
||||
&CrbReg->CrbControlStart,
|
||||
0,
|
||||
PTP_CRB_CONTROL_START,
|
||||
PTP_TIMEOUT_B
|
||||
);
|
||||
MmioWrite32((UINTN)&CrbReg->CrbControlCancel, 0);
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlCancel, 0);
|
||||
|
||||
if (EFI_ERROR(Status)) {
|
||||
if (EFI_ERROR (Status)) {
|
||||
//
|
||||
// Still in Command Execution state. Try to goIdle, the behavior is agnostic.
|
||||
//
|
||||
@@ -285,12 +293,14 @@ PtpCrbTpmCommand (
|
||||
for (Index = 0; Index < sizeof (TPM2_RESPONSE_HEADER); Index++) {
|
||||
BufferOut[Index] = MmioRead8 ((UINTN)&CrbReg->CrbDataBuffer[Index]);
|
||||
}
|
||||
|
||||
DEBUG_CODE_BEGIN ();
|
||||
DEBUG ((DEBUG_VERBOSE, "PtpCrbTpmCommand ReceiveHeader - "));
|
||||
for (Index = 0; Index < sizeof (TPM2_RESPONSE_HEADER); Index++) {
|
||||
DEBUG ((DEBUG_VERBOSE, "%02x ", BufferOut[Index]));
|
||||
}
|
||||
DEBUG ((DEBUG_VERBOSE, "\n"));
|
||||
DEBUG ((DEBUG_VERBOSE, "PtpCrbTpmCommand ReceiveHeader - "));
|
||||
for (Index = 0; Index < sizeof (TPM2_RESPONSE_HEADER); Index++) {
|
||||
DEBUG ((DEBUG_VERBOSE, "%02x ", BufferOut[Index]));
|
||||
}
|
||||
|
||||
DEBUG ((DEBUG_VERBOSE, "\n"));
|
||||
DEBUG_CODE_END ();
|
||||
//
|
||||
// Check the response data header (tag, parasize and returncode)
|
||||
@@ -304,7 +314,7 @@ PtpCrbTpmCommand (
|
||||
}
|
||||
|
||||
CopyMem (&Data32, (BufferOut + 2), sizeof (UINT32));
|
||||
TpmOutSize = SwapBytes32 (Data32);
|
||||
TpmOutSize = SwapBytes32 (Data32);
|
||||
if (*SizeOut < TpmOutSize) {
|
||||
//
|
||||
// Command completed, but buffer is not enough
|
||||
@@ -312,6 +322,7 @@ PtpCrbTpmCommand (
|
||||
Status = EFI_BUFFER_TOO_SMALL;
|
||||
goto GoReady_Exit;
|
||||
}
|
||||
|
||||
*SizeOut = TpmOutSize;
|
||||
//
|
||||
// Continue reading the remaining data
|
||||
@@ -321,11 +332,12 @@ PtpCrbTpmCommand (
|
||||
}
|
||||
|
||||
DEBUG_CODE_BEGIN ();
|
||||
DEBUG ((DEBUG_VERBOSE, "PtpCrbTpmCommand Receive - "));
|
||||
for (Index = 0; Index < TpmOutSize; Index++) {
|
||||
DEBUG ((DEBUG_VERBOSE, "%02x ", BufferOut[Index]));
|
||||
}
|
||||
DEBUG ((DEBUG_VERBOSE, "\n"));
|
||||
DEBUG ((DEBUG_VERBOSE, "PtpCrbTpmCommand Receive - "));
|
||||
for (Index = 0; Index < TpmOutSize; Index++) {
|
||||
DEBUG ((DEBUG_VERBOSE, "%02x ", BufferOut[Index]));
|
||||
}
|
||||
|
||||
DEBUG ((DEBUG_VERBOSE, "\n"));
|
||||
DEBUG_CODE_END ();
|
||||
|
||||
GoReady_Exit:
|
||||
@@ -334,7 +346,7 @@ GoReady_Exit:
|
||||
// If not supported. flow down to GoIdle
|
||||
//
|
||||
if (GetCachedIdleByPass () == 1) {
|
||||
MmioWrite32((UINTN)&CrbReg->CrbControlRequest, PTP_CRB_CONTROL_AREA_REQUEST_COMMAND_READY);
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlRequest, PTP_CRB_CONTROL_AREA_REQUEST_COMMAND_READY);
|
||||
return Status;
|
||||
}
|
||||
|
||||
@@ -347,13 +359,13 @@ GoIdle_Exit:
|
||||
//
|
||||
// Return to Idle state by setting TPM_CRB_CTRL_STS_x.Status.goIdle to 1.
|
||||
//
|
||||
MmioWrite32((UINTN)&CrbReg->CrbControlRequest, PTP_CRB_CONTROL_AREA_REQUEST_GO_IDLE);
|
||||
MmioWrite32 ((UINTN)&CrbReg->CrbControlRequest, PTP_CRB_CONTROL_AREA_REQUEST_GO_IDLE);
|
||||
|
||||
//
|
||||
// Only enforce Idle state transition if execution fails when CRBIdleBypass==1
|
||||
// Leave regular Idle delay at the beginning of next command execution
|
||||
//
|
||||
if (GetCachedIdleByPass () == 1){
|
||||
if (GetCachedIdleByPass () == 1) {
|
||||
Status = PtpCrbWaitRegisterBits (
|
||||
&CrbReg->CrbControlStatus,
|
||||
PTP_CRB_CONTROL_AREA_STATUS_TPM_IDLE,
|
||||
@@ -382,11 +394,11 @@ GoIdle_Exit:
|
||||
**/
|
||||
EFI_STATUS
|
||||
Tpm2TisTpmCommand (
|
||||
IN TIS_PC_REGISTERS_PTR TisReg,
|
||||
IN UINT8 *BufferIn,
|
||||
IN UINT32 SizeIn,
|
||||
IN OUT UINT8 *BufferOut,
|
||||
IN OUT UINT32 *SizeOut
|
||||
IN TIS_PC_REGISTERS_PTR TisReg,
|
||||
IN UINT8 *BufferIn,
|
||||
IN UINT32 SizeIn,
|
||||
IN OUT UINT8 *BufferOut,
|
||||
IN OUT UINT32 *SizeOut
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -402,7 +414,7 @@ Tpm2TisTpmCommand (
|
||||
**/
|
||||
EFI_STATUS
|
||||
TisPcRequestUseTpm (
|
||||
IN TIS_PC_REGISTERS_PTR TisReg
|
||||
IN TIS_PC_REGISTERS_PTR TisReg
|
||||
);
|
||||
|
||||
/**
|
||||
@@ -414,32 +426,37 @@ TisPcRequestUseTpm (
|
||||
**/
|
||||
TPM2_PTP_INTERFACE_TYPE
|
||||
Tpm2GetPtpInterface (
|
||||
IN VOID *Register
|
||||
IN VOID *Register
|
||||
)
|
||||
{
|
||||
PTP_CRB_INTERFACE_IDENTIFIER InterfaceId;
|
||||
PTP_FIFO_INTERFACE_CAPABILITY InterfaceCapability;
|
||||
PTP_CRB_INTERFACE_IDENTIFIER InterfaceId;
|
||||
PTP_FIFO_INTERFACE_CAPABILITY InterfaceCapability;
|
||||
|
||||
if (!Tpm2IsPtpPresence (Register)) {
|
||||
return Tpm2PtpInterfaceMax;
|
||||
}
|
||||
|
||||
//
|
||||
// Check interface id
|
||||
//
|
||||
InterfaceId.Uint32 = MmioRead32 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->InterfaceId);
|
||||
InterfaceId.Uint32 = MmioRead32 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->InterfaceId);
|
||||
InterfaceCapability.Uint32 = MmioRead32 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->InterfaceCapability);
|
||||
|
||||
if ((InterfaceId.Bits.InterfaceType == PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_CRB) &&
|
||||
(InterfaceId.Bits.InterfaceVersion == PTP_INTERFACE_IDENTIFIER_INTERFACE_VERSION_CRB) &&
|
||||
(InterfaceId.Bits.CapCRB != 0)) {
|
||||
(InterfaceId.Bits.CapCRB != 0))
|
||||
{
|
||||
return Tpm2PtpInterfaceCrb;
|
||||
}
|
||||
|
||||
if ((InterfaceId.Bits.InterfaceType == PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_FIFO) &&
|
||||
(InterfaceId.Bits.InterfaceVersion == PTP_INTERFACE_IDENTIFIER_INTERFACE_VERSION_FIFO) &&
|
||||
(InterfaceId.Bits.CapFIFO != 0) &&
|
||||
(InterfaceCapability.Bits.InterfaceVersion == INTERFACE_CAPABILITY_INTERFACE_VERSION_PTP)) {
|
||||
(InterfaceCapability.Bits.InterfaceVersion == INTERFACE_CAPABILITY_INTERFACE_VERSION_PTP))
|
||||
{
|
||||
return Tpm2PtpInterfaceFifo;
|
||||
}
|
||||
|
||||
return Tpm2PtpInterfaceTis;
|
||||
}
|
||||
|
||||
@@ -452,7 +469,7 @@ Tpm2GetPtpInterface (
|
||||
**/
|
||||
UINT8
|
||||
Tpm2GetIdleByPass (
|
||||
IN VOID *Register
|
||||
IN VOID *Register
|
||||
)
|
||||
{
|
||||
PTP_CRB_INTERFACE_IDENTIFIER InterfaceId;
|
||||
@@ -472,24 +489,24 @@ Tpm2GetIdleByPass (
|
||||
**/
|
||||
VOID
|
||||
DumpPtpInfo (
|
||||
IN VOID *Register
|
||||
IN VOID *Register
|
||||
)
|
||||
{
|
||||
PTP_CRB_INTERFACE_IDENTIFIER InterfaceId;
|
||||
PTP_FIFO_INTERFACE_CAPABILITY InterfaceCapability;
|
||||
UINT8 StatusEx;
|
||||
UINT16 Vid;
|
||||
UINT16 Did;
|
||||
UINT8 Rid;
|
||||
TPM2_PTP_INTERFACE_TYPE PtpInterface;
|
||||
PTP_CRB_INTERFACE_IDENTIFIER InterfaceId;
|
||||
PTP_FIFO_INTERFACE_CAPABILITY InterfaceCapability;
|
||||
UINT8 StatusEx;
|
||||
UINT16 Vid;
|
||||
UINT16 Did;
|
||||
UINT8 Rid;
|
||||
TPM2_PTP_INTERFACE_TYPE PtpInterface;
|
||||
|
||||
if (!Tpm2IsPtpPresence (Register)) {
|
||||
return ;
|
||||
return;
|
||||
}
|
||||
|
||||
InterfaceId.Uint32 = MmioRead32 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->InterfaceId);
|
||||
InterfaceId.Uint32 = MmioRead32 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->InterfaceId);
|
||||
InterfaceCapability.Uint32 = MmioRead32 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->InterfaceCapability);
|
||||
StatusEx = MmioRead8 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->StatusEx);
|
||||
StatusEx = MmioRead8 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->StatusEx);
|
||||
|
||||
//
|
||||
// Dump InterfaceId Register for PTP
|
||||
@@ -507,7 +524,8 @@ DumpPtpInfo (
|
||||
//
|
||||
DEBUG ((DEBUG_INFO, "InterfaceCapability - 0x%08x\n", InterfaceCapability.Uint32));
|
||||
if ((InterfaceId.Bits.InterfaceType == PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_TIS) ||
|
||||
(InterfaceId.Bits.InterfaceType == PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_FIFO)) {
|
||||
(InterfaceId.Bits.InterfaceType == PTP_INTERFACE_IDENTIFIER_INTERFACE_TYPE_FIFO))
|
||||
{
|
||||
DEBUG ((DEBUG_INFO, " InterfaceVersion - 0x%x\n", InterfaceCapability.Bits.InterfaceVersion));
|
||||
}
|
||||
|
||||
@@ -519,26 +537,27 @@ DumpPtpInfo (
|
||||
DEBUG ((DEBUG_INFO, " TpmFamily - 0x%x\n", (StatusEx & PTP_FIFO_STS_EX_TPM_FAMILY) >> PTP_FIFO_STS_EX_TPM_FAMILY_OFFSET));
|
||||
}
|
||||
|
||||
Vid = 0xFFFF;
|
||||
Did = 0xFFFF;
|
||||
Rid = 0xFF;
|
||||
Vid = 0xFFFF;
|
||||
Did = 0xFFFF;
|
||||
Rid = 0xFF;
|
||||
PtpInterface = GetCachedPtpInterface ();
|
||||
DEBUG ((DEBUG_INFO, "PtpInterface - %x\n", PtpInterface));
|
||||
switch (PtpInterface) {
|
||||
case Tpm2PtpInterfaceCrb:
|
||||
Vid = MmioRead16 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->Vid);
|
||||
Did = MmioRead16 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->Did);
|
||||
Rid = (UINT8)InterfaceId.Bits.Rid;
|
||||
break;
|
||||
case Tpm2PtpInterfaceFifo:
|
||||
case Tpm2PtpInterfaceTis:
|
||||
Vid = MmioRead16 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->Vid);
|
||||
Did = MmioRead16 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->Did);
|
||||
Rid = MmioRead8 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->Rid);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
case Tpm2PtpInterfaceCrb:
|
||||
Vid = MmioRead16 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->Vid);
|
||||
Did = MmioRead16 ((UINTN)&((PTP_CRB_REGISTERS *)Register)->Did);
|
||||
Rid = (UINT8)InterfaceId.Bits.Rid;
|
||||
break;
|
||||
case Tpm2PtpInterfaceFifo:
|
||||
case Tpm2PtpInterfaceTis:
|
||||
Vid = MmioRead16 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->Vid);
|
||||
Did = MmioRead16 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->Did);
|
||||
Rid = MmioRead8 ((UINTN)&((PTP_FIFO_REGISTERS *)Register)->Rid);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
DEBUG ((DEBUG_INFO, "VID - 0x%04x\n", Vid));
|
||||
DEBUG ((DEBUG_INFO, "DID - 0x%04x\n", Did));
|
||||
DEBUG ((DEBUG_INFO, "RID - 0x%02x\n", Rid));
|
||||
@@ -559,35 +578,35 @@ DumpPtpInfo (
|
||||
EFI_STATUS
|
||||
EFIAPI
|
||||
DTpm2SubmitCommand (
|
||||
IN UINT32 InputParameterBlockSize,
|
||||
IN UINT8 *InputParameterBlock,
|
||||
IN OUT UINT32 *OutputParameterBlockSize,
|
||||
IN UINT8 *OutputParameterBlock
|
||||
IN UINT32 InputParameterBlockSize,
|
||||
IN UINT8 *InputParameterBlock,
|
||||
IN OUT UINT32 *OutputParameterBlockSize,
|
||||
IN UINT8 *OutputParameterBlock
|
||||
)
|
||||
{
|
||||
TPM2_PTP_INTERFACE_TYPE PtpInterface;
|
||||
|
||||
PtpInterface = GetCachedPtpInterface ();
|
||||
switch (PtpInterface) {
|
||||
case Tpm2PtpInterfaceCrb:
|
||||
return PtpCrbTpmCommand (
|
||||
(PTP_CRB_REGISTERS_PTR) (UINTN) PcdGet64 (PcdTpmBaseAddress),
|
||||
InputParameterBlock,
|
||||
InputParameterBlockSize,
|
||||
OutputParameterBlock,
|
||||
OutputParameterBlockSize
|
||||
);
|
||||
case Tpm2PtpInterfaceFifo:
|
||||
case Tpm2PtpInterfaceTis:
|
||||
return Tpm2TisTpmCommand (
|
||||
(TIS_PC_REGISTERS_PTR) (UINTN) PcdGet64 (PcdTpmBaseAddress),
|
||||
InputParameterBlock,
|
||||
InputParameterBlockSize,
|
||||
OutputParameterBlock,
|
||||
OutputParameterBlockSize
|
||||
);
|
||||
default:
|
||||
return EFI_NOT_FOUND;
|
||||
case Tpm2PtpInterfaceCrb:
|
||||
return PtpCrbTpmCommand (
|
||||
(PTP_CRB_REGISTERS_PTR)(UINTN)PcdGet64 (PcdTpmBaseAddress),
|
||||
InputParameterBlock,
|
||||
InputParameterBlockSize,
|
||||
OutputParameterBlock,
|
||||
OutputParameterBlockSize
|
||||
);
|
||||
case Tpm2PtpInterfaceFifo:
|
||||
case Tpm2PtpInterfaceTis:
|
||||
return Tpm2TisTpmCommand (
|
||||
(TIS_PC_REGISTERS_PTR)(UINTN)PcdGet64 (PcdTpmBaseAddress),
|
||||
InputParameterBlock,
|
||||
InputParameterBlockSize,
|
||||
OutputParameterBlock,
|
||||
OutputParameterBlockSize
|
||||
);
|
||||
default:
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -608,12 +627,12 @@ DTpm2RequestUseTpm (
|
||||
|
||||
PtpInterface = GetCachedPtpInterface ();
|
||||
switch (PtpInterface) {
|
||||
case Tpm2PtpInterfaceCrb:
|
||||
return PtpCrbRequestUseTpm ((PTP_CRB_REGISTERS_PTR) (UINTN) PcdGet64 (PcdTpmBaseAddress));
|
||||
case Tpm2PtpInterfaceFifo:
|
||||
case Tpm2PtpInterfaceTis:
|
||||
return TisPcRequestUseTpm ((TIS_PC_REGISTERS_PTR) (UINTN) PcdGet64 (PcdTpmBaseAddress));
|
||||
default:
|
||||
return EFI_NOT_FOUND;
|
||||
case Tpm2PtpInterfaceCrb:
|
||||
return PtpCrbRequestUseTpm ((PTP_CRB_REGISTERS_PTR)(UINTN)PcdGet64 (PcdTpmBaseAddress));
|
||||
case Tpm2PtpInterfaceFifo:
|
||||
case Tpm2PtpInterfaceTis:
|
||||
return TisPcRequestUseTpm ((TIS_PC_REGISTERS_PTR)(UINTN)PcdGet64 (PcdTpmBaseAddress));
|
||||
default:
|
||||
return EFI_NOT_FOUND;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user