0476d89
From b969a329b7a7df0f8f25c8497eaa3c0987b69265 Mon Sep 17 00:00:00 2001
3485002
From: Laszlo Ersek <lersek@redhat.com>
3485002
Date: Wed, 14 Oct 2015 15:59:06 +0200
ced5d89
Subject: [PATCH 06/21] OvmfPkg: take PcdResizeXterm from the QEMU command line
5eb552e
 (RH only)
5eb552e
0476d89
edk2-stable202205 rebase
0476d89
0476d89
- re-add UPDATE_BOOLEAN_PCD_FROM_FW_CFG
0476d89
- add microvm, cloudhw and inteltdx
0476d89
5eb552e
edk2-stable202108 rebase
5eb552e
5eb552e
- resolve conflict in OvmfPkg/PlatformPei/PlatformPei.inf
3485002
59c3cdc
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
59c3cdc
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
3485002
59c3cdc
- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
59c3cdc
  introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
59c3cdc
  to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
59c3cdc
59c3cdc
  We've always patched all those DSC/FDF files in OvmfPkg down-stream that
59c3cdc
  made sense at least in theory on QEMU. (For example, we've always
59c3cdc
  patched "OvmfPkgIa32.dsc" and "OvmfPkgIa32.fdf", even though we never
59c3cdc
  build or ship the pure IA32 firmware platform.) Follow suit with
59c3cdc
  "AmdSevX64.dsc".
59c3cdc
59c3cdc
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
59c3cdc
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
59c3cdc
59c3cdc
- Resolve contextual conflict in the DSC files, from upstream commit
59c3cdc
  b0ed7ebdebd1 ("OvmfPkg: set fixed FlashNvStorage base addresses with -D
59c3cdc
  SMM_REQUIRE", 2020-03-12).
59c3cdc
59c3cdc
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
59c3cdc
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
59c3cdc
59c3cdc
- no change
59c3cdc
59c3cdc
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
59c3cdc
RHEL-8.1/20190308-89910a39dcfd rebase:
59c3cdc
59c3cdc
- no change
59c3cdc
59c3cdc
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
59c3cdc
RHEL-8.0/20180508-ee3198e672e2 rebase:
59c3cdc
59c3cdc
- reorder the rebase changelog in the commit message so that it reads like
59c3cdc
  a blog: place more recent entries near the top
59c3cdc
- no changes to the patch body
59c3cdc
59c3cdc
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
59c3cdc
59c3cdc
- no change
3485002
3485002
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
3485002
3485002
- refresh downstream-only commit 8abc2a6ddad2 against context differences
3485002
  in the DSC files from upstream commit 5e167d7e784c
3485002
  ("OvmfPkg/PlatformPei: don't allocate reserved mem varstore if
3485002
  SMM_REQUIRE", 2017-03-12).
3485002
59c3cdc
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
59c3cdc
59c3cdc
- no changes
59c3cdc
3485002
Contributed-under: TianoCore Contribution Agreement 1.0
3485002
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
3485002
(cherry picked from commit 6fa0c4d67c0bb8bde2ddd6db41c19eb0c40b2721)
3485002
(cherry picked from commit 8abc2a6ddad25af7e88dc0cf57d55dfb75fbf92d)
59c3cdc
(cherry picked from commit b311932d3841c017a0f0fec553edcac365cc2038)
59c3cdc
(cherry picked from commit 61914fb81cf624c9028d015533b400b2794e52d3)
59c3cdc
(cherry picked from commit 2ebf3cc2ae99275d63bb6efd3c22dec76251a853)
59c3cdc
(cherry picked from commit f9b73437b9b231773c1a20e0c516168817a930a2)
59c3cdc
(cherry picked from commit 2cc462ee963d0be119bc97bfc9c70d292a40516f)
59c3cdc
(cherry picked from commit 51e0de961029af84b5bdbfddcc9762b1819d500f)
3485002
---
0476d89
 OvmfPkg/AmdSev/AmdSevX64.dsc        |  1 +
0476d89
 OvmfPkg/CloudHv/CloudHvX64.dsc      |  1 +
0476d89
 OvmfPkg/IntelTdx/IntelTdxX64.dsc    |  1 +
0476d89
 OvmfPkg/Microvm/MicrovmX64.dsc      |  1 +
0476d89
 OvmfPkg/OvmfPkgIa32.dsc             |  1 +
0476d89
 OvmfPkg/OvmfPkgIa32X64.dsc          |  1 +
0476d89
 OvmfPkg/OvmfPkgX64.dsc              |  1 +
0476d89
 OvmfPkg/PlatformPei/PlatformPei.inf |  1 +
0476d89
 OvmfPkg/PlatformPei/Platform.c      | 13 +++++++++++++
0476d89
 9 files changed, 21 insertions(+)
3485002
59c3cdc
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
0476d89
index fc1fdb2e2297..ae23094ffc27 100644
59c3cdc
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
59c3cdc
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
0476d89
@@ -524,6 +524,7 @@ [PcdsFixedAtBuild]
59c3cdc
 [PcdsDynamicDefault]
59c3cdc
   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
59c3cdc
 
59c3cdc
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
59c3cdc
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
ced5d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
ced5d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
0476d89
diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
0476d89
index 92664f319be2..4aa54e4dc3fb 100644
0476d89
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
0476d89
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
0476d89
@@ -574,6 +574,7 @@ [PcdsDynamicDefault]
0476d89
   #   ($(SMM_REQUIRE) == FALSE)
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
0476d89
 
0476d89
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
0476d89
 !if $(SMM_REQUIRE) == FALSE
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
0476d89
diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
0476d89
index dd8d446f4a56..ec1aab6f0939 100644
0476d89
--- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
0476d89
+++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
0476d89
@@ -461,6 +461,7 @@ [PcdsDynamicDefault]
0476d89
   #   ($(SMM_REQUIRE) == FALSE)
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
0476d89
 
0476d89
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
0476d89
diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
0476d89
index f8fc977cb205..4e5ab89c8f0d 100644
0476d89
--- a/OvmfPkg/Microvm/MicrovmX64.dsc
0476d89
+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
0476d89
@@ -557,6 +557,7 @@ [PcdsDynamicDefault]
0476d89
   #   ($(SMM_REQUIRE) == FALSE)
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
0476d89
 
0476d89
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
0476d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
3485002
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
0476d89
index a9841cbfc3ca..b69e3c05a281 100644
3485002
--- a/OvmfPkg/OvmfPkgIa32.dsc
3485002
+++ b/OvmfPkg/OvmfPkgIa32.dsc
0476d89
@@ -585,6 +585,7 @@ [PcdsDynamicDefault]
59c3cdc
   #   ($(SMM_REQUIRE) == FALSE)
59c3cdc
   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
59c3cdc
 
fdb3e75
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
59c3cdc
 !if $(SMM_REQUIRE) == FALSE
59c3cdc
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
ced5d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
3485002
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
0476d89
index f7949780fa38..726011ec42a5 100644
3485002
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
3485002
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
0476d89
@@ -593,6 +593,7 @@ [PcdsDynamicDefault]
59c3cdc
   #   ($(SMM_REQUIRE) == FALSE)
59c3cdc
   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
59c3cdc
 
3485002
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
59c3cdc
 !if $(SMM_REQUIRE) == FALSE
59c3cdc
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
ced5d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
3485002
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
0476d89
index 1448f925b782..ab2e31ea8f2b 100644
3485002
--- a/OvmfPkg/OvmfPkgX64.dsc
3485002
+++ b/OvmfPkg/OvmfPkgX64.dsc
0476d89
@@ -612,6 +612,7 @@ [PcdsDynamicDefault]
59c3cdc
   #   ($(SMM_REQUIRE) == FALSE)
59c3cdc
   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
59c3cdc
 
fdb3e75
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
59c3cdc
 !if $(SMM_REQUIRE) == FALSE
59c3cdc
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
ced5d89
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
5eb552e
diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf
0476d89
index 00372fa0ebb5..2dfa357c384a 100644
5eb552e
--- a/OvmfPkg/PlatformPei/PlatformPei.inf
5eb552e
+++ b/OvmfPkg/PlatformPei/PlatformPei.inf
0476d89
@@ -98,6 +98,7 @@ [Pcd]
5eb552e
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
5eb552e
   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
5eb552e
   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved
5eb552e
+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm
5eb552e
   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
5eb552e
   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable
5eb552e
   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack
3485002
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
0476d89
index f006755d5fdb..b8f56902512c 100644
3485002
--- a/OvmfPkg/PlatformPei/Platform.c
3485002
+++ b/OvmfPkg/PlatformPei/Platform.c
0476d89
@@ -41,6 +41,18 @@
0476d89
 
0476d89
 #include "Platform.h"
0476d89
 
0476d89
+#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName)                   \
0476d89
+          do {                                                      \
0476d89
+            BOOLEAN       Setting;                                  \
0476d89
+            RETURN_STATUS PcdStatus;                                \
0476d89
+                                                                    \
0476d89
+            if (!RETURN_ERROR (QemuFwCfgParseBool (                 \
0476d89
+                              "opt/ovmf/" #TokenName, &Setting))) { \
0476d89
+              PcdStatus = PcdSetBoolS (TokenName, Setting);         \
0476d89
+              ASSERT_RETURN_ERROR (PcdStatus);                      \
0476d89
+            }                                                       \
0476d89
+          } while (0)
0476d89
+
0476d89
 EFI_HOB_PLATFORM_INFO  mPlatformInfoHob = { 0 };
0476d89
 
0476d89
 EFI_PEI_PPI_DESCRIPTOR  mPpiBootMode[] = {
0476d89
@@ -387,6 +399,7 @@ InitializePlatform (
fdb3e75
     MemTypeInfoInitialization ();
0476d89
     MemMapInitialization (&mPlatformInfoHob);
3485002
     NoexecDxeInitialization ();
3485002
+    UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
3485002
   }
3485002
 
b846ca0
   InstallClearCacheCallback ();
59c3cdc
-- 
0476d89
2.35.3
59c3cdc