/** @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 - 2018, 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
//\r
return EFI_UNSUPPORTED;\r
}\r
- \r
+\r
gCallbackKey = QuestionId;\r
\r
if (Action == EFI_BROWSER_ACTION_CHANGED) {\r
// Allocate working buffer for RFC 4646 language in supported LanguageString.\r
//\r
Lang = AllocatePool (AsciiStrSize (mLanguageString));\r
- ASSERT (Lang != NULL); \r
+ ASSERT (Lang != NULL);\r
\r
Index = 0;\r
LangCode = mLanguageString;\r
}\r
}\r
\r
- return EFI_SUCCESS; \r
+ return EFI_SUCCESS;\r
}\r
\r
/**\r
EFI_STATUS Status;\r
CHAR8 *LangCode;\r
CHAR8 *Lang;\r
+ UINTN LangSize;\r
CHAR8 *CurrentLang;\r
UINTN OptionCount;\r
CHAR16 *StringBuffer;\r
//\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
if (gFrontPagePrivate.LanguageToken == NULL) {\r
//\r
// Count the language list number.\r
- // \r
+ //\r
LangCode = mLanguageString;\r
Lang = AllocatePool (AsciiStrSize (mLanguageString));\r
ASSERT (Lang != NULL);\r
}\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
return Status;\r
}\r
\r
-/**\r
- Acquire the string associated with the ProducerGuid and return it.\r
-\r
-\r
- @param ProducerGuid The Guid to search the HII database for\r
- @param Token The token value of the string to extract\r
- @param String The string that is extracted\r
-\r
- @retval EFI_SUCCESS The function returns EFI_SUCCESS always.\r
-\r
-**/\r
-EFI_STATUS\r
-GetProducerString (\r
- IN EFI_GUID *ProducerGuid,\r
- IN EFI_STRING_ID Token,\r
- OUT CHAR16 **String\r
- )\r
-{\r
- EFI_STRING TmpString;\r
-\r
- TmpString = HiiGetPackageString (ProducerGuid, Token, NULL);\r
- if (TmpString == NULL) {\r
- *String = GetStringById (STRING_TOKEN (STR_MISSING_STRING));\r
- } else {\r
- *String = TmpString;\r
- }\r
-\r
- return EFI_SUCCESS;\r
-}\r
\r
/**\r
Convert Processor Frequency Data to a string.\r
\r
if (Base10Exponent >= 6) {\r
FreqMhz = ProcessorFrequency;\r
- for (Index = 0; Index < (UINTN) (Base10Exponent - 6); Index++) {\r
+ for (Index = 0; Index < ((UINT32)Base10Exponent - 6); Index++) {\r
FreqMhz *= 10;\r
}\r
} else {\r
\r
StringBuffer = AllocateZeroPool (0x20);\r
ASSERT (StringBuffer != NULL);\r
- Index = UnicodeValueToString (StringBuffer, LEFT_JUSTIFY, FreqMhz / 1000, 3);\r
- StrCat (StringBuffer, L".");\r
- UnicodeValueToString (StringBuffer + Index + 1, PREFIX_ZERO, (FreqMhz % 1000) / 10, 2);\r
- StrCat (StringBuffer, L" GHz");\r
+ UnicodeValueToStringS (StringBuffer, 0x20, LEFT_JUSTIFY, FreqMhz / 1000, 3);\r
+ Index = StrnLenS (StringBuffer, 0x20 / sizeof (CHAR16));\r
+ StrCatS (StringBuffer, 0x20 / sizeof (CHAR16), L".");\r
+ UnicodeValueToStringS (\r
+ StringBuffer + Index + 1,\r
+ 0x20 - sizeof (CHAR16) * (Index + 1),\r
+ PREFIX_ZERO,\r
+ (FreqMhz % 1000) / 10,\r
+ 2\r
+ );\r
+ StrCatS (StringBuffer, 0x20 / sizeof (CHAR16), L" GHz");\r
*String = (CHAR16 *) StringBuffer;\r
return ;\r
}\r
\r
StringBuffer = AllocateZeroPool (0x20);\r
ASSERT (StringBuffer != NULL);\r
- UnicodeValueToString (StringBuffer, LEFT_JUSTIFY, MemorySize, 6);\r
- StrCat (StringBuffer, L" MB RAM");\r
+ UnicodeValueToStringS (StringBuffer, 0x20, LEFT_JUSTIFY, MemorySize, 6);\r
+ StrCatS (StringBuffer, 0x20 / sizeof (CHAR16), L" MB RAM");\r
\r
*String = (CHAR16 *) StringBuffer;\r
\r
*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
{\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
SMBIOS_TABLE_TYPE4 *Type4Record;\r
SMBIOS_TABLE_TYPE19 *Type19Record;\r
EFI_SMBIOS_TABLE_HEADER *Record;\r
+ UINT64 InstalledMemory;\r
\r
- ZeroMem (Find, sizeof (Find));\r
+ InstalledMemory = 0;\r
\r
//\r
// Update Front Page strings\r
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 == 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
-\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 == 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 == 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 == 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 == 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
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Background;\r
EFI_GRAPHICS_OUTPUT_BLT_PIXEL Color;\r
\r
- if (TimeoutDefault == 0) {\r
- return EFI_TIMEOUT;\r
- }\r
+ if (TimeoutDefault != 0) {\r
+ DEBUG ((EFI_D_INFO, "\n\nStart showing progress bar... Press any key to stop it! ...Zzz....\n"));\r
\r
- DEBUG ((EFI_D_INFO, "\n\nStart showing progress bar... Press any key to stop it! ...Zzz....\n"));\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
- 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
+ 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
-\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
+ // 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
- // Timeout expired\r
- //\r
- if (TimeoutRemain == 0) {\r
- return EFI_TIMEOUT;\r
+\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
)\r
{\r
EFI_STATUS Status;\r
- EFI_STATUS StatusHotkey; \r
+ EFI_STATUS StatusHotkey;\r
EFI_BOOT_LOGO_PROTOCOL *BootLogo;\r
EFI_GRAPHICS_OUTPUT_PROTOCOL *GraphicsOutput;\r
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *SimpleTextOut;\r
\r
if (!mModeInitialized) {\r
//\r
- // After the console is ready, get current video resolution \r
+ // After the console is ready, get current video resolution\r
// and text mode before launching setup at first time.\r
//\r
Status = gBS->HandleProtocol (\r
if (EFI_ERROR (Status)) {\r
GraphicsOutput = NULL;\r
}\r
- \r
+\r
Status = gBS->HandleProtocol (\r
gST->ConsoleOutHandle,\r
&gEfiSimpleTextOutProtocolGuid,\r
);\r
if (EFI_ERROR (Status)) {\r
SimpleTextOut = NULL;\r
- } \r
+ }\r
\r
if (GraphicsOutput != NULL) {\r
//\r
\r
//\r
// Get user defined text mode for setup.\r
- // \r
+ //\r
mSetupHorizontalResolution = PcdGet32 (PcdSetupVideoHorizontalResolution);\r
- mSetupVerticalResolution = PcdGet32 (PcdSetupVideoVerticalResolution); \r
+ mSetupVerticalResolution = PcdGet32 (PcdSetupVideoVerticalResolution);\r
mSetupTextModeColumn = PcdGet32 (PcdSetupConOutColumn);\r
mSetupTextModeRow = PcdGet32 (PcdSetupConOutRow);\r
\r
if (!EFI_ERROR(Status) && ((OsIndication & EFI_OS_INDICATIONS_BOOT_TO_FW_UI) != 0)) {\r
//\r
// Clear EFI_OS_INDICATIONS_BOOT_TO_FW_UI to acknowledge OS\r
- // \r
+ //\r
OsIndication &= ~((UINT64)EFI_OS_INDICATIONS_BOOT_TO_FW_UI);\r
Status = gRT->SetVariable (\r
L"OsIndications",\r
if (!FeaturePcdGet(PcdBootlogoOnlyEnable) || !EFI_ERROR(Status) || !EFI_ERROR(StatusHotkey)){\r
//\r
// Ensure screen is clear when switch Console from Graphics mode to Text mode\r
- // Skip it in normal boot \r
+ // Skip it in normal boot\r
//\r
gST->ConOut->EnableCursor (gST->ConOut, TRUE);\r
gST->ConOut->ClearScreen (gST->ConOut);\r
}\r
\r
//\r
- // Install BM HiiPackages. \r
- // Keep BootMaint HiiPackage, so that it can be covered by global setting. \r
+ // Install BM HiiPackages.\r
+ // Keep BootMaint HiiPackage, so that it can be covered by global setting.\r
//\r
InitBMPackage ();\r
\r
// Set proper video resolution and text mode for setup\r
//\r
BdsSetConsoleMode (TRUE);\r
- \r
+\r
InitializeFrontPage (FALSE);\r
\r
//\r
\r
/**\r
This function will change video resolution and text mode\r
- according to defined setup mode or defined boot mode \r
+ according to defined setup mode or defined boot mode\r
\r
- @param IsSetupMode Indicate mode is changed to setup mode or boot mode. \r
+ @param IsSetupMode Indicate mode is changed to setup mode or boot mode.\r
\r
@retval EFI_SUCCESS Mode is changed successfully.\r
@retval Others Mode failed to be changed.\r
EFI_STATUS Status;\r
UINTN Index;\r
UINTN CurrentColumn;\r
- UINTN CurrentRow; \r
+ UINTN CurrentRow;\r
\r
MaxGopMode = 0;\r
MaxTextMode = 0;\r
\r
//\r
- // Get current video resolution and text mode \r
+ // Get current video resolution and text mode\r
//\r
Status = gBS->HandleProtocol (\r
gST->ConsoleOutHandle,\r
);\r
if (EFI_ERROR (Status)) {\r
SimpleTextOut = NULL;\r
- } \r
+ }\r
\r
if ((GraphicsOutput == NULL) || (SimpleTextOut == NULL)) {\r
return EFI_UNSUPPORTED;\r
\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
NewHorizontalResolution = mBootHorizontalResolution;\r
NewVerticalResolution = mBootVerticalResolution;\r
NewColumns = mBootTextModeColumn;\r
- NewRows = mBootTextModeRow; \r
+ NewRows = mBootTextModeRow;\r
}\r
- \r
+\r
if (GraphicsOutput != NULL) {\r
MaxGopMode = GraphicsOutput->Mode->MaxMode;\r
- } \r
+ }\r
\r
if (SimpleTextOut != NULL) {\r
MaxTextMode = SimpleTextOut->Mode->MaxMode;\r
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
//\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
}\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
// 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
- \r
- \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
// Video mode is changed, so restart graphics console driver and higher level driver.\r
// Reconnect graphics console driver and higher level driver.\r