SecurityPkg: Tcg: New field for User Confirmation Status
Add a new field in TcgNVS for PP operation user confirmation status, instead of previous logic overriding Request. Previous logic causes Get Pending TPM Operation Requested sub function return wrong value. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Chao Zhang <chao.b.zhang@intel.com> Reviewed-by: Yao Jiewen <jiewen.yao@intel.com> Reviewed-by: Long Qin <qin.long@intel.com>
This commit is contained in:
@@ -135,8 +135,8 @@ PhysicalPresenceCallback (
|
||||
mTcgNvs->PhysicalPresence.RequestParameter
|
||||
);
|
||||
} else if (mTcgNvs->PhysicalPresence.Parameter == TCG_ACPI_FUNCTION_GET_USER_CONFIRMATION_STATUS_FOR_REQUEST) {
|
||||
mTcgNvs->PhysicalPresence.ReturnCode = Tcg2PhysicalPresenceLibGetUserConfirmationStatusFunction (mTcgNvs->PhysicalPresence.Request);
|
||||
}
|
||||
mTcgNvs->PhysicalPresence.ReturnCode = Tcg2PhysicalPresenceLibGetUserConfirmationStatusFunction (mTcgNvs->PPRequestUserConfirm);
|
||||
}
|
||||
|
||||
return EFI_SUCCESS;
|
||||
}
|
||||
|
@@ -62,6 +62,7 @@ typedef struct {
|
||||
typedef struct {
|
||||
PHYSICAL_PRESENCE_NVS PhysicalPresence;
|
||||
MEMORY_CLEAR_NVS MemoryClear;
|
||||
UINT32 PPRequestUserConfirm;
|
||||
} TCG_NVS;
|
||||
|
||||
typedef struct {
|
||||
|
@@ -79,7 +79,8 @@ DefinitionBlock (
|
||||
MCIN, 8, // Software SMI for Memory Clear Interface
|
||||
MCIP, 32, // Used for save the Mor paramter
|
||||
MORD, 32, // Memory Overwrite Request Data
|
||||
MRET, 32 // Memory Overwrite function return code
|
||||
MRET, 32, // Memory Overwrite function return code
|
||||
UCRQ, 32 // Phyical Presence request operation to Get User Confirmation Status
|
||||
}
|
||||
|
||||
Method (PTS, 1, Serialized)
|
||||
@@ -274,7 +275,7 @@ DefinitionBlock (
|
||||
// e) Get User Confirmation Status for Operation
|
||||
//
|
||||
Store (8, PPIP)
|
||||
Store (DerefOf (Index (Arg2, 0x00)), PPRQ)
|
||||
Store (DerefOf (Index (Arg2, 0x00)), UCRQ)
|
||||
|
||||
//
|
||||
// Triggle the SMI interrupt
|
||||
|
Reference in New Issue
Block a user