#include <Guid/EventGroup.h>\r
#include <Guid/PhysicalPresenceData.h>\r
#include <Library/TcgPpVendorLib.h>\r
+#include <Library/TcgPhysicalPresenceStorageLib.h>\r
\r
#define CONFIRM_BUFFER_SIZE 4096\r
\r
EFI_TCG_PROTOCOL *TcgProtocol;\r
EDKII_VARIABLE_LOCK_PROTOCOL *VariableLockProtocol;\r
EFI_PHYSICAL_PRESENCE_FLAGS PpiFlags;\r
- \r
+\r
+ //\r
+ // Process the storage related action first.\r
+ //\r
+ TcgPhysicalPresenceStorageLibProcessRequest();\r
+\r
Status = gBS->LocateProtocol (&gEfiTcgProtocolGuid, NULL, (VOID **)&TcgProtocol);\r
if (EFI_ERROR (Status)) {\r
return ;\r
BOOLEAN CmdEnable;\r
EFI_TCG_PROTOCOL *TcgProtocol;\r
EFI_PHYSICAL_PRESENCE_FLAGS PpiFlags;\r
- \r
+\r
+ //\r
+ // Process the storage related action first.\r
+ // If confirm need user confirm, just return TRUE.\r
+ // else continue check other actions.\r
+ //\r
+ if (TcgPhysicalPresenceStorageLibNeedUserConfirm()) {\r
+ return TRUE;\r
+ }\r
+\r
Status = gBS->LocateProtocol (&gEfiTcgProtocolGuid, NULL, (VOID **)&TcgProtocol);\r
if (EFI_ERROR (Status)) {\r
return FALSE;\r