This PR backports 3 commits: 020cc9e2e705 OvmfPkg: Disable PcdFirstTimeWakeUpAPsBySipi 8b66f9df1bb0 OvmfPkg/AmdSev: Disable PcdFirstTimeWakeUpAPsBySipi f008890ae559 OvmfPkg/AmdSev: fix BdsPlatform.c assertion failure during boot from upstream to fix the regression of boot failure on OvmfPkg/AmdSev Signed-off-by: hanliyang <hanliyang@hygon.cn>
74 lines
3.0 KiB
Diff
74 lines
3.0 KiB
Diff
From 04ae456fde2e20bce01155a4d9a581a7f1205160 Mon Sep 17 00:00:00 2001
|
|
From: "Roth, Michael via groups.io" <Michael.Roth=amd.com@groups.io>
|
|
Date: Wed, 16 Aug 2023 15:11:45 -0500
|
|
Subject: [PATCH 3/3] OvmfPkg/AmdSev: fix BdsPlatform.c assertion failure
|
|
during boot
|
|
|
|
commit f008890ae55929f7f17e7d2f8aff929255007d33 upstream.
|
|
|
|
Booting an SEV guest with AmdSev OVMF package currently triggers the
|
|
following assertion with QEMU:
|
|
|
|
InstallQemuFwCfgTables: installed 7 tables
|
|
PcRtc: Write 0x20 to CMOS location 0x32
|
|
[Variable]END_OF_DXE is signaled
|
|
Initialize variable error flag (FF)
|
|
|
|
ASSERT_EFI_ERROR (Status = Not Found)
|
|
ASSERT [BdsDxe] /home/VT_BUILD/ovmf/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c(1711): !(((INTN)(RETURN_STATUS)(Status)) < 0)
|
|
|
|
This seems to be due to commit 81dc0d8b4c, which switched to using
|
|
PlatformBootManagerLib instead of PlatformBootManagerLibGrub. That pulls
|
|
in a dependency on gEfiS3SaveStateProtocolGuid provider being available
|
|
(which is asserted for in
|
|
BdsPlatform.c:PlatformBootManagerBeforeConsole()/SaveS3BootScript()),
|
|
but the libraries that provide it aren't currently included in the
|
|
build. Add them similarly to what's done for OvmfPkg.
|
|
|
|
Fixes: 81dc0d8b4c ("OvmfPkg/AmdSev: stop using PlatformBootManagerLibGrub")
|
|
Signed-off-by: Michael Roth <michael.roth@amd.com>
|
|
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
Acked-by: Jiewen Yao <Jiewen.yao@intel.com>
|
|
---
|
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 3 +++
|
|
OvmfPkg/AmdSev/AmdSevX64.fdf | 2 ++
|
|
2 files changed, 5 insertions(+)
|
|
|
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
|
index 44acbb7f..29705131 100644
|
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
|
@@ -201,6 +201,7 @@
|
|
|
|
SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
|
|
OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
|
|
+ S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf
|
|
|
|
!include OvmfPkg/Include/Dsc/OvmfTpmLibs.dsc.inc
|
|
|
|
@@ -718,6 +719,8 @@
|
|
#
|
|
MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
|
|
OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
|
|
+ MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
|
|
+ MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
|
|
MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
|
|
|
#
|
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
|
index b0d9033f..0bf87be2 100644
|
|
--- a/OvmfPkg/AmdSev/AmdSevX64.fdf
|
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
|
@@ -279,6 +279,8 @@ INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
|
|
|
INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
|
|
INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
|
|
+INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf
|
|
+INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
|
|
INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
|
|
|
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
|
--
|
|
2.25.1
|
|
|