From fde034447f61bd0ccde5c4683688ad3d50bcd567 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Fri, 10 Jan 2025 08:45:16 +0100 Subject: [PATCH] OvmfPkg/PlatformDxe: set SetupVideoResolution too Set both PcdVideo*Resolution and PcdSetupVideo*Resolution PCDs. This avoids pointless video mode changes when entering and leaving the firmware setup application. Signed-off-by: Gerd Hoffmann --- OvmfPkg/PlatformDxe/Platform.c | 12 ++++++++++++ OvmfPkg/PlatformDxe/Platform.inf | 2 ++ 2 files changed, 14 insertions(+) diff --git a/OvmfPkg/PlatformDxe/Platform.c b/OvmfPkg/PlatformDxe/Platform.c index c32439683d..2acb547db9 100644 --- a/OvmfPkg/PlatformDxe/Platform.c +++ b/OvmfPkg/PlatformDxe/Platform.c @@ -851,12 +851,24 @@ ExecutePlatformConfig ( ); ASSERT_RETURN_ERROR (PcdStatus); + PcdStatus = PcdSet32S ( + PcdSetupVideoHorizontalResolution, + PlatformConfig.HorizontalResolution + ); + ASSERT_RETURN_ERROR (PcdStatus); + PcdStatus = PcdSet32S ( PcdVideoVerticalResolution, PlatformConfig.VerticalResolution ); ASSERT_RETURN_ERROR (PcdStatus); + PcdStatus = PcdSet32S ( + PcdSetupVideoVerticalResolution, + PlatformConfig.VerticalResolution + ); + ASSERT_RETURN_ERROR (PcdStatus); + PcdStatus = PcdSet8S (PcdVideoResolutionSource, 1); ASSERT_RETURN_ERROR (PcdStatus); } diff --git a/OvmfPkg/PlatformDxe/Platform.inf b/OvmfPkg/PlatformDxe/Platform.inf index d2f75d78b6..dd22c4f3a4 100644 --- a/OvmfPkg/PlatformDxe/Platform.inf +++ b/OvmfPkg/PlatformDxe/Platform.inf @@ -47,6 +47,8 @@ [Pcd] gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution + gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution gUefiOvmfPkgTokenSpaceGuid.PcdVideoResolutionSource [Protocols]