]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/BdsDxe/FrontPage.c
IntelFrameworkModulePkg: Fix typos in comments
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / BdsDxe / FrontPage.c
index 1a864bc7791bdb5045744d604fc909d913e741da..fc8e50f1450e119a925f4655cc726b0e6f3ba50a 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   FrontPage routines to handle the callbacks and browser calls\r
 \r
-Copyright (c) 2004 - 2014, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2004 - 2016, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials\r
 are licensed and made available under the terms and conditions of the BSD License\r
 which accompanies this distribution.  The full text of the license may be found at\r
@@ -300,6 +300,7 @@ InitializeFrontPage (
   EFI_STATUS                  Status;\r
   CHAR8                       *LangCode;\r
   CHAR8                       *Lang;\r
+  UINTN                       LangSize;\r
   CHAR8                       *CurrentLang;\r
   UINTN                       OptionCount;\r
   CHAR16                      *StringBuffer;\r
@@ -395,13 +396,13 @@ InitializeFrontPage (
   //\r
   HiiHandle = gFrontPagePrivate.HiiHandle;\r
 \r
-  CurrentLang = GetEfiGlobalVariable (L"PlatformLang");\r
+  GetEfiGlobalVariable2 (L"PlatformLang", (VOID**)&CurrentLang, NULL);\r
 \r
   //\r
   // Get Support language list from variable.\r
   //\r
   if (mLanguageString == NULL){\r
-    mLanguageString = GetEfiGlobalVariable (L"PlatformLangCodes");\r
+    GetEfiGlobalVariable2 (L"PlatformLangCodes", (VOID**)&mLanguageString, NULL);\r
     if (mLanguageString == NULL) {\r
       mLanguageString = AllocateCopyPool (\r
                                  AsciiStrSize ((CHAR8 *) PcdGetPtr (PcdUefiVariableDefaultPlatformLangCodes)),\r
@@ -448,9 +449,10 @@ InitializeFrontPage (
       }\r
 \r
       if (EFI_ERROR (Status)) {\r
-        StringBuffer = AllocatePool (AsciiStrSize (Lang) * sizeof (CHAR16));\r
+        LangSize = AsciiStrSize (Lang);\r
+        StringBuffer = AllocatePool (LangSize * sizeof (CHAR16));\r
         ASSERT (StringBuffer != NULL);\r
-        AsciiStrToUnicodeStr (Lang, StringBuffer);\r
+        AsciiStrToUnicodeStrS (Lang, StringBuffer, LangSize);\r
       }\r
 \r
       ASSERT (StringBuffer != NULL);\r
@@ -628,9 +630,9 @@ ConvertProcessorToString (
   StringBuffer = AllocateZeroPool (0x20);\r
   ASSERT (StringBuffer != NULL);\r
   Index = UnicodeValueToString (StringBuffer, LEFT_JUSTIFY, FreqMhz / 1000, 3);\r
-  StrCat (StringBuffer, L".");\r
+  StrCatS (StringBuffer, 0x20 / sizeof (CHAR16), L".");\r
   UnicodeValueToString (StringBuffer + Index + 1, PREFIX_ZERO, (FreqMhz % 1000) / 10, 2);\r
-  StrCat (StringBuffer, L" GHz");\r
+  StrCatS (StringBuffer, 0x20 / sizeof (CHAR16), L" GHz");\r
   *String = (CHAR16 *) StringBuffer;\r
   return ;\r
 }\r
@@ -654,7 +656,7 @@ ConvertMemorySizeToString (
   StringBuffer = AllocateZeroPool (0x20);\r
   ASSERT (StringBuffer != NULL);\r
   UnicodeValueToString (StringBuffer, LEFT_JUSTIFY, MemorySize, 6);\r
-  StrCat (StringBuffer, L" MB RAM");\r
+  StrCatS (StringBuffer, 0x20 / sizeof (CHAR16), L" MB RAM");\r
 \r
   *String = (CHAR16 *) StringBuffer;\r
 \r
@@ -702,7 +704,7 @@ GetOptionalStringByIndex (
     *String = GetStringById (STRING_TOKEN (STR_MISSING_STRING));\r
   } else {\r
     *String = AllocatePool (StrSize * sizeof (CHAR16));\r
-    AsciiStrToUnicodeStr (OptionalStrStart, *String);\r
+    AsciiStrToUnicodeStrS (OptionalStrStart, *String, StrSize);\r
   }\r
 \r
   return EFI_SUCCESS;\r
@@ -720,7 +722,6 @@ UpdateFrontPageStrings (
 {\r
   UINT8                             StrIndex;\r
   CHAR16                            *NewString;\r
-  BOOLEAN                           Find[5];\r
   EFI_STATUS                        Status;\r
   EFI_STRING_ID                     TokenToUpdate;\r
   EFI_SMBIOS_HANDLE                 SmbiosHandle;\r
@@ -730,8 +731,9 @@ UpdateFrontPageStrings (
   SMBIOS_TABLE_TYPE4                *Type4Record;\r
   SMBIOS_TABLE_TYPE19               *Type19Record;\r
   EFI_SMBIOS_TABLE_HEADER           *Record;\r
-\r
-  ZeroMem (Find, sizeof (Find));\r
+  UINT64                            InstalledMemory;\r
+  \r
+  InstalledMemory = 0;\r
 \r
   //\r
   // Update Front Page strings\r
@@ -741,66 +743,66 @@ UpdateFrontPageStrings (
                   NULL,\r
                   (VOID **) &Smbios\r
                   );\r
-  ASSERT_EFI_ERROR (Status);\r
-\r
-  SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;\r
-  do {\r
+  if (!EFI_ERROR (Status)) {\r
+    SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;\r
     Status = Smbios->GetNext (Smbios, &SmbiosHandle, NULL, &Record, NULL);\r
-    if (EFI_ERROR(Status)) {\r
-      break;\r
-    }\r
+    while (!EFI_ERROR(Status)) {\r
+      if (Record->Type == EFI_SMBIOS_TYPE_BIOS_INFORMATION) {\r
+        Type0Record = (SMBIOS_TABLE_TYPE0 *) Record;\r
+        StrIndex = Type0Record->BiosVersion;\r
+        GetOptionalStringByIndex ((CHAR8*)((UINT8*)Type0Record + Type0Record->Hdr.Length), StrIndex, &NewString);\r
+        TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_BIOS_VERSION);\r
+        HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
+        FreePool (NewString);\r
+      }\r
 \r
-    if (Record->Type == EFI_SMBIOS_TYPE_BIOS_INFORMATION) {\r
-      Type0Record = (SMBIOS_TABLE_TYPE0 *) Record;\r
-      StrIndex = Type0Record->BiosVersion;\r
-      GetOptionalStringByIndex ((CHAR8*)((UINT8*)Type0Record + Type0Record->Hdr.Length), StrIndex, &NewString);\r
-      TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_BIOS_VERSION);\r
-      HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
-      FreePool (NewString);\r
-      Find[0] = TRUE;\r
-    }  \r
+      if (Record->Type == EFI_SMBIOS_TYPE_SYSTEM_INFORMATION) {\r
+        Type1Record = (SMBIOS_TABLE_TYPE1 *) Record;\r
+        StrIndex = Type1Record->ProductName;\r
+        GetOptionalStringByIndex ((CHAR8*)((UINT8*)Type1Record + Type1Record->Hdr.Length), StrIndex, &NewString);\r
+        TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_COMPUTER_MODEL);\r
+        HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
+        FreePool (NewString);\r
+      }\r
 \r
-    if (Record->Type == EFI_SMBIOS_TYPE_SYSTEM_INFORMATION) {\r
-      Type1Record = (SMBIOS_TABLE_TYPE1 *) Record;\r
-      StrIndex = Type1Record->ProductName;\r
-      GetOptionalStringByIndex ((CHAR8*)((UINT8*)Type1Record + Type1Record->Hdr.Length), StrIndex, &NewString);\r
-      TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_COMPUTER_MODEL);\r
-      HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
-      FreePool (NewString);\r
-      Find[1] = TRUE;\r
-    }\r
-      \r
-    if (Record->Type == EFI_SMBIOS_TYPE_PROCESSOR_INFORMATION) {\r
-      Type4Record = (SMBIOS_TABLE_TYPE4 *) Record;\r
-      StrIndex = Type4Record->ProcessorVersion;\r
-      GetOptionalStringByIndex ((CHAR8*)((UINT8*)Type4Record + Type4Record->Hdr.Length), StrIndex, &NewString);\r
-      TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_CPU_MODEL);\r
-      HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
-      FreePool (NewString);\r
-      Find[2] = TRUE;\r
-    }    \r
-\r
-    if (Record->Type == EFI_SMBIOS_TYPE_PROCESSOR_INFORMATION) {\r
-      Type4Record = (SMBIOS_TABLE_TYPE4 *) Record;\r
-      ConvertProcessorToString(Type4Record->CurrentSpeed, 6, &NewString);\r
-      TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_CPU_SPEED);\r
-      HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
-      FreePool (NewString);\r
-      Find[3] = TRUE;\r
-    } \r
-\r
-    if ( Record->Type == EFI_SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS ) {\r
-      Type19Record = (SMBIOS_TABLE_TYPE19 *) Record;\r
-      ConvertMemorySizeToString (\r
-        (UINT32)(RShiftU64((Type19Record->EndingAddress - Type19Record->StartingAddress + 1), 10)),\r
-        &NewString\r
-        );\r
-      TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_MEMORY_SIZE);\r
-      HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
-      FreePool (NewString);\r
-      Find[4] = TRUE;  \r
+      if (Record->Type == EFI_SMBIOS_TYPE_PROCESSOR_INFORMATION) {\r
+        Type4Record = (SMBIOS_TABLE_TYPE4 *) Record;\r
+        StrIndex = Type4Record->ProcessorVersion;\r
+        GetOptionalStringByIndex ((CHAR8*)((UINT8*)Type4Record + Type4Record->Hdr.Length), StrIndex, &NewString);\r
+        TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_CPU_MODEL);\r
+        HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
+        FreePool (NewString);\r
+      }\r
+\r
+      if (Record->Type == EFI_SMBIOS_TYPE_PROCESSOR_INFORMATION) {\r
+        Type4Record = (SMBIOS_TABLE_TYPE4 *) Record;\r
+        ConvertProcessorToString(Type4Record->CurrentSpeed, 6, &NewString);\r
+        TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_CPU_SPEED);\r
+        HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
+        FreePool (NewString);\r
+      }\r
+\r
+      if ( Record->Type == EFI_SMBIOS_TYPE_MEMORY_ARRAY_MAPPED_ADDRESS ) {\r
+        Type19Record = (SMBIOS_TABLE_TYPE19 *) Record;\r
+        if (Type19Record->StartingAddress != 0xFFFFFFFF ) {\r
+          InstalledMemory += RShiftU64(Type19Record->EndingAddress -\r
+                                       Type19Record->StartingAddress + 1, 10);\r
+        } else {\r
+          InstalledMemory += RShiftU64(Type19Record->ExtendedEndingAddress -\r
+                                       Type19Record->ExtendedStartingAddress + 1, 20);\r
+        }\r
+      }\r
+\r
+      Status = Smbios->GetNext (Smbios, &SmbiosHandle, NULL, &Record, NULL);\r
     }\r
-  } while ( !(Find[0] && Find[1] && Find[2] && Find[3] && Find[4]));\r
+\r
+    // now update the total installed RAM size\r
+    ConvertMemorySizeToString ((UINT32)InstalledMemory, &NewString );\r
+    TokenToUpdate = STRING_TOKEN (STR_FRONT_PAGE_MEMORY_SIZE);\r
+    HiiSetString (gFrontPagePrivate.HiiHandle, TokenToUpdate, NewString, NULL);\r
+    FreePool (NewString);\r
+  }\r
+\r
   return ;\r
 }\r
 \r
@@ -891,64 +893,62 @@ ShowProgress (
   EFI_GRAPHICS_OUTPUT_BLT_PIXEL Background;\r
   EFI_GRAPHICS_OUTPUT_BLT_PIXEL Color;\r
 \r
-  if (TimeoutDefault == 0) {\r
-    return EFI_TIMEOUT;\r
-  }\r
-\r
-  DEBUG ((EFI_D_INFO, "\n\nStart showing progress bar... Press any key to stop it! ...Zzz....\n"));\r
-\r
-  SetMem (&Foreground, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0xff);\r
-  SetMem (&Background, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0x0);\r
-  SetMem (&Color, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0xff);\r
-  \r
-  TmpStr = GetStringById (STRING_TOKEN (STR_START_BOOT_OPTION));\r
-\r
-  if (!FeaturePcdGet(PcdBootlogoOnlyEnable)) {\r
-    //\r
-    // Clear the progress status bar first\r
-    //\r
-    if (TmpStr != NULL) {\r
-      PlatformBdsShowProgress (Foreground, Background, TmpStr, Color, 0, 0);\r
-    }\r
-  }\r
-  \r
-\r
-  TimeoutRemain = TimeoutDefault;\r
-  while (TimeoutRemain != 0) {\r
-    DEBUG ((EFI_D_INFO, "Showing progress bar...Remaining %d second!\n", TimeoutRemain));\r
+  if (TimeoutDefault != 0) {\r
+    DEBUG ((EFI_D_INFO, "\n\nStart showing progress bar... Press any key to stop it! ...Zzz....\n"));\r
 \r
-    Status = WaitForSingleEvent (gST->ConIn->WaitForKey, ONE_SECOND);\r
-    if (Status != EFI_TIMEOUT) {\r
-      break;\r
-    }\r
-    TimeoutRemain--;\r
+    SetMem (&Foreground, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0xff);\r
+    SetMem (&Background, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0x0);\r
+    SetMem (&Color, sizeof (EFI_GRAPHICS_OUTPUT_BLT_PIXEL), 0xff);\r
     \r
+    TmpStr = GetStringById (STRING_TOKEN (STR_START_BOOT_OPTION));\r
+\r
     if (!FeaturePcdGet(PcdBootlogoOnlyEnable)) {\r
       //\r
-      // Show progress\r
+      // Clear the progress status bar first\r
       //\r
       if (TmpStr != NULL) {\r
-        PlatformBdsShowProgress (\r
-          Foreground,\r
-          Background,\r
-          TmpStr,\r
-          Color,\r
-          ((TimeoutDefault - TimeoutRemain) * 100 / TimeoutDefault),\r
-          0\r
-          );\r
+        PlatformBdsShowProgress (Foreground, Background, TmpStr, Color, 0, 0);\r
       }\r
     }\r
-  }\r
-  \r
-  if (TmpStr != NULL) {\r
-    gBS->FreePool (TmpStr);\r
-  }\r
+    \r
 \r
-  //\r
-  // Timeout expired\r
-  //\r
-  if (TimeoutRemain == 0) {\r
-    return EFI_TIMEOUT;\r
+    TimeoutRemain = TimeoutDefault;\r
+    while (TimeoutRemain != 0) {\r
+      DEBUG ((EFI_D_INFO, "Showing progress bar...Remaining %d second!\n", TimeoutRemain));\r
+\r
+      Status = WaitForSingleEvent (gST->ConIn->WaitForKey, ONE_SECOND);\r
+      if (Status != EFI_TIMEOUT) {\r
+        break;\r
+      }\r
+      TimeoutRemain--;\r
+      \r
+      if (!FeaturePcdGet(PcdBootlogoOnlyEnable)) {\r
+        //\r
+        // Show progress\r
+        //\r
+        if (TmpStr != NULL) {\r
+          PlatformBdsShowProgress (\r
+            Foreground,\r
+            Background,\r
+            TmpStr,\r
+            Color,\r
+            ((TimeoutDefault - TimeoutRemain) * 100 / TimeoutDefault),\r
+            0\r
+            );\r
+        }\r
+      }\r
+    }\r
+    \r
+    if (TmpStr != NULL) {\r
+      gBS->FreePool (TmpStr);\r
+    }\r
+\r
+    //\r
+    // Timeout expired\r
+    //\r
+    if (TimeoutRemain == 0) {\r
+      return EFI_TIMEOUT;\r
+    }\r
   }\r
 \r
   //\r
@@ -1327,7 +1327,7 @@ BdsSetConsoleMode (
 \r
   if (IsSetupMode) {\r
     //\r
-    // The requried resolution and text mode is setup mode.\r
+    // The required resolution and text mode is setup mode.\r
     //\r
     NewHorizontalResolution = mSetupHorizontalResolution;\r
     NewVerticalResolution   = mSetupVerticalResolution;\r
@@ -1383,7 +1383,7 @@ BdsSetConsoleMode (
             return EFI_SUCCESS;\r
           } else {\r
             //\r
-            // If current text mode is different from requried text mode.  Set new video mode\r
+            // If current text mode is different from required text mode.  Set new video mode\r
             //\r
             for (Index = 0; Index < MaxTextMode; Index++) {\r
               Status = SimpleTextOut->QueryMode (SimpleTextOut, Index, &CurrentColumn, &CurrentRow);\r
@@ -1397,8 +1397,10 @@ BdsSetConsoleMode (
                   //\r
                   // Update text mode PCD.\r
                   //\r
-                  PcdSet32 (PcdConOutColumn, mSetupTextModeColumn);\r
-                  PcdSet32 (PcdConOutRow, mSetupTextModeRow);\r
+                  Status = PcdSet32S (PcdConOutColumn, mSetupTextModeColumn);\r
+                  ASSERT_EFI_ERROR (Status);\r
+                  Status = PcdSet32S (PcdConOutRow, mSetupTextModeRow);\r
+                  ASSERT_EFI_ERROR (Status);\r
                   FreePool (Info);\r
                   return EFI_SUCCESS;\r
                 }\r
@@ -1406,7 +1408,7 @@ BdsSetConsoleMode (
             }\r
             if (Index == MaxTextMode) {\r
               //\r
-              // If requried text mode is not supported, return error.\r
+              // If required text mode is not supported, return error.\r
               //\r
               FreePool (Info);\r
               return EFI_UNSUPPORTED;\r
@@ -1439,10 +1441,14 @@ BdsSetConsoleMode (
   // Set PCD to Inform GraphicsConsole to change video resolution.\r
   // Set PCD to Inform Consplitter to change text mode.\r
   //\r
-  PcdSet32 (PcdVideoHorizontalResolution, NewHorizontalResolution);\r
-  PcdSet32 (PcdVideoVerticalResolution, NewVerticalResolution);\r
-  PcdSet32 (PcdConOutColumn, NewColumns);\r
-  PcdSet32 (PcdConOutRow, NewRows);\r
+  Status = PcdSet32S (PcdVideoHorizontalResolution, NewHorizontalResolution);\r
+  ASSERT_EFI_ERROR (Status);\r
+  Status = PcdSet32S (PcdVideoVerticalResolution, NewVerticalResolution);\r
+  ASSERT_EFI_ERROR (Status);\r
+  Status = PcdSet32S (PcdConOutColumn, NewColumns);\r
+  ASSERT_EFI_ERROR (Status);\r
+  Status = PcdSet32S (PcdConOutRow, NewRows);\r
+  ASSERT_EFI_ERROR (Status);\r
   \r
   \r
   //\r