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>
48 lines
1.9 KiB
Diff
48 lines
1.9 KiB
Diff
From 84f0fb21e90100753b897b34162748216e44ec8d Mon Sep 17 00:00:00 2001
|
|
From: Michael Roth <michael.roth@amd.com>
|
|
Date: Wed, 16 Aug 2023 15:11:46 -0500
|
|
Subject: [PATCH 2/3] OvmfPkg/AmdSev: Disable PcdFirstTimeWakeUpAPsBySipi
|
|
|
|
commit 8b66f9df1bb0fd5ebb743944d41cb33178cf2fdd upstream.
|
|
|
|
PcdFirstTimeWakeUpAPsBySipi was recently introduced to indicate when the
|
|
full INIT-SIPI-SIPI sequence can be skipped for AP bringup. It is true
|
|
by default, but needs to be disabled for QEMU/OVMF where early INIT is
|
|
not simulated. Commit 1d76560146 ("OvmfPkg: Disable
|
|
PcdFirstTimeWakeUpAPsBySipi.") added changes to disable it by default
|
|
for OvmfPkg, but a similar change was not made for the AmdSev package.
|
|
This breaks booting of SEV and SNP guests.
|
|
|
|
Fix this defaulting PcdFirstTimeWakeUpAPsBySipi to false for AmdSev
|
|
package, as was previously done for OvmfPkg variants.
|
|
|
|
Fixes: eaffa1d7ff ("UefiCpuPkg:Wake up APs after power-up or RESET through SIPI.")
|
|
Signed-off-by: Michael Roth <michael.roth@amd.com>
|
|
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
|
|
---
|
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 8 ++++++++
|
|
1 file changed, 8 insertions(+)
|
|
|
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
|
index 31bff348..44acbb7f 100644
|
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
|
@@ -469,6 +469,14 @@
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdConInConnectOnDemand|TRUE
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdBootRestrictToFirmware|TRUE
|
|
|
|
+ #
|
|
+ # INIT is now triggered before BIOS by ucode/hardware. In the OVMF
|
|
+ # environment, QEMU lacks a simulation for the INIT process.
|
|
+ # To address this, PcdFirstTimeWakeUpAPsBySipi set to FALSE to
|
|
+ # broadcast INIT-SIPI-SIPI for the first time.
|
|
+ #
|
|
+ gUefiCpuPkgTokenSpaceGuid.PcdFirstTimeWakeUpAPsBySipi|FALSE
|
|
+
|
|
################################################################################
|
|
#
|
|
# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
|
|
--
|
|
2.25.1
|
|
|