UINTN MaxMode;\r
EFI_STATUS Status;\r
CONSOLE_OUT_MODE ModeInfo;\r
- UINTN ModeInfoSize;\r
EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL *TextOut;\r
\r
PreferMode = 0xFF;\r
TextOut = &Private->TextOut;\r
MaxMode = (UINTN) (TextOut->Mode->MaxMode);\r
\r
- ModeInfoSize = sizeof (CONSOLE_OUT_MODE);\r
- Status = gRT->GetVariable (\r
- VARCONOUTMODE,\r
- &gEfiGenericPlatformVariableGuid,\r
- NULL,\r
- &ModeInfoSize,\r
- &ModeInfo\r
- );\r
-\r
- if (EFI_ERROR(Status)) {\r
- //\r
- // If fail to get variable, set variable to the default mode 80 x 25\r
- // required by UEFI spec;\r
- //\r
- ModeInfo.Column = 80;\r
- ModeInfo.Row = 25;\r
-\r
- gRT->SetVariable (\r
- VARCONOUTMODE,\r
- &gEfiGenericPlatformVariableGuid,\r
- EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
- sizeof (CONSOLE_OUT_MODE),\r
- &ModeInfo\r
- );\r
- }\r
+ ModeInfo.Column = PcdGet32 (PcdConOutColumn);\r
+ ModeInfo.Row = PcdGet32 (PcdConOutRow);\r
\r
//\r
// To find the prefer mode and basic mode from Text Out mode list\r
}\r
\r
//\r
- // Set perfer mode to Text Out devices.\r
+ // Set prefer mode to Text Out devices.\r
//\r
Status = TextOut->SetMode (TextOut, PreferMode);\r
if (EFI_ERROR(Status)) {\r
//\r
Status = TextOut->SetMode (TextOut, BaseMode);\r
ASSERT(!EFI_ERROR(Status));\r
-\r
- ModeInfo.Column = 80;\r
- ModeInfo.Row = 25;\r
-\r
- //\r
- // Update ConOutMode variable\r
- //\r
- gRT->SetVariable (\r
- VARCONOUTMODE,\r
- &gEfiGenericPlatformVariableGuid,\r
- EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_NON_VOLATILE,\r
- sizeof (CONSOLE_OUT_MODE),\r
- &ModeInfo\r
- );\r
+ \r
+ PcdSet32 (PcdConOutColumn, 80);\r
+ PcdSet32 (PcdConOutRow, 25);\r
}\r
\r
return ;\r