diff --git a/.edk2.metadata b/.edk2.metadata
index 71ce0e1..a5e5e84 100644
--- a/.edk2.metadata
+++ b/.edk2.metadata
@@ -1,2 +1,2 @@
-ae830c7278f985cb25e90f4687b46c8b22316bef SOURCES/edk2-bb1bba3d77.tar.xz
-5a6547a1cc06af387b47642f96718bb0bdc4bbda SOURCES/openssl-rhel-a75722161d20fd632f8875585d3aa066ec5fea93.tar.xz
+78e6e577d9727e549bb9fb0b1973bcc2b6ec9b3d SOURCES/edk2-16779ede2d36.tar.xz
+f6b8cfc123a75525218c6588ec16b61f17cb420d SOURCES/openssl-rhel-740e53ace8f6771c205bf84780e26bcd7a3275df.tar.xz
diff --git a/.gitignore b/.gitignore
index 345e141..75048d3 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,2 @@
-SOURCES/edk2-bb1bba3d77.tar.xz
-SOURCES/openssl-rhel-a75722161d20fd632f8875585d3aa066ec5fea93.tar.xz
+SOURCES/edk2-16779ede2d36.tar.xz
+SOURCES/openssl-rhel-740e53ace8f6771c205bf84780e26bcd7a3275df.tar.xz
diff --git a/SOURCES/0002-Remove-submodules.patch b/SOURCES/0002-Remove-submodules.patch
new file mode 100644
index 0000000..59f422e
--- /dev/null
+++ b/SOURCES/0002-Remove-submodules.patch
@@ -0,0 +1,90 @@
+From 5fa2d2bbc8c9d3c9ff5a0293c3b2fa756bddd500 Mon Sep 17 00:00:00 2001
+From: Miroslav Rezanina <mrezanin@redhat.com>
+Date: Thu, 24 Mar 2022 03:23:02 -0400
+Subject: Remove submodules
+
+Upstream edk2 tracks several submodules we do not need in RHEL (removal
+done by individual commits in previous RHEL versions):
+
+- openssl: We use RHEL specific openssl submodule later (commit 48f993088e)
+- SoftFloat: required only for 32-bit ARM (commit 273787a5c2)
+- cmocka: needed for UnitTestFrameworkPkg we do not use (commit a2dca9bcd2)
+- oniguruma: rhel do not need this dependency (commit 73f4b42b3a)
+- brotli: removed this dependency (commits fcd212ffce, cf62a90767 and ac5782e6ab)
+- jansson: we do not depend on JSON parsing or formating (commit c84227659a)
+
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+
+MdeModulePkg: remove package-private Brotli include path (RH only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- no change
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- New patch.
+
+Originating from upstream commit 58802e02c41b
+("MdeModulePkg/BrotliCustomDecompressLib: Make brotli a submodule",
+2020-04-16), "MdeModulePkg/MdeModulePkg.dec" contains a package-internal
+include path into a Brotli submodule.
+
+The edk2 build system requires such include paths to resolve successfully,
+regardless of the firmware platform being built. Because
+BrotliCustomDecompressLib is not consumed by any OvmfPkg or ArmVirtPkg
+platforms, and we've removed the submodule earlier in this patch set,
+remove the include path too.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit e05e0de713c4a2b8adb6ff9809611f222bfe50ed)
+---
+ .gitmodules                                   | 22 -------------------
+ .../ArmSoftFloatLib/berkeley-softfloat-3      |  1 -
+ BaseTools/Source/C/BrotliCompress/brotli      |  1 -
+ BaseTools/Source/C/GNUmakefile                |  1 -
+ CryptoPkg/.gitignore                          |  1 +
+ CryptoPkg/Library/OpensslLib/openssl          |  1 -
+ .../Library/BrotliCustomDecompressLib/brotli  |  1 -
+ MdeModulePkg/MdeModulePkg.dec                 |  3 ---
+ .../Universal/RegularExpressionDxe/oniguruma  |  1 -
+ RedfishPkg/Library/JsonLib/jansson            |  1 -
+ UnitTestFrameworkPkg/Library/CmockaLib/cmocka |  1 -
+ 11 files changed, 1 insertion(+), 33 deletions(-)
+ delete mode 160000 ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3
+ delete mode 160000 BaseTools/Source/C/BrotliCompress/brotli
+ create mode 100644 CryptoPkg/.gitignore
+ delete mode 160000 CryptoPkg/Library/OpensslLib/openssl
+ delete mode 160000 MdeModulePkg/Library/BrotliCustomDecompressLib/brotli
+ delete mode 160000 MdeModulePkg/Universal/RegularExpressionDxe/oniguruma
+ delete mode 160000 RedfishPkg/Library/JsonLib/jansson
+ delete mode 160000 UnitTestFrameworkPkg/Library/CmockaLib/cmocka
+
+diff --git a/BaseTools/Source/C/GNUmakefile b/BaseTools/Source/C/GNUmakefile
+index 8c191e0c38..3eae824a1c 100644
+--- a/BaseTools/Source/C/GNUmakefile
++++ b/BaseTools/Source/C/GNUmakefile
+@@ -48,7 +48,6 @@ all: makerootdir subdirs
+ LIBRARIES = Common
+ VFRAUTOGEN = VfrCompile/VfrLexer.h
+ APPLICATIONS = \
+-  BrotliCompress \
+   VfrCompile \
+   EfiRom \
+   GenFfs \
+diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
+index 2bcb9f9453..f549276b80 100644
+--- a/MdeModulePkg/MdeModulePkg.dec
++++ b/MdeModulePkg/MdeModulePkg.dec
+@@ -24,9 +24,6 @@
+ [Includes]
+   Include
+ 
+-[Includes.Common.Private]
+-  Library/BrotliCustomDecompressLib/brotli/c/include
+-
+ [LibraryClasses]
+   ##  @libraryclass  Defines a set of methods to reset whole system.
+   ResetSystemLib|Include/Library/ResetSystemLib.h
diff --git a/SOURCES/0003-OvmfPkg-increase-max-debug-message-length-to-512-RHE.patch b/SOURCES/0003-OvmfPkg-increase-max-debug-message-length-to-512-RHE.patch
new file mode 100644
index 0000000..57a578b
--- /dev/null
+++ b/SOURCES/0003-OvmfPkg-increase-max-debug-message-length-to-512-RHE.patch
@@ -0,0 +1,82 @@
+From 7c341fac71b9c0530d2593da20ca2bd8cd363f2f Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Thu, 20 Feb 2014 22:54:45 +0100
+Subject: OvmfPkg: increase max debug message length to 512 (RHEL only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- no change
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- no change
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- trivial context difference due to upstream commit 2fe5f2f52918
+  ("OvmfPkg/PlatformDebugLibIoPort: Add new APIs", 2019-04-02), resolved
+  by git-cherry-pick automatically
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- no changes
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no changes
+
+Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
+
+- no changes
+
+Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
+
+- no changes
+
+Upstream prefers short debug messages (sometimes even limited to 80
+characters), but any line length under 512 characters is just unsuitable
+for effective debugging. (For example, config strings in HII routing,
+logged by the platform driver "OvmfPkg/PlatformDxe" on DEBUG_VERBOSE
+level, can be several hundred characters long.) 512 is an empirically good
+value.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit bfe568d18dba15602604f155982e3b73add63dfb)
+(cherry picked from commit 29435a32ec9428720c74c454ce9817662e601fb6)
+(cherry picked from commit 58e1d1ebb78bfdaf05f4c6e8abf8d4908dfa038a)
+(cherry picked from commit 1df2c822c996ad767f2f45570ab2686458f7604a)
+(cherry picked from commit 22c9b4e971c70c69b4adf8eb93133824ccb6426a)
+(cherry picked from commit a1260c9122c95bcbef1efc5eebe11902767813c2)
+(cherry picked from commit e949bab1268f83f0f5815a96cd1cb9dd3b21bfb5)
+(cherry picked from commit a95cff0b9573bf23699551beb4786383f697ff1e)
+---
+ OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
+index 4e25f198aa..640627f38b 100644
+--- a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
++++ b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
+@@ -21,7 +21,7 @@
+ //
+ // Define the maximum debug and assert message length that this library supports
+ //
+-#define MAX_DEBUG_MESSAGE_LENGTH  0x100
++#define MAX_DEBUG_MESSAGE_LENGTH  0x200
+ 
+ //
+ // VA_LIST can not initialize to NULL for all compiler, so we use this to
+-- 
+2.31.1
+
diff --git a/SOURCES/0004-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch b/SOURCES/0004-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch
new file mode 100644
index 0000000..9bd3411
--- /dev/null
+++ b/SOURCES/0004-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch
@@ -0,0 +1,172 @@
+From 83f28ee21b44c881c793bae51a9bf84dcb17304f Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Tue, 25 Feb 2014 18:40:35 +0100
+Subject: MdeModulePkg: TerminalDxe: add other text resolutions (RHEL only)
+
+Notes for rebase to edk2-stable202202:
+
+- Minor context changes due to 1436aea4d MdeModulePkg: Apply uncrustify changes
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- no change
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- no changes
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- no changes
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- no change
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- update commit message as requested in
+  <https://bugzilla.redhat.com/show_bug.cgi?id=1503316#c0>
+
+Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
+
+- no changes
+
+Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
+
+- adapt commit 0bc77c63de03 (code and commit message) to upstream commit
+  390b95a49c14 ("MdeModulePkg/TerminalDxe: Refine
+  InitializeTerminalConsoleTextMode", 2017-01-10).
+
+When the console output is multiplexed to several devices by
+ConSplitterDxe, then ConSplitterDxe builds an intersection of text modes
+supported by all console output devices.
+
+Two notable output devices are provided by:
+(1) MdeModulePkg/Universal/Console/GraphicsConsoleDxe,
+(2) MdeModulePkg/Universal/Console/TerminalDxe.
+
+GraphicsConsoleDxe supports four modes at most -- see
+InitializeGraphicsConsoleTextMode() and "mGraphicsConsoleModeData":
+
+(1a) 80x25 (required by the UEFI spec as mode 0),
+(1b) 80x50 (not necessarily supported, but if it is, then the UEFI spec
+     requires the driver to provide it as mode 1),
+(1c) 100x31 (corresponding to graphics resolution 800x600, which the UEFI
+     spec requires from all plug-in graphics devices),
+(1d) "full screen" resolution, derived form the underlying GOP's
+     horizontal and vertical resolutions with division by EFI_GLYPH_WIDTH
+     (8) and EFI_GLYPH_HEIGHT (19), respectively.
+
+The automatic "full screen resolution" makes GraphicsConsoleDxe's
+character console very flexible. However, TerminalDxe (which runs on
+serial ports) only provides the following fixed resolutions -- see
+InitializeTerminalConsoleTextMode() and "mTerminalConsoleModeData":
+
+(2a) 80x25 (required by the UEFI spec as mode 0),
+(2b) 80x50 (since the character resolution of a serial device cannot be
+     interrogated easily, this is added unconditionally as mode 1),
+(2c) 100x31 (since the character resolution of a serial device cannot be
+     interrogated easily, this is added unconditionally as mode 2).
+
+When ConSplitterDxe combines (1) and (2), multiplexing console output to
+both video output and serial terminal, the list of commonly supported text
+modes (ie. the "intersection") comprises:
+
+(3a) 80x25, unconditionally, from (1a) and (2a),
+(3b) 80x50, if the graphics console provides at least 640x950 pixel
+     resolution, from (1b) and (2b)
+(3c) 100x31, if the graphics device is a plug-in one (because in that case
+     800x600 is a mandated pixel resolution), from (1c) and (2c).
+
+Unfortunately, the "full screen resolution" (1d) of the GOP-based text
+console is not available in general.
+
+Mitigate this problem by extending "mTerminalConsoleModeData" with a
+handful of text resolutions that are derived from widespread maximal pixel
+resolutions. This way TerminalDxe won't cause ConSplitterDxe to filter out
+the most frequent (1d) values from the intersection, and eg. the MODE
+command in the UEFI shell will offer the "best" (ie. full screen)
+resolution too.
+
+Upstreaming efforts for this patch have been discontinued; it was clear
+from the off-list thread that consensus was impossible to reach.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit 99dc3720ac86059f60156197328cc433603c536e)
+(cherry picked from commit d2066c1748f885043026c51dec1bc8d6d406ae8f)
+(cherry picked from commit 1facdd58e946c584a3dc1e5be8f2f837b5a7c621)
+(cherry picked from commit 28faeb5f94b4866b9da16cf2a1e4e0fc09a26e37)
+(cherry picked from commit 4e4e15b80a5b2103eadd495ef4a830d46dd4ed51)
+(cherry picked from commit 12cb13a1da913912bd9148ce8f2353a75be77f18)
+(cherry picked from commit 82b9edc5fef3a07227a45059bbe821af7b9abd69)
+---
+ .../Universal/Console/TerminalDxe/Terminal.c  | 41 +++++++++++++++++--
+ 1 file changed, 38 insertions(+), 3 deletions(-)
+
+diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
+index e2d779c783..dfd9c96773 100644
+--- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
++++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
+@@ -112,9 +112,44 @@ TERMINAL_DEV  mTerminalDevTemplate = {
+ };
+ 
+ TERMINAL_CONSOLE_MODE_DATA  mTerminalConsoleModeData[] = {
+-  { 80,  25 },
+-  { 80,  50 },
+-  { 100, 31 },
++  {   80,  25 }, // from graphics resolution  640 x  480
++  {   80,  50 }, // from graphics resolution  640 x  960
++  {  100,  25 }, // from graphics resolution  800 x  480
++  {  100,  31 }, // from graphics resolution  800 x  600
++  {  104,  32 }, // from graphics resolution  832 x  624
++  {  120,  33 }, // from graphics resolution  960 x  640
++  {  128,  31 }, // from graphics resolution 1024 x  600
++  {  128,  40 }, // from graphics resolution 1024 x  768
++  {  144,  45 }, // from graphics resolution 1152 x  864
++  {  144,  45 }, // from graphics resolution 1152 x  870
++  {  160,  37 }, // from graphics resolution 1280 x  720
++  {  160,  40 }, // from graphics resolution 1280 x  760
++  {  160,  40 }, // from graphics resolution 1280 x  768
++  {  160,  42 }, // from graphics resolution 1280 x  800
++  {  160,  50 }, // from graphics resolution 1280 x  960
++  {  160,  53 }, // from graphics resolution 1280 x 1024
++  {  170,  40 }, // from graphics resolution 1360 x  768
++  {  170,  40 }, // from graphics resolution 1366 x  768
++  {  175,  55 }, // from graphics resolution 1400 x 1050
++  {  180,  47 }, // from graphics resolution 1440 x  900
++  {  200,  47 }, // from graphics resolution 1600 x  900
++  {  200,  63 }, // from graphics resolution 1600 x 1200
++  {  210,  55 }, // from graphics resolution 1680 x 1050
++  {  240,  56 }, // from graphics resolution 1920 x 1080
++  {  240,  63 }, // from graphics resolution 1920 x 1200
++  {  240,  75 }, // from graphics resolution 1920 x 1440
++  {  250, 105 }, // from graphics resolution 2000 x 2000
++  {  256,  80 }, // from graphics resolution 2048 x 1536
++  {  256, 107 }, // from graphics resolution 2048 x 2048
++  {  320,  75 }, // from graphics resolution 2560 x 1440
++  {  320,  84 }, // from graphics resolution 2560 x 1600
++  {  320, 107 }, // from graphics resolution 2560 x 2048
++  {  350, 110 }, // from graphics resolution 2800 x 2100
++  {  400, 126 }, // from graphics resolution 3200 x 2400
++  {  480, 113 }, // from graphics resolution 3840 x 2160
++  {  512, 113 }, // from graphics resolution 4096 x 2160
++  {  960, 227 }, // from graphics resolution 7680 x 4320
++  { 1024, 227 }, // from graphics resolution 8192 x 4320
+   //
+   // New modes can be added here.
+   //
+-- 
+2.31.1
+
diff --git a/SOURCES/0005-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch b/SOURCES/0005-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
new file mode 100644
index 0000000..10c6e4b
--- /dev/null
+++ b/SOURCES/0005-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
@@ -0,0 +1,189 @@
+From c540bfb48919613f58aa902ca30a922fd1406603 Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Tue, 25 Feb 2014 22:40:01 +0100
+Subject: MdeModulePkg: TerminalDxe: set xterm resolution on mode change (RH
+ only)
+
+Notes for rebase to edk2-stable202205:
+
+- Minor context changes due to fd306d1dbc MdeModulePkg: Add PcdTdxSharedBitMask
+
+Notes for rebase to edk2-stable202202:
+
+- Minor context changes due to 1436aea4d MdeModulePkg: Apply uncrustify changes
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- Resolve harmless conflict in "MdeModulePkg/MdeModulePkg.dec",
+  originating from new upstream commits
+  - 45bc28172fbf ("MdeModulePkg.dec: Change PCDs for status code.",
+                  2020-06-18),
+  - 0785c619a58a ("MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable
+                  BAR Capability", 2021-01-04),
+  - ef23012e5439 ("MdeModulePkg: Change default value of
+                  PcdPcieResizableBarSupport to FALSE", 2021-01-14).
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- Resolve trivial conflict in "MdeModulePkg/MdeModulePkg.dec", arising
+  from upstream commit 166830d8f7ca ("MdeModulePkg/dec: add
+  PcdTcgPfpMeasurementRevision PCD", 2020-01-06).
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- Conflict in "MdeModulePkg/MdeModulePkg.dec" due to upstream commits
+  - 1103ba946aee ("MdeModulePkg: Add Capsule On Disk related definition.",
+    2019-06-26),
+  - 1c7b3eb84631 ("MdeModulePkg/DxeIpl: Introduce PCD
+    PcdUse5LevelPageTable", 2019-08-09),
+  with easy manual resolution.
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- no change
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no change
+
+Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
+
+- Refresh downstream-only commit 2909e025db68 against "MdeModulePkg.dec"
+  context change from upstream commits e043f7895b83 ("MdeModulePkg: Add
+  PCD PcdPteMemoryEncryptionAddressOrMask", 2017-02-27) and 76081dfcc5b2
+  ("MdeModulePkg: Add PROMPT&HELP string of pcd to UNI file", 2017-03-03).
+
+Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
+
+- refresh commit 519b9751573e against various context changes
+
+The
+
+  CSI Ps ; Ps ; Ps t
+
+escape sequence serves for window manipulation. We can use the
+
+  CSI 8 ; <rows> ; <columns> t
+
+sequence to adapt eg. the xterm window size to the selected console mode.
+
+Reference: <http://rtfm.etla.org/xterm/ctlseq.html>
+Contributed-under: TianoCore Contribution Agreement 1.0
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit 2909e025db6878723b49644a8a0cf160d07e6444)
+(cherry picked from commit b9c5c901f25e48d68eef6e78a4abca00e153f574)
+(cherry picked from commit b7f6115b745de8cbc5214b6ede33c9a8558beb90)
+(cherry picked from commit 67415982afdc77922aa37496c981adeb4351acdb)
+(cherry picked from commit cfccb98d13e955beb0b93b4a75a973f30c273ffc)
+(cherry picked from commit a11602f5e2ef930be5b693ddfd0c789a1bd4c60c)
+(cherry picked from commit bc2266f20de5db1636e09a07e4a72c8dbf505f5a)
+---
+ MdeModulePkg/MdeModulePkg.dec                 |  4 +++
+ .../Console/TerminalDxe/TerminalConOut.c      | 30 +++++++++++++++++++
+ .../Console/TerminalDxe/TerminalDxe.inf       |  2 ++
+ 3 files changed, 36 insertions(+)
+
+diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
+index f549276b80..1415766054 100644
+--- a/MdeModulePkg/MdeModulePkg.dec
++++ b/MdeModulePkg/MdeModulePkg.dec
+@@ -2092,6 +2092,10 @@
+   # @Prompt The shared bit mask when Intel Tdx is enabled.
+   gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x10000025
+ 
++  ## Controls whether TerminalDxe outputs an XTerm resize sequence on terminal
++  #  mode change.
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE|BOOLEAN|0x00010080
++
+ [PcdsPatchableInModule]
+   ## Specify memory size with page number for PEI code when
+   #  Loading Module at Fixed Address feature is enabled.
+diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
+index 7809869e7d..0ce931d644 100644
+--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
++++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
+@@ -7,6 +7,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
+ 
+ **/
+ 
++#include <Library/PrintLib.h>
++
+ #include "Terminal.h"
+ 
+ //
+@@ -80,6 +82,16 @@ CHAR16  mSetCursorPositionString[] = { ESC, '[', '0', '0', ';', '0', '0', 'H', 0
+ CHAR16  mCursorForwardString[]     = { ESC, '[', '0', '0', 'C', 0 };
+ CHAR16  mCursorBackwardString[]    = { ESC, '[', '0', '0', 'D', 0 };
+ 
++//
++// Note that this is an ASCII format string, taking two INT32 arguments:
++// rows, columns.
++//
++// A %d (INT32) format specification can expand to at most 11 characters.
++//
++CHAR8 mResizeTextAreaFormatString[] = "\x1B[8;%d;%dt";
++#define RESIZE_SEQ_SIZE (sizeof mResizeTextAreaFormatString + 2 * (11 - 2))
++
++
+ //
+ // Body of the ConOut functions
+ //
+@@ -498,6 +510,24 @@ TerminalConOutSetMode (
+     return EFI_DEVICE_ERROR;
+   }
+ 
++  if (PcdGetBool (PcdResizeXterm)) {
++    CHAR16 ResizeSequence[RESIZE_SEQ_SIZE];
++
++    UnicodeSPrintAsciiFormat (
++      ResizeSequence,
++      sizeof ResizeSequence,
++      mResizeTextAreaFormatString,
++      (INT32) TerminalDevice->TerminalConsoleModeData[ModeNumber].Rows,
++      (INT32) TerminalDevice->TerminalConsoleModeData[ModeNumber].Columns
++      );
++    TerminalDevice->OutputEscChar = TRUE;
++    Status                        = This->OutputString (This, ResizeSequence);
++    TerminalDevice->OutputEscChar = FALSE;
++    if (EFI_ERROR (Status)) {
++      return EFI_DEVICE_ERROR;
++    }
++  }
++
+   This->Mode->Mode = (INT32)ModeNumber;
+ 
+   Status = This->ClearScreen (This);
+diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
+index b2a8aeba85..eff6253465 100644
+--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
++++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
+@@ -55,6 +55,7 @@
+   DebugLib
+   PcdLib
+   BaseLib
++  PrintLib
+ 
+ [Guids]
+   ## SOMETIMES_PRODUCES ## Variable:L"ConInDev"
+@@ -87,6 +88,7 @@
+ [Pcd]
+   gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType           ## SOMETIMES_CONSUMES
+   gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable    ## CONSUMES
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm             ## CONSUMES
+ 
+ # [Event]
+ # # Relative timer event set by UnicodeToEfiKey(), used to be one 2 seconds input timeout.
+-- 
+2.31.1
+
diff --git a/SOURCES/0006-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch b/SOURCES/0006-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
new file mode 100644
index 0000000..766210c
--- /dev/null
+++ b/SOURCES/0006-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
@@ -0,0 +1,214 @@
+From 4c43c025cb288c7dc2fe5043fd7601e90a4b361a Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Wed, 14 Oct 2015 15:59:06 +0200
+Subject: OvmfPkg: take PcdResizeXterm from the QEMU command line (RH only)
+
+Notes about edk2-stable202205 rebase
+
+- Necessary minor fixes for upstream changes
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
+  introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
+  to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
+
+  We've always patched all those DSC/FDF files in OvmfPkg down-stream that
+  made sense at least in theory on QEMU. (For example, we've always
+  patched "OvmfPkgIa32.dsc" and "OvmfPkgIa32.fdf", even though we never
+  build or ship the pure IA32 firmware platform.) Follow suit with
+  "AmdSevX64.dsc".
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- Resolve contextual conflict in the DSC files, from upstream commit
+  b0ed7ebdebd1 ("OvmfPkg: set fixed FlashNvStorage base addresses with -D
+  SMM_REQUIRE", 2020-03-12).
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- no change
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- no change
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no change
+
+Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
+
+- refresh downstream-only commit 8abc2a6ddad2 against context differences
+  in the DSC files from upstream commit 5e167d7e784c
+  ("OvmfPkg/PlatformPei: don't allocate reserved mem varstore if
+  SMM_REQUIRE", 2017-03-12).
+
+Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
+
+- no changes
+
+Contributed-under: TianoCore Contribution Agreement 1.0
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit 6fa0c4d67c0bb8bde2ddd6db41c19eb0c40b2721)
+(cherry picked from commit 8abc2a6ddad25af7e88dc0cf57d55dfb75fbf92d)
+(cherry picked from commit b311932d3841c017a0f0fec553edcac365cc2038)
+(cherry picked from commit 61914fb81cf624c9028d015533b400b2794e52d3)
+(cherry picked from commit 2ebf3cc2ae99275d63bb6efd3c22dec76251a853)
+(cherry picked from commit f9b73437b9b231773c1a20e0c516168817a930a2)
+(cherry picked from commit 2cc462ee963d0be119bc97bfc9c70d292a40516f)
+(cherry picked from commit 51e0de961029af84b5bdbfddcc9762b1819d500f)
+---
+ OvmfPkg/AmdSev/AmdSevX64.dsc        |  1 +
+ OvmfPkg/CloudHv/CloudHvX64.dsc      |  1 +
+ OvmfPkg/IntelTdx/IntelTdxX64.dsc    |  1 +
+ OvmfPkg/Microvm/MicrovmX64.dsc      |  2 +-
+ OvmfPkg/OvmfPkgIa32.dsc             |  1 +
+ OvmfPkg/OvmfPkgIa32X64.dsc          |  1 +
+ OvmfPkg/OvmfPkgX64.dsc              |  1 +
+ OvmfPkg/PlatformPei/Platform.c      | 13 +++++++++++++
+ OvmfPkg/PlatformPei/PlatformPei.inf |  1 +
+ 9 files changed, 21 insertions(+), 1 deletion(-)
+
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
+index fc1fdb2e22..ae23094ffc 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
++++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
+@@ -524,6 +524,7 @@
+ [PcdsDynamicDefault]
+   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
+ 
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
+diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
+index 92664f319b..4aa54e4dc3 100644
+--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
++++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
+@@ -574,6 +574,7 @@
+   #   ($(SMM_REQUIRE) == FALSE)
+   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
+ 
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
+ !if $(SMM_REQUIRE) == FALSE
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
+diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
+index dd8d446f4a..ec1aab6f09 100644
+--- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
++++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
+@@ -461,6 +461,7 @@
+   #   ($(SMM_REQUIRE) == FALSE)
+   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
+ 
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
+diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
+index f8fc977cb2..02ce394e18 100644
+--- a/OvmfPkg/Microvm/MicrovmX64.dsc
++++ b/OvmfPkg/Microvm/MicrovmX64.dsc
+@@ -556,7 +556,7 @@
+   # only set when
+   #   ($(SMM_REQUIRE) == FALSE)
+   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
+-
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index a9841cbfc3..b69e3c05a2 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -585,6 +585,7 @@
+   #   ($(SMM_REQUIRE) == FALSE)
+   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
+ 
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
+ !if $(SMM_REQUIRE) == FALSE
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index f7949780fa..726011ec42 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -593,6 +593,7 @@
+   #   ($(SMM_REQUIRE) == FALSE)
+   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
+ 
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
+ !if $(SMM_REQUIRE) == FALSE
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index 1448f925b7..ab2e31ea8f 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -612,6 +612,7 @@
+   #   ($(SMM_REQUIRE) == FALSE)
+   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
+ 
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
+ !if $(SMM_REQUIRE) == FALSE
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
+diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
+index f006755d5f..b8f5690251 100644
+--- a/OvmfPkg/PlatformPei/Platform.c
++++ b/OvmfPkg/PlatformPei/Platform.c
+@@ -41,6 +41,18 @@
+ 
+ #include "Platform.h"
+ 
++#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName)                   \
++          do {                                                      \
++            BOOLEAN       Setting;                                  \
++            RETURN_STATUS PcdStatus;                                \
++                                                                    \
++            if (!RETURN_ERROR (QemuFwCfgParseBool (                 \
++                              "opt/ovmf/" #TokenName, &Setting))) { \
++              PcdStatus = PcdSetBoolS (TokenName, Setting);         \
++              ASSERT_RETURN_ERROR (PcdStatus);                      \
++            }                                                       \
++          } while (0)
++
+ EFI_HOB_PLATFORM_INFO  mPlatformInfoHob = { 0 };
+ 
+ EFI_PEI_PPI_DESCRIPTOR  mPpiBootMode[] = {
+@@ -387,6 +399,7 @@ InitializePlatform (
+     MemTypeInfoInitialization ();
+     MemMapInitialization (&mPlatformInfoHob);
+     NoexecDxeInitialization ();
++    UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
+   }
+ 
+   InstallClearCacheCallback ();
+diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf
+index 00372fa0eb..2dfa357c38 100644
+--- a/OvmfPkg/PlatformPei/PlatformPei.inf
++++ b/OvmfPkg/PlatformPei/PlatformPei.inf
+@@ -98,6 +98,7 @@
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
+   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
+   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm
+   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
+   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable
+   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack
+-- 
+2.31.1
+
diff --git a/SOURCES/0007-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch b/SOURCES/0007-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
new file mode 100644
index 0000000..3206c3d
--- /dev/null
+++ b/SOURCES/0007-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
@@ -0,0 +1,203 @@
+From 70f686c8654a7c7059cac13bf89b9c61edb059ef Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Sun, 26 Jul 2015 08:02:50 +0000
+Subject: ArmVirtPkg: take PcdResizeXterm from the QEMU command line (RH only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- no change
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- Resolve leading context divergence in "ArmVirtPkg/ArmVirtQemu.dsc",
+  arising from upstream commits:
+
+  - 82662a3b5f56 ("ArmVirtPkg/PlatformPeiLib: discover the TPM base
+                  address from the DT", 2020-03-04)
+
+  - ddd34a818315 ("ArmVirtPkg/ArmVirtQemu: enable TPM2 support in the PEI
+                  phase", 2020-03-04)
+
+  - cdc3fa54184a ("ArmVirtPkg: control PXEv4 / PXEv6 boot support from the
+                  QEMU command line", 2020-04-28)
+
+- Rework the downstream patch quite a bit, paralleling the upstream work
+  done for <https://bugzilla.tianocore.org/show_bug.cgi?id=2681> in commit
+  range 64ab457d1f21..cdc3fa54184a:
+
+  - Refresh copyright year in TerminalPcdProducerLib.{inf,c}. Also replace
+    open-coded BSDL with "SPDX-License-Identifier: BSD-2-Clause-Patent".
+
+  - Simplify LIBRARY_CLASS: this lib instance is meant to be consumed only
+    via NULL class resolution (basically: as a plugin), so use NULL for
+    LIBRARY_CLASS, not "TerminalPcdProducerLib|DXE_DRIVER".
+
+  - Sort the [Packages] section alphabetically in the INF file.
+
+  - Replace the open-coded GetNamedFwCfgBoolean() function with a call to
+    QemuFwCfgParseBool(), from QemuFwCfgSimpleParserLib.
+
+  - Add the SOMETIMES_PRODUCES usage comment in the [Pcd] section of the
+    INF file.
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- no change
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- no change
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no change
+
+Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
+
+- Refresh downstream-only commit d4564d39dfdb against context changes in
+  "ArmVirtPkg/ArmVirtQemu.dsc" from upstream commit 7e5f1b673870
+  ("ArmVirtPkg/PlatformHasAcpiDtDxe: allow guest level ACPI disable
+  override", 2017-03-29).
+
+Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
+
+- Adapt commit 6b97969096a3 to the fact that upstream has deprecated such
+  setter functions for dynamic PCDs that don't return a status code (such
+  as PcdSetBool()). Employ PcdSetBoolS(), and assert that it succeeds --
+  there's really no circumstance in this case when it could fail.
+
+Contributed-under: TianoCore Contribution Agreement 1.0
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit d4564d39dfdbf74e762af43314005a2c026cb262)
+(cherry picked from commit c9081ebe3bcd28e5cce4bf58bd8d4fca12f9af7c)
+(cherry picked from commit 8e92730c8e1cdb642b3b3e680e643ff774a90c65)
+(cherry picked from commit 9448b6b46267d8d807fac0c648e693171bb34806)
+(cherry picked from commit 232fcf06f6b3048b7c2ebd6931f23186b3852f04)
+(cherry picked from commit 8338545260fbb423f796d5196faaaf8ff6e1ed99)
+(cherry picked from commit a5f7a57bf390f1f340ff1d1f1884a73716817ef1)
+---
+ ArmVirtPkg/ArmVirtQemu.dsc                    |  7 +++-
+ .../TerminalPcdProducerLib.c                  | 34 +++++++++++++++++++
+ .../TerminalPcdProducerLib.inf                | 33 ++++++++++++++++++
+ 3 files changed, 73 insertions(+), 1 deletion(-)
+ create mode 100644 ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
+ create mode 100644 ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
+
+diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
+index aa0ce61630..7705bf3919 100644
+--- a/ArmVirtPkg/ArmVirtQemu.dsc
++++ b/ArmVirtPkg/ArmVirtQemu.dsc
+@@ -284,6 +284,8 @@
+   gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0
+ !endif
+ 
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
++
+ [PcdsDynamicHii]
+   gArmVirtTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gArmVirtVariableGuid|0x0|FALSE|NV,BS
+ 
+@@ -386,7 +388,10 @@
+   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
+   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
+   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
+-  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
++  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf {
++    <LibraryClasses>
++      NULL|ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
++  }
+   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
+ 
+   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
+new file mode 100644
+index 0000000000..bfd3a6a535
+--- /dev/null
++++ b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
+@@ -0,0 +1,34 @@
++/** @file
++*  Plugin library for setting up dynamic PCDs for TerminalDxe, from fw_cfg
++*
++*  Copyright (C) 2015-2020, Red Hat, Inc.
++*  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
++*
++*  SPDX-License-Identifier: BSD-2-Clause-Patent
++**/
++
++#include <Library/DebugLib.h>
++#include <Library/PcdLib.h>
++#include <Library/QemuFwCfgSimpleParserLib.h>
++
++#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName)                             \
++          do {                                                                \
++            BOOLEAN       Setting;                                            \
++            RETURN_STATUS PcdStatus;                                          \
++                                                                              \
++            if (!RETURN_ERROR (QemuFwCfgParseBool (                           \
++                    "opt/org.tianocore.edk2.aavmf/" #TokenName, &Setting))) { \
++              PcdStatus = PcdSetBoolS (TokenName, Setting);                   \
++              ASSERT_RETURN_ERROR (PcdStatus);                                \
++            }                                                                 \
++          } while (0)
++
++RETURN_STATUS
++EFIAPI
++TerminalPcdProducerLibConstructor (
++  VOID
++  )
++{
++  UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
++  return RETURN_SUCCESS;
++}
+diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
+new file mode 100644
+index 0000000000..a51dbd1670
+--- /dev/null
++++ b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
+@@ -0,0 +1,33 @@
++## @file
++#  Plugin library for setting up dynamic PCDs for TerminalDxe, from fw_cfg
++#
++#  Copyright (C) 2015-2020, Red Hat, Inc.
++#  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
++#
++#  SPDX-License-Identifier: BSD-2-Clause-Patent
++##
++
++[Defines]
++  INF_VERSION                    = 0x00010005
++  BASE_NAME                      = TerminalPcdProducerLib
++  FILE_GUID                      = 4a0c5ed7-8c42-4c01-8f4c-7bf258316a96
++  MODULE_TYPE                    = BASE
++  VERSION_STRING                 = 1.0
++  LIBRARY_CLASS                  = NULL
++  CONSTRUCTOR                    = TerminalPcdProducerLibConstructor
++
++[Sources]
++  TerminalPcdProducerLib.c
++
++[Packages]
++  MdeModulePkg/MdeModulePkg.dec
++  MdePkg/MdePkg.dec
++  OvmfPkg/OvmfPkg.dec
++
++[LibraryClasses]
++  DebugLib
++  PcdLib
++  QemuFwCfgSimpleParserLib
++
++[Pcd]
++  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ## SOMETIMES_PRODUCES
+-- 
+2.31.1
+
diff --git a/SOURCES/0008-BaseTools-do-not-build-BrotliCompress-RH-only.patch b/SOURCES/0008-BaseTools-do-not-build-BrotliCompress-RH-only.patch
deleted file mode 100644
index df8d529..0000000
--- a/SOURCES/0008-BaseTools-do-not-build-BrotliCompress-RH-only.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From cf62a9076777789bc8fef1d6769faeda26615aea Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Thu, 4 Jun 2020 13:34:12 +0200
-Subject: BaseTools: do not build BrotliCompress (RH only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- New patch.
-
-BrotliCompress is not used for building ArmVirtPkg or OvmfPkg platforms.
-It depends on one of the upstream Brotli git submodules that we removed
-earlier in this rebase series. (See patch "remove upstream edk2's Brotli
-submodules (RH only").
-
-Do not attempt to build BrotliCompress.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit db8ccca337e2c5722c1d408d2541cf653d3371a2)
----
- BaseTools/Source/C/GNUmakefile | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/BaseTools/Source/C/GNUmakefile b/BaseTools/Source/C/GNUmakefile
-index 8c191e0c38..3eae824a1c 100644
---- a/BaseTools/Source/C/GNUmakefile
-+++ b/BaseTools/Source/C/GNUmakefile
-@@ -48,7 +48,6 @@ all: makerootdir subdirs
- LIBRARIES = Common
- VFRAUTOGEN = VfrCompile/VfrLexer.h
- APPLICATIONS = \
--  BrotliCompress \
-   VfrCompile \
-   EfiRom \
-   GenFfs \
--- 
-2.27.0
-
diff --git a/SOURCES/0008-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch b/SOURCES/0008-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
new file mode 100644
index 0000000..7a96fd3
--- /dev/null
+++ b/SOURCES/0008-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
@@ -0,0 +1,172 @@
+From 8c739e3281704f16973cf1e93f544d9475bcbecf Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Tue, 4 Nov 2014 23:02:53 +0100
+Subject: OvmfPkg: allow exclusion of the shell from the firmware image (RH
+ only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- No manual / explicit code change is necessary, because the newly
+  inherited OvmfPkg/AmdSev platform already has its own BUILD_SHELL
+  build-time macro (feature test flag), with default value FALSE -- from
+  upstream commit b261a30c900a ("OvmfPkg/AmdSev: add Grub Firmware Volume
+  Package", 2020-12-14).
+
+- Contextual differences from new upstream commits 2d8ca4f90eae ("OvmfPkg:
+  enable HttpDynamicCommand", 2020-10-01) and 5ab6a0e1c8e9 ("OvmfPkg:
+  introduce VirtioFsDxe", 2020-12-21) have been auto-resolved by
+  git-cherry-pick.
+
+- Remove obsolete commit message tags related to downstream patch
+  management: Message-id, Patchwork-id, O-Subject, Acked-by
+  (RHBZ#1846481).
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- context difference from upstream commit ec41733cfd10 ("OvmfPkg: add the
+  'initrd' dynamic shell command", 2020-03-04) correctly auto-resolved
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- no change
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- update the patch against the following upstream commits:
+  - 4b888334d234 ("OvmfPkg: Remove EdkShellBinPkg in FDF", 2018-11-19)
+  - 277a3958d93a ("OvmfPkg: Don't include TftpDynamicCommand in XCODE5
+                  tool chain", 2018-11-27)
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no change
+
+Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
+
+- no changes
+
+Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
+
+- no changes
+
+Bugzilla: 1147592
+
+When '-D EXCLUDE_SHELL_FROM_FD' is passed to 'build', exclude the shell
+binary from the firmware image.
+
+Peter Jones advised us that firmware vendors for physical systems disable
+the memory-mapped, firmware image-contained UEFI shell in
+SecureBoot-enabled builds. The reason being that the memory-mapped shell
+can always load, it may have direct access to various hardware in the
+system, and it can run UEFI shell scripts (which cannot be signed at all).
+
+Intended use of the new build option:
+
+- In-tree builds: don't pass '-D EXCLUDE_SHELL_FROM_FD'. The resultant
+  firmware image will contain a shell binary, independently of SecureBoot
+  enablement, which is flexible for interactive development. (Ie. no
+  change for in-tree builds.)
+
+- RPM builds: pass both '-D SECURE_BOOT_ENABLE' and
+  '-D EXCLUDE_SHELL_FROM_FD'. The resultant RPM will provide:
+
+  - OVMF_CODE.fd: SecureBoot-enabled firmware, without builtin UEFI shell,
+
+  - OVMF_VARS.fd: variable store template matching OVMF_CODE.fd,
+
+  - UefiShell.iso: a bootable ISO image with the shell on it as default
+    boot loader. The shell binary will load when SecureBoot is turned off,
+    and won't load when SecureBoot is turned on (because it is not
+    signed).
+
+    UefiShell.iso is the reason we're not excluding the shell from the DSC
+    files as well, only the FDF files -- when '-D EXCLUDE_SHELL_FROM_FD'
+    is specified, the shell binary needs to be built the same, only it
+    will be included in UefiShell.iso.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit 9c391def70366cabae08e6008814299c3372fafd)
+(cherry picked from commit d9dd9ee42937b2611fe37183cc9ec7f62d946933)
+(cherry picked from commit 23df46ebbe7b09451d3a05034acd4d3a25e7177b)
+(cherry picked from commit f0303f71d576c51b01c4ff961b429d0e0e707245)
+(cherry picked from commit bbd64eb8658e9a33eab4227d9f4e51ad78d9f687)
+(cherry picked from commit 8628ef1b8d675ebec39d83834abbe3c8c8c42cf4)
+(cherry picked from commit 229c88dc3ded9baeaca8b87767dc5c41c05afd6e)
+(cherry picked from commit c2812d7189dee06c780f05a5880eb421c359a687)
+---
+ OvmfPkg/OvmfPkgIa32.fdf    | 2 ++
+ OvmfPkg/OvmfPkgIa32X64.fdf | 2 ++
+ OvmfPkg/OvmfPkgX64.fdf     | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
+index 57d13b7130..69044874e2 100644
+--- a/OvmfPkg/OvmfPkgIa32.fdf
++++ b/OvmfPkg/OvmfPkgIa32.fdf
+@@ -298,12 +298,14 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+ 
++!ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+ INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+ INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF  ShellPkg/Application/Shell/Shell.inf
++!endif
+ 
+ INF MdeModulePkg/Logo/LogoDxe.inf
+ 
+diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
+index ccde366887..bf535bef42 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.fdf
++++ b/OvmfPkg/OvmfPkgIa32X64.fdf
+@@ -299,12 +299,14 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+ 
++!ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+ INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+ INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF  ShellPkg/Application/Shell/Shell.inf
++!endif
+ 
+ INF MdeModulePkg/Logo/LogoDxe.inf
+ 
+diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
+index 438806fba8..21e4ce00dd 100644
+--- a/OvmfPkg/OvmfPkgX64.fdf
++++ b/OvmfPkg/OvmfPkgX64.fdf
+@@ -324,12 +324,14 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+ 
++!ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+ INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+ INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF  ShellPkg/Application/Shell/Shell.inf
++!endif
+ 
+ INF MdeModulePkg/Logo/LogoDxe.inf
+ 
+-- 
+2.31.1
+
diff --git a/SOURCES/0009-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch b/SOURCES/0009-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch
new file mode 100644
index 0000000..1fb4ac2
--- /dev/null
+++ b/SOURCES/0009-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch
@@ -0,0 +1,93 @@
+From 2a0ac4b748825dcd9e2957870a3c317c16c35691 Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Wed, 14 Oct 2015 13:49:43 +0200
+Subject: ArmPlatformPkg: introduce fixed PCD for early hello message (RH only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- no change
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- no change
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- no change
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- no change
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no changes
+
+Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
+
+- no changes
+
+Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
+
+- no changes
+
+Drew has proposed that ARM|AARCH64 platform firmware (especially virtual
+machine firmware) print a reasonably early, simple hello message to the
+serial port, regardless of debug mask settings. This should inform
+interactive users, and provide some rough help in localizing boot
+problems, even with restrictive debug masks.
+
+If a platform doesn't want this feature, it should stick with the default
+empty string.
+
+RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
+Downstream only:
+<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
+
+Suggested-by: Drew Jones <drjones@redhat.com>
+Contributed-under: TianoCore Contribution Agreement 1.0
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit 7ce97b06421434c82095f01a1753a8c9c546cc30)
+(cherry picked from commit 20b1f1cbd0590aa71c6d99d35e23cf08e0707750)
+(cherry picked from commit 6734b88cf7abcaf42632e3d2fc469b2169dd2f16)
+(cherry picked from commit ef77da632559e9baa1c69869e4cbea377068ef27)
+(cherry picked from commit 58755c51d3252312d80cbcb97928d71199c2f5e1)
+(cherry picked from commit c3f07e323e76856f1b42ea7b8c598ba3201c28a2)
+(cherry picked from commit 9f756c1ad83cc81f7d892cd036d59a2b567b02dc)
+(cherry picked from commit c75aea7a738ac7fb944c0695a4bfffc3985afaa9)
+---
+ ArmPlatformPkg/ArmPlatformPkg.dec | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec b/ArmPlatformPkg/ArmPlatformPkg.dec
+index 3a25ddcdc8..b2b58553c7 100644
+--- a/ArmPlatformPkg/ArmPlatformPkg.dec
++++ b/ArmPlatformPkg/ArmPlatformPkg.dec
+@@ -121,6 +121,13 @@
+   ## If set, this will swap settings for HDLCD RED_SELECT and BLUE_SELECT registers
+   gArmPlatformTokenSpaceGuid.PcdArmHdLcdSwapBlueRedSelect|FALSE|BOOLEAN|0x00000045
+ 
++  #
++  # Early hello message (ASCII string), printed to the serial port.
++  # If set to the empty string, nothing is printed.
++  # Otherwise, a trailing CRLF should be specified explicitly.
++  #
++  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage|""|VOID*|0x00000100
++
+ [PcdsFixedAtBuild.common,PcdsDynamic.common]
+   ## PL031 RealTimeClock
+   gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0|UINT32|0x00000024
+-- 
+2.31.1
+
diff --git a/SOURCES/0009-MdeModulePkg-remove-package-private-Brotli-include-p.patch b/SOURCES/0009-MdeModulePkg-remove-package-private-Brotli-include-p.patch
deleted file mode 100644
index 747e984..0000000
--- a/SOURCES/0009-MdeModulePkg-remove-package-private-Brotli-include-p.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From 0c26077c3c5265a39ae204ba77843274ff922085 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Thu, 4 Jun 2020 13:39:08 +0200
-Subject: MdeModulePkg: remove package-private Brotli include path (RH only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- New patch.
-
-Originating from upstream commit 58802e02c41b
-("MdeModulePkg/BrotliCustomDecompressLib: Make brotli a submodule",
-2020-04-16), "MdeModulePkg/MdeModulePkg.dec" contains a package-internal
-include path into a Brotli submodule.
-
-The edk2 build system requires such include paths to resolve successfully,
-regardless of the firmware platform being built. Because
-BrotliCustomDecompressLib is not consumed by any OvmfPkg or ArmVirtPkg
-platforms, and we've removed the submodule earlier in this patch set,
-remove the include path too.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit e05e0de713c4a2b8adb6ff9809611f222bfe50ed)
----
- MdeModulePkg/MdeModulePkg.dec | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
-index 463e889e9a..9d69fb86ed 100644
---- a/MdeModulePkg/MdeModulePkg.dec
-+++ b/MdeModulePkg/MdeModulePkg.dec
-@@ -24,9 +24,6 @@
- [Includes]
-   Include
- 
--[Includes.Common.Private]
--  Library/BrotliCustomDecompressLib/brotli/c/include
--
- [LibraryClasses]
-   ##  @libraryclass  Defines a set of methods to reset whole system.
-   ResetSystemLib|Include/Library/ResetSystemLib.h
--- 
-2.27.0
-
diff --git a/SOURCES/0010-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch b/SOURCES/0010-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
new file mode 100644
index 0000000..f726c1b
--- /dev/null
+++ b/SOURCES/0010-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
@@ -0,0 +1,145 @@
+From 2963ff004a52543e54098d6eded5780db8ef6dbe Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Wed, 14 Oct 2015 13:59:20 +0200
+Subject: ArmPlatformPkg: PrePeiCore: write early hello message to the serial
+ port (RH)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- no change
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- no change
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- no change
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- no change
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- adapt to upstream commit 7e2a8dfe8a9a ("ArmPlatformPkg/PrePeiCore: seed
+  temporary stack before entering PEI core", 2017-11-09) -- conflict
+  resolution in "ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf"
+
+Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
+
+- no changes
+
+Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
+
+- no changes
+
+The FixedPcdGetSize() macro expands to an integer constant, therefore an
+optimizing compiler can eliminate the new code, if the platform DSC
+doesn't override the empty string (size=1) default of
+PcdEarlyHelloMessage.
+
+RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
+Downstream only:
+<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
+
+Contributed-under: TianoCore Contribution Agreement 1.0
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit b16c4c505ce0e27305235533eac9236aa66f132e)
+(cherry picked from commit 742e5bf6d5ce5a1e73879d6e5c0dd00feda7a9ac)
+(cherry picked from commit 93d69eb9393cf05af90676253875c59c1bec67fd)
+(cherry picked from commit 638594083b191f84f5d9333eb6147a31570f5a5a)
+(cherry picked from commit f4b7aae411d88b2b83f85d20ef06a4032a57e7de)
+(cherry picked from commit bb71490fdda3b38fa9f071d281b863f9b64363bf)
+(cherry picked from commit 8d5a8827aabc67cb2a046697e1a750ca8d9cc453)
+(cherry picked from commit 49fe5596cd79c94d903c4d506c563d642ccd69aa)
+---
+ ArmPlatformPkg/PrePeiCore/MainMPCore.c          | 5 +++++
+ ArmPlatformPkg/PrePeiCore/MainUniCore.c         | 5 +++++
+ ArmPlatformPkg/PrePeiCore/PrePeiCore.h          | 1 +
+ ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf  | 2 ++
+ ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf | 2 ++
+ 5 files changed, 15 insertions(+)
+
+diff --git a/ArmPlatformPkg/PrePeiCore/MainMPCore.c b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
+index b5d0d3a644..5126a6dfb0 100644
+--- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c
++++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
+@@ -116,6 +116,11 @@ PrimaryMain (
+   UINTN                   TemporaryRamBase;
+   UINTN                   TemporaryRamSize;
+ 
++  if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
++    SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
++      FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
++  }
++
+   CreatePpiList (&PpiListSize, &PpiList);
+ 
+   // Enable the GIC Distributor
+diff --git a/ArmPlatformPkg/PrePeiCore/MainUniCore.c b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
+index 1c2580eb92..2a7580dbb4 100644
+--- a/ArmPlatformPkg/PrePeiCore/MainUniCore.c
++++ b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
+@@ -29,6 +29,11 @@ PrimaryMain (
+   UINTN                   TemporaryRamBase;
+   UINTN                   TemporaryRamSize;
+ 
++  if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
++    SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
++      FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
++  }
++
+   CreatePpiList (&PpiListSize, &PpiList);
+ 
+   // Adjust the Temporary Ram as the new Ppi List (Common + Platform Ppi Lists) is created at
+diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
+index 0345dd7bdd..ae8302becd 100644
+--- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
++++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
+@@ -16,6 +16,7 @@
+ #include <Library/DebugLib.h>
+ #include <Library/IoLib.h>
+ #include <Library/PcdLib.h>
++#include <Library/SerialPortLib.h>
+ 
+ #include <PiPei.h>
+ #include <Ppi/TemporaryRamSupport.h>
+diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
+index a5b4722459..ea7b220bc8 100644
+--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
++++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
+@@ -66,6 +66,8 @@
+   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
+   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
+ 
++  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
++
+   gArmTokenSpaceGuid.PcdGicDistributorBase
+   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
+   gArmTokenSpaceGuid.PcdGicSgiIntId
+diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
+index 466a2b01c3..29fb8737cb 100644
+--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
++++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
+@@ -64,4 +64,6 @@
+   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
+   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
+ 
++  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
++
+   gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
+-- 
+2.31.1
+
diff --git a/SOURCES/0010-OvmfPkg-increase-max-debug-message-length-to-512-RHE.patch b/SOURCES/0010-OvmfPkg-increase-max-debug-message-length-to-512-RHE.patch
deleted file mode 100644
index 014279b..0000000
--- a/SOURCES/0010-OvmfPkg-increase-max-debug-message-length-to-512-RHE.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From a5b59fe4517da90781a43accd05ce5b97ff5de63 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Thu, 20 Feb 2014 22:54:45 +0100
-Subject: OvmfPkg: increase max debug message length to 512 (RHEL only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- no change
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- trivial context difference due to upstream commit 2fe5f2f52918
-  ("OvmfPkg/PlatformDebugLibIoPort: Add new APIs", 2019-04-02), resolved
-  by git-cherry-pick automatically
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- no changes
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no changes
-
-Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
-
-- no changes
-
-Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
-
-- no changes
-
-Upstream prefers short debug messages (sometimes even limited to 80
-characters), but any line length under 512 characters is just unsuitable
-for effective debugging. (For example, config strings in HII routing,
-logged by the platform driver "OvmfPkg/PlatformDxe" on DEBUG_VERBOSE
-level, can be several hundred characters long.) 512 is an empirically good
-value.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit bfe568d18dba15602604f155982e3b73add63dfb)
-(cherry picked from commit 29435a32ec9428720c74c454ce9817662e601fb6)
-(cherry picked from commit 58e1d1ebb78bfdaf05f4c6e8abf8d4908dfa038a)
-(cherry picked from commit 1df2c822c996ad767f2f45570ab2686458f7604a)
-(cherry picked from commit 22c9b4e971c70c69b4adf8eb93133824ccb6426a)
-(cherry picked from commit a1260c9122c95bcbef1efc5eebe11902767813c2)
-(cherry picked from commit e949bab1268f83f0f5815a96cd1cb9dd3b21bfb5)
-(cherry picked from commit a95cff0b9573bf23699551beb4786383f697ff1e)
----
- OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
-index dffb20822d..0577c43c3d 100644
---- a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
-+++ b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
-@@ -21,7 +21,7 @@
- //
- // Define the maximum debug and assert message length that this library supports
- //
--#define MAX_DEBUG_MESSAGE_LENGTH  0x100
-+#define MAX_DEBUG_MESSAGE_LENGTH  0x200
- 
- //
- // VA_LIST can not initialize to NULL for all compiler, so we use this to
--- 
-2.27.0
-
diff --git a/SOURCES/0011-ArmVirtPkg-set-early-hello-message-RH-only.patch b/SOURCES/0011-ArmVirtPkg-set-early-hello-message-RH-only.patch
new file mode 100644
index 0000000..1908766
--- /dev/null
+++ b/SOURCES/0011-ArmVirtPkg-set-early-hello-message-RH-only.patch
@@ -0,0 +1,82 @@
+From 28f12646106e2b2451d0f204b1d24d9c38e1dbfb Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Wed, 14 Oct 2015 14:07:17 +0200
+Subject: ArmVirtPkg: set early hello message (RH only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- no change
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- context difference from upstream commit f5cb3767038e
+  ("ArmVirtPkg/ArmVirtQemu: add ResetSystem PEIM for upcoming TPM2
+  support", 2020-03-04) automatically resolved correctly
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- no change
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- resolve context conflict with upstream commit eaa1e98ae31d ("ArmVirtPkg:
+  don't set PcdCoreCount", 2019-02-13)
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no changes
+
+Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
+
+- no changes
+
+Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
+
+- no changes
+
+Print a friendly banner on QEMU, regardless of debug mask settings.
+
+RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
+Downstream only:
+<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
+
+Contributed-under: TianoCore Contribution Agreement 1.0
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit 5d4a15b9019728b2d96322bc679099da49916925)
+(cherry picked from commit 179df76dbb0d199bd905236e98775b4059c6502a)
+(cherry picked from commit ce3f59d0710c24c162d5222bbf5cd7e36180c80c)
+(cherry picked from commit c201a8e6ae28d75f7ba581828b533c3b26fa7f18)
+(cherry picked from commit 2d4db6ec70e004cd9ac147615d17033bee5d3b18)
+(cherry picked from commit fb2032bbea7e02c426855cf86a323556d493fd8a)
+(cherry picked from commit ba73b99d5cb38f87c1a8f0936d515eaaefa3f04b)
+(cherry picked from commit 72550e12ae469012a505bf5b98a6543a754028d3)
+---
+ ArmVirtPkg/ArmVirtQemu.dsc | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
+index 7705bf3919..ae35cc1800 100644
+--- a/ArmVirtPkg/ArmVirtQemu.dsc
++++ b/ArmVirtPkg/ArmVirtQemu.dsc
+@@ -134,6 +134,7 @@
+   gArmVirtTokenSpaceGuid.PcdTpm2SupportEnabled|$(TPM2_ENABLE)
+ 
+ [PcdsFixedAtBuild.common]
++  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage|"UEFI firmware starting.\r\n"
+ !if $(ARCH) == AARCH64
+   gArmTokenSpaceGuid.PcdVFPEnabled|1
+ !endif
+-- 
+2.31.1
+
diff --git a/SOURCES/0011-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch b/SOURCES/0011-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch
deleted file mode 100644
index ae3bfc9..0000000
--- a/SOURCES/0011-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch
+++ /dev/null
@@ -1,168 +0,0 @@
-From 419ec8370d8da04c33622cf94cd92b086ec095cb Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Tue, 25 Feb 2014 18:40:35 +0100
-Subject: MdeModulePkg: TerminalDxe: add other text resolutions (RHEL only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- no changes
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- no changes
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- no change
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- update commit message as requested in
-  <https://bugzilla.redhat.com/show_bug.cgi?id=1503316#c0>
-
-Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
-
-- no changes
-
-Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
-
-- adapt commit 0bc77c63de03 (code and commit message) to upstream commit
-  390b95a49c14 ("MdeModulePkg/TerminalDxe: Refine
-  InitializeTerminalConsoleTextMode", 2017-01-10).
-
-When the console output is multiplexed to several devices by
-ConSplitterDxe, then ConSplitterDxe builds an intersection of text modes
-supported by all console output devices.
-
-Two notable output devices are provided by:
-(1) MdeModulePkg/Universal/Console/GraphicsConsoleDxe,
-(2) MdeModulePkg/Universal/Console/TerminalDxe.
-
-GraphicsConsoleDxe supports four modes at most -- see
-InitializeGraphicsConsoleTextMode() and "mGraphicsConsoleModeData":
-
-(1a) 80x25 (required by the UEFI spec as mode 0),
-(1b) 80x50 (not necessarily supported, but if it is, then the UEFI spec
-     requires the driver to provide it as mode 1),
-(1c) 100x31 (corresponding to graphics resolution 800x600, which the UEFI
-     spec requires from all plug-in graphics devices),
-(1d) "full screen" resolution, derived form the underlying GOP's
-     horizontal and vertical resolutions with division by EFI_GLYPH_WIDTH
-     (8) and EFI_GLYPH_HEIGHT (19), respectively.
-
-The automatic "full screen resolution" makes GraphicsConsoleDxe's
-character console very flexible. However, TerminalDxe (which runs on
-serial ports) only provides the following fixed resolutions -- see
-InitializeTerminalConsoleTextMode() and "mTerminalConsoleModeData":
-
-(2a) 80x25 (required by the UEFI spec as mode 0),
-(2b) 80x50 (since the character resolution of a serial device cannot be
-     interrogated easily, this is added unconditionally as mode 1),
-(2c) 100x31 (since the character resolution of a serial device cannot be
-     interrogated easily, this is added unconditionally as mode 2).
-
-When ConSplitterDxe combines (1) and (2), multiplexing console output to
-both video output and serial terminal, the list of commonly supported text
-modes (ie. the "intersection") comprises:
-
-(3a) 80x25, unconditionally, from (1a) and (2a),
-(3b) 80x50, if the graphics console provides at least 640x950 pixel
-     resolution, from (1b) and (2b)
-(3c) 100x31, if the graphics device is a plug-in one (because in that case
-     800x600 is a mandated pixel resolution), from (1c) and (2c).
-
-Unfortunately, the "full screen resolution" (1d) of the GOP-based text
-console is not available in general.
-
-Mitigate this problem by extending "mTerminalConsoleModeData" with a
-handful of text resolutions that are derived from widespread maximal pixel
-resolutions. This way TerminalDxe won't cause ConSplitterDxe to filter out
-the most frequent (1d) values from the intersection, and eg. the MODE
-command in the UEFI shell will offer the "best" (ie. full screen)
-resolution too.
-
-Upstreaming efforts for this patch have been discontinued; it was clear
-from the off-list thread that consensus was impossible to reach.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit 99dc3720ac86059f60156197328cc433603c536e)
-(cherry picked from commit d2066c1748f885043026c51dec1bc8d6d406ae8f)
-(cherry picked from commit 1facdd58e946c584a3dc1e5be8f2f837b5a7c621)
-(cherry picked from commit 28faeb5f94b4866b9da16cf2a1e4e0fc09a26e37)
-(cherry picked from commit 4e4e15b80a5b2103eadd495ef4a830d46dd4ed51)
-(cherry picked from commit 12cb13a1da913912bd9148ce8f2353a75be77f18)
-(cherry picked from commit 82b9edc5fef3a07227a45059bbe821af7b9abd69)
----
- .../Universal/Console/TerminalDxe/Terminal.c  | 41 +++++++++++++++++--
- 1 file changed, 38 insertions(+), 3 deletions(-)
-
-diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
-index a98b690c8b..ded5513c74 100644
---- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
-+++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
-@@ -115,9 +115,44 @@ TERMINAL_DEV  mTerminalDevTemplate = {
- };
- 
- TERMINAL_CONSOLE_MODE_DATA mTerminalConsoleModeData[] = {
--  {80,  25},
--  {80,  50},
--  {100, 31},
-+  {   80,  25 }, // from graphics resolution  640 x  480
-+  {   80,  50 }, // from graphics resolution  640 x  960
-+  {  100,  25 }, // from graphics resolution  800 x  480
-+  {  100,  31 }, // from graphics resolution  800 x  600
-+  {  104,  32 }, // from graphics resolution  832 x  624
-+  {  120,  33 }, // from graphics resolution  960 x  640
-+  {  128,  31 }, // from graphics resolution 1024 x  600
-+  {  128,  40 }, // from graphics resolution 1024 x  768
-+  {  144,  45 }, // from graphics resolution 1152 x  864
-+  {  144,  45 }, // from graphics resolution 1152 x  870
-+  {  160,  37 }, // from graphics resolution 1280 x  720
-+  {  160,  40 }, // from graphics resolution 1280 x  760
-+  {  160,  40 }, // from graphics resolution 1280 x  768
-+  {  160,  42 }, // from graphics resolution 1280 x  800
-+  {  160,  50 }, // from graphics resolution 1280 x  960
-+  {  160,  53 }, // from graphics resolution 1280 x 1024
-+  {  170,  40 }, // from graphics resolution 1360 x  768
-+  {  170,  40 }, // from graphics resolution 1366 x  768
-+  {  175,  55 }, // from graphics resolution 1400 x 1050
-+  {  180,  47 }, // from graphics resolution 1440 x  900
-+  {  200,  47 }, // from graphics resolution 1600 x  900
-+  {  200,  63 }, // from graphics resolution 1600 x 1200
-+  {  210,  55 }, // from graphics resolution 1680 x 1050
-+  {  240,  56 }, // from graphics resolution 1920 x 1080
-+  {  240,  63 }, // from graphics resolution 1920 x 1200
-+  {  240,  75 }, // from graphics resolution 1920 x 1440
-+  {  250, 105 }, // from graphics resolution 2000 x 2000
-+  {  256,  80 }, // from graphics resolution 2048 x 1536
-+  {  256, 107 }, // from graphics resolution 2048 x 2048
-+  {  320,  75 }, // from graphics resolution 2560 x 1440
-+  {  320,  84 }, // from graphics resolution 2560 x 1600
-+  {  320, 107 }, // from graphics resolution 2560 x 2048
-+  {  350, 110 }, // from graphics resolution 2800 x 2100
-+  {  400, 126 }, // from graphics resolution 3200 x 2400
-+  {  480, 113 }, // from graphics resolution 3840 x 2160
-+  {  512, 113 }, // from graphics resolution 4096 x 2160
-+  {  960, 227 }, // from graphics resolution 7680 x 4320
-+  { 1024, 227 }, // from graphics resolution 8192 x 4320
-   //
-   // New modes can be added here.
-   //
--- 
-2.27.0
-
diff --git a/SOURCES/0012-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch b/SOURCES/0012-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
deleted file mode 100644
index 1aebc4f..0000000
--- a/SOURCES/0012-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
+++ /dev/null
@@ -1,181 +0,0 @@
-From 88b490682aef3e351e757467999f60a9e6880b24 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Tue, 25 Feb 2014 22:40:01 +0100
-Subject: MdeModulePkg: TerminalDxe: set xterm resolution on mode change (RH
- only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- Resolve harmless conflict in "MdeModulePkg/MdeModulePkg.dec",
-  originating from new upstream commits
-  - 45bc28172fbf ("MdeModulePkg.dec: Change PCDs for status code.",
-                  2020-06-18),
-  - 0785c619a58a ("MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable
-                  BAR Capability", 2021-01-04),
-  - ef23012e5439 ("MdeModulePkg: Change default value of
-                  PcdPcieResizableBarSupport to FALSE", 2021-01-14).
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- Resolve trivial conflict in "MdeModulePkg/MdeModulePkg.dec", arising
-  from upstream commit 166830d8f7ca ("MdeModulePkg/dec: add
-  PcdTcgPfpMeasurementRevision PCD", 2020-01-06).
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- Conflict in "MdeModulePkg/MdeModulePkg.dec" due to upstream commits
-  - 1103ba946aee ("MdeModulePkg: Add Capsule On Disk related definition.",
-    2019-06-26),
-  - 1c7b3eb84631 ("MdeModulePkg/DxeIpl: Introduce PCD
-    PcdUse5LevelPageTable", 2019-08-09),
-  with easy manual resolution.
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- no change
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no change
-
-Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
-
-- Refresh downstream-only commit 2909e025db68 against "MdeModulePkg.dec"
-  context change from upstream commits e043f7895b83 ("MdeModulePkg: Add
-  PCD PcdPteMemoryEncryptionAddressOrMask", 2017-02-27) and 76081dfcc5b2
-  ("MdeModulePkg: Add PROMPT&HELP string of pcd to UNI file", 2017-03-03).
-
-Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
-
-- refresh commit 519b9751573e against various context changes
-
-The
-
-  CSI Ps ; Ps ; Ps t
-
-escape sequence serves for window manipulation. We can use the
-
-  CSI 8 ; <rows> ; <columns> t
-
-sequence to adapt eg. the xterm window size to the selected console mode.
-
-Reference: <http://rtfm.etla.org/xterm/ctlseq.html>
-Contributed-under: TianoCore Contribution Agreement 1.0
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit 2909e025db6878723b49644a8a0cf160d07e6444)
-(cherry picked from commit b9c5c901f25e48d68eef6e78a4abca00e153f574)
-(cherry picked from commit b7f6115b745de8cbc5214b6ede33c9a8558beb90)
-(cherry picked from commit 67415982afdc77922aa37496c981adeb4351acdb)
-(cherry picked from commit cfccb98d13e955beb0b93b4a75a973f30c273ffc)
-(cherry picked from commit a11602f5e2ef930be5b693ddfd0c789a1bd4c60c)
-(cherry picked from commit bc2266f20de5db1636e09a07e4a72c8dbf505f5a)
----
- MdeModulePkg/MdeModulePkg.dec                 |  4 +++
- .../Console/TerminalDxe/TerminalConOut.c      | 30 +++++++++++++++++++
- .../Console/TerminalDxe/TerminalDxe.inf       |  2 ++
- 3 files changed, 36 insertions(+)
-
-diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
-index 9d69fb86ed..08d59dfb3e 100644
---- a/MdeModulePkg/MdeModulePkg.dec
-+++ b/MdeModulePkg/MdeModulePkg.dec
-@@ -2076,6 +2076,10 @@
-   # @Prompt Enable PCIe Resizable BAR Capability support.
-   gEfiMdeModulePkgTokenSpaceGuid.PcdPcieResizableBarSupport|FALSE|BOOLEAN|0x10000024
- 
-+  ## Controls whether TerminalDxe outputs an XTerm resize sequence on terminal
-+  #  mode change.
-+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE|BOOLEAN|0x00010080
-+
- [PcdsPatchableInModule]
-   ## Specify memory size with page number for PEI code when
-   #  Loading Module at Fixed Address feature is enabled.
-diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
-index aae470e956..26156857aa 100644
---- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
-+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
-@@ -7,6 +7,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
- 
- **/
- 
-+#include <Library/PrintLib.h>
-+
- #include "Terminal.h"
- 
- //
-@@ -80,6 +82,16 @@ CHAR16 mSetCursorPositionString[]  = { ESC, '[', '0', '0', ';', '0', '0', 'H', 0
- CHAR16 mCursorForwardString[]      = { ESC, '[', '0', '0', 'C', 0 };
- CHAR16 mCursorBackwardString[]     = { ESC, '[', '0', '0', 'D', 0 };
- 
-+//
-+// Note that this is an ASCII format string, taking two INT32 arguments:
-+// rows, columns.
-+//
-+// A %d (INT32) format specification can expand to at most 11 characters.
-+//
-+CHAR8 mResizeTextAreaFormatString[] = "\x1B[8;%d;%dt";
-+#define RESIZE_SEQ_SIZE (sizeof mResizeTextAreaFormatString + 2 * (11 - 2))
-+
-+
- //
- // Body of the ConOut functions
- //
-@@ -506,6 +518,24 @@ TerminalConOutSetMode (
-     return EFI_DEVICE_ERROR;
-   }
- 
-+  if (PcdGetBool (PcdResizeXterm)) {
-+    CHAR16 ResizeSequence[RESIZE_SEQ_SIZE];
-+
-+    UnicodeSPrintAsciiFormat (
-+      ResizeSequence,
-+      sizeof ResizeSequence,
-+      mResizeTextAreaFormatString,
-+      (INT32) TerminalDevice->TerminalConsoleModeData[ModeNumber].Rows,
-+      (INT32) TerminalDevice->TerminalConsoleModeData[ModeNumber].Columns
-+      );
-+    TerminalDevice->OutputEscChar = TRUE;
-+    Status                        = This->OutputString (This, ResizeSequence);
-+    TerminalDevice->OutputEscChar = FALSE;
-+    if (EFI_ERROR (Status)) {
-+      return EFI_DEVICE_ERROR;
-+    }
-+  }
-+
-   This->Mode->Mode  = (INT32) ModeNumber;
- 
-   Status            = This->ClearScreen (This);
-diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-index b2a8aeba85..eff6253465 100644
---- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-@@ -55,6 +55,7 @@
-   DebugLib
-   PcdLib
-   BaseLib
-+  PrintLib
- 
- [Guids]
-   ## SOMETIMES_PRODUCES ## Variable:L"ConInDev"
-@@ -87,6 +88,7 @@
- [Pcd]
-   gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType           ## SOMETIMES_CONSUMES
-   gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable    ## CONSUMES
-+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm             ## CONSUMES
- 
- # [Event]
- # # Relative timer event set by UnicodeToEfiKey(), used to be one 2 seconds input timeout.
--- 
-2.27.0
-
diff --git a/SOURCES/0012-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch b/SOURCES/0012-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch
new file mode 100644
index 0000000..56031de
--- /dev/null
+++ b/SOURCES/0012-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch
@@ -0,0 +1,121 @@
+From f3012d4439380458fe18917c4162ed95a91102e1 Mon Sep 17 00:00:00 2001
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Tue, 21 Nov 2017 00:57:45 +0100
+Subject: OvmfPkg: enable DEBUG_VERBOSE (RHEL only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
+  introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
+  to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
+
+- Remove obsolete commit message tags related to downstream patch
+  management: Message-id, Patchwork-id, O-Subject, Acked-by, From
+  (RHBZ#1846481).
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- context difference from upstream commit 46bb81200742 ("OvmfPkg: Make
+  SOURCE_DEBUG_ENABLE actually need to be set to TRUE", 2019-10-22)
+  resolved automatically
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- no change
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- no change
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no changes
+
+Bugzilla: 1488247
+
+Set the DEBUG_VERBOSE bit (0x00400000) in the log mask. We want detailed
+debug messages, and code in OvmfPkg logs many messages on the
+DEBUG_VERBOSE level.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+(this patch was previously applied as commit 78d3ed73172b5738e32d2b0bc03f7984b9584117)
+(cherry picked from commit 7aeeaabc9871f657e65d2b99d81011b4964a1ce9)
+(cherry picked from commit a0617a6be1a80966099ddceb010f89202a79ee76)
+(cherry picked from commit 759bd3f591e2db699bdef4c7ea4e97c908e7f027)
+(cherry picked from commit 7e6d5dc4078c64be6d55d8fc3317c59a91507a50)
+(cherry picked from commit 3cb92f9ba18ac79911bd5258ff4f949cc617ae89)
+(cherry picked from commit 5ecc18badaabe774d9d0806b027ab63a30c6a2d7)
+---
+ OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +-
+ OvmfPkg/OvmfPkgIa32.dsc      | 2 +-
+ OvmfPkg/OvmfPkgIa32X64.dsc   | 2 +-
+ OvmfPkg/OvmfPkgX64.dsc       | 2 +-
+ 4 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
+index ae23094ffc..ccc46c974b 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
++++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
+@@ -476,7 +476,7 @@
+   # DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
+   #                             // significantly impact boot performance
+   # DEBUG_ERROR     0x80000000  // Error
+-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
+ 
+ !if $(SOURCE_DEBUG_ENABLE) == TRUE
+   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index b69e3c05a2..bbe4e91037 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -525,7 +525,7 @@
+   # DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
+   #                             // significantly impact boot performance
+   # DEBUG_ERROR     0x80000000  // Error
+-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
+ 
+ !if $(SOURCE_DEBUG_ENABLE) == TRUE
+   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index 726011ec42..072f06c0a3 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -531,7 +531,7 @@
+   # DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
+   #                             // significantly impact boot performance
+   # DEBUG_ERROR     0x80000000  // Error
+-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
+ 
+ !if $(SOURCE_DEBUG_ENABLE) == TRUE
+   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index ab2e31ea8f..46661408f9 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -548,7 +548,7 @@
+   # DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
+   #                             // significantly impact boot performance
+   # DEBUG_ERROR     0x80000000  // Error
+-  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
+ 
+ !if $(SOURCE_DEBUG_ENABLE) == TRUE
+   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
+-- 
+2.31.1
+
diff --git a/SOURCES/0013-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch b/SOURCES/0013-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch
new file mode 100644
index 0000000..523776e
--- /dev/null
+++ b/SOURCES/0013-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch
@@ -0,0 +1,173 @@
+From f6c7b0992ea1ffa4760ac899800220c9df3a289d Mon Sep 17 00:00:00 2001
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Tue, 21 Nov 2017 00:57:46 +0100
+Subject: OvmfPkg: silence DEBUG_VERBOSE (0x00400000) in
+ QemuVideoDxe/QemuRamfbDxe (RH)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
+  introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
+  to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
+
+- Remove obsolete commit message tags related to downstream patch
+  management: Message-id, Patchwork-id, O-Subject, Acked-by, From
+  (RHBZ#1846481).
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- no change
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- Due to upstream commit 4b04d9d73604 ("OvmfPkg: Don't build in
+  QemuVideoDxe when we have CSM", 2019-06-26), the contexts of
+  "QemuVideoDxe.inf" / "QemuRamfbDxe.inf" have changed in the DSC files.
+  Resolve the conflict manually.
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- Upstream commit 1d25ff51af5c ("OvmfPkg: add QemuRamfbDxe", 2018-06-14)
+  introduced another GOP driver that consumes FrameBufferBltLib, and
+  thereby produces a large number of (mostly useless) debug messages at
+  the DEBUG_VERBOSE level. Extend the patch to suppress those messages in
+  both QemuVideoDxe and QemuRamfbDxe; update the subject accordingly.
+  QemuRamfbDxe itself doesn't log anything at the VERBOSE level (see also
+  the original commit message at the bottom of this downstream patch).
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no changes
+
+Bugzilla: 1488247
+
+In commit 5b2291f9567a ("OvmfPkg: QemuVideoDxe uses
+MdeModulePkg/FrameBufferLib"), QemuVideoDxe was rebased to
+FrameBufferBltLib.
+
+The FrameBufferBltLib instance added in commit b1ca386074bd
+("MdeModulePkg: Add FrameBufferBltLib library instance") logs many
+messages on the VERBOSE level; for example, a normal boot with OVMF can
+produce 500+ "VideoFill" messages, dependent on the progress bar, when the
+VERBOSE bit is set in PcdDebugPrintErrorLevel.
+
+QemuVideoDxe itself doesn't log anything at the VERBOSE level, so we lose
+none of its messages this way.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+(this patch was previously applied as commit 9b0d031dee7e823f6717bab73e422fbc6f0a6c52)
+(cherry picked from commit 9122d5f2e8d8d289064d1e1700cb61964d9931f3)
+(cherry picked from commit 7eb3be1d4ccafc26c11fe5afb95cc12b250ce6f0)
+(cherry picked from commit bd650684712fb840dbcda5d6eaee065bd9e91fa1)
+(cherry picked from commit b06b87f8ffd4fed4ef7eacb13689a9b6d111f850)
+(cherry picked from commit c8c3f893e7c3710afe45c46839e97954871536e4)
+(cherry picked from commit 1355849ad97c1e4a5c430597a377165a5cc118f7)
+---
+ OvmfPkg/AmdSev/AmdSevX64.dsc | 10 ++++++++--
+ OvmfPkg/OvmfPkgIa32.dsc      | 10 ++++++++--
+ OvmfPkg/OvmfPkgIa32X64.dsc   | 10 ++++++++--
+ OvmfPkg/OvmfPkgX64.dsc       | 10 ++++++++--
+ 4 files changed, 32 insertions(+), 8 deletions(-)
+
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
+index ccc46c974b..c66ad3af1a 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
++++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
+@@ -726,8 +726,14 @@
+   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
+ 
+-  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
+-  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
++  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
++  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ 
+   #
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index bbe4e91037..b37a5a6da9 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -830,9 +830,15 @@
+   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
+ 
+ !ifndef $(CSM_ENABLE)
+-  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
++  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+ !endif
+-  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
++  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ 
+   #
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index 072f06c0a3..b0e8c20e93 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -844,9 +844,15 @@
+   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
+ 
+ !ifndef $(CSM_ENABLE)
+-  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
++  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+ !endif
+-  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
++  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ 
+   #
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index 46661408f9..6211d5e934 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -909,9 +909,15 @@
+   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
+ 
+ !ifndef $(CSM_ENABLE)
+-  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
++  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+ !endif
+-  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
++  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ 
+   #
+-- 
+2.31.1
+
diff --git a/SOURCES/0013-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch b/SOURCES/0013-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
deleted file mode 100644
index 90e6575..0000000
--- a/SOURCES/0013-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From 8528d0f734c0ad02120358a894e6fe59c6b9a9c2 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Wed, 14 Oct 2015 15:59:06 +0200
-Subject: OvmfPkg: take PcdResizeXterm from the QEMU command line (RH only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
-  introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
-  to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
-
-  We've always patched all those DSC/FDF files in OvmfPkg down-stream that
-  made sense at least in theory on QEMU. (For example, we've always
-  patched "OvmfPkgIa32.dsc" and "OvmfPkgIa32.fdf", even though we never
-  build or ship the pure IA32 firmware platform.) Follow suit with
-  "AmdSevX64.dsc".
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- Resolve contextual conflict in the DSC files, from upstream commit
-  b0ed7ebdebd1 ("OvmfPkg: set fixed FlashNvStorage base addresses with -D
-  SMM_REQUIRE", 2020-03-12).
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- no change
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- no change
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no change
-
-Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
-
-- refresh downstream-only commit 8abc2a6ddad2 against context differences
-  in the DSC files from upstream commit 5e167d7e784c
-  ("OvmfPkg/PlatformPei: don't allocate reserved mem varstore if
-  SMM_REQUIRE", 2017-03-12).
-
-Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
-
-- no changes
-
-Contributed-under: TianoCore Contribution Agreement 1.0
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit 6fa0c4d67c0bb8bde2ddd6db41c19eb0c40b2721)
-(cherry picked from commit 8abc2a6ddad25af7e88dc0cf57d55dfb75fbf92d)
-(cherry picked from commit b311932d3841c017a0f0fec553edcac365cc2038)
-(cherry picked from commit 61914fb81cf624c9028d015533b400b2794e52d3)
-(cherry picked from commit 2ebf3cc2ae99275d63bb6efd3c22dec76251a853)
-(cherry picked from commit f9b73437b9b231773c1a20e0c516168817a930a2)
-(cherry picked from commit 2cc462ee963d0be119bc97bfc9c70d292a40516f)
-(cherry picked from commit 51e0de961029af84b5bdbfddcc9762b1819d500f)
----
- OvmfPkg/AmdSev/AmdSevX64.dsc        | 1 +
- OvmfPkg/OvmfPkgIa32.dsc             | 1 +
- OvmfPkg/OvmfPkgIa32X64.dsc          | 1 +
- OvmfPkg/OvmfPkgX64.dsc              | 1 +
- OvmfPkg/PlatformPei/Platform.c      | 1 +
- OvmfPkg/PlatformPei/PlatformPei.inf | 1 +
- 6 files changed, 6 insertions(+)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index 5ee5445116..6ea3621225 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -534,6 +534,7 @@
- [PcdsDynamicDefault]
-   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
- 
-+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index 6a5be97c05..4cacf0ea94 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -594,6 +594,7 @@
-   #   ($(SMM_REQUIRE) == FALSE)
-   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
- 
-+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
- !if $(SMM_REQUIRE) == FALSE
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 71227d1b70..6225f8e095 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -600,6 +600,7 @@
-   #   ($(SMM_REQUIRE) == FALSE)
-   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
- 
-+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
- !if $(SMM_REQUIRE) == FALSE
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 52f7598cf1..b66fc67563 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -600,6 +600,7 @@
-   #   ($(SMM_REQUIRE) == FALSE)
-   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
- 
-+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
- !if $(SMM_REQUIRE) == FALSE
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
-diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
-index df2d9ad015..d0e2c08de9 100644
---- a/OvmfPkg/PlatformPei/Platform.c
-+++ b/OvmfPkg/PlatformPei/Platform.c
-@@ -752,6 +752,7 @@ InitializePlatform (
-     MemTypeInfoInitialization ();
-     MemMapInitialization ();
-     NoexecDxeInitialization ();
-+    UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
-   }
- 
-   InstallClearCacheCallback ();
-diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf
-index 67eb7aa716..69eb3edad3 100644
---- a/OvmfPkg/PlatformPei/PlatformPei.inf
-+++ b/OvmfPkg/PlatformPei/PlatformPei.inf
-@@ -93,6 +93,7 @@
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
-   gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
-   gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved
-+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm
-   gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
-   gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable
-   gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack
--- 
-2.27.0
-
diff --git a/SOURCES/0014-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch b/SOURCES/0014-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch
new file mode 100644
index 0000000..96c23ed
--- /dev/null
+++ b/SOURCES/0014-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch
@@ -0,0 +1,97 @@
+From ce89db0328822a99820e19c6af8bbc22cc0682fb Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Wed, 27 Jan 2016 03:05:18 +0100
+Subject: ArmVirtPkg: silence DEBUG_VERBOSE (0x00400000) in QemuRamfbDxe (RH
+ only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- no change
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- no change
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- The previous version of this patch (downstream commit 76b4ac28e975)
+  caused a regression (RHBZ#1714446), which was fixed up in downstream
+  commit 5a216abaa737 ("ArmVirtPkg: silence DEBUG_VERBOSE masking
+  ~0x00400000 in QemuRamfbDxe (RH only)", 2019-08-05).
+
+  Squash the fixup into the original patch. Fuse the commit messages.
+  (Acked-by tags are not preserved, lest we confuse ourselves while
+  reviewing this rebase.)
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- new patch, due to upstream commit c64688f36a8b ("ArmVirtPkg: add
+  QemuRamfbDxe", 2018-06-14)
+
+QemuRamfbDxe uses FrameBufferLib. The FrameBufferBltLib instance added in
+commit b1ca386074bd ("MdeModulePkg: Add FrameBufferBltLib library
+instance") logs many messages on the VERBOSE level; for example, a normal
+boot with ArmVirtQemu[Kernel] can produce 500+ "VideoFill" messages,
+dependent on the progress bar, when the VERBOSE bit is set in
+PcdDebugPrintErrorLevel.
+
+Clear the VERBOSE bit without touching other bits -- those other bits
+differ between the "silent" and "verbose" builds, so we can't set them as
+constants.
+
+QemuRamfbDxe itself doesn't log anything at the VERBOSE level, so we lose
+none of its messages, with the VERBOSE bit clear.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit 76b4ac28e975bd63c25db903a1d42c47b38cc756)
+Reported-by: Andrew Jones <drjones@redhat.com>
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com>
+(cherry picked from commit 5a216abaa737195327235e37563b18a6bf2a74dc)
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit e5b8152bced2364a1ded0926dbba4d65e23e3f84)
+(cherry picked from commit e7f57f154439c1c18ea5030b01f8d7bc492698b2)
+---
+ ArmVirtPkg/ArmVirtQemu.dsc       | 5 ++++-
+ ArmVirtPkg/ArmVirtQemuKernel.dsc | 5 ++++-
+ 2 files changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
+index ae35cc1800..f30c1e622c 100644
+--- a/ArmVirtPkg/ArmVirtQemu.dsc
++++ b/ArmVirtPkg/ArmVirtQemu.dsc
+@@ -511,7 +511,10 @@
+   #
+   # Video support
+   #
+-  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
++  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF
++  }
+   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+   OvmfPkg/PlatformDxe/Platform.inf
+ 
+diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
+index 7f7d15d6ee..14f7b29991 100644
+--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
++++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
+@@ -440,7 +440,10 @@
+   #
+   # Video support
+   #
+-  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
++  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF
++  }
+   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+   OvmfPkg/PlatformDxe/Platform.inf
+ 
+-- 
+2.31.1
+
diff --git a/SOURCES/0014-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch b/SOURCES/0014-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
deleted file mode 100644
index c478b27..0000000
--- a/SOURCES/0014-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
+++ /dev/null
@@ -1,203 +0,0 @@
-From 2ea50cb9ad392b2df09bfb20d64c7c3c1863e867 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Sun, 26 Jul 2015 08:02:50 +0000
-Subject: ArmVirtPkg: take PcdResizeXterm from the QEMU command line (RH only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- Resolve leading context divergence in "ArmVirtPkg/ArmVirtQemu.dsc",
-  arising from upstream commits:
-
-  - 82662a3b5f56 ("ArmVirtPkg/PlatformPeiLib: discover the TPM base
-                  address from the DT", 2020-03-04)
-
-  - ddd34a818315 ("ArmVirtPkg/ArmVirtQemu: enable TPM2 support in the PEI
-                  phase", 2020-03-04)
-
-  - cdc3fa54184a ("ArmVirtPkg: control PXEv4 / PXEv6 boot support from the
-                  QEMU command line", 2020-04-28)
-
-- Rework the downstream patch quite a bit, paralleling the upstream work
-  done for <https://bugzilla.tianocore.org/show_bug.cgi?id=2681> in commit
-  range 64ab457d1f21..cdc3fa54184a:
-
-  - Refresh copyright year in TerminalPcdProducerLib.{inf,c}. Also replace
-    open-coded BSDL with "SPDX-License-Identifier: BSD-2-Clause-Patent".
-
-  - Simplify LIBRARY_CLASS: this lib instance is meant to be consumed only
-    via NULL class resolution (basically: as a plugin), so use NULL for
-    LIBRARY_CLASS, not "TerminalPcdProducerLib|DXE_DRIVER".
-
-  - Sort the [Packages] section alphabetically in the INF file.
-
-  - Replace the open-coded GetNamedFwCfgBoolean() function with a call to
-    QemuFwCfgParseBool(), from QemuFwCfgSimpleParserLib.
-
-  - Add the SOMETIMES_PRODUCES usage comment in the [Pcd] section of the
-    INF file.
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- no change
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- no change
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no change
-
-Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
-
-- Refresh downstream-only commit d4564d39dfdb against context changes in
-  "ArmVirtPkg/ArmVirtQemu.dsc" from upstream commit 7e5f1b673870
-  ("ArmVirtPkg/PlatformHasAcpiDtDxe: allow guest level ACPI disable
-  override", 2017-03-29).
-
-Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
-
-- Adapt commit 6b97969096a3 to the fact that upstream has deprecated such
-  setter functions for dynamic PCDs that don't return a status code (such
-  as PcdSetBool()). Employ PcdSetBoolS(), and assert that it succeeds --
-  there's really no circumstance in this case when it could fail.
-
-Contributed-under: TianoCore Contribution Agreement 1.0
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit d4564d39dfdbf74e762af43314005a2c026cb262)
-(cherry picked from commit c9081ebe3bcd28e5cce4bf58bd8d4fca12f9af7c)
-(cherry picked from commit 8e92730c8e1cdb642b3b3e680e643ff774a90c65)
-(cherry picked from commit 9448b6b46267d8d807fac0c648e693171bb34806)
-(cherry picked from commit 232fcf06f6b3048b7c2ebd6931f23186b3852f04)
-(cherry picked from commit 8338545260fbb423f796d5196faaaf8ff6e1ed99)
-(cherry picked from commit a5f7a57bf390f1f340ff1d1f1884a73716817ef1)
----
- ArmVirtPkg/ArmVirtQemu.dsc                    |  7 +++-
- .../TerminalPcdProducerLib.c                  | 34 +++++++++++++++++++
- .../TerminalPcdProducerLib.inf                | 33 ++++++++++++++++++
- 3 files changed, 73 insertions(+), 1 deletion(-)
- create mode 100644 ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
- create mode 100644 ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
-
-diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
-index 891e065311..e0476ede4f 100644
---- a/ArmVirtPkg/ArmVirtQemu.dsc
-+++ b/ArmVirtPkg/ArmVirtQemu.dsc
-@@ -282,6 +282,8 @@
-   gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0
- !endif
- 
-+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
-+
- [PcdsDynamicHii]
-   gArmVirtTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gArmVirtVariableGuid|0x0|FALSE|NV,BS
- 
-@@ -384,7 +386,10 @@
-   MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
-   MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
-   MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
--  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
-+  MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf {
-+    <LibraryClasses>
-+      NULL|ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
-+  }
-   MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
- 
-   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
-new file mode 100644
-index 0000000000..bfd3a6a535
---- /dev/null
-+++ b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
-@@ -0,0 +1,34 @@
-+/** @file
-+*  Plugin library for setting up dynamic PCDs for TerminalDxe, from fw_cfg
-+*
-+*  Copyright (C) 2015-2020, Red Hat, Inc.
-+*  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
-+*
-+*  SPDX-License-Identifier: BSD-2-Clause-Patent
-+**/
-+
-+#include <Library/DebugLib.h>
-+#include <Library/PcdLib.h>
-+#include <Library/QemuFwCfgSimpleParserLib.h>
-+
-+#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName)                             \
-+          do {                                                                \
-+            BOOLEAN       Setting;                                            \
-+            RETURN_STATUS PcdStatus;                                          \
-+                                                                              \
-+            if (!RETURN_ERROR (QemuFwCfgParseBool (                           \
-+                    "opt/org.tianocore.edk2.aavmf/" #TokenName, &Setting))) { \
-+              PcdStatus = PcdSetBoolS (TokenName, Setting);                   \
-+              ASSERT_RETURN_ERROR (PcdStatus);                                \
-+            }                                                                 \
-+          } while (0)
-+
-+RETURN_STATUS
-+EFIAPI
-+TerminalPcdProducerLibConstructor (
-+  VOID
-+  )
-+{
-+  UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
-+  return RETURN_SUCCESS;
-+}
-diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
-new file mode 100644
-index 0000000000..a51dbd1670
---- /dev/null
-+++ b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
-@@ -0,0 +1,33 @@
-+## @file
-+#  Plugin library for setting up dynamic PCDs for TerminalDxe, from fw_cfg
-+#
-+#  Copyright (C) 2015-2020, Red Hat, Inc.
-+#  Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
-+#
-+#  SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+[Defines]
-+  INF_VERSION                    = 0x00010005
-+  BASE_NAME                      = TerminalPcdProducerLib
-+  FILE_GUID                      = 4a0c5ed7-8c42-4c01-8f4c-7bf258316a96
-+  MODULE_TYPE                    = BASE
-+  VERSION_STRING                 = 1.0
-+  LIBRARY_CLASS                  = NULL
-+  CONSTRUCTOR                    = TerminalPcdProducerLibConstructor
-+
-+[Sources]
-+  TerminalPcdProducerLib.c
-+
-+[Packages]
-+  MdeModulePkg/MdeModulePkg.dec
-+  MdePkg/MdePkg.dec
-+  OvmfPkg/OvmfPkg.dec
-+
-+[LibraryClasses]
-+  DebugLib
-+  PcdLib
-+  QemuFwCfgSimpleParserLib
-+
-+[Pcd]
-+  gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ## SOMETIMES_PRODUCES
--- 
-2.27.0
-
diff --git a/SOURCES/0015-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch b/SOURCES/0015-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch
new file mode 100644
index 0000000..a74bc69
--- /dev/null
+++ b/SOURCES/0015-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch
@@ -0,0 +1,95 @@
+From f632bade0de20d4b34eb6225e40c6e4c325bed5c Mon Sep 17 00:00:00 2001
+From: Philippe Mathieu-Daude <philmd@redhat.com>
+Date: Thu, 1 Aug 2019 20:43:48 +0200
+Subject: OvmfPkg: QemuRamfbDxe: Do not report DXE failure on Aarch64 silent
+ builds (RH only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- no change
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- no change
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- We have to carry this downstream-only patch -- committed originally as
+  aaaedc1e2cfd -- indefinitely.
+
+- To avoid confusion, remove the tags from the commit message that had
+  been added by the downstream maintainer scripts, such as: Message-id,
+  Patchwork-id, O-Subject, Acked-by. These remain available on the
+  original downstream commit. The Bugzilla line is preserved, as it
+  doesn't relate to a specific posting, but to the problem.
+
+Bugzilla: 1714446
+
+To suppress an error message on the silent build when ramfb is
+not configured, change QemuRamfbDxe to return EFI_SUCCESS even
+when it fails.
+Some memory is wasted (driver stays resident without
+any good use), but it is mostly harmless, as the memory
+is released by the OS after ExitBootServices().
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com>
+(cherry picked from commit aaaedc1e2cfd55ef003fb1b5a37c73a196b26dc7)
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit aa2b66b18a62d652bdbefae7b5732297294306ca)
+(cherry picked from commit deb3451034326b75fd760aba47a5171493ff055e)
+---
+ OvmfPkg/QemuRamfbDxe/QemuRamfb.c      | 14 ++++++++++++++
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf |  1 +
+ 2 files changed, 15 insertions(+)
+
+diff --git a/OvmfPkg/QemuRamfbDxe/QemuRamfb.c b/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
+index f5113fbc78..0015c4fc9c 100644
+--- a/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
++++ b/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
+@@ -13,6 +13,7 @@
+ #include <Library/BaseLib.h>
+ #include <Library/BaseMemoryLib.h>
+ #include <Library/DebugLib.h>
++#include <Library/DebugPrintErrorLevelLib.h>
+ #include <Library/DevicePathLib.h>
+ #include <Library/FrameBufferBltLib.h>
+ #include <Library/MemoryAllocationLib.h>
+@@ -259,6 +260,19 @@ InitializeQemuRamfb (
+ 
+   Status = QemuFwCfgFindFile ("etc/ramfb", &mRamfbFwCfgItem, &FwCfgSize);
+   if (EFI_ERROR (Status)) {
++#if defined (MDE_CPU_AARCH64)
++    //
++    // RHBZ#1714446
++    // If no ramfb device was configured, this platform DXE driver should
++    // returns EFI_NOT_FOUND, so the DXE Core can unload it. However, even
++    // using a silent build, an error message is issued to the guest console.
++    // Since this confuse users, return success and stay resident. The wasted
++    // guest RAM still gets freed later after ExitBootServices().
++    //
++    if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
++      return EFI_SUCCESS;
++    }
++#endif
+     return EFI_NOT_FOUND;
+   }
+ 
+diff --git a/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf b/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
+index e3890b8c20..6ffee5acb2 100644
+--- a/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
++++ b/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
+@@ -29,6 +29,7 @@
+   BaseLib
+   BaseMemoryLib
+   DebugLib
++  DebugPrintErrorLevelLib
+   DevicePathLib
+   FrameBufferBltLib
+   MemoryAllocationLib
+-- 
+2.31.1
+
diff --git a/SOURCES/0015-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch b/SOURCES/0015-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
deleted file mode 100644
index 66af3b3..0000000
--- a/SOURCES/0015-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From ed122866ad1a15f29e0ba570ddb9309917cb0370 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Tue, 4 Nov 2014 23:02:53 +0100
-Subject: OvmfPkg: allow exclusion of the shell from the firmware image (RH
- only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- No manual / explicit code change is necessary, because the newly
-  inherited OvmfPkg/AmdSev platform already has its own BUILD_SHELL
-  build-time macro (feature test flag), with default value FALSE -- from
-  upstream commit b261a30c900a ("OvmfPkg/AmdSev: add Grub Firmware Volume
-  Package", 2020-12-14).
-
-- Contextual differences from new upstream commits 2d8ca4f90eae ("OvmfPkg:
-  enable HttpDynamicCommand", 2020-10-01) and 5ab6a0e1c8e9 ("OvmfPkg:
-  introduce VirtioFsDxe", 2020-12-21) have been auto-resolved by
-  git-cherry-pick.
-
-- Remove obsolete commit message tags related to downstream patch
-  management: Message-id, Patchwork-id, O-Subject, Acked-by
-  (RHBZ#1846481).
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- context difference from upstream commit ec41733cfd10 ("OvmfPkg: add the
-  'initrd' dynamic shell command", 2020-03-04) correctly auto-resolved
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- no change
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- update the patch against the following upstream commits:
-  - 4b888334d234 ("OvmfPkg: Remove EdkShellBinPkg in FDF", 2018-11-19)
-  - 277a3958d93a ("OvmfPkg: Don't include TftpDynamicCommand in XCODE5
-                  tool chain", 2018-11-27)
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no change
-
-Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
-
-- no changes
-
-Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
-
-- no changes
-
-Bugzilla: 1147592
-
-When '-D EXCLUDE_SHELL_FROM_FD' is passed to 'build', exclude the shell
-binary from the firmware image.
-
-Peter Jones advised us that firmware vendors for physical systems disable
-the memory-mapped, firmware image-contained UEFI shell in
-SecureBoot-enabled builds. The reason being that the memory-mapped shell
-can always load, it may have direct access to various hardware in the
-system, and it can run UEFI shell scripts (which cannot be signed at all).
-
-Intended use of the new build option:
-
-- In-tree builds: don't pass '-D EXCLUDE_SHELL_FROM_FD'. The resultant
-  firmware image will contain a shell binary, independently of SecureBoot
-  enablement, which is flexible for interactive development. (Ie. no
-  change for in-tree builds.)
-
-- RPM builds: pass both '-D SECURE_BOOT_ENABLE' and
-  '-D EXCLUDE_SHELL_FROM_FD'. The resultant RPM will provide:
-
-  - OVMF_CODE.fd: SecureBoot-enabled firmware, without builtin UEFI shell,
-
-  - OVMF_VARS.fd: variable store template matching OVMF_CODE.fd,
-
-  - UefiShell.iso: a bootable ISO image with the shell on it as default
-    boot loader. The shell binary will load when SecureBoot is turned off,
-    and won't load when SecureBoot is turned on (because it is not
-    signed).
-
-    UefiShell.iso is the reason we're not excluding the shell from the DSC
-    files as well, only the FDF files -- when '-D EXCLUDE_SHELL_FROM_FD'
-    is specified, the shell binary needs to be built the same, only it
-    will be included in UefiShell.iso.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit 9c391def70366cabae08e6008814299c3372fafd)
-(cherry picked from commit d9dd9ee42937b2611fe37183cc9ec7f62d946933)
-(cherry picked from commit 23df46ebbe7b09451d3a05034acd4d3a25e7177b)
-(cherry picked from commit f0303f71d576c51b01c4ff961b429d0e0e707245)
-(cherry picked from commit bbd64eb8658e9a33eab4227d9f4e51ad78d9f687)
-(cherry picked from commit 8628ef1b8d675ebec39d83834abbe3c8c8c42cf4)
-(cherry picked from commit 229c88dc3ded9baeaca8b87767dc5c41c05afd6e)
-(cherry picked from commit c2812d7189dee06c780f05a5880eb421c359a687)
----
- OvmfPkg/OvmfPkgIa32.fdf    | 2 ++
- OvmfPkg/OvmfPkgIa32X64.fdf | 2 ++
- OvmfPkg/OvmfPkgX64.fdf     | 2 ++
- 3 files changed, 6 insertions(+)
-
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index 775ea2d710..00ea14adf0 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -290,12 +290,14 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
- 
-+!ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
- INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
- INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF  ShellPkg/Application/Shell/Shell.inf
-+!endif
- 
- INF MdeModulePkg/Logo/LogoDxe.inf
- 
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index 9d8695922f..e33a40c44e 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -294,12 +294,14 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
- 
-+!ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
- INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
- INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF  ShellPkg/Application/Shell/Shell.inf
-+!endif
- 
- INF MdeModulePkg/Logo/LogoDxe.inf
- 
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index b6cc3cabdd..85b4b23857 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -310,12 +310,14 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
- 
-+!ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
- INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
- INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF  ShellPkg/Application/Shell/Shell.inf
-+!endif
- 
- INF MdeModulePkg/Logo/LogoDxe.inf
- 
--- 
-2.27.0
-
diff --git a/SOURCES/0016-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch b/SOURCES/0016-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch
deleted file mode 100644
index 7f9c554..0000000
--- a/SOURCES/0016-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch
+++ /dev/null
@@ -1,93 +0,0 @@
-From 03a7ff7a8ab80c740dc1ab64b74bb691cadbf84e Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Wed, 14 Oct 2015 13:49:43 +0200
-Subject: ArmPlatformPkg: introduce fixed PCD for early hello message (RH only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- no change
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- no change
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- no change
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no changes
-
-Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
-
-- no changes
-
-Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
-
-- no changes
-
-Drew has proposed that ARM|AARCH64 platform firmware (especially virtual
-machine firmware) print a reasonably early, simple hello message to the
-serial port, regardless of debug mask settings. This should inform
-interactive users, and provide some rough help in localizing boot
-problems, even with restrictive debug masks.
-
-If a platform doesn't want this feature, it should stick with the default
-empty string.
-
-RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
-Downstream only:
-<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
-
-Suggested-by: Drew Jones <drjones@redhat.com>
-Contributed-under: TianoCore Contribution Agreement 1.0
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit 7ce97b06421434c82095f01a1753a8c9c546cc30)
-(cherry picked from commit 20b1f1cbd0590aa71c6d99d35e23cf08e0707750)
-(cherry picked from commit 6734b88cf7abcaf42632e3d2fc469b2169dd2f16)
-(cherry picked from commit ef77da632559e9baa1c69869e4cbea377068ef27)
-(cherry picked from commit 58755c51d3252312d80cbcb97928d71199c2f5e1)
-(cherry picked from commit c3f07e323e76856f1b42ea7b8c598ba3201c28a2)
-(cherry picked from commit 9f756c1ad83cc81f7d892cd036d59a2b567b02dc)
-(cherry picked from commit c75aea7a738ac7fb944c0695a4bfffc3985afaa9)
----
- ArmPlatformPkg/ArmPlatformPkg.dec | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec b/ArmPlatformPkg/ArmPlatformPkg.dec
-index 3a25ddcdc8..b2b58553c7 100644
---- a/ArmPlatformPkg/ArmPlatformPkg.dec
-+++ b/ArmPlatformPkg/ArmPlatformPkg.dec
-@@ -121,6 +121,13 @@
-   ## If set, this will swap settings for HDLCD RED_SELECT and BLUE_SELECT registers
-   gArmPlatformTokenSpaceGuid.PcdArmHdLcdSwapBlueRedSelect|FALSE|BOOLEAN|0x00000045
- 
-+  #
-+  # Early hello message (ASCII string), printed to the serial port.
-+  # If set to the empty string, nothing is printed.
-+  # Otherwise, a trailing CRLF should be specified explicitly.
-+  #
-+  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage|""|VOID*|0x00000100
-+
- [PcdsFixedAtBuild.common,PcdsDynamic.common]
-   ## PL031 RealTimeClock
-   gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0|UINT32|0x00000024
--- 
-2.27.0
-
diff --git a/SOURCES/0016-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch b/SOURCES/0016-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
new file mode 100644
index 0000000..a25f2e5
--- /dev/null
+++ b/SOURCES/0016-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
@@ -0,0 +1,131 @@
+From d832a41efb2d0e199af57fc1c79b750e57978cde Mon Sep 17 00:00:00 2001
+From: Paolo Bonzini <pbonzini@redhat.com>
+Date: Tue, 21 Nov 2017 00:57:47 +0100
+Subject: OvmfPkg: silence EFI_D_VERBOSE (0x00400000) in NvmExpressDxe (RH
+ only)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
+  introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
+  to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
+
+- Remove obsolete commit message tags related to downstream patch
+  management: Message-id, Patchwork-id, O-Subject, Acked-by, From
+  (RHBZ#1846481).
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- no change
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- no change
+
+Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
+RHEL-8.1/20190308-89910a39dcfd rebase:
+
+- no change
+
+Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
+RHEL-8.0/20180508-ee3198e672e2 rebase:
+
+- reorder the rebase changelog in the commit message so that it reads like
+  a blog: place more recent entries near the top
+- no changes to the patch body
+
+Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
+
+- no changes
+
+Bugzilla: 1488247
+
+NvmExpressDxe logs all BlockIo read & write calls on the EFI_D_VERBOSE
+level.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
+(this patch was previously applied as commit 5f432837b9c60c2929b13dda1a1b488d5c3a6d2f)
+(cherry picked from commit 33e00146eb878588ad1395d7b1ae38f401729da4)
+(cherry picked from commit bd10cabcfcb1bc9a32b05062f4ee3792e27bc2d8)
+(cherry picked from commit 5a27af700f49e00608f232f618dedd7bf5e9b3e6)
+(cherry picked from commit 58bba429b9ec7b78109940ef945d0dc93f3cd958)
+(cherry picked from commit b8d0ebded8c2cf5b266c807519e2d8ccfd66fee6)
+(cherry picked from commit ed89844b47f46cfe911f1bf2bda40e537a908502)
+---
+ OvmfPkg/AmdSev/AmdSevX64.dsc | 5 ++++-
+ OvmfPkg/OvmfPkgIa32.dsc      | 5 ++++-
+ OvmfPkg/OvmfPkgIa32X64.dsc   | 5 ++++-
+ OvmfPkg/OvmfPkgX64.dsc       | 5 ++++-
+ 4 files changed, 16 insertions(+), 4 deletions(-)
+
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
+index c66ad3af1a..7df6e5c825 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
++++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
+@@ -720,7 +720,10 @@
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
+   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
+-  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
++  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index b37a5a6da9..ed6a820d2e 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -823,7 +823,10 @@
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
+   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
+-  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
++  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index b0e8c20e93..b5be86cff3 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -837,7 +837,10 @@
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
+   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
+-  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
++  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index 6211d5e934..29b45e68e3 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -902,7 +902,10 @@
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
+   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
+-  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
++  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
++    <PcdsFixedAtBuild>
++      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
++  }
+   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
+   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
+   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
+-- 
+2.31.1
+
diff --git a/SOURCES/0017-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch b/SOURCES/0017-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
deleted file mode 100644
index 07079ad..0000000
--- a/SOURCES/0017-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From c82c22df8ab7d2c7078421f4da4ad99e5c04d364 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Wed, 14 Oct 2015 13:59:20 +0200
-Subject: ArmPlatformPkg: PrePeiCore: write early hello message to the serial
- port (RH)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- no change
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- no change
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- no change
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- adapt to upstream commit 7e2a8dfe8a9a ("ArmPlatformPkg/PrePeiCore: seed
-  temporary stack before entering PEI core", 2017-11-09) -- conflict
-  resolution in "ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf"
-
-Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
-
-- no changes
-
-Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
-
-- no changes
-
-The FixedPcdGetSize() macro expands to an integer constant, therefore an
-optimizing compiler can eliminate the new code, if the platform DSC
-doesn't override the empty string (size=1) default of
-PcdEarlyHelloMessage.
-
-RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
-Downstream only:
-<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
-
-Contributed-under: TianoCore Contribution Agreement 1.0
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit b16c4c505ce0e27305235533eac9236aa66f132e)
-(cherry picked from commit 742e5bf6d5ce5a1e73879d6e5c0dd00feda7a9ac)
-(cherry picked from commit 93d69eb9393cf05af90676253875c59c1bec67fd)
-(cherry picked from commit 638594083b191f84f5d9333eb6147a31570f5a5a)
-(cherry picked from commit f4b7aae411d88b2b83f85d20ef06a4032a57e7de)
-(cherry picked from commit bb71490fdda3b38fa9f071d281b863f9b64363bf)
-(cherry picked from commit 8d5a8827aabc67cb2a046697e1a750ca8d9cc453)
-(cherry picked from commit 49fe5596cd79c94d903c4d506c563d642ccd69aa)
----
- ArmPlatformPkg/PrePeiCore/MainMPCore.c          | 5 +++++
- ArmPlatformPkg/PrePeiCore/MainUniCore.c         | 5 +++++
- ArmPlatformPkg/PrePeiCore/PrePeiCore.h          | 1 +
- ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf  | 2 ++
- ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf | 2 ++
- 5 files changed, 15 insertions(+)
-
-diff --git a/ArmPlatformPkg/PrePeiCore/MainMPCore.c b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
-index 859f1adf20..cf9e65bb7c 100644
---- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c
-+++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
-@@ -111,6 +111,11 @@ PrimaryMain (
-   UINTN                       TemporaryRamBase;
-   UINTN                       TemporaryRamSize;
- 
-+  if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
-+    SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
-+      FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
-+  }
-+
-   CreatePpiList (&PpiListSize, &PpiList);
- 
-   // Enable the GIC Distributor
-diff --git a/ArmPlatformPkg/PrePeiCore/MainUniCore.c b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
-index 220f9b5680..158cc34c77 100644
---- a/ArmPlatformPkg/PrePeiCore/MainUniCore.c
-+++ b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
-@@ -29,6 +29,11 @@ PrimaryMain (
-   UINTN                       TemporaryRamBase;
-   UINTN                       TemporaryRamSize;
- 
-+  if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
-+    SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
-+      FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
-+  }
-+
-   CreatePpiList (&PpiListSize, &PpiList);
- 
-   // Adjust the Temporary Ram as the new Ppi List (Common + Platform Ppi Lists) is created at
-diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
-index 7b155a8a61..e9e283f9ec 100644
---- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
-+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
-@@ -15,6 +15,7 @@
- #include <Library/DebugLib.h>
- #include <Library/IoLib.h>
- #include <Library/PcdLib.h>
-+#include <Library/SerialPortLib.h>
- 
- #include <PiPei.h>
- #include <Ppi/TemporaryRamSupport.h>
-diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
-index fb01dd1a11..a6681c1032 100644
---- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
-+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
-@@ -69,6 +69,8 @@
-   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
-   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
- 
-+  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
-+
-   gArmTokenSpaceGuid.PcdGicDistributorBase
-   gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
-   gArmTokenSpaceGuid.PcdGicSgiIntId
-diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
-index e9eb092d3a..c98dc82f0c 100644
---- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
-+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
-@@ -67,4 +67,6 @@
-   gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
-   gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
- 
-+  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
-+
-   gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
--- 
-2.27.0
-
diff --git a/SOURCES/0017-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch b/SOURCES/0017-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch
new file mode 100644
index 0000000..094aebf
--- /dev/null
+++ b/SOURCES/0017-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch
@@ -0,0 +1,179 @@
+From 724b271c0cb45063c3cbe230031091186f623ba8 Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Sat, 16 Nov 2019 17:11:27 +0100
+Subject: CryptoPkg/OpensslLib: list RHEL8-specific OpenSSL files in the INFs
+ (RH)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1938257
+
+- Recreate the patch based on downstream commits:
+
+  - 56c4bb81b311 ("CryptoPkg/OpensslLib: list RHEL8-specific OpenSSL files
+                  in the INFs (RH)", 2020-06-05),
+  - e81751a1c303 ("CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1g",
+                  2020-11-23),
+  - 3e3fe5e62079 ("redhat: bump OpenSSL dist-git submodule to 1.1.1g+ /
+                  RHEL-8.4", 2020-11-23).
+
+  (1) At e81751a1c303, downstream edk2 was in sync with upstream edk2
+      consuming OpenSSL 1.1.1g (upstream edk2 commit 8c30327debb2
+      ("CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1g", 2020-07-25)).
+
+      Since commit 8c30327debb2, upstream edk2 modified the OpensslLib INF
+      files, namely
+
+      - CryptoPkg/Library/OpensslLib/OpensslLib.inf
+      - CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+
+      in the following commits only:
+
+      - be01087e0780 ("CryptoPkg/Library: Remove the redundant build
+        option", 2020-08-12), which did not affect the source file list at
+        all,
+
+      - b5701a4c7a0f ("CryptoPkg: OpensslLib: Use RngLib to generate
+        entropy in rand_pool", 2020-09-18), which replaced some of the
+        *edk2-specific* "rand_pool_noise" source files with an RngLib
+        dependency.
+
+      This means that the list of required, actual OpenSSL source files
+      has not changed in upstream edk2 since our downstream edk2 commit
+      e81751a1c303.
+
+  (2) At commit 3e3fe5e62079 (the direct child of e81751a1c303),
+      downstream edk2's OpenSSL dependency was satisfied with RHEL-8
+      OpenSSL at dist-git commit bdd048e929dc ("Two fixes that will be
+      shipped in RHEL-8.3.0.z", 2020-10-23).
+
+      Since commit bdd048e929dc, RHEL-8 OpenSSL dist-git advanced
+      (fast-forwarded) to commit a75722161d20 ("Update to version 1.1.1k",
+      2021-05-25), which is the current head of the rhel-8.5.0 branch.
+      (See also <https://bugzilla.redhat.com/show_bug.cgi?id=1938257#c6>.)
+
+      At both dist-git bdd048e929dc and dist-git a75722161d20, I built the
+      respective RHEL-8 OpenSSL *source* RPM, and prepped the respective
+      source tree, with "rpmbuild -bp". Subsequently I compared the
+      prepped source trees recursively.
+
+      - The following files disappeared:
+
+        - 29 backup files created by "patch",
+
+        - the assembly generator perl script called
+          "ecp_nistz256-avx2.pl", which is not used during the build.
+
+      - The following new files appeared:
+
+        - 18 files directly or indirectly under the "test" subdirectory,
+          which are not used during the build,
+
+        - 5 backup files created by "patch",
+
+        - 2 DCL scripts used when building OpenSSL on OpenVMS.
+
+      This means that the total list of RHEL-8 OpenSSL source files has
+      not changed in RHEL-8 OpenSSL dist-git since our downstream edk2
+      commit 3e3fe5e62079.
+
+  As a result, copy the "RHEL8-specific OpenSSL file list" sections
+  verbatim from the INF files, at downstream commit e81751a1c303. (I used
+  the "git checkout -p e81751a1c303 -- Library/OpensslLib/OpensslLib.inf
+  CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf" command.)
+
+Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
+RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
+
+- "OpensslLib.inf":
+
+  - Automatic leading context refresh against upstream commit c72ca4666886
+    ("CryptoPkg/OpensslLib: Add "sort" keyword to header file parsing
+    loop", 2020-03-10).
+
+  - Manual trailing context refresh against upstream commit b49a6c8f80d9
+    ("CryptoPkg/OpensslLib: improve INF file consistency", 2019-12-02).
+
+- "OpensslLibCrypto.inf":
+
+  - Automatic leading context refresh against upstream commits
+    8906f076de35 ("CryptoPkg/OpensslLib: Add missing header files in INF
+    file", 2019-08-16) and 9f4fbd56d430 ("CryptoPkg/OpensslLib: Update
+    process_files.pl to generate .h files", 2019-10-30).
+
+Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
+RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
+
+- new patch
+
+The downstream changes in RHEL8's OpenSSL package, for example in
+"openssl-1.1.1-evp-kdf.patch", introduce new files, and even move some
+preexistent code into those new files. In order to avoid undefined
+references in link editing, we have to list the new files.
+
+Note: "process_files.pl" is not re-run at this time manually, because
+
+(a) "process_files.pl" would pollute the file list (and some of the
+    auto-generated header files) with RHEL8-specific FIPS artifacts, which
+    are explicitly unwanted in edk2,
+
+(b) The RHEL OpenSSL maintainer, Tomas Mraz, identified this specific set
+    of files in <https://bugzilla.redhat.com/show_bug.cgi?id=1749693#c10>,
+    and will help with future changes too.
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+(cherry picked from commit 57bd3f146590df8757865d8f2cdd1db3cf3f4d40)
+(cherry picked from commit 56c4bb81b311dfcee6a34c81d3e4feeda7f88995)
+---
+ CryptoPkg/Library/OpensslLib/OpensslLib.inf       | 11 +++++++++++
+ CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 11 +++++++++++
+ 2 files changed, 22 insertions(+)
+
+diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
+index c899b811b1..4a89dc82b6 100644
+--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
++++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
+@@ -620,6 +620,17 @@
+   $(OPENSSL_PATH)/ssl/statem/statem.h
+   $(OPENSSL_PATH)/ssl/statem/statem_local.h
+ # Autogenerated files list ends here
++# RHEL8-specific OpenSSL file list starts here
++  $(OPENSSL_PATH)/crypto/evp/kdf_lib.c
++  $(OPENSSL_PATH)/crypto/evp/pkey_kdf.c
++  $(OPENSSL_PATH)/crypto/kdf/kbkdf.c
++  $(OPENSSL_PATH)/crypto/kdf/kdf_local.h
++  $(OPENSSL_PATH)/crypto/kdf/kdf_util.c
++  $(OPENSSL_PATH)/crypto/kdf/krb5kdf.c
++  $(OPENSSL_PATH)/crypto/kdf/pbkdf2.c
++  $(OPENSSL_PATH)/crypto/kdf/sshkdf.c
++  $(OPENSSL_PATH)/crypto/kdf/sskdf.c
++# RHEL8-specific OpenSSL file list ends here
+   buildinf.h
+   ossl_store.c
+   rand_pool.c
+diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+index 0ec3724541..f1cc0aaf9f 100644
+--- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
++++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
+@@ -569,6 +569,17 @@
+   $(OPENSSL_PATH)/crypto/x509v3/standard_exts.h
+   $(OPENSSL_PATH)/crypto/x509v3/v3_admis.h
+ # Autogenerated files list ends here
++# RHEL8-specific OpenSSL file list starts here
++  $(OPENSSL_PATH)/crypto/evp/kdf_lib.c
++  $(OPENSSL_PATH)/crypto/evp/pkey_kdf.c
++  $(OPENSSL_PATH)/crypto/kdf/kbkdf.c
++  $(OPENSSL_PATH)/crypto/kdf/kdf_local.h
++  $(OPENSSL_PATH)/crypto/kdf/kdf_util.c
++  $(OPENSSL_PATH)/crypto/kdf/krb5kdf.c
++  $(OPENSSL_PATH)/crypto/kdf/pbkdf2.c
++  $(OPENSSL_PATH)/crypto/kdf/sshkdf.c
++  $(OPENSSL_PATH)/crypto/kdf/sskdf.c
++# RHEL8-specific OpenSSL file list ends here
+   buildinf.h
+   ossl_store.c
+   rand_pool.c
+-- 
+2.31.1
+
diff --git a/SOURCES/0018-ArmVirtPkg-set-early-hello-message-RH-only.patch b/SOURCES/0018-ArmVirtPkg-set-early-hello-message-RH-only.patch
deleted file mode 100644
index c8b8361..0000000
--- a/SOURCES/0018-ArmVirtPkg-set-early-hello-message-RH-only.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 71a097feaba670e5d6eaebfc593394dee6e71cc9 Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Wed, 14 Oct 2015 14:07:17 +0200
-Subject: ArmVirtPkg: set early hello message (RH only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- context difference from upstream commit f5cb3767038e
-  ("ArmVirtPkg/ArmVirtQemu: add ResetSystem PEIM for upcoming TPM2
-  support", 2020-03-04) automatically resolved correctly
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- no change
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- resolve context conflict with upstream commit eaa1e98ae31d ("ArmVirtPkg:
-  don't set PcdCoreCount", 2019-02-13)
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no changes
-
-Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
-
-- no changes
-
-Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
-
-- no changes
-
-Print a friendly banner on QEMU, regardless of debug mask settings.
-
-RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
-Downstream only:
-<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
-
-Contributed-under: TianoCore Contribution Agreement 1.0
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit 5d4a15b9019728b2d96322bc679099da49916925)
-(cherry picked from commit 179df76dbb0d199bd905236e98775b4059c6502a)
-(cherry picked from commit ce3f59d0710c24c162d5222bbf5cd7e36180c80c)
-(cherry picked from commit c201a8e6ae28d75f7ba581828b533c3b26fa7f18)
-(cherry picked from commit 2d4db6ec70e004cd9ac147615d17033bee5d3b18)
-(cherry picked from commit fb2032bbea7e02c426855cf86a323556d493fd8a)
-(cherry picked from commit ba73b99d5cb38f87c1a8f0936d515eaaefa3f04b)
-(cherry picked from commit 72550e12ae469012a505bf5b98a6543a754028d3)
----
- ArmVirtPkg/ArmVirtQemu.dsc | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
-index e0476ede4f..ec0edf6e7b 100644
---- a/ArmVirtPkg/ArmVirtQemu.dsc
-+++ b/ArmVirtPkg/ArmVirtQemu.dsc
-@@ -134,6 +134,7 @@
-   gArmVirtTokenSpaceGuid.PcdTpm2SupportEnabled|$(TPM2_ENABLE)
- 
- [PcdsFixedAtBuild.common]
-+  gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage|"UEFI firmware starting.\r\n"
- !if $(ARCH) == AARCH64
-   gArmTokenSpaceGuid.PcdVFPEnabled|1
- !endif
--- 
-2.27.0
-
diff --git a/SOURCES/0018-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch b/SOURCES/0018-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch
new file mode 100644
index 0000000..6a878d8
--- /dev/null
+++ b/SOURCES/0018-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch
@@ -0,0 +1,83 @@
+From 52f3c8a18f3b38818f0371e3e7207a26dc614006 Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Wed, 24 Jun 2020 11:31:36 +0200
+Subject: OvmfPkg/QemuKernelLoaderFsDxe: suppress error on no "-kernel" in
+ silent aa64 build (RH)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- Remove obsolete commit message tags related to downstream patch
+  management: Message-id, Patchwork-id, O-Subject, Acked-by, From,
+  RH-Acked-by, RH-Author (RHBZ#1846481).
+
+Bugzilla: 1844682
+
+If the "-kernel" QEMU option is not used, then QemuKernelLoaderFsDxe
+should return EFI_NOT_FOUND, so that the DXE Core can unload it. However,
+the associated error message, logged by the DXE Core to the serial
+console, is not desired in the silent edk2-aarch64 build, given that the
+absence of "-kernel" is nothing out of the ordinary. Therefore, return
+success and stay resident. The wasted guest RAM still gets freed after
+ExitBootServices().
+
+(Inspired by RHEL-8.1.0 commit aaaedc1e2cfd.)
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+(cherry picked from commit 9adcdf493ebbd11efb74e2905ab5f6c8996e096d)
+---
+ .../QemuKernelLoaderFsDxe.c                     | 17 +++++++++++++++++
+ .../QemuKernelLoaderFsDxe.inf                   |  1 +
+ 2 files changed, 18 insertions(+)
+
+diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
+index d4f3cd9225..416be93fb7 100644
+--- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
++++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
+@@ -19,6 +19,7 @@
+ #include <Library/BaseMemoryLib.h>
+ #include <Library/BlobVerifierLib.h>
+ #include <Library/DebugLib.h>
++#include <Library/DebugPrintErrorLevelLib.h>
+ #include <Library/DevicePathLib.h>
+ #include <Library/MemoryAllocationLib.h>
+ #include <Library/QemuFwCfgLib.h>
+@@ -1081,6 +1082,22 @@ QemuKernelLoaderFsDxeEntrypoint (
+ 
+   if (KernelBlob->Data == NULL) {
+     Status = EFI_NOT_FOUND;
++#if defined (MDE_CPU_AARCH64)
++    //
++    // RHBZ#1844682
++    //
++    // If the "-kernel" QEMU option is not being used, this platform DXE driver
++    // should return EFI_NOT_FOUND, so that the DXE Core can unload it.
++    // However, the associated error message, logged by the DXE Core to the
++    // serial console, is not desired in the silent edk2-aarch64 build, given
++    // that the absence of "-kernel" is nothing out of the ordinary. Therefore,
++    // return success and stay resident. The wasted guest RAM still gets freed
++    // after ExitBootServices().
++    //
++    if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
++      Status = EFI_SUCCESS;
++    }
++#endif
+     goto FreeBlobs;
+   }
+ 
+diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
+index 7b35adb8e0..e0331c6e2c 100644
+--- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
++++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
+@@ -28,6 +28,7 @@
+   BaseLib
+   BaseMemoryLib
+   DebugLib
++  DebugPrintErrorLevelLib
+   DevicePathLib
+   MemoryAllocationLib
+   QemuFwCfgLib
+-- 
+2.31.1
+
diff --git a/SOURCES/0019-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch b/SOURCES/0019-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch
deleted file mode 100644
index 764e1a6..0000000
--- a/SOURCES/0019-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From 1ac092c4fa4fef5f1dfe02b4179eb18830564854 Mon Sep 17 00:00:00 2001
-From: Paolo Bonzini <pbonzini@redhat.com>
-Date: Tue, 21 Nov 2017 00:57:45 +0100
-Subject: OvmfPkg: enable DEBUG_VERBOSE (RHEL only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
-  introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
-  to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
-
-- Remove obsolete commit message tags related to downstream patch
-  management: Message-id, Patchwork-id, O-Subject, Acked-by, From
-  (RHBZ#1846481).
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- context difference from upstream commit 46bb81200742 ("OvmfPkg: Make
-  SOURCE_DEBUG_ENABLE actually need to be set to TRUE", 2019-10-22)
-  resolved automatically
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- no change
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- no change
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no changes
-
-Bugzilla: 1488247
-
-Set the DEBUG_VERBOSE bit (0x00400000) in the log mask. We want detailed
-debug messages, and code in OvmfPkg logs many messages on the
-DEBUG_VERBOSE level.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-(this patch was previously applied as commit 78d3ed73172b5738e32d2b0bc03f7984b9584117)
-(cherry picked from commit 7aeeaabc9871f657e65d2b99d81011b4964a1ce9)
-(cherry picked from commit a0617a6be1a80966099ddceb010f89202a79ee76)
-(cherry picked from commit 759bd3f591e2db699bdef4c7ea4e97c908e7f027)
-(cherry picked from commit 7e6d5dc4078c64be6d55d8fc3317c59a91507a50)
-(cherry picked from commit 3cb92f9ba18ac79911bd5258ff4f949cc617ae89)
-(cherry picked from commit 5ecc18badaabe774d9d0806b027ab63a30c6a2d7)
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +-
- OvmfPkg/OvmfPkgIa32.dsc      | 2 +-
- OvmfPkg/OvmfPkgIa32X64.dsc   | 2 +-
- OvmfPkg/OvmfPkgX64.dsc       | 2 +-
- 4 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index 6ea3621225..366fa79f62 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -486,7 +486,7 @@
-   # DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
-   #                             // significantly impact boot performance
-   # DEBUG_ERROR     0x80000000  // Error
--  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
- 
- !if $(SOURCE_DEBUG_ENABLE) == TRUE
-   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index 4cacf0ea94..2aacf1a5ff 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -534,7 +534,7 @@
-   # DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
-   #                             // significantly impact boot performance
-   # DEBUG_ERROR     0x80000000  // Error
--  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
- 
- !if $(SOURCE_DEBUG_ENABLE) == TRUE
-   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 6225f8e095..2613c83adb 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -538,7 +538,7 @@
-   # DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
-   #                             // significantly impact boot performance
-   # DEBUG_ERROR     0x80000000  // Error
--  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
- 
- !if $(SOURCE_DEBUG_ENABLE) == TRUE
-   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index b66fc67563..d7d34eeef2 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -540,7 +540,7 @@
-   # DEBUG_VERBOSE   0x00400000  // Detailed debug messages that may
-   #                             // significantly impact boot performance
-   # DEBUG_ERROR     0x80000000  // Error
--  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
- 
- !if $(SOURCE_DEBUG_ENABLE) == TRUE
-   gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
--- 
-2.27.0
-
diff --git a/SOURCES/0019-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch b/SOURCES/0019-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch
new file mode 100644
index 0000000..33289f2
--- /dev/null
+++ b/SOURCES/0019-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch
@@ -0,0 +1,82 @@
+From 83b201c9fa9c8c3bded3b4e8c13de797588fe7bd Mon Sep 17 00:00:00 2001
+From: Laszlo Ersek <lersek@redhat.com>
+Date: Wed, 24 Jun 2020 11:40:09 +0200
+Subject: SecurityPkg/Tcg2Dxe: suppress error on no swtpm in silent aa64 build
+ (RH)
+
+Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
+RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
+
+- Remove obsolete commit message tags related to downstream patch
+  management: Message-id, Patchwork-id, O-Subject, Acked-by, From,
+  RH-Acked-by, RH-Author (RHBZ#1846481).
+
+Bugzilla: 1844682
+
+If swtpm / vTPM2 is not being used, Tcg2Dxe should return EFI_UNSUPPORTED,
+so that the DXE Core can unload it. However, the associated error message,
+logged by the DXE Core to the serial console, is not desired in the silent
+edk2-aarch64 build, given that the absence of swtpm / vTPM2 is nothing out
+of the ordinary. Therefore, return success and stay resident. The wasted
+guest RAM still gets freed after ExitBootServices().
+
+(Inspired by RHEL-8.1.0 commit aaaedc1e2cfd.)
+
+Signed-off-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+(cherry picked from commit cbce29f7749477e271f9764fed82de94724af5df)
+---
+ SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c   | 17 +++++++++++++++++
+ SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf |  1 +
+ 2 files changed, 18 insertions(+)
+
+diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
+index f6ea8b2bbf..681eb7e08b 100644
+--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
++++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
+@@ -28,6 +28,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
+ #include <Protocol/ResetNotification.h>
+ 
+ #include <Library/DebugLib.h>
++#include <Library/DebugPrintErrorLevelLib.h>
+ #include <Library/BaseMemoryLib.h>
+ #include <Library/UefiRuntimeServicesTableLib.h>
+ #include <Library/UefiDriverEntryPoint.h>
+@@ -2691,6 +2692,22 @@ DriverEntry (
+       CompareGuid (PcdGetPtr (PcdTpmInstanceGuid), &gEfiTpmDeviceInstanceTpm12Guid))
+   {
+     DEBUG ((DEBUG_INFO, "No TPM2 instance required!\n"));
++#if defined (MDE_CPU_AARCH64)
++    //
++    // RHBZ#1844682
++    //
++    // If swtpm / vTPM2 is not being used, this driver should return
++    // EFI_UNSUPPORTED, so that the DXE Core can unload it. However, the
++    // associated error message, logged by the DXE Core to the serial console,
++    // is not desired in the silent edk2-aarch64 build, given that the absence
++    // of swtpm / vTPM2 is nothing out of the ordinary. Therefore, return
++    // success and stay resident. The wasted guest RAM still gets freed after
++    // ExitBootServices().
++    //
++    if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
++      return EFI_SUCCESS;
++    }
++#endif
+     return EFI_UNSUPPORTED;
+   }
+ 
+diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
+index 7dc7a2683d..3bc8833931 100644
+--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
++++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
+@@ -55,6 +55,7 @@
+   UefiRuntimeServicesTableLib
+   BaseMemoryLib
+   DebugLib
++  DebugPrintErrorLevelLib
+   Tpm2CommandLib
+   PrintLib
+   UefiLib
+-- 
+2.31.1
+
diff --git a/SOURCES/0020-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch b/SOURCES/0020-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch
deleted file mode 100644
index 3557ef7..0000000
--- a/SOURCES/0020-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch
+++ /dev/null
@@ -1,173 +0,0 @@
-From 7e02a1017ef2f0c798c195c1adcb516c9461d22a Mon Sep 17 00:00:00 2001
-From: Paolo Bonzini <pbonzini@redhat.com>
-Date: Tue, 21 Nov 2017 00:57:46 +0100
-Subject: OvmfPkg: silence DEBUG_VERBOSE (0x00400000) in
- QemuVideoDxe/QemuRamfbDxe (RH)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
-  introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
-  to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
-
-- Remove obsolete commit message tags related to downstream patch
-  management: Message-id, Patchwork-id, O-Subject, Acked-by, From
-  (RHBZ#1846481).
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- no change
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- Due to upstream commit 4b04d9d73604 ("OvmfPkg: Don't build in
-  QemuVideoDxe when we have CSM", 2019-06-26), the contexts of
-  "QemuVideoDxe.inf" / "QemuRamfbDxe.inf" have changed in the DSC files.
-  Resolve the conflict manually.
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- Upstream commit 1d25ff51af5c ("OvmfPkg: add QemuRamfbDxe", 2018-06-14)
-  introduced another GOP driver that consumes FrameBufferBltLib, and
-  thereby produces a large number of (mostly useless) debug messages at
-  the DEBUG_VERBOSE level. Extend the patch to suppress those messages in
-  both QemuVideoDxe and QemuRamfbDxe; update the subject accordingly.
-  QemuRamfbDxe itself doesn't log anything at the VERBOSE level (see also
-  the original commit message at the bottom of this downstream patch).
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no changes
-
-Bugzilla: 1488247
-
-In commit 5b2291f9567a ("OvmfPkg: QemuVideoDxe uses
-MdeModulePkg/FrameBufferLib"), QemuVideoDxe was rebased to
-FrameBufferBltLib.
-
-The FrameBufferBltLib instance added in commit b1ca386074bd
-("MdeModulePkg: Add FrameBufferBltLib library instance") logs many
-messages on the VERBOSE level; for example, a normal boot with OVMF can
-produce 500+ "VideoFill" messages, dependent on the progress bar, when the
-VERBOSE bit is set in PcdDebugPrintErrorLevel.
-
-QemuVideoDxe itself doesn't log anything at the VERBOSE level, so we lose
-none of its messages this way.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-(this patch was previously applied as commit 9b0d031dee7e823f6717bab73e422fbc6f0a6c52)
-(cherry picked from commit 9122d5f2e8d8d289064d1e1700cb61964d9931f3)
-(cherry picked from commit 7eb3be1d4ccafc26c11fe5afb95cc12b250ce6f0)
-(cherry picked from commit bd650684712fb840dbcda5d6eaee065bd9e91fa1)
-(cherry picked from commit b06b87f8ffd4fed4ef7eacb13689a9b6d111f850)
-(cherry picked from commit c8c3f893e7c3710afe45c46839e97954871536e4)
-(cherry picked from commit 1355849ad97c1e4a5c430597a377165a5cc118f7)
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 10 ++++++++--
- OvmfPkg/OvmfPkgIa32.dsc      | 10 ++++++++--
- OvmfPkg/OvmfPkgIa32X64.dsc   | 10 ++++++++--
- OvmfPkg/OvmfPkgX64.dsc       | 10 ++++++++--
- 4 files changed, 32 insertions(+), 8 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index 366fa79f62..a289d8a573 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -750,8 +750,14 @@
-   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
- 
--  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-+  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
-+  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
-   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- 
-   #
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index 2aacf1a5ff..1a5cfa4c6d 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -846,9 +846,15 @@
-   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
- 
- !ifndef $(CSM_ENABLE)
--  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
-+  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
- !endif
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-+  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
-   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- 
-   #
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 2613c83adb..11002ffd95 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -860,9 +860,15 @@
-   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
- 
- !ifndef $(CSM_ENABLE)
--  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
-+  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
- !endif
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-+  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
-   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- 
-   #
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index d7d34eeef2..f176aa4061 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -858,9 +858,15 @@
-   MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
- 
- !ifndef $(CSM_ENABLE)
--  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
-+  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
- !endif
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-+  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
-   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- 
-   #
--- 
-2.27.0
-
diff --git a/SOURCES/0021-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch b/SOURCES/0021-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch
deleted file mode 100644
index 1e8f626..0000000
--- a/SOURCES/0021-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From e90b3928d862a2dadda7d5c7c8f680f05854bc6f Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Wed, 27 Jan 2016 03:05:18 +0100
-Subject: ArmVirtPkg: silence DEBUG_VERBOSE (0x00400000) in QemuRamfbDxe (RH
- only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- no change
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- The previous version of this patch (downstream commit 76b4ac28e975)
-  caused a regression (RHBZ#1714446), which was fixed up in downstream
-  commit 5a216abaa737 ("ArmVirtPkg: silence DEBUG_VERBOSE masking
-  ~0x00400000 in QemuRamfbDxe (RH only)", 2019-08-05).
-
-  Squash the fixup into the original patch. Fuse the commit messages.
-  (Acked-by tags are not preserved, lest we confuse ourselves while
-  reviewing this rebase.)
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- new patch, due to upstream commit c64688f36a8b ("ArmVirtPkg: add
-  QemuRamfbDxe", 2018-06-14)
-
-QemuRamfbDxe uses FrameBufferLib. The FrameBufferBltLib instance added in
-commit b1ca386074bd ("MdeModulePkg: Add FrameBufferBltLib library
-instance") logs many messages on the VERBOSE level; for example, a normal
-boot with ArmVirtQemu[Kernel] can produce 500+ "VideoFill" messages,
-dependent on the progress bar, when the VERBOSE bit is set in
-PcdDebugPrintErrorLevel.
-
-Clear the VERBOSE bit without touching other bits -- those other bits
-differ between the "silent" and "verbose" builds, so we can't set them as
-constants.
-
-QemuRamfbDxe itself doesn't log anything at the VERBOSE level, so we lose
-none of its messages, with the VERBOSE bit clear.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit 76b4ac28e975bd63c25db903a1d42c47b38cc756)
-Reported-by: Andrew Jones <drjones@redhat.com>
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com>
-(cherry picked from commit 5a216abaa737195327235e37563b18a6bf2a74dc)
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit e5b8152bced2364a1ded0926dbba4d65e23e3f84)
-(cherry picked from commit e7f57f154439c1c18ea5030b01f8d7bc492698b2)
----
- ArmVirtPkg/ArmVirtQemu.dsc       | 5 ++++-
- ArmVirtPkg/ArmVirtQemuKernel.dsc | 5 ++++-
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
-index ec0edf6e7b..e6fad9f066 100644
---- a/ArmVirtPkg/ArmVirtQemu.dsc
-+++ b/ArmVirtPkg/ArmVirtQemu.dsc
-@@ -509,7 +509,10 @@
-   #
-   # Video support
-   #
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-+  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF
-+  }
-   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
-   OvmfPkg/PlatformDxe/Platform.inf
- 
-diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-index a8bb83b288..656c9d99a3 100644
---- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
-+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-@@ -438,7 +438,10 @@
-   #
-   # Video support
-   #
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-+  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF
-+  }
-   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
-   OvmfPkg/PlatformDxe/Platform.inf
- 
--- 
-2.27.0
-
diff --git a/SOURCES/0021-OvmfPkg-Remove-EbcDxe-RHEL-only.patch b/SOURCES/0021-OvmfPkg-Remove-EbcDxe-RHEL-only.patch
new file mode 100644
index 0000000..a37e68f
--- /dev/null
+++ b/SOURCES/0021-OvmfPkg-Remove-EbcDxe-RHEL-only.patch
@@ -0,0 +1,129 @@
+From 68367bc0cc395bd3d2c45b9d74c65638de39d2d3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:28:49 +0200
+Subject: OvmfPkg: Remove EbcDxe (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [2/19] 6777c3dc453e4aecddc20216f783ba2a5acccaa0
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove EFI Byte Code interpreter.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
+ OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
+ OvmfPkg/OvmfPkgIa32.dsc      | 1 -
+ OvmfPkg/OvmfPkgIa32.fdf      | 1 -
+ OvmfPkg/OvmfPkgIa32X64.dsc   | 1 -
+ OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
+ OvmfPkg/OvmfPkgX64.dsc       | 1 -
+ OvmfPkg/OvmfPkgX64.fdf       | 1 -
+ 8 files changed, 8 deletions(-)
+
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
+index 7df6e5c825..02c3cf9242 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
++++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
+@@ -648,7 +648,6 @@
+ !include OvmfPkg/OvmfTpmSecurityStub.dsc.inc
+   }
+ 
+-  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
+   UefiCpuPkg/CpuDxe/CpuDxe.inf
+   OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
+index 844ba8a116..e49125e0e8 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.fdf
++++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
+@@ -205,7 +205,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
+ 
+ INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+ INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+-INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+ INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
+ INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
+ INF  OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index ed6a820d2e..d9d9d89d45 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -734,7 +734,6 @@
+ !include OvmfPkg/OvmfTpmSecurityStub.dsc.inc
+   }
+ 
+-  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
+   UefiCpuPkg/CpuDxe/CpuDxe.inf
+ !ifdef $(CSM_ENABLE)
+diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
+index 69044874e2..209a82f922 100644
+--- a/OvmfPkg/OvmfPkgIa32.fdf
++++ b/OvmfPkg/OvmfPkgIa32.fdf
+@@ -216,7 +216,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
+ 
+ INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+ INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+-INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+ INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
+ INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
+ !ifdef $(CSM_ENABLE)
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index b5be86cff3..088461cb3c 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -748,7 +748,6 @@
+ !include OvmfPkg/OvmfTpmSecurityStub.dsc.inc
+   }
+ 
+-  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
+   UefiCpuPkg/CpuDxe/CpuDxe.inf
+ !ifdef $(CSM_ENABLE)
+diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
+index bf535bef42..70eb60b370 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.fdf
++++ b/OvmfPkg/OvmfPkgIa32X64.fdf
+@@ -217,7 +217,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
+ 
+ INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+ INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+-INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+ INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
+ INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
+ !ifdef $(CSM_ENABLE)
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index 29b45e68e3..73455fe8fe 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -790,7 +790,6 @@
+ !endif
+   }
+ 
+-  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
+ 
+   UefiCpuPkg/CpuDxe/CpuDxe.inf {
+diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
+index 21e4ce00dd..f0bb39f398 100644
+--- a/OvmfPkg/OvmfPkgX64.fdf
++++ b/OvmfPkg/OvmfPkgX64.fdf
+@@ -239,7 +239,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
+ 
+ INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
+ INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
+-INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+ INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
+ 
+ INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
+-- 
+2.31.1
+
diff --git a/SOURCES/0022-ArmVirtPkg-Remove-EbcDxe-RHEL-only.patch b/SOURCES/0022-ArmVirtPkg-Remove-EbcDxe-RHEL-only.patch
new file mode 100644
index 0000000..acf3c0c
--- /dev/null
+++ b/SOURCES/0022-ArmVirtPkg-Remove-EbcDxe-RHEL-only.patch
@@ -0,0 +1,56 @@
+From eb88cf0cc2cf381e2258c69908c6409a0967cf13 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:28:54 +0200
+Subject: ArmVirtPkg: Remove EbcDxe (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [3/19] 5ca7af1a505c16cc568a444398254aca06ca65aa
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove EFI Byte Code interpreter.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ ArmVirtPkg/ArmVirt.dsc.inc           | 5 -----
+ ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 5 -----
+ 2 files changed, 10 deletions(-)
+
+diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
+index f15a3f7f06..8ec1119484 100644
+--- a/ArmVirtPkg/ArmVirt.dsc.inc
++++ b/ArmVirtPkg/ArmVirt.dsc.inc
+@@ -420,8 +420,3 @@
+     <LibraryClasses>
+       NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
+   }
+-
+-  #
+-  # EBC support
+-  #
+-  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+index d4df6dede0..7872861330 100644
+--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
++++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+@@ -146,11 +146,6 @@ READ_LOCK_STATUS   = TRUE
+   INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
+   INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+   INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
+-
+-  #
+-  # EBC support
+-  #
+-  INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
+ !endif
+ 
+   #
+-- 
+2.31.1
+
diff --git a/SOURCES/0022-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch b/SOURCES/0022-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch
deleted file mode 100644
index a9b6cf4..0000000
--- a/SOURCES/0022-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch
+++ /dev/null
@@ -1,95 +0,0 @@
-From 619fb46a6790720fa1bd9a1a758471b9d5c018ef Mon Sep 17 00:00:00 2001
-From: Philippe Mathieu-Daude <philmd@redhat.com>
-Date: Thu, 1 Aug 2019 20:43:48 +0200
-Subject: OvmfPkg: QemuRamfbDxe: Do not report DXE failure on Aarch64 silent
- builds (RH only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- no change
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- no change
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- We have to carry this downstream-only patch -- committed originally as
-  aaaedc1e2cfd -- indefinitely.
-
-- To avoid confusion, remove the tags from the commit message that had
-  been added by the downstream maintainer scripts, such as: Message-id,
-  Patchwork-id, O-Subject, Acked-by. These remain available on the
-  original downstream commit. The Bugzilla line is preserved, as it
-  doesn't relate to a specific posting, but to the problem.
-
-Bugzilla: 1714446
-
-To suppress an error message on the silent build when ramfb is
-not configured, change QemuRamfbDxe to return EFI_SUCCESS even
-when it fails.
-Some memory is wasted (driver stays resident without
-any good use), but it is mostly harmless, as the memory
-is released by the OS after ExitBootServices().
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com>
-(cherry picked from commit aaaedc1e2cfd55ef003fb1b5a37c73a196b26dc7)
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit aa2b66b18a62d652bdbefae7b5732297294306ca)
-(cherry picked from commit deb3451034326b75fd760aba47a5171493ff055e)
----
- OvmfPkg/QemuRamfbDxe/QemuRamfb.c      | 14 ++++++++++++++
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf |  1 +
- 2 files changed, 15 insertions(+)
-
-diff --git a/OvmfPkg/QemuRamfbDxe/QemuRamfb.c b/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
-index 0d49d8bbab..dbf9bcbe16 100644
---- a/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
-+++ b/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
-@@ -13,6 +13,7 @@
- #include <Library/BaseLib.h>
- #include <Library/BaseMemoryLib.h>
- #include <Library/DebugLib.h>
-+#include <Library/DebugPrintErrorLevelLib.h>
- #include <Library/DevicePathLib.h>
- #include <Library/FrameBufferBltLib.h>
- #include <Library/MemoryAllocationLib.h>
-@@ -242,6 +243,19 @@ InitializeQemuRamfb (
- 
-   Status = QemuFwCfgFindFile ("etc/ramfb", &mRamfbFwCfgItem, &FwCfgSize);
-   if (EFI_ERROR (Status)) {
-+#if defined (MDE_CPU_AARCH64)
-+    //
-+    // RHBZ#1714446
-+    // If no ramfb device was configured, this platform DXE driver should
-+    // returns EFI_NOT_FOUND, so the DXE Core can unload it. However, even
-+    // using a silent build, an error message is issued to the guest console.
-+    // Since this confuse users, return success and stay resident. The wasted
-+    // guest RAM still gets freed later after ExitBootServices().
-+    //
-+    if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
-+      return EFI_SUCCESS;
-+    }
-+#endif
-     return EFI_NOT_FOUND;
-   }
-   if (FwCfgSize != sizeof (RAMFB_CONFIG)) {
-diff --git a/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf b/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-index e3890b8c20..6ffee5acb2 100644
---- a/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-+++ b/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-@@ -29,6 +29,7 @@
-   BaseLib
-   BaseMemoryLib
-   DebugLib
-+  DebugPrintErrorLevelLib
-   DevicePathLib
-   FrameBufferBltLib
-   MemoryAllocationLib
--- 
-2.27.0
-
diff --git a/SOURCES/0023-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch b/SOURCES/0023-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch
new file mode 100644
index 0000000..bf083a5
--- /dev/null
+++ b/SOURCES/0023-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch
@@ -0,0 +1,129 @@
+From c7cf2e16a397fdcae2c4d11a706a5a15c79cc569 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:28:59 +0200
+Subject: OvmfPkg: Remove VirtioGpu device driver (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [4/19] f0a41317291f2e9e3b5bd3125149c3866f23ab08
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+QemuVideoDxe binds virtio-vga, so VirtioGpu is not needed.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
+ OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
+ OvmfPkg/OvmfPkgIa32.dsc      | 1 -
+ OvmfPkg/OvmfPkgIa32.fdf      | 1 -
+ OvmfPkg/OvmfPkgIa32X64.dsc   | 1 -
+ OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
+ OvmfPkg/OvmfPkgX64.dsc       | 1 -
+ OvmfPkg/OvmfPkgX64.fdf       | 1 -
+ 8 files changed, 8 deletions(-)
+
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
+index 02c3cf9242..df78cab21b 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
++++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
+@@ -736,7 +736,6 @@
+     <PcdsFixedAtBuild>
+       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
+   }
+-  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ 
+   #
+   # ISA Support
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
+index e49125e0e8..d653ed3419 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.fdf
++++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
+@@ -298,7 +298,6 @@ INF  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
+ INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
+ 
+ INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
+-INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ INF  OvmfPkg/PlatformDxe/Platform.inf
+ INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
+ INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index d9d9d89d45..1a3dc33fbb 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -841,7 +841,6 @@
+     <PcdsFixedAtBuild>
+       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
+   }
+-  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ 
+   #
+   # ISA Support
+diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
+index 209a82f922..1e7868ebab 100644
+--- a/OvmfPkg/OvmfPkgIa32.fdf
++++ b/OvmfPkg/OvmfPkgIa32.fdf
+@@ -333,7 +333,6 @@ INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
+ !endif
+ 
+ INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
+-INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ INF  OvmfPkg/PlatformDxe/Platform.inf
+ INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
+ 
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index 088461cb3c..13dab4fcec 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -855,7 +855,6 @@
+     <PcdsFixedAtBuild>
+       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
+   }
+-  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ 
+   #
+   # ISA Support
+diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
+index 70eb60b370..a2f78fb182 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.fdf
++++ b/OvmfPkg/OvmfPkgIa32X64.fdf
+@@ -339,7 +339,6 @@ INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
+ !endif
+ 
+ INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
+-INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ INF  OvmfPkg/PlatformDxe/Platform.inf
+ INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
+ INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index 73455fe8fe..a51a765778 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -920,7 +920,6 @@
+     <PcdsFixedAtBuild>
+       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
+   }
+-  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ 
+   #
+   # ISA Support
+diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
+index f0bb39f398..1495565c05 100644
+--- a/OvmfPkg/OvmfPkgX64.fdf
++++ b/OvmfPkg/OvmfPkgX64.fdf
+@@ -366,7 +366,6 @@ INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
+ !endif
+ 
+ INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
+-INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
+ INF  OvmfPkg/PlatformDxe/Platform.inf
+ INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
+ INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
+-- 
+2.31.1
+
diff --git a/SOURCES/0023-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch b/SOURCES/0023-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
deleted file mode 100644
index ecebb4e..0000000
--- a/SOURCES/0023-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
+++ /dev/null
@@ -1,131 +0,0 @@
-From 009210d2d36584215d31bdbeb7071cf8ff4f1fa5 Mon Sep 17 00:00:00 2001
-From: Paolo Bonzini <pbonzini@redhat.com>
-Date: Tue, 21 Nov 2017 00:57:47 +0100
-Subject: OvmfPkg: silence EFI_D_VERBOSE (0x00400000) in NvmExpressDxe (RH
- only)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
-  introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
-  to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
-
-- Remove obsolete commit message tags related to downstream patch
-  management: Message-id, Patchwork-id, O-Subject, Acked-by, From
-  (RHBZ#1846481).
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- no change
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- no change
-
-Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
-RHEL-8.1/20190308-89910a39dcfd rebase:
-
-- no change
-
-Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
-RHEL-8.0/20180508-ee3198e672e2 rebase:
-
-- reorder the rebase changelog in the commit message so that it reads like
-  a blog: place more recent entries near the top
-- no changes to the patch body
-
-Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
-
-- no changes
-
-Bugzilla: 1488247
-
-NvmExpressDxe logs all BlockIo read & write calls on the EFI_D_VERBOSE
-level.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-(this patch was previously applied as commit 5f432837b9c60c2929b13dda1a1b488d5c3a6d2f)
-(cherry picked from commit 33e00146eb878588ad1395d7b1ae38f401729da4)
-(cherry picked from commit bd10cabcfcb1bc9a32b05062f4ee3792e27bc2d8)
-(cherry picked from commit 5a27af700f49e00608f232f618dedd7bf5e9b3e6)
-(cherry picked from commit 58bba429b9ec7b78109940ef945d0dc93f3cd958)
-(cherry picked from commit b8d0ebded8c2cf5b266c807519e2d8ccfd66fee6)
-(cherry picked from commit ed89844b47f46cfe911f1bf2bda40e537a908502)
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 5 ++++-
- OvmfPkg/OvmfPkgIa32.dsc      | 5 ++++-
- OvmfPkg/OvmfPkgIa32X64.dsc   | 5 ++++-
- OvmfPkg/OvmfPkgX64.dsc       | 5 ++++-
- 4 files changed, 16 insertions(+), 4 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index a289d8a573..ccdf9b8ce0 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -744,7 +744,10 @@
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
-   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
-+  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
-   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
-   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index 1a5cfa4c6d..a0666930d6 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -839,7 +839,10 @@
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
-   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
-+  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
-   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
-   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 11002ffd95..5efeb42bf3 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -853,7 +853,10 @@
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
-   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
-+  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
-   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
-   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index f176aa4061..10fb7d7069 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -851,7 +851,10 @@
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
-   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
-+  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
-+    <PcdsFixedAtBuild>
-+      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-+  }
-   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
-   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
--- 
-2.27.0
-
diff --git a/SOURCES/0024-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch b/SOURCES/0024-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch
deleted file mode 100644
index 15024d8..0000000
--- a/SOURCES/0024-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch
+++ /dev/null
@@ -1,179 +0,0 @@
-From 7e6632fecb119feaf6c34c794e72a8424792fd3f Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Sat, 16 Nov 2019 17:11:27 +0100
-Subject: CryptoPkg/OpensslLib: list RHEL8-specific OpenSSL files in the INFs
- (RH)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1938257
-
-- Recreate the patch based on downstream commits:
-
-  - 56c4bb81b311 ("CryptoPkg/OpensslLib: list RHEL8-specific OpenSSL files
-                  in the INFs (RH)", 2020-06-05),
-  - e81751a1c303 ("CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1g",
-                  2020-11-23),
-  - 3e3fe5e62079 ("redhat: bump OpenSSL dist-git submodule to 1.1.1g+ /
-                  RHEL-8.4", 2020-11-23).
-
-  (1) At e81751a1c303, downstream edk2 was in sync with upstream edk2
-      consuming OpenSSL 1.1.1g (upstream edk2 commit 8c30327debb2
-      ("CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1g", 2020-07-25)).
-
-      Since commit 8c30327debb2, upstream edk2 modified the OpensslLib INF
-      files, namely
-
-      - CryptoPkg/Library/OpensslLib/OpensslLib.inf
-      - CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
-
-      in the following commits only:
-
-      - be01087e0780 ("CryptoPkg/Library: Remove the redundant build
-        option", 2020-08-12), which did not affect the source file list at
-        all,
-
-      - b5701a4c7a0f ("CryptoPkg: OpensslLib: Use RngLib to generate
-        entropy in rand_pool", 2020-09-18), which replaced some of the
-        *edk2-specific* "rand_pool_noise" source files with an RngLib
-        dependency.
-
-      This means that the list of required, actual OpenSSL source files
-      has not changed in upstream edk2 since our downstream edk2 commit
-      e81751a1c303.
-
-  (2) At commit 3e3fe5e62079 (the direct child of e81751a1c303),
-      downstream edk2's OpenSSL dependency was satisfied with RHEL-8
-      OpenSSL at dist-git commit bdd048e929dc ("Two fixes that will be
-      shipped in RHEL-8.3.0.z", 2020-10-23).
-
-      Since commit bdd048e929dc, RHEL-8 OpenSSL dist-git advanced
-      (fast-forwarded) to commit a75722161d20 ("Update to version 1.1.1k",
-      2021-05-25), which is the current head of the rhel-8.5.0 branch.
-      (See also <https://bugzilla.redhat.com/show_bug.cgi?id=1938257#c6>.)
-
-      At both dist-git bdd048e929dc and dist-git a75722161d20, I built the
-      respective RHEL-8 OpenSSL *source* RPM, and prepped the respective
-      source tree, with "rpmbuild -bp". Subsequently I compared the
-      prepped source trees recursively.
-
-      - The following files disappeared:
-
-        - 29 backup files created by "patch",
-
-        - the assembly generator perl script called
-          "ecp_nistz256-avx2.pl", which is not used during the build.
-
-      - The following new files appeared:
-
-        - 18 files directly or indirectly under the "test" subdirectory,
-          which are not used during the build,
-
-        - 5 backup files created by "patch",
-
-        - 2 DCL scripts used when building OpenSSL on OpenVMS.
-
-      This means that the total list of RHEL-8 OpenSSL source files has
-      not changed in RHEL-8 OpenSSL dist-git since our downstream edk2
-      commit 3e3fe5e62079.
-
-  As a result, copy the "RHEL8-specific OpenSSL file list" sections
-  verbatim from the INF files, at downstream commit e81751a1c303. (I used
-  the "git checkout -p e81751a1c303 -- Library/OpensslLib/OpensslLib.inf
-  CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf" command.)
-
-Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
-RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
-
-- "OpensslLib.inf":
-
-  - Automatic leading context refresh against upstream commit c72ca4666886
-    ("CryptoPkg/OpensslLib: Add "sort" keyword to header file parsing
-    loop", 2020-03-10).
-
-  - Manual trailing context refresh against upstream commit b49a6c8f80d9
-    ("CryptoPkg/OpensslLib: improve INF file consistency", 2019-12-02).
-
-- "OpensslLibCrypto.inf":
-
-  - Automatic leading context refresh against upstream commits
-    8906f076de35 ("CryptoPkg/OpensslLib: Add missing header files in INF
-    file", 2019-08-16) and 9f4fbd56d430 ("CryptoPkg/OpensslLib: Update
-    process_files.pl to generate .h files", 2019-10-30).
-
-Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
-RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
-
-- new patch
-
-The downstream changes in RHEL8's OpenSSL package, for example in
-"openssl-1.1.1-evp-kdf.patch", introduce new files, and even move some
-preexistent code into those new files. In order to avoid undefined
-references in link editing, we have to list the new files.
-
-Note: "process_files.pl" is not re-run at this time manually, because
-
-(a) "process_files.pl" would pollute the file list (and some of the
-    auto-generated header files) with RHEL8-specific FIPS artifacts, which
-    are explicitly unwanted in edk2,
-
-(b) The RHEL OpenSSL maintainer, Tomas Mraz, identified this specific set
-    of files in <https://bugzilla.redhat.com/show_bug.cgi?id=1749693#c10>,
-    and will help with future changes too.
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-(cherry picked from commit 57bd3f146590df8757865d8f2cdd1db3cf3f4d40)
-(cherry picked from commit 56c4bb81b311dfcee6a34c81d3e4feeda7f88995)
----
- CryptoPkg/Library/OpensslLib/OpensslLib.inf       | 11 +++++++++++
- CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 11 +++++++++++
- 2 files changed, 22 insertions(+)
-
-diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
-index d84bde056a..19913a4ac6 100644
---- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
-+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
-@@ -570,6 +570,17 @@
-   $(OPENSSL_PATH)/ssl/statem/statem.h
-   $(OPENSSL_PATH)/ssl/statem/statem_local.h
- # Autogenerated files list ends here
-+# RHEL8-specific OpenSSL file list starts here
-+  $(OPENSSL_PATH)/crypto/evp/kdf_lib.c
-+  $(OPENSSL_PATH)/crypto/evp/pkey_kdf.c
-+  $(OPENSSL_PATH)/crypto/kdf/kbkdf.c
-+  $(OPENSSL_PATH)/crypto/kdf/kdf_local.h
-+  $(OPENSSL_PATH)/crypto/kdf/kdf_util.c
-+  $(OPENSSL_PATH)/crypto/kdf/krb5kdf.c
-+  $(OPENSSL_PATH)/crypto/kdf/pbkdf2.c
-+  $(OPENSSL_PATH)/crypto/kdf/sshkdf.c
-+  $(OPENSSL_PATH)/crypto/kdf/sskdf.c
-+# RHEL8-specific OpenSSL file list ends here
-   buildinf.h
-   ossl_store.c
-   rand_pool.c
-diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
-index cdeed0d073..5057857e8d 100644
---- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
-+++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
-@@ -519,6 +519,17 @@
-   $(OPENSSL_PATH)/crypto/x509v3/standard_exts.h
-   $(OPENSSL_PATH)/crypto/x509v3/v3_admis.h
- # Autogenerated files list ends here
-+# RHEL8-specific OpenSSL file list starts here
-+  $(OPENSSL_PATH)/crypto/evp/kdf_lib.c
-+  $(OPENSSL_PATH)/crypto/evp/pkey_kdf.c
-+  $(OPENSSL_PATH)/crypto/kdf/kbkdf.c
-+  $(OPENSSL_PATH)/crypto/kdf/kdf_local.h
-+  $(OPENSSL_PATH)/crypto/kdf/kdf_util.c
-+  $(OPENSSL_PATH)/crypto/kdf/krb5kdf.c
-+  $(OPENSSL_PATH)/crypto/kdf/pbkdf2.c
-+  $(OPENSSL_PATH)/crypto/kdf/sshkdf.c
-+  $(OPENSSL_PATH)/crypto/kdf/sskdf.c
-+# RHEL8-specific OpenSSL file list ends here
-   buildinf.h
-   ossl_store.c
-   rand_pool.c
--- 
-2.27.0
-
diff --git a/SOURCES/0024-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch b/SOURCES/0024-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch
new file mode 100644
index 0000000..52d61ae
--- /dev/null
+++ b/SOURCES/0024-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch
@@ -0,0 +1,103 @@
+From 8ee6f680c5c8428ae098898654917b2c88e79f73 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:13 +0200
+Subject: OvmfPkg: Remove VirtioFsDxe filesystem driver (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [9/19] b40d8a6b9c38568a74fb922b12bbae9f0e721f95
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the virtio-fs driver.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ OvmfPkg/OvmfPkgIa32.dsc    | 1 -
+ OvmfPkg/OvmfPkgIa32.fdf    | 1 -
+ OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
+ OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
+ OvmfPkg/OvmfPkgX64.dsc     | 1 -
+ OvmfPkg/OvmfPkgX64.fdf     | 1 -
+ 6 files changed, 6 deletions(-)
+
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index 1a3dc33fbb..c2bbc70d25 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -816,7 +816,6 @@
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+-  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
+index 1e7868ebab..45b624d450 100644
+--- a/OvmfPkg/OvmfPkgIa32.fdf
++++ b/OvmfPkg/OvmfPkgIa32.fdf
+@@ -295,7 +295,6 @@ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
+ 
+ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+-INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index 13dab4fcec..4fd7715442 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -830,7 +830,6 @@
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+-  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
+index a2f78fb182..449e40dfdd 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.fdf
++++ b/OvmfPkg/OvmfPkgIa32X64.fdf
+@@ -296,7 +296,6 @@ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
+ 
+ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+-INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index a51a765778..002399e1ad 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -895,7 +895,6 @@
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+-  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
+index 1495565c05..78e7328841 100644
+--- a/OvmfPkg/OvmfPkgX64.fdf
++++ b/OvmfPkg/OvmfPkgX64.fdf
+@@ -321,7 +321,6 @@ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
+ 
+ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+-INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-- 
+2.31.1
+
diff --git a/SOURCES/0025-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch b/SOURCES/0025-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch
new file mode 100644
index 0000000..d725811
--- /dev/null
+++ b/SOURCES/0025-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch
@@ -0,0 +1,64 @@
+From 75f939f74828f870ad92ceef9710a9fb8e5002d0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:16 +0200
+Subject: ArmVirtPkg: Remove VirtioFsDxe filesystem driver (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [10/19] 808ad4385c24fbf34fb0ba359808e6d364e1d030
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the virtio-fs driver.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ ArmVirtPkg/ArmVirtQemu.dsc           | 1 -
+ ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
+ ArmVirtPkg/ArmVirtQemuKernel.dsc     | 1 -
+ 3 files changed, 3 deletions(-)
+
+diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
+index f30c1e622c..3db71198c5 100644
+--- a/ArmVirtPkg/ArmVirtQemu.dsc
++++ b/ArmVirtPkg/ArmVirtQemu.dsc
+@@ -429,7 +429,6 @@
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+-  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+ 
+   #
+   # Bds
+diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+index 7872861330..ddd014ac34 100644
+--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
++++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+@@ -84,7 +84,6 @@ READ_LOCK_STATUS   = TRUE
+   INF FatPkg/EnhancedFatDxe/Fat.inf
+   INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+-  INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+ 
+   #
+   # Status Code Routing
+diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
+index 14f7b29991..65cc8a9aac 100644
+--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
++++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
+@@ -358,7 +358,6 @@
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+-  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
+ 
+   #
+   # Bds
+-- 
+2.31.1
+
diff --git a/SOURCES/0025-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch b/SOURCES/0025-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch
deleted file mode 100644
index 0cbb9cf..0000000
--- a/SOURCES/0025-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 9e7da28d166fb4b5b434b444c655d522c9f32b1a Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Wed, 24 Jun 2020 11:31:36 +0200
-Subject: OvmfPkg/QemuKernelLoaderFsDxe: suppress error on no "-kernel" in
- silent aa64 build (RH)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- Remove obsolete commit message tags related to downstream patch
-  management: Message-id, Patchwork-id, O-Subject, Acked-by, From,
-  RH-Acked-by, RH-Author (RHBZ#1846481).
-
-Bugzilla: 1844682
-
-If the "-kernel" QEMU option is not used, then QemuKernelLoaderFsDxe
-should return EFI_NOT_FOUND, so that the DXE Core can unload it. However,
-the associated error message, logged by the DXE Core to the serial
-console, is not desired in the silent edk2-aarch64 build, given that the
-absence of "-kernel" is nothing out of the ordinary. Therefore, return
-success and stay resident. The wasted guest RAM still gets freed after
-ExitBootServices().
-
-(Inspired by RHEL-8.1.0 commit aaaedc1e2cfd.)
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
-(cherry picked from commit 9adcdf493ebbd11efb74e2905ab5f6c8996e096d)
----
- .../QemuKernelLoaderFsDxe.c                     | 17 +++++++++++++++++
- .../QemuKernelLoaderFsDxe.inf                   |  1 +
- 2 files changed, 18 insertions(+)
-
-diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
-index 6832d563bc..08ed67f5ff 100644
---- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
-+++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
-@@ -19,6 +19,7 @@
- #include <Library/BaseMemoryLib.h>
- #include <Library/BlobVerifierLib.h>
- #include <Library/DebugLib.h>
-+#include <Library/DebugPrintErrorLevelLib.h>
- #include <Library/DevicePathLib.h>
- #include <Library/MemoryAllocationLib.h>
- #include <Library/QemuFwCfgLib.h>
-@@ -1054,6 +1055,22 @@ QemuKernelLoaderFsDxeEntrypoint (
- 
-   if (KernelBlob->Data == NULL) {
-     Status = EFI_NOT_FOUND;
-+#if defined (MDE_CPU_AARCH64)
-+    //
-+    // RHBZ#1844682
-+    //
-+    // If the "-kernel" QEMU option is not being used, this platform DXE driver
-+    // should return EFI_NOT_FOUND, so that the DXE Core can unload it.
-+    // However, the associated error message, logged by the DXE Core to the
-+    // serial console, is not desired in the silent edk2-aarch64 build, given
-+    // that the absence of "-kernel" is nothing out of the ordinary. Therefore,
-+    // return success and stay resident. The wasted guest RAM still gets freed
-+    // after ExitBootServices().
-+    //
-+    if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
-+      Status = EFI_SUCCESS;
-+    }
-+#endif
-     goto FreeBlobs;
-   }
- 
-diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
-index 7b35adb8e0..e0331c6e2c 100644
---- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
-+++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
-@@ -28,6 +28,7 @@
-   BaseLib
-   BaseMemoryLib
-   DebugLib
-+  DebugPrintErrorLevelLib
-   DevicePathLib
-   MemoryAllocationLib
-   QemuFwCfgLib
--- 
-2.27.0
-
diff --git a/SOURCES/0026-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch b/SOURCES/0026-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
new file mode 100644
index 0000000..ab9814f
--- /dev/null
+++ b/SOURCES/0026-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
@@ -0,0 +1,129 @@
+From 8629f2920b4fc035f1c5d7caed561c2f921d88cf Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:19 +0200
+Subject: OvmfPkg: Remove UdfDxe filesystem driver (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [11/19] 21614de37221fca27d4eec0f03c5c8bce5911af3
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the UDF driver.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
+ OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
+ OvmfPkg/OvmfPkgIa32.dsc      | 1 -
+ OvmfPkg/OvmfPkgIa32.fdf      | 1 -
+ OvmfPkg/OvmfPkgIa32X64.dsc   | 1 -
+ OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
+ OvmfPkg/OvmfPkgX64.dsc       | 1 -
+ OvmfPkg/OvmfPkgX64.fdf       | 1 -
+ 8 files changed, 8 deletions(-)
+
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
+index df78cab21b..0c93556798 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
++++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
+@@ -713,7 +713,6 @@
+   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+-  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
+index d653ed3419..998e517dfb 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.fdf
++++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
+@@ -272,7 +272,6 @@ INF  OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf
+ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+ 
+ INF  FatPkg/EnhancedFatDxe/Fat.inf
+-INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index c2bbc70d25..b09350104e 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -815,7 +815,6 @@
+   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+-  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
+index 45b624d450..b56c749e39 100644
+--- a/OvmfPkg/OvmfPkgIa32.fdf
++++ b/OvmfPkg/OvmfPkgIa32.fdf
+@@ -294,7 +294,6 @@ INF  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
+ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+ 
+ INF  FatPkg/EnhancedFatDxe/Fat.inf
+-INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index 4fd7715442..5b9c221ce7 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -829,7 +829,6 @@
+   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+-  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
+index 449e40dfdd..1b0685bca5 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.fdf
++++ b/OvmfPkg/OvmfPkgIa32X64.fdf
+@@ -295,7 +295,6 @@ INF  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
+ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+ 
+ INF  FatPkg/EnhancedFatDxe/Fat.inf
+-INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index 002399e1ad..11a041afb2 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -894,7 +894,6 @@
+   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+-  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
+   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
+   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
+diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
+index 78e7328841..5dc09a14fd 100644
+--- a/OvmfPkg/OvmfPkgX64.fdf
++++ b/OvmfPkg/OvmfPkgX64.fdf
+@@ -320,7 +320,6 @@ INF  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
+ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
+ 
+ INF  FatPkg/EnhancedFatDxe/Fat.inf
+-INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-- 
+2.31.1
+
diff --git a/SOURCES/0026-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch b/SOURCES/0026-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch
deleted file mode 100644
index 826dab6..0000000
--- a/SOURCES/0026-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From 2b01209a816fce5004012a033c1e9f679f8768db Mon Sep 17 00:00:00 2001
-From: Laszlo Ersek <lersek@redhat.com>
-Date: Wed, 24 Jun 2020 11:40:09 +0200
-Subject: SecurityPkg/Tcg2Dxe: suppress error on no swtpm in silent aa64 build
- (RH)
-
-Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
-RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
-
-- Remove obsolete commit message tags related to downstream patch
-  management: Message-id, Patchwork-id, O-Subject, Acked-by, From,
-  RH-Acked-by, RH-Author (RHBZ#1846481).
-
-Bugzilla: 1844682
-
-If swtpm / vTPM2 is not being used, Tcg2Dxe should return EFI_UNSUPPORTED,
-so that the DXE Core can unload it. However, the associated error message,
-logged by the DXE Core to the serial console, is not desired in the silent
-edk2-aarch64 build, given that the absence of swtpm / vTPM2 is nothing out
-of the ordinary. Therefore, return success and stay resident. The wasted
-guest RAM still gets freed after ExitBootServices().
-
-(Inspired by RHEL-8.1.0 commit aaaedc1e2cfd.)
-
-Signed-off-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
-(cherry picked from commit cbce29f7749477e271f9764fed82de94724af5df)
----
- SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c   | 17 +++++++++++++++++
- SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf |  1 +
- 2 files changed, 18 insertions(+)
-
-diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
-index 6d17616c1c..f1a97d4b2d 100644
---- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
-+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
-@@ -28,6 +28,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
- #include <Protocol/ResetNotification.h>
- 
- #include <Library/DebugLib.h>
-+#include <Library/DebugPrintErrorLevelLib.h>
- #include <Library/BaseMemoryLib.h>
- #include <Library/UefiRuntimeServicesTableLib.h>
- #include <Library/UefiDriverEntryPoint.h>
-@@ -2642,6 +2643,22 @@ DriverEntry (
-   if (CompareGuid (PcdGetPtr(PcdTpmInstanceGuid), &gEfiTpmDeviceInstanceNoneGuid) ||
-       CompareGuid (PcdGetPtr(PcdTpmInstanceGuid), &gEfiTpmDeviceInstanceTpm12Guid)){
-     DEBUG ((DEBUG_INFO, "No TPM2 instance required!\n"));
-+#if defined (MDE_CPU_AARCH64)
-+    //
-+    // RHBZ#1844682
-+    //
-+    // If swtpm / vTPM2 is not being used, this driver should return
-+    // EFI_UNSUPPORTED, so that the DXE Core can unload it. However, the
-+    // associated error message, logged by the DXE Core to the serial console,
-+    // is not desired in the silent edk2-aarch64 build, given that the absence
-+    // of swtpm / vTPM2 is nothing out of the ordinary. Therefore, return
-+    // success and stay resident. The wasted guest RAM still gets freed after
-+    // ExitBootServices().
-+    //
-+    if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
-+      return EFI_SUCCESS;
-+    }
-+#endif
-     return EFI_UNSUPPORTED;
-   }
- 
-diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
-index 7dc7a2683d..3bc8833931 100644
---- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
-+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
-@@ -55,6 +55,7 @@
-   UefiRuntimeServicesTableLib
-   BaseMemoryLib
-   DebugLib
-+  DebugPrintErrorLevelLib
-   Tpm2CommandLib
-   PrintLib
-   UefiLib
--- 
-2.27.0
-
diff --git a/SOURCES/0027-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch b/SOURCES/0027-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
new file mode 100644
index 0000000..16ec715
--- /dev/null
+++ b/SOURCES/0027-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
@@ -0,0 +1,64 @@
+From bf8a0e72a6916b84086fd37571f8774231104e3e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:22 +0200
+Subject: ArmVirtPkg: Remove UdfDxe filesystem driver (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [12/19] fcadb6a747b65e4d449d48131c9a2eeed4bd3c9a
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the UDF driver.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ ArmVirtPkg/ArmVirtQemu.dsc           | 1 -
+ ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
+ ArmVirtPkg/ArmVirtQemuKernel.dsc     | 1 -
+ 3 files changed, 3 deletions(-)
+
+diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
+index 3db71198c5..4f37a62dca 100644
+--- a/ArmVirtPkg/ArmVirtQemu.dsc
++++ b/ArmVirtPkg/ArmVirtQemu.dsc
+@@ -428,7 +428,6 @@
+   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+-  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ 
+   #
+   # Bds
+diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+index ddd014ac34..6065f4759c 100644
+--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
++++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+@@ -83,7 +83,6 @@ READ_LOCK_STATUS   = TRUE
+   INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+   INF FatPkg/EnhancedFatDxe/Fat.inf
+   INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+-  INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ 
+   #
+   # Status Code Routing
+diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
+index 65cc8a9aac..868e6e1e24 100644
+--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
++++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
+@@ -357,7 +357,6 @@
+   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
+   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
+   FatPkg/EnhancedFatDxe/Fat.inf
+-  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
+ 
+   #
+   # Bds
+-- 
+2.31.1
+
diff --git a/SOURCES/0028-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch b/SOURCES/0028-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch
new file mode 100644
index 0000000..74fbaad
--- /dev/null
+++ b/SOURCES/0028-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch
@@ -0,0 +1,112 @@
+From b206b9f1f20b8741c184e55d97cd10475b15affa Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:25 +0200
+Subject: OvmfPkg: Remove TftpDynamicCommand from shell (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [13/19] cf9ef346386ac89fa05b29d429d8d1b27cf0e3b0
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the command to download files in the shell via TFTP.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ OvmfPkg/OvmfPkgIa32.dsc    | 4 ----
+ OvmfPkg/OvmfPkgIa32.fdf    | 1 -
+ OvmfPkg/OvmfPkgIa32X64.dsc | 4 ----
+ OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
+ OvmfPkg/OvmfPkgX64.dsc     | 4 ----
+ OvmfPkg/OvmfPkgX64.fdf     | 1 -
+ 6 files changed, 15 deletions(-)
+
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index b09350104e..97837145b2 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -903,10 +903,6 @@
+ !endif
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+   ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+     <PcdsFixedAtBuild>
+       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
+index b56c749e39..8599834ac4 100644
+--- a/OvmfPkg/OvmfPkgIa32.fdf
++++ b/OvmfPkg/OvmfPkgIa32.fdf
+@@ -297,7 +297,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+ INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index 5b9c221ce7..699fbc8381 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -917,10 +917,6 @@
+ !endif
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+   ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+     <PcdsFixedAtBuild>
+       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
+index 1b0685bca5..aab5e2934a 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.fdf
++++ b/OvmfPkg/OvmfPkgIa32X64.fdf
+@@ -298,7 +298,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+ INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index 11a041afb2..3b55dbbb74 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -982,10 +982,6 @@
+ !endif
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+   ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+     <PcdsFixedAtBuild>
+       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
+index 5dc09a14fd..b02e35fed3 100644
+--- a/OvmfPkg/OvmfPkgX64.fdf
++++ b/OvmfPkg/OvmfPkgX64.fdf
+@@ -323,7 +323,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+ INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+-- 
+2.31.1
+
diff --git a/SOURCES/0029-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch b/SOURCES/0029-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch
new file mode 100644
index 0000000..5f9399f
--- /dev/null
+++ b/SOURCES/0029-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch
@@ -0,0 +1,57 @@
+From 4e8100ca78aff2bbdea3614b30ccb1fc4d6759d3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:28 +0200
+Subject: ArmVirtPkg: Remove TftpDynamicCommand from shell (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [14/19] 12436014941bd4a7c99a26d779ebdcd75f169403
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the command to download files in the shell via TFTP.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ ArmVirtPkg/ArmVirt.dsc.inc           | 7 +++----
+ ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
+ 2 files changed, 3 insertions(+), 5 deletions(-)
+
+diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
+index 8ec1119484..fbca3ebd8d 100644
+--- a/ArmVirtPkg/ArmVirt.dsc.inc
++++ b/ArmVirtPkg/ArmVirt.dsc.inc
+@@ -374,10 +374,9 @@
+   #
+   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
+ 
+-  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
++  #
++  # UEFI application (Shell Embedded Boot Loader)
++  #
+   ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+     <PcdsFixedAtBuild>
+       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+index 6065f4759c..ec5f4c95b1 100644
+--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
++++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+@@ -98,7 +98,6 @@ READ_LOCK_STATUS   = TRUE
+   INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
+ 
+   INF ShellPkg/Application/Shell/Shell.inf
+-  INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
+   INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+   INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ 
+-- 
+2.31.1
+
diff --git a/SOURCES/0029-OvmfPkg-Remove-PrintDxe-RHEL-only.patch b/SOURCES/0029-OvmfPkg-Remove-PrintDxe-RHEL-only.patch
deleted file mode 100644
index 588ad08..0000000
--- a/SOURCES/0029-OvmfPkg-Remove-PrintDxe-RHEL-only.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From ec59dc81bfaeb07ff114a956359161b29ca128fe Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:28:43 +0200
-Subject: OvmfPkg: Remove PrintDxe (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [1/19] 84921eec8867fc1986401a301700baf31ba66293
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-The Print service driver is not used by OVMF, remove it.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
- OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
- OvmfPkg/OvmfPkgIa32.dsc      | 1 -
- OvmfPkg/OvmfPkgIa32.fdf      | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc   | 1 -
- OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
- OvmfPkg/OvmfPkgX64.dsc       | 1 -
- OvmfPkg/OvmfPkgX64.fdf       | 1 -
- 8 files changed, 8 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index ccdf9b8ce0..0cd0a50090 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -732,7 +732,6 @@
-       DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-   }
--  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
-   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
-index 5662609886..5a84393b00 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.fdf
-+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
-@@ -245,7 +245,6 @@ INF  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
- INF  MdeModulePkg/Application/UiApp/UiApp.inf
- INF  OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
- INF  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
--INF  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
- INF  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
- INF  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
- INF  MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index a0666930d6..d729a7bef7 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -826,7 +826,6 @@
-       DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-   }
--  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
-   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index 00ea14adf0..bf76546356 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -255,7 +255,6 @@ INF  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
- INF  MdeModulePkg/Application/UiApp/UiApp.inf
- INF  OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
- INF  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
--INF  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
- INF  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
- INF  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
- INF  MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 5efeb42bf3..ad18b3f365 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -840,7 +840,6 @@
-       DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-   }
--  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
-   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index e33a40c44e..2523aa2d52 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -259,7 +259,6 @@ INF  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
- INF  MdeModulePkg/Application/UiApp/UiApp.inf
- INF  OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
- INF  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
--INF  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
- INF  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
- INF  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
- INF  MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 10fb7d7069..161de784ac 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -838,7 +838,6 @@
-       DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
-       PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf
-   }
--  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
-   MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
-   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index 85b4b23857..f9249b0b5f 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -275,7 +275,6 @@ INF  MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
- INF  MdeModulePkg/Application/UiApp/UiApp.inf
- INF  OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
- INF  MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf
--INF  MdeModulePkg/Universal/PrintDxe/PrintDxe.inf
- INF  MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
- INF  MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
- INF  MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
--- 
-2.27.0
-
diff --git a/SOURCES/0030-OvmfPkg-Remove-EbcDxe-RHEL-only.patch b/SOURCES/0030-OvmfPkg-Remove-EbcDxe-RHEL-only.patch
deleted file mode 100644
index d7cbdfa..0000000
--- a/SOURCES/0030-OvmfPkg-Remove-EbcDxe-RHEL-only.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From ff2f54341791a5b95edc7b782f5f2713e4c12588 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:28:49 +0200
-Subject: OvmfPkg: Remove EbcDxe (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [2/19] 6777c3dc453e4aecddc20216f783ba2a5acccaa0
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove EFI Byte Code interpreter.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
- OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
- OvmfPkg/OvmfPkgIa32.dsc      | 1 -
- OvmfPkg/OvmfPkgIa32.fdf      | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc   | 1 -
- OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
- OvmfPkg/OvmfPkgX64.dsc       | 1 -
- OvmfPkg/OvmfPkgX64.fdf       | 1 -
- 8 files changed, 8 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index 0cd0a50090..d72a995159 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -670,7 +670,6 @@
- !endif
-   }
- 
--  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-   OvmfPkg/8259InterruptControllerDxe/8259.inf
-   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
-   UefiCpuPkg/CpuDxe/CpuDxe.inf
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
-index 5a84393b00..2a077ac5bd 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.fdf
-+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
-@@ -205,7 +205,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
- 
- INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
- INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
--INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
- INF  OvmfPkg/8259InterruptControllerDxe/8259.inf
- INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
- INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index d729a7bef7..e847cfad96 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -753,7 +753,6 @@
- !endif
-   }
- 
--  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-   OvmfPkg/8259InterruptControllerDxe/8259.inf
-   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
-   UefiCpuPkg/CpuDxe/CpuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index bf76546356..b65f7306a8 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -211,7 +211,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
- 
- INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
- INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
--INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
- INF  OvmfPkg/8259InterruptControllerDxe/8259.inf
- INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
- INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index ad18b3f365..b00b7682dd 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -767,7 +767,6 @@
- !endif
-   }
- 
--  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-   OvmfPkg/8259InterruptControllerDxe/8259.inf
-   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
-   UefiCpuPkg/CpuDxe/CpuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index 2523aa2d52..b145c0ca3e 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -215,7 +215,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
- 
- INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
- INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
--INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
- INF  OvmfPkg/8259InterruptControllerDxe/8259.inf
- INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
- INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 161de784ac..2f61405fbf 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -765,7 +765,6 @@
- !endif
-   }
- 
--  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-   OvmfPkg/8259InterruptControllerDxe/8259.inf
-   UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
-   UefiCpuPkg/CpuDxe/CpuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index f9249b0b5f..f82cba3934 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -231,7 +231,6 @@ INF  MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
- 
- INF  MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
- INF  MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
--INF  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
- INF  OvmfPkg/8259InterruptControllerDxe/8259.inf
- INF  UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
- INF  UefiCpuPkg/CpuDxe/CpuDxe.inf
--- 
-2.27.0
-
diff --git a/SOURCES/0030-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch b/SOURCES/0030-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch
new file mode 100644
index 0000000..8e4406f
--- /dev/null
+++ b/SOURCES/0030-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch
@@ -0,0 +1,112 @@
+From 1c1385ba38640e0c75672e327542b8ff887a4009 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:31 +0200
+Subject: OvmfPkg: Remove HttpDynamicCommand from shell (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [15/19] 1911cf04f27467ef1175b1976864c1111d93d19e
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the command to download files in the shell via HTTP(S).
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ OvmfPkg/OvmfPkgIa32.dsc    | 4 ----
+ OvmfPkg/OvmfPkgIa32.fdf    | 1 -
+ OvmfPkg/OvmfPkgIa32X64.dsc | 4 ----
+ OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
+ OvmfPkg/OvmfPkgX64.dsc     | 4 ----
+ OvmfPkg/OvmfPkgX64.fdf     | 1 -
+ 6 files changed, 15 deletions(-)
+
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index 97837145b2..4906a6635f 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -903,10 +903,6 @@
+ !endif
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+     <PcdsFixedAtBuild>
+       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
+index 8599834ac4..edcba6ad30 100644
+--- a/OvmfPkg/OvmfPkgIa32.fdf
++++ b/OvmfPkg/OvmfPkgIa32.fdf
+@@ -297,7 +297,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF  ShellPkg/Application/Shell/Shell.inf
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index 699fbc8381..d2f37df3cb 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -917,10 +917,6 @@
+ !endif
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+     <PcdsFixedAtBuild>
+       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
+index aab5e2934a..cb01a23a24 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.fdf
++++ b/OvmfPkg/OvmfPkgIa32X64.fdf
+@@ -298,7 +298,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF  ShellPkg/Application/Shell/Shell.inf
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index 3b55dbbb74..113aff39c7 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -982,10 +982,6 @@
+ !endif
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+     <PcdsFixedAtBuild>
+       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
+index b02e35fed3..8e2eeb22ee 100644
+--- a/OvmfPkg/OvmfPkgX64.fdf
++++ b/OvmfPkg/OvmfPkgX64.fdf
+@@ -323,7 +323,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+ INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF  ShellPkg/Application/Shell/Shell.inf
+-- 
+2.31.1
+
diff --git a/SOURCES/0031-ArmVirtPkg-Remove-EbcDxe-RHEL-only.patch b/SOURCES/0031-ArmVirtPkg-Remove-EbcDxe-RHEL-only.patch
deleted file mode 100644
index 46de278..0000000
--- a/SOURCES/0031-ArmVirtPkg-Remove-EbcDxe-RHEL-only.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 550baa5312b42e21332da86982a7f291528150e8 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:28:54 +0200
-Subject: ArmVirtPkg: Remove EbcDxe (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [3/19] 5ca7af1a505c16cc568a444398254aca06ca65aa
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove EFI Byte Code interpreter.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- ArmVirtPkg/ArmVirt.dsc.inc           | 5 -----
- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 5 -----
- 2 files changed, 10 deletions(-)
-
-diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
-index 5a1598d90c..2fd8d31611 100644
---- a/ArmVirtPkg/ArmVirt.dsc.inc
-+++ b/ArmVirtPkg/ArmVirt.dsc.inc
-@@ -420,8 +420,3 @@
-     <LibraryClasses>
-       NULL|EmbeddedPkg/Library/PlatformHasAcpiLib/PlatformHasAcpiLib.inf
-   }
--
--  #
--  # EBC support
--  #
--  MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
-diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-index f6a538df72..520d531518 100644
---- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-@@ -146,11 +146,6 @@ READ_LOCK_STATUS   = TRUE
-   INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf
-   INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
-   INF OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf
--
--  #
--  # EBC support
--  #
--  INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
- !endif
- 
-   #
--- 
-2.27.0
-
diff --git a/SOURCES/0031-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch b/SOURCES/0031-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch
new file mode 100644
index 0000000..21941a2
--- /dev/null
+++ b/SOURCES/0031-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch
@@ -0,0 +1,54 @@
+From 2b8ed79ba959069e2e11f438dba1973ecda9114a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:34 +0200
+Subject: ArmVirtPkg: Remove HttpDynamicCommand from shell (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [16/19] 07a74f1fdcdbb9a31d25ce9760edcd852e9574c3
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the command to download files in the shell via HTTP(S).
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ ArmVirtPkg/ArmVirt.dsc.inc           | 4 ----
+ ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
+ 2 files changed, 5 deletions(-)
+
+diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
+index fbca3ebd8d..e65aa442c2 100644
+--- a/ArmVirtPkg/ArmVirt.dsc.inc
++++ b/ArmVirtPkg/ArmVirt.dsc.inc
+@@ -377,10 +377,6 @@
+   #
+   # UEFI application (Shell Embedded Boot Loader)
+   #
+-  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+     <PcdsFixedAtBuild>
+       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+index ec5f4c95b1..f2298012ed 100644
+--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
++++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+@@ -98,7 +98,6 @@ READ_LOCK_STATUS   = TRUE
+   INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
+ 
+   INF ShellPkg/Application/Shell/Shell.inf
+-  INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
+   INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ 
+   #
+-- 
+2.31.1
+
diff --git a/SOURCES/0032-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch b/SOURCES/0032-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch
new file mode 100644
index 0000000..484be96
--- /dev/null
+++ b/SOURCES/0032-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch
@@ -0,0 +1,146 @@
+From 9c6fc3adbd32e137fd6017f3b6cee3bcb822d838 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:39 +0200
+Subject: OvmfPkg: Remove LinuxInitrdDynamicShellCommand (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [17/19] 491fe1301ea29c7cb56c20272e45614d5fcb6f14
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the command to register a file in the shell as the
+initial ramdisk for a UEFI stubbed kernel, to be booted next.
+
+Note: as further dynamic shell commands might show up upstream,
+we intentionally preserve the empty !ifdef'ry context to ease
+future downstream rebases.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ OvmfPkg/AmdSev/AmdSevX64.dsc | 4 ----
+ OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
+ OvmfPkg/OvmfPkgIa32.dsc      | 4 ----
+ OvmfPkg/OvmfPkgIa32.fdf      | 1 -
+ OvmfPkg/OvmfPkgIa32X64.dsc   | 4 ----
+ OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
+ OvmfPkg/OvmfPkgX64.dsc       | 4 ----
+ OvmfPkg/OvmfPkgX64.fdf       | 1 -
+ 8 files changed, 20 deletions(-)
+
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
+index 0c93556798..3a65f7fe88 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
++++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
+@@ -770,10 +770,6 @@
+   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE
+-  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+ !endif
+   OvmfPkg/AmdSev/SecretDxe/SecretDxe.inf
+   OvmfPkg/AmdSev/Grub/Grub.inf
+diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
+index 998e517dfb..e598414343 100644
+--- a/OvmfPkg/AmdSev/AmdSevX64.fdf
++++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
+@@ -274,7 +274,6 @@ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
+ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE
+-INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF OvmfPkg/AmdSev/SecretDxe/SecretDxe.inf
+ INF  OvmfPkg/AmdSev/Grub/Grub.inf
+diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
+index 4906a6635f..f0e398cccd 100644
+--- a/OvmfPkg/OvmfPkgIa32.dsc
++++ b/OvmfPkg/OvmfPkgIa32.dsc
+@@ -903,10 +903,6 @@
+ !endif
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+ !endif
+   ShellPkg/Application/Shell/Shell.inf {
+     <LibraryClasses>
+diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
+index edcba6ad30..840c79788c 100644
+--- a/OvmfPkg/OvmfPkgIa32.fdf
++++ b/OvmfPkg/OvmfPkgIa32.fdf
+@@ -297,7 +297,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF  ShellPkg/Application/Shell/Shell.inf
+ !endif
+diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
+index d2f37df3cb..d8d820aa99 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.dsc
++++ b/OvmfPkg/OvmfPkgIa32X64.dsc
+@@ -917,10 +917,6 @@
+ !endif
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+ !endif
+   ShellPkg/Application/Shell/Shell.inf {
+     <LibraryClasses>
+diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
+index cb01a23a24..37c4d52cc7 100644
+--- a/OvmfPkg/OvmfPkgIa32X64.fdf
++++ b/OvmfPkg/OvmfPkgIa32X64.fdf
+@@ -298,7 +298,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF  ShellPkg/Application/Shell/Shell.inf
+ !endif
+diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
+index 113aff39c7..8781f0c9cf 100644
+--- a/OvmfPkg/OvmfPkgX64.dsc
++++ b/OvmfPkg/OvmfPkgX64.dsc
+@@ -982,10 +982,6 @@
+ !endif
+ 
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+ !endif
+   ShellPkg/Application/Shell/Shell.inf {
+     <LibraryClasses>
+diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
+index 8e2eeb22ee..fc8954f8a6 100644
+--- a/OvmfPkg/OvmfPkgX64.fdf
++++ b/OvmfPkg/OvmfPkgX64.fdf
+@@ -323,7 +323,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
+ 
+ !ifndef $(EXCLUDE_SHELL_FROM_FD)
+ !if $(TOOL_CHAIN_TAG) != "XCODE5"
+-INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ !endif
+ INF  ShellPkg/Application/Shell/Shell.inf
+ !endif
+-- 
+2.31.1
+
diff --git a/SOURCES/0032-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch b/SOURCES/0032-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch
deleted file mode 100644
index 98de3a3..0000000
--- a/SOURCES/0032-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From caf276302ed4b008e99749ed858db3bcf6501640 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:28:59 +0200
-Subject: OvmfPkg: Remove VirtioGpu device driver (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [4/19] f0a41317291f2e9e3b5bd3125149c3866f23ab08
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-QemuVideoDxe binds virtio-vga, so VirtioGpu is not needed.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
- OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
- OvmfPkg/OvmfPkgIa32.dsc      | 1 -
- OvmfPkg/OvmfPkgIa32.fdf      | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc   | 1 -
- OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
- OvmfPkg/OvmfPkgX64.dsc       | 1 -
- OvmfPkg/OvmfPkgX64.fdf       | 1 -
- 8 files changed, 8 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index d72a995159..74e87f1b08 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -759,7 +759,6 @@
-     <PcdsFixedAtBuild>
-       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-   }
--  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- 
-   #
-   # ISA Support
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
-index 2a077ac5bd..d09a193d09 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.fdf
-+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
-@@ -299,7 +299,6 @@ INF  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
- INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
- 
- INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
--INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- INF  OvmfPkg/PlatformDxe/Platform.inf
- INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
- INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index e847cfad96..f8ff1c2792 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -856,7 +856,6 @@
-     <PcdsFixedAtBuild>
-       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-   }
--  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- 
-   #
-   # ISA Support
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index b65f7306a8..ea7a3f893c 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -324,7 +324,6 @@ INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
- !endif
- 
- INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
--INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- INF  OvmfPkg/PlatformDxe/Platform.inf
- INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
- 
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index b00b7682dd..4b5f362780 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -870,7 +870,6 @@
-     <PcdsFixedAtBuild>
-       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-   }
--  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- 
-   #
-   # ISA Support
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index b145c0ca3e..3c33f0eadd 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -333,7 +333,6 @@ INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
- !endif
- 
- INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
--INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- INF  OvmfPkg/PlatformDxe/Platform.inf
- INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
- INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 2f61405fbf..89dcdb8bba 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -868,7 +868,6 @@
-     <PcdsFixedAtBuild>
-       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-   }
--  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- 
-   #
-   # ISA Support
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index f82cba3934..e7bf0da02b 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -349,7 +349,6 @@ INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
- !endif
- 
- INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
--INF  OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
- INF  OvmfPkg/PlatformDxe/Platform.inf
- INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
- INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
--- 
-2.27.0
-
diff --git a/SOURCES/0033-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch b/SOURCES/0033-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch
new file mode 100644
index 0000000..0e27c70
--- /dev/null
+++ b/SOURCES/0033-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch
@@ -0,0 +1,55 @@
+From c1839d5fc8723c92bb012a654926576d11b7fa0a Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
+Date: Thu, 1 Jul 2021 20:29:46 +0200
+Subject: ArmVirtPkg: Remove LinuxInitrdDynamicShellCommand (RHEL only)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
+RH-MergeRequest: 3: Disable features for RHEL9
+RH-Commit: [18/19] 8f4e4007108462533e3d2050b84d8830073a7c0d
+RH-Bugzilla: 1967747
+RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
+
+Remove the command to register a file in the shell as the initial
+ramdisk for a UEFI stubbed kernel, to be booted next.
+
+Suggested-by: Laszlo Ersek <lersek@redhat.com>
+Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
+Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
+---
+ ArmVirtPkg/ArmVirt.dsc.inc           | 4 ----
+ ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
+ 2 files changed, 5 deletions(-)
+
+diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
+index e65aa442c2..4cb14fa041 100644
+--- a/ArmVirtPkg/ArmVirt.dsc.inc
++++ b/ArmVirtPkg/ArmVirt.dsc.inc
+@@ -377,10 +377,6 @@
+   #
+   # UEFI application (Shell Embedded Boot Loader)
+   #
+-  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
+-    <PcdsFixedAtBuild>
+-      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
+-  }
+   ShellPkg/Application/Shell/Shell.inf {
+     <LibraryClasses>
+       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
+diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+index f2298012ed..43a4eafae4 100644
+--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
++++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
+@@ -98,7 +98,6 @@ READ_LOCK_STATUS   = TRUE
+   INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
+ 
+   INF ShellPkg/Application/Shell/Shell.inf
+-  INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
+ 
+   #
+   # Bds
+-- 
+2.31.1
+
diff --git a/SOURCES/0033-OvmfPkg-Remove-QemuRamfbDxe-display-device-driver-RH.patch b/SOURCES/0033-OvmfPkg-Remove-QemuRamfbDxe-display-device-driver-RH.patch
deleted file mode 100644
index 02318a9..0000000
--- a/SOURCES/0033-OvmfPkg-Remove-QemuRamfbDxe-display-device-driver-RH.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 5f2032eca0be1191d8485eeba4005f4d0a3af879 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Fri, 2 Jul 2021 20:15:40 +0200
-Subject: OvmfPkg: Remove QemuRamfbDxe display device driver (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [5/19] 657c6d4406600a34ad57cd0f93018716d73f2cd1
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-The ramfb display device driver is not needed for RHEL.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 4 ----
- OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
- OvmfPkg/OvmfPkgIa32.dsc      | 4 ----
- OvmfPkg/OvmfPkgIa32.fdf      | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc   | 4 ----
- OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
- OvmfPkg/OvmfPkgX64.dsc       | 4 ----
- OvmfPkg/OvmfPkgX64.fdf       | 1 -
- 8 files changed, 20 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index 74e87f1b08..154e318e87 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -755,10 +755,6 @@
-     <PcdsFixedAtBuild>
-       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-   }
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
--  }
- 
-   #
-   # ISA Support
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
-index d09a193d09..cd86f60270 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.fdf
-+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
-@@ -298,7 +298,6 @@ INF  MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
- 
- INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
- 
--INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
- INF  OvmfPkg/PlatformDxe/Platform.inf
- INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
- INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index f8ff1c2792..3061d0d796 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -852,10 +852,6 @@
-       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-   }
- !endif
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
--  }
- 
-   #
-   # ISA Support
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index ea7a3f893c..e55c88c84d 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -323,7 +323,6 @@ INF  RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
- INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
- !endif
- 
--INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
- INF  OvmfPkg/PlatformDxe/Platform.inf
- INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
- 
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 4b5f362780..01adc7b648 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -866,10 +866,6 @@
-       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-   }
- !endif
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
--  }
- 
-   #
-   # ISA Support
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index 3c33f0eadd..43a96cc78a 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -332,7 +332,6 @@ INF  RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
- INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
- !endif
- 
--INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
- INF  OvmfPkg/PlatformDxe/Platform.inf
- INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
- INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 89dcdb8bba..bcbc17fba4 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -864,10 +864,6 @@
-       gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
-   }
- !endif
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
--  }
- 
-   #
-   # ISA Support
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index e7bf0da02b..e992ed5f37 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -348,7 +348,6 @@ INF  RuleOverride=CSM OvmfPkg/Csm/Csm16/Csm16.inf
- INF  OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
- !endif
- 
--INF  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
- INF  OvmfPkg/PlatformDxe/Platform.inf
- INF  OvmfPkg/AmdSevDxe/AmdSevDxe.inf
- INF  OvmfPkg/IoMmuDxe/IoMmuDxe.inf
--- 
-2.27.0
-
diff --git a/SOURCES/0034-ArmVirtPkg-Remove-QemuRamfbDxe-display-device-driver.patch b/SOURCES/0034-ArmVirtPkg-Remove-QemuRamfbDxe-display-device-driver.patch
deleted file mode 100644
index 28c535a..0000000
--- a/SOURCES/0034-ArmVirtPkg-Remove-QemuRamfbDxe-display-device-driver.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 9dc5af1a38fffff9f377c8eddf517be621bb6cda Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:02 +0200
-Subject: ArmVirtPkg: Remove QemuRamfbDxe display device driver (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [6/19] 4e08ed3eb98f0901ae033d76c12b62d89f67f6e7
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-The ramfb display device driver is only potentially needed for
-aarch64 Windows guests, which are not supported by RHEL.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- ArmVirtPkg/ArmVirtQemu.dsc           | 4 ----
- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
- ArmVirtPkg/ArmVirtQemuKernel.dsc     | 4 ----
- 3 files changed, 9 deletions(-)
-
-diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
-index e6fad9f066..6677283c21 100644
---- a/ArmVirtPkg/ArmVirtQemu.dsc
-+++ b/ArmVirtPkg/ArmVirtQemu.dsc
-@@ -509,10 +509,6 @@
-   #
-   # Video support
-   #
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF
--  }
-   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
-   OvmfPkg/PlatformDxe/Platform.inf
- 
-diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-index 520d531518..2b51ac4a6d 100644
---- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-@@ -161,7 +161,6 @@ READ_LOCK_STATUS   = TRUE
-   #
-   # Video support
-   #
--  INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
-   INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
-   INF OvmfPkg/PlatformDxe/Platform.inf
- 
-diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-index 656c9d99a3..1ab8d6b999 100644
---- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
-+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-@@ -438,10 +438,6 @@
-   #
-   # Video support
-   #
--  OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF
--  }
-   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
-   OvmfPkg/PlatformDxe/Platform.inf
- 
--- 
-2.27.0
-
diff --git a/SOURCES/0035-OvmfPkg-Remove-NvmExpressDxe-device-driver-RHEL-only.patch b/SOURCES/0035-OvmfPkg-Remove-NvmExpressDxe-device-driver-RHEL-only.patch
deleted file mode 100644
index 669de2c..0000000
--- a/SOURCES/0035-OvmfPkg-Remove-NvmExpressDxe-device-driver-RHEL-only.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From a66385d84b6b156d09fc6c8a62297a684b4c39d9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:06 +0200
-Subject: OvmfPkg: Remove NvmExpressDxe device driver (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [7/19] 9af37e4e6ad4604d5ebe67ff77cc236664590fe2
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-There is no real known use case for the NVME driver.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 4 ----
- OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
- OvmfPkg/OvmfPkgIa32.dsc      | 4 ----
- OvmfPkg/OvmfPkgIa32.fdf      | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc   | 4 ----
- OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
- OvmfPkg/OvmfPkgX64.dsc       | 4 ----
- OvmfPkg/OvmfPkgX64.fdf       | 1 -
- 8 files changed, 20 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index 154e318e87..7d69eba83b 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -742,10 +742,6 @@
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
-   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
--  }
-   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
-   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
-index cd86f60270..45e9a345b7 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.fdf
-+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
-@@ -253,7 +253,6 @@ INF  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
- INF  OvmfPkg/SataControllerDxe/SataControllerDxe.inf
- INF  MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
- INF  MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--INF  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
- INF  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
- INF  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
- INF  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index 3061d0d796..b947e817a5 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -837,10 +837,6 @@
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
-   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
--  }
-   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
-   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index e55c88c84d..bfed32ddd3 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -263,7 +263,6 @@ INF  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
- INF  OvmfPkg/SataControllerDxe/SataControllerDxe.inf
- INF  MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
- INF  MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--INF  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
- INF  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
- INF  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
- INF  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 01adc7b648..7e86a9872e 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -851,10 +851,6 @@
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
-   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
--  }
-   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
-   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index 43a96cc78a..5965d4367a 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -267,7 +267,6 @@ INF  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
- INF  OvmfPkg/SataControllerDxe/SataControllerDxe.inf
- INF  MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
- INF  MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--INF  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
- INF  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
- INF  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
- INF  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index bcbc17fba4..952b831548 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -849,10 +849,6 @@
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-   MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
-   MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
--    <PcdsFixedAtBuild>
--      gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
--  }
-   MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
-   MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
-   MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index e992ed5f37..4e382f7912 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -283,7 +283,6 @@ INF  MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
- INF  OvmfPkg/SataControllerDxe/SataControllerDxe.inf
- INF  MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
- INF  MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
--INF  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
- INF  MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
- INF  MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
- INF  MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
--- 
-2.27.0
-
diff --git a/SOURCES/0036-ArmVirtPkg-Remove-NvmExpressDxe-device-driver-RHEL-o.patch b/SOURCES/0036-ArmVirtPkg-Remove-NvmExpressDxe-device-driver-RHEL-o.patch
deleted file mode 100644
index 8ddc0ab..0000000
--- a/SOURCES/0036-ArmVirtPkg-Remove-NvmExpressDxe-device-driver-RHEL-o.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From c165681779351c785d6e1946d6b861b71d07fb3f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:10 +0200
-Subject: ArmVirtPkg: Remove NvmExpressDxe device driver (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [8/19] d07dd11cb7a59c5af361ff5f801b7cfe421bce14
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-There is no real known use case for the NVME driver.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- ArmVirtPkg/ArmVirtQemu.dsc           | 5 -----
- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 5 -----
- ArmVirtPkg/ArmVirtQemuKernel.dsc     | 5 -----
- 3 files changed, 15 deletions(-)
-
-diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
-index 6677283c21..dff238fbdd 100644
---- a/ArmVirtPkg/ArmVirtQemu.dsc
-+++ b/ArmVirtPkg/ArmVirtQemu.dsc
-@@ -476,11 +476,6 @@
-   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
- 
--  #
--  # NVME Driver
--  #
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
--
-   #
-   # SMBIOS Support
-   #
-diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-index 2b51ac4a6d..9449daa5af 100644
---- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-@@ -127,11 +127,6 @@ READ_LOCK_STATUS   = TRUE
-   INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
- 
--  #
--  # NVME Driver
--  #
--  INF MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
--
-   #
-   # SMBIOS Support
-   #
-diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-index 1ab8d6b999..1603a635a9 100644
---- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
-+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-@@ -405,11 +405,6 @@
-   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
- 
--  #
--  # NVME Driver
--  #
--  MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
--
-   #
-   # SMBIOS Support
-   #
--- 
-2.27.0
-
diff --git a/SOURCES/0037-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch b/SOURCES/0037-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch
deleted file mode 100644
index ea21ce1..0000000
--- a/SOURCES/0037-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From a1872bcc0413a84cebe61b52fe99e5ef0d6ccca5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:13 +0200
-Subject: OvmfPkg: Remove VirtioFsDxe filesystem driver (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [9/19] b40d8a6b9c38568a74fb922b12bbae9f0e721f95
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the virtio-fs driver.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/OvmfPkgIa32.dsc    | 1 -
- OvmfPkg/OvmfPkgIa32.fdf    | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
- OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
- OvmfPkg/OvmfPkgX64.dsc     | 1 -
- OvmfPkg/OvmfPkgX64.fdf     | 1 -
- 6 files changed, 6 deletions(-)
-
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index b947e817a5..7ed4218f3f 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -831,7 +831,6 @@
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
-   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
--  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index bfed32ddd3..0c90dc9ddf 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -285,7 +285,6 @@ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
- 
- INF  FatPkg/EnhancedFatDxe/Fat.inf
- INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
--INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 7e86a9872e..080351bfe4 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -845,7 +845,6 @@
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
-   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
--  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index 5965d4367a..0d23401372 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -289,7 +289,6 @@ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
- 
- INF  FatPkg/EnhancedFatDxe/Fat.inf
- INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
--INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 952b831548..fa2e439c39 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -843,7 +843,6 @@
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
-   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
--  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index 4e382f7912..244c1d6ef2 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -305,7 +305,6 @@ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
- 
- INF  FatPkg/EnhancedFatDxe/Fat.inf
- INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
--INF  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--- 
-2.27.0
-
diff --git a/SOURCES/0038-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch b/SOURCES/0038-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch
deleted file mode 100644
index 8990611..0000000
--- a/SOURCES/0038-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From 772e5687d7ffeb88e98f49d8aa499180114d3c32 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:16 +0200
-Subject: ArmVirtPkg: Remove VirtioFsDxe filesystem driver (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [10/19] 808ad4385c24fbf34fb0ba359808e6d364e1d030
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the virtio-fs driver.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- ArmVirtPkg/ArmVirtQemu.dsc           | 1 -
- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
- ArmVirtPkg/ArmVirtQemuKernel.dsc     | 1 -
- 3 files changed, 3 deletions(-)
-
-diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
-index dff238fbdd..feac352b65 100644
---- a/ArmVirtPkg/ArmVirtQemu.dsc
-+++ b/ArmVirtPkg/ArmVirtQemu.dsc
-@@ -427,7 +427,6 @@
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
-   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
--  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
- 
-   #
-   # Bds
-diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-index 9449daa5af..8cab9bec9a 100644
---- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-@@ -84,7 +84,6 @@ READ_LOCK_STATUS   = TRUE
-   INF FatPkg/EnhancedFatDxe/Fat.inf
-   INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
--  INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
- 
-   #
-   # Status Code Routing
-diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-index 1603a635a9..b365ac0f99 100644
---- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
-+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-@@ -356,7 +356,6 @@
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
-   MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
--  OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
- 
-   #
-   # Bds
--- 
-2.27.0
-
diff --git a/SOURCES/0039-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch b/SOURCES/0039-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
deleted file mode 100644
index 18e3377..0000000
--- a/SOURCES/0039-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
+++ /dev/null
@@ -1,129 +0,0 @@
-From 5c6129a2e68f7914a374f8efadc71a959ac2cc0b Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:19 +0200
-Subject: OvmfPkg: Remove UdfDxe filesystem driver (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [11/19] 21614de37221fca27d4eec0f03c5c8bce5911af3
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the UDF driver.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
- OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
- OvmfPkg/OvmfPkgIa32.dsc      | 1 -
- OvmfPkg/OvmfPkgIa32.fdf      | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc   | 1 -
- OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
- OvmfPkg/OvmfPkgX64.dsc       | 1 -
- OvmfPkg/OvmfPkgX64.fdf       | 1 -
- 8 files changed, 8 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index 7d69eba83b..35691989bd 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -736,7 +736,6 @@
-   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
--  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
-index 45e9a345b7..52cb301d43 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.fdf
-+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
-@@ -272,7 +272,6 @@ INF  OvmfPkg/AcpiPlatformDxe/QemuFwCfgAcpiPlatformDxe.inf
- INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
- 
- INF  FatPkg/EnhancedFatDxe/Fat.inf
--INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index 7ed4218f3f..47dc58b2f2 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -830,7 +830,6 @@
-   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
--  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index 0c90dc9ddf..04bd804471 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -284,7 +284,6 @@ INF  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
- INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
- 
- INF  FatPkg/EnhancedFatDxe/Fat.inf
--INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 080351bfe4..dc5c6681c5 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -844,7 +844,6 @@
-   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
--  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index 0d23401372..36433d984c 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -288,7 +288,6 @@ INF  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
- INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
- 
- INF  FatPkg/EnhancedFatDxe/Fat.inf
--INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index fa2e439c39..17a11f81ae 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -842,7 +842,6 @@
-   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
--  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
-   MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
-   OvmfPkg/SataControllerDxe/SataControllerDxe.inf
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index 244c1d6ef2..ed0d60b5e0 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -304,7 +304,6 @@ INF  MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
- INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
- 
- INF  FatPkg/EnhancedFatDxe/Fat.inf
--INF  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--- 
-2.27.0
-
diff --git a/SOURCES/0040-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch b/SOURCES/0040-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
deleted file mode 100644
index be8a548..0000000
--- a/SOURCES/0040-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-From f5f031cd20029999856279428960eec8cb70b833 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:22 +0200
-Subject: ArmVirtPkg: Remove UdfDxe filesystem driver (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [12/19] fcadb6a747b65e4d449d48131c9a2eeed4bd3c9a
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the UDF driver.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- ArmVirtPkg/ArmVirtQemu.dsc           | 1 -
- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
- ArmVirtPkg/ArmVirtQemuKernel.dsc     | 1 -
- 3 files changed, 3 deletions(-)
-
-diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
-index feac352b65..07d3723589 100644
---- a/ArmVirtPkg/ArmVirtQemu.dsc
-+++ b/ArmVirtPkg/ArmVirtQemu.dsc
-@@ -426,7 +426,6 @@
-   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
--  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- 
-   #
-   # Bds
-diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-index 8cab9bec9a..41392521a1 100644
---- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-@@ -83,7 +83,6 @@ READ_LOCK_STATUS   = TRUE
-   INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-   INF FatPkg/EnhancedFatDxe/Fat.inf
-   INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
--  INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- 
-   #
-   # Status Code Routing
-diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-index b365ac0f99..609f44dc24 100644
---- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
-+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
-@@ -355,7 +355,6 @@
-   MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
-   MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
-   FatPkg/EnhancedFatDxe/Fat.inf
--  MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
- 
-   #
-   # Bds
--- 
-2.27.0
-
diff --git a/SOURCES/0041-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch b/SOURCES/0041-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch
deleted file mode 100644
index a790794..0000000
--- a/SOURCES/0041-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From db62fdc2ea07ba0796820c0f4aaa02e3a36c0b27 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:25 +0200
-Subject: OvmfPkg: Remove TftpDynamicCommand from shell (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [13/19] cf9ef346386ac89fa05b29d429d8d1b27cf0e3b0
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the command to download files in the shell via TFTP.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/OvmfPkgIa32.dsc    | 4 ----
- OvmfPkg/OvmfPkgIa32.fdf    | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc | 4 ----
- OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
- OvmfPkg/OvmfPkgX64.dsc     | 4 ----
- OvmfPkg/OvmfPkgX64.fdf     | 1 -
- 6 files changed, 15 deletions(-)
-
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index 47dc58b2f2..3e7cd1f0ff 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -910,10 +910,6 @@
- !endif
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
-   ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
-     <PcdsFixedAtBuild>
-       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index 04bd804471..61c3db7a13 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -287,7 +287,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
- INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index dc5c6681c5..450db0b473 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -924,10 +924,6 @@
- !endif
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
-   ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
-     <PcdsFixedAtBuild>
-       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index 36433d984c..56781d84e4 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -291,7 +291,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
- INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 17a11f81ae..07d028b294 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -922,10 +922,6 @@
- !endif
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
-   ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
-     <PcdsFixedAtBuild>
-       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index ed0d60b5e0..959736a1be 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -307,7 +307,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--INF  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
- INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
--- 
-2.27.0
-
diff --git a/SOURCES/0042-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch b/SOURCES/0042-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch
deleted file mode 100644
index 4c7024d..0000000
--- a/SOURCES/0042-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From 94302ccc1de9b13cb6dc28af3e077e0b09052460 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:28 +0200
-Subject: ArmVirtPkg: Remove TftpDynamicCommand from shell (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [14/19] 12436014941bd4a7c99a26d779ebdcd75f169403
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the command to download files in the shell via TFTP.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- ArmVirtPkg/ArmVirt.dsc.inc           | 7 +++----
- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
- 2 files changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
-index 2fd8d31611..56c55eb473 100644
---- a/ArmVirtPkg/ArmVirt.dsc.inc
-+++ b/ArmVirtPkg/ArmVirt.dsc.inc
-@@ -377,10 +377,9 @@
-   #
-   MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
- 
--  ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
-+  #
-+  # UEFI application (Shell Embedded Boot Loader)
-+  #
-   ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
-     <PcdsFixedAtBuild>
-       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-index 41392521a1..89e0bad645 100644
---- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-@@ -98,7 +98,6 @@ READ_LOCK_STATUS   = TRUE
-   INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
- 
-   INF ShellPkg/Application/Shell/Shell.inf
--  INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
-   INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
-   INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- 
--- 
-2.27.0
-
diff --git a/SOURCES/0043-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch b/SOURCES/0043-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch
deleted file mode 100644
index 0701c9b..0000000
--- a/SOURCES/0043-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch
+++ /dev/null
@@ -1,112 +0,0 @@
-From 266042abbae5f40f3a45e88601a27096734163da Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:31 +0200
-Subject: OvmfPkg: Remove HttpDynamicCommand from shell (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [15/19] 1911cf04f27467ef1175b1976864c1111d93d19e
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the command to download files in the shell via HTTP(S).
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/OvmfPkgIa32.dsc    | 4 ----
- OvmfPkg/OvmfPkgIa32.fdf    | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc | 4 ----
- OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
- OvmfPkg/OvmfPkgX64.dsc     | 4 ----
- OvmfPkg/OvmfPkgX64.fdf     | 1 -
- 6 files changed, 15 deletions(-)
-
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index 3e7cd1f0ff..1a14d8125b 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -910,10 +910,6 @@
- !endif
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
-   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
-     <PcdsFixedAtBuild>
-       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index 61c3db7a13..bdb8bd2388 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -287,7 +287,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF  ShellPkg/Application/Shell/Shell.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index 450db0b473..a528e35e99 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -924,10 +924,6 @@
- !endif
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
-   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
-     <PcdsFixedAtBuild>
-       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index 56781d84e4..2bb9c91909 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -291,7 +291,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF  ShellPkg/Application/Shell/Shell.inf
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 07d028b294..8b4963b022 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -922,10 +922,6 @@
- !endif
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
-   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
-     <PcdsFixedAtBuild>
-       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index 959736a1be..9d1dfb1cee 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -307,7 +307,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--INF  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
- INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF  ShellPkg/Application/Shell/Shell.inf
--- 
-2.27.0
-
diff --git a/SOURCES/0044-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch b/SOURCES/0044-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch
deleted file mode 100644
index 4092e92..0000000
--- a/SOURCES/0044-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-From e2844c290619d4a0d835a0e0756d07eca0493ddb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:34 +0200
-Subject: ArmVirtPkg: Remove HttpDynamicCommand from shell (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [16/19] 07a74f1fdcdbb9a31d25ce9760edcd852e9574c3
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the command to download files in the shell via HTTP(S).
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- ArmVirtPkg/ArmVirt.dsc.inc           | 4 ----
- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
- 2 files changed, 5 deletions(-)
-
-diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
-index 56c55eb473..0e221c22c9 100644
---- a/ArmVirtPkg/ArmVirt.dsc.inc
-+++ b/ArmVirtPkg/ArmVirt.dsc.inc
-@@ -380,10 +380,6 @@
-   #
-   # UEFI application (Shell Embedded Boot Loader)
-   #
--  ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
-   OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
-     <PcdsFixedAtBuild>
-       gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
-diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-index 89e0bad645..add13fc39d 100644
---- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-@@ -98,7 +98,6 @@ READ_LOCK_STATUS   = TRUE
-   INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
- 
-   INF ShellPkg/Application/Shell/Shell.inf
--  INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
-   INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- 
-   #
--- 
-2.27.0
-
diff --git a/SOURCES/0045-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch b/SOURCES/0045-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch
deleted file mode 100644
index 19509d0..0000000
--- a/SOURCES/0045-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-From 855afbe9bf9ebb68f9cdb3ace57ce99e5614375f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:39 +0200
-Subject: OvmfPkg: Remove LinuxInitrdDynamicShellCommand (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [17/19] 491fe1301ea29c7cb56c20272e45614d5fcb6f14
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the command to register a file in the shell as the
-initial ramdisk for a UEFI stubbed kernel, to be booted next.
-
-Note: as further dynamic shell commands might show up upstream,
-we intentionally preserve the empty !ifdef'ry context to ease
-future downstream rebases.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- OvmfPkg/AmdSev/AmdSevX64.dsc | 4 ----
- OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
- OvmfPkg/OvmfPkgIa32.dsc      | 4 ----
- OvmfPkg/OvmfPkgIa32.fdf      | 1 -
- OvmfPkg/OvmfPkgIa32X64.dsc   | 4 ----
- OvmfPkg/OvmfPkgIa32X64.fdf   | 1 -
- OvmfPkg/OvmfPkgX64.dsc       | 4 ----
- OvmfPkg/OvmfPkgX64.fdf       | 1 -
- 8 files changed, 20 deletions(-)
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index 35691989bd..88b65b9f59 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -785,10 +785,6 @@
-   MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE
--  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
- !endif
-   OvmfPkg/AmdSev/SecretDxe/SecretDxe.inf
-   OvmfPkg/AmdSev/Grub/Grub.inf
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
-index 52cb301d43..325570c5a3 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.fdf
-+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
-@@ -274,7 +274,6 @@ INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
- INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE
--INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF OvmfPkg/AmdSev/SecretDxe/SecretDxe.inf
- INF  OvmfPkg/AmdSev/Grub/Grub.inf
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index 1a14d8125b..fa42d919be 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -910,10 +910,6 @@
- !endif
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
- !endif
-   ShellPkg/Application/Shell/Shell.inf {
-     <LibraryClasses>
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index bdb8bd2388..51433836d6 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -287,7 +287,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF  ShellPkg/Application/Shell/Shell.inf
- !endif
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index a528e35e99..ef962565f8 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -924,10 +924,6 @@
- !endif
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
- !endif
-   ShellPkg/Application/Shell/Shell.inf {
-     <LibraryClasses>
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index 2bb9c91909..a50f80e1e9 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -291,7 +291,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF  ShellPkg/Application/Shell/Shell.inf
- !endif
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index 8b4963b022..ba9f9833b0 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -922,10 +922,6 @@
- !endif
- 
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
- !endif
-   ShellPkg/Application/Shell/Shell.inf {
-     <LibraryClasses>
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index 9d1dfb1cee..dd1c6eded9 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -307,7 +307,6 @@ INF  FatPkg/EnhancedFatDxe/Fat.inf
- 
- !ifndef $(EXCLUDE_SHELL_FROM_FD)
- !if $(TOOL_CHAIN_TAG) != "XCODE5"
--INF  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- !endif
- INF  ShellPkg/Application/Shell/Shell.inf
- !endif
--- 
-2.27.0
-
diff --git a/SOURCES/0046-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch b/SOURCES/0046-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch
deleted file mode 100644
index b113e6d..0000000
--- a/SOURCES/0046-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 74043040b2535bd098ab6089d0ec2ef19c6abeea Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
-Date: Thu, 1 Jul 2021 20:29:46 +0200
-Subject: ArmVirtPkg: Remove LinuxInitrdDynamicShellCommand (RHEL only)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
-RH-MergeRequest: 3: Disable features for RHEL9
-RH-Commit: [18/19] 8f4e4007108462533e3d2050b84d8830073a7c0d
-RH-Bugzilla: 1967747
-RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
-
-Remove the command to register a file in the shell as the initial
-ramdisk for a UEFI stubbed kernel, to be booted next.
-
-Suggested-by: Laszlo Ersek <lersek@redhat.com>
-Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
-Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
----
- ArmVirtPkg/ArmVirt.dsc.inc           | 4 ----
- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
- 2 files changed, 5 deletions(-)
-
-diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
-index 0e221c22c9..040878939b 100644
---- a/ArmVirtPkg/ArmVirt.dsc.inc
-+++ b/ArmVirtPkg/ArmVirt.dsc.inc
-@@ -380,10 +380,6 @@
-   #
-   # UEFI application (Shell Embedded Boot Loader)
-   #
--  OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
--    <PcdsFixedAtBuild>
--      gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
--  }
-   ShellPkg/Application/Shell/Shell.inf {
-     <LibraryClasses>
-       ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
-diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-index add13fc39d..82b015d77d 100644
---- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
-@@ -98,7 +98,6 @@ READ_LOCK_STATUS   = TRUE
-   INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
- 
-   INF ShellPkg/Application/Shell/Shell.inf
--  INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
- 
-   #
-   # Bds
--- 
-2.27.0
-
diff --git a/SOURCES/edk2-OvmfPkg-AmdSev-SecretPei-Mark-SEV-launch-secret-area.patch b/SOURCES/edk2-OvmfPkg-AmdSev-SecretPei-Mark-SEV-launch-secret-area.patch
deleted file mode 100644
index 2a92c02..0000000
--- a/SOURCES/edk2-OvmfPkg-AmdSev-SecretPei-Mark-SEV-launch-secret-area.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From c4096f74a41bde4fc62576222e0c9622152d7701 Mon Sep 17 00:00:00 2001
-From: Pawel Polawski <ppolawsk@redhat.com>
-Date: Tue, 4 Jan 2022 15:16:40 +0800
-Subject: [PATCH 2/2] OvmfPkg/AmdSev/SecretPei: Mark SEV launch secret area as
- reserved
-
-RH-Author: Pawel Polawski <ppolawsk@redhat.com>
-RH-MergeRequest: 10: OvmfPkg/AmdSev/SecretPei: Mark SEV launch secret area as reserved
-RH-Commit: [1/1] a8f099d508e2e7b39697945acaa767c43577b1e6 (elkoniu/edk2)
-RH-Bugzilla: 2041754
-RH-Acked-by: Oliver Steffen <osteffen@redhat.com>
-RH-Acked-by: Gerd Hoffmann <kraxel@redhat.com>
-
-Mark the SEV launch secret MEMFD area as reserved, which will allow the
-guest OS to use it during the lifetime of the OS, without creating
-copies of the sensitive content.
-
-Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
-Cc: Jordan Justen <jordan.l.justen@intel.com>
-Cc: Gerd Hoffmann <kraxel@redhat.com>
-Cc: Brijesh Singh <brijesh.singh@amd.com>
-Cc: Erdem Aktas <erdemaktas@google.com>
-Cc: James Bottomley <jejb@linux.ibm.com>
-Cc: Jiewen Yao <jiewen.yao@intel.com>
-Cc: Min Xu <min.m.xu@intel.com>
-Cc: Tom Lendacky <thomas.lendacky@amd.com>
-Cc: Tobin Feldman-Fitzthum <tobin@linux.ibm.com>
-Signed-off-by: Dov Murik <dovmurik@linux.ibm.com>
-Acked-by: Gerd Hoffmann <kraxel@redhat.com>
-Acked-by: Jiewen Yao <Jiewen.Yao@intel.com>
-Reviewed-by: Brijesh Singh <brijesh.singh@amd.com>
----
- OvmfPkg/AmdSev/SecretPei/SecretPei.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/OvmfPkg/AmdSev/SecretPei/SecretPei.c b/OvmfPkg/AmdSev/SecretPei/SecretPei.c
-index db94c26b54..6bf1a55dea 100644
---- a/OvmfPkg/AmdSev/SecretPei/SecretPei.c
-+++ b/OvmfPkg/AmdSev/SecretPei/SecretPei.c
-@@ -19,7 +19,7 @@ InitializeSecretPei (
-   BuildMemoryAllocationHob (
-     PcdGet32 (PcdSevLaunchSecretBase),
-     ALIGN_VALUE (PcdGet32 (PcdSevLaunchSecretSize), EFI_PAGE_SIZE),
--    EfiBootServicesData
-+    EfiReservedMemoryType
-     );
- 
-   return EFI_SUCCESS;
--- 
-2.27.0
-
diff --git a/SOURCES/edk2-OvmfPkg-create-Tcg12ConfigPei.inf.patch b/SOURCES/edk2-OvmfPkg-create-Tcg12ConfigPei.inf.patch
deleted file mode 100644
index 44dc3e4..0000000
--- a/SOURCES/edk2-OvmfPkg-create-Tcg12ConfigPei.inf.patch
+++ /dev/null
@@ -1,158 +0,0 @@
-From 0ecb863aaca8d71a35763645ced278589666ada2 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Wed, 15 Dec 2021 12:39:19 +0100
-Subject: [PATCH 4/6] OvmfPkg: create Tcg12ConfigPei.inf
-
-RH-Author: Gerd Hoffmann <kraxel@redhat.com>
-RH-MergeRequest: 9: backport tpm build updates, disable tpm 1.2 support
-RH-Commit: [4/6] 92926b9a05aaff38aab9a2aeee211be736863ab9 (kraxel/centos-edk2)
-RH-Bugzilla: 1935497
-RH-Acked-by: Oliver Steffen <None>
-
-Split Tcg2ConfigPei.inf into two variants: Tcg12ConfigPei.inf with
-TPM 1.2 support included and Tcg2ConfigPei.inf supporting TPM 2.0 only.
-This allows x86 builds to choose whenever TPM 1.2 support should be
-included or not by picking the one or the other inf file.
-
-Switch x86 builds to Tcg12ConfigPei.inf, so they continue to
-have TPM 1.2 support.
-
-No functional change.
-
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
-Tested-by: Stefan Berger <stefanb@linux.ibm.com>
-(cherry picked from commit b81938877276e808b6535e612b320eee559c4c2f)
----
- OvmfPkg/OvmfTpmComponentsPei.dsc.inc      |  2 +-
- OvmfPkg/OvmfTpmPei.fdf.inc                |  2 +-
- OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei.inf | 56 +++++++++++++++++++++++
- OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf  | 11 +----
- 4 files changed, 59 insertions(+), 12 deletions(-)
- create mode 100644 OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei.inf
-
-diff --git a/OvmfPkg/OvmfTpmComponentsPei.dsc.inc b/OvmfPkg/OvmfTpmComponentsPei.dsc.inc
-index 99fa7c13b3..87d491da50 100644
---- a/OvmfPkg/OvmfTpmComponentsPei.dsc.inc
-+++ b/OvmfPkg/OvmfTpmComponentsPei.dsc.inc
-@@ -4,7 +4,7 @@
- 
- !if $(TPM_ENABLE) == TRUE
-   OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
-+  OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei.inf
-   SecurityPkg/Tcg/TcgPei/TcgPei.inf
-   SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
-     <LibraryClasses>
-diff --git a/OvmfPkg/OvmfTpmPei.fdf.inc b/OvmfPkg/OvmfTpmPei.fdf.inc
-index 9aefd73d21..709a608cc3 100644
---- a/OvmfPkg/OvmfTpmPei.fdf.inc
-+++ b/OvmfPkg/OvmfTpmPei.fdf.inc
-@@ -4,7 +4,7 @@
- 
- !if $(TPM_ENABLE) == TRUE
- INF  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
-+INF  OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei.inf
- INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
- INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
- INF  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf
-diff --git a/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei.inf b/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei.inf
-new file mode 100644
-index 0000000000..e8e0b88e60
---- /dev/null
-+++ b/OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei.inf
-@@ -0,0 +1,56 @@
-+## @file
-+# Set TPM device type - supports TPM 1.2 and 2.0
-+#
-+# In SecurityPkg, this module initializes the TPM device type based on a UEFI
-+# variable and/or hardware detection. In OvmfPkg, the module only performs TPM
-+# hardware detection.
-+#
-+# Copyright (c) 2015 - 2016, Intel Corporation. All rights reserved.<BR>
-+# Copyright (C) 2018, Red Hat, Inc.
-+#
-+# SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+[Defines]
-+  INF_VERSION                    = 0x00010005
-+  BASE_NAME                      = Tcg2ConfigPei
-+  FILE_GUID                      = 8AD3148F-945F-46B4-8ACD-71469EA73945
-+  MODULE_TYPE                    = PEIM
-+  VERSION_STRING                 = 1.0
-+  ENTRY_POINT                    = Tcg2ConfigPeimEntryPoint
-+
-+[Sources]
-+  Tcg2ConfigPeim.c
-+  Tpm12Support.h
-+  Tpm12Support.c
-+
-+[Packages]
-+  MdePkg/MdePkg.dec
-+  MdeModulePkg/MdeModulePkg.dec
-+  OvmfPkg/OvmfPkg.dec
-+  SecurityPkg/SecurityPkg.dec
-+
-+[LibraryClasses]
-+  PeimEntryPoint
-+  DebugLib
-+  PeiServicesLib
-+  Tpm2DeviceLib
-+  BaseLib
-+  Tpm12DeviceLib
-+
-+[Guids]
-+  gEfiTpmDeviceSelectedGuid           ## PRODUCES ## GUID # Used as a PPI GUID
-+  gEfiTpmDeviceInstanceTpm20DtpmGuid  ## SOMETIMES_CONSUMES
-+  gEfiTpmDeviceInstanceTpm12Guid      ## SOMETIMES_CONSUMES
-+
-+[Ppis]
-+  gPeiTpmInitializationDonePpiGuid    ## SOMETIMES_PRODUCES
-+
-+[Pcd]
-+  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid                 ## PRODUCES
-+
-+[Depex.IA32, Depex.X64]
-+  gOvmfTpmMmioAccessiblePpiGuid
-+
-+[Depex.ARM, Depex.AARCH64]
-+  gOvmfTpmDiscoveredPpiGuid
-diff --git a/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf b/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
-index 39d1deeed1..51078c9813 100644
---- a/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
-+++ b/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
-@@ -1,5 +1,5 @@
- ## @file
--# Set TPM device type
-+# Set TPM device type - supports TPM 2.0 only
- #
- # In SecurityPkg, this module initializes the TPM device type based on a UEFI
- # variable and/or hardware detection. In OvmfPkg, the module only performs TPM
-@@ -22,11 +22,6 @@
- [Sources]
-   Tcg2ConfigPeim.c
-   Tpm12Support.h
--
--[Sources.IA32, Sources.X64]
--  Tpm12Support.c
--
--[Sources.ARM, Sources.AARCH64]
-   Tpm12SupportNull.c
- 
- [Packages]
-@@ -41,10 +36,6 @@
-   PeiServicesLib
-   Tpm2DeviceLib
- 
--[LibraryClasses.IA32, LibraryClasses.X64]
--  BaseLib
--  Tpm12DeviceLib
--
- [Guids]
-   gEfiTpmDeviceSelectedGuid           ## PRODUCES ## GUID # Used as a PPI GUID
-   gEfiTpmDeviceInstanceTpm20DtpmGuid  ## SOMETIMES_CONSUMES
--- 
-2.27.0
-
diff --git a/SOURCES/edk2-OvmfPkg-drop-TPM_CONFIG_ENABLE.patch b/SOURCES/edk2-OvmfPkg-drop-TPM_CONFIG_ENABLE.patch
deleted file mode 100644
index d77387a..0000000
--- a/SOURCES/edk2-OvmfPkg-drop-TPM_CONFIG_ENABLE.patch
+++ /dev/null
@@ -1,151 +0,0 @@
-From 505473655db4b91e4a0ac732069968f9eddabc51 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Wed, 15 Dec 2021 12:39:18 +0100
-Subject: [PATCH 3/6] OvmfPkg: drop TPM_CONFIG_ENABLE
-
-RH-Author: Gerd Hoffmann <kraxel@redhat.com>
-RH-MergeRequest: 9: backport tpm build updates, disable tpm 1.2 support
-RH-Commit: [3/6] be335526f74358d4af21fbd35cc7008b227ebb23 (kraxel/centos-edk2)
-RH-Bugzilla: 1935497
-RH-Acked-by: Oliver Steffen <None>
-
-Drop TPM_CONFIG_ENABLE config option.  Including TPM support in the
-build without also including the TPM configuration menu is not useful.
-
-Suggested-by: Stefan Berger <stefanb@linux.ibm.com>
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Tested-by: Stefan Berger <stefanb@linux.ibm.com>
-(cherry picked from commit 5711ff4d0b56ff4c58dc7a780e706bc58aed2253)
----
- OvmfPkg/OvmfTpmComponentsDxe.dsc.inc                  | 2 --
- OvmfPkg/OvmfTpmDefines.dsc.inc                        | 1 -
- OvmfPkg/OvmfTpmDxe.fdf.inc                            | 2 --
- OvmfPkg/OvmfTpmPcdsHii.dsc.inc                        | 2 +-
- OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml    | 6 +++---
- OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml | 6 +++---
- OvmfPkg/PlatformCI/ReadMe.md                          | 2 +-
- 7 files changed, 8 insertions(+), 13 deletions(-)
-
-diff --git a/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc b/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-index d5c2586118..e025d85a58 100644
---- a/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-+++ b/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-@@ -14,9 +14,7 @@
-       NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
-       NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
-   }
--!if $(TPM_CONFIG_ENABLE) == TRUE
-   SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
--!endif
-   SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
-     <LibraryClasses>
-       Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
-diff --git a/OvmfPkg/OvmfTpmDefines.dsc.inc b/OvmfPkg/OvmfTpmDefines.dsc.inc
-index 51da7508b3..5df4a331fb 100644
---- a/OvmfPkg/OvmfTpmDefines.dsc.inc
-+++ b/OvmfPkg/OvmfTpmDefines.dsc.inc
-@@ -3,4 +3,3 @@
- ##
- 
-   DEFINE TPM_ENABLE              = FALSE
--  DEFINE TPM_CONFIG_ENABLE       = FALSE
-diff --git a/OvmfPkg/OvmfTpmDxe.fdf.inc b/OvmfPkg/OvmfTpmDxe.fdf.inc
-index 9dcdaaf01c..32eef24638 100644
---- a/OvmfPkg/OvmfTpmDxe.fdf.inc
-+++ b/OvmfPkg/OvmfTpmDxe.fdf.inc
-@@ -6,7 +6,5 @@
- INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
- INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
- INF  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf
--!if $(TPM_CONFIG_ENABLE) == TRUE
- INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
- !endif
--!endif
-diff --git a/OvmfPkg/OvmfTpmPcdsHii.dsc.inc b/OvmfPkg/OvmfTpmPcdsHii.dsc.inc
-index 164bc9c7fc..2e02a5b4cb 100644
---- a/OvmfPkg/OvmfTpmPcdsHii.dsc.inc
-+++ b/OvmfPkg/OvmfTpmPcdsHii.dsc.inc
-@@ -2,7 +2,7 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
-+!if $(TPM_ENABLE) == TRUE
-   gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
-   gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
- !endif
-diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
-index 7117b86b81..1774423580 100644
---- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
-+++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
-@@ -95,21 +95,21 @@ jobs:
-           OVMF_IA32X64_FULL_DEBUG:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_TPM_CONFIG_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "DEBUG"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-           OVMF_IA32X64_FULL_RELEASE:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_TPM_CONFIG_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "RELEASE"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-           OVMF_IA32X64_FULL_NOOPT:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_TPM_CONFIG_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "NOOPT"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml b/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml
-index 2e07a3d889..09f9851312 100644
---- a/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml
-+++ b/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml
-@@ -94,14 +94,14 @@ jobs:
-           OVMF_IA32X64_FULL_DEBUG:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_TPM_CONFIG_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "DEBUG"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-           OVMF_IA32X64_FULL_RELEASE:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_TPM_CONFIG_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "RELEASE"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-@@ -112,7 +112,7 @@ jobs:
-     #       OVMF_IA32X64_FULL_NOOPT:
-     #         Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-     #         Build.Arch: "IA32,X64"
--    #         Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_TPM_CONFIG_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+    #         Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-     #         Build.Target: "NOOPT"
-     #         Run.Flags: $(run_flags)
-     #         Run: $(should_run)
-diff --git a/OvmfPkg/PlatformCI/ReadMe.md b/OvmfPkg/PlatformCI/ReadMe.md
-index 2ce9007dbe..44aa7c4a9d 100644
---- a/OvmfPkg/PlatformCI/ReadMe.md
-+++ b/OvmfPkg/PlatformCI/ReadMe.md
-@@ -14,7 +14,7 @@ supported and are described below.
- | IA32                    | IA32               | OvmfPkgIa32.dsc     | None            |
- | X64                     | X64                | OvmfPkgIa64.dsc     | None            |
- | IA32 X64                | PEI-IA32 DXE-X64   | OvmfPkgIa32X64.dsc  | None            |
--| IA32 X64 Full           | PEI-IA32 DXE-X64   | OvmfPkgIa32X64.dsc  | SECURE_BOOT_ENABLE=1 SMM_REQUIRE=1 TPM_ENABLE=1 TPM_CONFIG_ENABLE=1 NETWORK_TLS_ENABLE=1 NETWORK_IP6_ENABLE=1 NETWORK_HTTP_BOOT_ENABLE=1 |
-+| IA32 X64 Full           | PEI-IA32 DXE-X64   | OvmfPkgIa32X64.dsc  | SECURE_BOOT_ENABLE=1 SMM_REQUIRE=1 TPM_ENABLE=1 NETWORK_TLS_ENABLE=1 NETWORK_IP6_ENABLE=1 NETWORK_HTTP_BOOT_ENABLE=1 |
- 
- ## EDK2 Developer environment
- 
--- 
-2.27.0
-
diff --git a/SOURCES/edk2-OvmfPkg-move-tcg-configuration-to-dsc-and-fdf-includ.patch b/SOURCES/edk2-OvmfPkg-move-tcg-configuration-to-dsc-and-fdf-includ.patch
deleted file mode 100644
index cc6af03..0000000
--- a/SOURCES/edk2-OvmfPkg-move-tcg-configuration-to-dsc-and-fdf-includ.patch
+++ /dev/null
@@ -1,993 +0,0 @@
-From 02544e617ce4dfffff15dab47463484ccdc9a51f Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Wed, 15 Dec 2021 12:39:17 +0100
-Subject: [PATCH 2/6] OvmfPkg: move tcg configuration to dsc and fdf include
- files
-
-RH-Author: Gerd Hoffmann <kraxel@redhat.com>
-RH-MergeRequest: 9: backport tpm build updates, disable tpm 1.2 support
-RH-Commit: [2/6] d811b2cf266baa0fa3f958af0b80bb208f3fe27c (kraxel/centos-edk2)
-RH-Bugzilla: 1935497
-RH-Acked-by: Oliver Steffen <None>
-
-With this in place the tpm configuration is not duplicated for each of
-our four ovmf config variants (ia32, ia32x64, x64, amdsev) and it is
-easier to keep them all in sync when updating the tpm configuration.
-
-No functional change.
-
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
-(cherry picked from commit b47575801e1903e8b316d01840572ce2681cf2c6)
-
-[ kraxel: solve conflict in OvmfPkg/AmdSev/AmdSevX64.dsc ]
----
- OvmfPkg/AmdSev/AmdSevX64.dsc         | 85 ++++-----------------------
- OvmfPkg/AmdSev/AmdSevX64.fdf         | 17 +-----
- OvmfPkg/OvmfPkgIa32.dsc              | 88 ++++------------------------
- OvmfPkg/OvmfPkgIa32.fdf              | 17 +-----
- OvmfPkg/OvmfPkgIa32X64.dsc           | 85 ++++-----------------------
- OvmfPkg/OvmfPkgIa32X64.fdf           | 17 +-----
- OvmfPkg/OvmfPkgX64.dsc               | 85 ++++-----------------------
- OvmfPkg/OvmfPkgX64.fdf               | 17 +-----
- OvmfPkg/OvmfTpmComponentsDxe.dsc.inc | 28 +++++++++
- OvmfPkg/OvmfTpmComponentsPei.dsc.inc | 22 +++++++
- OvmfPkg/OvmfTpmDefines.dsc.inc       |  6 ++
- OvmfPkg/OvmfTpmDxe.fdf.inc           | 12 ++++
- OvmfPkg/OvmfTpmLibs.dsc.inc          | 14 +++++
- OvmfPkg/OvmfTpmLibsDxe.dsc.inc       |  8 +++
- OvmfPkg/OvmfTpmLibsPeim.dsc.inc      |  9 +++
- OvmfPkg/OvmfTpmPcds.dsc.inc          |  7 +++
- OvmfPkg/OvmfTpmPcdsHii.dsc.inc       |  8 +++
- OvmfPkg/OvmfTpmPei.fdf.inc           | 11 ++++
- OvmfPkg/OvmfTpmSecurityStub.dsc.inc  |  8 +++
- 19 files changed, 185 insertions(+), 359 deletions(-)
- create mode 100644 OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
- create mode 100644 OvmfPkg/OvmfTpmComponentsPei.dsc.inc
- create mode 100644 OvmfPkg/OvmfTpmDefines.dsc.inc
- create mode 100644 OvmfPkg/OvmfTpmDxe.fdf.inc
- create mode 100644 OvmfPkg/OvmfTpmLibs.dsc.inc
- create mode 100644 OvmfPkg/OvmfTpmLibsDxe.dsc.inc
- create mode 100644 OvmfPkg/OvmfTpmLibsPeim.dsc.inc
- create mode 100644 OvmfPkg/OvmfTpmPcds.dsc.inc
- create mode 100644 OvmfPkg/OvmfTpmPcdsHii.dsc.inc
- create mode 100644 OvmfPkg/OvmfTpmPei.fdf.inc
- create mode 100644 OvmfPkg/OvmfTpmSecurityStub.dsc.inc
-
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
-index 88b65b9f59..8610602ddb 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.dsc
-+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
-@@ -32,8 +32,8 @@
-   # -D FLAG=VALUE
-   #
-   DEFINE SOURCE_DEBUG_ENABLE     = FALSE
--  DEFINE TPM_ENABLE              = FALSE
--  DEFINE TPM_CONFIG_ENABLE       = FALSE
-+
-+!include OvmfPkg/OvmfTpmDefines.dsc.inc
- 
-   #
-   # Shell can be useful for debugging but should not be enabled for production
-@@ -203,16 +203,7 @@
-   SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
-   OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
--  Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
--  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
--  Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
--  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
--!else
--  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf
--  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
--!endif
-+!include OvmfPkg/OvmfTpmLibs.dsc.inc
- 
- [LibraryClasses.common]
-   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-@@ -286,11 +277,7 @@
-   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
--  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
--  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
--!endif
-+!include OvmfPkg/OvmfTpmLibsPeim.dsc.inc
- 
-   MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf
- 
-@@ -371,10 +358,8 @@
-   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
-   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
-   QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf
--!if $(TPM_ENABLE) == TRUE
--  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
--  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
--!endif
-+
-+!include OvmfPkg/OvmfTpmLibsDxe.dsc.inc
- 
- [LibraryClasses.common.UEFI_APPLICATION]
-   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-@@ -576,15 +561,10 @@
- 
-   gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
- 
--!if $(TPM_ENABLE) == TRUE
--  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
--!endif
-+!include OvmfPkg/OvmfTpmPcds.dsc.inc
- 
- [PcdsDynamicHii]
--!if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
--  gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
--  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
--!endif
-+!include OvmfPkg/OvmfTpmPcdsHii.dsc.inc
- 
- ################################################################################
- #
-@@ -625,24 +605,7 @@
-   UefiCpuPkg/CpuMpPei/CpuMpPei.inf
-   OvmfPkg/AmdSev/SecretPei/SecretPei.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
--  SecurityPkg/Tcg/TcgPei/TcgPei.inf
--  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
--    <LibraryClasses>
--      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
--  }
--  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf {
--    <LibraryClasses>
--      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
--  }
--!endif
-+!include OvmfPkg/OvmfTpmComponentsPei.dsc.inc
- 
-   #
-   # DXE Phase modules
-@@ -664,10 +627,7 @@
- 
-   MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf {
-     <LibraryClasses>
--!if $(TPM_ENABLE) == TRUE
--      NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
--      NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
--!endif
-+!include OvmfPkg/OvmfTpmSecurityStub.dsc.inc
-   }
- 
-   OvmfPkg/8259InterruptControllerDxe/8259.inf
-@@ -830,27 +790,4 @@
-   #
-   # TPM support
-   #
--!if $(TPM_ENABLE) == TRUE
--  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
--    <LibraryClasses>
--      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
--      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
--      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
--  }
--!if $(TPM_CONFIG_ENABLE) == TRUE
--  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
--!endif
--  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
--    <LibraryClasses>
--      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
--  }
--  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf {
--    <LibraryClasses>
--      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
--  }
--!endif
-+!include OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
-index 325570c5a3..3f2329dab4 100644
---- a/OvmfPkg/AmdSev/AmdSevX64.fdf
-+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
-@@ -156,13 +156,7 @@ INF  UefiCpuPkg/Universal/Acpi/S3Resume2Pei/S3Resume2Pei.inf
- INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
- INF  OvmfPkg/AmdSev/SecretPei/SecretPei.inf
- 
--!if $(TPM_ENABLE) == TRUE
--INF  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
--INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
--INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
--INF  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf
--!endif
-+!include OvmfPkg/OvmfTpmPei.fdf.inc
- 
- ################################################################################
- 
-@@ -311,14 +305,7 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
- #
- # TPM support
- #
--!if $(TPM_ENABLE) == TRUE
--INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
--INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
--INF  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf
--!if $(TPM_CONFIG_ENABLE) == TRUE
--INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
--!endif
--!endif
-+!include OvmfPkg/OvmfTpmDxe.fdf.inc
- 
- ################################################################################
- 
-diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
-index fa42d919be..904176ccfc 100644
---- a/OvmfPkg/OvmfPkgIa32.dsc
-+++ b/OvmfPkg/OvmfPkgIa32.dsc
-@@ -32,10 +32,10 @@
-   DEFINE SECURE_BOOT_ENABLE      = FALSE
-   DEFINE SMM_REQUIRE             = FALSE
-   DEFINE SOURCE_DEBUG_ENABLE     = FALSE
--  DEFINE TPM_ENABLE              = FALSE
--  DEFINE TPM_CONFIG_ENABLE       = FALSE
-   DEFINE LOAD_X64_ON_IA32_ENABLE = FALSE
- 
-+!include OvmfPkg/OvmfTpmDefines.dsc.inc
-+
-   #
-   # Network definition
-   #
-@@ -229,16 +229,7 @@
-   SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
-   OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
--  Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
--  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
--  Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
--  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
--!else
--  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf
--  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
--!endif
-+!include OvmfPkg/OvmfTpmLibs.dsc.inc
- 
- [LibraryClasses.common]
-   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-@@ -309,11 +300,7 @@
-   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
--  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
--  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
--!endif
-+!include OvmfPkg/OvmfTpmLibsPeim.dsc.inc
- 
-   MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf
- 
-@@ -401,10 +388,8 @@
-   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
-   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
-   QemuLoadImageLib|OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.inf
--!if $(TPM_ENABLE) == TRUE
--  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
--  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
--!endif
-+
-+!include OvmfPkg/OvmfTpmLibsDxe.dsc.inc
- 
- [LibraryClasses.common.UEFI_APPLICATION]
-   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-@@ -643,19 +628,14 @@
- 
-   gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
- 
--!if $(TPM_ENABLE) == TRUE
--  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
--!endif
-+!include OvmfPkg/OvmfTpmPcds.dsc.inc
- 
-   # IPv4 and IPv6 PXE Boot support.
-   gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01
-   gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
- 
- [PcdsDynamicHii]
--!if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
--  gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
--  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
--!endif
-+!include OvmfPkg/OvmfTpmPcdsHii.dsc.inc
- 
- ################################################################################
- #
-@@ -705,24 +685,7 @@
- !endif
-   UefiCpuPkg/CpuMpPei/CpuMpPei.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
--  SecurityPkg/Tcg/TcgPei/TcgPei.inf
--  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
--    <LibraryClasses>
--      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
--  }
--  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf {
--    <LibraryClasses>
--      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
--  }
--!endif
-+!include OvmfPkg/OvmfTpmComponentsPei.dsc.inc
- 
-   #
-   # DXE Phase modules
-@@ -747,10 +710,7 @@
- !if $(SECURE_BOOT_ENABLE) == TRUE
-       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
- !endif
--!if $(TPM_ENABLE) == TRUE
--      NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
--      NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
--!endif
-+!include OvmfPkg/OvmfTpmSecurityStub.dsc.inc
-   }
- 
-   OvmfPkg/8259InterruptControllerDxe/8259.inf
-@@ -1004,31 +964,5 @@
-   #
-   # TPM support
-   #
--!if $(TPM_ENABLE) == TRUE
--  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
--    <LibraryClasses>
--      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
--      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
--      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
--  }
--!if $(TPM_CONFIG_ENABLE) == TRUE
--  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
--!endif
--  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
--    <LibraryClasses>
--      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
--  }
--  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf {
--    <LibraryClasses>
--      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
--  }
--!endif
-+!include OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
- 
--!if $(LOAD_X64_ON_IA32_ENABLE) == TRUE
--  OvmfPkg/CompatImageLoaderDxe/CompatImageLoaderDxe.inf
--!endif
-diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
-index 51433836d6..8ba9ffc83e 100644
---- a/OvmfPkg/OvmfPkgIa32.fdf
-+++ b/OvmfPkg/OvmfPkgIa32.fdf
-@@ -161,13 +161,7 @@ INF  OvmfPkg/SmmAccess/SmmAccessPei.inf
- !endif
- INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
- 
--!if $(TPM_ENABLE) == TRUE
--INF  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
--INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
--INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
--INF  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf
--!endif
-+!include OvmfPkg/OvmfTpmPei.fdf.inc
- 
- ################################################################################
- 
-@@ -353,14 +347,7 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
- #
- # TPM support
- #
--!if $(TPM_ENABLE) == TRUE
--INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
--INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
--INF  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf
--!if $(TPM_CONFIG_ENABLE) == TRUE
--INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
--!endif
--!endif
-+!include OvmfPkg/OvmfTpmDxe.fdf.inc
- 
- !if $(LOAD_X64_ON_IA32_ENABLE) == TRUE
- INF  OvmfPkg/CompatImageLoaderDxe/CompatImageLoaderDxe.inf
-diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
-index ef962565f8..aebd8980e4 100644
---- a/OvmfPkg/OvmfPkgIa32X64.dsc
-+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
-@@ -32,8 +32,8 @@
-   DEFINE SECURE_BOOT_ENABLE      = FALSE
-   DEFINE SMM_REQUIRE             = FALSE
-   DEFINE SOURCE_DEBUG_ENABLE     = FALSE
--  DEFINE TPM_ENABLE              = FALSE
--  DEFINE TPM_CONFIG_ENABLE       = FALSE
-+
-+!include OvmfPkg/OvmfTpmDefines.dsc.inc
- 
-   #
-   # Network definition
-@@ -233,16 +233,7 @@
-   SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
-   OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
--  Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
--  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
--  Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
--  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
--!else
--  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf
--  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
--!endif
-+!include OvmfPkg/OvmfTpmLibs.dsc.inc
- 
- [LibraryClasses.common]
-   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-@@ -313,11 +304,7 @@
-   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
--  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
--  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
--!endif
-+!include OvmfPkg/OvmfTpmLibsPeim.dsc.inc
- 
-   MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf
- 
-@@ -405,10 +392,8 @@
-   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
-   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
-   QemuLoadImageLib|OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.inf
--!if $(TPM_ENABLE) == TRUE
--  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
--  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
--!endif
-+
-+!include OvmfPkg/OvmfTpmLibsDxe.dsc.inc
- 
- [LibraryClasses.common.UEFI_APPLICATION]
-   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-@@ -655,9 +640,7 @@
- 
-   gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
- 
--!if $(TPM_ENABLE) == TRUE
--  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
--!endif
-+!include OvmfPkg/OvmfTpmPcds.dsc.inc
- 
- [PcdsDynamicDefault.X64]
-   # IPv4 and IPv6 PXE Boot support.
-@@ -665,10 +648,7 @@
-   gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
- 
- [PcdsDynamicHii]
--!if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
--  gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
--  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
--!endif
-+!include OvmfPkg/OvmfTpmPcdsHii.dsc.inc
- 
- ################################################################################
- #
-@@ -718,24 +698,7 @@
- !endif
-   UefiCpuPkg/CpuMpPei/CpuMpPei.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
--  SecurityPkg/Tcg/TcgPei/TcgPei.inf
--  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
--    <LibraryClasses>
--      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
--  }
--  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf {
--    <LibraryClasses>
--      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
--  }
--!endif
-+!include OvmfPkg/OvmfTpmComponentsPei.dsc.inc
- 
- [Components.X64]
-   #
-@@ -761,10 +724,7 @@
- !if $(SECURE_BOOT_ENABLE) == TRUE
-       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
- !endif
--!if $(TPM_ENABLE) == TRUE
--      NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
--      NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
--!endif
-+!include OvmfPkg/OvmfTpmSecurityStub.dsc.inc
-   }
- 
-   OvmfPkg/8259InterruptControllerDxe/8259.inf
-@@ -1019,27 +979,4 @@
-   #
-   # TPM support
-   #
--!if $(TPM_ENABLE) == TRUE
--  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
--    <LibraryClasses>
--      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
--      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
--      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
--  }
--!if $(TPM_CONFIG_ENABLE) == TRUE
--  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
--!endif
--  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
--    <LibraryClasses>
--      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
--  }
--  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf {
--    <LibraryClasses>
--      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
--  }
--!endif
-+!include OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
-index a50f80e1e9..65d2600016 100644
---- a/OvmfPkg/OvmfPkgIa32X64.fdf
-+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
-@@ -164,13 +164,7 @@ INF  OvmfPkg/SmmAccess/SmmAccessPei.inf
- !endif
- INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
- 
--!if $(TPM_ENABLE) == TRUE
--INF  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
--INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
--INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
--INF  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf
--!endif
-+!include OvmfPkg/OvmfTpmPei.fdf.inc
- 
- ################################################################################
- 
-@@ -363,14 +357,7 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
- #
- # TPM support
- #
--!if $(TPM_ENABLE) == TRUE
--INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
--INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
--INF  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf
--!if $(TPM_CONFIG_ENABLE) == TRUE
--INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
--!endif
--!endif
-+!include OvmfPkg/OvmfTpmDxe.fdf.inc
- 
- ################################################################################
- 
-diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
-index ba9f9833b0..e85ac3d682 100644
---- a/OvmfPkg/OvmfPkgX64.dsc
-+++ b/OvmfPkg/OvmfPkgX64.dsc
-@@ -32,8 +32,8 @@
-   DEFINE SECURE_BOOT_ENABLE      = FALSE
-   DEFINE SMM_REQUIRE             = FALSE
-   DEFINE SOURCE_DEBUG_ENABLE     = FALSE
--  DEFINE TPM_ENABLE              = FALSE
--  DEFINE TPM_CONFIG_ENABLE       = FALSE
-+
-+!include OvmfPkg/OvmfTpmDefines.dsc.inc
- 
-   #
-   # Network definition
-@@ -233,16 +233,7 @@
-   SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf
-   OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
--  Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
--  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
--  Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
--  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
--!else
--  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf
--  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
--!endif
-+!include OvmfPkg/OvmfTpmLibs.dsc.inc
- 
- [LibraryClasses.common]
-   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf
-@@ -315,11 +306,7 @@
-   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
-   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
--  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
--  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
--!endif
-+!include OvmfPkg/OvmfTpmLibsPeim.dsc.inc
- 
-   MemEncryptSevLib|OvmfPkg/Library/BaseMemEncryptSevLib/PeiMemEncryptSevLib.inf
- 
-@@ -407,10 +394,8 @@
-   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
-   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
-   QemuLoadImageLib|OvmfPkg/Library/X86QemuLoadImageLib/X86QemuLoadImageLib.inf
--!if $(TPM_ENABLE) == TRUE
--  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
--  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
--!endif
-+
-+!include OvmfPkg/OvmfTpmLibsDxe.dsc.inc
- 
- [LibraryClasses.common.UEFI_APPLICATION]
-   PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf
-@@ -655,19 +640,14 @@
- 
-   gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
- 
--!if $(TPM_ENABLE) == TRUE
--  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
--!endif
-+!include OvmfPkg/OvmfTpmPcds.dsc.inc
- 
-   # IPv4 and IPv6 PXE Boot support.
-   gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01
-   gEfiNetworkPkgTokenSpaceGuid.PcdIPv6PXESupport|0x01
- 
- [PcdsDynamicHii]
--!if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
--  gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
--  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
--!endif
-+!include OvmfPkg/OvmfTpmPcdsHii.dsc.inc
- 
- ################################################################################
- #
-@@ -717,24 +697,7 @@
- !endif
-   UefiCpuPkg/CpuMpPei/CpuMpPei.inf
- 
--!if $(TPM_ENABLE) == TRUE
--  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
--  SecurityPkg/Tcg/TcgPei/TcgPei.inf
--  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
--    <LibraryClasses>
--      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
--  }
--  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf {
--    <LibraryClasses>
--      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
--  }
--!endif
-+!include OvmfPkg/OvmfTpmComponentsPei.dsc.inc
- 
-   #
-   # DXE Phase modules
-@@ -758,10 +721,7 @@
-     <LibraryClasses>
- !if $(SECURE_BOOT_ENABLE) == TRUE
-       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
--!endif
--!if $(TPM_ENABLE) == TRUE
--      NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
--      NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
-+!include OvmfPkg/OvmfTpmSecurityStub.dsc.inc
- !endif
-   }
- 
-@@ -1017,27 +977,4 @@
-   #
-   # TPM support
-   #
--!if $(TPM_ENABLE) == TRUE
--  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
--    <LibraryClasses>
--      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
--      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
--      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
--      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
--  }
--!if $(TPM_CONFIG_ENABLE) == TRUE
--  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
--!endif
--  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
--    <LibraryClasses>
--      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
--  }
--  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf {
--    <LibraryClasses>
--      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
--  }
--!endif
-+!include OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
-index dd1c6eded9..e5cbae2073 100644
---- a/OvmfPkg/OvmfPkgX64.fdf
-+++ b/OvmfPkg/OvmfPkgX64.fdf
-@@ -180,13 +180,7 @@ INF  OvmfPkg/SmmAccess/SmmAccessPei.inf
- !endif
- INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
- 
--!if $(TPM_ENABLE) == TRUE
--INF  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
--INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
--INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
--INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
--INF  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf
--!endif
-+!include OvmfPkg/OvmfTpmPei.fdf.inc
- 
- ################################################################################
- 
-@@ -379,14 +373,7 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
- #
- # TPM support
- #
--!if $(TPM_ENABLE) == TRUE
--INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
--INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
--INF  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf
--!if $(TPM_CONFIG_ENABLE) == TRUE
--INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
--!endif
--!endif
-+!include OvmfPkg/OvmfTpmDxe.fdf.inc
- 
- ################################################################################
- 
-diff --git a/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc b/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-new file mode 100644
-index 0000000000..d5c2586118
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-@@ -0,0 +1,28 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE
-+  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
-+    <LibraryClasses>
-+      Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
-+      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf
-+      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
-+  }
-+!if $(TPM_CONFIG_ENABLE) == TRUE
-+  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
-+!endif
-+  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
-+    <LibraryClasses>
-+      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
-+  }
-+  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf {
-+    <LibraryClasses>
-+      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
-+  }
-+!endif
-diff --git a/OvmfPkg/OvmfTpmComponentsPei.dsc.inc b/OvmfPkg/OvmfTpmComponentsPei.dsc.inc
-new file mode 100644
-index 0000000000..99fa7c13b3
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmComponentsPei.dsc.inc
-@@ -0,0 +1,22 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE
-+  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
-+  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
-+  SecurityPkg/Tcg/TcgPei/TcgPei.inf
-+  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
-+    <LibraryClasses>
-+      HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
-+      NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
-+  }
-+  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf {
-+    <LibraryClasses>
-+      TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
-+  }
-+!endif
-diff --git a/OvmfPkg/OvmfTpmDefines.dsc.inc b/OvmfPkg/OvmfTpmDefines.dsc.inc
-new file mode 100644
-index 0000000000..51da7508b3
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmDefines.dsc.inc
-@@ -0,0 +1,6 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+  DEFINE TPM_ENABLE              = FALSE
-+  DEFINE TPM_CONFIG_ENABLE       = FALSE
-diff --git a/OvmfPkg/OvmfTpmDxe.fdf.inc b/OvmfPkg/OvmfTpmDxe.fdf.inc
-new file mode 100644
-index 0000000000..9dcdaaf01c
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmDxe.fdf.inc
-@@ -0,0 +1,12 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE
-+INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
-+INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
-+INF  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf
-+!if $(TPM_CONFIG_ENABLE) == TRUE
-+INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
-+!endif
-+!endif
-diff --git a/OvmfPkg/OvmfTpmLibs.dsc.inc b/OvmfPkg/OvmfTpmLibs.dsc.inc
-new file mode 100644
-index 0000000000..50100f2c03
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmLibs.dsc.inc
-@@ -0,0 +1,14 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE
-+  Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
-+  Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
-+  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
-+  Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
-+  TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf
-+!else
-+  Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibNull/DxeTcg2PhysicalPresenceLib.inf
-+  TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf
-+!endif
-diff --git a/OvmfPkg/OvmfTpmLibsDxe.dsc.inc b/OvmfPkg/OvmfTpmLibsDxe.dsc.inc
-new file mode 100644
-index 0000000000..67d5027aba
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmLibsDxe.dsc.inc
-@@ -0,0 +1,8 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE
-+  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
-+  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
-+!endif
-diff --git a/OvmfPkg/OvmfTpmLibsPeim.dsc.inc b/OvmfPkg/OvmfTpmLibsPeim.dsc.inc
-new file mode 100644
-index 0000000000..4e84e3dcaa
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmLibsPeim.dsc.inc
-@@ -0,0 +1,9 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE
-+  BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
-+  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
-+  Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
-+!endif
-diff --git a/OvmfPkg/OvmfTpmPcds.dsc.inc b/OvmfPkg/OvmfTpmPcds.dsc.inc
-new file mode 100644
-index 0000000000..0e7f83c04b
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmPcds.dsc.inc
-@@ -0,0 +1,7 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE
-+  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
-+!endif
-diff --git a/OvmfPkg/OvmfTpmPcdsHii.dsc.inc b/OvmfPkg/OvmfTpmPcdsHii.dsc.inc
-new file mode 100644
-index 0000000000..164bc9c7fc
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmPcdsHii.dsc.inc
-@@ -0,0 +1,8 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
-+  gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
-+  gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
-+!endif
-diff --git a/OvmfPkg/OvmfTpmPei.fdf.inc b/OvmfPkg/OvmfTpmPei.fdf.inc
-new file mode 100644
-index 0000000000..9aefd73d21
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmPei.fdf.inc
-@@ -0,0 +1,11 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE
-+INF  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
-+INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
-+INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
-+INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
-+INF  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf
-+!endif
-diff --git a/OvmfPkg/OvmfTpmSecurityStub.dsc.inc b/OvmfPkg/OvmfTpmSecurityStub.dsc.inc
-new file mode 100644
-index 0000000000..4bd4066843
---- /dev/null
-+++ b/OvmfPkg/OvmfTpmSecurityStub.dsc.inc
-@@ -0,0 +1,8 @@
-+##
-+#    SPDX-License-Identifier: BSD-2-Clause-Patent
-+##
-+
-+!if $(TPM_ENABLE) == TRUE
-+      NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
-+      NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
-+!endif
--- 
-2.27.0
-
diff --git a/SOURCES/edk2-OvmfPkg-remove-unused-TPM-options-from-MicrovmX64.ds.patch b/SOURCES/edk2-OvmfPkg-remove-unused-TPM-options-from-MicrovmX64.ds.patch
deleted file mode 100644
index 6920cec..0000000
--- a/SOURCES/edk2-OvmfPkg-remove-unused-TPM-options-from-MicrovmX64.ds.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 9948bb7e9e693b4add121964ec724d4db09df352 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Wed, 15 Dec 2021 12:39:16 +0100
-Subject: [PATCH 1/6] OvmfPkg: remove unused TPM options from MicrovmX64.dsc
-
-RH-Author: Gerd Hoffmann <kraxel@redhat.com>
-RH-MergeRequest: 9: backport tpm build updates, disable tpm 1.2 support
-RH-Commit: [1/6] cce6ba5501b413c0eb87ac452a53818e68dfa630 (kraxel/centos-edk2)
-RH-Bugzilla: 1935497
-RH-Acked-by: Oliver Steffen <None>
-
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-(cherry picked from commit 3a72ec71cd83f0f5ad2f1d3c78527f4b247da75f)
----
- OvmfPkg/Microvm/MicrovmX64.dsc | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
-index 617f925395..c58c4c35d4 100644
---- a/OvmfPkg/Microvm/MicrovmX64.dsc
-+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
-@@ -32,8 +32,6 @@
-   DEFINE SECURE_BOOT_ENABLE      = FALSE
-   DEFINE SMM_REQUIRE             = FALSE
-   DEFINE SOURCE_DEBUG_ENABLE     = FALSE
--  DEFINE TPM_ENABLE              = FALSE
--  DEFINE TPM_CONFIG_ENABLE       = FALSE
- 
-   #
-   # Network definition
--- 
-2.27.0
-
diff --git a/SOURCES/edk2-OvmfPkg-rework-TPM-configuration.patch b/SOURCES/edk2-OvmfPkg-rework-TPM-configuration.patch
deleted file mode 100644
index 6843741..0000000
--- a/SOURCES/edk2-OvmfPkg-rework-TPM-configuration.patch
+++ /dev/null
@@ -1,293 +0,0 @@
-From 5787adaccb16e4af7df661d6c7eb3197c7f14218 Mon Sep 17 00:00:00 2001
-From: Gerd Hoffmann <kraxel@redhat.com>
-Date: Wed, 15 Dec 2021 12:39:20 +0100
-Subject: [PATCH 5/6] OvmfPkg: rework TPM configuration
-
-RH-Author: Gerd Hoffmann <kraxel@redhat.com>
-RH-MergeRequest: 9: backport tpm build updates, disable tpm 1.2 support
-RH-Commit: [5/6] 81ed86c6993e8cca4fabf5f471e198134b907562 (kraxel/centos-edk2)
-RH-Bugzilla: 1935497
-RH-Acked-by: Oliver Steffen <None>
-
-Rename TPM_ENABLE to TPM2_ENABLE so naming is in line with the
-ArmVirtPkg config option name.
-
-Add separate TPM1_ENABLE option for TPM 1.2 support.
-
-Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
-Tested-by: Stefan Berger <stefanb@linux.ibm.com>
-(cherry picked from commit 4de8d61bcec02a13ceed84f92b0cf3ea58adf9c5)
----
- OvmfPkg/OvmfTpmComponentsDxe.dsc.inc                  | 4 +++-
- OvmfPkg/OvmfTpmComponentsPei.dsc.inc                  | 6 +++++-
- OvmfPkg/OvmfTpmDefines.dsc.inc                        | 5 ++++-
- OvmfPkg/OvmfTpmDxe.fdf.inc                            | 4 +++-
- OvmfPkg/OvmfTpmLibs.dsc.inc                           | 4 +++-
- OvmfPkg/OvmfTpmLibsDxe.dsc.inc                        | 4 +++-
- OvmfPkg/OvmfTpmLibsPeim.dsc.inc                       | 4 +++-
- OvmfPkg/OvmfTpmPcds.dsc.inc                           | 2 +-
- OvmfPkg/OvmfTpmPcdsHii.dsc.inc                        | 2 +-
- OvmfPkg/OvmfTpmPei.fdf.inc                            | 6 +++++-
- OvmfPkg/OvmfTpmSecurityStub.dsc.inc                   | 4 +++-
- OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml    | 6 +++---
- OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml | 6 +++---
- OvmfPkg/PlatformCI/ReadMe.md                          | 2 +-
- 14 files changed, 41 insertions(+), 18 deletions(-)
-
-diff --git a/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc b/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-index e025d85a58..75ae09571e 100644
---- a/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-+++ b/OvmfPkg/OvmfTpmComponentsDxe.dsc.inc
-@@ -2,7 +2,7 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
-   SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
-     <LibraryClasses>
-       Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
-@@ -15,10 +15,12 @@
-       NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
-   }
-   SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
-+!if $(TPM1_ENABLE) == TRUE
-   SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
-     <LibraryClasses>
-       Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
-   }
-+!endif
-   SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf {
-     <LibraryClasses>
-       TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf
-diff --git a/OvmfPkg/OvmfTpmComponentsPei.dsc.inc b/OvmfPkg/OvmfTpmComponentsPei.dsc.inc
-index 87d491da50..fa486eed82 100644
---- a/OvmfPkg/OvmfTpmComponentsPei.dsc.inc
-+++ b/OvmfPkg/OvmfTpmComponentsPei.dsc.inc
-@@ -2,10 +2,14 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
-   OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
-+!if $(TPM1_ENABLE) == TRUE
-   OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei.inf
-   SecurityPkg/Tcg/TcgPei/TcgPei.inf
-+!else
-+  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
-+!endif
-   SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
-     <LibraryClasses>
-       HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
-diff --git a/OvmfPkg/OvmfTpmDefines.dsc.inc b/OvmfPkg/OvmfTpmDefines.dsc.inc
-index 5df4a331fb..a65564d8d9 100644
---- a/OvmfPkg/OvmfTpmDefines.dsc.inc
-+++ b/OvmfPkg/OvmfTpmDefines.dsc.inc
-@@ -2,4 +2,7 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--  DEFINE TPM_ENABLE              = FALSE
-+  DEFINE TPM2_ENABLE             = FALSE
-+
-+  # has no effect unless TPM2_ENABLE == TRUE
-+  DEFINE TPM1_ENABLE             = TRUE
-diff --git a/OvmfPkg/OvmfTpmDxe.fdf.inc b/OvmfPkg/OvmfTpmDxe.fdf.inc
-index 32eef24638..7fc2bf8590 100644
---- a/OvmfPkg/OvmfTpmDxe.fdf.inc
-+++ b/OvmfPkg/OvmfTpmDxe.fdf.inc
-@@ -2,8 +2,10 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
-+!if $(TPM1_ENABLE) == TRUE
- INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
-+!endif
- INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
- INF  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf
- INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
-diff --git a/OvmfPkg/OvmfTpmLibs.dsc.inc b/OvmfPkg/OvmfTpmLibs.dsc.inc
-index 50100f2c03..418747b134 100644
---- a/OvmfPkg/OvmfTpmLibs.dsc.inc
-+++ b/OvmfPkg/OvmfTpmLibs.dsc.inc
-@@ -2,8 +2,10 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
-+!if $(TPM1_ENABLE) == TRUE
-   Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
-+!endif
-   Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
-   Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
-   Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
-diff --git a/OvmfPkg/OvmfTpmLibsDxe.dsc.inc b/OvmfPkg/OvmfTpmLibsDxe.dsc.inc
-index 67d5027aba..1d66cdac77 100644
---- a/OvmfPkg/OvmfTpmLibsDxe.dsc.inc
-+++ b/OvmfPkg/OvmfTpmLibsDxe.dsc.inc
-@@ -2,7 +2,9 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
-+!if $(TPM1_ENABLE) == TRUE
-   Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
-+!endif
-   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
- !endif
-diff --git a/OvmfPkg/OvmfTpmLibsPeim.dsc.inc b/OvmfPkg/OvmfTpmLibsPeim.dsc.inc
-index 4e84e3dcaa..03caccd7c6 100644
---- a/OvmfPkg/OvmfTpmLibsPeim.dsc.inc
-+++ b/OvmfPkg/OvmfTpmLibsPeim.dsc.inc
-@@ -2,8 +2,10 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
-   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
-+!if $(TPM1_ENABLE) == TRUE
-   Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
-+!endif
-   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
- !endif
-diff --git a/OvmfPkg/OvmfTpmPcds.dsc.inc b/OvmfPkg/OvmfTpmPcds.dsc.inc
-index 0e7f83c04b..0d55d62737 100644
---- a/OvmfPkg/OvmfTpmPcds.dsc.inc
-+++ b/OvmfPkg/OvmfTpmPcds.dsc.inc
-@@ -2,6 +2,6 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
-   gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
- !endif
-diff --git a/OvmfPkg/OvmfTpmPcdsHii.dsc.inc b/OvmfPkg/OvmfTpmPcdsHii.dsc.inc
-index 2e02a5b4cb..e842253235 100644
---- a/OvmfPkg/OvmfTpmPcdsHii.dsc.inc
-+++ b/OvmfPkg/OvmfTpmPcdsHii.dsc.inc
-@@ -2,7 +2,7 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
-   gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
-   gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
- !endif
-diff --git a/OvmfPkg/OvmfTpmPei.fdf.inc b/OvmfPkg/OvmfTpmPei.fdf.inc
-index 709a608cc3..9f8b9bdd5b 100644
---- a/OvmfPkg/OvmfTpmPei.fdf.inc
-+++ b/OvmfPkg/OvmfTpmPei.fdf.inc
-@@ -2,10 +2,14 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
- INF  OvmfPkg/Tcg/TpmMmioSevDecryptPei/TpmMmioSevDecryptPei.inf
-+!if $(TPM1_ENABLE) == TRUE
- INF  OvmfPkg/Tcg/Tcg2Config/Tcg12ConfigPei.inf
- INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
-+!else
-+INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
-+!endif
- INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
- INF  SecurityPkg/Tcg/Tcg2PlatformPei/Tcg2PlatformPei.inf
- !endif
-diff --git a/OvmfPkg/OvmfTpmSecurityStub.dsc.inc b/OvmfPkg/OvmfTpmSecurityStub.dsc.inc
-index 4bd4066843..e9ab2fca7b 100644
---- a/OvmfPkg/OvmfTpmSecurityStub.dsc.inc
-+++ b/OvmfPkg/OvmfTpmSecurityStub.dsc.inc
-@@ -2,7 +2,9 @@
- #    SPDX-License-Identifier: BSD-2-Clause-Patent
- ##
- 
--!if $(TPM_ENABLE) == TRUE
-+!if $(TPM2_ENABLE) == TRUE
-+!if $(TPM1_ENABLE) == TRUE
-       NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
-+!endif
-       NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
- !endif
-diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
-index 1774423580..8df31298f5 100644
---- a/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
-+++ b/OvmfPkg/PlatformCI/.azurepipelines/Ubuntu-GCC5.yml
-@@ -95,21 +95,21 @@ jobs:
-           OVMF_IA32X64_FULL_DEBUG:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "DEBUG"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-           OVMF_IA32X64_FULL_RELEASE:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "RELEASE"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-           OVMF_IA32X64_FULL_NOOPT:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "NOOPT"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-diff --git a/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml b/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml
-index 09f9851312..68b5d951e9 100644
---- a/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml
-+++ b/OvmfPkg/PlatformCI/.azurepipelines/Windows-VS2019.yml
-@@ -94,14 +94,14 @@ jobs:
-           OVMF_IA32X64_FULL_DEBUG:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "DEBUG"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-           OVMF_IA32X64_FULL_RELEASE:
-             Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-             Build.Arch: "IA32,X64"
--            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+            Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-             Build.Target: "RELEASE"
-             Run.Flags: $(run_flags)
-             Run: $(should_run)
-@@ -112,7 +112,7 @@ jobs:
-     #       OVMF_IA32X64_FULL_NOOPT:
-     #         Build.File: "$(package)/PlatformCI/PlatformBuild.py"
-     #         Build.Arch: "IA32,X64"
--    #         Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1 BLD_*_TPM_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-+    #         Build.Flags: "BLD_*_SECURE_BOOT_ENABLE=1 BLD_*_SMM_REQUIRE=1  BLD_*_TPM2_ENABLE=1 BLD_*_NETWORK_TLS_ENABLE=1 BLD_*_NETWORK_IP6_ENABLE=1 BLD_*_NETWORK_HTTP_BOOT_ENABLE=1"
-     #         Build.Target: "NOOPT"
-     #         Run.Flags: $(run_flags)
-     #         Run: $(should_run)
-diff --git a/OvmfPkg/PlatformCI/ReadMe.md b/OvmfPkg/PlatformCI/ReadMe.md
-index 44aa7c4a9d..1216dee126 100644
---- a/OvmfPkg/PlatformCI/ReadMe.md
-+++ b/OvmfPkg/PlatformCI/ReadMe.md
-@@ -14,7 +14,7 @@ supported and are described below.
- | IA32                    | IA32               | OvmfPkgIa32.dsc     | None            |
- | X64                     | X64                | OvmfPkgIa64.dsc     | None            |
- | IA32 X64                | PEI-IA32 DXE-X64   | OvmfPkgIa32X64.dsc  | None            |
--| IA32 X64 Full           | PEI-IA32 DXE-X64   | OvmfPkgIa32X64.dsc  | SECURE_BOOT_ENABLE=1 SMM_REQUIRE=1 TPM_ENABLE=1 NETWORK_TLS_ENABLE=1 NETWORK_IP6_ENABLE=1 NETWORK_HTTP_BOOT_ENABLE=1 |
-+| IA32 X64 Full           | PEI-IA32 DXE-X64   | OvmfPkgIa32X64.dsc  | SECURE_BOOT_ENABLE=1 SMM_REQUIRE=1 TPM1_ENABLE=1 TPM2_ENABLE=1 NETWORK_TLS_ENABLE=1 NETWORK_IP6_ENABLE=1 NETWORK_HTTP_BOOT_ENABLE=1 |
- 
- ## EDK2 Developer environment
- 
--- 
-2.27.0
-
diff --git a/SOURCES/ovmf-vars-generator b/SOURCES/ovmf-vars-generator
index 111e438..99bc4e5 100755
--- a/SOURCES/ovmf-vars-generator
+++ b/SOURCES/ovmf-vars-generator
@@ -46,6 +46,7 @@ def generate_qemu_cmd(args, readonly, *extra_args):
         args.qemu_binary,
         '-machine', machinetype,
         '-display', 'none',
+        '-cpu', 'max',
         '-no-user-config',
         '-nodefaults',
         '-m', '768',
diff --git a/SPECS/edk2.spec b/SPECS/edk2.spec
index eb68f1b..9390a17 100644
--- a/SPECS/edk2.spec
+++ b/SPECS/edk2.spec
@@ -1,7 +1,7 @@
 ExclusiveArch: x86_64 aarch64
 
-%define GITDATE        20220126
-%define GITCOMMIT      bb1bba3d77
+%define GITDATE        20220526
+%define GITCOMMIT      16779ede2d36
 %define TOOLCHAIN      GCC5
 %define OPENSSL_VER    1.1.1k
 
@@ -24,18 +24,18 @@ ExclusiveArch: x86_64 aarch64
 
 Name:       edk2
 Version:    %{GITDATE}git%{GITCOMMIT}
-Release:    3%{?dist}.1
+Release:    3%{?dist}
 Summary:    UEFI firmware for 64-bit virtual machines
 License:    BSD-2-Clause-Patent and OpenSSL and MIT
 URL:        http://www.tianocore.org
 
 # The source tarball is created using following commands:
-# COMMIT=bb1bba3d77
+# COMMIT=16779ede2d36
 # git archive --format=tar --prefix=edk2-$COMMIT/ $COMMIT \
 # | xz -9ev >/tmp/edk2-$COMMIT.tar.xz
-Source0: http://batcave.lab.eng.brq.redhat.com/www/edk2-%{GITCOMMIT}.tar.xz
+Source0:edk2-%{GITCOMMIT}.tar.xz
 Source1: ovmf-whitepaper-c770f8c.txt
-Source2: openssl-rhel-a75722161d20fd632f8875585d3aa066ec5fea93.tar.xz
+Source2: openssl-rhel-740e53ace8f6771c205bf84780e26bcd7a3275df.tar.xz
 Source3: ovmf-vars-generator
 Source4: LICENSE.qosb
 Source5: RedHatSecureBootPkKek1.pem
@@ -47,55 +47,37 @@ Source13: edk2-ovmf.json
 Source14: edk2-ovmf-cc.json
 Source15: edk2-ovmf-amdsev.json
 
-Patch0008: 0008-BaseTools-do-not-build-BrotliCompress-RH-only.patch
-Patch0009: 0009-MdeModulePkg-remove-package-private-Brotli-include-p.patch
-Patch0010: 0010-OvmfPkg-increase-max-debug-message-length-to-512-RHE.patch
-Patch0011: 0011-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch
-Patch0012: 0012-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
-Patch0013: 0013-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
-Patch0014: 0014-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
-Patch0015: 0015-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
-Patch0016: 0016-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch
-Patch0017: 0017-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
-Patch0018: 0018-ArmVirtPkg-set-early-hello-message-RH-only.patch
-Patch0019: 0019-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch
-Patch0020: 0020-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch
-Patch0021: 0021-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch
-Patch0022: 0022-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch
-Patch0023: 0023-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
-Patch0024: 0024-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch
-Patch0025: 0025-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch
-Patch0026: 0026-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch
-Patch0029: 0029-OvmfPkg-Remove-PrintDxe-RHEL-only.patch
-Patch0030: 0030-OvmfPkg-Remove-EbcDxe-RHEL-only.patch
-Patch0031: 0031-ArmVirtPkg-Remove-EbcDxe-RHEL-only.patch
-Patch0032: 0032-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch
-Patch0033: 0033-OvmfPkg-Remove-QemuRamfbDxe-display-device-driver-RH.patch
-Patch0034: 0034-ArmVirtPkg-Remove-QemuRamfbDxe-display-device-driver.patch
-Patch0035: 0035-OvmfPkg-Remove-NvmExpressDxe-device-driver-RHEL-only.patch
-Patch0036: 0036-ArmVirtPkg-Remove-NvmExpressDxe-device-driver-RHEL-o.patch
-Patch0037: 0037-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch
-Patch0038: 0038-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch
-Patch0039: 0039-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
-Patch0040: 0040-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
-Patch0041: 0041-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch
-Patch0042: 0042-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch
-Patch0043: 0043-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch
-Patch0044: 0044-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch
-Patch0045: 0045-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch
-Patch0046: 0046-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch
-# For bz#1935497 - edk2  implements and/or uses the deprecated MD5 and SHA-1 algorithms by default
-Patch47: edk2-OvmfPkg-remove-unused-TPM-options-from-MicrovmX64.ds.patch
-# For bz#1935497 - edk2  implements and/or uses the deprecated MD5 and SHA-1 algorithms by default
-Patch48: edk2-OvmfPkg-move-tcg-configuration-to-dsc-and-fdf-includ.patch
-# For bz#1935497 - edk2  implements and/or uses the deprecated MD5 and SHA-1 algorithms by default
-Patch49: edk2-OvmfPkg-drop-TPM_CONFIG_ENABLE.patch
-# For bz#1935497 - edk2  implements and/or uses the deprecated MD5 and SHA-1 algorithms by default
-Patch50: edk2-OvmfPkg-create-Tcg12ConfigPei.inf.patch
-# For bz#1935497 - edk2  implements and/or uses the deprecated MD5 and SHA-1 algorithms by default
-Patch51: edk2-OvmfPkg-rework-TPM-configuration.patch
-# For bz#2041755 - Mark SEV launch secret area as reserved
-Patch52: edk2-OvmfPkg-AmdSev-SecretPei-Mark-SEV-launch-secret-area.patch
+Patch0002: 0002-Remove-submodules.patch
+Patch0003: 0003-OvmfPkg-increase-max-debug-message-length-to-512-RHE.patch
+Patch0004: 0004-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch
+Patch0005: 0005-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
+Patch0006: 0006-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
+Patch0007: 0007-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
+Patch0008: 0008-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
+Patch0009: 0009-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch
+Patch0010: 0010-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
+Patch0011: 0011-ArmVirtPkg-set-early-hello-message-RH-only.patch
+Patch0012: 0012-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch
+Patch0013: 0013-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch
+Patch0014: 0014-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch
+Patch0015: 0015-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch
+Patch0016: 0016-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
+Patch0017: 0017-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch
+Patch0018: 0018-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch
+Patch0019: 0019-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch
+Patch0021: 0021-OvmfPkg-Remove-EbcDxe-RHEL-only.patch
+Patch0022: 0022-ArmVirtPkg-Remove-EbcDxe-RHEL-only.patch
+Patch0023: 0023-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch
+Patch0024: 0024-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch
+Patch0025: 0025-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch
+Patch0026: 0026-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
+Patch0027: 0027-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
+Patch0028: 0028-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch
+Patch0029: 0029-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch
+Patch0030: 0030-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch
+Patch0031: 0031-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch
+Patch0032: 0032-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch
+Patch0033: 0033-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch
 
 
 # python3-devel and libuuid-devel are required for building tools.
@@ -546,10 +528,40 @@ KERNEL_IMG=$(rpm -q -l $KERNEL_PKG | egrep '^/lib/modules/[^/]+/vmlinuz$')
 
 
 %changelog
-* Fri Jul 29 2022 Miroslav Rezanina <mrezanin@redhat.com> - 20220126gitbb1bba3d77-3.el9_0.1
-- edk2-OvmfPkg-Update-target-machines-config.patch [bz#2109988]
-- Resolves: bz#2109988
-  (Add RHEL 8.5, 8,6 and 9.x machine types to firmware descriptor files 50-edk2-ovmf-{amdsev,cc}.json [rhel-9.0.0.z])
+* Mon Aug 01 2022 Miroslav Rezanina <mrezanin@redhat.com> - 20220526git16779ede2d36-3
+- edk2-openssl-jump-to-8.7.0-branch-2022-07-22.patch [bz#2074843]
+- edk2-ovmf-vars-generator-Use-max-cpu.patch [bz#2111567]
+- Resolves: bz#2074843
+  (edk2: sync openssl sources with rhel openssl rpm)
+- Resolves: bz#2111567
+  (EDK2 build stuck with qemu-kvm-7.0.0-8.el9 or newer)
+
+* Fri Jun 24 2022 Miroslav Rezanina <mrezanin@redhat.com> - 20220526git16779ede2d36-2
+- edk2-OvmfPkg-Update-target-machines-config.patch [bz#2090752]
+- Resolves: bz#2090752
+  (Add RHEL 8.5, 8,6 and 9.x machine types to firmware descriptor files 50-edk2-ovmf-{amdsev,cc}.json)
+
+* Mon Jun 13 2022 Miroslav Rezanina <mrezanin@redhat.com> - 20220526git16779ede2d36-1
+- Rebase to edk2-stable-202205 [bz#2074831]
+- Resolves: bz#2074831
+  (rebase edk2 to May 2022 release (edk2-stable202205))
+
+* Thu May 26 2022 Miroslav Rezanina <mrezanin@redhat.com> - 20220221gitb24306f15d-2
+- edk2-Revert-ArmVirtPkg-Remove-QemuRamfbDxe-display-device.patch [bz#2087220]
+- edk2-Revert-OvmfPkg-Remove-QemuRamfbDxe-display-device-dr.patch [bz#2087220]
+- Resolves: bz#2087220
+  (VNC display show "Guest has not initialized the display" when using ramfb + ovmf)
+
+* Thu Mar 31 2022 Miroslav Rezanina <mrezanin@redhat.com> - 20220221gitb24306f15d-1
+- Rebae to edk-stable-202202 [bz#2056910]
+- Resolves: bz#2056910
+  ([rebase] update edk2 to feb '22 release (edk2-stable202202xx))
+
+* Wed Mar 23 2022 Miroslav Rezanina <mrezanin@redhat.com> - 20220126gitbb1bba3d77-4
+- edk2-Revert-OvmfPkg-Remove-NvmExpressDxe-device-driver-RH.patch [bz#2044196]
+- edk2-Revert-ArmVirtPkg-Remove-NvmExpressDxe-device-driver.patch [bz#2044196]
+- Resolves: bz#2044196
+  (RFE: [nvme-vfio] The virt-install interface throws info "Failed to set new efi boot target"  when install a vm on a hostdev nvme disk)
 
 * Wed Feb 23 2022 Miroslav Rezanina <mrezanin@redhat.com> - 20220126gitbb1bba3d77-3
 - edk2-spec-build-amdsev-variant.patch [bz#2054661]