From 856f4067715e4543164c7d59af87c50fbe531c9b Mon Sep 17 00:00:00 2001 From: eabdullin Date: Wed, 8 Nov 2023 12:25:58 +0000 Subject: [PATCH] import CS edk2-20230524-4.el9_3 --- .edk2.metadata | 3 +- .gitignore | 3 +- SOURCES/0002-Remove-submodules.patch | 55 +++- ...minalDxe-add-other-text-resolutions-.patch | 172 ------------- ...inalDxe-set-xterm-resolution-on-mod.patch} | 84 +++---- ...esizeXterm-from-the-QEMU-command-li.patch} | 92 +++---- ...cdResizeXterm-from-the-QEMU-command.patch} | 162 ++++++------ ...fPkg-enable-DEBUG_VERBOSE-RHEL-only.patch} | 46 ++-- ...EBUG_VERBOSE-0x00400000-in-QemuVide.patch} | 91 +++---- ...e-DEBUG_VERBOSE-0x00400000-in-QemuR.patch} | 28 +-- ...Dxe-Do-not-report-DXE-failure-on-Aa.patch} | 38 +-- ...FI_D_VERBOSE-0x00400000-in-NvmExpre.patch} | 52 ++-- ...lLoaderFsDxe-suppress-error-on-no-k.patch} | 44 ++-- ...xe-suppress-error-on-no-swtpm-in-si.patch} | 44 ++-- ...013-OvmfPkg-Remove-EbcDxe-RHEL-only.patch} | 36 +-- ...e-VirtioGpu-device-driver-RHEL-only.patch} | 58 ++--- ...rtioFsDxe-filesystem-driver-RHEL-on.patch} | 66 ++--- ...-VirtioFsDxe-filesystem-driver-RHEL.patch} | 14 +- ...-UdfDxe-filesystem-driver-RHEL-only.patch} | 72 +++--- ...-UdfDxe-filesystem-driver-RHEL-only.patch} | 14 +- ...tpDynamicCommand-from-shell-RHEL-on.patch} | 28 +-- ...-TftpDynamicCommand-from-shell-RHEL.patch} | 16 +- ...tpDynamicCommand-from-shell-RHEL-on.patch} | 28 +-- ...-HttpDynamicCommand-from-shell-RHEL.patch} | 16 +- ...nuxInitrdDynamicShellCommand-RHEL-o.patch} | 34 +-- ...-LinuxInitrdDynamicShellCommand-RHE.patch} | 16 +- ...025-recreate-import-redhat-directory.patch | 164 ++++++++++++ ...Lib-list-RHEL8-specific-OpenSSL-fil.patch} | 64 ++--- ...sable-dynamic-mmio-window-rhel-only.patch} | 20 +- ...FI_MEMORY_ATTRIBUTE_PROTOCOL-RH-only.patch | 76 ++++++ ...g-make-EFI_LOADER_DATA-non-executabl.patch | 26 -- ...ugInitDxe-Do-not-reserve-IO-ports-by.patch | 46 ++++ ...latformDxe-Handle-all-requests-in-Ex.patch | 216 ---------------- ...kg-SmbiosPlatformDxe-use-PcdFirmware.patch | 231 ----------------- SOURCES/30-edk2-ovmf-x64-sb-enrolled.json | 1 + SOURCES/40-edk2-ovmf-x64-sb.json | 1 + SOURCES/50-edk2-aarch64-qcow2.json | 32 +++ SOURCES/50-edk2-ovmf-x64-nosb.json | 1 + ...-aarch64.json => 51-edk2-aarch64-raw.json} | 1 + SOURCES/52-edk2-aarch64-verbose-qcow2.json | 32 +++ ....json => 53-edk2-aarch64-verbose-raw.json} | 1 + ...rmBootManagerLib-factor-out-IsVirtio.patch | 74 ++++++ ...BootManagerLib-factor-out-IsVirtioPc.patch | 96 +++++++ ...BootManagerLib-set-up-virtio-serial-.patch | 228 +++++++++++++++++ ...irtioSerialDxe-to-ArmVirtQemu-builds.patch | 59 +++++ ...t-use-unaligned-CopyMem-on-NOR-flash.patch | 86 ------- ...anium-leftover-data-structure-RH-onl.patch | 97 -------- ...ix-BdsPlatform.c-assertion-failure-d.patch | 88 +++++++ ...Dxe-Shim-Reboot-workaround-RHEL-only.patch | 120 +++++++++ ...-add-locking-to-IoMmuAllocateBounceB.patch | 79 ++++++ ...2-OvmfPkg-MicrovmX64-enable-1G-pages.patch | 37 +++ ...mfPkg-OvmfPkgIa32X64-enable-1G-pages.patch | 37 +++ ...tformInitLib-check-PcdUse1GPageTable.patch | 57 +++++ ...latformInitLib-limit-phys-bits-to-46.patch | 53 ++++ ...tor-Fix-assembler-bit-test-flag-chec.patch | 42 ++++ ...lashDxe-map-flash-memory-as-uncachea.patch | 67 ----- ...rialDxe-Remove-noisy-debug-print-on-.patch | 42 ++++ ...mfPkg-VirtioSerialDxe-use-TPL_NOTIFY.patch | 45 ++++ ...g-ArmVirtQemu-enable-initial-ID-map-.patch | 95 ------- ...Pkg-TerminalDxe-add-other-text-resol.patch | 72 ------ ...isable-dynamic-mmio-window-rhel-only.patch | 34 +++ ...nitLib-fix-apic-mode-for-cpu-hotplug.patch | 48 ++++ SOURCES/edk2-build.py | 212 ++++++++++------ SOURCES/edk2-build.rhel-9 | 10 + ...crypto-bn-rsa_sup_mul.c-to-file-list.patch | 42 ---- SPECS/edk2.spec | 234 +++++++++++++----- 66 files changed, 2447 insertions(+), 1831 deletions(-) delete mode 100644 SOURCES/0003-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch rename SOURCES/{0004-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch => 0003-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch} (96%) rename SOURCES/{0005-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch => 0004-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch} (90%) rename SOURCES/{0006-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch => 0005-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch} (95%) rename SOURCES/{0007-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch => 0006-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch} (93%) rename SOURCES/{0008-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch => 0007-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch} (92%) rename SOURCES/{0009-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch => 0008-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch} (94%) rename SOURCES/{0010-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch => 0009-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch} (95%) rename SOURCES/{0011-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch => 0010-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch} (93%) rename SOURCES/{0013-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch => 0011-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch} (94%) rename SOURCES/{0014-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch => 0012-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch} (94%) rename SOURCES/{0015-OvmfPkg-Remove-EbcDxe-RHEL-only.patch => 0013-OvmfPkg-Remove-EbcDxe-RHEL-only.patch} (84%) rename SOURCES/{0016-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch => 0014-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch} (84%) rename SOURCES/{0017-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch => 0015-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch} (87%) rename SOURCES/{0018-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch => 0016-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch} (89%) rename SOURCES/{0019-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch => 0017-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch} (89%) rename SOURCES/{0020-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch => 0018-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch} (89%) rename SOURCES/{0021-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch => 0019-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch} (88%) rename SOURCES/{0022-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch => 0020-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch} (91%) rename SOURCES/{0023-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch => 0021-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch} (88%) rename SOURCES/{0024-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch => 0022-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch} (91%) rename SOURCES/{0025-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch => 0023-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch} (88%) rename SOURCES/{0026-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch => 0024-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch} (91%) create mode 100644 SOURCES/0025-recreate-import-redhat-directory.patch rename SOURCES/{0012-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch => 0026-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch} (93%) rename SOURCES/{edk2-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch => 0027-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch} (65%) create mode 100644 SOURCES/0028-ArmPkg-Disable-EFI_MEMORY_ATTRIBUTE_PROTOCOL-RH-only.patch delete mode 100644 SOURCES/0028-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch create mode 100644 SOURCES/0029-OvmfPkg-PciHotPlugInitDxe-Do-not-reserve-IO-ports-by.patch delete mode 100644 SOURCES/0032-Revert-OvmfPkg-PlatformDxe-Handle-all-requests-in-Ex.patch delete mode 100644 SOURCES/0033-OvmfPkg-SmbiosPlatformDxe-use-PcdFirmware.patch create mode 100644 SOURCES/50-edk2-aarch64-qcow2.json rename SOURCES/{50-edk2-aarch64.json => 51-edk2-aarch64-raw.json} (96%) create mode 100644 SOURCES/52-edk2-aarch64-verbose-qcow2.json rename SOURCES/{51-edk2-aarch64-verbose.json => 53-edk2-aarch64-verbose-raw.json} (96%) create mode 100644 SOURCES/edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtio.patch create mode 100644 SOURCES/edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtioPc.patch create mode 100644 SOURCES/edk2-ArmVirt-PlatformBootManagerLib-set-up-virtio-serial-.patch create mode 100644 SOURCES/edk2-ArmVirt-add-VirtioSerialDxe-to-ArmVirtQemu-builds.patch delete mode 100644 SOURCES/edk2-ArmVirt-don-t-use-unaligned-CopyMem-on-NOR-flash.patch delete mode 100644 SOURCES/edk2-MdePkg-Remove-Itanium-leftover-data-structure-RH-onl.patch create mode 100644 SOURCES/edk2-OvmfPkg-AmdSev-fix-BdsPlatform.c-assertion-failure-d.patch create mode 100644 SOURCES/edk2-OvmfPkg-AmdSevDxe-Shim-Reboot-workaround-RHEL-only.patch create mode 100644 SOURCES/edk2-OvmfPkg-IoMmuDxe-add-locking-to-IoMmuAllocateBounceB.patch create mode 100644 SOURCES/edk2-OvmfPkg-MicrovmX64-enable-1G-pages.patch create mode 100644 SOURCES/edk2-OvmfPkg-OvmfPkgIa32X64-enable-1G-pages.patch create mode 100644 SOURCES/edk2-OvmfPkg-PlatformInitLib-check-PcdUse1GPageTable.patch create mode 100644 SOURCES/edk2-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch create mode 100644 SOURCES/edk2-OvmfPkg-ResetVector-Fix-assembler-bit-test-flag-chec.patch delete mode 100644 SOURCES/edk2-OvmfPkg-VirtNorFlashDxe-map-flash-memory-as-uncachea.patch create mode 100644 SOURCES/edk2-OvmfPkg-VirtioSerialDxe-Remove-noisy-debug-print-on-.patch create mode 100644 SOURCES/edk2-OvmfPkg-VirtioSerialDxe-use-TPL_NOTIFY.patch delete mode 100644 SOURCES/edk2-Revert-ArmVirtPkg-ArmVirtQemu-enable-initial-ID-map-.patch delete mode 100644 SOURCES/edk2-Revert-MdeModulePkg-TerminalDxe-add-other-text-resol.patch create mode 100644 SOURCES/edk2-Revert-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch create mode 100644 SOURCES/edk2-UefiCpuPkg-MpInitLib-fix-apic-mode-for-cpu-hotplug.patch delete mode 100644 SOURCES/edk2-rh-openssl-add-crypto-bn-rsa_sup_mul.c-to-file-list.patch diff --git a/.edk2.metadata b/.edk2.metadata index b9d9178..50e1177 100644 --- a/.edk2.metadata +++ b/.edk2.metadata @@ -1,2 +1,3 @@ -a1c42c2f044a95caf0c8595d351c4cc5adcfde14 SOURCES/edk2-fff6d81270b5.tar.xz +de143fc38b339d982079517b6f01bcec5246cf5e SOURCES/DBXUpdate-20230509.x64.bin +a1a81793c0fbda8685b41ff839a942af5eda280a SOURCES/edk2-ba91d0292e.tar.xz c0518a4102a3909928dcc2e0a2c1784a53a419c6 SOURCES/openssl-rhel-d00c3c5b8a9d6d3ea3dabfcafdf36afd61ba8bcc.tar.xz diff --git a/.gitignore b/.gitignore index de43656..d3015e7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -SOURCES/edk2-fff6d81270b5.tar.xz +SOURCES/DBXUpdate-20230509.x64.bin +SOURCES/edk2-ba91d0292e.tar.xz SOURCES/openssl-rhel-d00c3c5b8a9d6d3ea3dabfcafdf36afd61ba8bcc.tar.xz diff --git a/SOURCES/0002-Remove-submodules.patch b/SOURCES/0002-Remove-submodules.patch index 58b0121..d727043 100644 --- a/SOURCES/0002-Remove-submodules.patch +++ b/SOURCES/0002-Remove-submodules.patch @@ -1,8 +1,17 @@ -From b7053a8abb865ff58bc92cae6e573ae1e805b602 Mon Sep 17 00:00:00 2001 +From a4954b2259c4be78f61127684239cb11486bc0f7 Mon Sep 17 00:00:00 2001 From: Miroslav Rezanina Date: Thu, 24 Mar 2022 03:23:02 -0400 Subject: Remove submodules +Rebase to edk2-stable202305: removing additional submodules: + +- MdePkg/Library/BaseFdtLib/libfdt +- MdePkg/Library/MipiSysTLib/mipisyst +- UnitTestFrameworkPkg/Library/GoogleTestLib/googletest +- UnitTestFrameworkPkg/Library/SubhookLib/subhook + +Signed-off-by: Oliver Steffen + Upstream edk2 tracks several submodules we do not need in RHEL (removal done by individual commits in previous RHEL versions): @@ -41,26 +50,35 @@ remove the include path too. Signed-off-by: Laszlo Ersek (cherry picked from commit e05e0de713c4a2b8adb6ff9809611f222bfe50ed) --- - .gitmodules | 25 ------------------- + .gitmodules | 34 ------------------- .../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 --- + MdeModulePkg/MdeModulePkg.dec | 3 -- .../Universal/RegularExpressionDxe/oniguruma | 1 - + MdePkg/Library/BaseFdtLib/libfdt | 1 - + MdePkg/Library/MipiSysTLib/mipisyst | 1 - + MdePkg/MdePkg.dec | 5 --- RedfishPkg/Library/JsonLib/jansson | 1 - UnitTestFrameworkPkg/Library/CmockaLib/cmocka | 1 - - 11 files changed, 1 insertion(+), 36 deletions(-) + .../Library/GoogleTestLib/googletest | 1 - + .../Library/SubhookLib/subhook | 1 - + 16 files changed, 1 insertion(+), 54 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 MdePkg/Library/BaseFdtLib/libfdt + delete mode 160000 MdePkg/Library/MipiSysTLib/mipisyst delete mode 160000 RedfishPkg/Library/JsonLib/jansson delete mode 160000 UnitTestFrameworkPkg/Library/CmockaLib/cmocka + delete mode 160000 UnitTestFrameworkPkg/Library/GoogleTestLib/googletest + delete mode 160000 UnitTestFrameworkPkg/Library/SubhookLib/subhook diff --git a/BaseTools/Source/C/GNUmakefile b/BaseTools/Source/C/GNUmakefile index 5275f657ef..39d7199753 100644 @@ -75,12 +93,12 @@ index 5275f657ef..39d7199753 100644 EfiRom \ GenFfs \ diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec -index 58e6ab0048..775f1b27af 100644 +index 95dd077e19..1609b6d9c2 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec -@@ -24,9 +24,6 @@ - [Includes] +@@ -26,9 +26,6 @@ Include + Test/Mock/Include -[Includes.Common.Private] - Library/BrotliCustomDecompressLib/brotli/c/include @@ -88,3 +106,26 @@ index 58e6ab0048..775f1b27af 100644 [LibraryClasses] ## @libraryclass Defines a set of methods to reset whole system. ResetSystemLib|Include/Library/ResetSystemLib.h +diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec +index b85614992b..57b0b5ea6f 100644 +--- a/MdePkg/MdePkg.dec ++++ b/MdePkg/MdePkg.dec +@@ -29,7 +29,6 @@ + Include + Test/UnitTest/Include + Test/Mock/Include +- Library/MipiSysTLib/mipisyst/library/include + + [Includes.IA32] + Include/Ia32 +@@ -295,10 +294,6 @@ + # + FdtLib|Include/Library/FdtLib.h + +- ## @libraryclass Provides general mipi sys-T services. +- # +- MipiSysTLib|Include/Library/MipiSysTLib.h +- + ## @libraryclass Provides API to output Trace Hub debug message. + # + TraceHubDebugSysTLib|Include/Library/TraceHubDebugSysTLib.h diff --git a/SOURCES/0003-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch b/SOURCES/0003-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch deleted file mode 100644 index 483c63d..0000000 --- a/SOURCES/0003-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch +++ /dev/null @@ -1,172 +0,0 @@ -From cef6b69ea8f009aeba50b2f4b69889f9500fa585 Mon Sep 17 00:00:00 2001 -From: Laszlo Ersek -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 - - -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 -(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.38.1 - diff --git a/SOURCES/0004-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch b/SOURCES/0003-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch similarity index 96% rename from SOURCES/0004-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch rename to SOURCES/0003-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch index 30cd65d..c451414 100644 --- a/SOURCES/0004-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch +++ b/SOURCES/0003-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch @@ -1,4 +1,4 @@ -From dc40fd64b7b3bc9bb53a7d4a95b3e80f8cfe5152 Mon Sep 17 00:00:00 2001 +From 5eef1273ee036bfa0ba9da1b276e0bf130b1cfbc Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Tue, 25 Feb 2014 22:40:01 +0100 Subject: MdeModulePkg: TerminalDxe: set xterm resolution on mode change (RH @@ -95,30 +95,30 @@ Signed-off-by: Laszlo Ersek 3 files changed, 36 insertions(+) diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec -index 775f1b27af..94f3394cef 100644 +index 1609b6d9c2..705fb02f66 100644 --- a/MdeModulePkg/MdeModulePkg.dec +++ b/MdeModulePkg/MdeModulePkg.dec -@@ -2099,6 +2099,10 @@ +@@ -2127,6 +2127,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 -+ ++ ## 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 +index 7809869e7d..3be801039b 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 -+ ++#include ++ #include "Terminal.h" // @@ -126,16 +126,16 @@ index 7809869e7d..0ce931d644 100644 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)) -+ -+ ++// ++// 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 // @@ -143,36 +143,36 @@ index 7809869e7d..0ce931d644 100644 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; -+ } -+ } -+ ++ 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 +index b2a8aeba85..96810f337c 100644 --- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf +++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf @@ -55,6 +55,7 @@ DebugLib PcdLib BaseLib -+ PrintLib ++ PrintLib [Guids] ## SOMETIMES_PRODUCES ## Variable:L"ConInDev" @@ -180,10 +180,10 @@ index b2a8aeba85..eff6253465 100644 [Pcd] gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType ## SOMETIMES_CONSUMES gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable ## CONSUMES -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ## CONSUMES ++ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ## CONSUMES # [Event] # # Relative timer event set by UnicodeToEfiKey(), used to be one 2 seconds input timeout. -- -2.38.1 +2.39.3 diff --git a/SOURCES/0005-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch b/SOURCES/0004-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch similarity index 90% rename from SOURCES/0005-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch rename to SOURCES/0004-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch index b56218e..f7e979d 100644 --- a/SOURCES/0005-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch +++ b/SOURCES/0004-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch @@ -1,4 +1,4 @@ -From e7d8bbcb71ec3b292a9f3a358ce185a315a41a1c Mon Sep 17 00:00:00 2001 +From a1d4a00637d184cff886bc150cdfd8de165ed162 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Wed, 14 Oct 2015 15:59:06 +0200 Subject: OvmfPkg: take PcdResizeXterm from the QEMU command line (RH only) @@ -82,133 +82,133 @@ Signed-off-by: Laszlo Ersek 9 files changed, 21 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc -index 8f7cae787e..41ad97b47d 100644 +index b32049194d..c62d6e2805 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc -@@ -475,6 +475,7 @@ +@@ -476,6 +476,7 @@ [PcdsDynamicDefault] gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE ++ 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 ce277cb239..faab59ae8d 100644 +index 2a1139daaa..cfa4943ed4 100644 --- a/OvmfPkg/CloudHv/CloudHvX64.dsc +++ b/OvmfPkg/CloudHv/CloudHvX64.dsc -@@ -582,6 +582,7 @@ +@@ -575,6 +575,7 @@ # ($(SMM_REQUIRE) == FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE ++ 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 3458926515..4c4da09b90 100644 +index d4403f11a7..e4bc192733 100644 --- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc +++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc -@@ -474,6 +474,7 @@ +@@ -473,6 +473,7 @@ # ($(SMM_REQUIRE) == FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE ++ 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 994a02d301..1d5ba0e810 100644 +index 5f671bc384..49d1d7ef5c 100644 --- a/OvmfPkg/Microvm/MicrovmX64.dsc +++ b/OvmfPkg/Microvm/MicrovmX64.dsc -@@ -579,7 +579,7 @@ +@@ -572,7 +572,7 @@ # only set when # ($(SMM_REQUIRE) == FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 - -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE ++ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0 diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index 6f774baf90..e8a074153a 100644 +index e333b8b418..b4f7334569 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -601,6 +601,7 @@ +@@ -595,6 +595,7 @@ # ($(SMM_REQUIRE) == FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE ++ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE !if $(SMM_REQUIRE) == FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index c851764dec..0197997793 100644 +index 25974230a2..e11ccae622 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -609,6 +609,7 @@ +@@ -603,6 +603,7 @@ # ($(SMM_REQUIRE) == FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE ++ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE !if $(SMM_REQUIRE) == FALSE gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0 gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0 diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index 63c3a47aea..fade13b4e8 100644 +index c1762ffca4..4ac6b492e2 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -631,6 +631,7 @@ +@@ -626,6 +626,7 @@ # ($(SMM_REQUIRE) == FALSE) gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0 -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE ++ 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 b1f8140d60..e5132d95a8 100644 +index c56247e294..bf5d37c1f6 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 }; - ++#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_PEI_PPI_DESCRIPTOR mPpiBootMode[] = { -@@ -376,6 +388,7 @@ InitializePlatform ( - MemTypeInfoInitialization (); - MemMapInitialization (&mPlatformInfoHob); - NoexecDxeInitialization (); -+ UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm); + { + EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST, +@@ -386,6 +398,7 @@ InitializePlatform ( + MemTypeInfoInitialization (PlatformInfoHob); + MemMapInitialization (PlatformInfoHob); + NoexecDxeInitialization (PlatformInfoHob); ++ UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm); } InstallClearCacheCallback (); diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf -index 1fadadeb55..3e28e1596d 100644 +index 3934aeed95..d84aefee6d 100644 --- a/OvmfPkg/PlatformPei/PlatformPei.inf +++ b/OvmfPkg/PlatformPei/PlatformPei.inf -@@ -99,6 +99,7 @@ +@@ -100,6 +100,7 @@ gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ++ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack -- -2.38.1 +2.39.3 diff --git a/SOURCES/0006-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch b/SOURCES/0005-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch similarity index 95% rename from SOURCES/0006-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch rename to SOURCES/0005-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch index 43711cd..ca01e89 100644 --- a/SOURCES/0006-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch +++ b/SOURCES/0005-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch @@ -1,4 +1,4 @@ -From 9a33267768684fe3034d0c15835a6ee13ad10d7b Mon Sep 17 00:00:00 2001 +From 5b458fdeac6a656ab83e0be1662f22e293a5622a Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Sun, 26 Jul 2015 08:02:50 +0000 Subject: ArmVirtPkg: take PcdResizeXterm from the QEMU command line (RH only) @@ -95,109 +95,109 @@ Signed-off-by: Laszlo Ersek create mode 100644 ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc -index f77443229e..ed66f00030 100644 +index 449e73b9e1..b6b9a7f192 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc -@@ -299,6 +299,8 @@ +@@ -307,6 +307,8 @@ gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0 !endif -+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE -+ ++ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE ++ [PcdsDynamicHii] - gArmVirtTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gArmVirtVariableGuid|0x0|FALSE|NV,BS + gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|FALSE|NV,BS -@@ -413,7 +415,10 @@ +@@ -416,7 +418,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 { -+ -+ NULL|ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf -+ } ++ MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf { ++ ++ 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 +index 0000000000..37f71c5e4c --- /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.
-+* -+* SPDX-License-Identifier: BSD-2-Clause-Patent -+**/ -+ -+#include -+#include -+#include -+ -+#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; -+} ++/** @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.
++* ++* SPDX-License-Identifier: BSD-2-Clause-Patent ++**/ ++ ++#include ++#include ++#include ++ ++#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 +index 0000000000..c840f6f97a --- /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.
-+# -+# 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 ++## @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.
++# ++# 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.38.1 +2.39.3 diff --git a/SOURCES/0007-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch b/SOURCES/0006-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch similarity index 93% rename from SOURCES/0007-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch rename to SOURCES/0006-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch index a0213f9..acb1f67 100644 --- a/SOURCES/0007-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch +++ b/SOURCES/0006-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch @@ -1,4 +1,4 @@ -From eb7d7c8bbbb0d3782a1d837c293f21629336d4d5 Mon Sep 17 00:00:00 2001 +From 23e43af54fd29691bf94a5f4e2ac3014b819e37e Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 21 Nov 2017 00:57:45 +0100 Subject: OvmfPkg: enable DEBUG_VERBOSE (RHEL only) @@ -65,57 +65,57 @@ Signed-off-by: Paolo Bonzini 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc -index 41ad97b47d..53a8938965 100644 +index c62d6e2805..ac73229829 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc -@@ -427,7 +427,7 @@ +@@ -426,7 +426,7 @@ # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may # // significantly impact boot performance # DEBUG_ERROR 0x80000000 // Error - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F !if $(SOURCE_DEBUG_ENABLE) == TRUE gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17 diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index e8a074153a..7bced89f2a 100644 +index b4f7334569..0b9fc53884 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc +@@ -535,7 +535,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 e11ccae622..51823fb746 100644 +--- a/OvmfPkg/OvmfPkgIa32X64.dsc ++++ b/OvmfPkg/OvmfPkgIa32X64.dsc @@ -541,7 +541,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 0197997793..2599facbb7 100644 ---- a/OvmfPkg/OvmfPkgIa32X64.dsc -+++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -547,7 +547,7 @@ - # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may - # // significantly impact boot performance - # DEBUG_ERROR 0x80000000 // Error -- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F !if $(SOURCE_DEBUG_ENABLE) == TRUE gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17 diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index fade13b4e8..7bd445ca36 100644 +index 4ac6b492e2..d1474b0155 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -567,7 +567,7 @@ +@@ -562,7 +562,7 @@ # DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may # // significantly impact boot performance # DEBUG_ERROR 0x80000000 // Error - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F !if $(SOURCE_DEBUG_ENABLE) == TRUE gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17 -- -2.38.1 +2.39.3 diff --git a/SOURCES/0008-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch b/SOURCES/0007-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch similarity index 92% rename from SOURCES/0008-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch rename to SOURCES/0007-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch index 5a7cbe7..bd086e5 100644 --- a/SOURCES/0008-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch +++ b/SOURCES/0007-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch @@ -1,4 +1,4 @@ -From 5ac6b33275b5ae82883f0aa16bcedd53efe1f2e2 Mon Sep 17 00:00:00 2001 +From 13c6ac7528d5be2638f121b19432597cc529ea7c Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 21 Nov 2017 00:57:46 +0100 Subject: OvmfPkg: silence DEBUG_VERBOSE (0x00400000) in @@ -76,98 +76,99 @@ Signed-off-by: Paolo Bonzini (cherry picked from commit 1355849ad97c1e4a5c430597a377165a5cc118f7) --- OvmfPkg/AmdSev/AmdSevX64.dsc | 10 ++++++++-- - OvmfPkg/OvmfPkgIa32.dsc | 10 ++++++++-- + OvmfPkg/OvmfPkgIa32.dsc | 12 +++++++++--- OvmfPkg/OvmfPkgIa32X64.dsc | 10 ++++++++-- OvmfPkg/OvmfPkgX64.dsc | 10 ++++++++-- - 4 files changed, 32 insertions(+), 8 deletions(-) + 4 files changed, 33 insertions(+), 9 deletions(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc -index 53a8938965..f5133a801f 100644 +index ac73229829..70f154b477 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc -@@ -677,8 +677,14 @@ +@@ -684,8 +684,14 @@ MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf - OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf - OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf -+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } -+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F ++ } ++ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F ++ } OvmfPkg/VirtioGpuDxe/VirtioGpu.inf # diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index 7bced89f2a..1d271a3bdc 100644 +index 0b9fc53884..b05e010069 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -846,9 +846,15 @@ +@@ -841,9 +841,15 @@ MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf !ifndef $(CSM_ENABLE) - OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf -+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } - !endif +-!endif - OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf -+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F ++ } ++!endif ++ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F ++ } OvmfPkg/VirtioGpuDxe/VirtioGpu.inf # diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index 2599facbb7..240bc43d14 100644 +index 51823fb746..78f97ff17e 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -860,9 +860,15 @@ +@@ -855,9 +855,15 @@ MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf !ifndef $(CSM_ENABLE) - OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf -+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F ++ } !endif - OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf -+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F ++ } OvmfPkg/VirtioGpuDxe/VirtioGpu.inf # diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index 7bd445ca36..7c6faba950 100644 +index d1474b0155..2a4829d26e 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -928,9 +928,15 @@ +@@ -929,9 +929,15 @@ MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf !ifndef $(CSM_ENABLE) - OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf -+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F ++ } !endif - OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf -+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F ++ } OvmfPkg/VirtioGpuDxe/VirtioGpu.inf # -- -2.38.1 +2.39.3 diff --git a/SOURCES/0009-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch b/SOURCES/0008-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch similarity index 94% rename from SOURCES/0009-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch rename to SOURCES/0008-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch index 491e9e0..5f79e9f 100644 --- a/SOURCES/0009-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch +++ b/SOURCES/0008-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch @@ -1,4 +1,4 @@ -From 0493dde37b4607853470f634e48fa26457edb5b9 Mon Sep 17 00:00:00 2001 +From 6e76f73b1ea3bac22d248499b9c2062ca5ed020d Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Wed, 27 Jan 2016 03:05:18 +0100 Subject: ArmVirtPkg: silence DEBUG_VERBOSE (0x00400000) in QemuRamfbDxe (RH @@ -61,37 +61,37 @@ Signed-off-by: Laszlo Ersek 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc -index ed66f00030..a3d744931a 100644 +index b6b9a7f192..176246d683 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc -@@ -537,7 +537,10 @@ +@@ -544,7 +544,10 @@ # # Video support # - OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf -+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF -+ } ++ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { ++ ++ 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 f5db3ac432..ff3e6c5974 100644 +index 3cb9120e4e..18d59c2414 100644 --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc -@@ -440,7 +440,10 @@ +@@ -444,7 +444,10 @@ # # Video support # - OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf -+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF -+ } ++ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF ++ } OvmfPkg/VirtioGpuDxe/VirtioGpu.inf OvmfPkg/PlatformDxe/Platform.inf -- -2.38.1 +2.39.3 diff --git a/SOURCES/0010-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch b/SOURCES/0009-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch similarity index 95% rename from SOURCES/0010-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch rename to SOURCES/0009-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch index 08e66ec..c3c0cfa 100644 --- a/SOURCES/0010-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch +++ b/SOURCES/0009-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch @@ -1,4 +1,4 @@ -From 8188ba632ad933a4fe734d3dd715d67dfd12a57f Mon Sep 17 00:00:00 2001 +From fe859725d7da9d4452d79b65aad4b4cb3589e873 Mon Sep 17 00:00:00 2001 From: Philippe Mathieu-Daude Date: Thu, 1 Aug 2019 20:43:48 +0200 Subject: OvmfPkg: QemuRamfbDxe: Do not report DXE failure on Aarch64 silent @@ -47,14 +47,14 @@ Signed-off-by: Laszlo Ersek 2 files changed, 15 insertions(+) diff --git a/OvmfPkg/QemuRamfbDxe/QemuRamfb.c b/OvmfPkg/QemuRamfbDxe/QemuRamfb.c -index f5113fbc78..0015c4fc9c 100644 +index 5a1044f0dc..83c6d26c74 100644 --- a/OvmfPkg/QemuRamfbDxe/QemuRamfb.c +++ b/OvmfPkg/QemuRamfbDxe/QemuRamfb.c @@ -13,6 +13,7 @@ #include #include #include -+#include ++#include #include #include #include @@ -62,34 +62,34 @@ index f5113fbc78..0015c4fc9c 100644 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 ++#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 +index e3890b8c20..f79a4bc987 100644 --- a/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf +++ b/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf @@ -29,6 +29,7 @@ BaseLib BaseMemoryLib DebugLib -+ DebugPrintErrorLevelLib ++ DebugPrintErrorLevelLib DevicePathLib FrameBufferBltLib MemoryAllocationLib -- -2.38.1 +2.39.3 diff --git a/SOURCES/0011-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch b/SOURCES/0010-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch similarity index 93% rename from SOURCES/0011-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch rename to SOURCES/0010-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch index d32b442..cb78226 100644 --- a/SOURCES/0011-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch +++ b/SOURCES/0010-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch @@ -1,4 +1,4 @@ -From 6e9df01fd85cfbbb7c27f2a8d31c2ec214649452 Mon Sep 17 00:00:00 2001 +From 4939fadb84796923b287becaecd568d5d77fe20b Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 21 Nov 2017 00:57:47 +0100 Subject: OvmfPkg: silence EFI_D_VERBOSE (0x00400000) in NvmExpressDxe (RH @@ -63,69 +63,69 @@ Signed-off-by: Paolo Bonzini 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc -index f5133a801f..05908a7227 100644 +index 70f154b477..0d30ee9526 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc -@@ -671,7 +671,10 @@ +@@ -678,7 +678,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 { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf { ++ ++ 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 1d271a3bdc..9c0fb7d545 100644 +index b05e010069..ef6362aac5 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -839,7 +839,10 @@ +@@ -834,7 +834,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 { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf { ++ ++ 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 240bc43d14..8b93437044 100644 +index 78f97ff17e..1793cc96fc 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -853,7 +853,10 @@ +@@ -848,7 +848,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 { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf { ++ ++ 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 7c6faba950..8c9162db17 100644 +index 2a4829d26e..c32a36b513 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -921,7 +921,10 @@ +@@ -922,7 +922,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 { -+ -+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F -+ } ++ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf { ++ ++ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F ++ } MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf -- -2.38.1 +2.39.3 diff --git a/SOURCES/0013-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch b/SOURCES/0011-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch similarity index 94% rename from SOURCES/0013-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch rename to SOURCES/0011-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch index a2fbf52..64f7541 100644 --- a/SOURCES/0013-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch +++ b/SOURCES/0011-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch @@ -1,4 +1,4 @@ -From 3a69bf86e6b4a1de6385e0ce9146dc8a0e13e22f Mon Sep 17 00:00:00 2001 +From b32764469522eb1ac742a34e2ff8b513a329cc41 Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Wed, 24 Jun 2020 11:31:36 +0200 Subject: OvmfPkg/QemuKernelLoaderFsDxe: suppress error on no "-kernel" in @@ -32,14 +32,14 @@ Signed-off-by: Miroslav Rezanina 2 files changed, 18 insertions(+) diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c -index d4f3cd9225..416be93fb7 100644 +index 3c12085f6c..e192809198 100644 --- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c +++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c @@ -19,6 +19,7 @@ #include #include #include -+#include ++#include #include #include #include @@ -47,37 +47,37 @@ index d4f3cd9225..416be93fb7 100644 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 ++#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 +index 7b35adb8e0..23d9f5fca1 100644 --- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf +++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf @@ -28,6 +28,7 @@ BaseLib BaseMemoryLib DebugLib -+ DebugPrintErrorLevelLib ++ DebugPrintErrorLevelLib DevicePathLib MemoryAllocationLib QemuFwCfgLib -- -2.38.1 +2.39.3 diff --git a/SOURCES/0014-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch b/SOURCES/0012-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch similarity index 94% rename from SOURCES/0014-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch rename to SOURCES/0012-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch index 42373bf..74652d0 100644 --- a/SOURCES/0014-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch +++ b/SOURCES/0012-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch @@ -1,4 +1,4 @@ -From 37930c8079ea630535f82068b678c7ab2f9981a5 Mon Sep 17 00:00:00 2001 +From f38c073fdceec2dac64dc3632ad531f5b73fda8e Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Wed, 24 Jun 2020 11:40:09 +0200 Subject: SecurityPkg/Tcg2Dxe: suppress error on no swtpm in silent aa64 build @@ -31,14 +31,14 @@ Signed-off-by: Miroslav Rezanina 2 files changed, 18 insertions(+) diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c -index f6ea8b2bbf..681eb7e08b 100644 +index f6ea8b2bbf..1fd5e187fb 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 #include -+#include ++#include #include #include #include @@ -46,37 +46,37 @@ index f6ea8b2bbf..681eb7e08b 100644 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 ++#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 +index 7dc7a2683d..ae90070b36 100644 --- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf +++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf @@ -55,6 +55,7 @@ UefiRuntimeServicesTableLib BaseMemoryLib DebugLib -+ DebugPrintErrorLevelLib ++ DebugPrintErrorLevelLib Tpm2CommandLib PrintLib UefiLib -- -2.38.1 +2.39.3 diff --git a/SOURCES/0015-OvmfPkg-Remove-EbcDxe-RHEL-only.patch b/SOURCES/0013-OvmfPkg-Remove-EbcDxe-RHEL-only.patch similarity index 84% rename from SOURCES/0015-OvmfPkg-Remove-EbcDxe-RHEL-only.patch rename to SOURCES/0013-OvmfPkg-Remove-EbcDxe-RHEL-only.patch index f4250be..5876e50 100644 --- a/SOURCES/0015-OvmfPkg-Remove-EbcDxe-RHEL-only.patch +++ b/SOURCES/0013-OvmfPkg-Remove-EbcDxe-RHEL-only.patch @@ -1,4 +1,4 @@ -From a53408a224cef3260b12c969c9f8797b85b12f94 Mon Sep 17 00:00:00 2001 +From f48037fba5ef28692e1dd1db90d4729a5fa13e84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:28:49 +0200 Subject: OvmfPkg: Remove EbcDxe (RHEL only) @@ -29,11 +29,11 @@ Signed-off-by: Miroslav Rezanina 8 files changed, 8 deletions(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc -index 05908a7227..8131d2fae1 100644 +index 0d30ee9526..2b624582c6 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc -@@ -599,7 +599,6 @@ - !include OvmfPkg/OvmfTpmSecurityStub.dsc.inc +@@ -603,7 +603,6 @@ + !include OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc } - MdeModulePkg/Universal/EbcDxe/EbcDxe.inf @@ -41,7 +41,7 @@ index 05908a7227..8131d2fae1 100644 UefiCpuPkg/CpuDxe/CpuDxe.inf OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf -index 4658e1d30e..67b9cdf941 100644 +index fec08468d3..2c61d5fa0a 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.fdf +++ b/OvmfPkg/AmdSev/AmdSevX64.fdf @@ -205,7 +205,6 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf @@ -53,11 +53,11 @@ index 4658e1d30e..67b9cdf941 100644 INF UefiCpuPkg/CpuDxe/CpuDxe.inf INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index 9c0fb7d545..8e29e62ea9 100644 +index ef6362aac5..36ea20fb93 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -750,7 +750,6 @@ - !include OvmfPkg/OvmfTpmSecurityStub.dsc.inc +@@ -744,7 +744,6 @@ + !include OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc } - MdeModulePkg/Universal/EbcDxe/EbcDxe.inf @@ -65,7 +65,7 @@ index 9c0fb7d545..8e29e62ea9 100644 UefiCpuPkg/CpuDxe/CpuDxe.inf !ifdef $(CSM_ENABLE) diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf -index 7023ade8ce..159995952e 100644 +index c9c9384397..8135a3dc01 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf @@ -216,7 +216,6 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf @@ -77,11 +77,11 @@ index 7023ade8ce..159995952e 100644 INF UefiCpuPkg/CpuDxe/CpuDxe.inf !ifdef $(CSM_ENABLE) diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index 8b93437044..c79514e86f 100644 +index 1793cc96fc..9638e03578 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -764,7 +764,6 @@ - !include OvmfPkg/OvmfTpmSecurityStub.dsc.inc +@@ -758,7 +758,6 @@ + !include OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc } - MdeModulePkg/Universal/EbcDxe/EbcDxe.inf @@ -89,7 +89,7 @@ index 8b93437044..c79514e86f 100644 UefiCpuPkg/CpuDxe/CpuDxe.inf !ifdef $(CSM_ENABLE) diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf -index 80de4fa2c0..334de16a12 100644 +index f52219e0c2..9d6314d56e 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf @@ -217,7 +217,6 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf @@ -101,11 +101,11 @@ index 80de4fa2c0..334de16a12 100644 INF UefiCpuPkg/CpuDxe/CpuDxe.inf !ifdef $(CSM_ENABLE) diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index 8c9162db17..1daa7e6fe4 100644 +index c32a36b513..7d702f3d21 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -809,7 +809,6 @@ - !endif +@@ -808,7 +808,6 @@ + !include OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc } - MdeModulePkg/Universal/EbcDxe/EbcDxe.inf @@ -113,7 +113,7 @@ index 8c9162db17..1daa7e6fe4 100644 UefiCpuPkg/CpuDxe/CpuDxe.inf { diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf -index c0f5a1ef3c..dec53ecdbd 100644 +index 00c7f8849f..474ef5ca7e 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf @@ -239,7 +239,6 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf @@ -125,5 +125,5 @@ index c0f5a1ef3c..dec53ecdbd 100644 INF UefiCpuPkg/CpuDxe/CpuDxe.inf -- -2.38.1 +2.39.3 diff --git a/SOURCES/0016-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch b/SOURCES/0014-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch similarity index 84% rename from SOURCES/0016-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch rename to SOURCES/0014-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch index 3ba1aed..553681c 100644 --- a/SOURCES/0016-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch +++ b/SOURCES/0014-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch @@ -1,4 +1,4 @@ -From 8c0d639c7ab33c6b31af3c3ddbf0b3086f2f99a6 Mon Sep 17 00:00:00 2001 +From 324341ee7f56c09987c16d9a7513465cb56e0dcf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:28:59 +0200 Subject: OvmfPkg: Remove VirtioGpu device driver (RHEL only) @@ -29,19 +29,19 @@ Signed-off-by: Miroslav Rezanina 8 files changed, 8 deletions(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc -index 8131d2fae1..5f70b3a12f 100644 +index 2b624582c6..dafdc1e67a 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc -@@ -687,7 +687,6 @@ - - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F - } +@@ -694,7 +694,6 @@ + + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F + } - OvmfPkg/VirtioGpuDxe/VirtioGpu.inf # # ISA Support diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf -index 67b9cdf941..7b877446e4 100644 +index 2c61d5fa0a..2bedd4bef1 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.fdf +++ b/OvmfPkg/AmdSev/AmdSevX64.fdf @@ -298,7 +298,6 @@ INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf @@ -53,22 +53,22 @@ index 67b9cdf941..7b877446e4 100644 INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index 8e29e62ea9..49877b613b 100644 +index 36ea20fb93..daed0cb362 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -857,7 +857,6 @@ - - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F - } +@@ -852,7 +852,6 @@ + + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F + } - OvmfPkg/VirtioGpuDxe/VirtioGpu.inf # # ISA Support diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf -index 159995952e..306950bd87 100644 +index 8135a3dc01..f8d2385b91 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf -@@ -333,7 +333,6 @@ INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf +@@ -334,7 +334,6 @@ INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf !endif INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf @@ -77,22 +77,22 @@ index 159995952e..306950bd87 100644 INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index c79514e86f..d6a2300c7a 100644 +index 9638e03578..c284351665 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -871,7 +871,6 @@ - - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F - } +@@ -866,7 +866,6 @@ + + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F + } - OvmfPkg/VirtioGpuDxe/VirtioGpu.inf # # ISA Support diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf -index 334de16a12..88ea4c6b65 100644 +index 9d6314d56e..5d49c55d8a 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf -@@ -339,7 +339,6 @@ INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf +@@ -340,7 +340,6 @@ INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf !endif INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf @@ -101,22 +101,22 @@ index 334de16a12..88ea4c6b65 100644 INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index 1daa7e6fe4..2bc5ae576b 100644 +index 7d702f3d21..88140034c1 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -939,7 +939,6 @@ - - gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F - } +@@ -940,7 +940,6 @@ + + gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F + } - OvmfPkg/VirtioGpuDxe/VirtioGpu.inf # # ISA Support diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf -index dec53ecdbd..608ebdd4d2 100644 +index 474ef5ca7e..d09bd16e2f 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf -@@ -366,7 +366,6 @@ INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf +@@ -367,7 +367,6 @@ INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf !endif INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf @@ -125,5 +125,5 @@ index dec53ecdbd..608ebdd4d2 100644 INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf -- -2.38.1 +2.39.3 diff --git a/SOURCES/0017-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch b/SOURCES/0015-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch similarity index 87% rename from SOURCES/0017-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch rename to SOURCES/0015-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch index 4a8e954..16f3dbe 100644 --- a/SOURCES/0017-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch +++ b/SOURCES/0015-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch @@ -1,4 +1,4 @@ -From 1ba8ead93467fad1f2583c1650f28ca039da8405 Mon Sep 17 00:00:00 2001 +From 4e165646d809f6ebb0ca0492b00d48ad225db81b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:13 +0200 Subject: OvmfPkg: Remove VirtioFsDxe filesystem driver (RHEL only) @@ -27,10 +27,10 @@ Signed-off-by: Miroslav Rezanina 6 files changed, 6 deletions(-) diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index 49877b613b..7550113f51 100644 +index daed0cb362..bcfd40ce66 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -832,7 +832,6 @@ +@@ -827,7 +827,6 @@ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf @@ -39,46 +39,46 @@ index 49877b613b..7550113f51 100644 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf OvmfPkg/SataControllerDxe/SataControllerDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf -index 306950bd87..3efa27bbac 100644 +index f8d2385b91..410bb2893c 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 - - !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" - INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf -diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index d6a2300c7a..2ef1368945 100644 ---- a/OvmfPkg/OvmfPkgIa32X64.dsc -+++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -846,7 +846,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 88ea4c6b65..5b73560782 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 + !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" + INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf +diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc +index c284351665..eced00f16a 100644 +--- a/OvmfPkg/OvmfPkgIa32X64.dsc ++++ b/OvmfPkg/OvmfPkgIa32X64.dsc +@@ -841,7 +841,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 5d49c55d8a..cb3ea94514 100644 +--- a/OvmfPkg/OvmfPkgIa32X64.fdf ++++ b/OvmfPkg/OvmfPkgIa32X64.fdf +@@ -297,7 +297,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour + + INF FatPkg/EnhancedFatDxe/Fat.inf + INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf +-INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf + !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index 2bc5ae576b..c336aca5a6 100644 +index 88140034c1..9a7325a373 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -914,7 +914,6 @@ +@@ -915,7 +915,6 @@ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf @@ -87,10 +87,10 @@ index 2bc5ae576b..c336aca5a6 100644 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf OvmfPkg/SataControllerDxe/SataControllerDxe.inf diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf -index 608ebdd4d2..ad98806b32 100644 +index d09bd16e2f..765cc46921 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf -@@ -321,7 +321,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -322,7 +322,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf @@ -99,5 +99,5 @@ index 608ebdd4d2..ad98806b32 100644 !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf -- -2.38.1 +2.39.3 diff --git a/SOURCES/0018-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch b/SOURCES/0016-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch similarity index 89% rename from SOURCES/0018-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch rename to SOURCES/0016-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch index 7e53081..be30b42 100644 --- a/SOURCES/0018-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch +++ b/SOURCES/0016-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch @@ -1,4 +1,4 @@ -From 0a0c4645939b55e67817bc2c2880b1de69537279 Mon Sep 17 00:00:00 2001 +From 7894ed0cd0583d4b6d39798310bb537d64eb8e34 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:16 +0200 Subject: ArmVirtPkg: Remove VirtioFsDxe filesystem driver (RHEL only) @@ -24,10 +24,10 @@ Signed-off-by: Miroslav Rezanina 3 files changed, 3 deletions(-) diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc -index a3d744931a..998d19165f 100644 +index 176246d683..8fe5926ece 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc -@@ -455,7 +455,6 @@ +@@ -462,7 +462,6 @@ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf @@ -36,7 +36,7 @@ index a3d744931a..998d19165f 100644 # # Bds diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc -index e06ca74244..33797ebb95 100644 +index 8a063bac04..5da1481532 100644 --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc @@ -84,7 +84,6 @@ READ_LOCK_STATUS = TRUE @@ -48,10 +48,10 @@ index e06ca74244..33797ebb95 100644 # # Status Code Routing diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc -index ff3e6c5974..2c01efc660 100644 +index 18d59c2414..c76657d0c4 100644 --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc -@@ -358,7 +358,6 @@ +@@ -362,7 +362,6 @@ MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf @@ -60,5 +60,5 @@ index ff3e6c5974..2c01efc660 100644 # # Bds -- -2.38.1 +2.39.3 diff --git a/SOURCES/0019-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch b/SOURCES/0017-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch similarity index 89% rename from SOURCES/0019-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch rename to SOURCES/0017-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch index ad47629..e76c374 100644 --- a/SOURCES/0019-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch +++ b/SOURCES/0017-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch @@ -1,4 +1,4 @@ -From 08cad303158596a4c817765bb56e7b9f38138570 Mon Sep 17 00:00:00 2001 +From 2b5fd3beae02e9b8cec957804440d4f80cd081b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:19 +0200 Subject: OvmfPkg: Remove UdfDxe filesystem driver (RHEL only) @@ -29,10 +29,10 @@ Signed-off-by: Miroslav Rezanina 8 files changed, 8 deletions(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc -index 5f70b3a12f..b3fa4941c5 100644 +index dafdc1e67a..5987de6d83 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc -@@ -664,7 +664,6 @@ +@@ -671,7 +671,6 @@ MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf @@ -41,7 +41,7 @@ index 5f70b3a12f..b3fa4941c5 100644 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf OvmfPkg/SataControllerDxe/SataControllerDxe.inf diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf -index 7b877446e4..1b743cc93f 100644 +index 2bedd4bef1..4d2f9c7248 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.fdf +++ b/OvmfPkg/AmdSev/AmdSevX64.fdf @@ -272,7 +272,6 @@ INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf @@ -53,10 +53,10 @@ index 7b877446e4..1b743cc93f 100644 !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index 7550113f51..e6a35ba448 100644 +index bcfd40ce66..5762871fee 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -831,7 +831,6 @@ +@@ -826,7 +826,6 @@ MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf @@ -65,46 +65,46 @@ index 7550113f51..e6a35ba448 100644 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf OvmfPkg/SataControllerDxe/SataControllerDxe.inf diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf -index 3efa27bbac..1a1b79a157 100644 +index 410bb2893c..9df41eae67 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 - - !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" - INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf -diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index 2ef1368945..17da49369e 100644 ---- a/OvmfPkg/OvmfPkgIa32X64.dsc -+++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -845,7 +845,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 5b73560782..f00a5f729e 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 + + !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" + INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf +diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc +index eced00f16a..dc5020a632 100644 +--- a/OvmfPkg/OvmfPkgIa32X64.dsc ++++ b/OvmfPkg/OvmfPkgIa32X64.dsc +@@ -840,7 +840,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 cb3ea94514..e002846515 100644 +--- a/OvmfPkg/OvmfPkgIa32X64.fdf ++++ b/OvmfPkg/OvmfPkgIa32X64.fdf +@@ -296,7 +296,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 !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index c336aca5a6..721519a8e0 100644 +index 9a7325a373..e1e1df4b9d 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -913,7 +913,6 @@ +@@ -914,7 +914,6 @@ MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf @@ -113,10 +113,10 @@ index c336aca5a6..721519a8e0 100644 MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf OvmfPkg/SataControllerDxe/SataControllerDxe.inf diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf -index ad98806b32..4967e984c1 100644 +index 765cc46921..e586632664 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf -@@ -320,7 +320,6 @@ INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf +@@ -321,7 +321,6 @@ INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf INF FatPkg/EnhancedFatDxe/Fat.inf @@ -125,5 +125,5 @@ index ad98806b32..4967e984c1 100644 !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf -- -2.38.1 +2.39.3 diff --git a/SOURCES/0020-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch b/SOURCES/0018-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch similarity index 89% rename from SOURCES/0020-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch rename to SOURCES/0018-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch index 2d33d67..b7f92a2 100644 --- a/SOURCES/0020-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch +++ b/SOURCES/0018-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch @@ -1,4 +1,4 @@ -From 4ba0cc5f6710f7b691583997b3b6fd73b92859f3 Mon Sep 17 00:00:00 2001 +From 1078848167171e47d42cfaa0de2ba5dc1bad4639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:22 +0200 Subject: ArmVirtPkg: Remove UdfDxe filesystem driver (RHEL only) @@ -24,10 +24,10 @@ Signed-off-by: Miroslav Rezanina 3 files changed, 3 deletions(-) diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc -index 998d19165f..a4bd72e481 100644 +index 8fe5926ece..b1deefc2fd 100644 --- a/ArmVirtPkg/ArmVirtQemu.dsc +++ b/ArmVirtPkg/ArmVirtQemu.dsc -@@ -454,7 +454,6 @@ +@@ -461,7 +461,6 @@ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf @@ -36,7 +36,7 @@ index 998d19165f..a4bd72e481 100644 # # Bds diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc -index 33797ebb95..394253fc23 100644 +index 5da1481532..2b17211256 100644 --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc @@ -83,7 +83,6 @@ READ_LOCK_STATUS = TRUE @@ -48,10 +48,10 @@ index 33797ebb95..394253fc23 100644 # # Status Code Routing diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc -index 2c01efc660..7f85b0dc92 100644 +index c76657d0c4..afebc46a04 100644 --- a/ArmVirtPkg/ArmVirtQemuKernel.dsc +++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc -@@ -357,7 +357,6 @@ +@@ -361,7 +361,6 @@ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf @@ -60,5 +60,5 @@ index 2c01efc660..7f85b0dc92 100644 # # Bds -- -2.38.1 +2.39.3 diff --git a/SOURCES/0021-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch b/SOURCES/0019-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch similarity index 88% rename from SOURCES/0021-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch rename to SOURCES/0019-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch index 8a2885c..123e178 100644 --- a/SOURCES/0021-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch +++ b/SOURCES/0019-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch @@ -1,4 +1,4 @@ -From dc4ea27a1f1ceca98eb9cfce086ae03e553cd78d Mon Sep 17 00:00:00 2001 +From c536b7c67fe45bfa1bc27299ba0a584af572e80d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:25 +0200 Subject: OvmfPkg: Remove TftpDynamicCommand from shell (RHEL only) @@ -27,10 +27,10 @@ Signed-off-by: Miroslav Rezanina 6 files changed, 15 deletions(-) diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index e6a35ba448..b00ef51f2d 100644 +index 5762871fee..ed72cbf57e 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -909,10 +909,6 @@ +@@ -904,10 +904,6 @@ !endif !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -42,10 +42,10 @@ index e6a35ba448..b00ef51f2d 100644 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf -index 1a1b79a157..e4e68e2122 100644 +index 9df41eae67..1d19e20e8a 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf -@@ -296,7 +296,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -297,7 +297,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" @@ -54,10 +54,10 @@ index 1a1b79a157..e4e68e2122 100644 INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf !endif diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index 17da49369e..d129a79e33 100644 +index dc5020a632..9b97e664d7 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -923,10 +923,6 @@ +@@ -918,10 +918,6 @@ !endif !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -69,10 +69,10 @@ index 17da49369e..d129a79e33 100644 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf -index f00a5f729e..ef831accf1 100644 +index e002846515..621772963f 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf -@@ -297,7 +297,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -298,7 +298,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" @@ -81,10 +81,10 @@ index f00a5f729e..ef831accf1 100644 INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf !endif diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index 721519a8e0..5b40364c47 100644 +index e1e1df4b9d..8bf848c647 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -991,10 +991,6 @@ +@@ -992,10 +992,6 @@ !endif !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -96,10 +96,10 @@ index 721519a8e0..5b40364c47 100644 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf -index 4967e984c1..aeae1650cd 100644 +index e586632664..b1d6c23a93 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf -@@ -322,7 +322,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -323,7 +323,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" @@ -108,5 +108,5 @@ index 4967e984c1..aeae1650cd 100644 INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf !endif -- -2.38.1 +2.39.3 diff --git a/SOURCES/0022-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch b/SOURCES/0020-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch similarity index 91% rename from SOURCES/0022-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch rename to SOURCES/0020-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch index 36d205f..81ba60f 100644 --- a/SOURCES/0022-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch +++ b/SOURCES/0020-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch @@ -1,4 +1,4 @@ -From a4c198675df3c47c6a7fb62af1065b9a8f9b683a Mon Sep 17 00:00:00 2001 +From 2795327b7185bec84238542ce94801733a41ffe3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:28 +0200 Subject: ArmVirtPkg: Remove TftpDynamicCommand from shell (RHEL only) @@ -23,10 +23,10 @@ Signed-off-by: Miroslav Rezanina 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc -index 462073517a..39a569e07e 100644 +index 2443e8351c..9534d6f95a 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc -@@ -376,10 +376,9 @@ +@@ -375,10 +375,9 @@ # MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf @@ -34,14 +34,14 @@ index 462073517a..39a569e07e 100644 - - gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE - } -+ # -+ # UEFI application (Shell Embedded Boot Loader) -+ # ++ # ++ # UEFI application (Shell Embedded Boot Loader) ++ # ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf { gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc -index 394253fc23..5ef9f89464 100644 +index 2b17211256..16a073c4a1 100644 --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc @@ -98,7 +98,6 @@ READ_LOCK_STATUS = TRUE @@ -53,5 +53,5 @@ index 394253fc23..5ef9f89464 100644 INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf -- -2.38.1 +2.39.3 diff --git a/SOURCES/0023-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch b/SOURCES/0021-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch similarity index 88% rename from SOURCES/0023-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch rename to SOURCES/0021-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch index e265fe8..280dced 100644 --- a/SOURCES/0023-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch +++ b/SOURCES/0021-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch @@ -1,4 +1,4 @@ -From e99047a0422578ad3572ea12dc7edffd24baf3f3 Mon Sep 17 00:00:00 2001 +From 8ddd92f068c1f5f5177db1bc381201118bd2816c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:31 +0200 Subject: OvmfPkg: Remove HttpDynamicCommand from shell (RHEL only) @@ -27,10 +27,10 @@ Signed-off-by: Miroslav Rezanina 6 files changed, 15 deletions(-) diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index b00ef51f2d..43d60df6e3 100644 +index ed72cbf57e..078eab1acc 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -909,10 +909,6 @@ +@@ -904,10 +904,6 @@ !endif !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -42,10 +42,10 @@ index b00ef51f2d..43d60df6e3 100644 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf -index e4e68e2122..5b7c3f7687 100644 +index 1d19e20e8a..5b2265c7d1 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf -@@ -296,7 +296,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -297,7 +297,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" @@ -54,10 +54,10 @@ index e4e68e2122..5b7c3f7687 100644 !endif !if $(BUILD_SHELL) == TRUE diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index d129a79e33..56426672b8 100644 +index 9b97e664d7..6779503e7e 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -923,10 +923,6 @@ +@@ -918,10 +918,6 @@ !endif !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -69,10 +69,10 @@ index d129a79e33..56426672b8 100644 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf -index ef831accf1..45f5b69171 100644 +index 621772963f..da32cf1a2f 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf -@@ -297,7 +297,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -298,7 +298,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" @@ -81,10 +81,10 @@ index ef831accf1..45f5b69171 100644 !endif !if $(BUILD_SHELL) == TRUE diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index 5b40364c47..2b4635a71b 100644 +index 8bf848c647..66f267f731 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -991,10 +991,6 @@ +@@ -992,10 +992,6 @@ !endif !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -96,10 +96,10 @@ index 5b40364c47..2b4635a71b 100644 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf -index aeae1650cd..6b20e0946f 100644 +index b1d6c23a93..7bf83e266c 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf -@@ -322,7 +322,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -323,7 +323,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" @@ -108,5 +108,5 @@ index aeae1650cd..6b20e0946f 100644 !endif !if $(BUILD_SHELL) == TRUE -- -2.38.1 +2.39.3 diff --git a/SOURCES/0024-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch b/SOURCES/0022-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch similarity index 91% rename from SOURCES/0024-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch rename to SOURCES/0022-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch index 2fb3de1..73094e3 100644 --- a/SOURCES/0024-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch +++ b/SOURCES/0022-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch @@ -1,4 +1,4 @@ -From f8e271d73e62ca932253b9461657483cc1081807 Mon Sep 17 00:00:00 2001 +From a9ad729ef5a9dd474842e2e1e0c8be1166af1afa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:34 +0200 Subject: ArmVirtPkg: Remove HttpDynamicCommand from shell (RHEL only) @@ -23,13 +23,13 @@ Signed-off-by: Miroslav Rezanina 2 files changed, 5 deletions(-) diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc -index 39a569e07e..49d2ef381c 100644 +index 9534d6f95a..d5ebc11ad8 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc -@@ -379,10 +379,6 @@ - # - # UEFI application (Shell Embedded Boot Loader) - # +@@ -378,10 +378,6 @@ + # + # UEFI application (Shell Embedded Boot Loader) + # - ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf { - - gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE @@ -38,7 +38,7 @@ index 39a569e07e..49d2ef381c 100644 gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc -index 5ef9f89464..46978cc76c 100644 +index 16a073c4a1..0a01c29722 100644 --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc @@ -98,7 +98,6 @@ READ_LOCK_STATUS = TRUE @@ -50,5 +50,5 @@ index 5ef9f89464..46978cc76c 100644 # -- -2.38.1 +2.39.3 diff --git a/SOURCES/0025-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch b/SOURCES/0023-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch similarity index 88% rename from SOURCES/0025-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch rename to SOURCES/0023-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch index 1f781c4..b5c11db 100644 --- a/SOURCES/0025-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch +++ b/SOURCES/0023-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch @@ -1,4 +1,4 @@ -From ed81dfa142253a7c37824201cf525231b7efcb71 Mon Sep 17 00:00:00 2001 +From e07788f7cf34a364b770e2b979942bf1a8b659f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:39 +0200 Subject: OvmfPkg: Remove LinuxInitrdDynamicShellCommand (RHEL only) @@ -34,10 +34,10 @@ Signed-off-by: Miroslav Rezanina 8 files changed, 20 deletions(-) diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc -index b3fa4941c5..adb051ecea 100644 +index 5987de6d83..427df673f3 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.dsc +++ b/OvmfPkg/AmdSev/AmdSevX64.dsc -@@ -721,10 +721,6 @@ +@@ -728,10 +728,6 @@ MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -49,7 +49,7 @@ index b3fa4941c5..adb051ecea 100644 OvmfPkg/AmdSev/SecretDxe/SecretDxe.inf OvmfPkg/AmdSev/Grub/Grub.inf diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf -index 1b743cc93f..1d55c7815f 100644 +index 4d2f9c7248..a48c93e2a5 100644 --- a/OvmfPkg/AmdSev/AmdSevX64.fdf +++ b/OvmfPkg/AmdSev/AmdSevX64.fdf @@ -274,7 +274,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour @@ -61,10 +61,10 @@ index 1b743cc93f..1d55c7815f 100644 INF OvmfPkg/AmdSev/SecretDxe/SecretDxe.inf INF OvmfPkg/AmdSev/Grub/Grub.inf diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc -index 43d60df6e3..3b86666695 100644 +index 078eab1acc..147774ef58 100644 --- a/OvmfPkg/OvmfPkgIa32.dsc +++ b/OvmfPkg/OvmfPkgIa32.dsc -@@ -909,10 +909,6 @@ +@@ -904,10 +904,6 @@ !endif !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -76,10 +76,10 @@ index 43d60df6e3..3b86666695 100644 !if $(BUILD_SHELL) == TRUE ShellPkg/Application/Shell/Shell.inf { diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf -index 5b7c3f7687..b1f4dbacd7 100644 +index 5b2265c7d1..56f2c45795 100644 --- a/OvmfPkg/OvmfPkgIa32.fdf +++ b/OvmfPkg/OvmfPkgIa32.fdf -@@ -296,7 +296,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -297,7 +297,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" @@ -88,10 +88,10 @@ index 5b7c3f7687..b1f4dbacd7 100644 !if $(BUILD_SHELL) == TRUE INF ShellPkg/Application/Shell/Shell.inf diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc -index 56426672b8..c384425723 100644 +index 6779503e7e..a41bc32454 100644 --- a/OvmfPkg/OvmfPkgIa32X64.dsc +++ b/OvmfPkg/OvmfPkgIa32X64.dsc -@@ -923,10 +923,6 @@ +@@ -918,10 +918,6 @@ !endif !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -103,10 +103,10 @@ index 56426672b8..c384425723 100644 !if $(BUILD_SHELL) == TRUE ShellPkg/Application/Shell/Shell.inf { diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf -index 45f5b69171..c3dcda85c5 100644 +index da32cf1a2f..9efbe6a06d 100644 --- a/OvmfPkg/OvmfPkgIa32X64.fdf +++ b/OvmfPkg/OvmfPkgIa32X64.fdf -@@ -297,7 +297,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -298,7 +298,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" @@ -115,10 +115,10 @@ index 45f5b69171..c3dcda85c5 100644 !if $(BUILD_SHELL) == TRUE INF ShellPkg/Application/Shell/Shell.inf diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc -index 2b4635a71b..bf372014b9 100644 +index 66f267f731..ce363f748f 100644 --- a/OvmfPkg/OvmfPkgX64.dsc +++ b/OvmfPkg/OvmfPkgX64.dsc -@@ -991,10 +991,6 @@ +@@ -992,10 +992,6 @@ !endif !if $(TOOL_CHAIN_TAG) != "XCODE5" && $(BUILD_SHELL) == TRUE @@ -130,10 +130,10 @@ index 2b4635a71b..bf372014b9 100644 !if $(BUILD_SHELL) == TRUE ShellPkg/Application/Shell/Shell.inf { diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf -index 6b20e0946f..2fd1d5315a 100644 +index 7bf83e266c..404e72dc7d 100644 --- a/OvmfPkg/OvmfPkgX64.fdf +++ b/OvmfPkg/OvmfPkgX64.fdf -@@ -322,7 +322,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour +@@ -323,7 +323,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour INF FatPkg/EnhancedFatDxe/Fat.inf !if $(BUILD_SHELL) == TRUE && $(TOOL_CHAIN_TAG) != "XCODE5" @@ -142,5 +142,5 @@ index 6b20e0946f..2fd1d5315a 100644 !if $(BUILD_SHELL) == TRUE INF ShellPkg/Application/Shell/Shell.inf -- -2.38.1 +2.39.3 diff --git a/SOURCES/0026-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch b/SOURCES/0024-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch similarity index 91% rename from SOURCES/0026-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch rename to SOURCES/0024-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch index 5026d6a..aa1674c 100644 --- a/SOURCES/0026-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch +++ b/SOURCES/0024-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch @@ -1,4 +1,4 @@ -From 2bbe51e3b55e6860d4607c6627866ed6b7c858af Mon Sep 17 00:00:00 2001 +From df6b72f26ffb68a28c45f426ad3225388e5fccff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= Date: Thu, 1 Jul 2021 20:29:46 +0200 Subject: ArmVirtPkg: Remove LinuxInitrdDynamicShellCommand (RHEL only) @@ -24,13 +24,13 @@ Signed-off-by: Miroslav Rezanina 2 files changed, 5 deletions(-) diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc -index 49d2ef381c..1f0f8d44cd 100644 +index d5ebc11ad8..0b2b64c1cb 100644 --- a/ArmVirtPkg/ArmVirt.dsc.inc +++ b/ArmVirtPkg/ArmVirt.dsc.inc -@@ -379,10 +379,6 @@ - # - # UEFI application (Shell Embedded Boot Loader) - # +@@ -378,10 +378,6 @@ + # + # UEFI application (Shell Embedded Boot Loader) + # - OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf { - - gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE @@ -39,7 +39,7 @@ index 49d2ef381c..1f0f8d44cd 100644 ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc -index 46978cc76c..7bcb152c7c 100644 +index 0a01c29722..4dbb77a6ca 100644 --- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc @@ -98,7 +98,6 @@ READ_LOCK_STATUS = TRUE @@ -51,5 +51,5 @@ index 46978cc76c..7bcb152c7c 100644 # # Bds -- -2.38.1 +2.39.3 diff --git a/SOURCES/0025-recreate-import-redhat-directory.patch b/SOURCES/0025-recreate-import-redhat-directory.patch new file mode 100644 index 0000000..db66a64 --- /dev/null +++ b/SOURCES/0025-recreate-import-redhat-directory.patch @@ -0,0 +1,164 @@ +From 37e0f9ed6e872224afe70065627de3965689425c Mon Sep 17 00:00:00 2001 +From: Laszlo Ersek +Date: Wed, 11 Jun 2014 20:45:26 +0200 +Subject: recreate / import "redhat/" directory + +This patch now unites the following downstream commits: + +- 18bd1193e7 .distro: simplify WORKSPACE setup +- b00f3398c8 fix tpm build options +- e032ab1675 spec: Centralize non-firmware %install files at the top +- 8501863acc spec: Don't put build output in the top directory +- e6ec0363d3 spec: Factor out OVMF_FLAGS and OVMF_SB_FLAGS +- 596f34c8b6 spec: Use %make_build macro +- 55169e466d spec: Replace RPM_BUILD_ROOT with %{buildroot} +- 69c4c60920 spec: Split out build_iso() function +- ed67da8c85 spec: Add %{qosb_testing} macro +- 44519f5b94 spec: Move %check to between %install and %files +- b37b334dc7 spec: Remove extra 'true' at end of %check +- dd11149c3a spec: Add %{qemu_package} and %{qemu_binary} +- 0f5d4ae0d5 spec: Move -D TPM_ENABLE to common CC_FLAGS +- 84b3fd93f9 spec: Replace ifarch+else conditionals with build_XXX variables +- e97f79e744 spec: Use %autosetup with our required git config options +- 45a347a759 spec: don't conditionalize %package definitions +- acfcfaea1e spec: Add BuildRequires: make +- d917a93f6f spec: remove Group: and %defattr +- f2d3be3ae3 redhat: build UefiShell.iso with xorriso rather than genisoimage +- 3fb4a20f30 redhat: narrow the "qemu-kvm" BuildRequires down to "qemu-kvm-core" +- bfb89c4ae5 redhat: drop Split tool from the edk2-tools subpackage +- ac8be2e0ef redhat: refresh "Makefile.common" for the 8.5 rebase +- 2bd2d18864 redhat: filter out jansson submodule removal hunks +- f13d7899ed recreate / import "redhat/" directory + +Merged patches (edk2-stable202202): +- 1a7b1c3b72 spec: adapt specfile to build option changes, disable tpm1 +- 96eb388be3 spec: build amdsev variant +- ea34352d41 redhat: bump OpenSSL dist-git submodule to a75722161d20 / RHEL-8.5 + +Merged patches (edk2-stable202208): +- a60bf3fd10 Adding support for CentOS 9 build +- d3f25d438c OvmfPkg: Update target machines config +- d63f783930 openssl: jump to 8.7.0 branch (2022-07-22) +- 39882ce96d qemu-ovmf-secureboot: Do not use submodule +- 283ef4a67d ovmf-vars-generator: Use max cpu +- b6887ef7e1 Update build target to RHEL 9.2.0 + +Signed-off-by: Miroslav Rezanina + +Merged patches (edk2-stable202305): +- 5eef16bd65 remove amd-sev feature flag from secure boot builds (rh only) +- cc9e1b6eaa build script update +- 046c1f08e6 PcdDxeNxMemoryProtectionPolicy update +- b9dc1b5365 add aarch64 qcow2 images +- f4e2d6bf41 update json files +- be03b42128 add libvirt version conflict +- dce699b61d add dbx update blob (rh only) +- d8b2407343 spec: apply dbx update (rh only) +- a8a5ef95b5 dbx update, 2023-05-09, black lotus edition +- 310e179053 json descriptors: explicitly set mode = split +- additionally + - update frh.py, add new upstream submodules + - replace egrep with grep -E and fgrep with grep -F in downstream + scripts + - remove git commit sha from package version string + +Signed-off-by: Oliver Steffen + +drop git sha + +Signed-off-by: Oliver Steffen +--- + .distro/.gitignore | 3 + + .distro/DBXUpdate-20230314.x64.bin | Bin 0 -> 13922 bytes + .distro/DBXUpdate-20230509.x64.bin | Bin 0 -> 21170 bytes + .distro/Makefile | 114 + + .distro/Makefile.common | 31 + + .distro/README | 236 ++ + .distro/RedHatSecureBootPkKek1.pem | 22 + + .distro/TargetRelease | 4 + + .distro/edk2-build.py | 391 +++ + .distro/edk2-build.rhel-9 | 119 + + .distro/edk2.spec.template | 1301 +++++++++ + .../30-edk2-ovmf-x64-sb-enrolled.json | 36 + + .distro/metafiles/40-edk2-ovmf-x64-sb.json | 35 + + .distro/metafiles/50-edk2-aarch64-qcow2.json | 32 + + .distro/metafiles/50-edk2-ovmf-x64-nosb.json | 35 + + .distro/metafiles/51-edk2-aarch64-raw.json | 32 + + .../52-edk2-aarch64-verbose-qcow2.json | 32 + + .../53-edk2-aarch64-verbose-raw.json | 32 + + .../metafiles/60-edk2-ovmf-x64-amdsev.json | 31 + + .../metafiles/60-edk2-ovmf-x64-inteltdx.json | 29 + + .distro/openssl-rhel | 1 + + .distro/ovmf-whitepaper-c770f8c.txt | 2422 +++++++++++++++++ + .distro/qemu-ovmf-secureboot/CONTRIBUTING | 45 + + .distro/qemu-ovmf-secureboot/LICENSE | 21 + + .distro/qemu-ovmf-secureboot/README.md | 66 + + .../qemu-ovmf-secureboot/ovmf-vars-generator | 296 ++ + .distro/rpmbuild/BUILD/.gitignore | 2 + + .distro/rpmbuild/RPMS/.gitignore | 2 + + .distro/rpmbuild/SOURCES/.gitignore | 2 + + .distro/rpmbuild/SPECS/.gitignore | 2 + + .distro/rpmbuild/SRPMS/.gitignore | 2 + + .distro/scripts/edk2-guids | 85 + + .distro/scripts/frh.py | 51 + + .distro/scripts/git-backport-diff | 327 +++ + .distro/scripts/git-compile-check | 215 ++ + .distro/scripts/openssl-update | 79 + + .distro/scripts/process-patches.sh | 75 + + .distro/scripts/tarball_checksum.sh | 3 + + .gitattributes | 15 + + .gitignore | 16 +- + .gitmodules | 4 + + sources | 1 + + 42 files changed, 6240 insertions(+), 7 deletions(-) + create mode 100644 .distro/.gitignore + create mode 100644 .distro/DBXUpdate-20230314.x64.bin + create mode 100644 .distro/DBXUpdate-20230509.x64.bin + create mode 100644 .distro/Makefile + create mode 100644 .distro/Makefile.common + create mode 100644 .distro/README + create mode 100644 .distro/RedHatSecureBootPkKek1.pem + create mode 100644 .distro/TargetRelease + create mode 100755 .distro/edk2-build.py + create mode 100644 .distro/edk2-build.rhel-9 + create mode 100644 .distro/edk2.spec.template + create mode 100644 .distro/metafiles/30-edk2-ovmf-x64-sb-enrolled.json + create mode 100644 .distro/metafiles/40-edk2-ovmf-x64-sb.json + create mode 100644 .distro/metafiles/50-edk2-aarch64-qcow2.json + create mode 100644 .distro/metafiles/50-edk2-ovmf-x64-nosb.json + create mode 100644 .distro/metafiles/51-edk2-aarch64-raw.json + create mode 100644 .distro/metafiles/52-edk2-aarch64-verbose-qcow2.json + create mode 100644 .distro/metafiles/53-edk2-aarch64-verbose-raw.json + create mode 100644 .distro/metafiles/60-edk2-ovmf-x64-amdsev.json + create mode 100644 .distro/metafiles/60-edk2-ovmf-x64-inteltdx.json + create mode 160000 .distro/openssl-rhel + create mode 100644 .distro/ovmf-whitepaper-c770f8c.txt + create mode 100644 .distro/qemu-ovmf-secureboot/CONTRIBUTING + create mode 100644 .distro/qemu-ovmf-secureboot/LICENSE + create mode 100644 .distro/qemu-ovmf-secureboot/README.md + create mode 100755 .distro/qemu-ovmf-secureboot/ovmf-vars-generator + create mode 100644 .distro/rpmbuild/BUILD/.gitignore + create mode 100644 .distro/rpmbuild/RPMS/.gitignore + create mode 100644 .distro/rpmbuild/SOURCES/.gitignore + create mode 100644 .distro/rpmbuild/SPECS/.gitignore + create mode 100644 .distro/rpmbuild/SRPMS/.gitignore + create mode 100755 .distro/scripts/edk2-guids + create mode 100644 .distro/scripts/frh.py + create mode 100755 .distro/scripts/git-backport-diff + create mode 100755 .distro/scripts/git-compile-check + create mode 100755 .distro/scripts/openssl-update + create mode 100755 .distro/scripts/process-patches.sh + create mode 100755 .distro/scripts/tarball_checksum.sh + create mode 100644 .gitattributes + create mode 100644 sources + +diff --git a/sources b/sources +new file mode 100644 +index 0000000000..ea8c8ad50b +--- /dev/null ++++ b/sources +@@ -0,0 +1 @@ ++SHA512 (edk2-ba91d0292e.tar.xz) = 3b21cc39671d28bfeb059da3683751cc5277c63a894b2a05bdfbd2bbe53545c34f04c229becf44f1563f89a738f37ae8f2333076d126a7e94d234bc4bb25454c +-- +2.39.3 + diff --git a/SOURCES/0012-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch b/SOURCES/0026-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch similarity index 93% rename from SOURCES/0012-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch rename to SOURCES/0026-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch index a7df5e4..8290124 100644 --- a/SOURCES/0012-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch +++ b/SOURCES/0026-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch @@ -1,4 +1,4 @@ -From 87d4b94d2ea1896dec43a6e70feeae1aef7a4ce2 Mon Sep 17 00:00:00 2001 +From fb3719378d7ce646c684fc2c8b52806aca0c576a Mon Sep 17 00:00:00 2001 From: Laszlo Ersek Date: Sat, 16 Nov 2019 17:11:27 +0100 Subject: CryptoPkg/OpensslLib: list RHEL8-specific OpenSSL files in the INFs @@ -126,54 +126,56 @@ Signed-off-by: Laszlo Ersek (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(+) + CryptoPkg/Library/OpensslLib/OpensslLib.inf | 12 ++++++++++++ + CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 12 ++++++++++++ + 2 files changed, 24 insertions(+) diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf -index 60c6c24b0a..e446b51e66 100644 +index 0f64c9fa7e..1641754e4d 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf -@@ -575,6 +575,17 @@ +@@ -576,6 +576,18 @@ $(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 ++# RHEL8-specific OpenSSL file list starts here ++ $(OPENSSL_PATH)/crypto/bn/rsa_sup_mul.c ++ $(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 c4eaea888c..c207dc8f4c 100644 +index 311cd1e605..7e980a7d03 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf -@@ -525,6 +525,17 @@ +@@ -526,6 +526,18 @@ $(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 ++# RHEL8-specific OpenSSL file list starts here ++ $(OPENSSL_PATH)/crypto/bn/rsa_sup_mul.c ++ $(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.38.1 +2.39.3 diff --git a/SOURCES/edk2-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch b/SOURCES/0027-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch similarity index 65% rename from SOURCES/edk2-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch rename to SOURCES/0027-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch index 1f06b3a..7bcbe6d 100644 --- a/SOURCES/edk2-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch +++ b/SOURCES/0027-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch @@ -1,13 +1,7 @@ -From 5722005baa03df51b9376f05274981524e513d93 Mon Sep 17 00:00:00 2001 +From 218d3b32592bffe5ec7317c4838d29e92b4b86f0 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Thu, 2 Mar 2023 12:01:36 +0100 -Subject: [PATCH] OvmfPkg: disable dynamic mmio window (rhel only) - -RH-Author: Gerd Hoffmann -RH-MergeRequest: 29: OvmfPkg: disable dynamic mmio window (rhel only) -RH-Bugzilla: 2174605 -RH-Acked-by: Laszlo Ersek -RH-Commit: [1/1] a1faf2d01025e5f5be7dbc29af1b0b57631d6230 (kraxel/centos-edk2) +Subject: OvmfPkg: disable dynamic mmio window (rhel only) Signed-off-by: Gerd Hoffmann --- @@ -15,19 +9,19 @@ Signed-off-by: Gerd Hoffmann 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c -index b8feae4309..55e02417e4 100644 +index acf90b4e93..86700fc028 100644 --- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c +++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c -@@ -617,7 +617,8 @@ PlatformDynamicMmioWindow ( +@@ -679,7 +679,8 @@ PlatformDynamicMmioWindow ( AddrSpace = LShiftU64 (1, PlatformInfoHob->PhysMemAddressWidth); MmioSpace = LShiftU64 (1, PlatformInfoHob->PhysMemAddressWidth - 3); - if ((PlatformInfoHob->PcdPciMmio64Size < MmioSpace) && -+ if (FALSE /* disable for RHEL-9.2, libvirt is not ready yet */ && -+ (PlatformInfoHob->PcdPciMmio64Size < MmioSpace) && ++ if (FALSE /* disable for RHEL-9.2, libvirt is not ready yet */ && ++ (PlatformInfoHob->PcdPciMmio64Size < MmioSpace) && (PlatformInfoHob->PcdPciMmio64Base + MmioSpace < AddrSpace)) { DEBUG ((DEBUG_INFO, "%a: using dynamic mmio window\n", __func__)); -- -2.39.1 +2.39.3 diff --git a/SOURCES/0028-ArmPkg-Disable-EFI_MEMORY_ATTRIBUTE_PROTOCOL-RH-only.patch b/SOURCES/0028-ArmPkg-Disable-EFI_MEMORY_ATTRIBUTE_PROTOCOL-RH-only.patch new file mode 100644 index 0000000..1356855 --- /dev/null +++ b/SOURCES/0028-ArmPkg-Disable-EFI_MEMORY_ATTRIBUTE_PROTOCOL-RH-only.patch @@ -0,0 +1,76 @@ +From 5c2e46b64824e5432181507ec0706f7fe74c3fe2 Mon Sep 17 00:00:00 2001 +From: Oliver Steffen +Date: Mon, 19 Jun 2023 11:21:52 +0200 +Subject: ArmPkg: Disable EFI_MEMORY_ATTRIBUTE_PROTOCOL (RH only) + +Recent versions of shim (15.6 and 15.7) crash when the newly added +EFI_MEMORY_ATTRIBUTE_PROTOCOL is provided by the firmware. To allow +existing installations to boot, provide a workaround in form of a Pcd +that allows tuning it off at build time (defaults to 'enabled'). +Additionally, check the return code of the protocol installation calls. + +Disable the EFI_MEMORY_ATTRIBUTE_PROTOCOL protocol out builds. + +Signed-off-by: Oliver Steffen +--- + .distro/edk2-build.rhel-9 | 2 ++ + ArmPkg/ArmPkg.dec | 3 +++ + ArmPkg/Drivers/CpuDxe/CpuDxe.c | 13 +++++++++++-- + ArmPkg/Drivers/CpuDxe/CpuDxe.inf | 1 + + 4 files changed, 17 insertions(+), 2 deletions(-) + +diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec +index 2444457ae5..d9e579b5fa 100644 +--- a/ArmPkg/ArmPkg.dec ++++ b/ArmPkg/ArmPkg.dec +@@ -167,6 +167,9 @@ + gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0xffff0000|UINT64|0x00000004 + gArmTokenSpaceGuid.PcdCpuResetAddress|0x00000000|UINT32|0x00000005 + ++ # Enable/Disable EFI_MEMORY_ATTRIBUTE_PROTOCOL ++ gArmTokenSpaceGuid.PcdEnableEfiMemoryAttributeProtocol|TRUE|BOOLEAN|0x000000EE ++ + # + # ARM Secure Firmware PCDs + # +diff --git a/ArmPkg/Drivers/CpuDxe/CpuDxe.c b/ArmPkg/Drivers/CpuDxe/CpuDxe.c +index d04958e79e..ff7d735b2b 100644 +--- a/ArmPkg/Drivers/CpuDxe/CpuDxe.c ++++ b/ArmPkg/Drivers/CpuDxe/CpuDxe.c +@@ -244,10 +244,19 @@ CpuDxeInitialize ( + &mCpuHandle, + &gEfiCpuArchProtocolGuid, + &mCpu, +- &gEfiMemoryAttributeProtocolGuid, +- &mMemoryAttribute, + NULL + ); ++ ASSERT_EFI_ERROR (Status); ++ ++ if (PcdGetBool (PcdEnableEfiMemoryAttributeProtocol)) { ++ Status = gBS->InstallMultipleProtocolInterfaces ( ++ &mCpuHandle, ++ &gEfiMemoryAttributeProtocolGuid, ++ &mMemoryAttribute, ++ NULL ++ ); ++ ASSERT_EFI_ERROR (Status); ++ } + + // + // Make sure GCD and MMU settings match. This API calls gDS->SetMemorySpaceAttributes () +diff --git a/ArmPkg/Drivers/CpuDxe/CpuDxe.inf b/ArmPkg/Drivers/CpuDxe/CpuDxe.inf +index e732e21cb9..1bad4ae160 100644 +--- a/ArmPkg/Drivers/CpuDxe/CpuDxe.inf ++++ b/ArmPkg/Drivers/CpuDxe/CpuDxe.inf +@@ -64,6 +64,7 @@ + + [Pcd.common] + gArmTokenSpaceGuid.PcdVFPEnabled ++ gArmTokenSpaceGuid.PcdEnableEfiMemoryAttributeProtocol + + [FeaturePcd.common] + gArmTokenSpaceGuid.PcdDebuggerExceptionSupport +-- +2.39.3 + diff --git a/SOURCES/0028-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch b/SOURCES/0028-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch deleted file mode 100644 index 2b10c67..0000000 --- a/SOURCES/0028-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch +++ /dev/null @@ -1,26 +0,0 @@ -From 2f497dbe08c4374e02006edb5c2036d7216cd878 Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pawe=C5=82=20Po=C5=82awski?= -Date: Wed, 7 Dec 2022 03:19:20 +0100 -Subject: Revert "ArmVirtPkg: make EFI_LOADER_DATA non-executable" - -This reverts commit 2997ae38739756ecba9b0de19e86032ebc689ef9. ---- - ArmVirtPkg/ArmVirt.dsc.inc | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc -index 1f0f8d44cd..65bfbc033f 100644 ---- a/ArmVirtPkg/ArmVirt.dsc.inc -+++ b/ArmVirtPkg/ArmVirt.dsc.inc -@@ -368,7 +368,7 @@ - # reserved ones, with the exception of LoaderData regions, of which OS loaders - # (i.e., GRUB) may assume that its contents are executable. - # -- gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD5 -+ gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy|0xC000000000007FD1 - - [Components.common] - # --- -2.38.1 - diff --git a/SOURCES/0029-OvmfPkg-PciHotPlugInitDxe-Do-not-reserve-IO-ports-by.patch b/SOURCES/0029-OvmfPkg-PciHotPlugInitDxe-Do-not-reserve-IO-ports-by.patch new file mode 100644 index 0000000..3547523 --- /dev/null +++ b/SOURCES/0029-OvmfPkg-PciHotPlugInitDxe-Do-not-reserve-IO-ports-by.patch @@ -0,0 +1,46 @@ +From 8f924bd2691789f6b0d9deae9ddb046677a0610b Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Tue, 16 May 2023 11:47:58 +0200 +Subject: OvmfPkg/PciHotPlugInitDxe: Do not reserve IO ports by default. + +Flip the default for IO address space reservations for PCI(e) bridges +and root ports with hotplug support from TRUE to FALSE. + +PCI(e) bridges will still get IO address space assigned in case: + + (a) Downstream devices actually need IO address space, or + (b) Explicit configuration, using "qemu -device + pcie-root-port,io-reserve=". + +In case IO address space is exhausted edk2 will stop assigning resources +to PCI(e) bridges. This is not limited to IO resources, the affected +bridges will not get any memory resources assigned either. + +This patch solves this issue by not handing out the scarce IO address +space, which is not needed in most cases anyway. Result is a more +consistent PCI configuration in virtual machine configurations with many +PCie root ports. + +Signed-off-by: Gerd Hoffmann +Reviewed-by: Ard Biesheuvel +(cherry picked from commit 27727338b2c0e3f50eb0176a1044e903fcb3c3b1) +--- + OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c b/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c +index 6b2b6797b3..69903a6009 100644 +--- a/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c ++++ b/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c +@@ -589,7 +589,7 @@ GetResourcePadding ( + return EFI_INVALID_PARAMETER; + } + +- DefaultIo = TRUE; ++ DefaultIo = FALSE; + DefaultMmio = TRUE; + DefaultPrefMmio = TRUE; + +-- +2.39.3 + diff --git a/SOURCES/0032-Revert-OvmfPkg-PlatformDxe-Handle-all-requests-in-Ex.patch b/SOURCES/0032-Revert-OvmfPkg-PlatformDxe-Handle-all-requests-in-Ex.patch deleted file mode 100644 index f9176a0..0000000 --- a/SOURCES/0032-Revert-OvmfPkg-PlatformDxe-Handle-all-requests-in-Ex.patch +++ /dev/null @@ -1,216 +0,0 @@ -From b6a0dcb7a035aef12e1466fd1017194b9430c948 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Tue, 13 Dec 2022 10:31:05 +0100 -Subject: Revert "OvmfPkg/PlatformDxe: Handle all requests in ExtractConfig and - RouteConfig" - -This reverts commit aefcc91805fd69e4aad4bc08a9f708db11cae5f0. - -Fixes regression, patch breaks setting display resolution via ovmf -platform config. - -Signed-off-by: Gerd Hoffmann ---- - OvmfPkg/PlatformDxe/Platform.c | 115 +-------------------------- - OvmfPkg/PlatformDxe/PlatformConfig.c | 2 +- - OvmfPkg/PlatformDxe/PlatformConfig.h | 2 - - 3 files changed, 3 insertions(+), 116 deletions(-) - -diff --git a/OvmfPkg/PlatformDxe/Platform.c b/OvmfPkg/PlatformDxe/Platform.c -index ac31fafbdc..4d432f18df 100644 ---- a/OvmfPkg/PlatformDxe/Platform.c -+++ b/OvmfPkg/PlatformDxe/Platform.c -@@ -108,11 +108,6 @@ STATIC EFI_EVENT mGopEvent; - // - STATIC VOID *mGopTracker; - --// --// The driver image handle, used to obtain the device path for . --// --STATIC EFI_HANDLE mImageHandle; -- - // - // Cache the resolutions we get from the GOP. - // -@@ -234,10 +229,6 @@ ExtractConfig ( - { - MAIN_FORM_STATE MainFormState; - EFI_STATUS Status; -- EFI_STRING ConfigRequestHdr; -- EFI_STRING ConfigRequest; -- UINTN Size; -- BOOLEAN AllocatedRequest; - - DEBUG ((DEBUG_VERBOSE, "%a: Request=\"%s\"\n", __FUNCTION__, Request)); - -@@ -245,73 +236,18 @@ ExtractConfig ( - return EFI_INVALID_PARAMETER; - } - -- ConfigRequestHdr = NULL; -- ConfigRequest = NULL; -- Size = 0; -- AllocatedRequest = FALSE; -- -- // -- // Check if matches the GUID and name -- // -- *Progress = Request; -- if ((Request != NULL) && -- !HiiIsConfigHdrMatch ( -- Request, -- &gOvmfPlatformConfigGuid, -- mVariableName -- ) -- ) -- { -- return EFI_NOT_FOUND; -- } -- - Status = PlatformConfigToFormState (&MainFormState); - if (EFI_ERROR (Status)) { -+ *Progress = Request; - return Status; - } - -- if ((Request == NULL) || (StrStr (Request, L"OFFSET") == NULL)) { -- // -- // Request has no , so construct full request string. -- // Allocate and fill a buffer large enough to hold -- // followed by "&OFFSET=0&WIDTH=WWWWWWWWWWWWWWWW" followed by a -- // null terminator. -- // -- ConfigRequestHdr = HiiConstructConfigHdr ( -- &gOvmfPlatformConfigGuid, -- mVariableName, -- mImageHandle -- ); -- if (ConfigRequestHdr == NULL) { -- return EFI_OUT_OF_RESOURCES; -- } -- -- Size = (StrLen (ConfigRequestHdr) + 32 + 1) * sizeof (CHAR16); -- ConfigRequest = AllocateZeroPool (Size); -- AllocatedRequest = TRUE; -- if (ConfigRequest == NULL) { -- FreePool (ConfigRequestHdr); -- return EFI_OUT_OF_RESOURCES; -- } -- -- UnicodeSPrint ( -- ConfigRequest, -- Size, -- L"%s&OFFSET=0&WIDTH=%016LX", -- ConfigRequestHdr, -- sizeof MainFormState -- ); -- FreePool (ConfigRequestHdr); -- } else { -- ConfigRequest = Request; -- } -- - // - // Answer the textual request keying off the binary form state. - // - Status = gHiiConfigRouting->BlockToConfig ( - gHiiConfigRouting, -- ConfigRequest, -+ Request, - (VOID *)&MainFormState, - sizeof MainFormState, - Results, -@@ -329,33 +265,6 @@ ExtractConfig ( - DEBUG ((DEBUG_VERBOSE, "%a: Results=\"%s\"\n", __FUNCTION__, *Results)); - } - -- // -- // If we used a newly allocated ConfigRequest, update Progress to point to -- // original Request instead of ConfigRequest. -- // -- if (Request == NULL) { -- *Progress = NULL; -- } else if (StrStr (Request, L"OFFSET") == NULL) { -- if (EFI_ERROR (Status)) { -- // -- // Since we constructed ConfigRequest, failure can only occur if there -- // is not enough memory. In this case, we point Progress to the first -- // character of Request. -- // -- *Progress = Request; -- } else { -- // -- // In case of success, we point Progress to the null terminator of -- // Request. -- // -- *Progress = Request + StrLen (Request); -- } -- } -- -- if (AllocatedRequest) { -- FreePool (ConfigRequest); -- } -- - return Status; - } - -@@ -439,21 +348,6 @@ RouteConfig ( - return EFI_INVALID_PARAMETER; - } - -- // -- // Check if matches the GUID and name -- // -- *Progress = Configuration; -- if ((Configuration != NULL) && -- !HiiIsConfigHdrMatch ( -- Configuration, -- &gOvmfPlatformConfigGuid, -- mVariableName -- ) -- ) -- { -- return EFI_NOT_FOUND; -- } -- - // - // the "read" step in RMW - // -@@ -972,11 +866,6 @@ PlatformInit ( - return Status; - } - -- // -- // Save the driver image handle. -- // -- mImageHandle = ImageHandle; -- - // - // Publish the HII package list to HII Database. - // -diff --git a/OvmfPkg/PlatformDxe/PlatformConfig.c b/OvmfPkg/PlatformDxe/PlatformConfig.c -index f5ac2d0609..e202ac5b47 100644 ---- a/OvmfPkg/PlatformDxe/PlatformConfig.c -+++ b/OvmfPkg/PlatformDxe/PlatformConfig.c -@@ -21,7 +21,7 @@ - // - // Name of the UEFI variable that we use for persistent storage. - // --CHAR16 mVariableName[] = L"PlatformConfig"; -+STATIC CHAR16 mVariableName[] = L"PlatformConfig"; - - /** - Serialize and persistently save platform configuration. -diff --git a/OvmfPkg/PlatformDxe/PlatformConfig.h b/OvmfPkg/PlatformDxe/PlatformConfig.h -index 5d9b457b1b..902c9b2ce0 100644 ---- a/OvmfPkg/PlatformDxe/PlatformConfig.h -+++ b/OvmfPkg/PlatformDxe/PlatformConfig.h -@@ -50,6 +50,4 @@ PlatformConfigLoad ( - #define PLATFORM_CONFIG_F_GRAPHICS_RESOLUTION BIT0 - #define PLATFORM_CONFIG_F_DOWNGRADE BIT63 - --extern CHAR16 mVariableName[]; -- - #endif // _PLATFORM_CONFIG_H_ --- -2.38.1 - diff --git a/SOURCES/0033-OvmfPkg-SmbiosPlatformDxe-use-PcdFirmware.patch b/SOURCES/0033-OvmfPkg-SmbiosPlatformDxe-use-PcdFirmware.patch deleted file mode 100644 index 01329b0..0000000 --- a/SOURCES/0033-OvmfPkg-SmbiosPlatformDxe-use-PcdFirmware.patch +++ /dev/null @@ -1,231 +0,0 @@ -From 8b2cc30989c009ab72951022bd017143764411b2 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Mon, 28 Nov 2022 13:40:20 +0800 -Subject: OvmfPkg/SmbiosPlatformDxe: use PcdFirmware* - -Instead of using hard-coded strings ("0.0.0" for BiosVersion etc) -which is mostly useless read the PCDs (PcdFirmwareVendor, -PcdFirmwareVersionString and PcdFirmwareReleaseDateString) and -build the string table dynamuically at runtime. - -Signed-off-by: Gerd Hoffmann -Reviewed-by: Jiewen Yao -(cherry picked from commit 4cb94f20b002c99dd2b4b75f07c5495b81a34ffd) - -https://issues.redhat.com/browse/RHEL-75 ---- - OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c | 115 +++++++++++------- - .../SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 6 + - .../XenSmbiosPlatformDxe.inf | 9 +- - 3 files changed, 85 insertions(+), 45 deletions(-) - -diff --git a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c -index 94249d3ff1..dc1e6aed63 100644 ---- a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c -+++ b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.c -@@ -9,57 +9,43 @@ - **/ - - #include // SMBIOS_TABLE_TYPE0 -+#include -+#include - #include // ASSERT_EFI_ERROR() -+#include -+#include - #include // gBS - #include // EFI_SMBIOS_PROTOCOL - - #include "SmbiosPlatformDxe.h" - --#define TYPE0_STRINGS \ -- "EFI Development Kit II / OVMF\0" /* Vendor */ \ -- "0.0.0\0" /* BiosVersion */ \ -- "02/06/2015\0" /* BiosReleaseDate */ --// --// Type definition and contents of the default Type 0 SMBIOS table. --// --#pragma pack(1) --typedef struct { -- SMBIOS_TABLE_TYPE0 Base; -- UINT8 Strings[sizeof (TYPE0_STRINGS)]; --} OVMF_TYPE0; --#pragma pack() -- --STATIC CONST OVMF_TYPE0 mOvmfDefaultType0 = { -+STATIC CONST SMBIOS_TABLE_TYPE0 mOvmfDefaultType0 = { -+ // SMBIOS_STRUCTURE Hdr - { -- // SMBIOS_STRUCTURE Hdr -- { -- EFI_SMBIOS_TYPE_BIOS_INFORMATION, // UINT8 Type -- sizeof (SMBIOS_TABLE_TYPE0), // UINT8 Length -- }, -- 1, // SMBIOS_TABLE_STRING Vendor -- 2, // SMBIOS_TABLE_STRING BiosVersion -- 0xE800, // UINT16 BiosSegment -- 3, // SMBIOS_TABLE_STRING BiosReleaseDate -- 0, // UINT8 BiosSize -- { // MISC_BIOS_CHARACTERISTICS BiosCharacteristics -- 0, // Reserved :2 -- 0, // Unknown :1 -- 1, // BiosCharacteristicsNotSupported :1 -- // Remaining BiosCharacteristics bits left unset :60 -- }, -- { // BIOSCharacteristicsExtensionBytes[2] -- 0, // BiosReserved -- 0x1C // SystemReserved = VirtualMachineSupported | -- // UefiSpecificationSupported | -- // TargetContentDistributionEnabled -- }, -- 0, // UINT8 SystemBiosMajorRelease -- 0, // UINT8 SystemBiosMinorRelease -- 0xFF, // UINT8 EmbeddedControllerFirmwareMajorRelease -- 0xFF // UINT8 EmbeddedControllerFirmwareMinorRelease -+ EFI_SMBIOS_TYPE_BIOS_INFORMATION, // UINT8 Type -+ sizeof (SMBIOS_TABLE_TYPE0), // UINT8 Length - }, -- // Text strings (unformatted area) -- TYPE0_STRINGS -+ 1, // SMBIOS_TABLE_STRING Vendor -+ 2, // SMBIOS_TABLE_STRING BiosVersion -+ 0xE800, // UINT16 BiosSegment -+ 3, // SMBIOS_TABLE_STRING BiosReleaseDate -+ 0, // UINT8 BiosSize -+ { // MISC_BIOS_CHARACTERISTICS BiosCharacteristics -+ 0, // Reserved :2 -+ 0, // Unknown :1 -+ 1, // BiosCharacteristicsNotSupported :1 -+ // Remaining BiosCharacteristics bits left unset :60 -+ }, -+ { // BIOSCharacteristicsExtensionBytes[2] -+ 0, // BiosReserved -+ 0x1C // SystemReserved = VirtualMachineSupported | -+ // UefiSpecificationSupported | -+ // TargetContentDistributionEnabled -+ }, -+ 0, // UINT8 SystemBiosMajorRelease -+ 0, // UINT8 SystemBiosMinorRelease -+ 0xFF, // UINT8 EmbeddedControllerFirmwareMajorRelease -+ 0xFF // UINT8 EmbeddedControllerFirmwareMinorRelease - }; - - /** -@@ -153,14 +139,55 @@ InstallAllStructures ( - // - // Add OVMF default Type 0 (BIOS Information) table - // -+ CHAR16 *VendStr, *VersStr, *DateStr; -+ UINTN VendLen, VersLen, DateLen; -+ CHAR8 *Type0; -+ -+ VendStr = (CHAR16 *)FixedPcdGetPtr (PcdFirmwareVendor); -+ VendLen = StrLen (VendStr); -+ if (VendLen < 3) { -+ VendStr = L"unknown"; -+ VendLen = StrLen (VendStr); -+ } -+ -+ VersStr = (CHAR16 *)FixedPcdGetPtr (PcdFirmwareVersionString); -+ VersLen = StrLen (VersStr); -+ if (VersLen < 3) { -+ VersStr = L"unknown"; -+ VersLen = StrLen (VersStr); -+ } -+ -+ DateStr = (CHAR16 *)FixedPcdGetPtr (PcdFirmwareReleaseDateString); -+ DateLen = StrLen (DateStr); -+ if (DateLen < 3) { -+ DateStr = L"unknown"; -+ DateLen = StrLen (DateStr); -+ } -+ -+ DEBUG ((DEBUG_INFO, "FirmwareVendor: \"%s\" (%d chars)\n", VendStr, VendLen)); -+ DEBUG ((DEBUG_INFO, "FirmwareVersionString: \"%s\" (%d chars)\n", VersStr, VersLen)); -+ DEBUG ((DEBUG_INFO, "FirmwareReleaseDateString: \"%s\" (%d chars)\n", DateStr, DateLen)); -+ -+ Type0 = AllocateZeroPool (sizeof (mOvmfDefaultType0) + VendLen + VersLen + DateLen + 4); -+ if (Type0 == NULL) { -+ return EFI_OUT_OF_RESOURCES; -+ } -+ -+ CopyMem (Type0, &mOvmfDefaultType0, sizeof (mOvmfDefaultType0)); -+ UnicodeStrToAsciiStrS (VendStr, Type0 + sizeof (mOvmfDefaultType0), VendLen + 1); -+ UnicodeStrToAsciiStrS (VersStr, Type0 + sizeof (mOvmfDefaultType0) + VendLen + 1, VersLen + 1); -+ UnicodeStrToAsciiStrS (DateStr, Type0 + sizeof (mOvmfDefaultType0) + VendLen + VersLen + 2, DateLen + 1); -+ - SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED; - Status = Smbios->Add ( - Smbios, - NULL, - &SmbiosHandle, -- (EFI_SMBIOS_TABLE_HEADER *)&mOvmfDefaultType0 -+ (EFI_SMBIOS_TABLE_HEADER *)Type0 - ); - ASSERT_EFI_ERROR (Status); -+ -+ FreePool (Type0); - } - - return EFI_SUCCESS; -diff --git a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf -index 0066bbc922..52689c96e5 100644 ---- a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf -+++ b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf -@@ -32,9 +32,12 @@ - - [Packages] - MdePkg/MdePkg.dec -+ MdeModulePkg/MdeModulePkg.dec - OvmfPkg/OvmfPkg.dec - - [LibraryClasses] -+ BaseLib -+ BaseMemoryLib - DebugLib - MemoryAllocationLib - PcdLib -@@ -45,6 +48,9 @@ - [Pcd] - gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId - gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated -+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor -+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString -+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString - - [Protocols] - gEfiSmbiosProtocolGuid # PROTOCOL ALWAYS_CONSUMED -diff --git a/OvmfPkg/SmbiosPlatformDxe/XenSmbiosPlatformDxe.inf b/OvmfPkg/SmbiosPlatformDxe/XenSmbiosPlatformDxe.inf -index 7f4588e33d..e646c88741 100644 ---- a/OvmfPkg/SmbiosPlatformDxe/XenSmbiosPlatformDxe.inf -+++ b/OvmfPkg/SmbiosPlatformDxe/XenSmbiosPlatformDxe.inf -@@ -38,19 +38,26 @@ - - [Packages] - MdePkg/MdePkg.dec -+ MdeModulePkg/MdeModulePkg.dec - - [Packages.IA32, Packages.X64] - OvmfPkg/OvmfPkg.dec - - [LibraryClasses] -+ BaseLib -+ BaseMemoryLib - DebugLib - UefiBootServicesTableLib - UefiDriverEntryPoint - - [LibraryClasses.IA32, LibraryClasses.X64] -- BaseLib - HobLib - -+[Pcd] -+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVendor -+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareVersionString -+ gEfiMdeModulePkgTokenSpaceGuid.PcdFirmwareReleaseDateString -+ - [Protocols] - gEfiSmbiosProtocolGuid # PROTOCOL ALWAYS_CONSUMED - --- -2.38.1 - diff --git a/SOURCES/30-edk2-ovmf-x64-sb-enrolled.json b/SOURCES/30-edk2-ovmf-x64-sb-enrolled.json index 3fbb0d7..d77ed08 100644 --- a/SOURCES/30-edk2-ovmf-x64-sb-enrolled.json +++ b/SOURCES/30-edk2-ovmf-x64-sb-enrolled.json @@ -5,6 +5,7 @@ ], "mapping": { "device": "flash", + "mode": "split", "executable": { "filename": "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd", "format": "raw" diff --git a/SOURCES/40-edk2-ovmf-x64-sb.json b/SOURCES/40-edk2-ovmf-x64-sb.json index ca67350..02a7622 100644 --- a/SOURCES/40-edk2-ovmf-x64-sb.json +++ b/SOURCES/40-edk2-ovmf-x64-sb.json @@ -5,6 +5,7 @@ ], "mapping": { "device": "flash", + "mode": "split", "executable": { "filename": "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd", "format": "raw" diff --git a/SOURCES/50-edk2-aarch64-qcow2.json b/SOURCES/50-edk2-aarch64-qcow2.json new file mode 100644 index 0000000..937d295 --- /dev/null +++ b/SOURCES/50-edk2-aarch64-qcow2.json @@ -0,0 +1,32 @@ +{ + "description": "UEFI firmware for ARM64 virtual machines", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "mode": "split", + "executable": { + "filename": "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.qcow2", + "format": "qcow2" + }, + "nvram-template": { + "filename": "/usr/share/edk2/aarch64/vars-template-pflash.qcow2", + "format": "qcow2" + } + }, + "targets": [ + { + "architecture": "aarch64", + "machines": [ + "virt-*" + ] + } + ], + "features": [ + + ], + "tags": [ + + ] +} diff --git a/SOURCES/50-edk2-ovmf-x64-nosb.json b/SOURCES/50-edk2-ovmf-x64-nosb.json index 1685da9..c660e0c 100644 --- a/SOURCES/50-edk2-ovmf-x64-nosb.json +++ b/SOURCES/50-edk2-ovmf-x64-nosb.json @@ -5,6 +5,7 @@ ], "mapping": { "device": "flash", + "mode": "split", "executable": { "filename": "/usr/share/edk2/ovmf/OVMF_CODE.fd", "format": "raw" diff --git a/SOURCES/50-edk2-aarch64.json b/SOURCES/51-edk2-aarch64-raw.json similarity index 96% rename from SOURCES/50-edk2-aarch64.json rename to SOURCES/51-edk2-aarch64-raw.json index c5a73cb..506bbe6 100644 --- a/SOURCES/50-edk2-aarch64.json +++ b/SOURCES/51-edk2-aarch64-raw.json @@ -5,6 +5,7 @@ ], "mapping": { "device": "flash", + "mode": "split", "executable": { "filename": "/usr/share/edk2/aarch64/QEMU_EFI-silent-pflash.raw", "format": "raw" diff --git a/SOURCES/52-edk2-aarch64-verbose-qcow2.json b/SOURCES/52-edk2-aarch64-verbose-qcow2.json new file mode 100644 index 0000000..976f2a6 --- /dev/null +++ b/SOURCES/52-edk2-aarch64-verbose-qcow2.json @@ -0,0 +1,32 @@ +{ + "description": "UEFI firmware for ARM64 virtual machines, verbose logs", + "interface-types": [ + "uefi" + ], + "mapping": { + "device": "flash", + "mode": "split", + "executable": { + "filename": "/usr/share/edk2/aarch64/QEMU_EFI-pflash.qcow2", + "format": "qcow2" + }, + "nvram-template": { + "filename": "/usr/share/edk2/aarch64/vars-template-pflash.qcow2", + "format": "qcow2" + } + }, + "targets": [ + { + "architecture": "aarch64", + "machines": [ + "virt-*" + ] + } + ], + "features": [ + "verbose-static" + ], + "tags": [ + + ] +} diff --git a/SOURCES/51-edk2-aarch64-verbose.json b/SOURCES/53-edk2-aarch64-verbose-raw.json similarity index 96% rename from SOURCES/51-edk2-aarch64-verbose.json rename to SOURCES/53-edk2-aarch64-verbose-raw.json index ceec878..fa0ed91 100644 --- a/SOURCES/51-edk2-aarch64-verbose.json +++ b/SOURCES/53-edk2-aarch64-verbose-raw.json @@ -5,6 +5,7 @@ ], "mapping": { "device": "flash", + "mode": "split", "executable": { "filename": "/usr/share/edk2/aarch64/QEMU_EFI-pflash.raw", "format": "raw" diff --git a/SOURCES/edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtio.patch b/SOURCES/edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtio.patch new file mode 100644 index 0000000..e17b7ed --- /dev/null +++ b/SOURCES/edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtio.patch @@ -0,0 +1,74 @@ +From 9572a0fe959277c5b57df05a32503ff83a7e93af Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 1 Jun 2023 13:57:11 +0200 +Subject: [PATCH 02/12] ArmVirt/PlatformBootManagerLib: factor out IsVirtio() + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 39: ArmVirt: add VirtioSerialDxe to ArmVirtQemu builds +RH-Jira: RHEL-643 +RH-Acked-by: Laszlo Ersek +RH-Commit: [2/6] 553a155707eb1c878133c1d13f6422c2b70fb78d (kraxel/centos-edk2) + +IsVirtioRng() becomes just a thin wrapper for IsVirtio(). +This allows to add similar thin wrappers for other virtio +devices in the future. + +Signed-off-by: Gerd Hoffmann +Reviewed-by: Ard Biesheuvel +(cherry picked from commit a196b04926e70880334fcd649837d0ac63b0bfd5) +--- + .../PlatformBootManagerLib/PlatformBm.c | 26 +++++++++++++++---- + 1 file changed, 21 insertions(+), 5 deletions(-) + +diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c +index 10c815378c..5eb6f0f9c1 100644 +--- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c ++++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c +@@ -269,15 +269,16 @@ IsPciDisplay ( + } + + /** +- This FILTER_FUNCTION checks if a handle corresponds to a Virtio RNG device at +- the VIRTIO_DEVICE_PROTOCOL level. ++ This function checks if a handle corresponds to the Virtio Device ID given ++ at the VIRTIO_DEVICE_PROTOCOL level. + **/ + STATIC + BOOLEAN + EFIAPI +-IsVirtioRng ( ++IsVirtio ( + IN EFI_HANDLE Handle, +- IN CONST CHAR16 *ReportText ++ IN CONST CHAR16 *ReportText, ++ IN UINT16 VirtIoDeviceId + ) + { + EFI_STATUS Status; +@@ -293,7 +294,22 @@ IsVirtioRng ( + } + + return (BOOLEAN)(VirtIo->SubSystemDeviceId == +- VIRTIO_SUBSYSTEM_ENTROPY_SOURCE); ++ VirtIoDeviceId); ++} ++ ++/** ++ This FILTER_FUNCTION checks if a handle corresponds to a Virtio RNG device at ++ the VIRTIO_DEVICE_PROTOCOL level. ++**/ ++STATIC ++BOOLEAN ++EFIAPI ++IsVirtioRng ( ++ IN EFI_HANDLE Handle, ++ IN CONST CHAR16 *ReportText ++ ) ++{ ++ return IsVirtio (Handle, ReportText, VIRTIO_SUBSYSTEM_ENTROPY_SOURCE); + } + + /** +-- +2.39.3 + diff --git a/SOURCES/edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtioPc.patch b/SOURCES/edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtioPc.patch new file mode 100644 index 0000000..c2c1642 --- /dev/null +++ b/SOURCES/edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtioPc.patch @@ -0,0 +1,96 @@ +From 8545529f2b6d967946f111d79455ec8896d53311 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 1 Jun 2023 13:57:12 +0200 +Subject: [PATCH 03/12] ArmVirt/PlatformBootManagerLib: factor out + IsVirtioPci() + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 39: ArmVirt: add VirtioSerialDxe to ArmVirtQemu builds +RH-Jira: RHEL-643 +RH-Acked-by: Laszlo Ersek +RH-Commit: [3/6] d0000df1169e1f7b8ce3ad4942460cdc661a0ed9 (kraxel/centos-edk2) + +IsVirtioPciRng() becomes just a thin wrapper for IsVirtioPci(). +This allows to add similar thin wrappers for other virtio +devices in the future. + +Signed-off-by: Gerd Hoffmann +Reviewed-by: Ard Biesheuvel +(cherry picked from commit aaf546879ab71722c36738ccc6f0f0ab4ecf5076) +--- + .../PlatformBootManagerLib/PlatformBm.c | 30 ++++++++++++++----- + 1 file changed, 23 insertions(+), 7 deletions(-) + +diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c +index 5eb6f0f9c1..ed38c42a43 100644 +--- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c ++++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c +@@ -313,15 +313,16 @@ IsVirtioRng ( + } + + /** +- This FILTER_FUNCTION checks if a handle corresponds to a Virtio RNG device at +- the EFI_PCI_IO_PROTOCOL level. ++ This function checks if a handle corresponds to the Virtio Device ID given ++ at the EFI_PCI_IO_PROTOCOL level. + **/ + STATIC + BOOLEAN + EFIAPI +-IsVirtioPciRng ( ++IsVirtioPci ( + IN EFI_HANDLE Handle, +- IN CONST CHAR16 *ReportText ++ IN CONST CHAR16 *ReportText, ++ IN UINT16 VirtIoDeviceId + ) + { + EFI_STATUS Status; +@@ -387,11 +388,11 @@ IsVirtioPciRng ( + // + // From DeviceId and RevisionId, determine whether the device is a + // modern-only Virtio 1.0 device. In case of Virtio 1.0, DeviceId can +- // immediately be restricted to VIRTIO_SUBSYSTEM_ENTROPY_SOURCE, and ++ // immediately be restricted to VirtIoDeviceId, and + // SubsystemId will only play a sanity-check role. Otherwise, DeviceId can + // only be sanity-checked, and SubsystemId will decide. + // +- if ((DeviceId == 0x1040 + VIRTIO_SUBSYSTEM_ENTROPY_SOURCE) && ++ if ((DeviceId == 0x1040 + VirtIoDeviceId) && + (RevisionId >= 0x01)) + { + Virtio10 = TRUE; +@@ -419,7 +420,7 @@ IsVirtioPciRng ( + return TRUE; + } + +- if (!Virtio10 && (SubsystemId == VIRTIO_SUBSYSTEM_ENTROPY_SOURCE)) { ++ if (!Virtio10 && (SubsystemId == VirtIoDeviceId)) { + return TRUE; + } + +@@ -430,6 +431,21 @@ PciError: + return FALSE; + } + ++/** ++ This FILTER_FUNCTION checks if a handle corresponds to a Virtio RNG device at ++ the EFI_PCI_IO_PROTOCOL level. ++**/ ++STATIC ++BOOLEAN ++EFIAPI ++IsVirtioPciRng ( ++ IN EFI_HANDLE Handle, ++ IN CONST CHAR16 *ReportText ++ ) ++{ ++ return IsVirtioPci (Handle, ReportText, VIRTIO_SUBSYSTEM_ENTROPY_SOURCE); ++} ++ + /** + This CALLBACK_FUNCTION attempts to connect a handle non-recursively, asking + the matching driver to produce all first-level child handles. +-- +2.39.3 + diff --git a/SOURCES/edk2-ArmVirt-PlatformBootManagerLib-set-up-virtio-serial-.patch b/SOURCES/edk2-ArmVirt-PlatformBootManagerLib-set-up-virtio-serial-.patch new file mode 100644 index 0000000..2538ff9 --- /dev/null +++ b/SOURCES/edk2-ArmVirt-PlatformBootManagerLib-set-up-virtio-serial-.patch @@ -0,0 +1,228 @@ +From ad95ab2b76485458fed60ab20631b62a010c0e4d Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 1 Jun 2023 13:57:13 +0200 +Subject: [PATCH 04/12] ArmVirt/PlatformBootManagerLib: set up virtio serial as + console + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 39: ArmVirt: add VirtioSerialDxe to ArmVirtQemu builds +RH-Jira: RHEL-643 +RH-Acked-by: Laszlo Ersek +RH-Commit: [4/6] 46540eeb8901cfeef83cffcdcb6e1c23995b391a (kraxel/centos-edk2) + +In case a virtio serial device is found in the system register the first +console port as EFI console, by updating ConIn, ConOut and ErrOut. + +Signed-off-by: Gerd Hoffmann +(cherry picked from commit 15f83fa36442eaa272300b31699b3b82ce7e07a9) +--- + .../PlatformBootManagerLib/PlatformBm.c | 172 ++++++++++++++++++ + 1 file changed, 172 insertions(+) + +diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c +index ed38c42a43..b92a916f7e 100644 +--- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c ++++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c +@@ -312,6 +312,21 @@ IsVirtioRng ( + return IsVirtio (Handle, ReportText, VIRTIO_SUBSYSTEM_ENTROPY_SOURCE); + } + ++/** ++ This FILTER_FUNCTION checks if a handle corresponds to a Virtio serial device at ++ the VIRTIO_DEVICE_PROTOCOL level. ++**/ ++STATIC ++BOOLEAN ++EFIAPI ++IsVirtioSerial ( ++ IN EFI_HANDLE Handle, ++ IN CONST CHAR16 *ReportText ++ ) ++{ ++ return IsVirtio (Handle, ReportText, VIRTIO_SUBSYSTEM_CONSOLE); ++} ++ + /** + This function checks if a handle corresponds to the Virtio Device ID given + at the EFI_PCI_IO_PROTOCOL level. +@@ -446,6 +461,21 @@ IsVirtioPciRng ( + return IsVirtioPci (Handle, ReportText, VIRTIO_SUBSYSTEM_ENTROPY_SOURCE); + } + ++/** ++ This FILTER_FUNCTION checks if a handle corresponds to a Virtio serial device at ++ the EFI_PCI_IO_PROTOCOL level. ++**/ ++STATIC ++BOOLEAN ++EFIAPI ++IsVirtioPciSerial ( ++ IN EFI_HANDLE Handle, ++ IN CONST CHAR16 *ReportText ++ ) ++{ ++ return IsVirtioPci (Handle, ReportText, VIRTIO_SUBSYSTEM_CONSOLE); ++} ++ + /** + This CALLBACK_FUNCTION attempts to connect a handle non-recursively, asking + the matching driver to produce all first-level child handles. +@@ -534,6 +564,142 @@ AddOutput ( + )); + } + ++/** ++ This CALLBACK_FUNCTION retrieves the EFI_DEVICE_PATH_PROTOCOL from ++ the handle, appends serial, uart and terminal nodes, finally updates ++ ConIn, ConOut and ErrOut. ++**/ ++STATIC ++VOID ++EFIAPI ++SetupVirtioSerial ( ++ IN EFI_HANDLE Handle, ++ IN CONST CHAR16 *ReportText ++ ) ++{ ++ STATIC CONST ACPI_HID_DEVICE_PATH SerialNode = { ++ { ++ ACPI_DEVICE_PATH, ++ ACPI_DP, ++ { ++ (UINT8)(sizeof (ACPI_HID_DEVICE_PATH)), ++ (UINT8)((sizeof (ACPI_HID_DEVICE_PATH)) >> 8) ++ }, ++ }, ++ EISA_PNP_ID (0x0501), ++ 0 ++ }; ++ ++ STATIC CONST UART_DEVICE_PATH UartNode = { ++ { ++ MESSAGING_DEVICE_PATH, ++ MSG_UART_DP, ++ { ++ (UINT8)(sizeof (UART_DEVICE_PATH)), ++ (UINT8)((sizeof (UART_DEVICE_PATH)) >> 8) ++ }, ++ }, ++ 0, ++ 115200, ++ 8, ++ 1, ++ 1 ++ }; ++ ++ STATIC CONST VENDOR_DEVICE_PATH TerminalNode = { ++ { ++ MESSAGING_DEVICE_PATH, ++ MSG_VENDOR_DP, ++ { ++ (UINT8)(sizeof (VENDOR_DEVICE_PATH)), ++ (UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8) ++ }, ++ }, ++ DEVICE_PATH_MESSAGING_VT_UTF8 ++ }; ++ ++ EFI_STATUS Status; ++ EFI_DEVICE_PATH_PROTOCOL *DevicePath, *OldDevicePath; ++ ++ DevicePath = DevicePathFromHandle (Handle); ++ ++ if (DevicePath == NULL) { ++ DEBUG (( ++ DEBUG_ERROR, ++ "%a: %s: handle %p: device path not found\n", ++ __func__, ++ ReportText, ++ Handle ++ )); ++ return; ++ } ++ ++ DevicePath = AppendDevicePathNode ( ++ DevicePath, ++ &SerialNode.Header ++ ); ++ ++ OldDevicePath = DevicePath; ++ DevicePath = AppendDevicePathNode ( ++ DevicePath, ++ &UartNode.Header ++ ); ++ FreePool (OldDevicePath); ++ ++ OldDevicePath = DevicePath; ++ DevicePath = AppendDevicePathNode ( ++ DevicePath, ++ &TerminalNode.Header ++ ); ++ FreePool (OldDevicePath); ++ ++ Status = EfiBootManagerUpdateConsoleVariable (ConIn, DevicePath, NULL); ++ if (EFI_ERROR (Status)) { ++ DEBUG (( ++ DEBUG_ERROR, ++ "%a: %s: adding to ConIn: %r\n", ++ __func__, ++ ReportText, ++ Status ++ )); ++ return; ++ } ++ ++ Status = EfiBootManagerUpdateConsoleVariable (ConOut, DevicePath, NULL); ++ if (EFI_ERROR (Status)) { ++ DEBUG (( ++ DEBUG_ERROR, ++ ++ "%a: %s: adding to ConOut: %r\n", ++ __func__, ++ ReportText, ++ Status ++ )); ++ return; ++ } ++ ++ Status = EfiBootManagerUpdateConsoleVariable (ErrOut, DevicePath, NULL); ++ if (EFI_ERROR (Status)) { ++ DEBUG (( ++ DEBUG_ERROR, ++ "%a: %s: adding to ErrOut: %r\n", ++ __func__, ++ ReportText, ++ Status ++ )); ++ return; ++ } ++ ++ FreePool (DevicePath); ++ ++ DEBUG (( ++ DEBUG_VERBOSE, ++ "%a: %s: added to ConIn, ConOut and ErrOut\n", ++ __func__, ++ ReportText ++ )); ++} ++ + STATIC + VOID + PlatformRegisterFvBootOption ( +@@ -932,6 +1098,12 @@ PlatformBootManagerBeforeConsole ( + // instances on Virtio PCI RNG devices. + // + FilterAndProcess (&gEfiPciIoProtocolGuid, IsVirtioPciRng, Connect); ++ ++ // ++ // Register Virtio serial devices as console. ++ // ++ FilterAndProcess (&gVirtioDeviceProtocolGuid, IsVirtioSerial, SetupVirtioSerial); ++ FilterAndProcess (&gEfiPciIoProtocolGuid, IsVirtioPciSerial, SetupVirtioSerial); + } + + /** +-- +2.39.3 + diff --git a/SOURCES/edk2-ArmVirt-add-VirtioSerialDxe-to-ArmVirtQemu-builds.patch b/SOURCES/edk2-ArmVirt-add-VirtioSerialDxe-to-ArmVirtQemu-builds.patch new file mode 100644 index 0000000..43db3e0 --- /dev/null +++ b/SOURCES/edk2-ArmVirt-add-VirtioSerialDxe-to-ArmVirtQemu-builds.patch @@ -0,0 +1,59 @@ +From 262a607fbc608c02fc3c2a87244d033932d564bb Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 1 Jun 2023 13:57:10 +0200 +Subject: [PATCH 01/12] ArmVirt: add VirtioSerialDxe to ArmVirtQemu builds + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 39: ArmVirt: add VirtioSerialDxe to ArmVirtQemu builds +RH-Jira: RHEL-643 +RH-Acked-by: Laszlo Ersek +RH-Commit: [1/6] 03b627e1fae7851fa51e6fe67253ff1b64948d0e (kraxel/centos-edk2) + +Signed-off-by: Gerd Hoffmann +Acked-by: Ard Biesheuvel +(cherry picked from commit 6925150febb3a76d8e40c19babcc578555ca78fe) +--- + ArmVirtPkg/ArmVirtQemu.dsc | 1 + + ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 + + ArmVirtPkg/ArmVirtQemuKernel.dsc | 1 + + 3 files changed, 3 insertions(+) + +diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc +index b1deefc2fd..5df6a89578 100644 +--- a/ArmVirtPkg/ArmVirtQemu.dsc ++++ b/ArmVirtPkg/ArmVirtQemu.dsc +@@ -453,6 +453,7 @@ + OvmfPkg/VirtioScsiDxe/VirtioScsi.inf + OvmfPkg/VirtioNetDxe/VirtioNet.inf + OvmfPkg/VirtioRngDxe/VirtioRng.inf ++ OvmfPkg/VirtioSerialDxe/VirtioSerial.inf + + # + # FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs +diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +index 4dbb77a6ca..00ec4dd186 100644 +--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc ++++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc +@@ -96,6 +96,7 @@ READ_LOCK_STATUS = TRUE + INF OvmfPkg/VirtioNetDxe/VirtioNet.inf + INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf + INF OvmfPkg/VirtioRngDxe/VirtioRng.inf ++ INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf + + INF ShellPkg/Application/Shell/Shell.inf + +diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc +index afebc46a04..76b7c128bb 100644 +--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc ++++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc +@@ -353,6 +353,7 @@ + OvmfPkg/VirtioScsiDxe/VirtioScsi.inf + OvmfPkg/VirtioNetDxe/VirtioNet.inf + OvmfPkg/VirtioRngDxe/VirtioRng.inf ++ OvmfPkg/VirtioSerialDxe/VirtioSerial.inf + + # + # FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs +-- +2.39.3 + diff --git a/SOURCES/edk2-ArmVirt-don-t-use-unaligned-CopyMem-on-NOR-flash.patch b/SOURCES/edk2-ArmVirt-don-t-use-unaligned-CopyMem-on-NOR-flash.patch deleted file mode 100644 index 25cd51b..0000000 --- a/SOURCES/edk2-ArmVirt-don-t-use-unaligned-CopyMem-on-NOR-flash.patch +++ /dev/null @@ -1,86 +0,0 @@ -From f6d83cd74def6af6ab27ddda15112cdf59c853d5 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Mon, 16 Jan 2023 10:46:39 +0100 -Subject: [PATCH] ArmVirt: don't use unaligned CopyMem () on NOR flash - -RH-Author: Gerd Hoffmann -RH-MergeRequest: 23: ArmVirt: don't use unaligned CopyMem () on NOR flash -RH-Bugzilla: 2158173 -RH-Acked-by: Oliver Steffen -RH-Commit: [1/1] 7c8b7e5cd9c239dd8d040450bd4d479ef789114b (kraxel/centos-edk2) - -Commit 789a72328553 reclassified the NOR flash region as EFI_MEMORY_WC -in the OS visible EFI memory map, and dropped the explicit aligned -CopyMem() implementation, in the assumption that EFI_MEMORY_WC will be -honored by the OS, and that the region will be mapped in a way that -tolerates misaligned accesseses. However, Linux today uses device -attributes for all EFI MMIO regions, in spite of the memory type -attributes, and so using misaligned accesses is never safe. - -So instead, switch to the generic CopyMem() implementation entirely, -just like we already did for VariableRuntimeDxe. - -Fixes: 789a72328553 ("OvmfPkg/VirtNorFlashDxe: use EFI_MEMORY_WC and drop AlignedCopyMem()") -Signed-off-by: Gerd Hoffmann -Reviewed-by: Ard Biesheuvel -(cherry picked from commit 987cc09c7cf38d628063062483e2341fba679b0e) ---- - ArmVirtPkg/ArmVirtKvmTool.dsc | 6 +++++- - ArmVirtPkg/ArmVirtQemu.dsc | 6 +++++- - ArmVirtPkg/ArmVirtQemuKernel.dsc | 6 +++++- - 3 files changed, 15 insertions(+), 3 deletions(-) - -diff --git a/ArmVirtPkg/ArmVirtKvmTool.dsc b/ArmVirtPkg/ArmVirtKvmTool.dsc -index 2ba00bd08f..d0afe1b49e 100644 ---- a/ArmVirtPkg/ArmVirtKvmTool.dsc -+++ b/ArmVirtPkg/ArmVirtKvmTool.dsc -@@ -296,7 +296,11 @@ - NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf - } - -- OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf -+ OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf { -+ -+ # don't use unaligned CopyMem () on the UEFI varstore NOR flash region -+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf -+ } - - MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf - -diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc -index a4bd72e481..76389e6bd4 100644 ---- a/ArmVirtPkg/ArmVirtQemu.dsc -+++ b/ArmVirtPkg/ArmVirtQemu.dsc -@@ -428,7 +428,11 @@ - - NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf - } -- OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf -+ OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf { -+ -+ # don't use unaligned CopyMem () on the UEFI varstore NOR flash region -+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf -+ } - MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf - - # -diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc -index 7f85b0dc92..0445a89b1c 100644 ---- a/ArmVirtPkg/ArmVirtQemuKernel.dsc -+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc -@@ -331,7 +331,11 @@ - - NULL|ArmVirtPkg/Library/ArmVirtTimerFdtClientLib/ArmVirtTimerFdtClientLib.inf - } -- OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf -+ OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.inf { -+ -+ # don't use unaligned CopyMem () on the UEFI varstore NOR flash region -+ BaseMemoryLib|MdePkg/Library/BaseMemoryLib/BaseMemoryLib.inf -+ } - MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf - - # --- -2.31.1 - diff --git a/SOURCES/edk2-MdePkg-Remove-Itanium-leftover-data-structure-RH-onl.patch b/SOURCES/edk2-MdePkg-Remove-Itanium-leftover-data-structure-RH-onl.patch deleted file mode 100644 index d4df4b3..0000000 --- a/SOURCES/edk2-MdePkg-Remove-Itanium-leftover-data-structure-RH-onl.patch +++ /dev/null @@ -1,97 +0,0 @@ -From 0517c19dff1e3fd8e16a38533d39e4b9bd32f54e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Pawe=C5=82=20Po=C5=82awski?= -Date: Tue, 15 Nov 2022 01:02:51 +0100 -Subject: [PATCH 2/2] MdePkg: Remove Itanium leftover data structure (RH only) -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -RH-Author: Pawel Polawski -RH-MergeRequest: 22: MdePkg: Remove Itanium leftover data structure (RH only) -RH-Bugzilla: 1983086 -RH-Acked-by: Gerd Hoffmann -RH-Acked-by: Oliver Steffen -RH-Commit: [1/1] d7f46e0657016668a3c00309ed1d95aea7c55c97 - -Itanium support has been removed from EDK2 aroun 2019. -ITANIUM_HANDOFF_STATUS data structure looks to be -some leftover from that process. - -There is also positive sidefect of this data structure removal. -Due to HOB allocation type used in PEI stage there is a limit -how much data about virtual CPU can be hold. This limit result -in only 1024 vCPU can be used by VM. -With Itanium related data structure removed more allocated space -can be used for vCPU data and with current allocation limit -will change from 1024 to around 8k vCPUs. - -Signed-off-by: Paweł Poławski ---- - MdePkg/Include/Ppi/SecPlatformInformation.h | 44 --------------------- - 1 file changed, 44 deletions(-) - -diff --git a/MdePkg/Include/Ppi/SecPlatformInformation.h b/MdePkg/Include/Ppi/SecPlatformInformation.h -index 02b0711f18..fbcd205acd 100644 ---- a/MdePkg/Include/Ppi/SecPlatformInformation.h -+++ b/MdePkg/Include/Ppi/SecPlatformInformation.h -@@ -84,49 +84,6 @@ typedef union { - - typedef EFI_HEALTH_FLAGS X64_HANDOFF_STATUS; - typedef EFI_HEALTH_FLAGS IA32_HANDOFF_STATUS; --/// --/// The hand-off status structure for Itanium architecture. --/// --typedef struct { -- /// -- /// SALE_ENTRY state : 3 = Recovery_Check -- /// and 0 = RESET or Normal_Boot phase. -- /// -- UINT8 BootPhase; -- /// -- /// Firmware status on entry to SALE. -- /// -- UINT8 FWStatus; -- UINT16 Reserved1; -- UINT32 Reserved2; -- /// -- /// Geographically significant unique processor ID assigned by PAL. -- /// -- UINT16 ProcId; -- UINT16 Reserved3; -- UINT8 IdMask; -- UINT8 EidMask; -- UINT16 Reserved4; -- /// -- /// Address to make PAL calls. -- /// -- UINT64 PalCallAddress; -- /// -- /// If the entry state is RECOVERY_CHECK, this contains the PAL_RESET -- /// return address, and if entry state is RESET, this contains -- /// address for PAL_authentication call. -- /// -- UINT64 PalSpecialAddress; -- /// -- /// GR35 from PALE_EXIT state. -- /// -- UINT64 SelfTestStatus; -- /// -- /// GR37 from PALE_EXIT state. -- /// -- UINT64 SelfTestControl; -- UINT64 MemoryBufferRequired; --} ITANIUM_HANDOFF_STATUS; - - /// - /// EFI_SEC_PLATFORM_INFORMATION_RECORD. -@@ -134,7 +91,6 @@ typedef struct { - typedef union { - IA32_HANDOFF_STATUS IA32HealthFlags; - X64_HANDOFF_STATUS x64HealthFlags; -- ITANIUM_HANDOFF_STATUS ItaniumHealthFlags; - } EFI_SEC_PLATFORM_INFORMATION_RECORD; - - /** --- -2.31.1 - diff --git a/SOURCES/edk2-OvmfPkg-AmdSev-fix-BdsPlatform.c-assertion-failure-d.patch b/SOURCES/edk2-OvmfPkg-AmdSev-fix-BdsPlatform.c-assertion-failure-d.patch new file mode 100644 index 0000000..24bf75e --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-AmdSev-fix-BdsPlatform.c-assertion-failure-d.patch @@ -0,0 +1,88 @@ +From 673ed284a598bf94d39f01f118158e55e5c04645 Mon Sep 17 00:00:00 2001 +From: Michael Roth +Date: Wed, 16 Aug 2023 15:11:45 -0500 +Subject: [PATCH 1/3] OvmfPkg/AmdSev: fix BdsPlatform.c assertion failure + during boot + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 44: OvmfPkg/AmdSev: fix BdsPlatform.c assertion failure during boot +RH-Bugzilla: 2190244 +RH-Acked-by: Oliver Steffen +RH-Commit: [1/1] 44f18b2324cbd4aa1840613d9a8d19f0fbec7b1b (kraxel.rh/centos-src-edk2) + +Booting an SEV guest with AmdSev OVMF package currently triggers the +following assertion with QEMU: + + InstallQemuFwCfgTables: installed 7 tables + PcRtc: Write 0x20 to CMOS location 0x32 + [Variable]END_OF_DXE is signaled + Initialize variable error flag (FF) + + ASSERT_EFI_ERROR (Status = Not Found) + ASSERT [BdsDxe] /home/VT_BUILD/ovmf/OvmfPkg/Library/PlatformBootManagerLib/BdsPlatform.c(1711): !(((INTN)(RETURN_STATUS)(Status)) < 0) + +This seems to be due to commit 81dc0d8b4c, which switched to using +PlatformBootManagerLib instead of PlatformBootManagerLibGrub. That +pulls in a dependency on gEfiS3SaveStateProtocolGuid provider being +available (which is asserted for in +BdsPlatform.c:PlatformBootManagerBeforeConsole()/SaveS3BootScript()), +but the libraries that provide it aren't currently included in the +build. Add them similarly to what's done for OvmfPkg. + +Fixes: 81dc0d8b4c ("OvmfPkg/AmdSev: stop using PlatformBootManagerLibGrub") +Cc: Gerd Hoffmann +Cc: Ray Ni +Cc: Erdem Aktas +Cc: James Bottomley +Cc: Jiewen Yao +Cc: Min Xu +Cc: Tom Lendacky +Signed-off-by: Michael Roth +Acked-by: Jiewen Yao +Acked-by: Gerd Hoffmann +Message-ID: <20230816201146.1634348-2-michael.roth@amd.com> +Signed-off-by: Gerd Hoffmann + +List-Archive: https://edk2.groups.io/g/devel/message/107806 +--- + OvmfPkg/AmdSev/AmdSevX64.dsc | 3 +++ + OvmfPkg/AmdSev/AmdSevX64.fdf | 2 ++ + 2 files changed, 5 insertions(+) + +diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc +index 427df673f3..8d165ed05a 100644 +--- a/OvmfPkg/AmdSev/AmdSevX64.dsc ++++ b/OvmfPkg/AmdSev/AmdSevX64.dsc +@@ -199,6 +199,7 @@ + + SmbusLib|MdePkg/Library/BaseSmbusLibNull/BaseSmbusLibNull.inf + OrderedCollectionLib|MdePkg/Library/BaseOrderedCollectionRedBlackTreeLib/BaseOrderedCollectionRedBlackTreeLib.inf ++ S3BootScriptLib|MdeModulePkg/Library/PiDxeS3BootScriptLib/DxeS3BootScriptLib.inf + + !include OvmfPkg/Include/Dsc/OvmfTpmLibs.dsc.inc + +@@ -715,6 +716,8 @@ + # + MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf + OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf ++ MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf ++ MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf + MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf + + # +diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf +index a48c93e2a5..3e6ee61823 100644 +--- a/OvmfPkg/AmdSev/AmdSevX64.fdf ++++ b/OvmfPkg/AmdSev/AmdSevX64.fdf +@@ -269,6 +269,8 @@ INF OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf + + INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf + INF OvmfPkg/AcpiPlatformDxe/AcpiPlatformDxe.inf ++INF MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf ++INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf + INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf + + INF FatPkg/EnhancedFatDxe/Fat.inf +-- +2.39.3 + diff --git a/SOURCES/edk2-OvmfPkg-AmdSevDxe-Shim-Reboot-workaround-RHEL-only.patch b/SOURCES/edk2-OvmfPkg-AmdSevDxe-Shim-Reboot-workaround-RHEL-only.patch new file mode 100644 index 0000000..509a34f --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-AmdSevDxe-Shim-Reboot-workaround-RHEL-only.patch @@ -0,0 +1,120 @@ +From 9f0b4df867e6a2d56838e4048be245eac3fcc18e Mon Sep 17 00:00:00 2001 +From: Oliver Steffen +Date: Wed, 16 Aug 2023 12:09:40 +0200 +Subject: [PATCH 3/3] OvmfPkg/AmdSevDxe: Shim Reboot workaround (RHEL only) + +RH-Author: Oliver Steffen +RH-MergeRequest: 46: OvmfPkg/AmdSevDxe: Shim Reboot workaround (RHEL only) +RH-Bugzilla: 2218196 +RH-Acked-by: Gerd Hoffmann +RH-Commit: [1/1] 9bf3bb989e36253aa34bf82ecfe8faa7312e8d22 (osteffen/edk2) + +Add a callback at the end of the Dxe phase that sets the +"FB_NO_REBOOT" variable under the Shim GUID. +This is a workaround for a boot loop in case a confidential +guest that uses shim is booted with a vtpm device present. + +BZ 2218196 + +Signed-off-by: Oliver Steffen +--- + OvmfPkg/AmdSevDxe/AmdSevDxe.c | 42 +++++++++++++++++++++++++++++++++ + OvmfPkg/AmdSevDxe/AmdSevDxe.inf | 2 ++ + 2 files changed, 44 insertions(+) + +diff --git a/OvmfPkg/AmdSevDxe/AmdSevDxe.c b/OvmfPkg/AmdSevDxe/AmdSevDxe.c +index db3675ae86..f639c093a2 100644 +--- a/OvmfPkg/AmdSevDxe/AmdSevDxe.c ++++ b/OvmfPkg/AmdSevDxe/AmdSevDxe.c +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + #include + #include + #include +@@ -28,6 +29,10 @@ + // Present, initialized, tested bits defined in MdeModulePkg/Core/Dxe/DxeMain.h + #define EFI_MEMORY_INTERNAL_MASK 0x0700000000000000ULL + ++static EFI_GUID ShimLockGuid = { ++ 0x605dab50, 0xe046, 0x4300, { 0xab, 0xb6, 0x3d, 0xd8, 0x10, 0xdd, 0x8b, 0x23 } ++}; ++ + STATIC + EFI_STATUS + AllocateConfidentialComputingBlob ( +@@ -191,6 +196,32 @@ STATIC EDKII_MEMORY_ACCEPT_PROTOCOL mMemoryAcceptProtocol = { + AmdSevMemoryAccept + }; + ++VOID ++EFIAPI ++PopulateVarstore ( ++ EFI_EVENT Event, ++ VOID *Context ++ ) ++{ ++ EFI_SYSTEM_TABLE *SystemTable = (EFI_SYSTEM_TABLE *)Context; ++ EFI_STATUS Status; ++ ++ DEBUG ((DEBUG_INFO, "Populating Varstore\n")); ++ UINT32 data = 1; ++ ++ Status = SystemTable->RuntimeServices->SetVariable ( ++ L"FB_NO_REBOOT", ++ &ShimLockGuid, ++ EFI_VARIABLE_RUNTIME_ACCESS | EFI_VARIABLE_BOOTSERVICE_ACCESS, ++ sizeof (data), ++ &data ++ ); ++ ASSERT_EFI_ERROR (Status); ++ ++ Status = SystemTable->BootServices->CloseEvent (Event); ++ ASSERT_EFI_ERROR (Status); ++} ++ + EFI_STATUS + EFIAPI + AmdSevDxeEntryPoint ( +@@ -203,6 +234,7 @@ AmdSevDxeEntryPoint ( + UINTN NumEntries; + UINTN Index; + CONFIDENTIAL_COMPUTING_SNP_BLOB_LOCATION *SnpBootDxeTable; ++ EFI_EVENT PopulateVarstoreEvent; + + // + // Do nothing when SEV is not enabled +@@ -361,5 +393,15 @@ AmdSevDxeEntryPoint ( + ); + } + ++ Status = gBS->CreateEventEx ( ++ EVT_NOTIFY_SIGNAL, ++ TPL_CALLBACK, ++ PopulateVarstore, ++ SystemTable, ++ &gEfiEndOfDxeEventGroupGuid, ++ &PopulateVarstoreEvent ++ ); ++ ASSERT_EFI_ERROR (Status); ++ + return EFI_SUCCESS; + } +diff --git a/OvmfPkg/AmdSevDxe/AmdSevDxe.inf b/OvmfPkg/AmdSevDxe/AmdSevDxe.inf +index e7c7d526c9..09cbd2b0ca 100644 +--- a/OvmfPkg/AmdSevDxe/AmdSevDxe.inf ++++ b/OvmfPkg/AmdSevDxe/AmdSevDxe.inf +@@ -54,6 +54,8 @@ + [Guids] + gConfidentialComputingSevSnpBlobGuid + gEfiEventBeforeExitBootServicesGuid ++ gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event ++ + + [Pcd] + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId +-- +2.39.3 + diff --git a/SOURCES/edk2-OvmfPkg-IoMmuDxe-add-locking-to-IoMmuAllocateBounceB.patch b/SOURCES/edk2-OvmfPkg-IoMmuDxe-add-locking-to-IoMmuAllocateBounceB.patch new file mode 100644 index 0000000..db656a9 --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-IoMmuDxe-add-locking-to-IoMmuAllocateBounceB.patch @@ -0,0 +1,79 @@ +From 7f3f6e3088655e33600aacd886aa51d19c01c59a Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Wed, 19 Jul 2023 18:31:29 +0200 +Subject: [PATCH 2/3] OvmfPkg/IoMmuDxe: add locking to + IoMmuAllocateBounceBuffer + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 45: OvmfPkg/IoMmuDxe: add locking to IoMmuAllocateBounceBuffer +RH-Bugzilla: 2211060 +RH-Acked-by: Oliver Steffen +RH-Commit: [1/1] c4998c57651df23342a0cd6e8982bf59f306da83 (kraxel.rh/centos-src-edk2) + +Searching for an unused bounce buffer in mReservedMemBitmap and +reserving the buffer by flipping the bit is a critical section +which must not be interrupted. Raise the TPL level to ensure +that. + +Without this fix it can happen that IoMmuDxe hands out the same +bounce buffer twice, causing trouble down the road. Seen happening +in practice with VirtioNetDxe setting up the network interface (and +calling into IoMmuDxe from a polling timer callback) in parallel with +Boot Manager doing some disk I/O. An ASSERT() in VirtioNet caught +the buffer inconsistency. + +Full story with lots of details and discussions is available here: +https://bugzilla.redhat.com/show_bug.cgi?id=2211060 + +Signed-off-by: Gerd Hoffmann +(cherry picked from commit a52044a9e602bc168cdf5d73a48952bfc9edb521) +--- + OvmfPkg/IoMmuDxe/IoMmuBuffer.c | 7 +++++++ + 1 file changed, 7 insertions(+) + +diff --git a/OvmfPkg/IoMmuDxe/IoMmuBuffer.c b/OvmfPkg/IoMmuDxe/IoMmuBuffer.c +index c8f6cf4818..103003cae3 100644 +--- a/OvmfPkg/IoMmuDxe/IoMmuBuffer.c ++++ b/OvmfPkg/IoMmuDxe/IoMmuBuffer.c +@@ -367,7 +367,9 @@ IoMmuAllocateBounceBuffer ( + { + EFI_STATUS Status; + UINT32 ReservedMemBitmap; ++ EFI_TPL OldTpl; + ++ OldTpl = gBS->RaiseTPL (TPL_NOTIFY); + ReservedMemBitmap = 0; + Status = InternalAllocateBuffer ( + Type, +@@ -378,6 +380,7 @@ IoMmuAllocateBounceBuffer ( + ); + MapInfo->ReservedMemBitmap = ReservedMemBitmap; + mReservedMemBitmap |= ReservedMemBitmap; ++ gBS->RestoreTPL (OldTpl); + + ASSERT (Status == EFI_SUCCESS); + +@@ -395,6 +398,8 @@ IoMmuFreeBounceBuffer ( + IN OUT MAP_INFO *MapInfo + ) + { ++ EFI_TPL OldTpl; ++ + if (MapInfo->ReservedMemBitmap == 0) { + gBS->FreePages (MapInfo->PlainTextAddress, MapInfo->NumberOfPages); + } else { +@@ -407,9 +412,11 @@ IoMmuFreeBounceBuffer ( + mReservedMemBitmap, + mReservedMemBitmap & ((UINT32)(~MapInfo->ReservedMemBitmap)) + )); ++ OldTpl = gBS->RaiseTPL (TPL_NOTIFY); + MapInfo->PlainTextAddress = 0; + mReservedMemBitmap &= (UINT32)(~MapInfo->ReservedMemBitmap); + MapInfo->ReservedMemBitmap = 0; ++ gBS->RestoreTPL (OldTpl); + } + + return EFI_SUCCESS; +-- +2.39.3 + diff --git a/SOURCES/edk2-OvmfPkg-MicrovmX64-enable-1G-pages.patch b/SOURCES/edk2-OvmfPkg-MicrovmX64-enable-1G-pages.patch new file mode 100644 index 0000000..98d9d59 --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-MicrovmX64-enable-1G-pages.patch @@ -0,0 +1,37 @@ +From db07792f9eb095a1f7570b23b1e9dad6edca17a5 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Wed, 17 May 2023 12:24:49 +0200 +Subject: [PATCH 12/12] OvmfPkg/MicrovmX64: enable 1G pages + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 40: enable use of gigabyte pages +RH-Jira: RHEL-644 +RH-Acked-by: Laszlo Ersek +RH-Commit: [3/3] 369373082e4dd0be9a4f257e5be9c827cc7de3c5 (kraxel/centos-edk2) + +Reduces the memory footprint and speeds up booting. + +Signed-off-by: Gerd Hoffmann +Acked-by: Ard Biesheuvel +(cherry picked from commit 04c5b3023e49c35d291f41d2c39b4d12a62b8f9c) +--- + OvmfPkg/Microvm/MicrovmX64.dsc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc +index 49d1d7ef5c..cc8e3abc45 100644 +--- a/OvmfPkg/Microvm/MicrovmX64.dsc ++++ b/OvmfPkg/Microvm/MicrovmX64.dsc +@@ -544,6 +544,9 @@ + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0x100 + gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0x100 + ++ # use 1G pages ++ gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE ++ + # + # Network Pcds + # +-- +2.39.3 + diff --git a/SOURCES/edk2-OvmfPkg-OvmfPkgIa32X64-enable-1G-pages.patch b/SOURCES/edk2-OvmfPkg-OvmfPkgIa32X64-enable-1G-pages.patch new file mode 100644 index 0000000..3fe7c0e --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-OvmfPkgIa32X64-enable-1G-pages.patch @@ -0,0 +1,37 @@ +From 943b4994942d550bef98685d13ffb26d4b5dd665 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Wed, 17 May 2023 12:24:48 +0200 +Subject: [PATCH 11/12] OvmfPkg/OvmfPkgIa32X64: enable 1G pages + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 40: enable use of gigabyte pages +RH-Jira: RHEL-644 +RH-Acked-by: Laszlo Ersek +RH-Commit: [2/3] 7385647b30e5096b356a13085a8081de79c916f8 (kraxel/centos-edk2) + +Reduces the memory footprint and speeds up booting. + +Signed-off-by: Gerd Hoffmann +Acked-by: Ard Biesheuvel +(cherry picked from commit b63e17d746aa6bab2b1101711395725005e71a02) +--- + OvmfPkg/OvmfPkgIa32X64.dsc | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc +index a41bc32454..a6714cea91 100644 +--- a/OvmfPkg/OvmfPkgIa32X64.dsc ++++ b/OvmfPkg/OvmfPkgIa32X64.dsc +@@ -557,6 +557,9 @@ + # never lets the RAM below 4 GB exceed 2816 MB. + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000 + ++ # use 1G pages ++ gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE ++ + !if $(SOURCE_DEBUG_ENABLE) == TRUE + gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2 + !endif +-- +2.39.3 + diff --git a/SOURCES/edk2-OvmfPkg-PlatformInitLib-check-PcdUse1GPageTable.patch b/SOURCES/edk2-OvmfPkg-PlatformInitLib-check-PcdUse1GPageTable.patch new file mode 100644 index 0000000..6564284 --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-PlatformInitLib-check-PcdUse1GPageTable.patch @@ -0,0 +1,57 @@ +From f24768ae482651073db9050fdaad49afe930b127 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Wed, 17 May 2023 12:24:47 +0200 +Subject: [PATCH 10/12] OvmfPkg/PlatformInitLib: check PcdUse1GPageTable + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 40: enable use of gigabyte pages +RH-Jira: RHEL-644 +RH-Acked-by: Laszlo Ersek +RH-Commit: [1/3] 5d8b87d3b6a6b8af4d1a4aabedd8f69c512bf01c (kraxel/centos-edk2) + +If PcdUse1GPageTable is not enabled restrict the physical address space +used to 1TB, to limit the amount of memory needed for identity mapping +page tables. + +The same already happens in case the processor has no support for +gigabyte pages. + +Signed-off-by: Gerd Hoffmann +Acked-by: Ard Biesheuvel +(cherry picked from commit d4d24001f78bcee965d8854fba6f08f48b4ec446) +--- + OvmfPkg/Library/PlatformInitLib/MemDetect.c | 5 +++++ + OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf | 1 + + 2 files changed, 6 insertions(+) + +diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c +index 0482d8906d..662e7e85bb 100644 +--- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c ++++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c +@@ -666,6 +666,11 @@ PlatformAddressWidthFromCpuid ( + PhysBits = 40; + } + ++ if (!FixedPcdGetBool (PcdUse1GPageTable) && (PhysBits > 40)) { ++ DEBUG ((DEBUG_INFO, "%a: limit PhysBits to 40 (PcdUse1GPageTable is false)\n", __func__)); ++ PhysBits = 40; ++ } ++ + PlatformInfoHob->PhysMemAddressWidth = PhysBits; + PlatformInfoHob->FirstNonAddress = LShiftU64 (1, PlatformInfoHob->PhysMemAddressWidth); + } +diff --git a/OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf b/OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf +index 86a82ad3e0..5a79d95b68 100644 +--- a/OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf ++++ b/OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf +@@ -58,6 +58,7 @@ + + [Pcd] + gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress ++ gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable + + [FixedPcd] + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase +-- +2.39.3 + diff --git a/SOURCES/edk2-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch b/SOURCES/edk2-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch new file mode 100644 index 0000000..7f4434b --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch @@ -0,0 +1,53 @@ +From b1643b16a4a70ea576b5f90476fd9c59750eafe8 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 1 Jun 2023 09:57:31 +0200 +Subject: [PATCH 07/12] OvmfPkg/PlatformInitLib: limit phys-bits to 46. + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 41: enable dynamic mmio window +RH-Bugzilla: 2174749 +RH-Acked-by: Laszlo Ersek +RH-Commit: [1/2] d08a95b72276cba504176b3837714db67122ed66 (kraxel/centos-edk2) + +Older linux kernels have problems with phys-bits larger than 46, +ubuntu 18.04 (kernel 4.15) has been reported to be affected. + +Reduce phys-bits limit from 47 to 46. + +Reported-by: Fiona Ebner +Signed-off-by: Gerd Hoffmann +(cherry picked from commit c1e853769046b322690ad336fdb98966757e7414) +--- + OvmfPkg/Library/PlatformInitLib/MemDetect.c | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c +index 86700fc028..aab266399f 100644 +--- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c ++++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c +@@ -646,16 +646,19 @@ PlatformAddressWidthFromCpuid ( + )); + + if (Valid) { +- if (PhysBits > 47) { ++ if (PhysBits > 46) { + /* + * Avoid 5-level paging altogether for now, which limits + * PhysBits to 48. Also avoid using address bit 48, due to sign + * extension we can't identity-map these addresses (and lots of + * places in edk2 assume we have everything identity-mapped). + * So the actual limit is 47. ++ * ++ * Also some older linux kernels apparently have problems handling ++ * phys-bits > 46 correctly, so use that as limit. + */ +- DEBUG ((DEBUG_INFO, "%a: limit PhysBits to 47 (avoid 5-level paging)\n", __func__)); +- PhysBits = 47; ++ DEBUG ((DEBUG_INFO, "%a: limit PhysBits to 46 (avoid 5-level paging)\n", __func__)); ++ PhysBits = 46; + } + + if (!Page1GSupport && (PhysBits > 40)) { +-- +2.39.3 + diff --git a/SOURCES/edk2-OvmfPkg-ResetVector-Fix-assembler-bit-test-flag-chec.patch b/SOURCES/edk2-OvmfPkg-ResetVector-Fix-assembler-bit-test-flag-chec.patch new file mode 100644 index 0000000..ecef5a8 --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-ResetVector-Fix-assembler-bit-test-flag-chec.patch @@ -0,0 +1,42 @@ +From bcc2e81950016f6cda6f3c125bfa7c88a5f8ca8e Mon Sep 17 00:00:00 2001 +From: Tom Lendacky +Date: Fri, 14 Jul 2023 15:28:26 -0500 +Subject: [PATCH] OvmfPkg/ResetVector: Fix assembler bit test flag check + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 47: OvmfPkg/ResetVector: Fix assembler bit test flag check +RH-Jira: RHEL-9943 +RH-Acked-by: Laszlo Ersek +RH-Commit: [1/1] 4565e2863391eb63d598991bc1b394cabd96a466 (kraxel.rh/centos-src-edk2) + +Commit 63c50d3ff2854a76432b752af4f2a76f33ff1974 changed the check that is +used to determine if SEV-ES is active. Originally, a CMP instruction with +a supporting JZ instruction was used for the check. It was changed to use +the BT instruction but not JZ instruction. The result of a BT instruction +changes the the carry flag (CF) and not the zero flag (ZF). As a result, +the wrong condition is being checked. Update the JZ to a JNC to properly +detect if SEV-ES is active. + +Fixes: 63c50d3ff285 ("OvmfPkg/ResetVector: cache the SEV status MSR...") +Signed-off-by: Tom Lendacky +(cherry picked from commit e674096accc8e57cd0dd84679905e1222423251e) +--- + OvmfPkg/ResetVector/Ia32/Flat32ToFlat64.asm | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/OvmfPkg/ResetVector/Ia32/Flat32ToFlat64.asm b/OvmfPkg/ResetVector/Ia32/Flat32ToFlat64.asm +index c5c683ebed..429a58c5ef 100644 +--- a/OvmfPkg/ResetVector/Ia32/Flat32ToFlat64.asm ++++ b/OvmfPkg/ResetVector/Ia32/Flat32ToFlat64.asm +@@ -44,7 +44,7 @@ Transition32FlatTo64Flat: + + mov ecx, 1 + bt [SEV_ES_WORK_AREA_STATUS_MSR], ecx +- jz EnablePaging ++ jnc EnablePaging + + ; + ; SEV-ES is active, perform a quick sanity check against the reported +-- +2.39.3 + diff --git a/SOURCES/edk2-OvmfPkg-VirtNorFlashDxe-map-flash-memory-as-uncachea.patch b/SOURCES/edk2-OvmfPkg-VirtNorFlashDxe-map-flash-memory-as-uncachea.patch deleted file mode 100644 index 5d776d6..0000000 --- a/SOURCES/edk2-OvmfPkg-VirtNorFlashDxe-map-flash-memory-as-uncachea.patch +++ /dev/null @@ -1,67 +0,0 @@ -From a7e155d9d0be18b9db31dd7135e9da2bc955e6b4 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Wed, 11 Jan 2023 19:00:23 +0100 -Subject: [PATCH 1/2] OvmfPkg/VirtNorFlashDxe: map flash memory as uncacheable - -RH-Author: Gerd Hoffmann -RH-MergeRequest: 21: OvmfPkg/VirtNorFlashDxe: map flash memory as uncacheable -RH-Bugzilla: 2158173 -RH-Acked-by: Miroslav Rezanina -RH-Acked-by: Oliver Steffen -RH-Commit: [1/1] 819cd72096fa9f253eef7b532122183b608c0064 (kraxel/centos-edk2) - -Switching from the ArmPlatformPkg/NorFlashDxe driver to the -OvmfPkg/VirtNorFlashDxe driver had the side effect that flash address -space got registered as EFI_MEMORY_WC instead of EFI_MEMORY_UC. - -That confuses the linux kernel's numa code, seems this makes kernel -consider the flash being node memory. "lsmem" changes from ... - - RANGE SIZE STATE REMOVABLE BLOCK - 0x0000000040000000-0x000000013fffffff 4G online yes 8-39 - -... to ... - - RANGE SIZE STATE REMOVABLE BLOCK - 0x0000000000000000-0x0000000007ffffff 128M online yes 0 - 0x0000000040000000-0x000000013fffffff 4G online yes 8-39 - -... and in the kernel log got new error lines: - - NUMA: Warning: invalid memblk node 512 [mem 0x0000000004000000-0x0000000007ffffff] - NUMA: Faking a node at [mem 0x0000000004000000-0x000000013fffffff] - -Changing the attributes back to EFI_MEMORY_UC fixes this. - -Fixes: b92298af8218 ("ArmVirtPkg/ArmVirtQemu: migrate to OVMF's VirtNorFlashDxe") -Signed-off-by: Gerd Hoffmann -Reviewed-by: Ard Biesheuvel -(cherry picked from commit e5ec3ba409b5baa9cf429cc25fdf3c8d1b8dcef0) ---- - OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c b/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c -index ff3121af2a..f9a41f6aab 100644 ---- a/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c -+++ b/OvmfPkg/VirtNorFlashDxe/VirtNorFlashDxe.c -@@ -394,14 +394,14 @@ NorFlashFvbInitialize ( - EfiGcdMemoryTypeMemoryMappedIo, - Instance->DeviceBaseAddress, - RuntimeMmioRegionSize, -- EFI_MEMORY_WC | EFI_MEMORY_RUNTIME -+ EFI_MEMORY_UC | EFI_MEMORY_RUNTIME - ); - ASSERT_EFI_ERROR (Status); - - Status = gDS->SetMemorySpaceAttributes ( - Instance->DeviceBaseAddress, - RuntimeMmioRegionSize, -- EFI_MEMORY_WC | EFI_MEMORY_RUNTIME -+ EFI_MEMORY_UC | EFI_MEMORY_RUNTIME - ); - ASSERT_EFI_ERROR (Status); - --- -2.31.1 - diff --git a/SOURCES/edk2-OvmfPkg-VirtioSerialDxe-Remove-noisy-debug-print-on-.patch b/SOURCES/edk2-OvmfPkg-VirtioSerialDxe-Remove-noisy-debug-print-on-.patch new file mode 100644 index 0000000..21da9bf --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-VirtioSerialDxe-Remove-noisy-debug-print-on-.patch @@ -0,0 +1,42 @@ +From 60a5604388fa73872d67e9ed46a29c7fd0e4fc32 Mon Sep 17 00:00:00 2001 +From: Ard Biesheuvel +Date: Tue, 27 Jun 2023 13:14:06 +0200 +Subject: [PATCH 06/12] OvmfPkg/VirtioSerialDxe: Remove noisy debug print on + supported() call + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 39: ArmVirt: add VirtioSerialDxe to ArmVirtQemu builds +RH-Jira: RHEL-643 +RH-Acked-by: Laszlo Ersek +RH-Commit: [6/6] 62b611c1d82f1b87cac2a07655ca37117d438989 (kraxel/centos-edk2) + +The UEFI driver model invokes the supported() method on every driver +every time a connection attempt is made on any handle, and so doing an +unconditional DEBUG() print inside this method produced a lot of noise. + +So let's drop this DEBUG() call from the VirtioSerial driver's +Supported() method. + +Signed-off-by: Ard Biesheuvel +Acked-by: Gerd Hoffmann +(cherry picked from commit ea7a3015a2404e1358218463dd25df5ae7615352) +--- + OvmfPkg/VirtioSerialDxe/VirtioSerial.c | 2 -- + 1 file changed, 2 deletions(-) + +diff --git a/OvmfPkg/VirtioSerialDxe/VirtioSerial.c b/OvmfPkg/VirtioSerialDxe/VirtioSerial.c +index bfb2b324ea..9e27a519f4 100644 +--- a/OvmfPkg/VirtioSerialDxe/VirtioSerial.c ++++ b/OvmfPkg/VirtioSerialDxe/VirtioSerial.c +@@ -510,8 +510,6 @@ VirtioSerialDriverBindingSupported ( + Status = EFI_UNSUPPORTED; + } + +- DEBUG ((DEBUG_INFO, "%a:%d: subsystem %d -> %r\n", __func__, __LINE__, VirtIo->SubSystemDeviceId, Status)); +- + // + // We needed VirtIo access only transitorily, to see whether we support the + // device or not. +-- +2.39.3 + diff --git a/SOURCES/edk2-OvmfPkg-VirtioSerialDxe-use-TPL_NOTIFY.patch b/SOURCES/edk2-OvmfPkg-VirtioSerialDxe-use-TPL_NOTIFY.patch new file mode 100644 index 0000000..4227206 --- /dev/null +++ b/SOURCES/edk2-OvmfPkg-VirtioSerialDxe-use-TPL_NOTIFY.patch @@ -0,0 +1,45 @@ +From 2ab130462062bfcd66d3047eaa6947a151296a21 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Fri, 12 May 2023 16:23:06 +0200 +Subject: [PATCH 05/12] OvmfPkg/VirtioSerialDxe: use TPL_NOTIFY + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 39: ArmVirt: add VirtioSerialDxe to ArmVirtQemu builds +RH-Jira: RHEL-643 +RH-Acked-by: Laszlo Ersek +RH-Commit: [5/6] 08998538804a8d62903e44e716bcafd9674d208f (kraxel/centos-edk2) + +Apparently TPL_CALLBACK is too low, code runs into an ASSERT +complaining the new TPL is lower than the old TPL. + +Signed-off-by: Gerd Hoffmann +(cherry picked from commit 4e5a804222415ec7b2bec90ea0300b8a9f60f131) +--- + OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c b/OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c +index 522b25e969..e4a58deff1 100644 +--- a/OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c ++++ b/OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c +@@ -158,7 +158,7 @@ VirtioSerialIoWrite ( + + VirtioSerialRingClearTx (SerialIo->Dev, PortTx (SerialIo->PortId)); + +- OldTpl = gBS->RaiseTPL (TPL_CALLBACK); ++ OldTpl = gBS->RaiseTPL (TPL_NOTIFY); + if (SerialIo->WriteOffset && + (SerialIo->WriteOffset + *BufferSize > PORT_TX_BUFSIZE)) + { +@@ -201,7 +201,7 @@ VirtioSerialIoRead ( + goto NoData; + } + +- OldTpl = gBS->RaiseTPL (TPL_CALLBACK); ++ OldTpl = gBS->RaiseTPL (TPL_NOTIFY); + if (SerialIo->WriteOffset) { + DEBUG ((DEBUG_VERBOSE, "%a:%d: WriteFlush %d\n", __func__, __LINE__, SerialIo->WriteOffset)); + VirtioSerialRingSendBuffer ( +-- +2.39.3 + diff --git a/SOURCES/edk2-Revert-ArmVirtPkg-ArmVirtQemu-enable-initial-ID-map-.patch b/SOURCES/edk2-Revert-ArmVirtPkg-ArmVirtQemu-enable-initial-ID-map-.patch deleted file mode 100644 index dbdc734..0000000 --- a/SOURCES/edk2-Revert-ArmVirtPkg-ArmVirtQemu-enable-initial-ID-map-.patch +++ /dev/null @@ -1,95 +0,0 @@ -From fc45137e55e73a3ba59fd28868e24521a28a9a6e Mon Sep 17 00:00:00 2001 -From: Oliver Steffen -Date: Tue, 31 Jan 2023 15:32:28 +0100 -Subject: [PATCH] Revert "ArmVirtPkg/ArmVirtQemu: enable initial ID map at - early boot" - -RH-Author: Oliver Steffen -RH-MergeRequest: 25: Revert "ArmVirtPkg/ArmVirtQemu: enable initial ID map at early boot" -RH-Bugzilla: 2157656 -RH-Acked-by: Gerd Hoffmann -RH-Acked-by: Miroslav Rezanina -RH-Commit: [1/1] b236b89984f7b7890089ba65228073ab79063b34 (osteffen/edk2) - -This reverts commit 07be1d34d95460a238fcd0f6693efb747c28b329, -which causes the firmware to crash early on AARCH64. - -Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2157656 - -There is a potential fix upstream: -https://github.com/tianocore/edk2/pull/3878/commits - -We need to reevaluate on the next rebase if the fix works and if we can -drop this revert-comment. - -Signed-off-by: Oliver Steffen ---- - ArmVirtPkg/ArmVirtQemu.dsc | 17 +++-------------- - ArmVirtPkg/ArmVirtQemu.fdf | 2 +- - 2 files changed, 4 insertions(+), 15 deletions(-) - -diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc -index 76389e6bd4..3bf51b09aa 100644 ---- a/ArmVirtPkg/ArmVirtQemu.dsc -+++ b/ArmVirtPkg/ArmVirtQemu.dsc -@@ -64,6 +64,8 @@ - QemuFwCfgSimpleParserLib|OvmfPkg/Library/QemuFwCfgSimpleParserLib/QemuFwCfgSimpleParserLib.inf - QemuLoadImageLib|OvmfPkg/Library/GenericQemuLoadImageLib/GenericQemuLoadImageLib.inf - -+ ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf -+ - TimerLib|ArmPkg/Library/ArmArchTimerLib/ArmArchTimerLib.inf - VirtNorFlashPlatformLib|ArmVirtPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf - -@@ -91,12 +93,6 @@ - TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLibNull/PeiDxeTpmPlatformHierarchyLib.inf - !endif - --[LibraryClasses.AARCH64] -- ArmPlatformLib|ArmVirtPkg/Library/ArmPlatformLibQemu/ArmPlatformLibQemu.inf -- --[LibraryClasses.ARM] -- ArmPlatformLib|ArmPlatformPkg/Library/ArmPlatformLibNull/ArmPlatformLibNull.inf -- - [LibraryClasses.common.PEIM] - ArmVirtMemInfoLib|ArmVirtPkg/Library/QemuVirtMemInfoLib/QemuVirtMemInfoPeiLib.inf - -@@ -117,8 +113,6 @@ - UefiScsiLib|MdePkg/Library/UefiScsiLib/UefiScsiLib.inf - - [BuildOptions] -- GCC:*_*_AARCH64_CC_XIPFLAGS == -- - !include NetworkPkg/NetworkBuildOptions.dsc.inc - - ################################################################################ -@@ -330,12 +324,7 @@ - ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf - MdeModulePkg/Core/Pei/PeiMain.inf - ArmPlatformPkg/PlatformPei/PlatformPeim.inf -- ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf { -- --!if $(ARCH) == AARCH64 -- ArmMmuLib|ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf --!endif -- } -+ ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf - ArmPkg/Drivers/CpuPei/CpuPei.inf - - !if $(TPM2_ENABLE) == TRUE -diff --git a/ArmVirtPkg/ArmVirtQemu.fdf b/ArmVirtPkg/ArmVirtQemu.fdf -index 764f652afd..c61ed36d89 100644 ---- a/ArmVirtPkg/ArmVirtQemu.fdf -+++ b/ArmVirtPkg/ArmVirtQemu.fdf -@@ -107,7 +107,7 @@ READ_LOCK_STATUS = TRUE - INF ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf - INF MdeModulePkg/Core/Pei/PeiMain.inf - INF ArmPlatformPkg/PlatformPei/PlatformPeim.inf -- INF ArmVirtPkg/MemoryInitPei/MemoryInitPeim.inf -+ INF ArmPlatformPkg/MemoryInitPei/MemoryInitPeim.inf - INF ArmPkg/Drivers/CpuPei/CpuPei.inf - INF MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf - --- -2.31.1 - diff --git a/SOURCES/edk2-Revert-MdeModulePkg-TerminalDxe-add-other-text-resol.patch b/SOURCES/edk2-Revert-MdeModulePkg-TerminalDxe-add-other-text-resol.patch deleted file mode 100644 index 2cd7a0f..0000000 --- a/SOURCES/edk2-Revert-MdeModulePkg-TerminalDxe-add-other-text-resol.patch +++ /dev/null @@ -1,72 +0,0 @@ -From ca0c903fb6d028d679e7afef22d70914ad920212 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Tue, 14 Feb 2023 12:48:06 +0100 -Subject: [PATCH] Revert "MdeModulePkg: TerminalDxe: add other text resolutions - (RHEL only)" - -RH-Author: Gerd Hoffmann -RH-MergeRequest: 28: Revert "MdeModulePkg: TerminalDxe: add other text resolutions (RHEL only)" -RH-Bugzilla: 2162307 -RH-Acked-by: Miroslav Rezanina -RH-Commit: [1/1] aa3432ccf8e01b9e9058fe82a6a22c28137b8b4c (kraxel/centos-edk2) - -This reverts commit cef6b69ea8f009aeba50b2f4b69889f9500fa585. ---- - .../Universal/Console/TerminalDxe/Terminal.c | 41 ++----------------- - 1 file changed, 3 insertions(+), 38 deletions(-) - -diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c -index dfd9c96773..e2d779c783 100644 ---- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c -+++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c -@@ -112,44 +112,9 @@ TERMINAL_DEV mTerminalDevTemplate = { - }; - - TERMINAL_CONSOLE_MODE_DATA mTerminalConsoleModeData[] = { -- { 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 -+ { 80, 25 }, -+ { 80, 50 }, -+ { 100, 31 }, - // - // New modes can be added here. - // --- -2.31.1 - diff --git a/SOURCES/edk2-Revert-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch b/SOURCES/edk2-Revert-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch new file mode 100644 index 0000000..3416dfe --- /dev/null +++ b/SOURCES/edk2-Revert-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch @@ -0,0 +1,34 @@ +From e4fe4b80159b7df136f419da69251f45b62f36ec Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Thu, 29 Jun 2023 13:37:33 +0200 +Subject: [PATCH 08/12] Revert "OvmfPkg: disable dynamic mmio window (rhel + only)" + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 41: enable dynamic mmio window +RH-Bugzilla: 2174749 +RH-Acked-by: Laszlo Ersek +RH-Commit: [2/2] 10ace0e012602153f82fccee3c555be40b3c6753 (kraxel/centos-edk2) + +This reverts commit 218d3b32592bffe5ec7317c4838d29e92b4b86f0. +--- + OvmfPkg/Library/PlatformInitLib/MemDetect.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c +index aab266399f..0482d8906d 100644 +--- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c ++++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c +@@ -682,8 +682,7 @@ PlatformDynamicMmioWindow ( + AddrSpace = LShiftU64 (1, PlatformInfoHob->PhysMemAddressWidth); + MmioSpace = LShiftU64 (1, PlatformInfoHob->PhysMemAddressWidth - 3); + +- if (FALSE /* disable for RHEL-9.2, libvirt is not ready yet */ && +- (PlatformInfoHob->PcdPciMmio64Size < MmioSpace) && ++ if ((PlatformInfoHob->PcdPciMmio64Size < MmioSpace) && + (PlatformInfoHob->PcdPciMmio64Base + MmioSpace < AddrSpace)) + { + DEBUG ((DEBUG_INFO, "%a: using dynamic mmio window\n", __func__)); +-- +2.39.3 + diff --git a/SOURCES/edk2-UefiCpuPkg-MpInitLib-fix-apic-mode-for-cpu-hotplug.patch b/SOURCES/edk2-UefiCpuPkg-MpInitLib-fix-apic-mode-for-cpu-hotplug.patch new file mode 100644 index 0000000..0a09514 --- /dev/null +++ b/SOURCES/edk2-UefiCpuPkg-MpInitLib-fix-apic-mode-for-cpu-hotplug.patch @@ -0,0 +1,48 @@ +From a920227615c895522739bbbf3a5fb7f6a470de86 Mon Sep 17 00:00:00 2001 +From: Gerd Hoffmann +Date: Tue, 28 Feb 2023 15:47:00 +0100 +Subject: [PATCH 09/12] UefiCpuPkg/MpInitLib: fix apic mode for cpu hotplug + +RH-Author: Gerd Hoffmann +RH-MergeRequest: 42: UefiCpuPkg/MpInitLib: fix apic mode for cpu hotplug +RH-Bugzilla: 2124143 +RH-Acked-by: Laszlo Ersek +RH-Commit: [1/1] 5168501c31541a57aaeb3b3bd7c3602205eb7cdf (kraxel/centos-edk2) + +In case the number of CPUs can in increase beyond 255 +due to CPU hotplug choose x2apic mode. + +Signed-off-by: Gerd Hoffmann +--- + UefiCpuPkg/Library/MpInitLib/MpLib.c | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/UefiCpuPkg/Library/MpInitLib/MpLib.c b/UefiCpuPkg/Library/MpInitLib/MpLib.c +index f1f2840714..79fd8fb04d 100644 +--- a/UefiCpuPkg/Library/MpInitLib/MpLib.c ++++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c +@@ -526,7 +526,9 @@ CollectProcessorCount ( + // + // Enable x2APIC mode if + // 1. Number of CPU is greater than 255; or +- // 2. There are any logical processors reporting an Initial APIC ID of 255 or greater. ++ // 2. The platform exposed the exact *boot* CPU count to us in advance, and ++ // more than 255 logical processors are possible later, with hotplug; or ++ // 3. There are any logical processors reporting an Initial APIC ID of 255 or greater. + // + X2Apic = FALSE; + if (CpuMpData->CpuCount > 255) { +@@ -534,6 +536,10 @@ CollectProcessorCount ( + // If there are more than 255 processor found, force to enable X2APIC + // + X2Apic = TRUE; ++ } else if ((PcdGet32 (PcdCpuBootLogicalProcessorNumber) > 0) && ++ (PcdGet32 (PcdCpuMaxLogicalProcessorNumber) > 255)) ++ { ++ X2Apic = TRUE; + } else { + CpuInfoInHob = (CPU_INFO_IN_HOB *)(UINTN)CpuMpData->CpuInfoInHob; + for (Index = 0; Index < CpuMpData->CpuCount; Index++) { +-- +2.39.3 + diff --git a/SOURCES/edk2-build.py b/SOURCES/edk2-build.py index 27da748..e14e608 100755 --- a/SOURCES/edk2-build.py +++ b/SOURCES/edk2-build.py @@ -1,9 +1,13 @@ #!/usr/bin/python3 +""" +build helper script for edk2, see +https://gitlab.com/kraxel/edk2-build-config + +""" import os import sys -import glob import shutil -import optparse +import argparse import subprocess import configparser @@ -11,18 +15,24 @@ rebase_prefix = "" version_override = None release_date = None +# pylint: disable=unused-variable def check_rebase(): """ detect 'git rebase -x edk2-build.py master' testbuilds """ global rebase_prefix global version_override + gitdir = '.git' - if not os.path.exists('.git/rebase-merge/msgnum'): - return "" - with open('.git/rebase-merge/msgnum', 'r') as f: + if os.path.isfile(gitdir): + with open(gitdir, 'r', encoding = 'utf-8') as f: + (unused, gitdir) = f.read().split() + + if not os.path.exists(f'{gitdir}/rebase-merge/msgnum'): + return + with open(f'{gitdir}/rebase-merge/msgnum', 'r', encoding = 'utf-8') as f: msgnum = int(f.read()) - with open('.git/rebase-merge/end', 'r') as f: + with open(f'{gitdir}/rebase-merge/end', 'r', encoding = 'utf-8') as f: end = int(f.read()) - with open('.git/rebase-merge/head-name', 'r') as f: + with open(f'{gitdir}/rebase-merge/head-name', 'r', encoding = 'utf-8') as f: head = f.read().strip().split('/') rebase_prefix = f'[ {int(msgnum/2)} / {int(end/2)} - {head[-1]} ] ' @@ -33,8 +43,14 @@ def check_rebase(): def get_coredir(cfg): if cfg.has_option('global', 'core'): return os.path.abspath(cfg['global']['core']) - else: - return os.getcwd() + return os.getcwd() + +def get_toolchain(cfg, build): + if cfg.has_option(build, 'tool'): + return cfg[build]['tool'] + if cfg.has_option('global', 'tool'): + return cfg['global']['tool'] + return 'GCC5' def get_version(cfg): coredir = get_coredir(cfg) @@ -44,15 +60,18 @@ def get_version(cfg): print(f'### version [override]: {version}') return version if os.environ.get('RPM_PACKAGE_NAME'): - version = os.environ.get('RPM_PACKAGE_NAME'); - version += '-' + os.environ.get('RPM_PACKAGE_VERSION'); - version += '-' + os.environ.get('RPM_PACKAGE_RELEASE'); + version = os.environ.get('RPM_PACKAGE_NAME') + version += '-' + os.environ.get('RPM_PACKAGE_VERSION') + version += '-' + os.environ.get('RPM_PACKAGE_RELEASE') print('') print(f'### version [rpmbuild]: {version}') return version if os.path.exists(coredir + '/.git'): - cmdline = [ 'git', 'describe', '--tags', '--abbrev=8', '--match=edk2-stable*' ] - result = subprocess.run(cmdline, stdout = subprocess.PIPE, cwd = coredir) + cmdline = [ 'git', 'describe', '--tags', '--abbrev=8', + '--match=edk2-stable*' ] + result = subprocess.run(cmdline, cwd = coredir, + stdout = subprocess.PIPE, + check = True) version = result.stdout.decode().strip() print('') print(f'### version [git]: {version}') @@ -68,7 +87,7 @@ def pcd_version(cfg): return [] return [ '--pcd', pcd_string('PcdFirmwareVersionString', version) ] -def pcd_release_date(cfg): +def pcd_release_date(): if release_date is None: return [] return [ '--pcd', pcd_string('PcdFirmwareReleaseDateString', release_date) ] @@ -85,13 +104,13 @@ def build_message(line, line2 = None): print(f'### {rebase_prefix}{line}') if line2: print(f'### {line2}') - print('###') + print('###', flush = True) def build_run(cmdline, name, section, silent = False): - print(cmdline) + print(cmdline, flush = True) if silent: print('### building in silent mode ...', flush = True) - result = subprocess.run(cmdline, + result = subprocess.run(cmdline, check = False, stdout = subprocess.PIPE, stderr = subprocess.STDOUT) @@ -108,13 +127,14 @@ def build_run(cmdline, name, section, silent = False): else: print('### OK') else: - result = subprocess.run(cmdline) + result = subprocess.run(cmdline, check = False) if result.returncode: - print(f'ERROR: {cmdline[0]} exited with {result.returncode} while building {name}') + print(f'ERROR: {cmdline[0]} exited with {result.returncode}' + f' while building {name}') sys.exit(result.returncode) -def build_copy(plat, tgt, dstdir, copy): - srcdir = f'Build/{plat}/{tgt}_GCC5' +def build_copy(plat, tgt, toolchain, dstdir, copy): + srcdir = f'Build/{plat}/{tgt}_{toolchain}' names = copy.split() srcfile = names[0] if len(names) > 1: @@ -140,72 +160,73 @@ def pad_file(dstdir, pad): dstdir + '/' + name, ] print(f'# padding: {dstdir} / {name} => {size}') - subprocess.run(cmdline) + subprocess.run(cmdline, check = True) +# pylint: disable=too-many-branches def build_one(cfg, build, jobs = None, silent = False): - cmdline = [ 'build' ] - cmdline += [ '-t', 'GCC5' ] - cmdline += [ '-p', cfg[build]['conf'] ] + b = cfg[build] - if (cfg[build]['conf'].startswith('OvmfPkg/') or - cfg[build]['conf'].startswith('ArmVirtPkg/')): + cmdline = [ 'build' ] + cmdline += [ '-t', get_toolchain(cfg, build) ] + cmdline += [ '-p', b['conf'] ] + + if (b['conf'].startswith('OvmfPkg/') or + b['conf'].startswith('ArmVirtPkg/')): cmdline += pcd_version(cfg) - cmdline += pcd_release_date(cfg) + cmdline += pcd_release_date() if jobs: cmdline += [ '-n', jobs ] - for arch in cfg[build]['arch'].split(): + for arch in b['arch'].split(): cmdline += [ '-a', arch ] - if 'opts' in cfg[build]: - for name in cfg[build]['opts'].split(): + if 'opts' in b: + for name in b['opts'].split(): section = 'opts.' + name for opt in cfg[section]: cmdline += [ '-D', opt + '=' + cfg[section][opt] ] - if 'pcds' in cfg[build]: - for name in cfg[build]['pcds'].split(): + if 'pcds' in b: + for name in b['pcds'].split(): section = 'pcds.' + name for pcd in cfg[section]: cmdline += [ '--pcd', pcd + '=' + cfg[section][pcd] ] - if 'tgts' in cfg[build]: - tgts = cfg[build]['tgts'].split() + if 'tgts' in b: + tgts = b['tgts'].split() else: tgts = [ 'DEBUG' ] for tgt in tgts: desc = None - if 'desc' in cfg[build]: - desc = cfg[build]['desc'] - build_message(f'building: {cfg[build]["conf"]} ({cfg[build]["arch"]}, {tgt})', + if 'desc' in b: + desc = b['desc'] + build_message(f'building: {b["conf"]} ({b["arch"]}, {tgt})', f'description: {desc}') build_run(cmdline + [ '-b', tgt ], - cfg[build]['conf'], + b['conf'], build + '.' + tgt, silent) - if 'plat' in cfg[build]: + if 'plat' in b: # copy files - for cpy in cfg[build]: + for cpy in b: if not cpy.startswith('cpy'): continue - build_copy(cfg[build]['plat'], - tgt, - cfg[build]['dest'], - cfg[build][cpy]) + build_copy(b['plat'], tgt, + get_toolchain(cfg, build), + b['dest'], b[cpy]) # pad builds - for pad in cfg[build]: + for pad in b: if not pad.startswith('pad'): continue - pad_file(cfg[build]['dest'], - cfg[build][pad]) + pad_file(b['dest'], b[pad]) def build_basetools(silent = False): - build_message(f'building: BaseTools') + build_message('building: BaseTools') basedir = os.environ['EDK_TOOLS_PATH'] cmdline = [ 'make', '-C', basedir ] build_run(cmdline, 'BaseTools', 'build.basetools', silent) def binary_exists(name): - for dir in os.environ['PATH'].split(':'): - if os.path.exists(dir + '/' + name): + for pdir in os.environ['PATH'].split(':'): + if os.path.exists(pdir + '/' + name): return True return False @@ -227,8 +248,8 @@ def prepare_env(cfg): packages.append(coredir) # add basetools to path - for dir in dirs: - p = coredir + '/' + dir + for pdir in dirs: + p = coredir + '/' + pdir if not os.path.exists(p): continue if p in path: @@ -236,12 +257,12 @@ def prepare_env(cfg): path.insert(0, p) # run edksetup if needed - toolsdef = coredir + '/Conf/tools_def.txt'; + toolsdef = coredir + '/Conf/tools_def.txt' if not os.path.exists(toolsdef): os.makedirs(os.path.dirname(toolsdef), exist_ok = True) build_message('running BaseTools/BuildEnv') - cmdline = [ 'sh', 'BaseTools/BuildEnv' ] - subprocess.run(cmdline, cwd = coredir) + cmdline = [ 'bash', 'BaseTools/BuildEnv' ] + subprocess.run(cmdline, cwd = coredir, check = True) # set variables os.environ['PATH'] = ':'.join(path) @@ -255,11 +276,15 @@ def prepare_env(cfg): # for cross builds if binary_exists('arm-linux-gnu-gcc'): os.environ['GCC5_ARM_PREFIX'] = 'arm-linux-gnu-' - if binary_exists('aarch64-linux-gnu-gcc'): + if binary_exists('loongarch64-linux-gnu-gcc'): + os.environ['GCC5_LOONGARCH64_PREFIX'] = 'loongarch64-linux-gnu-' + + hostarch = os.uname().machine + if binary_exists('aarch64-linux-gnu-gcc') and hostarch != 'aarch64': os.environ['GCC5_AARCH64_PREFIX'] = 'aarch64-linux-gnu-' - if binary_exists('riscv64-linux-gnu-gcc'): + if binary_exists('riscv64-linux-gnu-gcc') and hostarch != 'riscv64': os.environ['GCC5_RISCV64_PREFIX'] = 'riscv64-linux-gnu-' - if binary_exists('x86_64-linux-gnu-gcc'): + if binary_exists('x86_64-linux-gnu-gcc') and hostarch != 'x86_64': os.environ['GCC5_IA32_PREFIX'] = 'x86_64-linux-gnu-' os.environ['GCC5_X64_PREFIX'] = 'x86_64-linux-gnu-' os.environ['GCC5_BIN'] = 'x86_64-linux-gnu-' @@ -273,32 +298,62 @@ def build_list(cfg): if 'desc' in cfg[build]: desc = cfg[build]['desc'] print(f'# {name:20s} - {desc}') - + def main(): - parser = optparse.OptionParser() - parser.add_option('-c', '--config', dest = 'configfile', - type = 'string', default = '.edk2.builds') - parser.add_option('-C', '--directory', dest = 'directory', type = 'string') - parser.add_option('-j', '--jobs', dest = 'jobs', type = 'string') - parser.add_option('-m', '--match', dest = 'match', type = 'string') - parser.add_option('-l', '--list', dest = 'list', action = 'store_true', default = False) - parser.add_option('--silent', dest = 'silent', action = 'store_true', default = False) - parser.add_option('--core', dest = 'core', type = 'string') - parser.add_option('--pkg', '--package', dest = 'pkgs', type = 'string', action = 'append') - parser.add_option('--version-override', dest = 'version_override', type = 'string') - parser.add_option('--release-date', dest = 'release_date', type = 'string') - (options, args) = parser.parse_args() + parser = argparse.ArgumentParser(prog = 'edk2-build', + description = 'edk2 build helper script') + parser.add_argument('-c', '--config', dest = 'configfile', + type = str, default = '.edk2.builds', metavar = 'FILE', + help = 'read configuration from FILE (default: .edk2.builds)') + parser.add_argument('-C', '--directory', dest = 'directory', type = str, + help = 'change to DIR before building', metavar = 'DIR') + parser.add_argument('-j', '--jobs', dest = 'jobs', type = str, + help = 'allow up to JOBS parallel build jobs', + metavar = 'JOBS') + parser.add_argument('-m', '--match', dest = 'match', type = str, + help = 'only run builds matching INCLUDE (substring)', + metavar = 'INCLUDE') + parser.add_argument('-x', '--exclude', dest = 'exclude', type = str, + help = 'skip builds matching EXCLUDE (substring)', + metavar = 'EXCLUDE') + parser.add_argument('-l', '--list', dest = 'list', + action = 'store_true', default = False, + help = 'list build configs available') + parser.add_argument('--silent', dest = 'silent', + action = 'store_true', default = False, + help = 'write build output to logfiles, ' + 'write to console only on errors') + parser.add_argument('--core', dest = 'core', type = str, metavar = 'DIR', + help = 'location of the core edk2 repository ' + '(i.e. where BuildTools are located)') + parser.add_argument('--pkg', '--package', dest = 'pkgs', + type = str, action = 'append', metavar = 'DIR', + help = 'location(s) of additional packages ' + '(can be specified multiple times)') + parser.add_argument('-t', '--toolchain', dest = 'toolchain', type = str, metavar = 'NAME', + help = 'tool chain to be used to build edk2') + parser.add_argument('--version-override', dest = 'version_override', + type = str, metavar = 'VERSION', + help = 'set firmware build version') + parser.add_argument('--release-date', dest = 'release_date', + type = str, metavar = 'DATE', + help = 'set firmware build release date (in MM/DD/YYYY format)') + options = parser.parse_args() if options.directory: os.chdir(options.directory) + if not os.path.exists(options.configfile): + print('config file "{options.configfile}" not found') + return 1 + cfg = configparser.ConfigParser() cfg.optionxform = str cfg.read(options.configfile) if options.list: build_list(cfg) - return + return 0 if not cfg.has_section('global'): cfg.add_section('global') @@ -306,6 +361,8 @@ def main(): cfg.set('global', 'core', options.core) if options.pkgs: cfg.set('global', 'pkgs', ' '.join(options.pkgs)) + if options.toolchain: + cfg.set('global', 'tool', options.toolchain) global version_override global release_date @@ -323,7 +380,12 @@ def main(): if options.match and options.match not in build: print(f'# skipping "{build}" (not matching "{options.match}")') continue + if options.exclude and options.exclude in build: + print(f'# skipping "{build}" (matching "{options.exclude}")') + continue build_one(cfg, build, options.jobs, options.silent) + return 0 + if __name__ == '__main__': sys.exit(main()) diff --git a/SOURCES/edk2-build.rhel-9 b/SOURCES/edk2-build.rhel-9 index e79ab52..2beb614 100644 --- a/SOURCES/edk2-build.rhel-9 +++ b/SOURCES/edk2-build.rhel-9 @@ -27,6 +27,14 @@ DEBUG_PRINT_ERROR_LEVEL = 0x8040004F [opts.armvirt.silent] DEBUG_PRINT_ERROR_LEVEL = 0x80000000 +[pcds.nx.strict] +PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD5 + +[pcds.nx.broken.grub] +# grub.efi uses EfiLoaderData for code +PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD1 +# shim can't work with EFI_MEMORY_ATTRIBUTE_PROTOCOL +gArmTokenSpaceGuid.PcdEnableEfiMemoryAttributeProtocol = FALSE ##################################################################### # stateful ovmf builds (with vars in flash) @@ -89,6 +97,7 @@ conf = ArmVirtPkg/ArmVirtQemu.dsc arch = AARCH64 opts = ovmf.common armvirt.verbose +pcds = nx.broken.grub plat = ArmVirtQemu-AARCH64 dest = RHEL-9/aarch64 cpy1 = FV/QEMU_EFI.fd @@ -104,6 +113,7 @@ conf = ArmVirtPkg/ArmVirtQemu.dsc arch = AARCH64 opts = ovmf.common armvirt.silent +pcds = nx.broken.grub plat = ArmVirtQemu-AARCH64 dest = RHEL-9/aarch64 cpy1 = FV/QEMU_EFI.fd QEMU_EFI.silent.fd diff --git a/SOURCES/edk2-rh-openssl-add-crypto-bn-rsa_sup_mul.c-to-file-list.patch b/SOURCES/edk2-rh-openssl-add-crypto-bn-rsa_sup_mul.c-to-file-list.patch deleted file mode 100644 index dc7e0f6..0000000 --- a/SOURCES/edk2-rh-openssl-add-crypto-bn-rsa_sup_mul.c-to-file-list.patch +++ /dev/null @@ -1,42 +0,0 @@ -From dca1a100d14056865c7360d80a2a1d1ae4b0de96 Mon Sep 17 00:00:00 2001 -From: Gerd Hoffmann -Date: Fri, 10 Feb 2023 10:49:44 +0100 -Subject: [PATCH 5/5] rh openssl: add crypto/bn/rsa_sup_mul.c to file list - -RH-Author: Gerd Hoffmann -RH-MergeRequest: 27: openssl update -RH-Bugzilla: 2164534 2164550 2164565 2164583 -RH-Acked-by: Miroslav Rezanina -RH-Commit: [2/2] a097fc031b54208e9c8974173784e4c306dbf7a0 (kraxel/centos-edk2) ---- - CryptoPkg/Library/OpensslLib/OpensslLib.inf | 1 + - CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf -index e446b51e66..7e78255467 100644 ---- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf -+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf -@@ -576,6 +576,7 @@ - $(OPENSSL_PATH)/ssl/statem/statem_local.h - # Autogenerated files list ends here - # RHEL8-specific OpenSSL file list starts here -+ $(OPENSSL_PATH)/crypto/bn/rsa_sup_mul.c - $(OPENSSL_PATH)/crypto/evp/kdf_lib.c - $(OPENSSL_PATH)/crypto/evp/pkey_kdf.c - $(OPENSSL_PATH)/crypto/kdf/kbkdf.c -diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf -index c207dc8f4c..1c551cb099 100644 ---- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf -+++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf -@@ -526,6 +526,7 @@ - $(OPENSSL_PATH)/crypto/x509v3/v3_admis.h - # Autogenerated files list ends here - # RHEL8-specific OpenSSL file list starts here -+ $(OPENSSL_PATH)/crypto/bn/rsa_sup_mul.c - $(OPENSSL_PATH)/crypto/evp/kdf_lib.c - $(OPENSSL_PATH)/crypto/evp/pkey_kdf.c - $(OPENSSL_PATH)/crypto/kdf/kbkdf.c --- -2.31.1 - diff --git a/SPECS/edk2.spec b/SPECS/edk2.spec index daf9951..b37f001 100644 --- a/SPECS/edk2.spec +++ b/SPECS/edk2.spec @@ -1,10 +1,12 @@ ExclusiveArch: x86_64 aarch64 -%define GITDATE 20221207 -%define GITCOMMIT fff6d81270b5 +%define GITDATE 20230524 +%define GITCOMMIT ba91d0292e %define TOOLCHAIN GCC5 %define OPENSSL_VER 1.1.1k +%define DBXDATE 20230509 + %define build_ovmf 0 %define build_aarch64 0 %ifarch x86_64 @@ -15,14 +17,14 @@ ExclusiveArch: x86_64 aarch64 %endif Name: edk2 -Version: %{GITDATE}git%{GITCOMMIT} -Release: 9%{?dist} +Version: %{GITDATE} +Release: 4%{?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=fff6d81270b5 +# COMMIT=ba91d0292e # git archive --format=tar --prefix=edk2-$COMMIT/ $COMMIT \ # | xz -9ev >/tmp/edk2-$COMMIT.tar.xz Source0:edk2-%{GITCOMMIT}.tar.xz @@ -30,8 +32,10 @@ Source1: ovmf-whitepaper-c770f8c.txt Source2: openssl-rhel-d00c3c5b8a9d6d3ea3dabfcafdf36afd61ba8bcc.tar.xz # json description files -Source10: 50-edk2-aarch64.json -Source11: 51-edk2-aarch64-verbose.json +Source10: 50-edk2-aarch64-qcow2.json +Source11: 51-edk2-aarch64-raw.json +Source12: 52-edk2-aarch64-verbose-qcow2.json +Source13: 53-edk2-aarch64-verbose-raw.json Source40: 30-edk2-ovmf-x64-sb-enrolled.json Source41: 40-edk2-ovmf-x64-sb.json @@ -43,51 +47,68 @@ Source45: 60-edk2-ovmf-x64-inteltdx.json Source80: edk2-build.py Source82: edk2-build.rhel-9 +Source90: DBXUpdate-%{DBXDATE}.x64.bin + Patch0002: 0002-Remove-submodules.patch -Patch0003: 0003-MdeModulePkg-TerminalDxe-add-other-text-resolutions-.patch -Patch0004: 0004-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch -Patch0005: 0005-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch -Patch0006: 0006-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch -Patch0007: 0007-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch -Patch0008: 0008-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch -Patch0009: 0009-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch -Patch0010: 0010-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch -Patch0011: 0011-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch -Patch0012: 0012-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch -Patch0013: 0013-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch -Patch0014: 0014-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch -Patch0015: 0015-OvmfPkg-Remove-EbcDxe-RHEL-only.patch -Patch0016: 0016-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch -Patch0017: 0017-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch -Patch0018: 0018-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch -Patch0019: 0019-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch -Patch0020: 0020-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch -Patch0021: 0021-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch -Patch0022: 0022-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch -Patch0023: 0023-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch -Patch0024: 0024-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch -Patch0025: 0025-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch -Patch0026: 0026-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch -Patch0028: 0028-Revert-ArmVirtPkg-make-EFI_LOADER_DATA-non-executabl.patch -Patch0032: 0032-Revert-OvmfPkg-PlatformDxe-Handle-all-requests-in-Ex.patch -Patch0033: 0033-OvmfPkg-SmbiosPlatformDxe-use-PcdFirmware.patch -# For bz#2158173 - [aarch64][numa] Failed to create 2 numa nodes in some hardwares -Patch34: edk2-OvmfPkg-VirtNorFlashDxe-map-flash-memory-as-uncachea.patch -# For bz#1983086 - Assertion failure when creating 1024 VCPU VM: [...]UefiCpuPkg/CpuMpPei/CpuBist.c(186): !EFI_ERROR (Status) -Patch35: edk2-MdePkg-Remove-Itanium-leftover-data-structure-RH-onl.patch -# For bz#2158173 - [aarch64][numa] Failed to create 2 numa nodes in some hardwares -Patch36: edk2-ArmVirt-don-t-use-unaligned-CopyMem-on-NOR-flash.patch -# For bz#2157656 - [edk2] [aarch64] Unable to initialize EFI firmware when using edk2-aarch64-20221207gitfff6d81270b5-1.el9 in some hardwares -Patch37: edk2-Revert-ArmVirtPkg-ArmVirtQemu-enable-initial-ID-map-.patch -# For bz#2164534 - CVE-2023-0286 edk2: openssl: X.400 address type confusion in X.509 GeneralName [rhel-9] -# For bz#2164550 - CVE-2022-4304 edk2: openssl: timing attack in RSA Decryption implementation [rhel-9] -# For bz#2164565 - CVE-2023-0215 edk2: openssl: use-after-free following BIO_new_NDEF [rhel-9] -# For bz#2164583 - CVE-2022-4450 edk2: openssl: double free after calling PEM_read_bio_ex [rhel-9] -Patch38: edk2-rh-openssl-add-crypto-bn-rsa_sup_mul.c-to-file-list.patch -# For bz#2162307 - Broken GRUB output on a serial console -Patch39: edk2-Revert-MdeModulePkg-TerminalDxe-add-other-text-resol.patch -# For bz#2174605 - [EDK2] disable dynamic mmio window -Patch40: edk2-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch +Patch0003: 0003-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch +Patch0004: 0004-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch +Patch0005: 0005-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch +Patch0006: 0006-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch +Patch0007: 0007-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch +Patch0008: 0008-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch +Patch0009: 0009-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch +Patch0010: 0010-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch +Patch0011: 0011-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch +Patch0012: 0012-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch +Patch0013: 0013-OvmfPkg-Remove-EbcDxe-RHEL-only.patch +Patch0014: 0014-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch +Patch0015: 0015-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch +Patch0016: 0016-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch +Patch0017: 0017-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch +Patch0018: 0018-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch +Patch0019: 0019-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch +Patch0020: 0020-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch +Patch0021: 0021-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch +Patch0022: 0022-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch +Patch0023: 0023-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch +Patch0024: 0024-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch +Patch0025: 0025-recreate-import-redhat-directory.patch +Patch0026: 0026-CryptoPkg-OpensslLib-list-RHEL8-specific-OpenSSL-fil.patch +Patch0027: 0027-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch +Patch0028: 0028-ArmPkg-Disable-EFI_MEMORY_ATTRIBUTE_PROTOCOL-RH-only.patch +Patch0029: 0029-OvmfPkg-PciHotPlugInitDxe-Do-not-reserve-IO-ports-by.patch +# For RHEL-643 - add virtio serial support to armvirt +Patch30: edk2-ArmVirt-add-VirtioSerialDxe-to-ArmVirtQemu-builds.patch +# For RHEL-643 - add virtio serial support to armvirt +Patch31: edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtio.patch +# For RHEL-643 - add virtio serial support to armvirt +Patch32: edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtioPc.patch +# For RHEL-643 - add virtio serial support to armvirt +Patch33: edk2-ArmVirt-PlatformBootManagerLib-set-up-virtio-serial-.patch +# For RHEL-643 - add virtio serial support to armvirt +Patch34: edk2-OvmfPkg-VirtioSerialDxe-use-TPL_NOTIFY.patch +# For RHEL-643 - add virtio serial support to armvirt +Patch35: edk2-OvmfPkg-VirtioSerialDxe-Remove-noisy-debug-print-on-.patch +# For bz#2174749 - [edk2] re-enable dynamic mmio window +Patch36: edk2-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch +# For bz#2174749 - [edk2] re-enable dynamic mmio window +Patch37: edk2-Revert-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch +# For bz#2124143 - ovmf must consider max cpu count not boot cpu count for apic mode [rhel-9] +Patch38: edk2-UefiCpuPkg-MpInitLib-fix-apic-mode-for-cpu-hotplug.patch +# For RHEL-644 - enable gigabyte pages +Patch39: edk2-OvmfPkg-PlatformInitLib-check-PcdUse1GPageTable.patch +# For RHEL-644 - enable gigabyte pages +Patch40: edk2-OvmfPkg-OvmfPkgIa32X64-enable-1G-pages.patch +# For RHEL-644 - enable gigabyte pages +Patch41: edk2-OvmfPkg-MicrovmX64-enable-1G-pages.patch +# For bz#2190244 - [EDK2] [AMDSERVER 9.3 Bug] OVMF AP Creation Fixes +Patch42: edk2-OvmfPkg-AmdSev-fix-BdsPlatform.c-assertion-failure-d.patch +# For bz#2211060 - SEV-es guest randomly stuck at boot to hard drive screen from powerdown and boot again +Patch43: edk2-OvmfPkg-IoMmuDxe-add-locking-to-IoMmuAllocateBounceB.patch +# For bz#2218196 - Add vtpm devices with OVMF.amdsev.fd causes VM reset +Patch44: edk2-OvmfPkg-AmdSevDxe-Shim-Reboot-workaround-RHEL-only.patch +# For RHEL-9943 - [EDK2][AMDSERVER Bug] OvmfPkg/ResetVector: Fix assembler bit test flag check [rhel-9.3.0.z] +Patch45: edk2-OvmfPkg-ResetVector-Fix-assembler-bit-test-flag-chec.patch # python3-devel and libuuid-devel are required for building tools. @@ -97,6 +118,7 @@ BuildRequires: python3-devel BuildRequires: libuuid-devel BuildRequires: /usr/bin/iasl BuildRequires: binutils gcc git gcc-c++ make +BuildRequires: qemu-img %if %{build_ovmf} # Only OVMF includes 80x86 assembly files (*.nasm*). @@ -109,7 +131,7 @@ BuildRequires: mtools BuildRequires: xorriso # secure boot enrollment -BuildRequires: python3dist(virt-firmware) +BuildRequires: python3dist(virt-firmware) >= 23.4 # endif build_ovmf %endif @@ -141,6 +163,9 @@ BuildArch: noarch Provides: AAVMF = %{version}-%{release} Obsoletes: AAVMF < 20180508-100.gitee3198e672e2.el7 +# need libvirt version with qcow2 support +Conflicts: libvirt-daemon-driver-qemu < 9.2.0 + # No Secure Boot for AAVMF yet, but we include OpenSSL for the IPv6 stack. Provides: bundled(openssl) = %{OPENSSL_VER} License: BSD-2-Clause-Patent and OpenSSL @@ -188,9 +213,10 @@ git config am.keepcr true %autosetup -T -D -n edk2-%{GITCOMMIT} -S git_am cp -a -- %{SOURCE1} . -cp -a -- %{SOURCE10} %{SOURCE11} . +cp -a -- %{SOURCE10} %{SOURCE11} %{SOURCE12} %{SOURCE13} . cp -a -- %{SOURCE40} %{SOURCE41} %{SOURCE43} %{SOURCE44} %{SOURCE45} . cp -a -- %{SOURCE80} %{SOURCE82} . +cp -a -- %{SOURCE90} . tar -C CryptoPkg/Library/OpensslLib -a -f %{SOURCE2} -x # Done by %setup, but we do not use it for the auxiliary tarballs @@ -243,11 +269,16 @@ touch OvmfPkg/AmdSev/Grub/grub.efi # dummy build_iso RHEL-9/ovmf virt-fw-vars --input RHEL-9/ovmf/OVMF_VARS.fd \ --output RHEL-9/ovmf/OVMF_VARS.secboot.fd \ + --set-dbx DBXUpdate-%{DBXDATE}.x64.bin \ --enroll-redhat --secure-boot %endif %if %{build_aarch64} ./edk2-build.py --config edk2-build.rhel-9 -m armvirt --release-date "$RELEASE_DATE" +for raw in */aarch64/*.raw; do + qcow2="${raw%.raw}.qcow2" + qemu-img convert -f raw -O qcow2 -o cluster_size=4096 -S 4096 "$raw" "$qcow2" +done %endif %install @@ -305,8 +336,10 @@ ln -s ../%{name}/aarch64/vars-template-pflash.raw \ %{buildroot}%{_datadir}/AAVMF/AAVMF_VARS.fd install -m 0644 \ - 50-edk2-aarch64.json \ - 51-edk2-aarch64-verbose.json \ + 50-edk2-aarch64-qcow2.json \ + 51-edk2-aarch64-raw.json \ + 52-edk2-aarch64-verbose-qcow2.json \ + 53-edk2-aarch64-verbose-raw.json \ %{buildroot}%{_datadir}/qemu/firmware # endif build_aarch64 @@ -354,17 +387,19 @@ install -m 0644 \ %common_files %dir %{_datadir}/AAVMF/ %dir %{_datadir}/%{name}/aarch64/ -%{_datadir}/%{name}/aarch64/QEMU_EFI-pflash.raw -%{_datadir}/%{name}/aarch64/QEMU_EFI-silent-pflash.raw -%{_datadir}/%{name}/aarch64/vars-template-pflash.raw +%{_datadir}/%{name}/aarch64/QEMU_EFI-pflash.* +%{_datadir}/%{name}/aarch64/QEMU_EFI-silent-pflash.* +%{_datadir}/%{name}/aarch64/vars-template-pflash.* %{_datadir}/AAVMF/AAVMF_CODE.verbose.fd %{_datadir}/AAVMF/AAVMF_CODE.fd %{_datadir}/AAVMF/AAVMF_VARS.fd %{_datadir}/%{name}/aarch64/QEMU_EFI.fd %{_datadir}/%{name}/aarch64/QEMU_EFI.silent.fd %{_datadir}/%{name}/aarch64/QEMU_VARS.fd -%{_datadir}/qemu/firmware/50-edk2-aarch64.json -%{_datadir}/qemu/firmware/51-edk2-aarch64-verbose.json +%{_datadir}/qemu/firmware/50-edk2-aarch64-qcow2.json +%{_datadir}/qemu/firmware/51-edk2-aarch64-raw.json +%{_datadir}/qemu/firmware/52-edk2-aarch64-verbose-qcow2.json +%{_datadir}/qemu/firmware/53-edk2-aarch64-verbose-raw.json # endif build_aarch64 %endif @@ -393,6 +428,85 @@ install -m 0644 \ %changelog +* Mon Oct 09 2023 Miroslav Rezanina - 20230524-4 +- edk2-OvmfPkg-ResetVector-Fix-assembler-bit-test-flag-chec.patch [RHEL-9943] +- Resolves: RHEL-9943 + ([EDK2][AMDSERVER Bug] OvmfPkg/ResetVector: Fix assembler bit test flag check [rhel-9.3.0.z]) + +* Thu Aug 24 2023 Miroslav Rezanina - 20230524-3 +- edk2-OvmfPkg-AmdSev-fix-BdsPlatform.c-assertion-failure-d.patch [bz#2190244] +- edk2-OvmfPkg-IoMmuDxe-add-locking-to-IoMmuAllocateBounceB.patch [bz#2211060] +- edk2-OvmfPkg-AmdSevDxe-Shim-Reboot-workaround-RHEL-only.patch [bz#2218196] +- Resolves: bz#2190244 + ([EDK2] [AMDSERVER 9.3 Bug] OVMF AP Creation Fixes) +- Resolves: bz#2211060 + (SEV-es guest randomly stuck at boot to hard drive screen from powerdown and boot again) +- Resolves: bz#2218196 + (Add vtpm devices with OVMF.amdsev.fd causes VM reset) + +* Mon Jul 10 2023 Miroslav Rezanina - 20230524-2 +- edk2-ArmVirt-add-VirtioSerialDxe-to-ArmVirtQemu-builds.patch [RHEL-643] +- edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtio.patch [RHEL-643] +- edk2-ArmVirt-PlatformBootManagerLib-factor-out-IsVirtioPc.patch [RHEL-643] +- edk2-ArmVirt-PlatformBootManagerLib-set-up-virtio-serial-.patch [RHEL-643] +- edk2-OvmfPkg-VirtioSerialDxe-use-TPL_NOTIFY.patch [RHEL-643] +- edk2-OvmfPkg-VirtioSerialDxe-Remove-noisy-debug-print-on-.patch [RHEL-643] +- edk2-OvmfPkg-PlatformInitLib-limit-phys-bits-to-46.patch [bz#2174749] +- edk2-Revert-OvmfPkg-disable-dynamic-mmio-window-rhel-only.patch [bz#2174749] +- edk2-UefiCpuPkg-MpInitLib-fix-apic-mode-for-cpu-hotplug.patch [bz#2124143] +- edk2-OvmfPkg-PlatformInitLib-check-PcdUse1GPageTable.patch [RHEL-644] +- edk2-OvmfPkg-OvmfPkgIa32X64-enable-1G-pages.patch [RHEL-644] +- edk2-OvmfPkg-MicrovmX64-enable-1G-pages.patch [RHEL-644] +- Resolves: RHEL-643 + (add virtio serial support to armvirt) +- Resolves: bz#2174749 + ([edk2] re-enable dynamic mmio window) +- Resolves: bz#2124143 + (ovmf must consider max cpu count not boot cpu count for apic mode [rhel-9]) +- Resolves: RHEL-644 + (enable gigabyte pages) + +* Tue Jun 27 2023 Oliver Steffen - 20230524-1 +- Rebase to edk2-stable202305 tag [RHEL-585] + Resolves: RHEL-585 + ([rhel-9.3] rebase EDK2 to edk2-stable202305) + +* Mon May 22 2023 Miroslav Rezanina - 20230301gitf80f052277c8-5 +- edk2-dbx-update-2023-05-09-black-lotus-edition.patch [RHEL-470] +- edk2-json-descriptors-explicitly-set-mode-split.patch [RHEL-469] +- Resolves: RHEL-470 + (edk2: update variable store with latest dbx updates (may 9, black lotus edition)) +- Resolves: RHEL-469 + (explicitly set mode = split in firmware json description files) + +* Tue May 16 2023 Miroslav Rezanina - 20230301gitf80f052277c8-4 +- edk2-OvmfPkg-Clarify-invariants-for-NestedInterruptTplLib.patch [bz#2189136] +- edk2-OvmfPkg-Relax-assertion-that-interrupts-do-not-occur.patch [bz#2189136] +- Resolves: bz#2189136 + (windows 11 installation broken with edk2-20230301gitf80f052277c8-1.el9) + +* Mon May 08 2023 Miroslav Rezanina - 20230301gitf80f052277c8-3 +- edk2-add-aarch64-qcow2-images.patch [bz#2186754] +- edk2-update-json-files.patch [bz#2186754] +- edk2-add-libvirt-version-conflict.patch [bz#2186754] +- edk2-add-dbx-update-blob-rh-only.patch [RHEL-377] +- edk2-spec-apply-dbx-update-rh-only.patch [RHEL-377] +- Resolves: bz#2186754 + (edk2: Add firmware images in qcow2 format) +- Resolves: RHEL-377 + (edk2: ship secure build variable store with latest dbx updates) + +* Wed Apr 05 2023 Miroslav Rezanina - 20230301gitf80f052277c8-2 +- edk2-build-script-update.patch [bz#2183230] +- edk2-PcdDxeNxMemoryProtectionPolicy-update.patch [bz#2183230] +- Resolves: bz#2183230 + ([edk2] Instruction abort exception when booting a VM) + +* Wed Mar 22 2023 Miroslav Rezanina - 20230301gitf80f052277c8-1 +- Rebase to edk2-stable202302 [RHEL-266] +- Resolves: RHEL-266 + (rebase edk2 to 2023-02 stable tag) + * Fri Mar 17 2023 Miroslav Rezanina - 20221207gitfff6d81270b5-9 - edk2-remove-amd-sev-feature-flag-from-secure-boot-builds-.patch [bz#2169247] - Resolves: bz#2169247