diff options
3 files changed, 17 insertions, 0 deletions
diff --git a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c index 5feadc51d7..0918c35f1f 100644 --- a/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c +++ b/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c @@ -448,6 +448,13 @@ PlatformBootManagerBeforeConsole ( //
EfiBootManagerDispatchDeferredImages ();
+ //
+ // GPU passthrough only allows Console enablement after ROM image load
+ //
+ PlatformInitializeConsole (
+ XenDetected () ? gXenPlatformConsole : gPlatformConsole
+ );
+
FrontPageTimeout = GetFrontPageTimeoutFromQemu ();
PcdStatus = PcdSet16S (PcdPlatformBootTimeOut, FrontPageTimeout);
ASSERT_RETURN_ERROR (PcdStatus);
diff --git a/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c index 119f24b330..bf2701965f 100644 --- a/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c +++ b/OvmfPkg/Library/PlatformBootManagerLibBhyve/BdsPlatform.c @@ -434,6 +434,11 @@ PlatformBootManagerBeforeConsole ( //
EfiBootManagerDispatchDeferredImages ();
+ //
+ // GPU passthrough only allows Console enablement after ROM image load
+ //
+ PlatformInitializeConsole (gPlatformConsole);
+
PlatformRegisterOptionsAndKeys ();
//
diff --git a/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c b/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c index 9c6848bbff..a402589206 100644 --- a/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c +++ b/OvmfPkg/Library/PlatformBootManagerLibGrub/BdsPlatform.c @@ -392,6 +392,11 @@ PlatformBootManagerBeforeConsole ( //
EfiBootManagerDispatchDeferredImages ();
+ //
+ // GPU passthrough only allows Console enablement after ROM image load
+ //
+ PlatformInitializeConsole (gPlatformConsole);
+
Status = gRT->SetVariable (
EFI_TIME_OUT_VARIABLE_NAME,
&gEfiGlobalVariableGuid,
|