]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EdkCompatibilityPkg/Compatibility/FrameworkHiiToUefiHiiThunk/UefiIfrDefault.c
1) Keep the original Varstore Name when replacing it with L"Setup" to allow Framework...
[mirror_edk2.git] / EdkCompatibilityPkg / Compatibility / FrameworkHiiToUefiHiiThunk / UefiIfrDefault.c
index 4b190477f17c1b6559d19865e5409cadd9f28701..e1924791afe0d6a6e5a5c35e1be5ab7e5b5fc2fa 100644 (file)
@@ -24,8 +24,6 @@ extern CONST EFI_HII_IMAGE_PROTOCOL               *mHiiImageProtocol;
 extern CONST EFI_HII_STRING_PROTOCOL              *mHiiStringProtocol;\r
 extern CONST EFI_HII_CONFIG_ROUTING_PROTOCOL      *mHiiConfigRoutingProtocol;\r
 \r
-CHAR16 FrameworkReservedVarstoreName[] = FRAMEWORK_RESERVED_VARSTORE_NAME;\r
-\r
 /**\r
   Set the data position at Offset with Width in Node->Buffer based \r
   the value passed in.\r
@@ -442,14 +440,7 @@ UefiDefaultsToFwDefaults (
 \r
     if (Node->DefaultId == DefaultId) {\r
       Size += Node->Size;\r
-      if ((Node->StoreId == UefiFormSetDefaultVarStoreId) && (StrCmp (FrameworkReservedVarstoreName, Node->Name) != 0)) {\r
-        //    The name of default VARSTORE with a Explicit declaration statement will be updated to L"Setup" to make sure\r
-        //    the Framework HII Setup module will run correctly. Framework HII Setup module always assumed that default\r
-        //    VARSTORE to have L"Setup" as name, Formset GUID as GUID. \r
-        Size += StrSize (FrameworkReservedVarstoreName);\r
-      } else {\r
-        Size += StrSize (Node->Name);\r
-      }\r
+      Size += StrSize (Node->Name);\r
 \r
       Count++;\r
     }\r
@@ -480,26 +471,20 @@ UefiDefaultsToFwDefaults (
       Size += Node->Size;\r
       Size += sizeof (EFI_HII_VARIABLE_PACK);      \r
 \r
-      //\r
-      // In UEFI, 0 is defined to be invalid for EFI_IFR_VARSTORE.VarStoreId.\r
-      // So the default storage of Var Store in VFR from a Framework module \r
-      // should be translated to the default Varstore ID.\r
-      //\r
-      if (Node->StoreId == UefiFormSetDefaultVarStoreId && (StrCmp (FrameworkReservedVarstoreName, Node->Name) != 0)) {\r
-        //    The name of default VARSTORE with a Explicit declaration statement will be updated to L"Setup" to make sure\r
-        //    the Framework HII Setup module will run correctly. Framework HII Setup module always assumed that default\r
-        //    VARSTORE to have L"Setup" as name, Formset GUID as GUID. \r
+      Pack->VariableNameLength = (UINT32) StrSize (Node->Name);\r
+\r
+      if (Node->StoreId == UefiFormSetDefaultVarStoreId) {\r
+        //\r
+        // The default VARSTORE in VFR from a Framework module has Varstore ID of 0.\r
+        //\r
         Pack->VariableId = 0;\r
-        Pack->VariableNameLength = (UINT32) StrSize (FrameworkReservedVarstoreName);\r
-        CopyMem ((UINT8 *) Pack + sizeof (EFI_HII_VARIABLE_PACK), FrameworkReservedVarstoreName, StrSize (FrameworkReservedVarstoreName));\r
-        DEBUG ((EFI_D_INFO, "VarstoreID: %x; Name: %s -> %s.\n", UefiFormSetDefaultVarStoreId, Node->Name, FrameworkReservedVarstoreName));\r
       } else {\r
         Pack->VariableId = Node->StoreId;\r
-        Pack->VariableNameLength = (UINT32) StrSize (Node->Name);\r
-        CopyMem ((UINT8 *) Pack + sizeof (EFI_HII_VARIABLE_PACK), Node->Name, StrSize (Node->Name));\r
       }\r
 \r
+      CopyMem ((UINT8 *) Pack + sizeof (EFI_HII_VARIABLE_PACK), Node->Name, StrSize (Node->Name));\r
       Size += Pack->VariableNameLength;\r
+\r
       //\r
       // Initialize EFI_HII_VARIABLE_PACK\r
       //\r
@@ -518,6 +503,9 @@ UefiDefaultsToFwDefaults (
       Index++;\r
       if (Index < Count) {\r
         PackList->NextVariablePack = (EFI_HII_VARIABLE_PACK_LIST *)((UINT8 *) PackList + Size);\r
+\r
+        PackList = PackList->NextVariablePack;\r
+        Pack     = (EFI_HII_VARIABLE_PACK *) (PackList + 1);\r
       }\r
             \r
     }\r