]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Tcg/Opal/OpalPasswordDxe/OpalHii.c
Revert old "Enable BlockSid related PP actions" patch series.
[mirror_edk2.git] / SecurityPkg / Tcg / Opal / OpalPasswordDxe / OpalHii.c
index 7371b7e892d6ab801e24c3e432b0d14cf0402de7..1e4987f9a0f32be4df6cf79b44101386b8a3de05 100644 (file)
@@ -90,63 +90,23 @@ HiiSetCurrentConfiguration(
   VOID\r
   )\r
 {\r
-  UINT32                                       PpStorageFlag;\r
-  EFI_STRING                                   NewString;\r
+  EFI_STATUS                            Status;\r
+  OPAL_EXTRA_INFO_VAR                   OpalExtraInfo;\r
+  UINTN                                 DataSize;\r
 \r
   gHiiConfiguration.NumDisks = GetDeviceCount();\r
 \r
-  //\r
-  // Update the BlockSID status string.\r
-  //\r
-  PpStorageFlag = TcgPhysicalPresenceStorageLibReturnStorageFlags();\r
-\r
-  if ((PpStorageFlag & TCG_BIOS_STORAGE_MANAGEMENT_FLAG_ENABLE_BLOCK_SID) != 0) {\r
-    NewString = HiiGetString (gHiiPackageListHandle, STRING_TOKEN(STR_ENABLED), NULL);\r
-    if (NewString == NULL) {\r
-      DEBUG ((DEBUG_INFO,  "HiiSetCurrentConfiguration: HiiGetString( ) failed\n"));\r
-      return;\r
-    }\r
-  } else {\r
-    NewString = HiiGetString (gHiiPackageListHandle, STRING_TOKEN(STR_DISABLED), NULL);\r
-    if (NewString == NULL) {\r
-      DEBUG ((DEBUG_INFO,  "HiiSetCurrentConfiguration: HiiGetString( ) failed\n"));\r
-      return;\r
-    }\r
-  }\r
-  HiiSetString(gHiiPackageListHandle, STRING_TOKEN(STR_BLOCKSID_STATUS1), NewString, NULL);\r
-  FreePool (NewString);\r
-\r
-  if ((PpStorageFlag & TCG_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_ENABLE_BLOCK_SID) != 0) {\r
-    NewString = HiiGetString (gHiiPackageListHandle, STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID_TRUE), NULL);\r
-    if (NewString == NULL) {\r
-      DEBUG ((DEBUG_INFO,  "HiiSetCurrentConfiguration: HiiGetString( ) failed\n"));\r
-      return;\r
-    }\r
-  } else {\r
-    NewString = HiiGetString (gHiiPackageListHandle, STRING_TOKEN(STR_DISK_INFO_ENABLE_BLOCKSID_FALSE), NULL);\r
-    if (NewString == NULL) {\r
-      DEBUG ((DEBUG_INFO,  "HiiSetCurrentConfiguration: HiiGetString( ) failed\n"));\r
-      return;\r
-    }\r
-  }\r
-  HiiSetString(gHiiPackageListHandle, STRING_TOKEN(STR_BLOCKSID_STATUS2), NewString, NULL);\r
-  FreePool (NewString);\r
-\r
-  if ((PpStorageFlag & TCG_BIOS_STORAGE_MANAGEMENT_FLAG_PP_REQUIRED_FOR_DISABLE_BLOCK_SID) != 0) {\r
-    NewString = HiiGetString (gHiiPackageListHandle, STRING_TOKEN(STR_DISK_INFO_DISABLE_BLOCKSID_TRUE), NULL);\r
-    if (NewString == NULL) {\r
-      DEBUG ((DEBUG_INFO,  "HiiSetCurrentConfiguration: HiiGetString( ) failed\n"));\r
-      return;\r
-    }\r
-  } else {\r
-    NewString = HiiGetString (gHiiPackageListHandle, STRING_TOKEN(STR_DISK_INFO_DISABLE_BLOCKSID_FALSE), NULL);\r
-    if (NewString == NULL) {\r
-      DEBUG ((DEBUG_INFO,  "HiiSetCurrentConfiguration: HiiGetString( ) failed\n"));\r
-      return;\r
-    }\r
+  DataSize = sizeof (OPAL_EXTRA_INFO_VAR);\r
+  Status = gRT->GetVariable (\r
+                  OPAL_EXTRA_INFO_VAR_NAME,\r
+                  &gOpalExtraInfoVariableGuid,\r
+                  NULL,\r
+                  &DataSize,\r
+                  &OpalExtraInfo\r
+                  );\r
+  if (!EFI_ERROR (Status)) {\r
+    gHiiConfiguration.EnableBlockSid = OpalExtraInfo.EnableBlockSid;\r
   }\r
-  HiiSetString(gHiiPackageListHandle, STRING_TOKEN(STR_BLOCKSID_STATUS3), NewString, NULL);\r
-  FreePool (NewString);\r
 }\r
 \r
 /**\r
@@ -440,7 +400,6 @@ DriverCallback(
 {\r
   HII_KEY    HiiKey;\r
   UINT8      HiiKeyId;\r
-  UINT32     PpRequest;\r
 \r
   if (ActionRequest != NULL) {\r
     *ActionRequest = EFI_BROWSER_ACTION_REQUEST_NONE;\r
@@ -509,47 +468,9 @@ DriverCallback(
   } else if (Action == EFI_BROWSER_ACTION_CHANGED) {\r
     switch (HiiKeyId) {\r
       case HII_KEY_ID_BLOCKSID:\r
-        switch (Value->u8) {\r
-          case 0:\r
-            PpRequest = TCG2_PHYSICAL_PRESENCE_NO_ACTION;\r
-            break;\r
-\r
-          case 1:\r
-            PpRequest = TCG2_PHYSICAL_PRESENCE_ENABLE_BLOCK_SID;\r
-            break;\r
-\r
-          case 2:\r
-            PpRequest = TCG2_PHYSICAL_PRESENCE_DISABLE_BLOCK_SID;\r
-            break;\r
-\r
-          case 3:\r
-            PpRequest = TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_TRUE;\r
-            break;\r
-\r
-          case 4:\r
-            PpRequest = TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_ENABLE_BLOCK_SID_FUNC_FALSE;\r
-            break;\r
-\r
-          case 5:\r
-            PpRequest = TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FUNC_TRUE;\r
-            break;\r
-\r
-          case 6:\r
-            PpRequest = TCG2_PHYSICAL_PRESENCE_SET_PP_REQUIRED_FOR_DISABLE_BLOCK_SID_FUNC_FALSE;\r
-            break;\r
-\r
-          default:\r
-            PpRequest = TCG2_PHYSICAL_PRESENCE_NO_ACTION;\r
-            DEBUG ((DEBUG_ERROR, "Invalid value input!\n"));\r
-            break;\r
-        }\r
-        HiiSetBlockSidAction(PpRequest);\r
-\r
+        HiiSetBlockSid(Value->b);\r
         *ActionRequest = EFI_BROWSER_ACTION_REQUEST_FORM_APPLY;\r
         return EFI_SUCCESS;\r
-\r
-      default:\r
-        break;\r
     }\r
   }\r
 \r
@@ -1183,27 +1104,25 @@ HiiPasswordEntered(
 \r
 **/\r
 EFI_STATUS\r
-HiiSetBlockSidAction (\r
-  IN UINT32          PpRequest\r
+HiiSetBlockSid (\r
+  BOOLEAN          Enable\r
   )\r
 {\r
-  UINT32                           ReturnCode;\r
-  EFI_STATUS                       Status;\r
-\r
-  //\r
-  // Process TCG Physical Presence request just after trusted console is ready\r
-  // Platform can connect trusted consoles and then call the below function.\r
-  //\r
-  ReturnCode = TcgPhysicalPresenceStorageLibSubmitRequestToPreOSFunction (PpRequest, 0);\r
-  if (ReturnCode == TCG_PP_SUBMIT_REQUEST_TO_PREOS_SUCCESS) {\r
-    Status = EFI_SUCCESS;\r
-  } else if (ReturnCode == TCG_PP_SUBMIT_REQUEST_TO_PREOS_GENERAL_FAILURE) {\r
-    Status = EFI_OUT_OF_RESOURCES;\r
-  } else if (ReturnCode == TCG_PP_SUBMIT_REQUEST_TO_PREOS_NOT_IMPLEMENTED) {\r
-    Status = EFI_UNSUPPORTED;\r
-  } else {\r
-    Status = EFI_DEVICE_ERROR;\r
-  }\r
+  EFI_STATUS                            Status;\r
+  OPAL_EXTRA_INFO_VAR                   OpalExtraInfo;\r
+  UINTN                                 DataSize;\r
+\r
+  Status = EFI_SUCCESS;\r
+\r
+  OpalExtraInfo.EnableBlockSid = Enable;\r
+  DataSize = sizeof (OPAL_EXTRA_INFO_VAR);\r
+  Status = gRT->SetVariable (\r
+                 OPAL_EXTRA_INFO_VAR_NAME,\r
+                 &gOpalExtraInfoVariableGuid,\r
+                 EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
+                 DataSize,\r
+                 &OpalExtraInfo\r
+                 );\r
 \r
   return Status;\r
 }\r