commit
8a96613844
@ -0,0 +1,3 @@
|
|||||||
|
de143fc38b339d982079517b6f01bcec5246cf5e SOURCES/DBXUpdate-20230509.x64.bin
|
||||||
|
6da44cf37c27ab03f2940769c58515b07271e047 SOURCES/edk2-3e722403cd.tar.xz
|
||||||
|
0a9cfae889c6436333fab963250b069058eec6cf SOURCES/openssl-rhel-0205b589887203b065154ddc8e8107c4ac8625a1.tar.xz
|
@ -0,0 +1,3 @@
|
|||||||
|
SOURCES/DBXUpdate-20230509.x64.bin
|
||||||
|
SOURCES/edk2-3e722403cd.tar.xz
|
||||||
|
SOURCES/openssl-rhel-0205b589887203b065154ddc8e8107c4ac8625a1.tar.xz
|
@ -0,0 +1,65 @@
|
|||||||
|
From 890270bd27f2177f0eb2158ca8c75b101d27283b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
Date: Thu, 24 Mar 2022 03:23:02 -0400
|
||||||
|
Subject: [PATCH] Remove paths leading to submodules
|
||||||
|
|
||||||
|
We removed submodules used upstream. However, edk2 build system requires
|
||||||
|
such include paths to resolve successfully, regardless of the firmware
|
||||||
|
platform being built.
|
||||||
|
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
BaseTools/Source/C/GNUmakefile | 1 -
|
||||||
|
MdeModulePkg/MdeModulePkg.dec | 3 ---
|
||||||
|
MdePkg/MdePkg.dec | 5 -----
|
||||||
|
3 files changed, 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/BaseTools/Source/C/GNUmakefile b/BaseTools/Source/C/GNUmakefile
|
||||||
|
index 5275f657ef..39d7199753 100644
|
||||||
|
--- a/BaseTools/Source/C/GNUmakefile
|
||||||
|
+++ b/BaseTools/Source/C/GNUmakefile
|
||||||
|
@@ -51,7 +51,6 @@ all: makerootdir subdirs
|
||||||
|
LIBRARIES = Common
|
||||||
|
VFRAUTOGEN = VfrCompile/VfrLexer.h
|
||||||
|
APPLICATIONS = \
|
||||||
|
- BrotliCompress \
|
||||||
|
VfrCompile \
|
||||||
|
EfiRom \
|
||||||
|
GenFfs \
|
||||||
|
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
index f7339f0aec..badb93238f 100644
|
||||||
|
--- a/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
+++ b/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
@@ -26,9 +26,6 @@
|
||||||
|
Include
|
||||||
|
Test/Mock/Include
|
||||||
|
|
||||||
|
-[Includes.Common.Private]
|
||||||
|
- Library/BrotliCustomDecompressLib/brotli/c/include
|
||||||
|
-
|
||||||
|
[LibraryClasses]
|
||||||
|
## @libraryclass Defines a set of methods to reset whole system.
|
||||||
|
ResetSystemLib|Include/Library/ResetSystemLib.h
|
||||||
|
diff --git a/MdePkg/MdePkg.dec b/MdePkg/MdePkg.dec
|
||||||
|
index bf94549cbf..605b0f1be8 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
|
@ -0,0 +1,190 @@
|
|||||||
|
From 496d843eaa1efdc7c113ba9a919dcc6c2ae53c9f Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Tue, 25 Feb 2014 22:40:01 +0100
|
||||||
|
Subject: [PATCH] MdeModulePkg: TerminalDxe: set xterm resolution on mode
|
||||||
|
change (RH only)
|
||||||
|
|
||||||
|
Notes for rebase to edk2-stable202311:
|
||||||
|
|
||||||
|
- Minor context changes due to new PCDs (for USB Networking) being added.
|
||||||
|
|
||||||
|
Notes for rebase to edk2-stable202205:
|
||||||
|
|
||||||
|
- Minor context changes due to fd306d1dbc MdeModulePkg: Add PcdTdxSharedBitMask
|
||||||
|
|
||||||
|
Notes for rebase to edk2-stable202202:
|
||||||
|
|
||||||
|
- Minor context changes due to 1436aea4d MdeModulePkg: Apply uncrustify changes
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- Resolve harmless conflict in "MdeModulePkg/MdeModulePkg.dec",
|
||||||
|
originating from new upstream commits
|
||||||
|
- 45bc28172fbf ("MdeModulePkg.dec: Change PCDs for status code.",
|
||||||
|
2020-06-18),
|
||||||
|
- 0785c619a58a ("MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable
|
||||||
|
BAR Capability", 2021-01-04),
|
||||||
|
- ef23012e5439 ("MdeModulePkg: Change default value of
|
||||||
|
PcdPcieResizableBarSupport to FALSE", 2021-01-14).
|
||||||
|
|
||||||
|
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||||
|
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||||
|
|
||||||
|
- Resolve trivial conflict in "MdeModulePkg/MdeModulePkg.dec", arising
|
||||||
|
from upstream commit 166830d8f7ca ("MdeModulePkg/dec: add
|
||||||
|
PcdTcgPfpMeasurementRevision PCD", 2020-01-06).
|
||||||
|
|
||||||
|
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||||
|
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||||
|
|
||||||
|
- Conflict in "MdeModulePkg/MdeModulePkg.dec" due to upstream commits
|
||||||
|
- 1103ba946aee ("MdeModulePkg: Add Capsule On Disk related definition.",
|
||||||
|
2019-06-26),
|
||||||
|
- 1c7b3eb84631 ("MdeModulePkg/DxeIpl: Introduce PCD
|
||||||
|
PcdUse5LevelPageTable", 2019-08-09),
|
||||||
|
with easy manual resolution.
|
||||||
|
|
||||||
|
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
|
||||||
|
RHEL-8.1/20190308-89910a39dcfd rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
|
||||||
|
RHEL-8.0/20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- reorder the rebase changelog in the commit message so that it reads like
|
||||||
|
a blog: place more recent entries near the top
|
||||||
|
- no changes to the patch body
|
||||||
|
|
||||||
|
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||||
|
|
||||||
|
- Refresh downstream-only commit 2909e025db68 against "MdeModulePkg.dec"
|
||||||
|
context change from upstream commits e043f7895b83 ("MdeModulePkg: Add
|
||||||
|
PCD PcdPteMemoryEncryptionAddressOrMask", 2017-02-27) and 76081dfcc5b2
|
||||||
|
("MdeModulePkg: Add PROMPT&HELP string of pcd to UNI file", 2017-03-03).
|
||||||
|
|
||||||
|
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||||
|
|
||||||
|
- refresh commit 519b9751573e against various context changes
|
||||||
|
|
||||||
|
The
|
||||||
|
|
||||||
|
CSI Ps ; Ps ; Ps t
|
||||||
|
|
||||||
|
escape sequence serves for window manipulation. We can use the
|
||||||
|
|
||||||
|
CSI 8 ; <rows> ; <columns> t
|
||||||
|
|
||||||
|
sequence to adapt eg. the xterm window size to the selected console mode.
|
||||||
|
|
||||||
|
Reference: <http://rtfm.etla.org/xterm/ctlseq.html>
|
||||||
|
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
(cherry picked from commit 2909e025db6878723b49644a8a0cf160d07e6444)
|
||||||
|
(cherry picked from commit b9c5c901f25e48d68eef6e78a4abca00e153f574)
|
||||||
|
(cherry picked from commit b7f6115b745de8cbc5214b6ede33c9a8558beb90)
|
||||||
|
(cherry picked from commit 67415982afdc77922aa37496c981adeb4351acdb)
|
||||||
|
(cherry picked from commit cfccb98d13e955beb0b93b4a75a973f30c273ffc)
|
||||||
|
(cherry picked from commit a11602f5e2ef930be5b693ddfd0c789a1bd4c60c)
|
||||||
|
(cherry picked from commit bc2266f20de5db1636e09a07e4a72c8dbf505f5a)
|
||||||
|
---
|
||||||
|
MdeModulePkg/MdeModulePkg.dec | 4 +++
|
||||||
|
.../Console/TerminalDxe/TerminalConOut.c | 30 +++++++++++++++++++
|
||||||
|
.../Console/TerminalDxe/TerminalDxe.inf | 2 ++
|
||||||
|
3 files changed, 36 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
index badb93238f..3a67acc090 100644
|
||||||
|
--- a/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
+++ b/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
@@ -2222,6 +2222,10 @@
|
||||||
|
# @Prompt The value is use for Usb Network rate limiting supported.
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdUsbNetworkRateLimitingFactor|100|UINT32|0x10000028
|
||||||
|
|
||||||
|
+ ## 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..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 <Library/PrintLib.h>
|
||||||
|
+
|
||||||
|
#include "Terminal.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
@@ -80,6 +82,16 @@ CHAR16 mSetCursorPositionString[] = { ESC, '[', '0', '0', ';', '0', '0', 'H', 0
|
||||||
|
CHAR16 mCursorForwardString[] = { ESC, '[', '0', '0', 'C', 0 };
|
||||||
|
CHAR16 mCursorBackwardString[] = { ESC, '[', '0', '0', 'D', 0 };
|
||||||
|
|
||||||
|
+//
|
||||||
|
+// Note that this is an ASCII format string, taking two INT32 arguments:
|
||||||
|
+// rows, columns.
|
||||||
|
+//
|
||||||
|
+// A %d (INT32) format specification can expand to at most 11 characters.
|
||||||
|
+//
|
||||||
|
+CHAR8 mResizeTextAreaFormatString[] = "\x1B[8;%d;%dt";
|
||||||
|
+#define RESIZE_SEQ_SIZE (sizeof mResizeTextAreaFormatString + 2 * (11 - 2))
|
||||||
|
+
|
||||||
|
+
|
||||||
|
//
|
||||||
|
// Body of the ConOut functions
|
||||||
|
//
|
||||||
|
@@ -498,6 +510,24 @@ TerminalConOutSetMode (
|
||||||
|
return EFI_DEVICE_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (PcdGetBool (PcdResizeXterm)) {
|
||||||
|
+ CHAR16 ResizeSequence[RESIZE_SEQ_SIZE];
|
||||||
|
+
|
||||||
|
+ UnicodeSPrintAsciiFormat (
|
||||||
|
+ ResizeSequence,
|
||||||
|
+ sizeof ResizeSequence,
|
||||||
|
+ mResizeTextAreaFormatString,
|
||||||
|
+ (INT32) TerminalDevice->TerminalConsoleModeData[ModeNumber].Rows,
|
||||||
|
+ (INT32) TerminalDevice->TerminalConsoleModeData[ModeNumber].Columns
|
||||||
|
+ );
|
||||||
|
+ TerminalDevice->OutputEscChar = TRUE;
|
||||||
|
+ Status = This->OutputString (This, ResizeSequence);
|
||||||
|
+ TerminalDevice->OutputEscChar = FALSE;
|
||||||
|
+ if (EFI_ERROR (Status)) {
|
||||||
|
+ return EFI_DEVICE_ERROR;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
This->Mode->Mode = (INT32)ModeNumber;
|
||||||
|
|
||||||
|
Status = This->ClearScreen (This);
|
||||||
|
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||||
|
index b2a8aeba85..96810f337c 100644
|
||||||
|
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||||
|
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||||
|
@@ -55,6 +55,7 @@
|
||||||
|
DebugLib
|
||||||
|
PcdLib
|
||||||
|
BaseLib
|
||||||
|
+ PrintLib
|
||||||
|
|
||||||
|
[Guids]
|
||||||
|
## SOMETIMES_PRODUCES ## Variable:L"ConInDev"
|
||||||
|
@@ -87,6 +88,7 @@
|
||||||
|
[Pcd]
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType ## SOMETIMES_CONSUMES
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable ## CONSUMES
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ## CONSUMES
|
||||||
|
|
||||||
|
# [Event]
|
||||||
|
# # Relative timer event set by UnicodeToEfiKey(), used to be one 2 seconds input timeout.
|
@ -0,0 +1,212 @@
|
|||||||
|
From 3830b4cfd575bcb5d44b69f4d8f8d49f6992fcc3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Wed, 14 Oct 2015 15:59:06 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: take PcdResizeXterm from the QEMU command line (RH
|
||||||
|
only)
|
||||||
|
|
||||||
|
Notes about edk2-stable202205 rebase
|
||||||
|
|
||||||
|
- Necessary minor fixes for upstream changes
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
|
||||||
|
introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
|
||||||
|
to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
|
||||||
|
|
||||||
|
We've always patched all those DSC/FDF files in OvmfPkg down-stream that
|
||||||
|
made sense at least in theory on QEMU. (For example, we've always
|
||||||
|
patched "OvmfPkgIa32.dsc" and "OvmfPkgIa32.fdf", even though we never
|
||||||
|
build or ship the pure IA32 firmware platform.) Follow suit with
|
||||||
|
"AmdSevX64.dsc".
|
||||||
|
|
||||||
|
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||||
|
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||||
|
|
||||||
|
- Resolve contextual conflict in the DSC files, from upstream commit
|
||||||
|
b0ed7ebdebd1 ("OvmfPkg: set fixed FlashNvStorage base addresses with -D
|
||||||
|
SMM_REQUIRE", 2020-03-12).
|
||||||
|
|
||||||
|
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||||
|
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
|
||||||
|
RHEL-8.1/20190308-89910a39dcfd rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
|
||||||
|
RHEL-8.0/20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- reorder the rebase changelog in the commit message so that it reads like
|
||||||
|
a blog: place more recent entries near the top
|
||||||
|
- no changes to the patch body
|
||||||
|
|
||||||
|
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||||
|
|
||||||
|
- refresh downstream-only commit 8abc2a6ddad2 against context differences
|
||||||
|
in the DSC files from upstream commit 5e167d7e784c
|
||||||
|
("OvmfPkg/PlatformPei: don't allocate reserved mem varstore if
|
||||||
|
SMM_REQUIRE", 2017-03-12).
|
||||||
|
|
||||||
|
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||||
|
|
||||||
|
- no changes
|
||||||
|
|
||||||
|
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
(cherry picked from commit 6fa0c4d67c0bb8bde2ddd6db41c19eb0c40b2721)
|
||||||
|
(cherry picked from commit 8abc2a6ddad25af7e88dc0cf57d55dfb75fbf92d)
|
||||||
|
(cherry picked from commit b311932d3841c017a0f0fec553edcac365cc2038)
|
||||||
|
(cherry picked from commit 61914fb81cf624c9028d015533b400b2794e52d3)
|
||||||
|
(cherry picked from commit 2ebf3cc2ae99275d63bb6efd3c22dec76251a853)
|
||||||
|
(cherry picked from commit f9b73437b9b231773c1a20e0c516168817a930a2)
|
||||||
|
(cherry picked from commit 2cc462ee963d0be119bc97bfc9c70d292a40516f)
|
||||||
|
(cherry picked from commit 51e0de961029af84b5bdbfddcc9762b1819d500f)
|
||||||
|
---
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 1 +
|
||||||
|
OvmfPkg/CloudHv/CloudHvX64.dsc | 1 +
|
||||||
|
OvmfPkg/IntelTdx/IntelTdxX64.dsc | 1 +
|
||||||
|
OvmfPkg/Microvm/MicrovmX64.dsc | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 1 +
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 1 +
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 1 +
|
||||||
|
OvmfPkg/PlatformPei/Platform.c | 13 +++++++++++++
|
||||||
|
OvmfPkg/PlatformPei/PlatformPei.inf | 1 +
|
||||||
|
9 files changed, 21 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
index 8eb6f4f24f..627fded641 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
@@ -484,6 +484,7 @@
|
||||||
|
[PcdsDynamicDefault]
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||||
|
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
|
||||||
|
diff --git a/OvmfPkg/CloudHv/CloudHvX64.dsc b/OvmfPkg/CloudHv/CloudHvX64.dsc
|
||||||
|
index 4996885301..51a49c09ad 100644
|
||||||
|
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
|
||||||
|
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
|
||||||
|
@@ -581,6 +581,7 @@
|
||||||
|
# ($(SMM_REQUIRE) == FALSE)
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||||
|
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
!if $(SMM_REQUIRE) == FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
||||||
|
diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||||
|
index 0931ce061a..9f49b60ff0 100644
|
||||||
|
--- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||||
|
+++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||||
|
@@ -477,6 +477,7 @@
|
||||||
|
# ($(SMM_REQUIRE) == FALSE)
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||||
|
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
|
||||||
|
diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||||
|
index 69de4dd3f1..fb73f2e089 100644
|
||||||
|
--- a/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||||
|
+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||||
|
@@ -590,7 +590,7 @@
|
||||||
|
# only set when
|
||||||
|
# ($(SMM_REQUIRE) == FALSE)
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||||
|
-
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase64|0
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index 2ca005d768..dddef5ed0e 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -599,6 +599,7 @@
|
||||||
|
# ($(SMM_REQUIRE) == FALSE)
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||||
|
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
!if $(SMM_REQUIRE) == FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index a39070a626..933abb258f 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -611,6 +611,7 @@
|
||||||
|
# ($(SMM_REQUIRE) == FALSE)
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||||
|
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
!if $(SMM_REQUIRE) == FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index 1b90aa8f57..04157ab14b 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -629,6 +629,7 @@
|
||||||
|
# ($(SMM_REQUIRE) == FALSE)
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||||
|
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
!if $(SMM_REQUIRE) == FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
||||||
|
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
|
||||||
|
index df35726ff6..6c786bfc1e 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_PEI_PPI_DESCRIPTOR mPpiBootMode[] = {
|
||||||
|
{
|
||||||
|
EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST,
|
||||||
|
@@ -355,6 +367,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 e036018eab..a2f59e8fc8 100644
|
||||||
|
--- a/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||||
|
+++ b/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||||
|
@@ -103,6 +103,7 @@
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack
|
@ -0,0 +1,201 @@
|
|||||||
|
From 7461128f36076d1a5e45f89f00c8b2a5d92bd745 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Sun, 26 Jul 2015 08:02:50 +0000
|
||||||
|
Subject: [PATCH] ArmVirtPkg: take PcdResizeXterm from the QEMU command line
|
||||||
|
(RH only)
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||||
|
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||||
|
|
||||||
|
- Resolve leading context divergence in "ArmVirtPkg/ArmVirtQemu.dsc",
|
||||||
|
arising from upstream commits:
|
||||||
|
|
||||||
|
- 82662a3b5f56 ("ArmVirtPkg/PlatformPeiLib: discover the TPM base
|
||||||
|
address from the DT", 2020-03-04)
|
||||||
|
|
||||||
|
- ddd34a818315 ("ArmVirtPkg/ArmVirtQemu: enable TPM2 support in the PEI
|
||||||
|
phase", 2020-03-04)
|
||||||
|
|
||||||
|
- cdc3fa54184a ("ArmVirtPkg: control PXEv4 / PXEv6 boot support from the
|
||||||
|
QEMU command line", 2020-04-28)
|
||||||
|
|
||||||
|
- Rework the downstream patch quite a bit, paralleling the upstream work
|
||||||
|
done for <https://bugzilla.tianocore.org/show_bug.cgi?id=2681> in commit
|
||||||
|
range 64ab457d1f21..cdc3fa54184a:
|
||||||
|
|
||||||
|
- Refresh copyright year in TerminalPcdProducerLib.{inf,c}. Also replace
|
||||||
|
open-coded BSDL with "SPDX-License-Identifier: BSD-2-Clause-Patent".
|
||||||
|
|
||||||
|
- Simplify LIBRARY_CLASS: this lib instance is meant to be consumed only
|
||||||
|
via NULL class resolution (basically: as a plugin), so use NULL for
|
||||||
|
LIBRARY_CLASS, not "TerminalPcdProducerLib|DXE_DRIVER".
|
||||||
|
|
||||||
|
- Sort the [Packages] section alphabetically in the INF file.
|
||||||
|
|
||||||
|
- Replace the open-coded GetNamedFwCfgBoolean() function with a call to
|
||||||
|
QemuFwCfgParseBool(), from QemuFwCfgSimpleParserLib.
|
||||||
|
|
||||||
|
- Add the SOMETIMES_PRODUCES usage comment in the [Pcd] section of the
|
||||||
|
INF file.
|
||||||
|
|
||||||
|
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||||
|
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
|
||||||
|
RHEL-8.1/20190308-89910a39dcfd rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
|
||||||
|
RHEL-8.0/20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- reorder the rebase changelog in the commit message so that it reads like
|
||||||
|
a blog: place more recent entries near the top
|
||||||
|
- no changes to the patch body
|
||||||
|
|
||||||
|
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||||
|
|
||||||
|
- Refresh downstream-only commit d4564d39dfdb against context changes in
|
||||||
|
"ArmVirtPkg/ArmVirtQemu.dsc" from upstream commit 7e5f1b673870
|
||||||
|
("ArmVirtPkg/PlatformHasAcpiDtDxe: allow guest level ACPI disable
|
||||||
|
override", 2017-03-29).
|
||||||
|
|
||||||
|
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||||
|
|
||||||
|
- Adapt commit 6b97969096a3 to the fact that upstream has deprecated such
|
||||||
|
setter functions for dynamic PCDs that don't return a status code (such
|
||||||
|
as PcdSetBool()). Employ PcdSetBoolS(), and assert that it succeeds --
|
||||||
|
there's really no circumstance in this case when it could fail.
|
||||||
|
|
||||||
|
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
(cherry picked from commit d4564d39dfdbf74e762af43314005a2c026cb262)
|
||||||
|
(cherry picked from commit c9081ebe3bcd28e5cce4bf58bd8d4fca12f9af7c)
|
||||||
|
(cherry picked from commit 8e92730c8e1cdb642b3b3e680e643ff774a90c65)
|
||||||
|
(cherry picked from commit 9448b6b46267d8d807fac0c648e693171bb34806)
|
||||||
|
(cherry picked from commit 232fcf06f6b3048b7c2ebd6931f23186b3852f04)
|
||||||
|
(cherry picked from commit 8338545260fbb423f796d5196faaaf8ff6e1ed99)
|
||||||
|
(cherry picked from commit a5f7a57bf390f1f340ff1d1f1884a73716817ef1)
|
||||||
|
---
|
||||||
|
ArmVirtPkg/ArmVirtQemu.dsc | 7 +++-
|
||||||
|
.../TerminalPcdProducerLib.c | 34 +++++++++++++++++++
|
||||||
|
.../TerminalPcdProducerLib.inf | 33 ++++++++++++++++++
|
||||||
|
3 files changed, 73 insertions(+), 1 deletion(-)
|
||||||
|
create mode 100644 ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
|
||||||
|
create mode 100644 ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
|
||||||
|
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
index 64aa4e96e5..c37c4ba61e 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
@@ -311,6 +311,8 @@
|
||||||
|
gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
|
||||||
|
!endif
|
||||||
|
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
+
|
||||||
|
[PcdsDynamicHii]
|
||||||
|
gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|FALSE|NV,BS
|
||||||
|
|
||||||
|
@@ -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 {
|
||||||
|
+ <LibraryClasses>
|
||||||
|
+ NULL|ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
|
||||||
|
+ }
|
||||||
|
MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
|
||||||
|
|
||||||
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||||
|
diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..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.<BR>
|
||||||
|
+*
|
||||||
|
+* SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
+**/
|
||||||
|
+
|
||||||
|
+#include <Library/DebugLib.h>
|
||||||
|
+#include <Library/PcdLib.h>
|
||||||
|
+#include <Library/QemuFwCfgSimpleParserLib.h>
|
||||||
|
+
|
||||||
|
+#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName) \
|
||||||
|
+ do { \
|
||||||
|
+ BOOLEAN Setting; \
|
||||||
|
+ RETURN_STATUS PcdStatus; \
|
||||||
|
+ \
|
||||||
|
+ if (!RETURN_ERROR (QemuFwCfgParseBool ( \
|
||||||
|
+ "opt/org.tianocore.edk2.aavmf/" #TokenName, &Setting))) { \
|
||||||
|
+ PcdStatus = PcdSetBoolS (TokenName, Setting); \
|
||||||
|
+ ASSERT_RETURN_ERROR (PcdStatus); \
|
||||||
|
+ } \
|
||||||
|
+ } while (0)
|
||||||
|
+
|
||||||
|
+RETURN_STATUS
|
||||||
|
+EFIAPI
|
||||||
|
+TerminalPcdProducerLibConstructor (
|
||||||
|
+ VOID
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
|
||||||
|
+ return RETURN_SUCCESS;
|
||||||
|
+}
|
||||||
|
diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..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.<BR>
|
||||||
|
+#
|
||||||
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
+##
|
||||||
|
+
|
||||||
|
+[Defines]
|
||||||
|
+ INF_VERSION = 0x00010005
|
||||||
|
+ BASE_NAME = TerminalPcdProducerLib
|
||||||
|
+ FILE_GUID = 4a0c5ed7-8c42-4c01-8f4c-7bf258316a96
|
||||||
|
+ MODULE_TYPE = BASE
|
||||||
|
+ VERSION_STRING = 1.0
|
||||||
|
+ LIBRARY_CLASS = NULL
|
||||||
|
+ CONSTRUCTOR = TerminalPcdProducerLibConstructor
|
||||||
|
+
|
||||||
|
+[Sources]
|
||||||
|
+ TerminalPcdProducerLib.c
|
||||||
|
+
|
||||||
|
+[Packages]
|
||||||
|
+ MdeModulePkg/MdeModulePkg.dec
|
||||||
|
+ MdePkg/MdePkg.dec
|
||||||
|
+ OvmfPkg/OvmfPkg.dec
|
||||||
|
+
|
||||||
|
+[LibraryClasses]
|
||||||
|
+ DebugLib
|
||||||
|
+ PcdLib
|
||||||
|
+ QemuFwCfgSimpleParserLib
|
||||||
|
+
|
||||||
|
+[Pcd]
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ## SOMETIMES_PRODUCES
|
@ -0,0 +1,118 @@
|
|||||||
|
From 9f24c54074c15630f78e019e018f791296a768d7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
Date: Tue, 21 Nov 2017 00:57:45 +0100
|
||||||
|
Subject: [PATCH] OvmfPkg: enable DEBUG_VERBOSE (RHEL only)
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
|
||||||
|
introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
|
||||||
|
to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
|
||||||
|
|
||||||
|
- Remove obsolete commit message tags related to downstream patch
|
||||||
|
management: Message-id, Patchwork-id, O-Subject, Acked-by, From
|
||||||
|
(RHBZ#1846481).
|
||||||
|
|
||||||
|
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||||
|
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||||
|
|
||||||
|
- context difference from upstream commit 46bb81200742 ("OvmfPkg: Make
|
||||||
|
SOURCE_DEBUG_ENABLE actually need to be set to TRUE", 2019-10-22)
|
||||||
|
resolved automatically
|
||||||
|
|
||||||
|
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||||
|
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
|
||||||
|
RHEL-8.1/20190308-89910a39dcfd rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
|
||||||
|
RHEL-8.0/20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- reorder the rebase changelog in the commit message so that it reads like
|
||||||
|
a blog: place more recent entries near the top
|
||||||
|
- no changes to the patch body
|
||||||
|
|
||||||
|
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- no changes
|
||||||
|
|
||||||
|
Bugzilla: 1488247
|
||||||
|
|
||||||
|
Set the DEBUG_VERBOSE bit (0x00400000) in the log mask. We want detailed
|
||||||
|
debug messages, and code in OvmfPkg logs many messages on the
|
||||||
|
DEBUG_VERBOSE level.
|
||||||
|
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
(this patch was previously applied as commit 78d3ed73172b5738e32d2b0bc03f7984b9584117)
|
||||||
|
(cherry picked from commit 7aeeaabc9871f657e65d2b99d81011b4964a1ce9)
|
||||||
|
(cherry picked from commit a0617a6be1a80966099ddceb010f89202a79ee76)
|
||||||
|
(cherry picked from commit 759bd3f591e2db699bdef4c7ea4e97c908e7f027)
|
||||||
|
(cherry picked from commit 7e6d5dc4078c64be6d55d8fc3317c59a91507a50)
|
||||||
|
(cherry picked from commit 3cb92f9ba18ac79911bd5258ff4f949cc617ae89)
|
||||||
|
(cherry picked from commit 5ecc18badaabe774d9d0806b027ab63a30c6a2d7)
|
||||||
|
---
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 2 +-
|
||||||
|
4 files changed, 4 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
index 627fded641..cef43b34b7 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
@@ -429,7 +429,7 @@
|
||||||
|
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||||
|
# // significantly impact boot performance
|
||||||
|
# DEBUG_ERROR 0x80000000 // Error
|
||||||
|
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||||
|
|
||||||
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index dddef5ed0e..270bd612e5 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 933abb258f..269a4b2b21 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -542,7 +542,7 @@
|
||||||
|
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||||
|
# // significantly impact boot performance
|
||||||
|
# DEBUG_ERROR 0x80000000 // Error
|
||||||
|
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||||
|
|
||||||
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index 04157ab14b..9614cc1c56 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -561,7 +561,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
|
@ -0,0 +1,171 @@
|
|||||||
|
From 271d90ce05cbdb95c8f839e3bee5d0a0937e12fc Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
Date: Tue, 21 Nov 2017 00:57:46 +0100
|
||||||
|
Subject: [PATCH] OvmfPkg: silence DEBUG_VERBOSE (0x00400000) in
|
||||||
|
QemuVideoDxe/QemuRamfbDxe (RH)
|
||||||
|
|
||||||
|
edk2-stable202402 rebase:
|
||||||
|
|
||||||
|
- context changes due to CSM support removal.
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
|
||||||
|
introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
|
||||||
|
to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
|
||||||
|
|
||||||
|
- Remove obsolete commit message tags related to downstream patch
|
||||||
|
management: Message-id, Patchwork-id, O-Subject, Acked-by, From
|
||||||
|
(RHBZ#1846481).
|
||||||
|
|
||||||
|
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||||
|
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||||
|
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||||
|
|
||||||
|
- Due to upstream commit 4b04d9d73604 ("OvmfPkg: Don't build in
|
||||||
|
QemuVideoDxe when we have CSM", 2019-06-26), the contexts of
|
||||||
|
"QemuVideoDxe.inf" / "QemuRamfbDxe.inf" have changed in the DSC files.
|
||||||
|
Resolve the conflict manually.
|
||||||
|
|
||||||
|
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
|
||||||
|
RHEL-8.1/20190308-89910a39dcfd rebase:
|
||||||
|
|
||||||
|
- Upstream commit 1d25ff51af5c ("OvmfPkg: add QemuRamfbDxe", 2018-06-14)
|
||||||
|
introduced another GOP driver that consumes FrameBufferBltLib, and
|
||||||
|
thereby produces a large number of (mostly useless) debug messages at
|
||||||
|
the DEBUG_VERBOSE level. Extend the patch to suppress those messages in
|
||||||
|
both QemuVideoDxe and QemuRamfbDxe; update the subject accordingly.
|
||||||
|
QemuRamfbDxe itself doesn't log anything at the VERBOSE level (see also
|
||||||
|
the original commit message at the bottom of this downstream patch).
|
||||||
|
|
||||||
|
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
|
||||||
|
RHEL-8.0/20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- reorder the rebase changelog in the commit message so that it reads like
|
||||||
|
a blog: place more recent entries near the top
|
||||||
|
- no changes to the patch body
|
||||||
|
|
||||||
|
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- no changes
|
||||||
|
|
||||||
|
Bugzilla: 1488247
|
||||||
|
|
||||||
|
In commit 5b2291f9567a ("OvmfPkg: QemuVideoDxe uses
|
||||||
|
MdeModulePkg/FrameBufferLib"), QemuVideoDxe was rebased to
|
||||||
|
FrameBufferBltLib.
|
||||||
|
|
||||||
|
The FrameBufferBltLib instance added in commit b1ca386074bd
|
||||||
|
("MdeModulePkg: Add FrameBufferBltLib library instance") logs many
|
||||||
|
messages on the VERBOSE level; for example, a normal boot with OVMF can
|
||||||
|
produce 500+ "VideoFill" messages, dependent on the progress bar, when the
|
||||||
|
VERBOSE bit is set in PcdDebugPrintErrorLevel.
|
||||||
|
|
||||||
|
QemuVideoDxe itself doesn't log anything at the VERBOSE level, so we lose
|
||||||
|
none of its messages this way.
|
||||||
|
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
(this patch was previously applied as commit 9b0d031dee7e823f6717bab73e422fbc6f0a6c52)
|
||||||
|
(cherry picked from commit 9122d5f2e8d8d289064d1e1700cb61964d9931f3)
|
||||||
|
(cherry picked from commit 7eb3be1d4ccafc26c11fe5afb95cc12b250ce6f0)
|
||||||
|
(cherry picked from commit bd650684712fb840dbcda5d6eaee065bd9e91fa1)
|
||||||
|
(cherry picked from commit b06b87f8ffd4fed4ef7eacb13689a9b6d111f850)
|
||||||
|
(cherry picked from commit c8c3f893e7c3710afe45c46839e97954871536e4)
|
||||||
|
(cherry picked from commit 1355849ad97c1e4a5c430597a377165a5cc118f7)
|
||||||
|
---
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 10 ++++++++--
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 10 ++++++++--
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 10 ++++++++--
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 10 ++++++++--
|
||||||
|
4 files changed, 32 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
index cef43b34b7..f53380aca2 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
@@ -691,8 +691,14 @@
|
||||||
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||||
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||||
|
|
||||||
|
- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||||
|
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index 270bd612e5..d942c7354a 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -828,8 +828,14 @@
|
||||||
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||||
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||||
|
|
||||||
|
- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||||
|
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
OvmfPkg/VirtHstiDxe/VirtHstiDxe.inf
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index 269a4b2b21..d915b847cb 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -842,8 +842,14 @@
|
||||||
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||||
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||||
|
|
||||||
|
- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||||
|
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
OvmfPkg/VirtHstiDxe/VirtHstiDxe.inf
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index 9614cc1c56..12ee5510bd 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -910,8 +910,14 @@
|
||||||
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||||
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||||
|
|
||||||
|
- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||||
|
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
OvmfPkg/VirtHstiDxe/VirtHstiDxe.inf
|
||||||
|
|
@ -0,0 +1,94 @@
|
|||||||
|
From f3810904a75876f09592863281fe4e8464851f18 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Wed, 27 Jan 2016 03:05:18 +0100
|
||||||
|
Subject: [PATCH] ArmVirtPkg: silence DEBUG_VERBOSE (0x00400000) in
|
||||||
|
QemuRamfbDxe (RH only)
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||||
|
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||||
|
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||||
|
|
||||||
|
- The previous version of this patch (downstream commit 76b4ac28e975)
|
||||||
|
caused a regression (RHBZ#1714446), which was fixed up in downstream
|
||||||
|
commit 5a216abaa737 ("ArmVirtPkg: silence DEBUG_VERBOSE masking
|
||||||
|
~0x00400000 in QemuRamfbDxe (RH only)", 2019-08-05).
|
||||||
|
|
||||||
|
Squash the fixup into the original patch. Fuse the commit messages.
|
||||||
|
(Acked-by tags are not preserved, lest we confuse ourselves while
|
||||||
|
reviewing this rebase.)
|
||||||
|
|
||||||
|
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
|
||||||
|
RHEL-8.1/20190308-89910a39dcfd rebase:
|
||||||
|
|
||||||
|
- new patch, due to upstream commit c64688f36a8b ("ArmVirtPkg: add
|
||||||
|
QemuRamfbDxe", 2018-06-14)
|
||||||
|
|
||||||
|
QemuRamfbDxe uses FrameBufferLib. The FrameBufferBltLib instance added in
|
||||||
|
commit b1ca386074bd ("MdeModulePkg: Add FrameBufferBltLib library
|
||||||
|
instance") logs many messages on the VERBOSE level; for example, a normal
|
||||||
|
boot with ArmVirtQemu[Kernel] can produce 500+ "VideoFill" messages,
|
||||||
|
dependent on the progress bar, when the VERBOSE bit is set in
|
||||||
|
PcdDebugPrintErrorLevel.
|
||||||
|
|
||||||
|
Clear the VERBOSE bit without touching other bits -- those other bits
|
||||||
|
differ between the "silent" and "verbose" builds, so we can't set them as
|
||||||
|
constants.
|
||||||
|
|
||||||
|
QemuRamfbDxe itself doesn't log anything at the VERBOSE level, so we lose
|
||||||
|
none of its messages, with the VERBOSE bit clear.
|
||||||
|
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
(cherry picked from commit 76b4ac28e975bd63c25db903a1d42c47b38cc756)
|
||||||
|
Reported-by: Andrew Jones <drjones@redhat.com>
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com>
|
||||||
|
(cherry picked from commit 5a216abaa737195327235e37563b18a6bf2a74dc)
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
(cherry picked from commit e5b8152bced2364a1ded0926dbba4d65e23e3f84)
|
||||||
|
(cherry picked from commit e7f57f154439c1c18ea5030b01f8d7bc492698b2)
|
||||||
|
---
|
||||||
|
ArmVirtPkg/ArmVirtQemu.dsc | 5 ++++-
|
||||||
|
ArmVirtPkg/ArmVirtQemuKernel.dsc | 5 ++++-
|
||||||
|
2 files changed, 8 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
index c37c4ba61e..00e656d0c9 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
@@ -546,7 +546,10 @@
|
||||||
|
#
|
||||||
|
# Video support
|
||||||
|
#
|
||||||
|
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF
|
||||||
|
+ }
|
||||||
|
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
OvmfPkg/PlatformDxe/Platform.inf
|
||||||
|
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||||
|
index 2cf96accbd..c7918c8cf3 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||||
|
@@ -450,7 +450,10 @@
|
||||||
|
#
|
||||||
|
# Video support
|
||||||
|
#
|
||||||
|
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF
|
||||||
|
+ }
|
||||||
|
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
OvmfPkg/PlatformDxe/Platform.inf
|
||||||
|
|
@ -0,0 +1,92 @@
|
|||||||
|
From 3fba0b8213fc5be8a164b3908d54af511fa21a10 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Philippe Mathieu-Daude <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Aug 2019 20:43:48 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: QemuRamfbDxe: Do not report DXE failure on Aarch64
|
||||||
|
silent builds (RH only)
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||||
|
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||||
|
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||||
|
|
||||||
|
- We have to carry this downstream-only patch -- committed originally as
|
||||||
|
aaaedc1e2cfd -- indefinitely.
|
||||||
|
|
||||||
|
- To avoid confusion, remove the tags from the commit message that had
|
||||||
|
been added by the downstream maintainer scripts, such as: Message-id,
|
||||||
|
Patchwork-id, O-Subject, Acked-by. These remain available on the
|
||||||
|
original downstream commit. The Bugzilla line is preserved, as it
|
||||||
|
doesn't relate to a specific posting, but to the problem.
|
||||||
|
|
||||||
|
Bugzilla: 1714446
|
||||||
|
|
||||||
|
To suppress an error message on the silent build when ramfb is
|
||||||
|
not configured, change QemuRamfbDxe to return EFI_SUCCESS even
|
||||||
|
when it fails.
|
||||||
|
Some memory is wasted (driver stays resident without
|
||||||
|
any good use), but it is mostly harmless, as the memory
|
||||||
|
is released by the OS after ExitBootServices().
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daude <philmd@redhat.com>
|
||||||
|
(cherry picked from commit aaaedc1e2cfd55ef003fb1b5a37c73a196b26dc7)
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
(cherry picked from commit aa2b66b18a62d652bdbefae7b5732297294306ca)
|
||||||
|
(cherry picked from commit deb3451034326b75fd760aba47a5171493ff055e)
|
||||||
|
---
|
||||||
|
OvmfPkg/QemuRamfbDxe/QemuRamfb.c | 14 ++++++++++++++
|
||||||
|
OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf | 1 +
|
||||||
|
2 files changed, 15 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/QemuRamfbDxe/QemuRamfb.c b/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
|
||||||
|
index 5a1044f0dc..83c6d26c74 100644
|
||||||
|
--- a/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
|
||||||
|
+++ b/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
|
||||||
|
@@ -13,6 +13,7 @@
|
||||||
|
#include <Library/BaseLib.h>
|
||||||
|
#include <Library/BaseMemoryLib.h>
|
||||||
|
#include <Library/DebugLib.h>
|
||||||
|
+#include <Library/DebugPrintErrorLevelLib.h>
|
||||||
|
#include <Library/DevicePathLib.h>
|
||||||
|
#include <Library/FrameBufferBltLib.h>
|
||||||
|
#include <Library/MemoryAllocationLib.h>
|
||||||
|
@@ -259,6 +260,19 @@ InitializeQemuRamfb (
|
||||||
|
|
||||||
|
Status = QemuFwCfgFindFile ("etc/ramfb", &mRamfbFwCfgItem, &FwCfgSize);
|
||||||
|
if (EFI_ERROR (Status)) {
|
||||||
|
+#if defined (MDE_CPU_AARCH64)
|
||||||
|
+ //
|
||||||
|
+ // RHBZ#1714446
|
||||||
|
+ // If no ramfb device was configured, this platform DXE driver should
|
||||||
|
+ // returns EFI_NOT_FOUND, so the DXE Core can unload it. However, even
|
||||||
|
+ // using a silent build, an error message is issued to the guest console.
|
||||||
|
+ // Since this confuse users, return success and stay resident. The wasted
|
||||||
|
+ // guest RAM still gets freed later after ExitBootServices().
|
||||||
|
+ //
|
||||||
|
+ if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
|
||||||
|
+ return EFI_SUCCESS;
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
return EFI_NOT_FOUND;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf b/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
index e3890b8c20..f79a4bc987 100644
|
||||||
|
--- a/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
+++ b/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
@@ -29,6 +29,7 @@
|
||||||
|
BaseLib
|
||||||
|
BaseMemoryLib
|
||||||
|
DebugLib
|
||||||
|
+ DebugPrintErrorLevelLib
|
||||||
|
DevicePathLib
|
||||||
|
FrameBufferBltLib
|
||||||
|
MemoryAllocationLib
|
@ -0,0 +1,128 @@
|
|||||||
|
From 57370ffc06e8d5de6eb5c41e5b33a7891cdcc0e7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
Date: Tue, 21 Nov 2017 00:57:47 +0100
|
||||||
|
Subject: [PATCH] OvmfPkg: silence EFI_D_VERBOSE (0x00400000) in NvmExpressDxe
|
||||||
|
(RH only)
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
|
||||||
|
introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
|
||||||
|
to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
|
||||||
|
|
||||||
|
- Remove obsolete commit message tags related to downstream patch
|
||||||
|
management: Message-id, Patchwork-id, O-Subject, Acked-by, From
|
||||||
|
(RHBZ#1846481).
|
||||||
|
|
||||||
|
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||||
|
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||||
|
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
|
||||||
|
RHEL-8.1/20190308-89910a39dcfd rebase:
|
||||||
|
|
||||||
|
- no change
|
||||||
|
|
||||||
|
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
|
||||||
|
RHEL-8.0/20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- reorder the rebase changelog in the commit message so that it reads like
|
||||||
|
a blog: place more recent entries near the top
|
||||||
|
- no changes to the patch body
|
||||||
|
|
||||||
|
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
|
||||||
|
|
||||||
|
- no changes
|
||||||
|
|
||||||
|
Bugzilla: 1488247
|
||||||
|
|
||||||
|
NvmExpressDxe logs all BlockIo read & write calls on the EFI_D_VERBOSE
|
||||||
|
level.
|
||||||
|
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
(this patch was previously applied as commit 5f432837b9c60c2929b13dda1a1b488d5c3a6d2f)
|
||||||
|
(cherry picked from commit 33e00146eb878588ad1395d7b1ae38f401729da4)
|
||||||
|
(cherry picked from commit bd10cabcfcb1bc9a32b05062f4ee3792e27bc2d8)
|
||||||
|
(cherry picked from commit 5a27af700f49e00608f232f618dedd7bf5e9b3e6)
|
||||||
|
(cherry picked from commit 58bba429b9ec7b78109940ef945d0dc93f3cd958)
|
||||||
|
(cherry picked from commit b8d0ebded8c2cf5b266c807519e2d8ccfd66fee6)
|
||||||
|
(cherry picked from commit ed89844b47f46cfe911f1bf2bda40e537a908502)
|
||||||
|
---
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 5 ++++-
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 5 ++++-
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 5 ++++-
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 5 ++++-
|
||||||
|
4 files changed, 16 insertions(+), 4 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
index f53380aca2..32f47704bc 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
@@ -686,7 +686,10 @@
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||||
|
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||||
|
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||||
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||||
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index d942c7354a..49540d54d0 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -823,7 +823,10 @@
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||||
|
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||||
|
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||||
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||||
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index d915b847cb..1c4e0514ed 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -837,7 +837,10 @@
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||||
|
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||||
|
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||||
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||||
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index 12ee5510bd..e50e63b3f6 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -905,7 +905,10 @@
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||||
|
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||||
|
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||||
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||||
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
@ -0,0 +1,80 @@
|
|||||||
|
From 1025d0336c038ed12354830fccef84771f611656 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Wed, 24 Jun 2020 11:31:36 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg/QemuKernelLoaderFsDxe: suppress error on no "-kernel"
|
||||||
|
in silent aa64 build (RH)
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- Remove obsolete commit message tags related to downstream patch
|
||||||
|
management: Message-id, Patchwork-id, O-Subject, Acked-by, From,
|
||||||
|
RH-Acked-by, RH-Author (RHBZ#1846481).
|
||||||
|
|
||||||
|
Bugzilla: 1844682
|
||||||
|
|
||||||
|
If the "-kernel" QEMU option is not used, then QemuKernelLoaderFsDxe
|
||||||
|
should return EFI_NOT_FOUND, so that the DXE Core can unload it. However,
|
||||||
|
the associated error message, logged by the DXE Core to the serial
|
||||||
|
console, is not desired in the silent edk2-aarch64 build, given that the
|
||||||
|
absence of "-kernel" is nothing out of the ordinary. Therefore, return
|
||||||
|
success and stay resident. The wasted guest RAM still gets freed after
|
||||||
|
ExitBootServices().
|
||||||
|
|
||||||
|
(Inspired by RHEL-8.1.0 commit aaaedc1e2cfd.)
|
||||||
|
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
(cherry picked from commit 9adcdf493ebbd11efb74e2905ab5f6c8996e096d)
|
||||||
|
---
|
||||||
|
.../QemuKernelLoaderFsDxe.c | 17 +++++++++++++++++
|
||||||
|
.../QemuKernelLoaderFsDxe.inf | 1 +
|
||||||
|
2 files changed, 18 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
|
||||||
|
index 3c12085f6c..e192809198 100644
|
||||||
|
--- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
|
||||||
|
+++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
|
||||||
|
@@ -19,6 +19,7 @@
|
||||||
|
#include <Library/BaseMemoryLib.h>
|
||||||
|
#include <Library/BlobVerifierLib.h>
|
||||||
|
#include <Library/DebugLib.h>
|
||||||
|
+#include <Library/DebugPrintErrorLevelLib.h>
|
||||||
|
#include <Library/DevicePathLib.h>
|
||||||
|
#include <Library/MemoryAllocationLib.h>
|
||||||
|
#include <Library/QemuFwCfgLib.h>
|
||||||
|
@@ -1081,6 +1082,22 @@ QemuKernelLoaderFsDxeEntrypoint (
|
||||||
|
|
||||||
|
if (KernelBlob->Data == NULL) {
|
||||||
|
Status = EFI_NOT_FOUND;
|
||||||
|
+#if defined (MDE_CPU_AARCH64)
|
||||||
|
+ //
|
||||||
|
+ // RHBZ#1844682
|
||||||
|
+ //
|
||||||
|
+ // If the "-kernel" QEMU option is not being used, this platform DXE driver
|
||||||
|
+ // should return EFI_NOT_FOUND, so that the DXE Core can unload it.
|
||||||
|
+ // However, the associated error message, logged by the DXE Core to the
|
||||||
|
+ // serial console, is not desired in the silent edk2-aarch64 build, given
|
||||||
|
+ // that the absence of "-kernel" is nothing out of the ordinary. Therefore,
|
||||||
|
+ // return success and stay resident. The wasted guest RAM still gets freed
|
||||||
|
+ // after ExitBootServices().
|
||||||
|
+ //
|
||||||
|
+ if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
|
||||||
|
+ Status = EFI_SUCCESS;
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
goto FreeBlobs;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
|
||||||
|
index 7b35adb8e0..23d9f5fca1 100644
|
||||||
|
--- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
|
||||||
|
+++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
|
||||||
|
@@ -28,6 +28,7 @@
|
||||||
|
BaseLib
|
||||||
|
BaseMemoryLib
|
||||||
|
DebugLib
|
||||||
|
+ DebugPrintErrorLevelLib
|
||||||
|
DevicePathLib
|
||||||
|
MemoryAllocationLib
|
||||||
|
QemuFwCfgLib
|
@ -0,0 +1,79 @@
|
|||||||
|
From 49bcb15e8b15f3a02427787981a09f09d17528f7 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Wed, 24 Jun 2020 11:40:09 +0200
|
||||||
|
Subject: [PATCH] SecurityPkg/Tcg2Dxe: suppress error on no swtpm in silent
|
||||||
|
aa64 build (RH)
|
||||||
|
|
||||||
|
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||||
|
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||||
|
|
||||||
|
- Remove obsolete commit message tags related to downstream patch
|
||||||
|
management: Message-id, Patchwork-id, O-Subject, Acked-by, From,
|
||||||
|
RH-Acked-by, RH-Author (RHBZ#1846481).
|
||||||
|
|
||||||
|
Bugzilla: 1844682
|
||||||
|
|
||||||
|
If swtpm / vTPM2 is not being used, Tcg2Dxe should return EFI_UNSUPPORTED,
|
||||||
|
so that the DXE Core can unload it. However, the associated error message,
|
||||||
|
logged by the DXE Core to the serial console, is not desired in the silent
|
||||||
|
edk2-aarch64 build, given that the absence of swtpm / vTPM2 is nothing out
|
||||||
|
of the ordinary. Therefore, return success and stay resident. The wasted
|
||||||
|
guest RAM still gets freed after ExitBootServices().
|
||||||
|
|
||||||
|
(Inspired by RHEL-8.1.0 commit aaaedc1e2cfd.)
|
||||||
|
|
||||||
|
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
(cherry picked from commit cbce29f7749477e271f9764fed82de94724af5df)
|
||||||
|
---
|
||||||
|
SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c | 17 +++++++++++++++++
|
||||||
|
SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf | 1 +
|
||||||
|
2 files changed, 18 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
|
||||||
|
index b55b6c12d2..0be885c391 100644
|
||||||
|
--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
|
||||||
|
+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
|
||||||
|
@@ -29,6 +29,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
#include <Protocol/ResetNotification.h>
|
||||||
|
|
||||||
|
#include <Library/DebugLib.h>
|
||||||
|
+#include <Library/DebugPrintErrorLevelLib.h>
|
||||||
|
#include <Library/BaseMemoryLib.h>
|
||||||
|
#include <Library/UefiRuntimeServicesTableLib.h>
|
||||||
|
#include <Library/UefiDriverEntryPoint.h>
|
||||||
|
@@ -2743,6 +2744,22 @@ DriverEntry (
|
||||||
|
CompareGuid (PcdGetPtr (PcdTpmInstanceGuid), &gEfiTpmDeviceInstanceTpm12Guid))
|
||||||
|
{
|
||||||
|
DEBUG ((DEBUG_INFO, "No TPM2 instance required!\n"));
|
||||||
|
+#if defined (MDE_CPU_AARCH64)
|
||||||
|
+ //
|
||||||
|
+ // RHBZ#1844682
|
||||||
|
+ //
|
||||||
|
+ // If swtpm / vTPM2 is not being used, this driver should return
|
||||||
|
+ // EFI_UNSUPPORTED, so that the DXE Core can unload it. However, the
|
||||||
|
+ // associated error message, logged by the DXE Core to the serial console,
|
||||||
|
+ // is not desired in the silent edk2-aarch64 build, given that the absence
|
||||||
|
+ // of swtpm / vTPM2 is nothing out of the ordinary. Therefore, return
|
||||||
|
+ // success and stay resident. The wasted guest RAM still gets freed after
|
||||||
|
+ // ExitBootServices().
|
||||||
|
+ //
|
||||||
|
+ if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
|
||||||
|
+ return EFI_SUCCESS;
|
||||||
|
+ }
|
||||||
|
+#endif
|
||||||
|
return EFI_UNSUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
|
||||||
|
index a645474bf3..dbb7a52f33 100644
|
||||||
|
--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
|
||||||
|
+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
|
||||||
|
@@ -55,6 +55,7 @@
|
||||||
|
UefiRuntimeServicesTableLib
|
||||||
|
BaseMemoryLib
|
||||||
|
DebugLib
|
||||||
|
+ DebugPrintErrorLevelLib
|
||||||
|
Tpm2CommandLib
|
||||||
|
PrintLib
|
||||||
|
UefiLib
|
@ -0,0 +1,126 @@
|
|||||||
|
From b42de989e72259b0acd839b1fb6670ad9ff97aed Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:28:49 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: Remove EbcDxe (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [2/19] 6777c3dc453e4aecddc20216f783ba2a5acccaa0
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove EFI Byte Code interpreter.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgX64.fdf | 1 -
|
||||||
|
8 files changed, 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
index 32f47704bc..6b6e108d11 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
@@ -611,7 +611,6 @@
|
||||||
|
!include OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc
|
||||||
|
}
|
||||||
|
|
||||||
|
- MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
|
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||||
|
UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||||
|
OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
index 595945181c..c176043482 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
@@ -212,7 +212,6 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
|
||||||
|
|
||||||
|
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
||||||
|
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
||||||
|
-INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
|
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||||
|
INF UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||||
|
INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index 49540d54d0..d368aa11fe 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -746,7 +746,6 @@
|
||||||
|
!include OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc
|
||||||
|
}
|
||||||
|
|
||||||
|
- MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
|
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||||
|
UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||||
|
OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
index 0d4abb50a8..ef933def99 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
@@ -216,7 +216,6 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
|
||||||
|
|
||||||
|
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
||||||
|
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
||||||
|
-INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
|
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||||
|
INF UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||||
|
INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index 1c4e0514ed..cf09bdf785 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -760,7 +760,6 @@
|
||||||
|
!include OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc
|
||||||
|
}
|
||||||
|
|
||||||
|
- MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
|
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||||
|
UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||||
|
OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
index 23a825a012..0cd98ada5a 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
@@ -217,7 +217,6 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
|
||||||
|
|
||||||
|
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
||||||
|
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
||||||
|
-INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
|
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||||
|
INF UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||||
|
INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index e50e63b3f6..098d569381 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -805,7 +805,6 @@
|
||||||
|
!include OvmfPkg/Include/Dsc/OvmfTpmSecurityStub.dsc.inc
|
||||||
|
}
|
||||||
|
|
||||||
|
- MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
|
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||||
|
|
||||||
|
UefiCpuPkg/CpuDxe/CpuDxe.inf {
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
index 4dcd6a033c..b201505214 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
@@ -245,7 +245,6 @@ INF MdeModulePkg/Universal/PCD/Dxe/Pcd.inf
|
||||||
|
|
||||||
|
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
||||||
|
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
||||||
|
-INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
|
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||||
|
|
||||||
|
INF UefiCpuPkg/CpuDxe/CpuDxe.inf
|
@ -0,0 +1,126 @@
|
|||||||
|
From a16503fb8e213d321920b195d6fc40015a00cc20 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:28:59 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: Remove VirtioGpu device driver (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [4/19] f0a41317291f2e9e3b5bd3125149c3866f23ab08
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
QemuVideoDxe binds virtio-vga, so VirtioGpu is not needed.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgX64.fdf | 1 -
|
||||||
|
8 files changed, 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
index 6b6e108d11..5461c1290d 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
@@ -701,7 +701,6 @@
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
}
|
||||||
|
- OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# ISA Support
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
index c176043482..10538a0465 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
@@ -300,7 +300,6 @@ INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
||||||
|
INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||||
|
|
||||||
|
INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
-INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
INF OvmfPkg/PlatformDxe/Platform.inf
|
||||||
|
INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf
|
||||||
|
INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index d368aa11fe..40e78014c4 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -838,7 +838,6 @@
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
}
|
||||||
|
- OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
OvmfPkg/VirtHstiDxe/VirtHstiDxe.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
index ef933def99..68d59968ec 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
@@ -317,7 +317,6 @@ INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
||||||
|
|
||||||
|
INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||||
|
INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
-INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
INF OvmfPkg/PlatformDxe/Platform.inf
|
||||||
|
INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf
|
||||||
|
INF OvmfPkg/VirtHstiDxe/VirtHstiDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index cf09bdf785..6ade9aa0ef 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -852,7 +852,6 @@
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
}
|
||||||
|
- OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
OvmfPkg/VirtHstiDxe/VirtHstiDxe.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
index 0cd98ada5a..8891d96422 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
@@ -323,7 +323,6 @@ INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
||||||
|
|
||||||
|
INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||||
|
INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
-INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
INF OvmfPkg/PlatformDxe/Platform.inf
|
||||||
|
INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf
|
||||||
|
INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index 098d569381..8563835ae5 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -920,7 +920,6 @@
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
}
|
||||||
|
- OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
OvmfPkg/VirtHstiDxe/VirtHstiDxe.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
index b201505214..06ac4423da 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
@@ -356,7 +356,6 @@ INF MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
||||||
|
|
||||||
|
INF OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||||
|
INF OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||||
|
-INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
INF OvmfPkg/PlatformDxe/Platform.inf
|
||||||
|
INF OvmfPkg/AmdSevDxe/AmdSevDxe.inf
|
||||||
|
INF OvmfPkg/IoMmuDxe/IoMmuDxe.inf
|
@ -0,0 +1,100 @@
|
|||||||
|
From 1c3ff57eaf5b559a1b390888ab6f5e235bec414d Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:13 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: Remove VirtioFsDxe filesystem driver (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [9/19] b40d8a6b9c38568a74fb922b12bbae9f0e721f95
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the virtio-fs driver.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgX64.fdf | 1 -
|
||||||
|
6 files changed, 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index 40e78014c4..afd2a3c5c0 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -816,7 +816,6 @@
|
||||||
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
- OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
||||||
|
MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
||||||
|
MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
index 68d59968ec..c392b96470 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
@@ -290,7 +290,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
|
||||||
|
|
||||||
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
-INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
||||||
|
|
||||||
|
INF MdeModulePkg/Logo/LogoDxe.inf
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index 6ade9aa0ef..f5a4c57c8e 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -830,7 +830,6 @@
|
||||||
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
- OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
||||||
|
MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
||||||
|
MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
index 8891d96422..6278daeeee 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
@@ -291,7 +291,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
|
||||||
|
|
||||||
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
-INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
||||||
|
|
||||||
|
INF MdeModulePkg/Logo/LogoDxe.inf
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index 8563835ae5..08b73a64c9 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -898,7 +898,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
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
index 06ac4423da..fc4b6dd3a4 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
@@ -322,7 +322,6 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
|
||||||
|
|
||||||
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
-INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
||||||
|
|
||||||
|
INF MdeModulePkg/Logo/LogoDxe.inf
|
||||||
|
|
@ -0,0 +1,61 @@
|
|||||||
|
From d074f2941368b1b91ede467445c4f18904b7c228 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:16 +0200
|
||||||
|
Subject: [PATCH] ArmVirtPkg: Remove VirtioFsDxe filesystem driver (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [10/19] 808ad4385c24fbf34fb0ba359808e6d364e1d030
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the virtio-fs driver.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
ArmVirtPkg/ArmVirtQemu.dsc | 1 -
|
||||||
|
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
|
||||||
|
ArmVirtPkg/ArmVirtQemuKernel.dsc | 1 -
|
||||||
|
3 files changed, 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
index 00e656d0c9..d1deccaadc 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
@@ -464,7 +464,6 @@
|
||||||
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
- OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bds
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
index 38906004d7..7205274bed 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
@@ -85,7 +85,6 @@ READ_LOCK_STATUS = TRUE
|
||||||
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
- INF OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Status Code Routing
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||||
|
index c7918c8cf3..9643fd5427 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||||
|
@@ -368,7 +368,6 @@
|
||||||
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
- OvmfPkg/VirtioFsDxe/VirtioFsDxe.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bds
|
@ -0,0 +1,126 @@
|
|||||||
|
From cb327136ecf44079a7fcc1dd9b68d98e1124becc Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:19 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: Remove UdfDxe filesystem driver (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [11/19] 21614de37221fca27d4eec0f03c5c8bce5911af3
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the UDF driver.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 1 -
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.fdf | 1 -
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 1 -
|
||||||
|
OvmfPkg/OvmfPkgX64.fdf | 1 -
|
||||||
|
8 files changed, 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
index 5461c1290d..cf1ad83e09 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
@@ -679,7 +679,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
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
index 10538a0465..c56c98dc85 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
@@ -280,7 +280,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
|
||||||
|
|
||||||
|
INF OvmfPkg/AmdSev/SecretDxe/SecretDxe.inf
|
||||||
|
INF OvmfPkg/AmdSev/Grub/Grub.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index afd2a3c5c0..d8ae542686 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -815,7 +815,6 @@
|
||||||
|
MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|
||||||
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
- MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
||||||
|
MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
index c392b96470..0ffa3be750 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
@@ -289,7 +289,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
|
||||||
|
|
||||||
|
INF MdeModulePkg/Logo/LogoDxe.inf
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index f5a4c57c8e..52ac2c96fc 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -829,7 +829,6 @@
|
||||||
|
MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|
||||||
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
- MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf
|
||||||
|
MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
index 6278daeeee..c4f3ec0735 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
@@ -290,7 +290,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
|
||||||
|
|
||||||
|
INF MdeModulePkg/Logo/LogoDxe.inf
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index 08b73a64c9..f76d0ef7bc 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -897,7 +897,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
|
||||||
|
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
index fc4b6dd3a4..bedd85ef7a 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
@@ -321,7 +321,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
|
||||||
|
|
||||||
|
INF MdeModulePkg/Logo/LogoDxe.inf
|
||||||
|
|
@ -0,0 +1,61 @@
|
|||||||
|
From 2b7c645f028c66efbaa7f7132e4f2fcec003869b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:22 +0200
|
||||||
|
Subject: [PATCH] ArmVirtPkg: Remove UdfDxe filesystem driver (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [12/19] fcadb6a747b65e4d449d48131c9a2eeed4bd3c9a
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the UDF driver.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
ArmVirtPkg/ArmVirtQemu.dsc | 1 -
|
||||||
|
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
|
||||||
|
ArmVirtPkg/ArmVirtQemuKernel.dsc | 1 -
|
||||||
|
3 files changed, 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
index d1deccaadc..f91bb09fa3 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
@@ -463,7 +463,6 @@
|
||||||
|
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
||||||
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
- MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bds
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
index 7205274bed..24a9dac2fd 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
@@ -84,7 +84,6 @@ READ_LOCK_STATUS = TRUE
|
||||||
|
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
||||||
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
- INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Status Code Routing
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||||
|
index 9643fd5427..c2825aa4c2 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||||
|
@@ -367,7 +367,6 @@
|
||||||
|
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
|
||||||
|
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf
|
||||||
|
FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
- MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bds
|
@ -0,0 +1,55 @@
|
|||||||
|
From 11a0907d91727e05a5b86b5ede4f0e75572a894e Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:25 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: Remove TftpDynamicCommand from shell (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
rebase to edk2-stable202405:
|
||||||
|
|
||||||
|
rewrite due to shell build config being moved to an include file
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [13/19] cf9ef346386ac89fa05b29d429d8d1b27cf0e3b0
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the command to download files in the shell via TFTP.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
OvmfPkg/Include/Dsc/ShellComponents.dsc.inc | 4 ----
|
||||||
|
OvmfPkg/Include/Fdf/ShellDxe.fdf.inc | 1 -
|
||||||
|
2 files changed, 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc b/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
index 4075688e41..3663938054 100644
|
||||||
|
--- a/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
+++ b/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
@@ -6,10 +6,6 @@
|
||||||
|
|
||||||
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
||||||
|
!if $(NETWORK_ENABLE) == TRUE
|
||||||
|
- ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
|
||||||
|
- <PcdsFixedAtBuild>
|
||||||
|
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
- }
|
||||||
|
ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
diff --git a/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc b/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
index 38f69747b0..1637083ff1 100644
|
||||||
|
--- a/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
+++ b/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
@@ -6,7 +6,6 @@
|
||||||
|
|
||||||
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
||||||
|
!if $(NETWORK_ENABLE) == TRUE
|
||||||
|
-INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
||||||
|
INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
|
||||||
|
!endif
|
||||||
|
INF ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf
|
@ -0,0 +1,54 @@
|
|||||||
|
From 886bace5ff4ab40fd94475ffb2668def36149790 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:28 +0200
|
||||||
|
Subject: [PATCH] ArmVirtPkg: Remove TftpDynamicCommand from shell (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [14/19] 12436014941bd4a7c99a26d779ebdcd75f169403
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the command to download files in the shell via TFTP.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
ArmVirtPkg/ArmVirt.dsc.inc | 7 +++----
|
||||||
|
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
|
||||||
|
2 files changed, 3 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
|
||||||
|
index 7044790a1e..ee98673e98 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirt.dsc.inc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
|
||||||
|
@@ -391,10 +391,9 @@
|
||||||
|
#
|
||||||
|
MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|
||||||
|
|
||||||
|
- ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf {
|
||||||
|
- <PcdsFixedAtBuild>
|
||||||
|
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
- }
|
||||||
|
+ #
|
||||||
|
+ # UEFI application (Shell Embedded Boot Loader)
|
||||||
|
+ #
|
||||||
|
ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
index 24a9dac2fd..1341de0a2f 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
@@ -100,7 +100,6 @@ READ_LOCK_STATUS = TRUE
|
||||||
|
INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
|
||||||
|
INF ShellPkg/Application/Shell/Shell.inf
|
||||||
|
- INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
||||||
|
INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
|
||||||
|
INF ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf
|
||||||
|
INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
|
@ -0,0 +1,63 @@
|
|||||||
|
From 54738f50a11c9b607a22100dfd712bed0bc5c019 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:31 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: Remove HttpDynamicCommand from shell (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
rebase to edk2-stable202405:
|
||||||
|
|
||||||
|
rewrite due to shell build config being moved to an include file
|
||||||
|
|
||||||
|
Rebase to edk2-stable202311:
|
||||||
|
|
||||||
|
Minor update, context change due to new variable policy shell command.
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [15/19] 1911cf04f27467ef1175b1976864c1111d93d19e
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the command to download files in the shell via HTTP(S).
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
OvmfPkg/Include/Dsc/ShellComponents.dsc.inc | 6 ------
|
||||||
|
OvmfPkg/Include/Fdf/ShellDxe.fdf.inc | 3 ---
|
||||||
|
2 files changed, 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc b/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
index 3663938054..a568f1ecc5 100644
|
||||||
|
--- a/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
+++ b/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
@@ -5,12 +5,6 @@
|
||||||
|
!if $(BUILD_SHELL) == TRUE
|
||||||
|
|
||||||
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
||||||
|
-!if $(NETWORK_ENABLE) == TRUE
|
||||||
|
- ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
|
||||||
|
- <PcdsFixedAtBuild>
|
||||||
|
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
- }
|
||||||
|
-!endif
|
||||||
|
ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf {
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
diff --git a/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc b/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
index 1637083ff1..c0118a46e2 100644
|
||||||
|
--- a/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
+++ b/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
@@ -5,9 +5,6 @@
|
||||||
|
!if $(BUILD_SHELL) == TRUE && $(SECURE_BOOT_ENABLE) == FALSE
|
||||||
|
|
||||||
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
||||||
|
-!if $(NETWORK_ENABLE) == TRUE
|
||||||
|
-INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
|
||||||
|
-!endif
|
||||||
|
INF ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf
|
||||||
|
INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
|
||||||
|
!endif
|
@ -0,0 +1,55 @@
|
|||||||
|
From 2d3f1c042054454de24c4842e768957c2a875129 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:34 +0200
|
||||||
|
Subject: [PATCH] ArmVirtPkg: Remove HttpDynamicCommand from shell (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Rebase to edk2-stable202311:
|
||||||
|
|
||||||
|
Minor update, context change due to new variable policy shell command.
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [16/19] 07a74f1fdcdbb9a31d25ce9760edcd852e9574c3
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the command to download files in the shell via HTTP(S).
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
ArmVirtPkg/ArmVirt.dsc.inc | 4 ----
|
||||||
|
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
|
||||||
|
2 files changed, 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
|
||||||
|
index ee98673e98..996b4ddfc4 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirt.dsc.inc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
|
||||||
|
@@ -394,10 +394,6 @@
|
||||||
|
#
|
||||||
|
# UEFI application (Shell Embedded Boot Loader)
|
||||||
|
#
|
||||||
|
- ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf {
|
||||||
|
- <PcdsFixedAtBuild>
|
||||||
|
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
- }
|
||||||
|
ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf {
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
index 1341de0a2f..b49bf7ad4e 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
@@ -100,7 +100,6 @@ READ_LOCK_STATUS = TRUE
|
||||||
|
INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
|
||||||
|
INF ShellPkg/Application/Shell/Shell.inf
|
||||||
|
- INF ShellPkg/DynamicCommand/HttpDynamicCommand/HttpDynamicCommand.inf
|
||||||
|
INF ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf
|
||||||
|
INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
|
||||||
|
|
@ -0,0 +1,64 @@
|
|||||||
|
From 8b920381f97c2c32d6bff465a58dd7c901626a34 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:39 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: Remove LinuxInitrdDynamicShellCommand (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
rebase to edk2-stable202405:
|
||||||
|
|
||||||
|
rewrite due to shell build config being moved to an include file
|
||||||
|
|
||||||
|
Rebase to edk2-stable202311:
|
||||||
|
|
||||||
|
Minor update, context change due to new variable policy shell command.
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [17/19] 491fe1301ea29c7cb56c20272e45614d5fcb6f14
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the command to register a file in the shell as the
|
||||||
|
initial ramdisk for a UEFI stubbed kernel, to be booted next.
|
||||||
|
|
||||||
|
Note: as further dynamic shell commands might show up upstream,
|
||||||
|
we intentionally preserve the empty !ifdef'ry context to ease
|
||||||
|
future downstream rebases.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
OvmfPkg/Include/Dsc/ShellComponents.dsc.inc | 4 ----
|
||||||
|
OvmfPkg/Include/Fdf/ShellDxe.fdf.inc | 1 -
|
||||||
|
2 files changed, 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc b/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
index a568f1ecc5..f7e0f5e90e 100644
|
||||||
|
--- a/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
+++ b/OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
@@ -9,10 +9,6 @@
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
}
|
||||||
|
- OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
|
||||||
|
- <PcdsFixedAtBuild>
|
||||||
|
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
- }
|
||||||
|
!endif
|
||||||
|
|
||||||
|
ShellPkg/Application/Shell/Shell.inf {
|
||||||
|
diff --git a/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc b/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
index c0118a46e2..dced75e388 100644
|
||||||
|
--- a/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
+++ b/OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
@@ -6,7 +6,6 @@
|
||||||
|
|
||||||
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
||||||
|
INF ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf
|
||||||
|
-INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
|
||||||
|
!endif
|
||||||
|
|
||||||
|
INF ShellPkg/Application/Shell/Shell.inf
|
@ -0,0 +1,66 @@
|
|||||||
|
From 8b574a1461c50e453bb431a304bb0c63d14c5ab8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Philippe=20Mathieu-Daud=C3=A9?= <philmd@redhat.com>
|
||||||
|
Date: Thu, 1 Jul 2021 20:29:46 +0200
|
||||||
|
Subject: [PATCH] ArmVirtPkg: Remove LinuxInitrdDynamicShellCommand (RHEL only)
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Rebase to edk2-stable202311:
|
||||||
|
|
||||||
|
Minor update, context change due to new variable policy shell command.
|
||||||
|
|
||||||
|
RH-Author: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
RH-MergeRequest: 3: Disable features for RHEL9
|
||||||
|
RH-Commit: [18/19] 8f4e4007108462533e3d2050b84d8830073a7c0d
|
||||||
|
RH-Bugzilla: 1967747
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
|
||||||
|
Remove the command to register a file in the shell as the initial
|
||||||
|
ramdisk for a UEFI stubbed kernel, to be booted next.
|
||||||
|
|
||||||
|
Suggested-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
|
||||||
|
Signed-off-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
---
|
||||||
|
ArmVirtPkg/ArmVirt.dsc.inc | 10 +++-------
|
||||||
|
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 -
|
||||||
|
2 files changed, 3 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirt.dsc.inc b/ArmVirtPkg/ArmVirt.dsc.inc
|
||||||
|
index 996b4ddfc4..2561e10ff5 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirt.dsc.inc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirt.dsc.inc
|
||||||
|
@@ -391,17 +391,13 @@
|
||||||
|
#
|
||||||
|
MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf
|
||||||
|
|
||||||
|
- #
|
||||||
|
- # UEFI application (Shell Embedded Boot Loader)
|
||||||
|
- #
|
||||||
|
+ #
|
||||||
|
+ # UEFI application (Shell Embedded Boot Loader)
|
||||||
|
+ #
|
||||||
|
ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf {
|
||||||
|
<PcdsFixedAtBuild>
|
||||||
|
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
}
|
||||||
|
- OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf {
|
||||||
|
- <PcdsFixedAtBuild>
|
||||||
|
- gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE
|
||||||
|
- }
|
||||||
|
ShellPkg/Application/Shell/Shell.inf {
|
||||||
|
<LibraryClasses>
|
||||||
|
ShellCommandLib|ShellPkg/Library/UefiShellCommandLib/UefiShellCommandLib.inf
|
||||||
|
diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
index b49bf7ad4e..753afd799b 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||||
|
@@ -101,7 +101,6 @@ READ_LOCK_STATUS = TRUE
|
||||||
|
|
||||||
|
INF ShellPkg/Application/Shell/Shell.inf
|
||||||
|
INF ShellPkg/DynamicCommand/VariablePolicyDynamicCommand/VariablePolicyDynamicCommand.inf
|
||||||
|
- INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
|
||||||
|
|
||||||
|
#
|
||||||
|
# Bds
|
@ -0,0 +1,49 @@
|
|||||||
|
From 827b877dfc01336a12539b31753358e7e264b7f3 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Tue, 28 Feb 2023 15:47:00 +0100
|
||||||
|
Subject: [PATCH] UefiCpuPkg/MpInitLib: fix apic mode for cpu hotplug
|
||||||
|
|
||||||
|
RH-Author: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
RH-MergeRequest: 42: UefiCpuPkg/MpInitLib: fix apic mode for cpu hotplug
|
||||||
|
RH-Bugzilla: 2124143
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
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 <kraxel@redhat.com>
|
||||||
|
|
||||||
|
patch_name: edk2-UefiCpuPkg-MpInitLib-fix-apic-mode-for-cpu-hotplug.patch
|
||||||
|
present_in_specfile: true
|
||||||
|
location_in_specfile: 38
|
||||||
|
---
|
||||||
|
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 d724456502..c478878bb0 100644
|
||||||
|
--- a/UefiCpuPkg/Library/MpInitLib/MpLib.c
|
||||||
|
+++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c
|
||||||
|
@@ -534,7 +534,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) {
|
||||||
|
@@ -542,6 +544,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++) {
|
@ -0,0 +1,121 @@
|
|||||||
|
From 24fe28e0ee42ef36f48763e7e4d738fd4c6b3583 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
Date: Wed, 16 Aug 2023 12:09:40 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg/AmdSevDxe: Shim Reboot workaround (RHEL only)
|
||||||
|
|
||||||
|
RH-Author: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
RH-MergeRequest: 46: OvmfPkg/AmdSevDxe: Shim Reboot workaround (RHEL only)
|
||||||
|
RH-Bugzilla: 2218196
|
||||||
|
RH-Acked-by: Gerd Hoffmann <None>
|
||||||
|
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 <osteffen@redhat.com>
|
||||||
|
|
||||||
|
patch_name: edk2-OvmfPkg-AmdSevDxe-Shim-Reboot-workaround-RHEL-only.patch
|
||||||
|
present_in_specfile: true
|
||||||
|
location_in_specfile: 44
|
||||||
|
---
|
||||||
|
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 d497a343d3..0eb88e50ff 100644
|
||||||
|
--- a/OvmfPkg/AmdSevDxe/AmdSevDxe.c
|
||||||
|
+++ b/OvmfPkg/AmdSevDxe/AmdSevDxe.c
|
||||||
|
@@ -19,6 +19,7 @@
|
||||||
|
#include <Library/MemoryAllocationLib.h>
|
||||||
|
#include <Library/UefiBootServicesTableLib.h>
|
||||||
|
#include <Guid/ConfidentialComputingSevSnpBlob.h>
|
||||||
|
+#include <Guid/GlobalVariable.h>
|
||||||
|
#include <Library/PcdLib.h>
|
||||||
|
#include <Pi/PiDxeCis.h>
|
||||||
|
#include <Protocol/SevMemoryAcceptance.h>
|
||||||
|
@@ -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
|
@ -0,0 +1,28 @@
|
|||||||
|
From 95345a66f0c8e7d77ebc1b5cae3e745a2c201751 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Mon, 28 Aug 2023 13:11:02 +0200
|
||||||
|
Subject: [PATCH] CryptoPkg/CrtLib: add stat.h include file.
|
||||||
|
|
||||||
|
Needed by rhel downstream openssl patches.
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
---
|
||||||
|
CryptoPkg/Library/Include/sys/stat.h | 9 +++++++++
|
||||||
|
1 file changed, 9 insertions(+)
|
||||||
|
create mode 100644 CryptoPkg/Library/Include/sys/stat.h
|
||||||
|
|
||||||
|
diff --git a/CryptoPkg/Library/Include/sys/stat.h b/CryptoPkg/Library/Include/sys/stat.h
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..22247bb2db
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/CryptoPkg/Library/Include/sys/stat.h
|
||||||
|
@@ -0,0 +1,9 @@
|
||||||
|
+/** @file
|
||||||
|
+ Include file to support building the third-party cryptographic library.
|
||||||
|
+
|
||||||
|
+Copyright (c) 2010 - 2017, Intel Corporation. All rights reserved.<BR>
|
||||||
|
+SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
+
|
||||||
|
+**/
|
||||||
|
+
|
||||||
|
+#include <CrtLibSupport.h>
|
@ -0,0 +1,139 @@
|
|||||||
|
From 0cac1a197d1e84bcde60aba246c1e16bf5508091 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Mon, 28 Aug 2023 13:27:09 +0200
|
||||||
|
Subject: [PATCH] CryptoPkg/CrtLib: add access/open/read/write/close syscalls
|
||||||
|
|
||||||
|
Needed by rhel downstream openssl patches, they use unix syscalls
|
||||||
|
for file access (instead of fopen + friends like the rest of the
|
||||||
|
code base). No actual file access is needed for edk2, so just
|
||||||
|
add stubs to make linking work.
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
---
|
||||||
|
.../Library/BaseCryptLib/SysCall/CrtWrapper.c | 46 +++++++++++++++++++
|
||||||
|
CryptoPkg/Library/Include/CrtLibSupport.h | 41 +++++++++++++++++
|
||||||
|
2 files changed, 87 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c b/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c
|
||||||
|
index 37cdecc9bd..dfdb635536 100644
|
||||||
|
--- a/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c
|
||||||
|
+++ b/CryptoPkg/Library/BaseCryptLib/SysCall/CrtWrapper.c
|
||||||
|
@@ -550,6 +550,52 @@ fread (
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
+int
|
||||||
|
+access(
|
||||||
|
+ const char*,
|
||||||
|
+ int
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ return -1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+open (
|
||||||
|
+ const char *,
|
||||||
|
+ int
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ return -1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+ssize_t
|
||||||
|
+read (
|
||||||
|
+ int,
|
||||||
|
+ void*,
|
||||||
|
+ size_t
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ return -1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+ssize_t
|
||||||
|
+write (
|
||||||
|
+ int,
|
||||||
|
+ const void*,
|
||||||
|
+ size_t
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ return -1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+close (
|
||||||
|
+ int
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ return -1;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
uid_t
|
||||||
|
getuid (
|
||||||
|
void
|
||||||
|
diff --git a/CryptoPkg/Library/Include/CrtLibSupport.h b/CryptoPkg/Library/Include/CrtLibSupport.h
|
||||||
|
index f36fe08f0c..7d98496af8 100644
|
||||||
|
--- a/CryptoPkg/Library/Include/CrtLibSupport.h
|
||||||
|
+++ b/CryptoPkg/Library/Include/CrtLibSupport.h
|
||||||
|
@@ -78,6 +78,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
//
|
||||||
|
// Definitions for global constants used by CRT library routines
|
||||||
|
//
|
||||||
|
+#define EINTR 4
|
||||||
|
#define EINVAL 22 /* Invalid argument */
|
||||||
|
#define EAFNOSUPPORT 47 /* Address family not supported by protocol family */
|
||||||
|
#define INT_MAX 0x7FFFFFFF /* Maximum (signed) int value */
|
||||||
|
@@ -102,6 +103,15 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
#define NS_INADDRSZ 4 /*%< IPv4 T_A */
|
||||||
|
#define NS_IN6ADDRSZ 16 /*%< IPv6 T_AAAA */
|
||||||
|
|
||||||
|
+#define O_RDONLY 00000000
|
||||||
|
+#define O_WRONLY 00000001
|
||||||
|
+#define O_RDWR 00000002
|
||||||
|
+
|
||||||
|
+#define R_OK 4
|
||||||
|
+#define W_OK 2
|
||||||
|
+#define X_OK 1
|
||||||
|
+#define F_OK 0
|
||||||
|
+
|
||||||
|
//
|
||||||
|
// Basic types mapping
|
||||||
|
//
|
||||||
|
@@ -324,6 +334,37 @@ fprintf (
|
||||||
|
...
|
||||||
|
);
|
||||||
|
|
||||||
|
+int
|
||||||
|
+access(
|
||||||
|
+ const char*,
|
||||||
|
+ int
|
||||||
|
+ );
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+open (
|
||||||
|
+ const char *,
|
||||||
|
+ int
|
||||||
|
+ );
|
||||||
|
+
|
||||||
|
+ssize_t
|
||||||
|
+read (
|
||||||
|
+ int,
|
||||||
|
+ void*,
|
||||||
|
+ size_t
|
||||||
|
+ );
|
||||||
|
+
|
||||||
|
+ssize_t
|
||||||
|
+write (
|
||||||
|
+ int,
|
||||||
|
+ const void*,
|
||||||
|
+ size_t
|
||||||
|
+ );
|
||||||
|
+
|
||||||
|
+int
|
||||||
|
+close (
|
||||||
|
+ int
|
||||||
|
+ );
|
||||||
|
+
|
||||||
|
time_t
|
||||||
|
time (
|
||||||
|
time_t *
|
@ -0,0 +1,194 @@
|
|||||||
|
From 348ea6ca54889a2b4006cc71168a173e8182f12e Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Tue, 30 Jan 2024 14:04:38 +0100
|
||||||
|
Subject: [PATCH] OvmfPkg/Sec: Setup MTRR early in the boot process.
|
||||||
|
|
||||||
|
RH-Author: Gerd Hoffmann <None>
|
||||||
|
RH-MergeRequest: 55: OvmfPkg/Sec: Setup MTRR early in the boot process.
|
||||||
|
RH-Jira: RHEL-21704
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
RH-Commit: [1/4] c4061788d34f409944898b48642d610c259161f3 (kraxel.rh/centos-src-edk2)
|
||||||
|
|
||||||
|
Specifically before running lzma uncompress of the main firmware volume.
|
||||||
|
This is needed to make sure caching is enabled, otherwise the uncompress
|
||||||
|
can be extremely slow.
|
||||||
|
|
||||||
|
Adapt the ASSERTs and MTRR setup in PlatformInitLib to the changes.
|
||||||
|
|
||||||
|
Background: Depending on virtual machine configuration kvm may uses EPT
|
||||||
|
memory types to apply guest MTRR settings. In case MTRRs are disabled
|
||||||
|
kvm will use the uncachable memory type for all mappings. The
|
||||||
|
vmx_get_mt_mask() function in the linux kernel handles this and can be
|
||||||
|
found here:
|
||||||
|
|
||||||
|
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/arch/x86/kvm/vmx/vmx.c?h=v6.7.1#n7580
|
||||||
|
|
||||||
|
In most VM configurations kvm uses MTRR_TYPE_WRBACK unconditionally. In
|
||||||
|
case the VM has a mdev device assigned that is not the case though.
|
||||||
|
|
||||||
|
Before commit e8aa4c6546ad ("UefiCpuPkg/ResetVector: Cache Disable
|
||||||
|
should not be set by default in CR0") kvm also ended up using
|
||||||
|
MTRR_TYPE_WRBACK due to KVM_X86_QUIRK_CD_NW_CLEARED. After that commit
|
||||||
|
kvm evaluates guest mtrr settings, which why setting up MTRRs early is
|
||||||
|
important now.
|
||||||
|
|
||||||
|
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Message-ID: <20240130130441.772484-2-kraxel@redhat.com>
|
||||||
|
|
||||||
|
[ kraxel: Downstream-only for now. Timely upstream merge is unlikely
|
||||||
|
due to chinese holidays and rhel-9.4 deadlines are close.
|
||||||
|
QE regression testing passed. So go with upstream posted
|
||||||
|
series v3 ]
|
||||||
|
|
||||||
|
patch_name: edk2-OvmfPkg-Sec-Setup-MTRR-early-in-the-boot-process.patch
|
||||||
|
present_in_specfile: true
|
||||||
|
location_in_specfile: 49
|
||||||
|
---
|
||||||
|
OvmfPkg/IntelTdx/Sec/SecMain.c | 32 +++++++++++++++++++++
|
||||||
|
OvmfPkg/Library/PlatformInitLib/MemDetect.c | 10 +++----
|
||||||
|
OvmfPkg/Sec/SecMain.c | 32 +++++++++++++++++++++
|
||||||
|
3 files changed, 69 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/IntelTdx/Sec/SecMain.c b/OvmfPkg/IntelTdx/Sec/SecMain.c
|
||||||
|
index 4e750755bf..7094d86159 100644
|
||||||
|
--- a/OvmfPkg/IntelTdx/Sec/SecMain.c
|
||||||
|
+++ b/OvmfPkg/IntelTdx/Sec/SecMain.c
|
||||||
|
@@ -26,6 +26,8 @@
|
||||||
|
#include <Library/TdxHelperLib.h>
|
||||||
|
#include <Library/CcProbeLib.h>
|
||||||
|
#include <Library/PeilessStartupLib.h>
|
||||||
|
+#include <Register/Intel/ArchitecturalMsr.h>
|
||||||
|
+#include <Register/Intel/Cpuid.h>
|
||||||
|
|
||||||
|
#define SEC_IDT_ENTRY_COUNT 34
|
||||||
|
|
||||||
|
@@ -47,6 +49,31 @@ IA32_IDT_GATE_DESCRIPTOR mIdtEntryTemplate = {
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
+//
|
||||||
|
+// Enable MTRR early, set default type to write back.
|
||||||
|
+// Needed to make sure caching is enabled,
|
||||||
|
+// without this lzma decompress can be very slow.
|
||||||
|
+//
|
||||||
|
+STATIC
|
||||||
|
+VOID
|
||||||
|
+SecMtrrSetup (
|
||||||
|
+ VOID
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ CPUID_VERSION_INFO_EDX Edx;
|
||||||
|
+ MSR_IA32_MTRR_DEF_TYPE_REGISTER DefType;
|
||||||
|
+
|
||||||
|
+ AsmCpuid (CPUID_VERSION_INFO, NULL, NULL, NULL, &Edx.Uint32);
|
||||||
|
+ if (!Edx.Bits.MTRR) {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ DefType.Uint64 = AsmReadMsr64 (MSR_IA32_MTRR_DEF_TYPE);
|
||||||
|
+ DefType.Bits.Type = 6; /* write back */
|
||||||
|
+ DefType.Bits.E = 1; /* enable */
|
||||||
|
+ AsmWriteMsr64 (MSR_IA32_MTRR_DEF_TYPE, DefType.Uint64);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
SecCoreStartupWithStack (
|
||||||
|
@@ -203,6 +230,11 @@ SecCoreStartupWithStack (
|
||||||
|
InitializeApicTimer (0, MAX_UINT32, TRUE, 5);
|
||||||
|
DisableApicTimerInterrupt ();
|
||||||
|
|
||||||
|
+ //
|
||||||
|
+ // Initialize MTRR
|
||||||
|
+ //
|
||||||
|
+ SecMtrrSetup ();
|
||||||
|
+
|
||||||
|
PeilessStartup (&SecCoreData);
|
||||||
|
|
||||||
|
ASSERT (FALSE);
|
||||||
|
diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
|
||||||
|
index e64c0ee324..b6ba63ef95 100644
|
||||||
|
--- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c
|
||||||
|
+++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
|
||||||
|
@@ -1164,18 +1164,18 @@ PlatformQemuInitializeRam (
|
||||||
|
MtrrGetAllMtrrs (&MtrrSettings);
|
||||||
|
|
||||||
|
//
|
||||||
|
- // MTRRs disabled, fixed MTRRs disabled, default type is uncached
|
||||||
|
+ // See SecMtrrSetup(), default type should be write back
|
||||||
|
//
|
||||||
|
- ASSERT ((MtrrSettings.MtrrDefType & BIT11) == 0);
|
||||||
|
+ ASSERT ((MtrrSettings.MtrrDefType & BIT11) != 0);
|
||||||
|
ASSERT ((MtrrSettings.MtrrDefType & BIT10) == 0);
|
||||||
|
- ASSERT ((MtrrSettings.MtrrDefType & 0xFF) == 0);
|
||||||
|
+ ASSERT ((MtrrSettings.MtrrDefType & 0xFF) == MTRR_CACHE_WRITE_BACK);
|
||||||
|
|
||||||
|
//
|
||||||
|
// flip default type to writeback
|
||||||
|
//
|
||||||
|
- SetMem (&MtrrSettings.Fixed, sizeof MtrrSettings.Fixed, 0x06);
|
||||||
|
+ SetMem (&MtrrSettings.Fixed, sizeof MtrrSettings.Fixed, MTRR_CACHE_WRITE_BACK);
|
||||||
|
ZeroMem (&MtrrSettings.Variables, sizeof MtrrSettings.Variables);
|
||||||
|
- MtrrSettings.MtrrDefType |= BIT11 | BIT10 | 6;
|
||||||
|
+ MtrrSettings.MtrrDefType |= BIT10;
|
||||||
|
MtrrSetAllMtrrs (&MtrrSettings);
|
||||||
|
|
||||||
|
//
|
||||||
|
diff --git a/OvmfPkg/Sec/SecMain.c b/OvmfPkg/Sec/SecMain.c
|
||||||
|
index 60dfa61842..725b57e2fa 100644
|
||||||
|
--- a/OvmfPkg/Sec/SecMain.c
|
||||||
|
+++ b/OvmfPkg/Sec/SecMain.c
|
||||||
|
@@ -29,6 +29,8 @@
|
||||||
|
#include <Ppi/MpInitLibDep.h>
|
||||||
|
#include <Library/TdxHelperLib.h>
|
||||||
|
#include <Library/CcProbeLib.h>
|
||||||
|
+#include <Register/Intel/ArchitecturalMsr.h>
|
||||||
|
+#include <Register/Intel/Cpuid.h>
|
||||||
|
#include "AmdSev.h"
|
||||||
|
|
||||||
|
#define SEC_IDT_ENTRY_COUNT 34
|
||||||
|
@@ -743,6 +745,31 @@ FindAndReportEntryPoints (
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
+//
|
||||||
|
+// Enable MTRR early, set default type to write back.
|
||||||
|
+// Needed to make sure caching is enabled,
|
||||||
|
+// without this lzma decompress can be very slow.
|
||||||
|
+//
|
||||||
|
+STATIC
|
||||||
|
+VOID
|
||||||
|
+SecMtrrSetup (
|
||||||
|
+ VOID
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ CPUID_VERSION_INFO_EDX Edx;
|
||||||
|
+ MSR_IA32_MTRR_DEF_TYPE_REGISTER DefType;
|
||||||
|
+
|
||||||
|
+ AsmCpuid (CPUID_VERSION_INFO, NULL, NULL, NULL, &Edx.Uint32);
|
||||||
|
+ if (!Edx.Bits.MTRR) {
|
||||||
|
+ return;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ DefType.Uint64 = AsmReadMsr64 (MSR_IA32_MTRR_DEF_TYPE);
|
||||||
|
+ DefType.Bits.Type = 6; /* write back */
|
||||||
|
+ DefType.Bits.E = 1; /* enable */
|
||||||
|
+ AsmWriteMsr64 (MSR_IA32_MTRR_DEF_TYPE, DefType.Uint64);
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
VOID
|
||||||
|
EFIAPI
|
||||||
|
SecCoreStartupWithStack (
|
||||||
|
@@ -942,6 +969,11 @@ SecCoreStartupWithStack (
|
||||||
|
InitializeApicTimer (0, MAX_UINT32, TRUE, 5);
|
||||||
|
DisableApicTimerInterrupt ();
|
||||||
|
|
||||||
|
+ //
|
||||||
|
+ // Initialize MTRR
|
||||||
|
+ //
|
||||||
|
+ SecMtrrSetup ();
|
||||||
|
+
|
||||||
|
//
|
||||||
|
// Initialize Debug Agent to support source level debug in SEC/PEI phases before memory ready.
|
||||||
|
//
|
@ -0,0 +1,41 @@
|
|||||||
|
From d521976e1641c242c86d0495647f200694f6ba44 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Tue, 30 Jan 2024 14:04:39 +0100
|
||||||
|
Subject: [PATCH] MdePkg/ArchitecturalMsr.h: add #defines for MTRR cache types
|
||||||
|
|
||||||
|
RH-Author: Gerd Hoffmann <None>
|
||||||
|
RH-MergeRequest: 55: OvmfPkg/Sec: Setup MTRR early in the boot process.
|
||||||
|
RH-Jira: RHEL-21704
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
RH-Commit: [2/4] a568bc2793d677462a2971aae9566a9bbc64b063 (kraxel.rh/centos-src-edk2)
|
||||||
|
|
||||||
|
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
|
||||||
|
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Message-ID: <20240130130441.772484-3-kraxel@redhat.com>
|
||||||
|
|
||||||
|
patch_name: edk2-MdePkg-ArchitecturalMsr.h-add-defines-for-MTRR-cache.patch
|
||||||
|
present_in_specfile: true
|
||||||
|
location_in_specfile: 50
|
||||||
|
---
|
||||||
|
MdePkg/Include/Register/Intel/ArchitecturalMsr.h | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/MdePkg/Include/Register/Intel/ArchitecturalMsr.h b/MdePkg/Include/Register/Intel/ArchitecturalMsr.h
|
||||||
|
index 756e7c86ec..08ba949cf7 100644
|
||||||
|
--- a/MdePkg/Include/Register/Intel/ArchitecturalMsr.h
|
||||||
|
+++ b/MdePkg/Include/Register/Intel/ArchitecturalMsr.h
|
||||||
|
@@ -2103,6 +2103,13 @@ typedef union {
|
||||||
|
#define MSR_IA32_MTRR_PHYSBASE9 0x00000212
|
||||||
|
/// @}
|
||||||
|
|
||||||
|
+#define MSR_IA32_MTRR_CACHE_UNCACHEABLE 0
|
||||||
|
+#define MSR_IA32_MTRR_CACHE_WRITE_COMBINING 1
|
||||||
|
+#define MSR_IA32_MTRR_CACHE_WRITE_THROUGH 4
|
||||||
|
+#define MSR_IA32_MTRR_CACHE_WRITE_PROTECTED 5
|
||||||
|
+#define MSR_IA32_MTRR_CACHE_WRITE_BACK 6
|
||||||
|
+#define MSR_IA32_MTRR_CACHE_INVALID_TYPE 7
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
MSR information returned for MSR indexes #MSR_IA32_MTRR_PHYSBASE0 to
|
||||||
|
#MSR_IA32_MTRR_PHYSBASE9
|
@ -0,0 +1,70 @@
|
|||||||
|
From 75618356e04278e4346ffc5e147b9f6f101e8173 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Tue, 30 Jan 2024 14:04:40 +0100
|
||||||
|
Subject: [PATCH] UefiCpuPkg/MtrrLib.h: use cache type #defines from
|
||||||
|
ArchitecturalMsr.h
|
||||||
|
|
||||||
|
RH-Author: Gerd Hoffmann <None>
|
||||||
|
RH-MergeRequest: 55: OvmfPkg/Sec: Setup MTRR early in the boot process.
|
||||||
|
RH-Jira: RHEL-21704
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
RH-Commit: [3/4] 8b766c97b247a8665662697534455c19423ff23c (kraxel.rh/centos-src-edk2)
|
||||||
|
|
||||||
|
Reviewed-by: Michael D Kinney <michael.d.kinney@intel.com>
|
||||||
|
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Message-ID: <20240130130441.772484-4-kraxel@redhat.com>
|
||||||
|
|
||||||
|
patch_name: edk2-UefiCpuPkg-MtrrLib.h-use-cache-type-defines-from-Arc.patch
|
||||||
|
present_in_specfile: true
|
||||||
|
location_in_specfile: 51
|
||||||
|
---
|
||||||
|
UefiCpuPkg/Include/Library/MtrrLib.h | 26 ++++++++++++++------------
|
||||||
|
1 file changed, 14 insertions(+), 12 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/UefiCpuPkg/Include/Library/MtrrLib.h b/UefiCpuPkg/Include/Library/MtrrLib.h
|
||||||
|
index 86cc1aab3b..287d249a99 100644
|
||||||
|
--- a/UefiCpuPkg/Include/Library/MtrrLib.h
|
||||||
|
+++ b/UefiCpuPkg/Include/Library/MtrrLib.h
|
||||||
|
@@ -9,6 +9,8 @@
|
||||||
|
#ifndef _MTRR_LIB_H_
|
||||||
|
#define _MTRR_LIB_H_
|
||||||
|
|
||||||
|
+#include <Register/Intel/ArchitecturalMsr.h>
|
||||||
|
+
|
||||||
|
//
|
||||||
|
// According to IA32 SDM, MTRRs number and MSR offset are always consistent
|
||||||
|
// for IA32 processor family
|
||||||
|
@@ -82,20 +84,20 @@ typedef struct _MTRR_SETTINGS_ {
|
||||||
|
// Memory cache types
|
||||||
|
//
|
||||||
|
typedef enum {
|
||||||
|
- CacheUncacheable = 0,
|
||||||
|
- CacheWriteCombining = 1,
|
||||||
|
- CacheWriteThrough = 4,
|
||||||
|
- CacheWriteProtected = 5,
|
||||||
|
- CacheWriteBack = 6,
|
||||||
|
- CacheInvalid = 7
|
||||||
|
+ CacheUncacheable = MSR_IA32_MTRR_CACHE_UNCACHEABLE,
|
||||||
|
+ CacheWriteCombining = MSR_IA32_MTRR_CACHE_WRITE_COMBINING,
|
||||||
|
+ CacheWriteThrough = MSR_IA32_MTRR_CACHE_WRITE_THROUGH,
|
||||||
|
+ CacheWriteProtected = MSR_IA32_MTRR_CACHE_WRITE_PROTECTED,
|
||||||
|
+ CacheWriteBack = MSR_IA32_MTRR_CACHE_WRITE_BACK,
|
||||||
|
+ CacheInvalid = MSR_IA32_MTRR_CACHE_INVALID_TYPE,
|
||||||
|
} MTRR_MEMORY_CACHE_TYPE;
|
||||||
|
|
||||||
|
-#define MTRR_CACHE_UNCACHEABLE 0
|
||||||
|
-#define MTRR_CACHE_WRITE_COMBINING 1
|
||||||
|
-#define MTRR_CACHE_WRITE_THROUGH 4
|
||||||
|
-#define MTRR_CACHE_WRITE_PROTECTED 5
|
||||||
|
-#define MTRR_CACHE_WRITE_BACK 6
|
||||||
|
-#define MTRR_CACHE_INVALID_TYPE 7
|
||||||
|
+#define MTRR_CACHE_UNCACHEABLE MSR_IA32_MTRR_CACHE_UNCACHEABLE
|
||||||
|
+#define MTRR_CACHE_WRITE_COMBINING MSR_IA32_MTRR_CACHE_WRITE_COMBINING
|
||||||
|
+#define MTRR_CACHE_WRITE_THROUGH MSR_IA32_MTRR_CACHE_WRITE_THROUGH
|
||||||
|
+#define MTRR_CACHE_WRITE_PROTECTED MSR_IA32_MTRR_CACHE_WRITE_PROTECTED
|
||||||
|
+#define MTRR_CACHE_WRITE_BACK MSR_IA32_MTRR_CACHE_WRITE_BACK
|
||||||
|
+#define MTRR_CACHE_INVALID_TYPE MSR_IA32_MTRR_CACHE_INVALID_TYPE
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
UINT64 BaseAddress;
|
@ -0,0 +1,49 @@
|
|||||||
|
From 4eea9b4625d7ea5eaf5ae0d541d96bfccacf7810 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Tue, 30 Jan 2024 14:04:41 +0100
|
||||||
|
Subject: [PATCH] OvmfPkg/Sec: use cache type #defines from ArchitecturalMsr.h
|
||||||
|
|
||||||
|
RH-Author: Gerd Hoffmann <None>
|
||||||
|
RH-MergeRequest: 55: OvmfPkg/Sec: Setup MTRR early in the boot process.
|
||||||
|
RH-Jira: RHEL-21704
|
||||||
|
RH-Acked-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
RH-Commit: [4/4] 55f00e3e153ca945ca458e7abc26780a8d83ac85 (kraxel.rh/centos-src-edk2)
|
||||||
|
|
||||||
|
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Message-ID: <20240130130441.772484-5-kraxel@redhat.com>
|
||||||
|
|
||||||
|
patch_name: edk2-OvmfPkg-Sec-use-cache-type-defines-from-Architectura.patch
|
||||||
|
present_in_specfile: true
|
||||||
|
location_in_specfile: 52
|
||||||
|
---
|
||||||
|
OvmfPkg/IntelTdx/Sec/SecMain.c | 2 +-
|
||||||
|
OvmfPkg/Sec/SecMain.c | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/IntelTdx/Sec/SecMain.c b/OvmfPkg/IntelTdx/Sec/SecMain.c
|
||||||
|
index 7094d86159..1a19f26178 100644
|
||||||
|
--- a/OvmfPkg/IntelTdx/Sec/SecMain.c
|
||||||
|
+++ b/OvmfPkg/IntelTdx/Sec/SecMain.c
|
||||||
|
@@ -69,7 +69,7 @@ SecMtrrSetup (
|
||||||
|
}
|
||||||
|
|
||||||
|
DefType.Uint64 = AsmReadMsr64 (MSR_IA32_MTRR_DEF_TYPE);
|
||||||
|
- DefType.Bits.Type = 6; /* write back */
|
||||||
|
+ DefType.Bits.Type = MSR_IA32_MTRR_CACHE_WRITE_BACK;
|
||||||
|
DefType.Bits.E = 1; /* enable */
|
||||||
|
AsmWriteMsr64 (MSR_IA32_MTRR_DEF_TYPE, DefType.Uint64);
|
||||||
|
}
|
||||||
|
diff --git a/OvmfPkg/Sec/SecMain.c b/OvmfPkg/Sec/SecMain.c
|
||||||
|
index 725b57e2fa..26963b924d 100644
|
||||||
|
--- a/OvmfPkg/Sec/SecMain.c
|
||||||
|
+++ b/OvmfPkg/Sec/SecMain.c
|
||||||
|
@@ -765,7 +765,7 @@ SecMtrrSetup (
|
||||||
|
}
|
||||||
|
|
||||||
|
DefType.Uint64 = AsmReadMsr64 (MSR_IA32_MTRR_DEF_TYPE);
|
||||||
|
- DefType.Bits.Type = 6; /* write back */
|
||||||
|
+ DefType.Bits.Type = MSR_IA32_MTRR_CACHE_WRITE_BACK;
|
||||||
|
DefType.Bits.E = 1; /* enable */
|
||||||
|
AsmWriteMsr64 (MSR_IA32_MTRR_DEF_TYPE, DefType.Uint64);
|
||||||
|
}
|
@ -0,0 +1,127 @@
|
|||||||
|
From 0f36c7f078215008ffa3a8e776aacd87793b8392 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Wed, 8 May 2024 13:14:26 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: add morlock support
|
||||||
|
|
||||||
|
Add dsc + fdf include files to add the MorLock drivers to the build.
|
||||||
|
Add the include files to OVMF build configurations.
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
(cherry picked from commit b45aff0dc9cb87f316eb17a11e5d4438175d9cca)
|
||||||
|
---
|
||||||
|
OvmfPkg/Include/Dsc/MorLock.dsc.inc | 10 ++++++++++
|
||||||
|
OvmfPkg/Include/Fdf/MorLock.fdf.inc | 10 ++++++++++
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 1 +
|
||||||
|
OvmfPkg/OvmfPkgIa32.fdf | 1 +
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 1 +
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.fdf | 1 +
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 1 +
|
||||||
|
OvmfPkg/OvmfPkgX64.fdf | 1 +
|
||||||
|
8 files changed, 26 insertions(+)
|
||||||
|
create mode 100644 OvmfPkg/Include/Dsc/MorLock.dsc.inc
|
||||||
|
create mode 100644 OvmfPkg/Include/Fdf/MorLock.fdf.inc
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/Include/Dsc/MorLock.dsc.inc b/OvmfPkg/Include/Dsc/MorLock.dsc.inc
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..a8c5fb24b8
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/OvmfPkg/Include/Dsc/MorLock.dsc.inc
|
||||||
|
@@ -0,0 +1,10 @@
|
||||||
|
+##
|
||||||
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
+#
|
||||||
|
+# MorLock support
|
||||||
|
+##
|
||||||
|
+
|
||||||
|
+ SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
|
||||||
|
+!if $(SMM_REQUIRE) == TRUE
|
||||||
|
+ SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLockSmm.inf
|
||||||
|
+!endif
|
||||||
|
diff --git a/OvmfPkg/Include/Fdf/MorLock.fdf.inc b/OvmfPkg/Include/Fdf/MorLock.fdf.inc
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..20b7d6619a
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/OvmfPkg/Include/Fdf/MorLock.fdf.inc
|
||||||
|
@@ -0,0 +1,10 @@
|
||||||
|
+##
|
||||||
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
+#
|
||||||
|
+# MorLock support
|
||||||
|
+##
|
||||||
|
+
|
||||||
|
+INF SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
|
||||||
|
+!if $(SMM_REQUIRE) == TRUE
|
||||||
|
+INF SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLockSmm.inf
|
||||||
|
+!endif
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index d8ae542686..65a866ae0c 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -887,6 +887,7 @@
|
||||||
|
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
+!include OvmfPkg/Include/Dsc/MorLock.dsc.inc
|
||||||
|
|
||||||
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
|
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
index 0ffa3be750..10eb6fe72b 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
@@ -355,6 +355,7 @@ INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
||||||
|
!include OvmfPkg/Include/Fdf/OvmfTpmDxe.fdf.inc
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
+!include OvmfPkg/Include/Fdf/MorLock.fdf.inc
|
||||||
|
|
||||||
|
!if $(LOAD_X64_ON_IA32_ENABLE) == TRUE
|
||||||
|
INF OvmfPkg/CompatImageLoaderDxe/CompatImageLoaderDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index 52ac2c96fc..679e25501b 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -901,6 +901,7 @@
|
||||||
|
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
+!include OvmfPkg/Include/Dsc/MorLock.dsc.inc
|
||||||
|
|
||||||
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
|
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
index c4f3ec0735..ff06bbfc6f 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
@@ -362,6 +362,7 @@ INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
||||||
|
!include OvmfPkg/Include/Fdf/OvmfTpmDxe.fdf.inc
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
+!include OvmfPkg/Include/Fdf/MorLock.fdf.inc
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index f76d0ef7bc..d294fd4625 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -969,6 +969,7 @@
|
||||||
|
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
+!include OvmfPkg/Include/Dsc/MorLock.dsc.inc
|
||||||
|
|
||||||
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
|
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
index bedd85ef7a..f3b787201f 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
@@ -402,6 +402,7 @@ INF OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.inf
|
||||||
|
!include OvmfPkg/Include/Fdf/OvmfTpmDxe.fdf.inc
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
+!include OvmfPkg/Include/Fdf/MorLock.fdf.inc
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
@ -0,0 +1,192 @@
|
|||||||
|
From 1691865ebaa8730203e8eb6bb052edff14dbaa70 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Pedro Falcato <pedro.falcato@gmail.com>
|
||||||
|
Date: Tue, 22 Nov 2022 22:31:03 +0000
|
||||||
|
Subject: [PATCH] MdePkg/BaseRngLib: Add a smoketest for RDRAND and check CPUID
|
||||||
|
|
||||||
|
RDRAND has notoriously been broken many times over its lifespan.
|
||||||
|
Add a smoketest to RDRAND, in order to better sniff out potential
|
||||||
|
security concerns.
|
||||||
|
|
||||||
|
Also add a proper CPUID test in order to support older CPUs which may
|
||||||
|
not have it; it was previously being tested but then promptly ignored.
|
||||||
|
|
||||||
|
Testing algorithm inspired by linux's arch/x86/kernel/cpu/rdrand.c
|
||||||
|
:x86_init_rdrand() per commit 049f9ae9..
|
||||||
|
|
||||||
|
Many thanks to Jason Donenfeld for relicensing his linux RDRAND detection
|
||||||
|
code to MIT and the public domain.
|
||||||
|
|
||||||
|
>On Tue, Nov 22, 2022 at 2:21 PM Jason A. Donenfeld <Jason@zx2c4.com> wrote:
|
||||||
|
<..>
|
||||||
|
> I (re)wrote that function in Linux. I hereby relicense it as MIT, and
|
||||||
|
> also place it into public domain. Do with it what you will now.
|
||||||
|
>
|
||||||
|
> Jason
|
||||||
|
|
||||||
|
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4163
|
||||||
|
|
||||||
|
Signed-off-by: Pedro Falcato <pedro.falcato@gmail.com>
|
||||||
|
Cc: Michael D Kinney <michael.d.kinney@intel.com>
|
||||||
|
Cc: Liming Gao <gaoliming@byosoft.com.cn>
|
||||||
|
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
|
||||||
|
Cc: Jason A. Donenfeld <Jason@zx2c4.com>
|
||||||
|
(cherry picked from commit c3a8ca7b54a9fd17acdf16c6282a92cc989fa92a)
|
||||||
|
---
|
||||||
|
MdePkg/Library/BaseRngLib/Rand/RdRand.c | 99 +++++++++++++++++++++++--
|
||||||
|
1 file changed, 91 insertions(+), 8 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/MdePkg/Library/BaseRngLib/Rand/RdRand.c b/MdePkg/Library/BaseRngLib/Rand/RdRand.c
|
||||||
|
index 9bd68352f9..06d2a6f12d 100644
|
||||||
|
--- a/MdePkg/Library/BaseRngLib/Rand/RdRand.c
|
||||||
|
+++ b/MdePkg/Library/BaseRngLib/Rand/RdRand.c
|
||||||
|
@@ -3,6 +3,7 @@
|
||||||
|
to provide high-quality random numbers.
|
||||||
|
|
||||||
|
Copyright (c) 2023, Arm Limited. All rights reserved.<BR>
|
||||||
|
+Copyright (c) 2022, Pedro Falcato. All rights reserved.<BR>
|
||||||
|
Copyright (c) 2021, NUVIA Inc. All rights reserved.<BR>
|
||||||
|
Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>
|
||||||
|
|
||||||
|
@@ -24,6 +25,88 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
STATIC BOOLEAN mRdRandSupported;
|
||||||
|
|
||||||
|
+//
|
||||||
|
+// Intel SDM says 10 tries is good enough for reliable RDRAND usage.
|
||||||
|
+//
|
||||||
|
+#define RDRAND_RETRIES 10
|
||||||
|
+
|
||||||
|
+#define RDRAND_TEST_SAMPLES 8
|
||||||
|
+
|
||||||
|
+#define RDRAND_MIN_CHANGE 5
|
||||||
|
+
|
||||||
|
+//
|
||||||
|
+// Add a define for native-word RDRAND, just for the test.
|
||||||
|
+//
|
||||||
|
+#ifdef MDE_CPU_X64
|
||||||
|
+#define ASM_RDRAND AsmRdRand64
|
||||||
|
+#else
|
||||||
|
+#define ASM_RDRAND AsmRdRand32
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+/**
|
||||||
|
+ Tests RDRAND for broken implementations.
|
||||||
|
+
|
||||||
|
+ @retval TRUE RDRAND is reliable (and hopefully safe).
|
||||||
|
+ @retval FALSE RDRAND is unreliable and should be disabled, despite CPUID.
|
||||||
|
+
|
||||||
|
+**/
|
||||||
|
+STATIC
|
||||||
|
+BOOLEAN
|
||||||
|
+TestRdRand (
|
||||||
|
+ VOID
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ //
|
||||||
|
+ // Test for notoriously broken rdrand implementations that always return the same
|
||||||
|
+ // value, like the Zen 3 uarch (all-1s) or other several AMD families on suspend/resume (also all-1s).
|
||||||
|
+ // Note that this should be expanded to extensively test for other sorts of possible errata.
|
||||||
|
+ //
|
||||||
|
+
|
||||||
|
+ //
|
||||||
|
+ // Our algorithm samples rdrand $RDRAND_TEST_SAMPLES times and expects
|
||||||
|
+ // a different result $RDRAND_MIN_CHANGE times for reliable RDRAND usage.
|
||||||
|
+ //
|
||||||
|
+ UINTN Prev;
|
||||||
|
+ UINT8 Idx;
|
||||||
|
+ UINT8 TestIteration;
|
||||||
|
+ UINT32 Changed;
|
||||||
|
+
|
||||||
|
+ Changed = 0;
|
||||||
|
+
|
||||||
|
+ for (TestIteration = 0; TestIteration < RDRAND_TEST_SAMPLES; TestIteration++) {
|
||||||
|
+ UINTN Sample;
|
||||||
|
+ //
|
||||||
|
+ // Note: We use a retry loop for rdrand. Normal users get this in BaseRng.c
|
||||||
|
+ // Any failure to get a random number will assume RDRAND does not work.
|
||||||
|
+ //
|
||||||
|
+ for (Idx = 0; Idx < RDRAND_RETRIES; Idx++) {
|
||||||
|
+ if (ASM_RDRAND (&Sample)) {
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (Idx == RDRAND_RETRIES) {
|
||||||
|
+ DEBUG ((DEBUG_ERROR, "BaseRngLib/x86: CPU BUG: Failed to get an RDRAND random number - disabling\n"));
|
||||||
|
+ return FALSE;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (TestIteration != 0) {
|
||||||
|
+ Changed += Sample != Prev;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ Prev = Sample;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (Changed < RDRAND_MIN_CHANGE) {
|
||||||
|
+ DEBUG ((DEBUG_ERROR, "BaseRngLib/x86: CPU BUG: RDRAND not reliable - disabling\n"));
|
||||||
|
+ return FALSE;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ return TRUE;
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+#undef ASM_RDRAND
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
The constructor function checks whether or not RDRAND instruction is supported
|
||||||
|
by the host hardware.
|
||||||
|
@@ -48,10 +131,13 @@ BaseRngLibConstructor (
|
||||||
|
// CPUID. A value of 1 indicates that processor support RDRAND instruction.
|
||||||
|
//
|
||||||
|
AsmCpuid (1, 0, 0, &RegEcx, 0);
|
||||||
|
- ASSERT ((RegEcx & RDRAND_MASK) == RDRAND_MASK);
|
||||||
|
|
||||||
|
mRdRandSupported = ((RegEcx & RDRAND_MASK) == RDRAND_MASK);
|
||||||
|
|
||||||
|
+ if (mRdRandSupported) {
|
||||||
|
+ mRdRandSupported = TestRdRand ();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -70,6 +156,7 @@ ArchGetRandomNumber16 (
|
||||||
|
OUT UINT16 *Rand
|
||||||
|
)
|
||||||
|
{
|
||||||
|
+ ASSERT (mRdRandSupported);
|
||||||
|
return AsmRdRand16 (Rand);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -88,6 +175,7 @@ ArchGetRandomNumber32 (
|
||||||
|
OUT UINT32 *Rand
|
||||||
|
)
|
||||||
|
{
|
||||||
|
+ ASSERT (mRdRandSupported);
|
||||||
|
return AsmRdRand32 (Rand);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -106,6 +194,7 @@ ArchGetRandomNumber64 (
|
||||||
|
OUT UINT64 *Rand
|
||||||
|
)
|
||||||
|
{
|
||||||
|
+ ASSERT (mRdRandSupported);
|
||||||
|
return AsmRdRand64 (Rand);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -122,13 +211,7 @@ ArchIsRngSupported (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
- /*
|
||||||
|
- Existing software depends on this always returning TRUE, so for
|
||||||
|
- now hard-code it.
|
||||||
|
-
|
||||||
|
- return mRdRandSupported;
|
||||||
|
- */
|
||||||
|
- return TRUE;
|
||||||
|
+ return mRdRandSupported;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
@ -0,0 +1,43 @@
|
|||||||
|
From da8fda9932ab4a64a07d318d30b03baafbf1e0c1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Fri, 31 May 2024 09:49:13 +0200
|
||||||
|
Subject: [PATCH] SecurityPkg/RngDxe: add rng test
|
||||||
|
|
||||||
|
Check whenever RngLib actually returns random numbers, only return
|
||||||
|
a non-zero number of Algorithms if that is the case.
|
||||||
|
|
||||||
|
This has the effect that RndDxe loads and installs EFI_RNG_PROTOCOL
|
||||||
|
only in case it can actually deliver random numbers.
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
(cherry picked from commit a61bc0accb8a76edba4f073fdc7bafc908df045d)
|
||||||
|
---
|
||||||
|
SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c | 8 +++++++-
|
||||||
|
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c b/SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c
|
||||||
|
index 5723ed6957..8b0742bab6 100644
|
||||||
|
--- a/SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c
|
||||||
|
+++ b/SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c
|
||||||
|
@@ -23,6 +23,7 @@
|
||||||
|
|
||||||
|
#include <Library/BaseLib.h>
|
||||||
|
#include <Library/BaseMemoryLib.h>
|
||||||
|
+#include <Library/RngLib.h>
|
||||||
|
|
||||||
|
#include "RngDxeInternals.h"
|
||||||
|
|
||||||
|
@@ -43,7 +44,12 @@ GetAvailableAlgorithms (
|
||||||
|
VOID
|
||||||
|
)
|
||||||
|
{
|
||||||
|
- mAvailableAlgoArrayCount = RNG_ALGORITHM_COUNT;
|
||||||
|
+ UINT64 RngTest;
|
||||||
|
+
|
||||||
|
+ if (GetRandomNumber64 (&RngTest)) {
|
||||||
|
+ mAvailableAlgoArrayCount = RNG_ALGORITHM_COUNT;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,301 @@
|
|||||||
|
From 7703744d07e81a9cd3109dca9184a61f16584d44 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Fri, 24 May 2024 12:51:17 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg: wire up RngDxe
|
||||||
|
|
||||||
|
Add OvmfRng include snippets with the random number generator
|
||||||
|
configuration for OVMF. Include RngDxe, build with BaseRngLib,
|
||||||
|
so the rdrand instruction is used (if available).
|
||||||
|
|
||||||
|
Also move VirtioRng to the include snippets.
|
||||||
|
|
||||||
|
Use the new include snippets for OVMF builds.
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
(cherry picked from commit 712797cf19acd292bf203522a79e40e7e13d268b)
|
||||||
|
---
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.dsc | 2 +-
|
||||||
|
OvmfPkg/AmdSev/AmdSevX64.fdf | 2 +-
|
||||||
|
OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc | 9 +++++++++
|
||||||
|
OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc | 6 ++++++
|
||||||
|
OvmfPkg/IntelTdx/IntelTdxX64.dsc | 2 +-
|
||||||
|
OvmfPkg/IntelTdx/IntelTdxX64.fdf | 2 +-
|
||||||
|
OvmfPkg/Microvm/MicrovmX64.dsc | 2 +-
|
||||||
|
OvmfPkg/Microvm/MicrovmX64.fdf | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgIa32.dsc | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgIa32.fdf | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.dsc | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgIa32X64.fdf | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgX64.dsc | 2 +-
|
||||||
|
OvmfPkg/OvmfPkgX64.fdf | 2 +-
|
||||||
|
14 files changed, 27 insertions(+), 12 deletions(-)
|
||||||
|
create mode 100644 OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc
|
||||||
|
create mode 100644 OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
index cf1ad83e09..4edc2a9069 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
@@ -649,7 +649,6 @@
|
||||||
|
OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
- OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
!endif
|
||||||
|
@@ -740,6 +739,7 @@
|
||||||
|
OvmfPkg/AmdSev/Grub/Grub.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
+!include OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc
|
||||||
|
|
||||||
|
OvmfPkg/PlatformDxe/Platform.inf
|
||||||
|
OvmfPkg/AmdSevDxe/AmdSevDxe.inf {
|
||||||
|
diff --git a/OvmfPkg/AmdSev/AmdSevX64.fdf b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
index c56c98dc85..480837b0fa 100644
|
||||||
|
--- a/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
+++ b/OvmfPkg/AmdSev/AmdSevX64.fdf
|
||||||
|
@@ -227,7 +227,6 @@ INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
||||||
|
INF OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
-INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
INF OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
!endif
|
||||||
|
@@ -318,6 +317,7 @@ INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
||||||
|
!include OvmfPkg/Include/Fdf/OvmfTpmDxe.fdf.inc
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
+!include OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc b/OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..68839a0caa
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc
|
||||||
|
@@ -0,0 +1,9 @@
|
||||||
|
+##
|
||||||
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
+##
|
||||||
|
+
|
||||||
|
+ SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf {
|
||||||
|
+ <LibraryClasses>
|
||||||
|
+ RngLib|MdePkg/Library/BaseRngLib/BaseRngLib.inf
|
||||||
|
+ }
|
||||||
|
+ OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
diff --git a/OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc b/OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..99cb4a32b1
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc
|
||||||
|
@@ -0,0 +1,6 @@
|
||||||
|
+##
|
||||||
|
+# SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
+##
|
||||||
|
+
|
||||||
|
+INF SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf
|
||||||
|
+INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||||
|
index 9f49b60ff0..4b7e1596fc 100644
|
||||||
|
--- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||||
|
+++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||||
|
@@ -636,7 +636,6 @@
|
||||||
|
OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
- OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
!endif
|
||||||
|
@@ -719,6 +718,7 @@
|
||||||
|
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
+!include OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc
|
||||||
|
|
||||||
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
|
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
||||||
|
diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.fdf b/OvmfPkg/IntelTdx/IntelTdxX64.fdf
|
||||||
|
index ce5d542048..88d0f75ae2 100644
|
||||||
|
--- a/OvmfPkg/IntelTdx/IntelTdxX64.fdf
|
||||||
|
+++ b/OvmfPkg/IntelTdx/IntelTdxX64.fdf
|
||||||
|
@@ -285,7 +285,6 @@ READ_LOCK_STATUS = TRUE
|
||||||
|
#
|
||||||
|
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||||
|
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
-INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
INF OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
!endif
|
||||||
|
@@ -326,6 +325,7 @@ INF OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||||
|
INF OvmfPkg/PlatformDxe/Platform.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
+!include OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||||
|
index fb73f2e089..9206f01816 100644
|
||||||
|
--- a/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||||
|
+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||||
|
@@ -760,7 +760,6 @@
|
||||||
|
OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
- OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
|
||||||
|
MdeModulePkg/Universal/MonotonicCounterRuntimeDxe/MonotonicCounterRuntimeDxe.inf
|
||||||
|
@@ -846,6 +845,7 @@
|
||||||
|
MdeModulePkg/Bus/Usb/UsbMassStorageDxe/UsbMassStorageDxe.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
+!include OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc
|
||||||
|
|
||||||
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
|
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
||||||
|
diff --git a/OvmfPkg/Microvm/MicrovmX64.fdf b/OvmfPkg/Microvm/MicrovmX64.fdf
|
||||||
|
index 055e659a35..c8268d7e8c 100644
|
||||||
|
--- a/OvmfPkg/Microvm/MicrovmX64.fdf
|
||||||
|
+++ b/OvmfPkg/Microvm/MicrovmX64.fdf
|
||||||
|
@@ -207,7 +207,6 @@ INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
||||||
|
INF OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
-INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
|
||||||
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
|
@@ -299,6 +298,7 @@ INF MdeModulePkg/Universal/FaultTolerantWriteDxe/FaultTolerantWriteDxe.inf
|
||||||
|
INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
+!include OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
index 65a866ae0c..b64c215585 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -784,7 +784,6 @@
|
||||||
|
OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
- OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
@@ -888,6 +887,7 @@
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
!include OvmfPkg/Include/Dsc/MorLock.dsc.inc
|
||||||
|
+!include OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc
|
||||||
|
|
||||||
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
|
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
index 10eb6fe72b..c31276e4a3 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
@@ -231,7 +231,6 @@ INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
||||||
|
INF OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
-INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
INF OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
@@ -356,6 +355,7 @@ INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
!include OvmfPkg/Include/Fdf/MorLock.fdf.inc
|
||||||
|
+!include OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc
|
||||||
|
|
||||||
|
!if $(LOAD_X64_ON_IA32_ENABLE) == TRUE
|
||||||
|
INF OvmfPkg/CompatImageLoaderDxe/CompatImageLoaderDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index 679e25501b..ececac3757 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -798,7 +798,6 @@
|
||||||
|
OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
- OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
@@ -902,6 +901,7 @@
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
!include OvmfPkg/Include/Dsc/MorLock.dsc.inc
|
||||||
|
+!include OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc
|
||||||
|
|
||||||
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
|
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
index ff06bbfc6f..a7b4aeac08 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
@@ -232,7 +232,6 @@ INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
||||||
|
INF OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
-INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
INF OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
@@ -363,6 +362,7 @@ INF MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
!include OvmfPkg/Include/Fdf/MorLock.fdf.inc
|
||||||
|
+!include OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index d294fd4625..0ab4d3df06 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -866,7 +866,6 @@
|
||||||
|
OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
- OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
@@ -970,6 +969,7 @@
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Dsc/ShellComponents.dsc.inc
|
||||||
|
!include OvmfPkg/Include/Dsc/MorLock.dsc.inc
|
||||||
|
+!include OvmfPkg/Include/Dsc/OvmfRngComponents.dsc.inc
|
||||||
|
|
||||||
|
!if $(SECURE_BOOT_ENABLE) == TRUE
|
||||||
|
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
index f3b787201f..ae08ac4fe9 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
@@ -263,7 +263,6 @@ INF OvmfPkg/VirtioPciDeviceDxe/VirtioPciDeviceDxe.inf
|
||||||
|
INF OvmfPkg/Virtio10Dxe/Virtio10.inf
|
||||||
|
INF OvmfPkg/VirtioBlkDxe/VirtioBlk.inf
|
||||||
|
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||||
|
-INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||||
|
INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||||
|
!if $(PVSCSI_ENABLE) == TRUE
|
||||||
|
INF OvmfPkg/PvScsiDxe/PvScsiDxe.inf
|
||||||
|
@@ -403,6 +402,7 @@ INF OvmfPkg/Tcg/TdTcg2Dxe/TdTcg2Dxe.inf
|
||||||
|
|
||||||
|
!include OvmfPkg/Include/Fdf/ShellDxe.fdf.inc
|
||||||
|
!include OvmfPkg/Include/Fdf/MorLock.fdf.inc
|
||||||
|
+!include OvmfPkg/Include/Fdf/OvmfRngDxe.fdf.inc
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
|
@ -0,0 +1,37 @@
|
|||||||
|
From ef076eab3cad92111c550d0041ac8d1a4e979714 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Fri, 14 Jun 2024 11:45:49 +0200
|
||||||
|
Subject: [PATCH] CryptoPkg/Test: call ProcessLibraryConstructorList
|
||||||
|
|
||||||
|
Needed to properly initialize BaseRngLib.
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
(cherry picked from commit 94961b8817eec6f8d0434555ac50a7aa51c22201)
|
||||||
|
---
|
||||||
|
.../Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c | 7 +++++++
|
||||||
|
1 file changed, 7 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c b/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c
|
||||||
|
index d0c1c7a4f7..48d463b8ad 100644
|
||||||
|
--- a/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c
|
||||||
|
+++ b/CryptoPkg/Test/UnitTest/Library/BaseCryptLib/UnitTestMain.c
|
||||||
|
@@ -8,6 +8,12 @@
|
||||||
|
**/
|
||||||
|
#include "TestBaseCryptLib.h"
|
||||||
|
|
||||||
|
+VOID
|
||||||
|
+EFIAPI
|
||||||
|
+ProcessLibraryConstructorList (
|
||||||
|
+ VOID
|
||||||
|
+ );
|
||||||
|
+
|
||||||
|
/**
|
||||||
|
Initialize the unit test framework, suite, and unit tests for the
|
||||||
|
sample unit tests and run the unit tests.
|
||||||
|
@@ -76,5 +82,6 @@ main (
|
||||||
|
char *argv[]
|
||||||
|
)
|
||||||
|
{
|
||||||
|
+ ProcessLibraryConstructorList ();
|
||||||
|
return UefiTestMain ();
|
||||||
|
}
|
@ -0,0 +1,43 @@
|
|||||||
|
From 46f82fa0cfe716f147b7878b7155983f7f6edb20 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Fri, 14 Jun 2024 11:45:53 +0200
|
||||||
|
Subject: [PATCH] MdePkg/X86UnitTestHost: set rdrand cpuid bit
|
||||||
|
|
||||||
|
Set the rdrand feature bit when faking cpuid for host test cases.
|
||||||
|
Needed to make the CryptoPkg test cases work.
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
(cherry picked from commit 5e776299a2604b336a947e68593012ab2cc16eb4)
|
||||||
|
---
|
||||||
|
MdePkg/Library/BaseLib/X86UnitTestHost.c | 11 ++++++++++-
|
||||||
|
1 file changed, 10 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/MdePkg/Library/BaseLib/X86UnitTestHost.c b/MdePkg/Library/BaseLib/X86UnitTestHost.c
|
||||||
|
index 8ba4f54a38..7f7276f7f4 100644
|
||||||
|
--- a/MdePkg/Library/BaseLib/X86UnitTestHost.c
|
||||||
|
+++ b/MdePkg/Library/BaseLib/X86UnitTestHost.c
|
||||||
|
@@ -66,6 +66,15 @@ UnitTestHostBaseLibAsmCpuid (
|
||||||
|
OUT UINT32 *Edx OPTIONAL
|
||||||
|
)
|
||||||
|
{
|
||||||
|
+ UINT32 RetEcx;
|
||||||
|
+
|
||||||
|
+ RetEcx = 0;
|
||||||
|
+ switch (Index) {
|
||||||
|
+ case 1:
|
||||||
|
+ RetEcx |= BIT30; /* RdRand */
|
||||||
|
+ break;
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
if (Eax != NULL) {
|
||||||
|
*Eax = 0;
|
||||||
|
}
|
||||||
|
@@ -75,7 +84,7 @@ UnitTestHostBaseLibAsmCpuid (
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Ecx != NULL) {
|
||||||
|
- *Ecx = 0;
|
||||||
|
+ *Ecx = RetEcx;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Edx != NULL) {
|
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF with SB+SMM, SB enabled, MS certs enrolled",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"mode": "split",
|
||||||
|
"executable": {
|
||||||
|
"filename": "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd",
|
||||||
|
"format": "raw"
|
||||||
|
},
|
||||||
|
"nvram-template": {
|
||||||
|
"filename": "/usr/share/edk2/ovmf/OVMF_VARS.secboot.fd",
|
||||||
|
"format": "raw"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"architecture": "x86_64",
|
||||||
|
"machines": [
|
||||||
|
"pc-q35-*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"features": [
|
||||||
|
"acpi-s3",
|
||||||
|
"enrolled-keys",
|
||||||
|
"requires-smm",
|
||||||
|
"secure-boot",
|
||||||
|
"verbose-dynamic"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF with SB+SMM, empty varstore",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"mode": "split",
|
||||||
|
"executable": {
|
||||||
|
"filename": "/usr/share/edk2/ovmf/OVMF_CODE.secboot.fd",
|
||||||
|
"format": "raw"
|
||||||
|
},
|
||||||
|
"nvram-template": {
|
||||||
|
"filename": "/usr/share/edk2/ovmf/OVMF_VARS.fd",
|
||||||
|
"format": "raw"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"architecture": "x86_64",
|
||||||
|
"machines": [
|
||||||
|
"pc-q35-*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"features": [
|
||||||
|
"acpi-s3",
|
||||||
|
"requires-smm",
|
||||||
|
"secure-boot",
|
||||||
|
"verbose-dynamic"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
@ -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": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF without SB+SMM, empty varstore",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"mode": "split",
|
||||||
|
"executable": {
|
||||||
|
"filename": "/usr/share/edk2/ovmf/OVMF_CODE.fd",
|
||||||
|
"format": "raw"
|
||||||
|
},
|
||||||
|
"nvram-template": {
|
||||||
|
"filename": "/usr/share/edk2/ovmf/OVMF_VARS.fd",
|
||||||
|
"format": "raw"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"architecture": "x86_64",
|
||||||
|
"machines": [
|
||||||
|
"pc-q35-*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"features": [
|
||||||
|
"acpi-s3",
|
||||||
|
"amd-sev",
|
||||||
|
"amd-sev-es",
|
||||||
|
"verbose-dynamic"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
@ -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.raw",
|
||||||
|
"format": "raw"
|
||||||
|
},
|
||||||
|
"nvram-template": {
|
||||||
|
"filename": "/usr/share/edk2/aarch64/vars-template-pflash.raw",
|
||||||
|
"format": "raw"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"architecture": "aarch64",
|
||||||
|
"machines": [
|
||||||
|
"virt-*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"features": [
|
||||||
|
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
@ -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": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
@ -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.raw",
|
||||||
|
"format": "raw"
|
||||||
|
},
|
||||||
|
"nvram-template": {
|
||||||
|
"filename": "/usr/share/edk2/aarch64/vars-template-pflash.raw",
|
||||||
|
"format": "raw"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"architecture": "aarch64",
|
||||||
|
"machines": [
|
||||||
|
"virt-*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"features": [
|
||||||
|
"verbose-static"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF with SEV-ES support",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"mode": "stateless",
|
||||||
|
"executable": {
|
||||||
|
"filename": "/usr/share/edk2/ovmf/OVMF.amdsev.fd",
|
||||||
|
"format": "raw"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"architecture": "x86_64",
|
||||||
|
"machines": [
|
||||||
|
"pc-q35-*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"features": [
|
||||||
|
"amd-sev",
|
||||||
|
"amd-sev-es",
|
||||||
|
"amd-sev-snp",
|
||||||
|
"verbose-dynamic"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,27 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF with TDX support",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "memory",
|
||||||
|
"filename": "/usr/share/edk2/ovmf/OVMF.inteltdx.secboot.fd"
|
||||||
|
},
|
||||||
|
"targets": [
|
||||||
|
{
|
||||||
|
"architecture": "x86_64",
|
||||||
|
"machines": [
|
||||||
|
"pc-q35-*"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"features": [
|
||||||
|
"enrolled-keys",
|
||||||
|
"intel-tdx",
|
||||||
|
"secure-boot",
|
||||||
|
"verbose-dynamic"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
@ -0,0 +1,63 @@
|
|||||||
|
From ebcdc6db77d338aa1054292d0c4b745bd482d9a2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
Date: Mon, 26 Aug 2024 19:25:52 +0200
|
||||||
|
Subject: [PATCH] AmdSevDxe: Fix the shim fallback reboot workaround for SNP
|
||||||
|
|
||||||
|
RH-Author: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
RH-MergeRequest: 69: AmdSevDxe: Fix the shim fallback reboot workaround for SNP
|
||||||
|
RH-Jira: RHEL-56082
|
||||||
|
RH-Acked-by: Gerd Hoffmann <None>
|
||||||
|
RH-Commit: [1/1] 55ae7744e57ea51e1f35f482dffc2dd2089c5f77 (osteffen/edk2)
|
||||||
|
|
||||||
|
The shim fallback reboot workaround (introduced for SEV-ES) does
|
||||||
|
not always work for SEV-SNP, due to a conditional early return.
|
||||||
|
|
||||||
|
Let's just register the workaround earlier in this function to
|
||||||
|
fix that.
|
||||||
|
|
||||||
|
Signed-off-by: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
---
|
||||||
|
OvmfPkg/AmdSevDxe/AmdSevDxe.c | 21 +++++++++++----------
|
||||||
|
1 file changed, 11 insertions(+), 10 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/AmdSevDxe/AmdSevDxe.c b/OvmfPkg/AmdSevDxe/AmdSevDxe.c
|
||||||
|
index 0eb88e50ff..ca345e95da 100644
|
||||||
|
--- a/OvmfPkg/AmdSevDxe/AmdSevDxe.c
|
||||||
|
+++ b/OvmfPkg/AmdSevDxe/AmdSevDxe.c
|
||||||
|
@@ -243,6 +243,17 @@ AmdSevDxeEntryPoint (
|
||||||
|
return EFI_UNSUPPORTED;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ // Shim fallback reboot workaround
|
||||||
|
+ Status = gBS->CreateEventEx (
|
||||||
|
+ EVT_NOTIFY_SIGNAL,
|
||||||
|
+ TPL_CALLBACK,
|
||||||
|
+ PopulateVarstore,
|
||||||
|
+ SystemTable,
|
||||||
|
+ &gEfiEndOfDxeEventGroupGuid,
|
||||||
|
+ &PopulateVarstoreEvent
|
||||||
|
+ );
|
||||||
|
+ ASSERT_EFI_ERROR (Status);
|
||||||
|
+
|
||||||
|
//
|
||||||
|
// Iterate through the GCD map and clear the C-bit from MMIO and NonExistent
|
||||||
|
// memory space. The NonExistent memory space will be used for mapping the
|
||||||
|
@@ -393,15 +404,5 @@ AmdSevDxeEntryPoint (
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
- Status = gBS->CreateEventEx (
|
||||||
|
- EVT_NOTIFY_SIGNAL,
|
||||||
|
- TPL_CALLBACK,
|
||||||
|
- PopulateVarstore,
|
||||||
|
- SystemTable,
|
||||||
|
- &gEfiEndOfDxeEventGroupGuid,
|
||||||
|
- &PopulateVarstoreEvent
|
||||||
|
- );
|
||||||
|
- ASSERT_EFI_ERROR (Status);
|
||||||
|
-
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -0,0 +1,43 @@
|
|||||||
|
From b1b719573ff7410985fd502b3c30e6592229c3bd Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
Date: Mon, 4 Mar 2024 15:32:58 +0100
|
||||||
|
Subject: [PATCH] MdeModulePkg: Warn if out of flash space when writing
|
||||||
|
variables
|
||||||
|
|
||||||
|
RH-Author: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
RH-MergeRequest: 65: MdeModulePkg: Warn if out of flash space when writing variables
|
||||||
|
RH-Jira: RHEL-45261
|
||||||
|
RH-Acked-by: Gerd Hoffmann <None>
|
||||||
|
RH-Commit: [1/1] b1f6ac49f246cc6a670b9fdd583da3bb9556550d (osteffen/edk2)
|
||||||
|
|
||||||
|
Emit a DEBUG_WARN message if there is not enough flash space left to
|
||||||
|
write/update a variable. This condition is currently not logged
|
||||||
|
appropriately in all cases, given that full variable store can easily
|
||||||
|
render the system unbootable.
|
||||||
|
This new message helps identifying this condition.
|
||||||
|
|
||||||
|
Signed-off-by: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Reviewed-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
(cherry picked from commit 80b59ff8320d1bd134bf689fe9c0ddf4e0473b88)
|
||||||
|
Signed-off-by: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
---
|
||||||
|
MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c | 2 ++
|
||||||
|
1 file changed, 2 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
|
||||||
|
index d394d237a5..1c7659031d 100644
|
||||||
|
--- a/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
|
||||||
|
+++ b/MdeModulePkg/Universal/Variable/RuntimeDxe/Variable.c
|
||||||
|
@@ -2364,6 +2364,8 @@ Done:
|
||||||
|
);
|
||||||
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
}
|
||||||
|
+ } else if (Status == EFI_OUT_OF_RESOURCES) {
|
||||||
|
+ DEBUG ((DEBUG_WARN, "UpdateVariable failed: Out of flash space\n"));
|
||||||
|
}
|
||||||
|
|
||||||
|
return Status;
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -0,0 +1,44 @@
|
|||||||
|
From 054d42879bba986d7b2c2568fe4459959a8fe38b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
Date: Wed, 14 Aug 2024 09:53:49 +0200
|
||||||
|
Subject: [PATCH 2/2] NetworkPkg/DxeNetLib: Reword PseudoRandom error logging
|
||||||
|
|
||||||
|
RH-Author: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
RH-MergeRequest: 66: NetworkPkg/DxeNetLib: adjust PseudoRandom error logging
|
||||||
|
RH-Jira: RHEL-45829
|
||||||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
RH-Commit: [2/2] d1f24c14ccea7346d395c263ed577039f91debfd (osteffen/edk2)
|
||||||
|
|
||||||
|
The word "Failed" is used when logging tired Rng algorithms.
|
||||||
|
These mostly non-critical messages confused some users.
|
||||||
|
|
||||||
|
Reword it and also add a message confirming eventual success to
|
||||||
|
deescalate the importance somewhat.
|
||||||
|
|
||||||
|
Signed-off-by: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
---
|
||||||
|
NetworkPkg/Library/DxeNetLib/DxeNetLib.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/NetworkPkg/Library/DxeNetLib/DxeNetLib.c b/NetworkPkg/Library/DxeNetLib/DxeNetLib.c
|
||||||
|
index 4dfbe91a55..905a944975 100644
|
||||||
|
--- a/NetworkPkg/Library/DxeNetLib/DxeNetLib.c
|
||||||
|
+++ b/NetworkPkg/Library/DxeNetLib/DxeNetLib.c
|
||||||
|
@@ -946,12 +946,13 @@ PseudoRandom (
|
||||||
|
//
|
||||||
|
// Secure Algorithm was supported on this platform
|
||||||
|
//
|
||||||
|
+ DEBUG ((DEBUG_VERBOSE, "Generated random data using secure algorithm %d: %r\n", AlgorithmIndex, Status));
|
||||||
|
return EFI_SUCCESS;
|
||||||
|
} else if (Status == EFI_UNSUPPORTED) {
|
||||||
|
//
|
||||||
|
// Secure Algorithm was not supported on this platform
|
||||||
|
//
|
||||||
|
- DEBUG ((DEBUG_VERBOSE, "Failed to generate random data using secure algorithm %d: %r\n", AlgorithmIndex, Status));
|
||||||
|
+ DEBUG ((DEBUG_VERBOSE, "Unable to generate random data using secure algorithm %d not available: %r\n", AlgorithmIndex, Status));
|
||||||
|
|
||||||
|
//
|
||||||
|
// Try the next secure algorithm
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -0,0 +1,49 @@
|
|||||||
|
From a424c0877b38ffb3c9c2a29cf52efb78c19ea8f2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Wed, 19 Jun 2024 09:07:56 +0200
|
||||||
|
Subject: [PATCH 1/2] NetworkPkg/DxeNetLib: adjust PseudoRandom error logging
|
||||||
|
|
||||||
|
RH-Author: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
RH-MergeRequest: 66: NetworkPkg/DxeNetLib: adjust PseudoRandom error logging
|
||||||
|
RH-Jira: RHEL-45829
|
||||||
|
RH-Acked-by: Miroslav Rezanina <mrezanin@redhat.com>
|
||||||
|
RH-Commit: [1/2] 9cf7cc1e68e01c54ab6fae15e3b5cdef1c0b15bc (osteffen/edk2)
|
||||||
|
|
||||||
|
There is a list of allowed rng algorithms, if /one/ of them is not
|
||||||
|
supported this is not a problem, only /all/ of them failing is an
|
||||||
|
error condition.
|
||||||
|
|
||||||
|
Downgrade the message for a single unsupported algorithm from ERROR to
|
||||||
|
VERBOSE. Add an error message in case we finish the loop without
|
||||||
|
finding a supported algorithm.
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
(cherry picked from commit 6862b9d538d96363635677198899e1669e591259)
|
||||||
|
---
|
||||||
|
NetworkPkg/Library/DxeNetLib/DxeNetLib.c | 3 ++-
|
||||||
|
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/NetworkPkg/Library/DxeNetLib/DxeNetLib.c b/NetworkPkg/Library/DxeNetLib/DxeNetLib.c
|
||||||
|
index 01c13c08d2..4dfbe91a55 100644
|
||||||
|
--- a/NetworkPkg/Library/DxeNetLib/DxeNetLib.c
|
||||||
|
+++ b/NetworkPkg/Library/DxeNetLib/DxeNetLib.c
|
||||||
|
@@ -951,7 +951,7 @@ PseudoRandom (
|
||||||
|
//
|
||||||
|
// Secure Algorithm was not supported on this platform
|
||||||
|
//
|
||||||
|
- DEBUG ((DEBUG_ERROR, "Failed to generate random data using secure algorithm %d: %r\n", AlgorithmIndex, Status));
|
||||||
|
+ DEBUG ((DEBUG_VERBOSE, "Failed to generate random data using secure algorithm %d: %r\n", AlgorithmIndex, Status));
|
||||||
|
|
||||||
|
//
|
||||||
|
// Try the next secure algorithm
|
||||||
|
@@ -971,6 +971,7 @@ PseudoRandom (
|
||||||
|
// If we get here, we failed to generate random data using any secure algorithm
|
||||||
|
// Platform owner should ensure that at least one secure algorithm is supported
|
||||||
|
//
|
||||||
|
+ DEBUG ((DEBUG_ERROR, "Failed to generate random data, no supported secure algorithm found\n"));
|
||||||
|
ASSERT_EFI_ERROR (Status);
|
||||||
|
return Status;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -0,0 +1,46 @@
|
|||||||
|
From b2e458faf8603547bcdf578f465fdf777df44500 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Thu, 29 Aug 2024 09:20:29 +0200
|
||||||
|
Subject: [PATCH] OvmfPkg/CpuHotplugSmm: delay SMM exit
|
||||||
|
|
||||||
|
RH-Author: Gerd Hoffmann <None>
|
||||||
|
RH-MergeRequest: 75: OvmfPkg/CpuHotplugSmm: delay SMM exit
|
||||||
|
RH-Jira: RHEL-56154
|
||||||
|
RH-Acked-by: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
RH-Commit: [1/1] 591189c9b119804cab4c48e9c27e428751993169 (kraxel.rh/centos-src-edk2)
|
||||||
|
|
||||||
|
Let APs wait until the BSP has completed the register updates to remove
|
||||||
|
the CPU. This makes sure all APs stay in SMM mode until the CPU
|
||||||
|
hot-unplug operation is complete, which in turn makes sure the ACPI lock
|
||||||
|
is released only after the CPU hot-unplug operation is complete.
|
||||||
|
|
||||||
|
Some background: The CPU hotplug SMI is triggered from an ACPI function
|
||||||
|
which is protected by an ACPI lock. The ACPI function is in the ACPI
|
||||||
|
tables generated by qemu.
|
||||||
|
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
|
||||||
|
upstream: submitted (https://github.com/tianocore/edk2/pull/6138)
|
||||||
|
---
|
||||||
|
OvmfPkg/CpuHotplugSmm/CpuHotplug.c | 5 +++++
|
||||||
|
1 file changed, 5 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/CpuHotplugSmm/CpuHotplug.c b/OvmfPkg/CpuHotplugSmm/CpuHotplug.c
|
||||||
|
index d504163026..5af78211d3 100644
|
||||||
|
--- a/OvmfPkg/CpuHotplugSmm/CpuHotplug.c
|
||||||
|
+++ b/OvmfPkg/CpuHotplugSmm/CpuHotplug.c
|
||||||
|
@@ -355,6 +355,11 @@ EjectCpu (
|
||||||
|
//
|
||||||
|
QemuSelector = mCpuHotEjectData->QemuSelectorMap[ProcessorNum];
|
||||||
|
if (QemuSelector == CPU_EJECT_QEMU_SELECTOR_INVALID) {
|
||||||
|
+ /* wait until BSP is done */
|
||||||
|
+ while (mCpuHotEjectData->Handler != NULL) {
|
||||||
|
+ CpuPause ();
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -0,0 +1,143 @@
|
|||||||
|
From 6b26812cbf5a871d0a311036b6605635684ed3e1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
Date: Tue, 27 Aug 2024 12:06:15 +0200
|
||||||
|
Subject: [PATCH] UefiCpuPkg/PiSmmCpuDxeSmm: skip PatchInstructionX86 calls if
|
||||||
|
not needed.
|
||||||
|
|
||||||
|
RH-Author: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
RH-MergeRequest: 70: UefiCpuPkg/PiSmmCpuDxeSmm: skip PatchInstructionX86 calls if not needed.
|
||||||
|
RH-Jira: RHEL-50185
|
||||||
|
RH-Acked-by: Gerd Hoffmann <None>
|
||||||
|
RH-Commit: [1/1] a9c96249a5258e0902e38d4579079dfcc188b980 (osteffen/edk2)
|
||||||
|
|
||||||
|
Add the new global mMsrIa32MiscEnableSupported variable to track
|
||||||
|
whenever support for the IA32_MISC_ENABLE MSR is present or not.
|
||||||
|
|
||||||
|
Add new local PatchingNeeded variable to CheckFeatureSupported()
|
||||||
|
to track if patching the SMM setup code is needed or not.
|
||||||
|
|
||||||
|
Issue PatchInstructionX86() calls only if needed, i.e. if one of
|
||||||
|
the *Supported variables has been updated.
|
||||||
|
|
||||||
|
Result is that on a typical SMP machine where all processors are
|
||||||
|
identical the PatchInstructionX86() calls are issued only once,
|
||||||
|
when checking the first processor. Specifically this avoids
|
||||||
|
PatchInstructionX86() being called in OVMF on CPU hotplug. That
|
||||||
|
is important because instruction patching at runtime does not not
|
||||||
|
work and leads to page faults.
|
||||||
|
|
||||||
|
This fixes CPU hotplug on OVMF not working with AMD cpus.
|
||||||
|
|
||||||
|
Fixes: 6b3a89a9fdb5 ("OvmfPkg/PlatformPei: Relocate SmBases in PEI phase")
|
||||||
|
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||||
|
(cherry picked from commit 17ff8960848b2cb2e49fffb3dfbacd08865786a4)
|
||||||
|
Signed-off-by: Oliver Steffen <osteffen@redhat.com>
|
||||||
|
---
|
||||||
|
UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c | 49 +++++++++++++++++++++-----
|
||||||
|
1 file changed, 40 insertions(+), 9 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c b/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c
|
||||||
|
index 8142d3ceac..8e299fd29a 100644
|
||||||
|
--- a/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c
|
||||||
|
+++ b/UefiCpuPkg/PiSmmCpuDxeSmm/SmmProfile.c
|
||||||
|
@@ -40,6 +40,11 @@ BOOLEAN mXdEnabled = FALSE;
|
||||||
|
//
|
||||||
|
BOOLEAN mBtsSupported = TRUE;
|
||||||
|
|
||||||
|
+//
|
||||||
|
+// The flag indicates if MSR_IA32_MISC_ENABLE is supported by processor
|
||||||
|
+//
|
||||||
|
+BOOLEAN mMsrIa32MiscEnableSupported = TRUE;
|
||||||
|
+
|
||||||
|
//
|
||||||
|
// The flag indicates if SMM profile starts to record data.
|
||||||
|
//
|
||||||
|
@@ -904,18 +909,23 @@ CheckFeatureSupported (
|
||||||
|
UINT32 RegEcx;
|
||||||
|
UINT32 RegEdx;
|
||||||
|
MSR_IA32_MISC_ENABLE_REGISTER MiscEnableMsr;
|
||||||
|
+ BOOLEAN PatchingNeeded = FALSE;
|
||||||
|
|
||||||
|
if ((PcdGet32 (PcdControlFlowEnforcementPropertyMask) != 0) && mCetSupported) {
|
||||||
|
AsmCpuid (CPUID_SIGNATURE, &RegEax, NULL, NULL, NULL);
|
||||||
|
if (RegEax >= CPUID_STRUCTURED_EXTENDED_FEATURE_FLAGS) {
|
||||||
|
AsmCpuidEx (CPUID_STRUCTURED_EXTENDED_FEATURE_FLAGS, CPUID_STRUCTURED_EXTENDED_FEATURE_FLAGS_SUB_LEAF_INFO, NULL, NULL, &RegEcx, NULL);
|
||||||
|
if ((RegEcx & CPUID_CET_SS) == 0) {
|
||||||
|
- mCetSupported = FALSE;
|
||||||
|
- PatchInstructionX86 (mPatchCetSupported, mCetSupported, 1);
|
||||||
|
+ if (mCetSupported) {
|
||||||
|
+ mCetSupported = FALSE;
|
||||||
|
+ PatchingNeeded = TRUE;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
- mCetSupported = FALSE;
|
||||||
|
- PatchInstructionX86 (mPatchCetSupported, mCetSupported, 1);
|
||||||
|
+ if (mCetSupported) {
|
||||||
|
+ mCetSupported = FALSE;
|
||||||
|
+ PatchingNeeded = TRUE;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -925,8 +935,10 @@ CheckFeatureSupported (
|
||||||
|
//
|
||||||
|
// Extended CPUID functions are not supported on this processor.
|
||||||
|
//
|
||||||
|
- mXdSupported = FALSE;
|
||||||
|
- PatchInstructionX86 (gPatchXdSupported, mXdSupported, 1);
|
||||||
|
+ if (mXdSupported) {
|
||||||
|
+ mXdSupported = FALSE;
|
||||||
|
+ PatchingNeeded = TRUE;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
AsmCpuid (CPUID_EXTENDED_CPU_SIG, NULL, NULL, NULL, &RegEdx);
|
||||||
|
@@ -934,15 +946,20 @@ CheckFeatureSupported (
|
||||||
|
//
|
||||||
|
// Execute Disable Bit feature is not supported on this processor.
|
||||||
|
//
|
||||||
|
- mXdSupported = FALSE;
|
||||||
|
- PatchInstructionX86 (gPatchXdSupported, mXdSupported, 1);
|
||||||
|
+ if (mXdSupported) {
|
||||||
|
+ mXdSupported = FALSE;
|
||||||
|
+ PatchingNeeded = TRUE;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
if (StandardSignatureIsAuthenticAMD ()) {
|
||||||
|
//
|
||||||
|
// AMD processors do not support MSR_IA32_MISC_ENABLE
|
||||||
|
//
|
||||||
|
- PatchInstructionX86 (gPatchMsrIa32MiscEnableSupported, FALSE, 1);
|
||||||
|
+ if (mMsrIa32MiscEnableSupported) {
|
||||||
|
+ mMsrIa32MiscEnableSupported = FALSE;
|
||||||
|
+ PatchingNeeded = TRUE;
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -966,6 +983,20 @@ CheckFeatureSupported (
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
+ if (PatchingNeeded) {
|
||||||
|
+ if (!mCetSupported) {
|
||||||
|
+ PatchInstructionX86 (mPatchCetSupported, mCetSupported, 1);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!mXdSupported) {
|
||||||
|
+ PatchInstructionX86 (gPatchXdSupported, mXdSupported, 1);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
+ if (!mMsrIa32MiscEnableSupported) {
|
||||||
|
+ PatchInstructionX86 (gPatchMsrIa32MiscEnableSupported, FALSE, 1);
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
--
|
||||||
|
2.39.3
|
||||||
|
|
@ -0,0 +1,447 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
"""
|
||||||
|
build helper script for edk2, see
|
||||||
|
https://gitlab.com/kraxel/edk2-build-config
|
||||||
|
|
||||||
|
"""
|
||||||
|
import os
|
||||||
|
import sys
|
||||||
|
import time
|
||||||
|
import shutil
|
||||||
|
import argparse
|
||||||
|
import subprocess
|
||||||
|
import configparser
|
||||||
|
|
||||||
|
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 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(f'{gitdir}/rebase-merge/end', 'r', encoding = 'utf-8') as f:
|
||||||
|
end = int(f.read())
|
||||||
|
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]} ] '
|
||||||
|
if msgnum != end and not version_override:
|
||||||
|
# fixed version speeds up builds
|
||||||
|
version_override = "test-build-patch-series"
|
||||||
|
|
||||||
|
def get_coredir(cfg):
|
||||||
|
if cfg.has_option('global', 'core'):
|
||||||
|
return os.path.abspath(cfg['global']['core'])
|
||||||
|
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_hostarch():
|
||||||
|
mach = os.uname().machine
|
||||||
|
if mach == 'x86_64':
|
||||||
|
return 'X64'
|
||||||
|
if mach == 'aarch64':
|
||||||
|
return 'AARCH64'
|
||||||
|
if mach == 'riscv64':
|
||||||
|
return 'RISCV64'
|
||||||
|
return 'UNKNOWN'
|
||||||
|
|
||||||
|
def get_version(cfg, silent = False):
|
||||||
|
coredir = get_coredir(cfg)
|
||||||
|
if version_override:
|
||||||
|
version = version_override
|
||||||
|
if not silent:
|
||||||
|
print('')
|
||||||
|
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')
|
||||||
|
if not silent:
|
||||||
|
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, cwd = coredir,
|
||||||
|
stdout = subprocess.PIPE,
|
||||||
|
check = True)
|
||||||
|
version = result.stdout.decode().strip()
|
||||||
|
if not silent:
|
||||||
|
print('')
|
||||||
|
print(f'### version [git]: {version}')
|
||||||
|
return version
|
||||||
|
return None
|
||||||
|
|
||||||
|
def pcd_string(name, value):
|
||||||
|
return f'{name}=L{value}\\0'
|
||||||
|
|
||||||
|
def pcd_version(cfg, silent = False):
|
||||||
|
version = get_version(cfg, silent)
|
||||||
|
if version is None:
|
||||||
|
return []
|
||||||
|
return [ '--pcd', pcd_string('PcdFirmwareVersionString', version) ]
|
||||||
|
|
||||||
|
def pcd_release_date():
|
||||||
|
if release_date is None:
|
||||||
|
return []
|
||||||
|
return [ '--pcd', pcd_string('PcdFirmwareReleaseDateString', release_date) ]
|
||||||
|
|
||||||
|
def build_message(line, line2 = None, silent = False):
|
||||||
|
if os.environ.get('TERM') in [ 'xterm', 'xterm-256color' ]:
|
||||||
|
# setxterm title
|
||||||
|
start = '\x1b]2;'
|
||||||
|
end = '\x07'
|
||||||
|
print(f'{start}{rebase_prefix}{line}{end}', end = '')
|
||||||
|
|
||||||
|
if silent:
|
||||||
|
print(f'### {rebase_prefix}{line}', flush = True)
|
||||||
|
else:
|
||||||
|
print('')
|
||||||
|
print('###')
|
||||||
|
print(f'### {rebase_prefix}{line}')
|
||||||
|
if line2:
|
||||||
|
print(f'### {line2}')
|
||||||
|
print('###', flush = True)
|
||||||
|
|
||||||
|
def build_run(cmdline, name, section, silent = False, nologs = False):
|
||||||
|
if silent:
|
||||||
|
logfile = f'{section}.log'
|
||||||
|
if nologs:
|
||||||
|
print(f'### building in silent mode [no log] ...', flush = True)
|
||||||
|
else:
|
||||||
|
print(f'### building in silent mode [{logfile}] ...', flush = True)
|
||||||
|
start = time.time()
|
||||||
|
result = subprocess.run(cmdline, check = False,
|
||||||
|
stdout = subprocess.PIPE,
|
||||||
|
stderr = subprocess.STDOUT)
|
||||||
|
if not nologs:
|
||||||
|
with open(logfile, 'wb') as f:
|
||||||
|
f.write(result.stdout)
|
||||||
|
|
||||||
|
if result.returncode:
|
||||||
|
print('### BUILD FAILURE')
|
||||||
|
print('### cmdline')
|
||||||
|
print(cmdline)
|
||||||
|
print('### output')
|
||||||
|
print(result.stdout.decode())
|
||||||
|
print(f'### exit code: {result.returncode}')
|
||||||
|
else:
|
||||||
|
secs = int(time.time() - start)
|
||||||
|
print(f'### OK ({int(secs/60)}:{secs%60:02d})')
|
||||||
|
else:
|
||||||
|
print(cmdline, flush = True)
|
||||||
|
result = subprocess.run(cmdline, check = False)
|
||||||
|
if result.returncode:
|
||||||
|
print(f'ERROR: {cmdline[0]} exited with {result.returncode}'
|
||||||
|
f' while building {name}')
|
||||||
|
sys.exit(result.returncode)
|
||||||
|
|
||||||
|
def build_copy(plat, tgt, toolchain, dstdir, copy):
|
||||||
|
srcdir = f'Build/{plat}/{tgt}_{toolchain}'
|
||||||
|
names = copy.split()
|
||||||
|
srcfile = names[0]
|
||||||
|
if len(names) > 1:
|
||||||
|
dstfile = names[1]
|
||||||
|
else:
|
||||||
|
dstfile = os.path.basename(srcfile)
|
||||||
|
print(f'# copy: {srcdir} / {srcfile} => {dstdir} / {dstfile}')
|
||||||
|
|
||||||
|
src = srcdir + '/' + srcfile
|
||||||
|
dst = dstdir + '/' + dstfile
|
||||||
|
os.makedirs(os.path.dirname(dst), exist_ok = True)
|
||||||
|
shutil.copy(src, dst)
|
||||||
|
|
||||||
|
def pad_file(dstdir, pad):
|
||||||
|
args = pad.split()
|
||||||
|
if len(args) < 2:
|
||||||
|
raise RuntimeError(f'missing arg for pad ({args})')
|
||||||
|
name = args[0]
|
||||||
|
size = args[1]
|
||||||
|
cmdline = [
|
||||||
|
'truncate',
|
||||||
|
'--size', size,
|
||||||
|
dstdir + '/' + name,
|
||||||
|
]
|
||||||
|
print(f'# padding: {dstdir} / {name} => {size}')
|
||||||
|
subprocess.run(cmdline, check = True)
|
||||||
|
|
||||||
|
# pylint: disable=too-many-branches
|
||||||
|
def build_one(cfg, build, jobs = None, silent = False, nologs = False):
|
||||||
|
b = cfg[build]
|
||||||
|
|
||||||
|
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, silent)
|
||||||
|
cmdline += pcd_release_date()
|
||||||
|
|
||||||
|
if jobs:
|
||||||
|
cmdline += [ '-n', jobs ]
|
||||||
|
for arch in b['arch'].split():
|
||||||
|
if arch == 'HOST':
|
||||||
|
cmdline += [ '-a', get_hostarch() ]
|
||||||
|
else:
|
||||||
|
cmdline += [ '-a', arch ]
|
||||||
|
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 b:
|
||||||
|
for name in b['pcds'].split():
|
||||||
|
section = 'pcds.' + name
|
||||||
|
for pcd in cfg[section]:
|
||||||
|
cmdline += [ '--pcd', pcd + '=' + cfg[section][pcd] ]
|
||||||
|
if 'tgts' in b:
|
||||||
|
tgts = b['tgts'].split()
|
||||||
|
else:
|
||||||
|
tgts = [ 'DEBUG' ]
|
||||||
|
for tgt in tgts:
|
||||||
|
desc = None
|
||||||
|
if 'desc' in b:
|
||||||
|
desc = b['desc']
|
||||||
|
build_message(f'building: {b["conf"]} ({b["arch"]}, {tgt})',
|
||||||
|
f'description: {desc}',
|
||||||
|
silent = silent)
|
||||||
|
build_run(cmdline + [ '-b', tgt ],
|
||||||
|
b['conf'],
|
||||||
|
build + '.' + tgt,
|
||||||
|
silent,
|
||||||
|
nologs)
|
||||||
|
|
||||||
|
if 'plat' in b:
|
||||||
|
# copy files
|
||||||
|
for cpy in b:
|
||||||
|
if not cpy.startswith('cpy'):
|
||||||
|
continue
|
||||||
|
build_copy(b['plat'], tgt,
|
||||||
|
get_toolchain(cfg, build),
|
||||||
|
b['dest'], b[cpy])
|
||||||
|
# pad builds
|
||||||
|
for pad in b:
|
||||||
|
if not pad.startswith('pad'):
|
||||||
|
continue
|
||||||
|
pad_file(b['dest'], b[pad])
|
||||||
|
|
||||||
|
def build_basetools(silent = False, nologs = False):
|
||||||
|
build_message('building: BaseTools', silent = silent)
|
||||||
|
basedir = os.environ['EDK_TOOLS_PATH']
|
||||||
|
cmdline = [ 'make', '-C', basedir ]
|
||||||
|
build_run(cmdline, 'BaseTools', 'build.basetools', silent, nologs)
|
||||||
|
|
||||||
|
def binary_exists(name):
|
||||||
|
for pdir in os.environ['PATH'].split(':'):
|
||||||
|
if os.path.exists(pdir + '/' + name):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def prepare_env(cfg, silent = False):
|
||||||
|
""" mimic Conf/BuildEnv.sh """
|
||||||
|
workspace = os.getcwd()
|
||||||
|
packages = [ workspace, ]
|
||||||
|
path = os.environ['PATH'].split(':')
|
||||||
|
dirs = [
|
||||||
|
'BaseTools/Bin/Linux-x86_64',
|
||||||
|
'BaseTools/BinWrappers/PosixLike'
|
||||||
|
]
|
||||||
|
|
||||||
|
if cfg.has_option('global', 'pkgs'):
|
||||||
|
for pkgdir in cfg['global']['pkgs'].split():
|
||||||
|
packages.append(os.path.abspath(pkgdir))
|
||||||
|
coredir = get_coredir(cfg)
|
||||||
|
if coredir != workspace:
|
||||||
|
packages.append(coredir)
|
||||||
|
|
||||||
|
# add basetools to path
|
||||||
|
for pdir in dirs:
|
||||||
|
p = coredir + '/' + pdir
|
||||||
|
if not os.path.exists(p):
|
||||||
|
continue
|
||||||
|
if p in path:
|
||||||
|
continue
|
||||||
|
path.insert(0, p)
|
||||||
|
|
||||||
|
# run edksetup if needed
|
||||||
|
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', silent = silent)
|
||||||
|
cmdline = [ 'bash', 'BaseTools/BuildEnv' ]
|
||||||
|
subprocess.run(cmdline, cwd = coredir, check = True)
|
||||||
|
|
||||||
|
# set variables
|
||||||
|
os.environ['PATH'] = ':'.join(path)
|
||||||
|
os.environ['PACKAGES_PATH'] = ':'.join(packages)
|
||||||
|
os.environ['WORKSPACE'] = workspace
|
||||||
|
os.environ['EDK_TOOLS_PATH'] = coredir + '/BaseTools'
|
||||||
|
os.environ['CONF_PATH'] = coredir + '/Conf'
|
||||||
|
os.environ['PYTHON_COMMAND'] = '/usr/bin/python3'
|
||||||
|
os.environ['PYTHONHASHSEED'] = '1'
|
||||||
|
|
||||||
|
# for cross builds
|
||||||
|
if binary_exists('arm-linux-gnueabi-gcc'):
|
||||||
|
# ubuntu
|
||||||
|
os.environ['GCC5_ARM_PREFIX'] = 'arm-linux-gnueabi-'
|
||||||
|
os.environ['GCC_ARM_PREFIX'] = 'arm-linux-gnueabi-'
|
||||||
|
elif binary_exists('arm-linux-gnu-gcc'):
|
||||||
|
# fedora
|
||||||
|
os.environ['GCC5_ARM_PREFIX'] = 'arm-linux-gnu-'
|
||||||
|
os.environ['GCC_ARM_PREFIX'] = 'arm-linux-gnu-'
|
||||||
|
if binary_exists('loongarch64-linux-gnu-gcc'):
|
||||||
|
os.environ['GCC5_LOONGARCH64_PREFIX'] = 'loongarch64-linux-gnu-'
|
||||||
|
os.environ['GCC_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-'
|
||||||
|
os.environ['GCC_AARCH64_PREFIX'] = 'aarch64-linux-gnu-'
|
||||||
|
if binary_exists('riscv64-linux-gnu-gcc') and hostarch != 'riscv64':
|
||||||
|
os.environ['GCC5_RISCV64_PREFIX'] = 'riscv64-linux-gnu-'
|
||||||
|
os.environ['GCC_RISCV64_PREFIX'] = 'riscv64-linux-gnu-'
|
||||||
|
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-'
|
||||||
|
os.environ['GCC_IA32_PREFIX'] = 'x86_64-linux-gnu-'
|
||||||
|
os.environ['GCC_X64_PREFIX'] = 'x86_64-linux-gnu-'
|
||||||
|
os.environ['GCC_BIN'] = 'x86_64-linux-gnu-'
|
||||||
|
|
||||||
|
def build_list(cfg):
|
||||||
|
for build in cfg.sections():
|
||||||
|
if not build.startswith('build.'):
|
||||||
|
continue
|
||||||
|
name = build.lstrip('build.')
|
||||||
|
desc = 'no description'
|
||||||
|
if 'desc' in cfg[build]:
|
||||||
|
desc = cfg[build]['desc']
|
||||||
|
print(f'# {name:20s} - {desc}')
|
||||||
|
|
||||||
|
def main():
|
||||||
|
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, action = 'append',
|
||||||
|
help = 'only run builds matching INCLUDE (substring)',
|
||||||
|
metavar = 'INCLUDE')
|
||||||
|
parser.add_argument('-x', '--exclude', dest = 'exclude',
|
||||||
|
type = str, action = 'append',
|
||||||
|
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('--no-logs', dest = 'nologs',
|
||||||
|
action = 'store_true', default = False,
|
||||||
|
help = 'do not write build log files (with --silent)')
|
||||||
|
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(f'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 0
|
||||||
|
|
||||||
|
if not cfg.has_section('global'):
|
||||||
|
cfg.add_section('global')
|
||||||
|
if options.core:
|
||||||
|
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
|
||||||
|
check_rebase()
|
||||||
|
if options.version_override:
|
||||||
|
version_override = options.version_override
|
||||||
|
if options.release_date:
|
||||||
|
release_date = options.release_date
|
||||||
|
|
||||||
|
prepare_env(cfg, options.silent)
|
||||||
|
build_basetools(options.silent, options.nologs)
|
||||||
|
for build in cfg.sections():
|
||||||
|
if not build.startswith('build.'):
|
||||||
|
continue
|
||||||
|
if options.match:
|
||||||
|
matching = False
|
||||||
|
for item in options.match:
|
||||||
|
if item in build:
|
||||||
|
matching = True
|
||||||
|
if not matching:
|
||||||
|
print(f'# skipping "{build}" (not matching "{"|".join(options.match)}")')
|
||||||
|
continue
|
||||||
|
if options.exclude:
|
||||||
|
exclude = False
|
||||||
|
for item in options.exclude:
|
||||||
|
if item in build:
|
||||||
|
print(f'# skipping "{build}" (matching "{item}")')
|
||||||
|
exclude = True
|
||||||
|
if exclude:
|
||||||
|
continue
|
||||||
|
build_one(cfg, build, options.jobs, options.silent, options.nologs)
|
||||||
|
|
||||||
|
return 0
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
sys.exit(main())
|
@ -0,0 +1,129 @@
|
|||||||
|
|
||||||
|
[opts.ovmf.common]
|
||||||
|
NETWORK_HTTP_BOOT_ENABLE = TRUE
|
||||||
|
NETWORK_IP6_ENABLE = TRUE
|
||||||
|
NETWORK_TLS_ENABLE = TRUE
|
||||||
|
NETWORK_ISCSI_ENABLE = TRUE
|
||||||
|
NETWORK_ALLOW_HTTP_CONNECTIONS = TRUE
|
||||||
|
TPM2_ENABLE = TRUE
|
||||||
|
TPM2_CONFIG_ENABLE = TRUE
|
||||||
|
TPM1_ENABLE = FALSE
|
||||||
|
CAVIUM_ERRATUM_27456 = TRUE
|
||||||
|
|
||||||
|
[opts.ovmf.4m]
|
||||||
|
FD_SIZE_4MB = TRUE
|
||||||
|
|
||||||
|
[opts.ovmf.sb.smm]
|
||||||
|
SECURE_BOOT_ENABLE = TRUE
|
||||||
|
SMM_REQUIRE = TRUE
|
||||||
|
# old downstream
|
||||||
|
EXCLUDE_SHELL_FROM_FD = TRUE
|
||||||
|
# new upstream
|
||||||
|
BUILD_SHELL = FALSE
|
||||||
|
|
||||||
|
[opts.ovmf.sb.stateless]
|
||||||
|
SECURE_BOOT_ENABLE = TRUE
|
||||||
|
SMM_REQUIRE = FALSE
|
||||||
|
|
||||||
|
[opts.armvirt.verbose]
|
||||||
|
DEBUG_PRINT_ERROR_LEVEL = 0x8040004F
|
||||||
|
|
||||||
|
[opts.armvirt.silent]
|
||||||
|
DEBUG_PRINT_ERROR_LEVEL = 0x80000000
|
||||||
|
|
||||||
|
|
||||||
|
[pcds.nx.strict]
|
||||||
|
PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD5
|
||||||
|
PcdUninstallMemAttrProtocol = FALSE
|
||||||
|
|
||||||
|
[pcds.nx.broken.shim.grub]
|
||||||
|
# grub.efi uses EfiLoaderData for code
|
||||||
|
PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD1
|
||||||
|
# shim.efi has broken MemAttr code
|
||||||
|
PcdUninstallMemAttrProtocol = TRUE
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
# stateful ovmf builds (with vars in flash)
|
||||||
|
|
||||||
|
[build.ovmf.4m.default]
|
||||||
|
desc = ovmf build (64-bit, 4MB)
|
||||||
|
conf = OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
arch = X64
|
||||||
|
opts = ovmf.common
|
||||||
|
ovmf.4m
|
||||||
|
plat = OvmfX64
|
||||||
|
dest = RHEL-9/ovmf
|
||||||
|
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.fd
|
||||||
|
cpy2 = FV/OVMF_VARS.fd
|
||||||
|
cpy3 = X64/Shell.efi
|
||||||
|
|
||||||
|
[build.ovmf.4m.sb.smm]
|
||||||
|
desc = ovmf build (64-bit, 4MB, q35 only, needs smm, secure boot)
|
||||||
|
conf = OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
arch = X64
|
||||||
|
opts = ovmf.common
|
||||||
|
ovmf.4m
|
||||||
|
ovmf.sb.smm
|
||||||
|
plat = OvmfX64
|
||||||
|
dest = RHEL-9/ovmf
|
||||||
|
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.secboot.fd
|
||||||
|
cpy2 = X64/EnrollDefaultKeys.efi
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
# stateless ovmf builds (firmware in rom or r/o flash)
|
||||||
|
|
||||||
|
[build.ovmf.amdsev]
|
||||||
|
desc = ovmf build for AmdSev (4MB)
|
||||||
|
conf = OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||||
|
arch = X64
|
||||||
|
opts = ovmf.common
|
||||||
|
ovmf.4m
|
||||||
|
plat = AmdSev
|
||||||
|
dest = RHEL-9/ovmf
|
||||||
|
cpy1 = FV/OVMF.fd OVMF.amdsev.fd
|
||||||
|
|
||||||
|
[build.ovmf.inteltdx]
|
||||||
|
desc = ovmf build for IntelTdx (4MB)
|
||||||
|
conf = OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||||
|
arch = X64
|
||||||
|
opts = ovmf.common
|
||||||
|
ovmf.4m
|
||||||
|
ovmf.sb.stateless
|
||||||
|
plat = IntelTdx
|
||||||
|
dest = RHEL-9/ovmf
|
||||||
|
cpy1 = FV/OVMF.fd OVMF.inteltdx.fd
|
||||||
|
|
||||||
|
|
||||||
|
#####################################################################
|
||||||
|
# armvirt builds
|
||||||
|
|
||||||
|
[build.armvirt.aa64.verbose]
|
||||||
|
desc = ArmVirt build for qemu, 64-bit (arm v8), verbose
|
||||||
|
conf = ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
arch = AARCH64
|
||||||
|
opts = ovmf.common
|
||||||
|
armvirt.verbose
|
||||||
|
pcds = nx.broken.shim.grub
|
||||||
|
plat = ArmVirtQemu-AARCH64
|
||||||
|
dest = RHEL-9/aarch64
|
||||||
|
cpy1 = FV/QEMU_EFI.fd
|
||||||
|
cpy2 = FV/QEMU_VARS.fd
|
||||||
|
cpy3 = FV/QEMU_EFI.fd QEMU_EFI-pflash.raw
|
||||||
|
cpy4 = FV/QEMU_VARS.fd vars-template-pflash.raw
|
||||||
|
pad3 = QEMU_EFI-pflash.raw 64m
|
||||||
|
pad4 = vars-template-pflash.raw 64m
|
||||||
|
|
||||||
|
[build.armvirt.aa64.silent]
|
||||||
|
desc = ArmVirt build for qemu, 64-bit (arm v8), silent
|
||||||
|
conf = ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
arch = AARCH64
|
||||||
|
opts = ovmf.common
|
||||||
|
armvirt.silent
|
||||||
|
pcds = nx.broken.shim.grub
|
||||||
|
plat = ArmVirtQemu-AARCH64
|
||||||
|
dest = RHEL-9/aarch64
|
||||||
|
cpy1 = FV/QEMU_EFI.fd QEMU_EFI.silent.fd
|
||||||
|
cpy2 = FV/QEMU_EFI.fd QEMU_EFI-silent-pflash.raw
|
||||||
|
pad2 = QEMU_EFI-silent-pflash.raw 64m
|
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,482 @@
|
|||||||
|
ExclusiveArch: x86_64 aarch64
|
||||||
|
|
||||||
|
# edk2-stable202405
|
||||||
|
%define GITDATE 20240524
|
||||||
|
%define GITCOMMIT 3e722403cd
|
||||||
|
%define TOOLCHAIN GCC
|
||||||
|
|
||||||
|
%define OPENSSL_VER 3.0.7
|
||||||
|
%define OPENSSL_HASH 0205b589887203b065154ddc8e8107c4ac8625a1
|
||||||
|
|
||||||
|
%define DBXDATE 20230509
|
||||||
|
|
||||||
|
%define build_ovmf 0
|
||||||
|
%define build_aarch64 0
|
||||||
|
%ifarch x86_64
|
||||||
|
%define build_ovmf 1
|
||||||
|
%endif
|
||||||
|
%ifarch aarch64
|
||||||
|
%define build_aarch64 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: edk2
|
||||||
|
Version: %{GITDATE}
|
||||||
|
Release: 8%{?dist}
|
||||||
|
Summary: UEFI firmware for 64-bit virtual machines
|
||||||
|
License: BSD-2-Clause-Patent and Apache-2.0 and MIT
|
||||||
|
URL: http://www.tianocore.org
|
||||||
|
|
||||||
|
# The source tarball is created using following commands:
|
||||||
|
# COMMIT=ba91d0292e
|
||||||
|
# git archive --format=tar --prefix=edk2-$COMMIT/ $COMMIT \
|
||||||
|
# | xz -9ev >/tmp/edk2-$COMMIT.tar.xz
|
||||||
|
Source0: edk2-%{GITCOMMIT}.tar.xz
|
||||||
|
Source1: ovmf-whitepaper-c770f8c.txt
|
||||||
|
Source2: openssl-rhel-%{OPENSSL_HASH}.tar.xz
|
||||||
|
|
||||||
|
# json description files
|
||||||
|
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
|
||||||
|
Source43: 50-edk2-ovmf-x64-nosb.json
|
||||||
|
Source44: 60-edk2-ovmf-x64-amdsev.json
|
||||||
|
Source45: 60-edk2-ovmf-x64-inteltdx.json
|
||||||
|
|
||||||
|
# https://gitlab.com/kraxel/edk2-build-config
|
||||||
|
Source80: edk2-build.py
|
||||||
|
Source82: edk2-build.rhel-9
|
||||||
|
|
||||||
|
Source90: DBXUpdate-%{DBXDATE}.x64.bin
|
||||||
|
Patch1: 0003-Remove-paths-leading-to-submodules.patch
|
||||||
|
Patch2: 0004-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
|
||||||
|
Patch3: 0005-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
|
||||||
|
Patch4: 0006-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
|
||||||
|
Patch5: 0007-OvmfPkg-enable-DEBUG_VERBOSE-RHEL-only.patch
|
||||||
|
Patch6: 0008-OvmfPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuVide.patch
|
||||||
|
Patch7: 0009-ArmVirtPkg-silence-DEBUG_VERBOSE-0x00400000-in-QemuR.patch
|
||||||
|
Patch8: 0010-OvmfPkg-QemuRamfbDxe-Do-not-report-DXE-failure-on-Aa.patch
|
||||||
|
Patch9: 0011-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
|
||||||
|
Patch10: 0012-OvmfPkg-QemuKernelLoaderFsDxe-suppress-error-on-no-k.patch
|
||||||
|
Patch11: 0013-SecurityPkg-Tcg2Dxe-suppress-error-on-no-swtpm-in-si.patch
|
||||||
|
Patch12: 0014-OvmfPkg-Remove-EbcDxe-RHEL-only.patch
|
||||||
|
Patch13: 0015-OvmfPkg-Remove-VirtioGpu-device-driver-RHEL-only.patch
|
||||||
|
Patch14: 0016-OvmfPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL-on.patch
|
||||||
|
Patch15: 0017-ArmVirtPkg-Remove-VirtioFsDxe-filesystem-driver-RHEL.patch
|
||||||
|
Patch16: 0018-OvmfPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
|
||||||
|
Patch17: 0019-ArmVirtPkg-Remove-UdfDxe-filesystem-driver-RHEL-only.patch
|
||||||
|
Patch18: 0020-OvmfPkg-Remove-TftpDynamicCommand-from-shell-RHEL-on.patch
|
||||||
|
Patch19: 0021-ArmVirtPkg-Remove-TftpDynamicCommand-from-shell-RHEL.patch
|
||||||
|
Patch20: 0022-OvmfPkg-Remove-HttpDynamicCommand-from-shell-RHEL-on.patch
|
||||||
|
Patch21: 0023-ArmVirtPkg-Remove-HttpDynamicCommand-from-shell-RHEL.patch
|
||||||
|
Patch22: 0024-OvmfPkg-Remove-LinuxInitrdDynamicShellCommand-RHEL-o.patch
|
||||||
|
Patch23: 0025-ArmVirtPkg-Remove-LinuxInitrdDynamicShellCommand-RHE.patch
|
||||||
|
Patch24: 0026-UefiCpuPkg-MpInitLib-fix-apic-mode-for-cpu-hotplug.patch
|
||||||
|
Patch25: 0027-OvmfPkg-AmdSevDxe-Shim-Reboot-workaround-RHEL-only.patch
|
||||||
|
Patch26: 0028-CryptoPkg-CrtLib-add-stat.h-include-file.patch
|
||||||
|
Patch27: 0029-CryptoPkg-CrtLib-add-access-open-read-write-close-sy.patch
|
||||||
|
Patch28: 0030-OvmfPkg-Sec-Setup-MTRR-early-in-the-boot-process.patch
|
||||||
|
Patch29: 0031-MdePkg-ArchitecturalMsr.h-add-defines-for-MTRR-cache.patch
|
||||||
|
Patch30: 0032-UefiCpuPkg-MtrrLib.h-use-cache-type-defines-from-Arc.patch
|
||||||
|
Patch31: 0033-OvmfPkg-Sec-use-cache-type-defines-from-Architectura.patch
|
||||||
|
Patch32: 0034-NetworkPkg-TcpDxe-Fixed-system-stuck-on-PXE-boot-flo.patch
|
||||||
|
Patch33: 0035-OvmfPkg-add-morlock-support.patch
|
||||||
|
Patch34: 0036-MdePkg-BaseRngLib-Add-a-smoketest-for-RDRAND-and-che.patch
|
||||||
|
Patch35: 0037-SecurityPkg-RngDxe-add-rng-test.patch
|
||||||
|
Patch36: 0038-OvmfPkg-wire-up-RngDxe.patch
|
||||||
|
Patch37: 0039-CryptoPkg-Test-call-ProcessLibraryConstructorList.patch
|
||||||
|
Patch38: 0040-MdePkg-X86UnitTestHost-set-rdrand-cpuid-bit.patch
|
||||||
|
# For RHEL-45261 - [RHEL10] edk2 disconnects abnormally before loading the kernel
|
||||||
|
Patch39: edk2-MdeModulePkg-Warn-if-out-of-flash-space-when-writing.patch
|
||||||
|
# For RHEL-45829 - [RHEL-10.0] edk2 hit Failed to generate random data
|
||||||
|
Patch40: edk2-NetworkPkg-DxeNetLib-adjust-PseudoRandom-error-loggi.patch
|
||||||
|
# For RHEL-45829 - [RHEL-10.0] edk2 hit Failed to generate random data
|
||||||
|
Patch41: edk2-NetworkPkg-DxeNetLib-Reword-PseudoRandom-error-loggi.patch
|
||||||
|
# For RHEL-56082 - [EDK2] Shim fallback reboot workaround might not work on SNP [rhel-10]
|
||||||
|
Patch42: edk2-AmdSevDxe-Fix-the-shim-fallback-reboot-workaround-fo.patch
|
||||||
|
# For RHEL-50185 - [RHEL10] Hit soft lockup when hotplug vcpu
|
||||||
|
Patch43: edk2-UefiCpuPkg-PiSmmCpuDxeSmm-skip-PatchInstructionX86-c.patch
|
||||||
|
# For RHEL-56154 - qemu-kvm: warning: Blocked re-entrant IO on MemoryRegion: acpi-cpu-hotplug at addr: 0x0 [rhel-10]
|
||||||
|
Patch44: edk2-OvmfPkg-CpuHotplugSmm-delay-SMM-exit.patch
|
||||||
|
|
||||||
|
# python3-devel and libuuid-devel are required for building tools.
|
||||||
|
# python3-devel is also needed for varstore template generation and
|
||||||
|
# verification with "ovmf-vars-generator".
|
||||||
|
BuildRequires: python3-devel
|
||||||
|
BuildRequires: libuuid-devel
|
||||||
|
BuildRequires: /usr/bin/iasl
|
||||||
|
BuildRequires: binutils gcc git gcc-c++ make
|
||||||
|
BuildRequires: perl perl(JSON)
|
||||||
|
BuildRequires: qemu-img
|
||||||
|
|
||||||
|
%if %{build_ovmf}
|
||||||
|
# Only OVMF includes 80x86 assembly files (*.nasm*).
|
||||||
|
BuildRequires: nasm
|
||||||
|
|
||||||
|
# Only OVMF includes the Secure Boot feature, for which we need to separate out
|
||||||
|
# the UEFI shell.
|
||||||
|
BuildRequires: dosfstools
|
||||||
|
BuildRequires: mtools
|
||||||
|
BuildRequires: xorriso
|
||||||
|
|
||||||
|
# secure boot enrollment
|
||||||
|
BuildRequires: python3dist(virt-firmware) >= 23.4
|
||||||
|
|
||||||
|
# endif build_ovmf
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%package ovmf
|
||||||
|
Summary: UEFI firmware for x86_64 virtual machines
|
||||||
|
BuildArch: noarch
|
||||||
|
Provides: OVMF = %{version}-%{release}
|
||||||
|
Obsoletes: OVMF < 20180508-100.gitee3198e672e2.el7
|
||||||
|
|
||||||
|
# OVMF includes the Secure Boot and IPv6 features; it has a builtin OpenSSL
|
||||||
|
# library.
|
||||||
|
Provides: bundled(openssl) = %{OPENSSL_VER}
|
||||||
|
License: BSD-2-Clause-Patent and Apache-2.0
|
||||||
|
|
||||||
|
# URL taken from the Maintainers.txt file.
|
||||||
|
URL: http://www.tianocore.org/ovmf/
|
||||||
|
|
||||||
|
%description ovmf
|
||||||
|
OVMF (Open Virtual Machine Firmware) is a project to enable UEFI support for
|
||||||
|
Virtual Machines. This package contains a sample 64-bit UEFI firmware for QEMU
|
||||||
|
and KVM.
|
||||||
|
|
||||||
|
|
||||||
|
%package aarch64
|
||||||
|
Summary: UEFI firmware for aarch64 virtual machines
|
||||||
|
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 Apache-2.0
|
||||||
|
|
||||||
|
# URL taken from the Maintainers.txt file.
|
||||||
|
URL: https://github.com/tianocore/tianocore.github.io/wiki/ArmVirtPkg
|
||||||
|
|
||||||
|
%description aarch64
|
||||||
|
AAVMF (ARM Architecture Virtual Machine Firmware) is an EFI Development Kit II
|
||||||
|
platform that enables UEFI support for QEMU/KVM ARM Virtual Machines. This
|
||||||
|
package contains a 64-bit build.
|
||||||
|
|
||||||
|
|
||||||
|
%package tools
|
||||||
|
Summary: EFI Development Kit II Tools
|
||||||
|
License: BSD-2-Clause-Patent
|
||||||
|
URL: https://github.com/tianocore/tianocore.github.io/wiki/BaseTools
|
||||||
|
%description tools
|
||||||
|
This package provides tools that are needed to
|
||||||
|
build EFI executables and ROMs using the GNU tools.
|
||||||
|
|
||||||
|
%package tools-doc
|
||||||
|
Summary: Documentation for EFI Development Kit II Tools
|
||||||
|
BuildArch: noarch
|
||||||
|
License: BSD-2-Clause-Patent
|
||||||
|
URL: https://github.com/tianocore/tianocore.github.io/wiki/BaseTools
|
||||||
|
%description tools-doc
|
||||||
|
This package documents the tools that are needed to
|
||||||
|
build EFI executables and ROMs using the GNU tools.
|
||||||
|
|
||||||
|
%description
|
||||||
|
EDK II is a modern, feature-rich, cross-platform firmware development
|
||||||
|
environment for the UEFI and PI specifications. This package contains sample
|
||||||
|
64-bit UEFI firmware builds for QEMU and KVM.
|
||||||
|
|
||||||
|
%prep
|
||||||
|
# We needs some special git config options that %%autosetup won't give us.
|
||||||
|
# We init the git dir ourselves, then tell %%autosetup not to blow it away.
|
||||||
|
%setup -q -n edk2-%{GITCOMMIT}
|
||||||
|
git init -q
|
||||||
|
git config core.whitespace cr-at-eol
|
||||||
|
git config am.keepcr true
|
||||||
|
# -T is passed to %%setup to not re-extract the archive
|
||||||
|
# -D is passed to %%setup to not delete the existing archive dir
|
||||||
|
%autosetup -T -D -n edk2-%{GITCOMMIT} -S git_am
|
||||||
|
|
||||||
|
cp -a -- %{SOURCE1} .
|
||||||
|
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
|
||||||
|
chmod -Rf a+rX,u+w,g-w,o-w .
|
||||||
|
|
||||||
|
%build
|
||||||
|
|
||||||
|
build_iso() {
|
||||||
|
dir="$1"
|
||||||
|
UEFI_SHELL_BINARY=${dir}/Shell.efi
|
||||||
|
ENROLLER_BINARY=${dir}/EnrollDefaultKeys.efi
|
||||||
|
UEFI_SHELL_IMAGE=uefi_shell.img
|
||||||
|
ISO_IMAGE=${dir}/UefiShell.iso
|
||||||
|
|
||||||
|
UEFI_SHELL_BINARY_BNAME=$(basename -- "$UEFI_SHELL_BINARY")
|
||||||
|
UEFI_SHELL_SIZE=$(stat --format=%s -- "$UEFI_SHELL_BINARY")
|
||||||
|
ENROLLER_SIZE=$(stat --format=%s -- "$ENROLLER_BINARY")
|
||||||
|
|
||||||
|
# add 1MB then 10% for metadata
|
||||||
|
UEFI_SHELL_IMAGE_KB=$((
|
||||||
|
(UEFI_SHELL_SIZE + ENROLLER_SIZE + 1 * 1024 * 1024) * 11 / 10 / 1024
|
||||||
|
))
|
||||||
|
|
||||||
|
# create non-partitioned FAT image
|
||||||
|
rm -f -- "$UEFI_SHELL_IMAGE"
|
||||||
|
mkdosfs -C "$UEFI_SHELL_IMAGE" -n UEFI_SHELL -- "$UEFI_SHELL_IMAGE_KB"
|
||||||
|
|
||||||
|
# copy the shell binary into the FAT image
|
||||||
|
export MTOOLS_SKIP_CHECK=1
|
||||||
|
mmd -i "$UEFI_SHELL_IMAGE" ::efi
|
||||||
|
mmd -i "$UEFI_SHELL_IMAGE" ::efi/boot
|
||||||
|
mcopy -i "$UEFI_SHELL_IMAGE" "$UEFI_SHELL_BINARY" ::efi/boot/bootx64.efi
|
||||||
|
mcopy -i "$UEFI_SHELL_IMAGE" "$ENROLLER_BINARY" ::
|
||||||
|
mdir -i "$UEFI_SHELL_IMAGE" -/ ::
|
||||||
|
|
||||||
|
# build ISO with FAT image file as El Torito EFI boot image
|
||||||
|
mkisofs -input-charset ASCII -J -rational-rock \
|
||||||
|
-e "$UEFI_SHELL_IMAGE" -no-emul-boot \
|
||||||
|
-o "$ISO_IMAGE" "$UEFI_SHELL_IMAGE"
|
||||||
|
}
|
||||||
|
|
||||||
|
export EXTRA_OPTFLAGS="%{optflags}"
|
||||||
|
export EXTRA_LDFLAGS="%{__global_ldflags}"
|
||||||
|
export RELEASE_DATE="$(echo %{GITDATE} | sed -e 's|\(....\)\(..\)\(..\)|\2/\3/\1|')"
|
||||||
|
|
||||||
|
touch OvmfPkg/AmdSev/Grub/grub.efi # dummy
|
||||||
|
python3 CryptoPkg/Library/OpensslLib/configure.py
|
||||||
|
|
||||||
|
# include dirs of unused submodules
|
||||||
|
mkdir -p CryptoPkg/Library/MbedTlsLib/mbedtls/include
|
||||||
|
mkdir -p CryptoPkg/Library/MbedTlsLib/mbedtls/include/mbedtls
|
||||||
|
mkdir -p CryptoPkg/Library/MbedTlsLib/mbedtls/library
|
||||||
|
mkdir -p SecurityPkg/DeviceSecurity/SpdmLib/libspdm/include
|
||||||
|
|
||||||
|
%if %{build_ovmf}
|
||||||
|
./edk2-build.py --config edk2-build.rhel-9 -m ovmf --release-date "$RELEASE_DATE"
|
||||||
|
build_iso RHEL-9/ovmf
|
||||||
|
cp DBXUpdate-%{DBXDATE}.x64.bin 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
|
||||||
|
virt-fw-vars --input RHEL-9/ovmf/OVMF.inteltdx.fd \
|
||||||
|
--output RHEL-9/ovmf/OVMF.inteltdx.secboot.fd \
|
||||||
|
--set-dbx DBXUpdate-%{DBXDATE}.x64.bin \
|
||||||
|
--enroll-redhat --secure-boot \
|
||||||
|
--set-fallback-no-reboot
|
||||||
|
%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
|
||||||
|
|
||||||
|
cp -a OvmfPkg/License.txt License.OvmfPkg.txt
|
||||||
|
cp -a CryptoPkg/Library/OpensslLib/openssl/LICENSE.txt LICENSE.openssl
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/qemu/firmware
|
||||||
|
|
||||||
|
# install the tools
|
||||||
|
mkdir -p %{buildroot}%{_bindir} \
|
||||||
|
%{buildroot}%{_datadir}/%{name}/Conf \
|
||||||
|
%{buildroot}%{_datadir}/%{name}/Scripts
|
||||||
|
install BaseTools/Source/C/bin/* \
|
||||||
|
%{buildroot}%{_bindir}
|
||||||
|
install BaseTools/BinWrappers/PosixLike/LzmaF86Compress \
|
||||||
|
%{buildroot}%{_bindir}
|
||||||
|
install BaseTools/BuildEnv \
|
||||||
|
%{buildroot}%{_datadir}/%{name}
|
||||||
|
install BaseTools/Conf/*.template \
|
||||||
|
%{buildroot}%{_datadir}/%{name}/Conf
|
||||||
|
install BaseTools/Scripts/GccBase.lds \
|
||||||
|
%{buildroot}%{_datadir}/%{name}/Scripts
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/%{name}
|
||||||
|
cp -av RHEL-9/* %{buildroot}%{_datadir}/%{name}
|
||||||
|
|
||||||
|
%if %{build_ovmf}
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/OVMF
|
||||||
|
|
||||||
|
ln -s ../%{name}/ovmf/OVMF_CODE.secboot.fd %{buildroot}%{_datadir}/OVMF/
|
||||||
|
ln -s ../%{name}/ovmf/OVMF_VARS.fd %{buildroot}%{_datadir}/OVMF/
|
||||||
|
ln -s ../%{name}/ovmf/OVMF_VARS.secboot.fd %{buildroot}%{_datadir}/OVMF/
|
||||||
|
ln -s ../%{name}/ovmf/UefiShell.iso %{buildroot}%{_datadir}/OVMF/
|
||||||
|
ln -s OVMF_CODE.fd %{buildroot}%{_datadir}/%{name}/ovmf/OVMF_CODE.cc.fd
|
||||||
|
|
||||||
|
install -m 0644 \
|
||||||
|
30-edk2-ovmf-x64-sb-enrolled.json \
|
||||||
|
40-edk2-ovmf-x64-sb.json \
|
||||||
|
50-edk2-ovmf-x64-nosb.json \
|
||||||
|
60-edk2-ovmf-x64-amdsev.json \
|
||||||
|
60-edk2-ovmf-x64-inteltdx.json \
|
||||||
|
%{buildroot}%{_datadir}/qemu/firmware
|
||||||
|
|
||||||
|
# endif build_ovmf
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{build_aarch64}
|
||||||
|
mkdir -p %{buildroot}%{_datadir}/AAVMF
|
||||||
|
|
||||||
|
ln -s ../%{name}/aarch64/QEMU_EFI-pflash.raw \
|
||||||
|
%{buildroot}%{_datadir}/AAVMF/AAVMF_CODE.verbose.fd
|
||||||
|
ln -s ../%{name}/aarch64/QEMU_EFI-silent-pflash.raw \
|
||||||
|
%{buildroot}%{_datadir}/AAVMF/AAVMF_CODE.fd
|
||||||
|
ln -s ../%{name}/aarch64/vars-template-pflash.raw \
|
||||||
|
%{buildroot}%{_datadir}/AAVMF/AAVMF_VARS.fd
|
||||||
|
|
||||||
|
install -m 0644 \
|
||||||
|
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
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%check
|
||||||
|
|
||||||
|
%global common_files \
|
||||||
|
%%license License.txt License.OvmfPkg.txt License-History.txt LICENSE.openssl \
|
||||||
|
%%dir %%{_datadir}/%%{name}/ \
|
||||||
|
%%dir %%{_datadir}/qemu \
|
||||||
|
%%dir %%{_datadir}/qemu/firmware
|
||||||
|
|
||||||
|
%if %{build_ovmf}
|
||||||
|
%files ovmf
|
||||||
|
%common_files
|
||||||
|
%doc OvmfPkg/README
|
||||||
|
%doc ovmf-whitepaper-c770f8c.txt
|
||||||
|
%dir %{_datadir}/OVMF/
|
||||||
|
%dir %{_datadir}/%{name}/ovmf/
|
||||||
|
%{_datadir}/%{name}/ovmf/OVMF_CODE.fd
|
||||||
|
%{_datadir}/%{name}/ovmf/OVMF_CODE.cc.fd
|
||||||
|
%{_datadir}/%{name}/ovmf/OVMF_CODE.secboot.fd
|
||||||
|
%{_datadir}/%{name}/ovmf/OVMF_VARS.fd
|
||||||
|
%{_datadir}/%{name}/ovmf/OVMF_VARS.secboot.fd
|
||||||
|
%{_datadir}/%{name}/ovmf/OVMF.amdsev.fd
|
||||||
|
%{_datadir}/%{name}/ovmf/OVMF.inteltdx.fd
|
||||||
|
%{_datadir}/%{name}/ovmf/OVMF.inteltdx.secboot.fd
|
||||||
|
%{_datadir}/%{name}/ovmf/DBXUpdate*.bin
|
||||||
|
%{_datadir}/%{name}/ovmf/UefiShell.iso
|
||||||
|
%{_datadir}/OVMF/OVMF_CODE.secboot.fd
|
||||||
|
%{_datadir}/OVMF/OVMF_VARS.fd
|
||||||
|
%{_datadir}/OVMF/OVMF_VARS.secboot.fd
|
||||||
|
%{_datadir}/OVMF/UefiShell.iso
|
||||||
|
%{_datadir}/%{name}/ovmf/Shell.efi
|
||||||
|
%{_datadir}/%{name}/ovmf/EnrollDefaultKeys.efi
|
||||||
|
%{_datadir}/qemu/firmware/30-edk2-ovmf-x64-sb-enrolled.json
|
||||||
|
%{_datadir}/qemu/firmware/40-edk2-ovmf-x64-sb.json
|
||||||
|
%{_datadir}/qemu/firmware/50-edk2-ovmf-x64-nosb.json
|
||||||
|
%{_datadir}/qemu/firmware/60-edk2-ovmf-x64-amdsev.json
|
||||||
|
%{_datadir}/qemu/firmware/60-edk2-ovmf-x64-inteltdx.json
|
||||||
|
# endif build_ovmf
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if %{build_aarch64}
|
||||||
|
%files aarch64
|
||||||
|
%common_files
|
||||||
|
%dir %{_datadir}/AAVMF/
|
||||||
|
%dir %{_datadir}/%{name}/aarch64/
|
||||||
|
%{_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-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
|
||||||
|
|
||||||
|
%files tools
|
||||||
|
%license License.txt
|
||||||
|
%license License-History.txt
|
||||||
|
%{_bindir}/DevicePath
|
||||||
|
%{_bindir}/EfiRom
|
||||||
|
%{_bindir}/GenCrc32
|
||||||
|
%{_bindir}/GenFfs
|
||||||
|
%{_bindir}/GenFv
|
||||||
|
%{_bindir}/GenFw
|
||||||
|
%{_bindir}/GenSec
|
||||||
|
%{_bindir}/LzmaCompress
|
||||||
|
%{_bindir}/LzmaF86Compress
|
||||||
|
%{_bindir}/TianoCompress
|
||||||
|
%{_bindir}/VfrCompile
|
||||||
|
%{_bindir}/VolInfo
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%{_datadir}/%{name}/BuildEnv
|
||||||
|
%{_datadir}/%{name}/Conf
|
||||||
|
%{_datadir}/%{name}/Scripts
|
||||||
|
|
||||||
|
%files tools-doc
|
||||||
|
%doc BaseTools/UserManuals/*.rtf
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* Tue Nov 26 2024 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 20240524-8
|
||||||
|
- Rebuilt for MSVSphere 10
|
||||||
|
|
||||||
|
* Fri Sep 27 2024 Miroslav Rezanina <mrezanin@redhat.com> - 20240524-8
|
||||||
|
- edk2-Bumped-openssl-submodule-version-to-0205b5898872.patch [RHEL-55302]
|
||||||
|
- Resolves: RHEL-55302
|
||||||
|
(CVE-2024-6119 edk2/openssl: Possible denial of service in X.509 name checks [rhel-10.0 beta])
|
||||||
|
|
||||||
|
* Fri Sep 13 2024 Miroslav Rezanina <mrezanin@redhat.com> - 20240524-7
|
||||||
|
- edk2-OvmfPkg-CpuHotplugSmm-delay-SMM-exit.patch [RHEL-56154]
|
||||||
|
- Resolves: RHEL-56154
|
||||||
|
(qemu-kvm: warning: Blocked re-entrant IO on MemoryRegion: acpi-cpu-hotplug at addr: 0x0 [rhel-10])
|
||||||
|
|
||||||
|
* Mon Sep 09 2024 Miroslav Rezanina <mrezanin@redhat.com> - 20240524-5
|
||||||
|
- edk2-UefiCpuPkg-PiSmmCpuDxeSmm-skip-PatchInstructionX86-c.patch [RHEL-50185]
|
||||||
|
- Resolves: RHEL-50185
|
||||||
|
([RHEL10] Hit soft lockup when hotplug vcpu)
|
||||||
|
|
||||||
|
* Mon Sep 02 2024 Miroslav Rezanina <mrezanin@redhat.com> - 20240524-4
|
||||||
|
- edk2-AmdSevDxe-Fix-the-shim-fallback-reboot-workaround-fo.patch [RHEL-56082]
|
||||||
|
- Resolves: RHEL-56082
|
||||||
|
([EDK2] Shim fallback reboot workaround might not work on SNP [rhel-10])
|
||||||
|
|
||||||
|
* Tue Aug 20 2024 Miroslav Rezanina <mrezanin@redhat.com> - 20240524-3
|
||||||
|
- edk2-NetworkPkg-DxeNetLib-adjust-PseudoRandom-error-loggi.patch [RHEL-45829]
|
||||||
|
- edk2-NetworkPkg-DxeNetLib-Reword-PseudoRandom-error-loggi.patch [RHEL-45829]
|
||||||
|
- Resolves: RHEL-45829
|
||||||
|
([RHEL-10.0] edk2 hit Failed to generate random data )
|
||||||
|
|
||||||
|
* Wed Jul 24 2024 Miroslav Rezanina <mrezanin@redhat.com> - 20240524-2
|
||||||
|
- edk2-MdeModulePkg-Warn-if-out-of-flash-space-when-writing.patch [RHEL-45261]
|
||||||
|
- Resolves: RHEL-45261
|
||||||
|
([RHEL10] edk2 disconnects abnormally before loading the kernel)
|
||||||
|
|
||||||
|
* Fri Jun 28 2024 Miroslav Rezanina <mrezanin@redhat.com> - 20240524-1
|
||||||
|
- Rebase to edk2-stable202405
|
||||||
|
- Resolves: RHEL-32487
|
||||||
|
|
||||||
|
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 20240214-2
|
||||||
|
- Bump release for June 2024 mass rebuild
|
||||||
|
|
||||||
|
* Tue Apr 02 2024 Miroslav Rezanina <mrezanin@redhat.com> - 20240214-1
|
||||||
|
- Imported edk2-202402 from RHEL 9
|
||||||
|
- Resolves: RHEL-30180
|
||||||
|
|
Loading…
Reference in new issue