Update Nt32 platform to use dynamic HII pcd to save console output mode.
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@7579 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -23,6 +23,44 @@ Abstract:
|
||||
#include "BdsPlatform.h"
|
||||
|
||||
CHAR16 mFirmwareVendor[] = L"TianoCore.org";
|
||||
WIN_NT_SYSTEM_CONFIGURATION mSystemConfigData;
|
||||
|
||||
VOID
|
||||
SetupVariableInit (
|
||||
VOID
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
UINTN Size;
|
||||
|
||||
Size = sizeof (mSystemConfigData);
|
||||
Status = gRT->GetVariable (
|
||||
L"Setup",
|
||||
&gEfiWinNtSystemConfigGuid,
|
||||
NULL,
|
||||
&Size,
|
||||
(VOID *) &mSystemConfigData
|
||||
);
|
||||
|
||||
if (EFI_ERROR (Status)) {
|
||||
//
|
||||
// SetupVariable is corrupt
|
||||
//
|
||||
mSystemConfigData.ConOutRow = PcdGet32 (PcdConOutColumn);
|
||||
mSystemConfigData.ConOutColumn = PcdGet32 (PcdConOutRow);
|
||||
|
||||
Status = gRT->SetVariable (
|
||||
L"Setup",
|
||||
&gEfiWinNtSystemConfigGuid,
|
||||
EFI_VARIABLE_NON_VOLATILE | EFI_VARIABLE_BOOTSERVICE_ACCESS | EFI_VARIABLE_RUNTIME_ACCESS,
|
||||
sizeof (mSystemConfigData),
|
||||
(VOID *) &mSystemConfigData
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
DEBUG ((EFI_D_ERROR, "Failed to save Setup Variable to non-volatile storage, Status = %r\n", Status));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// BDS Platform Functions
|
||||
@@ -35,7 +73,7 @@ PlatformBdsInit (
|
||||
|
||||
Routine Description:
|
||||
|
||||
Platform Bds init. Incude the platform firmware vendor, revision
|
||||
Platform Bds init. Include the platform firmware vendor, revision
|
||||
and so crc check.
|
||||
|
||||
Arguments:
|
||||
@@ -64,6 +102,7 @@ Returns:
|
||||
//
|
||||
gBS->CalculateCrc32 ((VOID *) gST, sizeof (EFI_SYSTEM_TABLE), &gST->Hdr.CRC32);
|
||||
|
||||
SetupVariableInit ();
|
||||
}
|
||||
|
||||
EFI_STATUS
|
||||
|
@@ -27,6 +27,7 @@ Abstract:
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/UefiBootServicesTableLib.h>
|
||||
#include <Library/UefiRuntimeServicesTableLib.h>
|
||||
#include <Library/MemoryAllocationLib.h>
|
||||
#include <Library/BaseLib.h>
|
||||
#include <Library/PcdLib.h>
|
||||
@@ -37,6 +38,7 @@ Abstract:
|
||||
#include <Protocol/WinNtThunk.h>
|
||||
#include <Protocol/WinNtIo.h>
|
||||
#include <Guid/Bmp.h>
|
||||
#include <Guid/UnixSystemConfig.h>
|
||||
|
||||
extern BDS_CONSOLE_CONNECT_ENTRY gPlatformConsole[];
|
||||
extern EFI_DEVICE_PATH_PROTOCOL *gPlatformConnectSequence[];
|
||||
|
@@ -46,6 +46,7 @@
|
||||
BaseLib
|
||||
MemoryAllocationLib
|
||||
UefiBootServicesTableLib
|
||||
UefiRuntimeServicesTableLib
|
||||
BaseMemoryLib
|
||||
DebugLib
|
||||
PcdLib
|
||||
@@ -53,3 +54,11 @@
|
||||
|
||||
[Guids]
|
||||
gEfiDefaultBmpLogoGuid
|
||||
gEfiWinNtSystemConfigGuid
|
||||
|
||||
[Pcd.common]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutRow
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutColumn
|
||||
|
||||
[Depex]
|
||||
gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid
|
||||
|
Reference in New Issue
Block a user