Compare commits
6 Commits
Author | SHA1 | Date |
---|---|---|
Paolo Bonzini | 5443e70b9d | |
Cole Robinson | 63b5781563 | |
Paolo Bonzini | 158dacfc99 | |
Paolo Bonzini | 4b51b1a3b9 | |
Paolo Bonzini | 8654b013f0 | |
Paolo Bonzini | 1778f26d46 |
|
@ -1,11 +1,18 @@
|
|||
/openssl-*-hobbled.tar.xz
|
||||
/edk2-*.tar.xz
|
||||
/qemu-ovmf-secureboot-*.tar.gz
|
||||
/edk2-*.tar.gz
|
||||
/softfloat-20180726-gitb64af41.tar.xz
|
||||
/qemu-ovmf-secureboot-20190521-gitf158f12.tar.xz
|
||||
/qemu-ovmf-secureboot-20200228-gitc3e16b3.tar.xz
|
||||
/openssl-rhel-a75722161d20fd632f8875585d3aa066ec5fea93.tar.xz
|
||||
/openssl-rhel-bdd048e929dcfcf2f046d74e812e0e3d5fc58504.tar.xz
|
||||
/openssl-rhel-740e53ace8f6771c205bf84780e26bcd7a3275df.tar.xz
|
||||
/jansson-2.13.1.tar.bz2
|
||||
/edk2-r14365.tar.xz
|
||||
/edk2-r14844.tar.xz
|
||||
/edk2-r15376.tar.xz
|
||||
/edk2-buildtools-r2649.tar.xz
|
||||
/edk2-buildtools-r2670.tar.xz
|
||||
/edk2-buildtools-r17469.tar.xz
|
||||
/edk2-buildtools-r18975.tar.xz
|
||||
/edk2-20160418-a8c39ba.tar.gz
|
||||
/openssl-1.0.2g.tar.gz
|
||||
/openssl-1.0.2g-hobbled.tar.gz
|
||||
/openssl-1.0.2j-hobbled.tar.xz
|
||||
/edk2-20161105-3b25ca8.tar.gz
|
||||
/edk2-20170209-296153c5.tar.xz
|
||||
/edk2-20171011-92d07e4.tar.xz
|
||||
/openssl-1.1.0e-hobbled.tar.xz
|
||||
/qemu-ovmf-secureboot-1.1.2.tar.gz
|
||||
/openssl-1.1.0h-hobbled.tar.xz
|
||||
/edk2-20180529-ee3198e672e2.tar.xz
|
||||
|
|
|
@ -1,43 +0,0 @@
|
|||
From 85b2dc9bb820a749e95136bf7bdd0f6c49e8389d Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Thu, 4 Jun 2020 13:34:12 +0200
|
||||
Subject: [PATCH 01/14] BaseTools: do not build BrotliCompress (RH only)
|
||||
|
||||
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||
|
||||
- no change
|
||||
|
||||
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||
|
||||
- New patch.
|
||||
|
||||
BrotliCompress is not used for building ArmVirtPkg or OvmfPkg platforms.
|
||||
It depends on one of the upstream Brotli git submodules that we removed
|
||||
earlier in this rebase series. (See patch "remove upstream edk2's Brotli
|
||||
submodules (RH only").
|
||||
|
||||
Do not attempt to build BrotliCompress.
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit db8ccca337e2c5722c1d408d2541cf653d3371a2)
|
||||
---
|
||||
BaseTools/Source/C/GNUmakefile | 1 -
|
||||
1 file changed, 1 deletion(-)
|
||||
|
||||
diff --git a/BaseTools/Source/C/GNUmakefile b/BaseTools/Source/C/GNUmakefile
|
||||
index 5275f657efe8..39d719975309 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 \
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
From 37942481c89eca732239c23fe606680e6e3faf77 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 27 Jan 2016 03:05:18 +0100
|
||||
Subject: [PATCH] OvmfPkg: silence EFI_D_VERBOSE (0x00400000) in NvmExpressDxe
|
||||
|
||||
NvmExpressDxe logs all BlockIo read & write calls on the EFI_D_VERBOSE
|
||||
level.
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
OvmfPkg/OvmfPkgIa32.dsc | 5 ++++-
|
||||
OvmfPkg/OvmfPkgIa32X64.dsc | 5 ++++-
|
||||
OvmfPkg/OvmfPkgX64.dsc | 5 ++++-
|
||||
3 files changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
index a28b511d5c..7f725ab198 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -738,7 +738,10 @@
|
||||
OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
||||
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index 115d0c01ff..d444a84267 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -747,7 +747,10 @@
|
||||
OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
||||
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||
index 362eb789c7..f4e072870c 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -745,7 +745,10 @@
|
||||
OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
||||
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
|
@ -1,50 +0,0 @@
|
|||
From f1996ce088098f8479eec2f0739978b9de7840fc Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Thu, 4 Jun 2020 13:39:08 +0200
|
||||
Subject: [PATCH 02/14] MdeModulePkg: remove package-private Brotli include
|
||||
path (RH only)
|
||||
|
||||
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||
|
||||
- no change
|
||||
|
||||
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||
|
||||
- New patch.
|
||||
|
||||
Originating from upstream commit 58802e02c41b
|
||||
("MdeModulePkg/BrotliCustomDecompressLib: Make brotli a submodule",
|
||||
2020-04-16), "MdeModulePkg/MdeModulePkg.dec" contains a package-internal
|
||||
include path into a Brotli submodule.
|
||||
|
||||
The edk2 build system requires such include paths to resolve successfully,
|
||||
regardless of the firmware platform being built. Because
|
||||
BrotliCustomDecompressLib is not consumed by any OvmfPkg or ArmVirtPkg
|
||||
platforms, and we've removed the submodule earlier in this patch set,
|
||||
remove the include path too.
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit e05e0de713c4a2b8adb6ff9809611f222bfe50ed)
|
||||
---
|
||||
MdeModulePkg/MdeModulePkg.dec | 3 ---
|
||||
1 file changed, 3 deletions(-)
|
||||
|
||||
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
|
||||
index 95dd077e19b3..1609b6d9c29e 100644
|
||||
--- a/MdeModulePkg/MdeModulePkg.dec
|
||||
+++ b/MdeModulePkg/MdeModulePkg.dec
|
||||
@@ -26,9 +26,6 @@ [Includes]
|
||||
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
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
From 5e55066b33d894cb7e9b84179de449e8734cb57d Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 27 Jan 2016 03:05:18 +0100
|
||||
Subject: [PATCH] OvmfPkg: silence EFI_D_VERBOSE (0x00400000) in the DXE core
|
||||
|
||||
The DXE core logs a bunch of Properties Table and Memory Attributes Table
|
||||
related information, on the EFI_D_VERBOSE level, that I am at the moment
|
||||
not interested in. Suppress said output.
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
OvmfPkg/OvmfPkgIa32.dsc | 2 ++
|
||||
OvmfPkg/OvmfPkgIa32X64.dsc | 2 ++
|
||||
OvmfPkg/OvmfPkgX64.dsc | 2 ++
|
||||
3 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
index 7f725ab198..83e47281ed 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -644,6 +644,8 @@
|
||||
<LibraryClasses>
|
||||
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
||||
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
}
|
||||
|
||||
MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index d444a84267..a2adacfbd3 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -653,6 +653,8 @@
|
||||
<LibraryClasses>
|
||||
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
||||
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
}
|
||||
|
||||
MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||
index f4e072870c..b57e32f432 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -651,6 +651,8 @@
|
||||
<LibraryClasses>
|
||||
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
||||
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
}
|
||||
|
||||
MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
|
@ -1,180 +0,0 @@
|
|||
From 212665c3bc7c480d6dfa7df52c50457e83af149a Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Tue, 25 Feb 2014 22:40:01 +0100
|
||||
Subject: [PATCH 03/14] MdeModulePkg: TerminalDxe: set xterm resolution on mode
|
||||
change (RH only)
|
||||
|
||||
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||
|
||||
- Resolve harmless conflict in "MdeModulePkg/MdeModulePkg.dec",
|
||||
originating from new upstream commits
|
||||
- 45bc28172fbf ("MdeModulePkg.dec: Change PCDs for status code.",
|
||||
2020-06-18),
|
||||
- 0785c619a58a ("MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable
|
||||
BAR Capability", 2021-01-04),
|
||||
- ef23012e5439 ("MdeModulePkg: Change default value of
|
||||
PcdPcieResizableBarSupport to FALSE", 2021-01-14).
|
||||
|
||||
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||
|
||||
- Resolve trivial conflict in "MdeModulePkg/MdeModulePkg.dec", arising
|
||||
from upstream commit 166830d8f7ca ("MdeModulePkg/dec: add
|
||||
PcdTcgPfpMeasurementRevision PCD", 2020-01-06).
|
||||
|
||||
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||
|
||||
- Conflict in "MdeModulePkg/MdeModulePkg.dec" due to upstream commits
|
||||
- 1103ba946aee ("MdeModulePkg: Add Capsule On Disk related definition.",
|
||||
2019-06-26),
|
||||
- 1c7b3eb84631 ("MdeModulePkg/DxeIpl: Introduce PCD
|
||||
PcdUse5LevelPageTable", 2019-08-09),
|
||||
with easy manual resolution.
|
||||
|
||||
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
|
||||
RHEL-8.1/20190308-89910a39dcfd rebase:
|
||||
|
||||
- no change
|
||||
|
||||
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
|
||||
RHEL-8.0/20180508-ee3198e672e2 rebase:
|
||||
|
||||
- reorder the rebase changelog in the commit message so that it reads like
|
||||
a blog: place more recent entries near the top
|
||||
- no changes to the patch body
|
||||
|
||||
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
|
||||
|
||||
- no change
|
||||
|
||||
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||
|
||||
- Refresh downstream-only commit 2909e025db68 against "MdeModulePkg.dec"
|
||||
context change from upstream commits e043f7895b83 ("MdeModulePkg: Add
|
||||
PCD PcdPteMemoryEncryptionAddressOrMask", 2017-02-27) and 76081dfcc5b2
|
||||
("MdeModulePkg: Add PROMPT&HELP string of pcd to UNI file", 2017-03-03).
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- refresh commit 519b9751573e against various context changes
|
||||
|
||||
The
|
||||
|
||||
CSI Ps ; Ps ; Ps t
|
||||
|
||||
escape sequence serves for window manipulation. We can use the
|
||||
|
||||
CSI 8 ; <rows> ; <columns> t
|
||||
|
||||
sequence to adapt eg. the xterm window size to the selected console mode.
|
||||
|
||||
Reference: <http://rtfm.etla.org/xterm/ctlseq.html>
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit 2909e025db6878723b49644a8a0cf160d07e6444)
|
||||
(cherry picked from commit b9c5c901f25e48d68eef6e78a4abca00e153f574)
|
||||
(cherry picked from commit b7f6115b745de8cbc5214b6ede33c9a8558beb90)
|
||||
(cherry picked from commit 67415982afdc77922aa37496c981adeb4351acdb)
|
||||
(cherry picked from commit cfccb98d13e955beb0b93b4a75a973f30c273ffc)
|
||||
(cherry picked from commit a11602f5e2ef930be5b693ddfd0c789a1bd4c60c)
|
||||
(cherry picked from commit bc2266f20de5db1636e09a07e4a72c8dbf505f5a)
|
||||
---
|
||||
MdeModulePkg/MdeModulePkg.dec | 4 +++
|
||||
.../Console/TerminalDxe/TerminalDxe.inf | 2 ++
|
||||
.../Console/TerminalDxe/TerminalConOut.c | 29 +++++++++++++++++++
|
||||
3 files changed, 35 insertions(+)
|
||||
|
||||
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
|
||||
index 1609b6d9c29e..c0d376bed1f0 100644
|
||||
--- a/MdeModulePkg/MdeModulePkg.dec
|
||||
+++ b/MdeModulePkg/MdeModulePkg.dec
|
||||
@@ -2127,6 +2127,10 @@ [PcdsFixedAtBuild, PcdsPatchableInModule, PcdsDynamic, PcdsDynamicEx]
|
||||
# @Prompt The shared bit mask when Intel Tdx is enabled.
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdTdxSharedBitMask|0x0|UINT64|0x10000025
|
||||
|
||||
+ ## Controls whether TerminalDxe outputs an XTerm resize sequence on terminal
|
||||
+ # mode change.
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE|BOOLEAN|0x00010080
|
||||
+
|
||||
[PcdsPatchableInModule]
|
||||
## Specify memory size with page number for PEI code when
|
||||
# Loading Module at Fixed Address feature is enabled.
|
||||
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||
index b2a8aeba8510..eff625346539 100644
|
||||
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||
@@ -55,6 +55,7 @@ [LibraryClasses]
|
||||
DebugLib
|
||||
PcdLib
|
||||
BaseLib
|
||||
+ PrintLib
|
||||
|
||||
[Guids]
|
||||
## SOMETIMES_PRODUCES ## Variable:L"ConInDev"
|
||||
@@ -87,6 +88,7 @@ [Protocols]
|
||||
[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.
|
||||
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
|
||||
index 7809869e7d49..496849458db4 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,15 @@ 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 +509,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);
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
From c667557c191923e981b972b5679fc49cec60d7e5 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Sun, 8 Jul 2012 14:26:07 +0200
|
||||
Subject: [PATCH] OvmfPkg: enable DEBUG_VERBOSE
|
||||
|
||||
Enable verbose debug logs.
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
OvmfPkg/OvmfPkgIa32.dsc | 2 +-
|
||||
OvmfPkg/OvmfPkgIa32X64.dsc | 2 +-
|
||||
OvmfPkg/OvmfPkgX64.dsc | 2 +-
|
||||
3 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
index 83e47281ed..cd0e71869b 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -486,7 +486,7 @@
|
||||
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||
# // significantly impact boot performance
|
||||
# DEBUG_ERROR 0x80000000 // Error
|
||||
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||
|
||||
!ifdef $(SOURCE_DEBUG_ENABLE)
|
||||
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index a2adacfbd3..7f7a78f60a 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -491,7 +491,7 @@
|
||||
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||
# // significantly impact boot performance
|
||||
# DEBUG_ERROR 0x80000000 // Error
|
||||
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||
|
||||
!ifdef $(SOURCE_DEBUG_ENABLE)
|
||||
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||
index b57e32f432..739807efc4 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -491,7 +491,7 @@
|
||||
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||
# // significantly impact boot performance
|
||||
# DEBUG_ERROR 0x80000000 // Error
|
||||
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||
|
||||
!ifdef $(SOURCE_DEBUG_ENABLE)
|
||||
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
|
@ -0,0 +1,30 @@
|
|||
From 6324a2a8ae4fc96c9e13d39483c5ee0cb1fff619 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Thu, 20 Feb 2014 22:54:45 +0100
|
||||
Subject: [PATCH] OvmfPkg: increase max debug message length to 512
|
||||
|
||||
Upstream prefers short debug messages (sometimes even limited to 80
|
||||
characters), but any line length under 512 characters is just unsuitable
|
||||
for effective debugging. (For example, config strings in HII routing,
|
||||
logged by the platform driver "OvmfPkg/PlatformDxe" on DEBUG_VERBOSE
|
||||
level, can be several hundred characters long.) 512 is an empirically good
|
||||
value.
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
---
|
||||
OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
|
||||
index 36cde54976..c0c4eaee0f 100644
|
||||
--- a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
|
||||
+++ b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
|
||||
@@ -27,7 +27,7 @@
|
||||
//
|
||||
// Define the maximum debug and assert message length that this library supports
|
||||
//
|
||||
-#define MAX_DEBUG_MESSAGE_LENGTH 0x100
|
||||
+#define MAX_DEBUG_MESSAGE_LENGTH 0x200
|
||||
|
||||
/**
|
||||
Prints a debug message to the debug output device if the specified error level is enabled.
|
|
@ -1,219 +0,0 @@
|
|||
From 677df60b929f97fde9e7d03dfe82b4bf593d5986 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 14 Oct 2015 15:59:06 +0200
|
||||
Subject: [PATCH 04/14] OvmfPkg: take PcdResizeXterm from the QEMU command line
|
||||
(RH only)
|
||||
|
||||
edk2-stable202205 rebase
|
||||
|
||||
- re-add UPDATE_BOOLEAN_PCD_FROM_FW_CFG
|
||||
- add microvm, cloudhw and inteltdx
|
||||
|
||||
edk2-stable202108 rebase
|
||||
|
||||
- resolve conflict in OvmfPkg/PlatformPei/PlatformPei.inf
|
||||
|
||||
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 | 1 +
|
||||
OvmfPkg/OvmfPkgIa32.dsc | 1 +
|
||||
OvmfPkg/OvmfPkgIa32X64.dsc | 1 +
|
||||
OvmfPkg/OvmfPkgX64.dsc | 1 +
|
||||
OvmfPkg/PlatformPei/PlatformPei.inf | 1 +
|
||||
OvmfPkg/PlatformPei/Platform.c | 13 +++++++++++++
|
||||
9 files changed, 21 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
index b32049194d39..bff9f166219e 100644
|
||||
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
@@ -476,6 +476,7 @@ [PcdsFixedAtBuild]
|
||||
[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 2a1139daaa19..1e61af6eeff6 100644
|
||||
--- a/OvmfPkg/CloudHv/CloudHvX64.dsc
|
||||
+++ b/OvmfPkg/CloudHv/CloudHvX64.dsc
|
||||
@@ -575,6 +575,7 @@ [PcdsDynamicDefault]
|
||||
# ($(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 d4403f11a7c6..86673d06ef2e 100644
|
||||
--- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||
+++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||
@@ -473,6 +473,7 @@ [PcdsDynamicDefault]
|
||||
# ($(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 5f671bc3840d..02c225f6d2a7 100644
|
||||
--- a/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||
+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||
@@ -573,6 +573,7 @@ [PcdsDynamicDefault]
|
||||
# ($(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 e333b8b41803..f5390a30fb09 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -595,6 +595,7 @@ [PcdsDynamicDefault]
|
||||
# ($(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 25974230a27e..c43fb2d39910 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -603,6 +603,7 @@ [PcdsDynamicDefault]
|
||||
# ($(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 c1762ffca445..ce49a3d3a54d 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -626,6 +626,7 @@ [PcdsDynamicDefault]
|
||||
# ($(SMM_REQUIRE) == FALSE)
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||
!if $(SMM_REQUIRE) == FALSE
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase64|0
|
||||
diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||
index 3934aeed9514..98123ec63b3d 100644
|
||||
--- a/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||
+++ b/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||
@@ -100,6 +100,7 @@ [Pcd]
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareSize
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack
|
||||
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
|
||||
index c56247e294f2..5d7f50cc5876 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,
|
||||
@@ -386,6 +398,7 @@ InitializePlatform (
|
||||
MemTypeInfoInitialization (PlatformInfoHob);
|
||||
MemMapInitialization (PlatformInfoHob);
|
||||
NoexecDxeInitialization (PlatformInfoHob);
|
||||
+ UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
|
||||
}
|
||||
|
||||
InstallClearCacheCallback ();
|
||||
--
|
||||
2.40.1
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,540 @@
|
|||
From e4021f592da913f7f2b841ce6d4272fb8410ac7f Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Thu, 12 Jun 2014 00:17:59 +0200
|
||||
Subject: [PATCH] OvmfPkg: QemuVideoDxe: enable debug messages in VbeShim
|
||||
|
||||
The Int10h VBE Shim is capable of emitting short debug messages when the
|
||||
win2k8r2 UEFI guest uses (emulates) the Video BIOS. In upstream the quiet
|
||||
version is preferred; for us debug messages are important as a default.
|
||||
|
||||
For this patch, the DEBUG macro is enabled in the assembly file, and then
|
||||
the header file is regenerated from the assembly, by running
|
||||
"OvmfPkg/QemuVideoDxe/VbeShim.sh".
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit ccda46526bb2e573d9b54f0db75d27e442b4566f)
|
||||
(cherry picked from commit ed45b26dbeadd63dd8f2edf627290957d8bbb3b2)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
OvmfPkg/QemuVideoDxe/VbeShim.asm | 2 +-
|
||||
OvmfPkg/QemuVideoDxe/VbeShim.h | 481 ++++++++++++++++++++-----------
|
||||
2 files changed, 308 insertions(+), 175 deletions(-)
|
||||
|
||||
diff --git a/OvmfPkg/QemuVideoDxe/VbeShim.asm b/OvmfPkg/QemuVideoDxe/VbeShim.asm
|
||||
index 18fa9209d4..f87ed5cf30 100644
|
||||
--- a/OvmfPkg/QemuVideoDxe/VbeShim.asm
|
||||
+++ b/OvmfPkg/QemuVideoDxe/VbeShim.asm
|
||||
@@ -18,7 +18,7 @@
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
; enable this macro for debug messages
|
||||
-;%define DEBUG
|
||||
+%define DEBUG
|
||||
|
||||
%macro DebugLog 1
|
||||
%ifdef DEBUG
|
||||
diff --git a/OvmfPkg/QemuVideoDxe/VbeShim.h b/OvmfPkg/QemuVideoDxe/VbeShim.h
|
||||
index cc9b6e14cd..325d6478a1 100644
|
||||
--- a/OvmfPkg/QemuVideoDxe/VbeShim.h
|
||||
+++ b/OvmfPkg/QemuVideoDxe/VbeShim.h
|
||||
@@ -517,185 +517,318 @@ STATIC CONST UINT8 mVbeShim[] = {
|
||||
/* 000001FE nop */ 0x90,
|
||||
/* 000001FF nop */ 0x90,
|
||||
/* 00000200 cmp ax,0x4f00 */ 0x3D, 0x00, 0x4F,
|
||||
- /* 00000203 jz 0x22d */ 0x74, 0x28,
|
||||
+ /* 00000203 jz 0x235 */ 0x74, 0x30,
|
||||
/* 00000205 cmp ax,0x4f01 */ 0x3D, 0x01, 0x4F,
|
||||
- /* 00000208 jz 0x245 */ 0x74, 0x3B,
|
||||
+ /* 00000208 jz 0x255 */ 0x74, 0x4B,
|
||||
/* 0000020A cmp ax,0x4f02 */ 0x3D, 0x02, 0x4F,
|
||||
- /* 0000020D jz 0x269 */ 0x74, 0x5A,
|
||||
+ /* 0000020D jz 0x289 */ 0x74, 0x7A,
|
||||
/* 0000020F cmp ax,0x4f03 */ 0x3D, 0x03, 0x4F,
|
||||
- /* 00000212 jz word 0x331 */ 0x0F, 0x84, 0x1B, 0x01,
|
||||
+ /* 00000212 jz word 0x361 */ 0x0F, 0x84, 0x4B, 0x01,
|
||||
/* 00000216 cmp ax,0x4f10 */ 0x3D, 0x10, 0x4F,
|
||||
- /* 00000219 jz word 0x336 */ 0x0F, 0x84, 0x19, 0x01,
|
||||
+ /* 00000219 jz word 0x36e */ 0x0F, 0x84, 0x51, 0x01,
|
||||
/* 0000021D cmp ax,0x4f15 */ 0x3D, 0x15, 0x4F,
|
||||
- /* 00000220 jz word 0x338 */ 0x0F, 0x84, 0x14, 0x01,
|
||||
+ /* 00000220 jz word 0x378 */ 0x0F, 0x84, 0x54, 0x01,
|
||||
/* 00000224 cmp ah,0x0 */ 0x80, 0xFC, 0x00,
|
||||
- /* 00000227 jz word 0x33a */ 0x0F, 0x84, 0x0F, 0x01,
|
||||
- /* 0000022B jmp short 0x22b */ 0xEB, 0xFE,
|
||||
- /* 0000022D push es */ 0x06,
|
||||
- /* 0000022E push di */ 0x57,
|
||||
- /* 0000022F push ds */ 0x1E,
|
||||
- /* 00000230 push si */ 0x56,
|
||||
- /* 00000231 push cx */ 0x51,
|
||||
- /* 00000232 push cs */ 0x0E,
|
||||
- /* 00000233 pop ds */ 0x1F,
|
||||
- /* 00000234 mov si,0x0 */ 0xBE, 0x00, 0x00,
|
||||
- /* 00000237 mov cx,0x100 */ 0xB9, 0x00, 0x01,
|
||||
- /* 0000023A cld */ 0xFC,
|
||||
- /* 0000023B rep movsb */ 0xF3, 0xA4,
|
||||
- /* 0000023D pop cx */ 0x59,
|
||||
- /* 0000023E pop si */ 0x5E,
|
||||
- /* 0000023F pop ds */ 0x1F,
|
||||
- /* 00000240 pop di */ 0x5F,
|
||||
- /* 00000241 pop es */ 0x07,
|
||||
- /* 00000242 jmp word 0x34c */ 0xE9, 0x07, 0x01,
|
||||
- /* 00000245 push es */ 0x06,
|
||||
- /* 00000246 push di */ 0x57,
|
||||
- /* 00000247 push ds */ 0x1E,
|
||||
- /* 00000248 push si */ 0x56,
|
||||
- /* 00000249 push cx */ 0x51,
|
||||
- /* 0000024A and cx,0xbfff */ 0x81, 0xE1, 0xFF, 0xBF,
|
||||
- /* 0000024E cmp cx,0xf1 */ 0x81, 0xF9, 0xF1, 0x00,
|
||||
- /* 00000252 jz 0x256 */ 0x74, 0x02,
|
||||
- /* 00000254 jmp short 0x22b */ 0xEB, 0xD5,
|
||||
- /* 00000256 push cs */ 0x0E,
|
||||
- /* 00000257 pop ds */ 0x1F,
|
||||
- /* 00000258 mov si,0x100 */ 0xBE, 0x00, 0x01,
|
||||
- /* 0000025B mov cx,0x100 */ 0xB9, 0x00, 0x01,
|
||||
- /* 0000025E cld */ 0xFC,
|
||||
- /* 0000025F rep movsb */ 0xF3, 0xA4,
|
||||
- /* 00000261 pop cx */ 0x59,
|
||||
- /* 00000262 pop si */ 0x5E,
|
||||
- /* 00000263 pop ds */ 0x1F,
|
||||
- /* 00000264 pop di */ 0x5F,
|
||||
- /* 00000265 pop es */ 0x07,
|
||||
- /* 00000266 jmp word 0x34c */ 0xE9, 0xE3, 0x00,
|
||||
- /* 00000269 push dx */ 0x52,
|
||||
- /* 0000026A push ax */ 0x50,
|
||||
- /* 0000026B cmp bx,0x40f1 */ 0x81, 0xFB, 0xF1, 0x40,
|
||||
- /* 0000026F jz 0x273 */ 0x74, 0x02,
|
||||
- /* 00000271 jmp short 0x22b */ 0xEB, 0xB8,
|
||||
- /* 00000273 mov dx,0x3c0 */ 0xBA, 0xC0, 0x03,
|
||||
- /* 00000276 mov al,0x20 */ 0xB0, 0x20,
|
||||
- /* 00000278 out dx,al */ 0xEE,
|
||||
- /* 00000279 push dx */ 0x52,
|
||||
- /* 0000027A push ax */ 0x50,
|
||||
- /* 0000027B mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 0000027E mov ax,0x4 */ 0xB8, 0x04, 0x00,
|
||||
- /* 00000281 out dx,ax */ 0xEF,
|
||||
- /* 00000282 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000285 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
- /* 00000288 out dx,ax */ 0xEF,
|
||||
- /* 00000289 pop ax */ 0x58,
|
||||
- /* 0000028A pop dx */ 0x5A,
|
||||
- /* 0000028B push dx */ 0x52,
|
||||
- /* 0000028C push ax */ 0x50,
|
||||
- /* 0000028D mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 00000290 mov ax,0x5 */ 0xB8, 0x05, 0x00,
|
||||
- /* 00000293 out dx,ax */ 0xEF,
|
||||
- /* 00000294 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000297 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
- /* 0000029A out dx,ax */ 0xEF,
|
||||
- /* 0000029B pop ax */ 0x58,
|
||||
- /* 0000029C pop dx */ 0x5A,
|
||||
- /* 0000029D push dx */ 0x52,
|
||||
- /* 0000029E push ax */ 0x50,
|
||||
- /* 0000029F mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002A2 mov ax,0x8 */ 0xB8, 0x08, 0x00,
|
||||
- /* 000002A5 out dx,ax */ 0xEF,
|
||||
- /* 000002A6 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002A9 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
- /* 000002AC out dx,ax */ 0xEF,
|
||||
- /* 000002AD pop ax */ 0x58,
|
||||
- /* 000002AE pop dx */ 0x5A,
|
||||
- /* 000002AF push dx */ 0x52,
|
||||
- /* 000002B0 push ax */ 0x50,
|
||||
- /* 000002B1 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002B4 mov ax,0x9 */ 0xB8, 0x09, 0x00,
|
||||
- /* 000002B7 out dx,ax */ 0xEF,
|
||||
- /* 000002B8 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002BB mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
- /* 000002BE out dx,ax */ 0xEF,
|
||||
- /* 000002BF pop ax */ 0x58,
|
||||
- /* 000002C0 pop dx */ 0x5A,
|
||||
- /* 000002C1 push dx */ 0x52,
|
||||
- /* 000002C2 push ax */ 0x50,
|
||||
- /* 000002C3 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002C6 mov ax,0x3 */ 0xB8, 0x03, 0x00,
|
||||
- /* 000002C9 out dx,ax */ 0xEF,
|
||||
- /* 000002CA mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002CD mov ax,0x20 */ 0xB8, 0x20, 0x00,
|
||||
- /* 000002D0 out dx,ax */ 0xEF,
|
||||
- /* 000002D1 pop ax */ 0x58,
|
||||
- /* 000002D2 pop dx */ 0x5A,
|
||||
- /* 000002D3 push dx */ 0x52,
|
||||
- /* 000002D4 push ax */ 0x50,
|
||||
- /* 000002D5 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002D8 mov ax,0x1 */ 0xB8, 0x01, 0x00,
|
||||
- /* 000002DB out dx,ax */ 0xEF,
|
||||
- /* 000002DC mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002DF mov ax,0x400 */ 0xB8, 0x00, 0x04,
|
||||
- /* 000002E2 out dx,ax */ 0xEF,
|
||||
- /* 000002E3 pop ax */ 0x58,
|
||||
- /* 000002E4 pop dx */ 0x5A,
|
||||
- /* 000002E5 push dx */ 0x52,
|
||||
- /* 000002E6 push ax */ 0x50,
|
||||
- /* 000002E7 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002EA mov ax,0x6 */ 0xB8, 0x06, 0x00,
|
||||
- /* 000002ED out dx,ax */ 0xEF,
|
||||
- /* 000002EE mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002F1 mov ax,0x400 */ 0xB8, 0x00, 0x04,
|
||||
- /* 000002F4 out dx,ax */ 0xEF,
|
||||
- /* 000002F5 pop ax */ 0x58,
|
||||
- /* 000002F6 pop dx */ 0x5A,
|
||||
- /* 000002F7 push dx */ 0x52,
|
||||
- /* 000002F8 push ax */ 0x50,
|
||||
- /* 000002F9 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002FC mov ax,0x2 */ 0xB8, 0x02, 0x00,
|
||||
- /* 000002FF out dx,ax */ 0xEF,
|
||||
- /* 00000300 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000303 mov ax,0x300 */ 0xB8, 0x00, 0x03,
|
||||
- /* 00000306 out dx,ax */ 0xEF,
|
||||
- /* 00000307 pop ax */ 0x58,
|
||||
- /* 00000308 pop dx */ 0x5A,
|
||||
- /* 00000309 push dx */ 0x52,
|
||||
- /* 0000030A push ax */ 0x50,
|
||||
- /* 0000030B mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 0000030E mov ax,0x7 */ 0xB8, 0x07, 0x00,
|
||||
- /* 00000311 out dx,ax */ 0xEF,
|
||||
- /* 00000312 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000315 mov ax,0x300 */ 0xB8, 0x00, 0x03,
|
||||
- /* 00000318 out dx,ax */ 0xEF,
|
||||
- /* 00000319 pop ax */ 0x58,
|
||||
- /* 0000031A pop dx */ 0x5A,
|
||||
- /* 0000031B push dx */ 0x52,
|
||||
- /* 0000031C push ax */ 0x50,
|
||||
- /* 0000031D mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 00000320 mov ax,0x4 */ 0xB8, 0x04, 0x00,
|
||||
- /* 00000323 out dx,ax */ 0xEF,
|
||||
- /* 00000324 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000327 mov ax,0x41 */ 0xB8, 0x41, 0x00,
|
||||
- /* 0000032A out dx,ax */ 0xEF,
|
||||
- /* 0000032B pop ax */ 0x58,
|
||||
- /* 0000032C pop dx */ 0x5A,
|
||||
- /* 0000032D pop ax */ 0x58,
|
||||
- /* 0000032E pop dx */ 0x5A,
|
||||
- /* 0000032F jmp short 0x34c */ 0xEB, 0x1B,
|
||||
- /* 00000331 mov bx,0x40f1 */ 0xBB, 0xF1, 0x40,
|
||||
- /* 00000334 jmp short 0x34c */ 0xEB, 0x16,
|
||||
- /* 00000336 jmp short 0x350 */ 0xEB, 0x18,
|
||||
- /* 00000338 jmp short 0x350 */ 0xEB, 0x16,
|
||||
- /* 0000033A cmp al,0x3 */ 0x3C, 0x03,
|
||||
- /* 0000033C jz 0x345 */ 0x74, 0x07,
|
||||
- /* 0000033E cmp al,0x12 */ 0x3C, 0x12,
|
||||
- /* 00000340 jz 0x349 */ 0x74, 0x07,
|
||||
- /* 00000342 jmp word 0x22b */ 0xE9, 0xE6, 0xFE,
|
||||
- /* 00000345 mov al,0x30 */ 0xB0, 0x30,
|
||||
- /* 00000347 jmp short 0x34b */ 0xEB, 0x02,
|
||||
- /* 00000349 mov al,0x20 */ 0xB0, 0x20,
|
||||
- /* 0000034B iretw */ 0xCF,
|
||||
- /* 0000034C mov ax,0x4f */ 0xB8, 0x4F, 0x00,
|
||||
- /* 0000034F iretw */ 0xCF,
|
||||
- /* 00000350 mov ax,0x14f */ 0xB8, 0x4F, 0x01,
|
||||
- /* 00000353 iretw */ 0xCF,
|
||||
+ /* 00000227 jz word 0x382 */ 0x0F, 0x84, 0x57, 0x01,
|
||||
+ /* 0000022B push si */ 0x56,
|
||||
+ /* 0000022C mov si,0x3e9 */ 0xBE, 0xE9, 0x03,
|
||||
+ /* 0000022F call word 0x3c4 */ 0xE8, 0x92, 0x01,
|
||||
+ /* 00000232 pop si */ 0x5E,
|
||||
+ /* 00000233 jmp short 0x233 */ 0xEB, 0xFE,
|
||||
+ /* 00000235 push es */ 0x06,
|
||||
+ /* 00000236 push di */ 0x57,
|
||||
+ /* 00000237 push ds */ 0x1E,
|
||||
+ /* 00000238 push si */ 0x56,
|
||||
+ /* 00000239 push cx */ 0x51,
|
||||
+ /* 0000023A push si */ 0x56,
|
||||
+ /* 0000023B mov si,0x3fb */ 0xBE, 0xFB, 0x03,
|
||||
+ /* 0000023E call word 0x3c4 */ 0xE8, 0x83, 0x01,
|
||||
+ /* 00000241 pop si */ 0x5E,
|
||||
+ /* 00000242 push cs */ 0x0E,
|
||||
+ /* 00000243 pop ds */ 0x1F,
|
||||
+ /* 00000244 mov si,0x0 */ 0xBE, 0x00, 0x00,
|
||||
+ /* 00000247 mov cx,0x100 */ 0xB9, 0x00, 0x01,
|
||||
+ /* 0000024A cld */ 0xFC,
|
||||
+ /* 0000024B rep movsb */ 0xF3, 0xA4,
|
||||
+ /* 0000024D pop cx */ 0x59,
|
||||
+ /* 0000024E pop si */ 0x5E,
|
||||
+ /* 0000024F pop ds */ 0x1F,
|
||||
+ /* 00000250 pop di */ 0x5F,
|
||||
+ /* 00000251 pop es */ 0x07,
|
||||
+ /* 00000252 jmp word 0x3ac */ 0xE9, 0x57, 0x01,
|
||||
+ /* 00000255 push es */ 0x06,
|
||||
+ /* 00000256 push di */ 0x57,
|
||||
+ /* 00000257 push ds */ 0x1E,
|
||||
+ /* 00000258 push si */ 0x56,
|
||||
+ /* 00000259 push cx */ 0x51,
|
||||
+ /* 0000025A push si */ 0x56,
|
||||
+ /* 0000025B mov si,0x404 */ 0xBE, 0x04, 0x04,
|
||||
+ /* 0000025E call word 0x3c4 */ 0xE8, 0x63, 0x01,
|
||||
+ /* 00000261 pop si */ 0x5E,
|
||||
+ /* 00000262 and cx,0xbfff */ 0x81, 0xE1, 0xFF, 0xBF,
|
||||
+ /* 00000266 cmp cx,0xf1 */ 0x81, 0xF9, 0xF1, 0x00,
|
||||
+ /* 0000026A jz 0x276 */ 0x74, 0x0A,
|
||||
+ /* 0000026C push si */ 0x56,
|
||||
+ /* 0000026D mov si,0x432 */ 0xBE, 0x32, 0x04,
|
||||
+ /* 00000270 call word 0x3c4 */ 0xE8, 0x51, 0x01,
|
||||
+ /* 00000273 pop si */ 0x5E,
|
||||
+ /* 00000274 jmp short 0x233 */ 0xEB, 0xBD,
|
||||
+ /* 00000276 push cs */ 0x0E,
|
||||
+ /* 00000277 pop ds */ 0x1F,
|
||||
+ /* 00000278 mov si,0x100 */ 0xBE, 0x00, 0x01,
|
||||
+ /* 0000027B mov cx,0x100 */ 0xB9, 0x00, 0x01,
|
||||
+ /* 0000027E cld */ 0xFC,
|
||||
+ /* 0000027F rep movsb */ 0xF3, 0xA4,
|
||||
+ /* 00000281 pop cx */ 0x59,
|
||||
+ /* 00000282 pop si */ 0x5E,
|
||||
+ /* 00000283 pop ds */ 0x1F,
|
||||
+ /* 00000284 pop di */ 0x5F,
|
||||
+ /* 00000285 pop es */ 0x07,
|
||||
+ /* 00000286 jmp word 0x3ac */ 0xE9, 0x23, 0x01,
|
||||
+ /* 00000289 push dx */ 0x52,
|
||||
+ /* 0000028A push ax */ 0x50,
|
||||
+ /* 0000028B push si */ 0x56,
|
||||
+ /* 0000028C mov si,0x41a */ 0xBE, 0x1A, 0x04,
|
||||
+ /* 0000028F call word 0x3c4 */ 0xE8, 0x32, 0x01,
|
||||
+ /* 00000292 pop si */ 0x5E,
|
||||
+ /* 00000293 cmp bx,0x40f1 */ 0x81, 0xFB, 0xF1, 0x40,
|
||||
+ /* 00000297 jz 0x2a3 */ 0x74, 0x0A,
|
||||
+ /* 00000299 push si */ 0x56,
|
||||
+ /* 0000029A mov si,0x432 */ 0xBE, 0x32, 0x04,
|
||||
+ /* 0000029D call word 0x3c4 */ 0xE8, 0x24, 0x01,
|
||||
+ /* 000002A0 pop si */ 0x5E,
|
||||
+ /* 000002A1 jmp short 0x233 */ 0xEB, 0x90,
|
||||
+ /* 000002A3 mov dx,0x3c0 */ 0xBA, 0xC0, 0x03,
|
||||
+ /* 000002A6 mov al,0x20 */ 0xB0, 0x20,
|
||||
+ /* 000002A8 out dx,al */ 0xEE,
|
||||
+ /* 000002A9 push dx */ 0x52,
|
||||
+ /* 000002AA push ax */ 0x50,
|
||||
+ /* 000002AB mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002AE mov ax,0x4 */ 0xB8, 0x04, 0x00,
|
||||
+ /* 000002B1 out dx,ax */ 0xEF,
|
||||
+ /* 000002B2 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002B5 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
+ /* 000002B8 out dx,ax */ 0xEF,
|
||||
+ /* 000002B9 pop ax */ 0x58,
|
||||
+ /* 000002BA pop dx */ 0x5A,
|
||||
+ /* 000002BB push dx */ 0x52,
|
||||
+ /* 000002BC push ax */ 0x50,
|
||||
+ /* 000002BD mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002C0 mov ax,0x5 */ 0xB8, 0x05, 0x00,
|
||||
+ /* 000002C3 out dx,ax */ 0xEF,
|
||||
+ /* 000002C4 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002C7 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
+ /* 000002CA out dx,ax */ 0xEF,
|
||||
+ /* 000002CB pop ax */ 0x58,
|
||||
+ /* 000002CC pop dx */ 0x5A,
|
||||
+ /* 000002CD push dx */ 0x52,
|
||||
+ /* 000002CE push ax */ 0x50,
|
||||
+ /* 000002CF mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002D2 mov ax,0x8 */ 0xB8, 0x08, 0x00,
|
||||
+ /* 000002D5 out dx,ax */ 0xEF,
|
||||
+ /* 000002D6 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002D9 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
+ /* 000002DC out dx,ax */ 0xEF,
|
||||
+ /* 000002DD pop ax */ 0x58,
|
||||
+ /* 000002DE pop dx */ 0x5A,
|
||||
+ /* 000002DF push dx */ 0x52,
|
||||
+ /* 000002E0 push ax */ 0x50,
|
||||
+ /* 000002E1 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002E4 mov ax,0x9 */ 0xB8, 0x09, 0x00,
|
||||
+ /* 000002E7 out dx,ax */ 0xEF,
|
||||
+ /* 000002E8 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002EB mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
+ /* 000002EE out dx,ax */ 0xEF,
|
||||
+ /* 000002EF pop ax */ 0x58,
|
||||
+ /* 000002F0 pop dx */ 0x5A,
|
||||
+ /* 000002F1 push dx */ 0x52,
|
||||
+ /* 000002F2 push ax */ 0x50,
|
||||
+ /* 000002F3 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002F6 mov ax,0x3 */ 0xB8, 0x03, 0x00,
|
||||
+ /* 000002F9 out dx,ax */ 0xEF,
|
||||
+ /* 000002FA mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002FD mov ax,0x20 */ 0xB8, 0x20, 0x00,
|
||||
+ /* 00000300 out dx,ax */ 0xEF,
|
||||
+ /* 00000301 pop ax */ 0x58,
|
||||
+ /* 00000302 pop dx */ 0x5A,
|
||||
+ /* 00000303 push dx */ 0x52,
|
||||
+ /* 00000304 push ax */ 0x50,
|
||||
+ /* 00000305 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 00000308 mov ax,0x1 */ 0xB8, 0x01, 0x00,
|
||||
+ /* 0000030B out dx,ax */ 0xEF,
|
||||
+ /* 0000030C mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 0000030F mov ax,0x400 */ 0xB8, 0x00, 0x04,
|
||||
+ /* 00000312 out dx,ax */ 0xEF,
|
||||
+ /* 00000313 pop ax */ 0x58,
|
||||
+ /* 00000314 pop dx */ 0x5A,
|
||||
+ /* 00000315 push dx */ 0x52,
|
||||
+ /* 00000316 push ax */ 0x50,
|
||||
+ /* 00000317 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 0000031A mov ax,0x6 */ 0xB8, 0x06, 0x00,
|
||||
+ /* 0000031D out dx,ax */ 0xEF,
|
||||
+ /* 0000031E mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 00000321 mov ax,0x400 */ 0xB8, 0x00, 0x04,
|
||||
+ /* 00000324 out dx,ax */ 0xEF,
|
||||
+ /* 00000325 pop ax */ 0x58,
|
||||
+ /* 00000326 pop dx */ 0x5A,
|
||||
+ /* 00000327 push dx */ 0x52,
|
||||
+ /* 00000328 push ax */ 0x50,
|
||||
+ /* 00000329 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 0000032C mov ax,0x2 */ 0xB8, 0x02, 0x00,
|
||||
+ /* 0000032F out dx,ax */ 0xEF,
|
||||
+ /* 00000330 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 00000333 mov ax,0x300 */ 0xB8, 0x00, 0x03,
|
||||
+ /* 00000336 out dx,ax */ 0xEF,
|
||||
+ /* 00000337 pop ax */ 0x58,
|
||||
+ /* 00000338 pop dx */ 0x5A,
|
||||
+ /* 00000339 push dx */ 0x52,
|
||||
+ /* 0000033A push ax */ 0x50,
|
||||
+ /* 0000033B mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 0000033E mov ax,0x7 */ 0xB8, 0x07, 0x00,
|
||||
+ /* 00000341 out dx,ax */ 0xEF,
|
||||
+ /* 00000342 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 00000345 mov ax,0x300 */ 0xB8, 0x00, 0x03,
|
||||
+ /* 00000348 out dx,ax */ 0xEF,
|
||||
+ /* 00000349 pop ax */ 0x58,
|
||||
+ /* 0000034A pop dx */ 0x5A,
|
||||
+ /* 0000034B push dx */ 0x52,
|
||||
+ /* 0000034C push ax */ 0x50,
|
||||
+ /* 0000034D mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 00000350 mov ax,0x4 */ 0xB8, 0x04, 0x00,
|
||||
+ /* 00000353 out dx,ax */ 0xEF,
|
||||
+ /* 00000354 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 00000357 mov ax,0x41 */ 0xB8, 0x41, 0x00,
|
||||
+ /* 0000035A out dx,ax */ 0xEF,
|
||||
+ /* 0000035B pop ax */ 0x58,
|
||||
+ /* 0000035C pop dx */ 0x5A,
|
||||
+ /* 0000035D pop ax */ 0x58,
|
||||
+ /* 0000035E pop dx */ 0x5A,
|
||||
+ /* 0000035F jmp short 0x3ac */ 0xEB, 0x4B,
|
||||
+ /* 00000361 push si */ 0x56,
|
||||
+ /* 00000362 mov si,0x411 */ 0xBE, 0x11, 0x04,
|
||||
+ /* 00000365 call word 0x3c4 */ 0xE8, 0x5C, 0x00,
|
||||
+ /* 00000368 pop si */ 0x5E,
|
||||
+ /* 00000369 mov bx,0x40f1 */ 0xBB, 0xF1, 0x40,
|
||||
+ /* 0000036C jmp short 0x3ac */ 0xEB, 0x3E,
|
||||
+ /* 0000036E push si */ 0x56,
|
||||
+ /* 0000036F mov si,0x43f */ 0xBE, 0x3F, 0x04,
|
||||
+ /* 00000372 call word 0x3c4 */ 0xE8, 0x4F, 0x00,
|
||||
+ /* 00000375 pop si */ 0x5E,
|
||||
+ /* 00000376 jmp short 0x3b8 */ 0xEB, 0x40,
|
||||
+ /* 00000378 push si */ 0x56,
|
||||
+ /* 00000379 mov si,0x452 */ 0xBE, 0x52, 0x04,
|
||||
+ /* 0000037C call word 0x3c4 */ 0xE8, 0x45, 0x00,
|
||||
+ /* 0000037F pop si */ 0x5E,
|
||||
+ /* 00000380 jmp short 0x3b8 */ 0xEB, 0x36,
|
||||
+ /* 00000382 push si */ 0x56,
|
||||
+ /* 00000383 mov si,0x423 */ 0xBE, 0x23, 0x04,
|
||||
+ /* 00000386 call word 0x3c4 */ 0xE8, 0x3B, 0x00,
|
||||
+ /* 00000389 pop si */ 0x5E,
|
||||
+ /* 0000038A cmp al,0x3 */ 0x3C, 0x03,
|
||||
+ /* 0000038C jz 0x39d */ 0x74, 0x0F,
|
||||
+ /* 0000038E cmp al,0x12 */ 0x3C, 0x12,
|
||||
+ /* 00000390 jz 0x3a1 */ 0x74, 0x0F,
|
||||
+ /* 00000392 push si */ 0x56,
|
||||
+ /* 00000393 mov si,0x432 */ 0xBE, 0x32, 0x04,
|
||||
+ /* 00000396 call word 0x3c4 */ 0xE8, 0x2B, 0x00,
|
||||
+ /* 00000399 pop si */ 0x5E,
|
||||
+ /* 0000039A jmp word 0x233 */ 0xE9, 0x96, 0xFE,
|
||||
+ /* 0000039D mov al,0x30 */ 0xB0, 0x30,
|
||||
+ /* 0000039F jmp short 0x3a3 */ 0xEB, 0x02,
|
||||
+ /* 000003A1 mov al,0x20 */ 0xB0, 0x20,
|
||||
+ /* 000003A3 push si */ 0x56,
|
||||
+ /* 000003A4 mov si,0x3d6 */ 0xBE, 0xD6, 0x03,
|
||||
+ /* 000003A7 call word 0x3c4 */ 0xE8, 0x1A, 0x00,
|
||||
+ /* 000003AA pop si */ 0x5E,
|
||||
+ /* 000003AB iretw */ 0xCF,
|
||||
+ /* 000003AC push si */ 0x56,
|
||||
+ /* 000003AD mov si,0x3d6 */ 0xBE, 0xD6, 0x03,
|
||||
+ /* 000003B0 call word 0x3c4 */ 0xE8, 0x11, 0x00,
|
||||
+ /* 000003B3 pop si */ 0x5E,
|
||||
+ /* 000003B4 mov ax,0x4f */ 0xB8, 0x4F, 0x00,
|
||||
+ /* 000003B7 iretw */ 0xCF,
|
||||
+ /* 000003B8 push si */ 0x56,
|
||||
+ /* 000003B9 mov si,0x3dc */ 0xBE, 0xDC, 0x03,
|
||||
+ /* 000003BC call word 0x3c4 */ 0xE8, 0x05, 0x00,
|
||||
+ /* 000003BF pop si */ 0x5E,
|
||||
+ /* 000003C0 mov ax,0x14f */ 0xB8, 0x4F, 0x01,
|
||||
+ /* 000003C3 iretw */ 0xCF,
|
||||
+ /* 000003C4 pushaw */ 0x60,
|
||||
+ /* 000003C5 push ds */ 0x1E,
|
||||
+ /* 000003C6 push cs */ 0x0E,
|
||||
+ /* 000003C7 pop ds */ 0x1F,
|
||||
+ /* 000003C8 mov dx,0x402 */ 0xBA, 0x02, 0x04,
|
||||
+ /* 000003CB lodsb */ 0xAC,
|
||||
+ /* 000003CC cmp al,0x0 */ 0x3C, 0x00,
|
||||
+ /* 000003CE jz 0x3d3 */ 0x74, 0x03,
|
||||
+ /* 000003D0 out dx,al */ 0xEE,
|
||||
+ /* 000003D1 jmp short 0x3cb */ 0xEB, 0xF8,
|
||||
+ /* 000003D3 pop ds */ 0x1F,
|
||||
+ /* 000003D4 popaw */ 0x61,
|
||||
+ /* 000003D5 ret */ 0xC3,
|
||||
+ /* 000003D6 inc bp */ 0x45,
|
||||
+ /* 000003D7 js 0x442 */ 0x78, 0x69,
|
||||
+ /* 000003D9 jz 0x3e5 */ 0x74, 0x0A,
|
||||
+ /* 000003DB add [di+0x6e],dl */ 0x00, 0x55, 0x6E,
|
||||
+ /* 000003DE jnc 0x455 */ 0x73, 0x75,
|
||||
+ /* 000003E0 jo 0x452 */ 0x70, 0x70,
|
||||
+ /* 000003E2 outsw */ 0x6F,
|
||||
+ /* 000003E3 jc 0x459 */ 0x72, 0x74,
|
||||
+ /* 000003E5 or al,[fs:bx+si] */ 0x65, 0x64, 0x0A, 0x00,
|
||||
+ /* 000003E9 push bp */ 0x55,
|
||||
+ /* 000003EA outsb */ 0x6E,
|
||||
+ /* 000003EB imul bp,[bp+0x6f],byte +0x77 */ 0x6B, 0x6E, 0x6F, 0x77,
|
||||
+ /* 000003EF outsb */ 0x6E,
|
||||
+ /* 000003F0 and [bp+0x75],al */ 0x20, 0x46, 0x75,
|
||||
+ /* 000003F3 outsb */ 0x6E,
|
||||
+ /* 000003F4 arpl [si+0x69],si */ 0x63, 0x74, 0x69,
|
||||
+ /* 000003F7 outsw */ 0x6F,
|
||||
+ /* 000003F8 outsb */ 0x6E,
|
||||
+ /* 000003F9 or al,[bx+si] */ 0x0A, 0x00,
|
||||
+ /* 000003FB inc di */ 0x47,
|
||||
+ /* 000003FC gs jz 0x448 */ 0x65, 0x74, 0x49,
|
||||
+ /* 000003FF outsb */ 0x6E,
|
||||
+ /* 00000400 outsd */ 0x66, 0x6F,
|
||||
+ /* 00000402 or al,[bx+si] */ 0x0A, 0x00,
|
||||
+ /* 00000404 inc di */ 0x47,
|
||||
+ /* 00000405 gs jz 0x455 */ 0x65, 0x74, 0x4D,
|
||||
+ /* 00000408 outsw */ 0x6F,
|
||||
+ /* 00000409 gs dec cx */ 0x64, 0x65, 0x49,
|
||||
+ /* 0000040C outsb */ 0x6E,
|
||||
+ /* 0000040D outsd */ 0x66, 0x6F,
|
||||
+ /* 0000040F or al,[bx+si] */ 0x0A, 0x00,
|
||||
+ /* 00000411 inc di */ 0x47,
|
||||
+ /* 00000412 gs jz 0x462 */ 0x65, 0x74, 0x4D,
|
||||
+ /* 00000415 outsw */ 0x6F,
|
||||
+ /* 00000416 or al,[gs:bx+si] */ 0x64, 0x65, 0x0A, 0x00,
|
||||
+ /* 0000041A push bx */ 0x53,
|
||||
+ /* 0000041B gs jz 0x46b */ 0x65, 0x74, 0x4D,
|
||||
+ /* 0000041E outsw */ 0x6F,
|
||||
+ /* 0000041F or al,[gs:bx+si] */ 0x64, 0x65, 0x0A, 0x00,
|
||||
+ /* 00000423 push bx */ 0x53,
|
||||
+ /* 00000424 gs jz 0x474 */ 0x65, 0x74, 0x4D,
|
||||
+ /* 00000427 outsw */ 0x6F,
|
||||
+ /* 00000428 gs dec sp */ 0x64, 0x65, 0x4C,
|
||||
+ /* 0000042B gs a32 popaw */ 0x65, 0x67, 0x61,
|
||||
+ /* 0000042E arpl [bx+di+0xa],di */ 0x63, 0x79, 0x0A,
|
||||
+ /* 00000431 add [di+0x6e],dl */ 0x00, 0x55, 0x6E,
|
||||
+ /* 00000434 imul bp,[bx+0x77],byte +0x6e */ 0x6B, 0x6F, 0x77, 0x6E,
|
||||
+ /* 00000438 and [di+0x6f],cl */ 0x20, 0x4D, 0x6F,
|
||||
+ /* 0000043B or al,[gs:bx+si] */ 0x64, 0x65, 0x0A, 0x00,
|
||||
+ /* 0000043F inc di */ 0x47,
|
||||
+ /* 00000440 gs jz 0x493 */ 0x65, 0x74, 0x50,
|
||||
+ /* 00000443 insw */ 0x6D,
|
||||
+ /* 00000444 inc bx */ 0x43,
|
||||
+ /* 00000445 popaw */ 0x61,
|
||||
+ /* 00000446 jo 0x4a9 */ 0x70, 0x61,
|
||||
+ /* 00000448 bound bp,[bx+di+0x6c] */ 0x62, 0x69, 0x6C,
|
||||
+ /* 0000044B imul si,[si+0x69],word 0x7365 */ 0x69, 0x74, 0x69, 0x65, 0x73,
|
||||
+ /* 00000450 or al,[bx+si] */ 0x0A, 0x00,
|
||||
+ /* 00000452 push dx */ 0x52,
|
||||
+ /* 00000453 gs popaw */ 0x65, 0x61,
|
||||
+ /* 00000455 fs inc bp */ 0x64, 0x45,
|
||||
+ /* 00000457 fs */ 0x64,
|
||||
+ /* 00000458 db 0x69 */ 0x69,
|
||||
+ /* 00000459 or al,[fs:bx+si] */ 0x64, 0x0A, 0x00,
|
||||
};
|
||||
#endif
|
|
@ -1,121 +0,0 @@
|
|||
From 447b5540fdc12ff4ca74dc2dd183149732075c18 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Date: Tue, 21 Nov 2017 00:57:45 +0100
|
||||
Subject: [PATCH 06/14] 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 bff9f166219e..14a5d10d2b67 100644
|
||||
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
@@ -426,7 +426,7 @@ [PcdsFixedAtBuild]
|
||||
# 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 f5390a30fb09..62c68d99165d 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -535,7 +535,7 @@ [PcdsFixedAtBuild]
|
||||
# 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 c43fb2d39910..b03af9cacd2b 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -541,7 +541,7 @@ [PcdsFixedAtBuild]
|
||||
# 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 ce49a3d3a54d..a9dad1b59ee8 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -562,7 +562,7 @@ [PcdsFixedAtBuild]
|
||||
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||
# // significantly impact boot performance
|
||||
# DEBUG_ERROR 0x80000000 // Error
|
||||
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||
|
||||
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
||||
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,129 @@
|
|||
From b6e4c1bf03878da7bd82224d523c44fd1fa96aaa Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Tue, 25 Feb 2014 18:40:35 +0100
|
||||
Subject: [PATCH] MdeModulePkg: TerminalDxe: add other text resolutions
|
||||
|
||||
When the console output is multiplexed to several devices by
|
||||
ConSplitterDxe, then ConSplitterDxe builds an intersection of text modes
|
||||
supported by all console output devices.
|
||||
|
||||
Two notable output devices are provided by:
|
||||
(1) MdeModulePkg/Universal/Console/GraphicsConsoleDxe,
|
||||
(2) MdeModulePkg/Universal/Console/TerminalDxe.
|
||||
|
||||
GraphicsConsoleDxe supports four modes at most -- see
|
||||
InitializeGraphicsConsoleTextMode() and "mGraphicsConsoleModeData":
|
||||
|
||||
(1a) 80x25 (required by the UEFI spec as mode 0),
|
||||
(1b) 80x50 (not necessarily supported, but if it is, then the UEFI spec
|
||||
requires the driver to provide it as mode 1),
|
||||
(1c) 100x31 (corresponding to graphics resolution 800x600, which the UEFI
|
||||
spec requires from all plug-in graphics devices),
|
||||
(1d) "full screen" resolution, derived form the underlying GOP's
|
||||
horizontal and vertical resolutions with division by EFI_GLYPH_WIDTH
|
||||
(8) and EFI_GLYPH_HEIGHT (19), respectively.
|
||||
|
||||
The automatic "full screen resolution" makes GraphicsConsoleDxe's
|
||||
character console very flexible. However, TerminalDxe (which runs on
|
||||
serial ports) only provides the following fixed resolutions -- see
|
||||
InitializeTerminalConsoleTextMode() and "mTerminalConsoleModeData":
|
||||
|
||||
(2a) 80x25 (required by the UEFI spec as mode 0),
|
||||
(2b) 80x50 (since the character resolution of a serial device cannot be
|
||||
interrogated easily, this is added unconditionally as mode 1),
|
||||
(2c) 100x31 (since the character resolution of a serial device cannot be
|
||||
interrogated easily, this is added unconditionally as mode 2).
|
||||
|
||||
When ConSplitterDxe combines (1) and (2), multiplexing console output to
|
||||
both video output and serial terminal, the list of commonly supported text
|
||||
modes (ie. the "intersection") comprises:
|
||||
|
||||
(3a) 80x25, unconditionally, from (1a) and (2a),
|
||||
(3b) 80x50, if the graphics console provides at least 640x950 pixel
|
||||
resolution, from (1b) and (2b)
|
||||
(3c) 100x31, if the graphics device is a plug-in one (because in that case
|
||||
800x600 is a mandated pixel resolution), from (1c) and (2c).
|
||||
|
||||
Unfortunately, the "full screen resolution" (1d) of the GOP-based text
|
||||
console is not available in general.
|
||||
|
||||
Mitigate this problem by extending "mTerminalConsoleModeData" with a
|
||||
handful of text resolutions that are derived from widespread maximal pixel
|
||||
resolutions. This way TerminalDxe won't cause ConSplitterDxe to filter out
|
||||
the most frequent (1d) values from the intersection, and eg. the MODE
|
||||
command in the UEFI shell will offer the "best" (ie. full screen)
|
||||
resolution too.
|
||||
|
||||
Upstream status: three calendar months (with on-and-off discussion and
|
||||
patches) have not been enough to find a solution to this problem that
|
||||
would please all stakeholders.
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- adapt commit 0bc77c63de03 (code and commit message) to upstream commit
|
||||
390b95a49c14 ("MdeModulePkg/TerminalDxe: Refine
|
||||
InitializeTerminalConsoleTextMode", 2017-01-10).
|
||||
|
||||
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit 99dc3720ac86059f60156197328cc433603c536e)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
.../Universal/Console/TerminalDxe/Terminal.c | 41 +++++++++++++++++--
|
||||
1 file changed, 38 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
|
||||
index 66dd3ad550..78a198379a 100644
|
||||
--- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
|
||||
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
|
||||
@@ -113,9 +113,44 @@ TERMINAL_DEV mTerminalDevTemplate = {
|
||||
};
|
||||
|
||||
TERMINAL_CONSOLE_MODE_DATA mTerminalConsoleModeData[] = {
|
||||
- {80, 25},
|
||||
- {80, 50},
|
||||
- {100, 31},
|
||||
+ { 80, 25 }, // from graphics resolution 640 x 480
|
||||
+ { 80, 50 }, // from graphics resolution 640 x 960
|
||||
+ { 100, 25 }, // from graphics resolution 800 x 480
|
||||
+ { 100, 31 }, // from graphics resolution 800 x 600
|
||||
+ { 104, 32 }, // from graphics resolution 832 x 624
|
||||
+ { 120, 33 }, // from graphics resolution 960 x 640
|
||||
+ { 128, 31 }, // from graphics resolution 1024 x 600
|
||||
+ { 128, 40 }, // from graphics resolution 1024 x 768
|
||||
+ { 144, 45 }, // from graphics resolution 1152 x 864
|
||||
+ { 144, 45 }, // from graphics resolution 1152 x 870
|
||||
+ { 160, 37 }, // from graphics resolution 1280 x 720
|
||||
+ { 160, 40 }, // from graphics resolution 1280 x 760
|
||||
+ { 160, 40 }, // from graphics resolution 1280 x 768
|
||||
+ { 160, 42 }, // from graphics resolution 1280 x 800
|
||||
+ { 160, 50 }, // from graphics resolution 1280 x 960
|
||||
+ { 160, 53 }, // from graphics resolution 1280 x 1024
|
||||
+ { 170, 40 }, // from graphics resolution 1360 x 768
|
||||
+ { 170, 40 }, // from graphics resolution 1366 x 768
|
||||
+ { 175, 55 }, // from graphics resolution 1400 x 1050
|
||||
+ { 180, 47 }, // from graphics resolution 1440 x 900
|
||||
+ { 200, 47 }, // from graphics resolution 1600 x 900
|
||||
+ { 200, 63 }, // from graphics resolution 1600 x 1200
|
||||
+ { 210, 55 }, // from graphics resolution 1680 x 1050
|
||||
+ { 240, 56 }, // from graphics resolution 1920 x 1080
|
||||
+ { 240, 63 }, // from graphics resolution 1920 x 1200
|
||||
+ { 240, 75 }, // from graphics resolution 1920 x 1440
|
||||
+ { 250, 105 }, // from graphics resolution 2000 x 2000
|
||||
+ { 256, 80 }, // from graphics resolution 2048 x 1536
|
||||
+ { 256, 107 }, // from graphics resolution 2048 x 2048
|
||||
+ { 320, 75 }, // from graphics resolution 2560 x 1440
|
||||
+ { 320, 84 }, // from graphics resolution 2560 x 1600
|
||||
+ { 320, 107 }, // from graphics resolution 2560 x 2048
|
||||
+ { 350, 110 }, // from graphics resolution 2800 x 2100
|
||||
+ { 400, 126 }, // from graphics resolution 3200 x 2400
|
||||
+ { 480, 113 }, // from graphics resolution 3840 x 2160
|
||||
+ { 512, 113 }, // from graphics resolution 4096 x 2160
|
||||
+ { 960, 227 }, // from graphics resolution 7680 x 4320
|
||||
+ { 1024, 227 }, // from graphics resolution 8192 x 4320
|
||||
//
|
||||
// New modes can be added here.
|
||||
//
|
|
@ -1,173 +0,0 @@
|
|||
From f0d8ef8071a0b20495a5a1dc3e6e49f8f145c503 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Date: Tue, 21 Nov 2017 00:57:46 +0100
|
||||
Subject: [PATCH 07/14] OvmfPkg: silence DEBUG_VERBOSE (0x00400000) in
|
||||
QemuVideoDxe/QemuRamfbDxe (RH)
|
||||
|
||||
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||
|
||||
- Extend the DSC change to the new OvmfPkg/AmdSev platform, which has been
|
||||
introduced upstream in commit 30d277ed7a82 ("OvmfPkg/Amdsev: Base commit
|
||||
to build encrypted boot specific OVMF", 2020-12-14), for TianoCore#3077.
|
||||
|
||||
- Remove obsolete commit message tags related to downstream patch
|
||||
management: Message-id, Patchwork-id, O-Subject, Acked-by, From
|
||||
(RHBZ#1846481).
|
||||
|
||||
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||
|
||||
- no change
|
||||
|
||||
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||
|
||||
- Due to upstream commit 4b04d9d73604 ("OvmfPkg: Don't build in
|
||||
QemuVideoDxe when we have CSM", 2019-06-26), the contexts of
|
||||
"QemuVideoDxe.inf" / "QemuRamfbDxe.inf" have changed in the DSC files.
|
||||
Resolve the conflict manually.
|
||||
|
||||
Notes about the RHEL-8.0/20180508-ee3198e672e2 ->
|
||||
RHEL-8.1/20190308-89910a39dcfd rebase:
|
||||
|
||||
- Upstream commit 1d25ff51af5c ("OvmfPkg: add QemuRamfbDxe", 2018-06-14)
|
||||
introduced another GOP driver that consumes FrameBufferBltLib, and
|
||||
thereby produces a large number of (mostly useless) debug messages at
|
||||
the DEBUG_VERBOSE level. Extend the patch to suppress those messages in
|
||||
both QemuVideoDxe and QemuRamfbDxe; update the subject accordingly.
|
||||
QemuRamfbDxe itself doesn't log anything at the VERBOSE level (see also
|
||||
the original commit message at the bottom of this downstream patch).
|
||||
|
||||
Notes about the RHEL-7.6/ovmf-20180508-2.gitee3198e672e2.el7 ->
|
||||
RHEL-8.0/20180508-ee3198e672e2 rebase:
|
||||
|
||||
- reorder the rebase changelog in the commit message so that it reads like
|
||||
a blog: place more recent entries near the top
|
||||
- no changes to the patch body
|
||||
|
||||
Notes about the 20171011-92d07e48907f -> 20180508-ee3198e672e2 rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Bugzilla: 1488247
|
||||
|
||||
In commit 5b2291f9567a ("OvmfPkg: QemuVideoDxe uses
|
||||
MdeModulePkg/FrameBufferLib"), QemuVideoDxe was rebased to
|
||||
FrameBufferBltLib.
|
||||
|
||||
The FrameBufferBltLib instance added in commit b1ca386074bd
|
||||
("MdeModulePkg: Add FrameBufferBltLib library instance") logs many
|
||||
messages on the VERBOSE level; for example, a normal boot with OVMF can
|
||||
produce 500+ "VideoFill" messages, dependent on the progress bar, when the
|
||||
VERBOSE bit is set in PcdDebugPrintErrorLevel.
|
||||
|
||||
QemuVideoDxe itself doesn't log anything at the VERBOSE level, so we lose
|
||||
none of its messages this way.
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
(this patch was previously applied as commit 9b0d031dee7e823f6717bab73e422fbc6f0a6c52)
|
||||
(cherry picked from commit 9122d5f2e8d8d289064d1e1700cb61964d9931f3)
|
||||
(cherry picked from commit 7eb3be1d4ccafc26c11fe5afb95cc12b250ce6f0)
|
||||
(cherry picked from commit bd650684712fb840dbcda5d6eaee065bd9e91fa1)
|
||||
(cherry picked from commit b06b87f8ffd4fed4ef7eacb13689a9b6d111f850)
|
||||
(cherry picked from commit c8c3f893e7c3710afe45c46839e97954871536e4)
|
||||
(cherry picked from commit 1355849ad97c1e4a5c430597a377165a5cc118f7)
|
||||
---
|
||||
OvmfPkg/AmdSev/AmdSevX64.dsc | 10 ++++++++--
|
||||
OvmfPkg/OvmfPkgIa32.dsc | 10 ++++++++--
|
||||
OvmfPkg/OvmfPkgIa32X64.dsc | 10 ++++++++--
|
||||
OvmfPkg/OvmfPkgX64.dsc | 10 ++++++++--
|
||||
4 files changed, 32 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/OvmfPkg/AmdSev/AmdSevX64.dsc b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
index 14a5d10d2b67..870c4bd890fe 100644
|
||||
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
@@ -684,8 +684,14 @@ [Components]
|
||||
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
||||
|
||||
- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||
|
||||
#
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
index 62c68d99165d..d7bce8d40d26 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -841,9 +841,15 @@ [Components]
|
||||
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
||||
|
||||
!ifndef $(CSM_ENABLE)
|
||||
- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
!endif
|
||||
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||
|
||||
#
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index b03af9cacd2b..8103d1d4882a 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -855,9 +855,15 @@ [Components.X64]
|
||||
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
||||
|
||||
!ifndef $(CSM_ENABLE)
|
||||
- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
!endif
|
||||
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||
|
||||
#
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||
index a9dad1b59ee8..7fe23d9153fe 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -929,9 +929,15 @@ [Components]
|
||||
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf
|
||||
|
||||
!ifndef $(CSM_ENABLE)
|
||||
- OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf
|
||||
+ OvmfPkg/QemuVideoDxe/QemuVideoDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
!endif
|
||||
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||
|
||||
#
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,97 +0,0 @@
|
|||
From 461077f978edf909f0ef59c777c2d45ab7664526 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 27 Jan 2016 03:05:18 +0100
|
||||
Subject: [PATCH 08/14] 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 2ccbef41c23b..bc097880f79f 100644
|
||||
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
@@ -544,7 +544,10 @@ [Components.common]
|
||||
#
|
||||
# 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 3cb9120e4e10..02877284bfa3 100644
|
||||
--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||
+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||
@@ -444,7 +444,10 @@ [Components.common]
|
||||
#
|
||||
# Video support
|
||||
#
|
||||
- OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||
+ OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|($(DEBUG_PRINT_ERROR_LEVEL)) & 0xFFBFFFFF
|
||||
+ }
|
||||
OvmfPkg/VirtioGpuDxe/VirtioGpu.inf
|
||||
OvmfPkg/PlatformDxe/Platform.inf
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,128 @@
|
|||
From f337eb3972afcccabe86fe663202a758337d0ab8 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)
|
||||
|
||||
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.
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- refresh commit 519b9751573e against various context changes
|
||||
|
||||
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).
|
||||
|
||||
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)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
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 6a6d9660ed..2dc1cf94e2 100644
|
||||
--- a/MdeModulePkg/MdeModulePkg.dec
|
||||
+++ b/MdeModulePkg/MdeModulePkg.dec
|
||||
@@ -1936,6 +1936,10 @@
|
||||
# @Prompt The address mask when memory encryption is enabled.
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask|0x0|UINT64|0x30001047
|
||||
|
||||
+ ## 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 4d7218e415..295e7641a5 100644
|
||||
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
|
||||
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
|
||||
@@ -13,6 +13,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
**/
|
||||
|
||||
+#include <Library/PrintLib.h>
|
||||
+
|
||||
#include "Terminal.h"
|
||||
|
||||
//
|
||||
@@ -86,6 +88,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
|
||||
//
|
||||
@@ -508,6 +520,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 0780296798..bd2ba828a6 100644
|
||||
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||
@@ -60,6 +60,7 @@
|
||||
DebugLib
|
||||
PcdLib
|
||||
BaseLib
|
||||
+ PrintLib
|
||||
|
||||
[Guids]
|
||||
## SOMETIMES_PRODUCES ## Variable:L"ConInDev"
|
||||
@@ -88,6 +89,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.
|
|
@ -1,96 +0,0 @@
|
|||
From 58b31e995b9626e3187872c5dbb4696f04374a56 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 09/14] 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/QemuRamfbDxe.inf | 1 +
|
||||
OvmfPkg/QemuRamfbDxe/QemuRamfb.c | 15 +++++++++++++++
|
||||
2 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf b/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||
index e3890b8c202f..6ffee5acb24c 100644
|
||||
--- a/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||
+++ b/OvmfPkg/QemuRamfbDxe/QemuRamfbDxe.inf
|
||||
@@ -29,6 +29,7 @@ [LibraryClasses]
|
||||
BaseLib
|
||||
BaseMemoryLib
|
||||
DebugLib
|
||||
+ DebugPrintErrorLevelLib
|
||||
DevicePathLib
|
||||
FrameBufferBltLib
|
||||
MemoryAllocationLib
|
||||
diff --git a/OvmfPkg/QemuRamfbDxe/QemuRamfb.c b/OvmfPkg/QemuRamfbDxe/QemuRamfb.c
|
||||
index 5a1044f0dc7b..3a687901b0d2 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,20 @@ 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;
|
||||
}
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,90 @@
|
|||
From 30251344cfbd25212394c377b80cd720a3b85d46 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 the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
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).
|
||||
|
||||
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)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
OvmfPkg/OvmfPkgIa32.dsc | 1 +
|
||||
OvmfPkg/OvmfPkgIa32X64.dsc | 1 +
|
||||
OvmfPkg/OvmfPkgX64.dsc | 1 +
|
||||
OvmfPkg/PlatformPei/Platform.c | 1 +
|
||||
OvmfPkg/PlatformPei/PlatformPei.inf | 1 +
|
||||
5 files changed, 5 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
index 0a49336c0d..8dc3ad2be4 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -535,6 +535,7 @@
|
||||
# ($(SMM_REQUIRE) == FALSE)
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index a3d51ef0f7..d81cd865d5 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -541,6 +541,7 @@
|
||||
# ($(SMM_REQUIRE) == FALSE)
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||
index f9b4ab4dfa..85bd8d4bf6 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -540,6 +540,7 @@
|
||||
# ($(SMM_REQUIRE) == FALSE)
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved|0
|
||||
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableBase64|0
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
|
||||
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
|
||||
index 5a78668126..544ac547bf 100644
|
||||
--- a/OvmfPkg/PlatformPei/Platform.c
|
||||
+++ b/OvmfPkg/PlatformPei/Platform.c
|
||||
@@ -670,6 +670,7 @@ InitializePlatform (
|
||||
PeiFvInitialization ();
|
||||
MemMapInitialization ();
|
||||
NoexecDxeInitialization ();
|
||||
+ UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
|
||||
}
|
||||
|
||||
AmdSevInitialize ();
|
||||
diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||
index 9c5ad9961c..31baaa0a22 100644
|
||||
--- a/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||
+++ b/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||
@@ -94,6 +94,7 @@
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack
|
|
@ -0,0 +1,36 @@
|
|||
From 92f37a3d72213d9b76bc47c4f194f2ea989a71a1 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Tue, 12 Apr 2016 20:50:25 +0200
|
||||
Subject: [PATCH] ArmVirtPkg: QemuFwCfgLib: allow UEFI_DRIVER client modules
|
||||
(RH only)
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit 8e2153358aa2bba2c91faa87a70beadcaae03fd8)
|
||||
(cherry picked from commit 5af259a93f4bbee5515ae18638068125e170f2cd)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf b/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf
|
||||
index eff4a21650..adf1ff6c6a 100644
|
||||
--- a/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf
|
||||
+++ b/ArmVirtPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf
|
||||
@@ -22,7 +22,7 @@
|
||||
FILE_GUID = B271F41F-B841-48A9-BA8D-545B4BC2E2BF
|
||||
MODULE_TYPE = BASE
|
||||
VERSION_STRING = 1.0
|
||||
- LIBRARY_CLASS = QemuFwCfgLib|DXE_DRIVER
|
||||
+ LIBRARY_CLASS = QemuFwCfgLib|DXE_DRIVER UEFI_DRIVER
|
||||
|
||||
CONSTRUCTOR = QemuFwCfgInitialize
|
||||
|
|
@ -1,131 +0,0 @@
|
|||
From 88ca1daf0a9c0b6ea002f09b56cca1ab075ace9e Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Date: Tue, 21 Nov 2017 00:57:47 +0100
|
||||
Subject: [PATCH 10/14] 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 870c4bd890fe..ad6e7724ee8e 100644
|
||||
--- a/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
+++ b/OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
@@ -678,7 +678,10 @@ [Components]
|
||||
OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
||||
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
index d7bce8d40d26..b644669291ac 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -834,7 +834,10 @@ [Components]
|
||||
OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
||||
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index 8103d1d4882a..e37ec97fbc7a 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -848,7 +848,10 @@ [Components.X64]
|
||||
OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
||||
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||
index 7fe23d9153fe..1f4934616ada 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -922,7 +922,10 @@ [Components]
|
||||
OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
||||
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,75 +1,8 @@
|
|||
From ca84f8dd5a7653d2b884406f67f5e9d4bc136852 Mon Sep 17 00:00:00 2001
|
||||
From 6a27daa40698f06a34c209bd90092011d70f7795 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Sun, 26 Jul 2015 08:02:50 +0000
|
||||
Subject: [PATCH 05/14] 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).
|
||||
Subject: [PATCH] ArmVirtPkg: take PcdResizeXterm from the QEMU command line
|
||||
(RH only)
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
|
@ -78,37 +11,39 @@ Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
|||
as PcdSetBool()). Employ PcdSetBoolS(), and assert that it succeeds --
|
||||
there's really no circumstance in this case when it could fail.
|
||||
|
||||
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).
|
||||
|
||||
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)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
ArmVirtPkg/ArmVirtQemu.dsc | 7 +++-
|
||||
.../TerminalPcdProducerLib.inf | 33 ++++++++++++++++++
|
||||
.../TerminalPcdProducerLib.c | 34 +++++++++++++++++++
|
||||
3 files changed, 73 insertions(+), 1 deletion(-)
|
||||
create mode 100644 ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
|
||||
ArmVirtPkg/ArmVirtQemu.dsc | 7 +-
|
||||
.../TerminalPcdProducerLib.c | 87 +++++++++++++++++++
|
||||
.../TerminalPcdProducerLib.inf | 41 +++++++++
|
||||
3 files changed, 134 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 449e73b9e132..2ccbef41c23b 100644
|
||||
index a7a3899560..86d5d5a666 100644
|
||||
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
@@ -307,6 +307,8 @@ [PcdsPatchableInModule]
|
||||
gEfiSecurityPkgTokenSpaceGuid.PcdTpmBaseAddress|0x0
|
||||
!endif
|
||||
@@ -206,6 +206,8 @@
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdSmbiosDocRev|0x0
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdQemuSmbiosValidated|FALSE
|
||||
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||
+
|
||||
[PcdsDynamicHii]
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gOvmfVariableGuid|0x0|FALSE|NV,BS
|
||||
gArmVirtTokenSpaceGuid.PcdForceNoAcpi|L"ForceNoAcpi"|gArmVirtVariableGuid|0x0|FALSE|NV,BS
|
||||
|
||||
@@ -416,7 +418,10 @@ [Components.common]
|
||||
@@ -282,7 +284,10 @@
|
||||
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
||||
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
||||
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
|
||||
|
@ -120,70 +55,84 @@ index 449e73b9e132..2ccbef41c23b 100644
|
|||
MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
|
||||
|
||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||
diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
|
||||
new file mode 100644
|
||||
index 000000000000..a51dbd1670a8
|
||||
--- /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
|
||||
diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
|
||||
new file mode 100644
|
||||
index 000000000000..bfd3a6a535f9
|
||||
index 0000000000..814ad48199
|
||||
--- /dev/null
|
||||
+++ b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
|
||||
@@ -0,0 +1,34 @@
|
||||
@@ -0,0 +1,87 @@
|
||||
+/** @file
|
||||
+* Plugin library for setting up dynamic PCDs for TerminalDxe, from fw_cfg
|
||||
+*
|
||||
+* Copyright (C) 2015-2020, Red Hat, Inc.
|
||||
+* Copyright (C) 2015-2016, Red Hat, Inc.
|
||||
+* Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
|
||||
+*
|
||||
+* SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
+* This program and the accompanying materials are licensed and made available
|
||||
+* under the terms and conditions of the BSD License which accompanies this
|
||||
+* distribution. The full text of the license may be found at
|
||||
+* http://opensource.org/licenses/bsd-license.php
|
||||
+*
|
||||
+* THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
+* WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
|
||||
+* IMPLIED.
|
||||
+*
|
||||
+**/
|
||||
+
|
||||
+#include <Library/DebugLib.h>
|
||||
+#include <Library/PcdLib.h>
|
||||
+#include <Library/QemuFwCfgSimpleParserLib.h>
|
||||
+#include <Library/QemuFwCfgLib.h>
|
||||
+
|
||||
+STATIC
|
||||
+RETURN_STATUS
|
||||
+GetNamedFwCfgBoolean (
|
||||
+ IN CONST CHAR8 *FwCfgFileName,
|
||||
+ OUT BOOLEAN *Setting
|
||||
+ )
|
||||
+{
|
||||
+ RETURN_STATUS Status;
|
||||
+ FIRMWARE_CONFIG_ITEM FwCfgItem;
|
||||
+ UINTN FwCfgSize;
|
||||
+ UINT8 Value[3];
|
||||
+
|
||||
+ Status = QemuFwCfgFindFile (FwCfgFileName, &FwCfgItem, &FwCfgSize);
|
||||
+ if (RETURN_ERROR (Status)) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ if (FwCfgSize > sizeof Value) {
|
||||
+ return RETURN_BAD_BUFFER_SIZE;
|
||||
+ }
|
||||
+ QemuFwCfgSelectItem (FwCfgItem);
|
||||
+ QemuFwCfgReadBytes (FwCfgSize, Value);
|
||||
+
|
||||
+ if ((FwCfgSize == 1) ||
|
||||
+ (FwCfgSize == 2 && Value[1] == '\n') ||
|
||||
+ (FwCfgSize == 3 && Value[1] == '\r' && Value[2] == '\n')) {
|
||||
+ switch (Value[0]) {
|
||||
+ case '0':
|
||||
+ case 'n':
|
||||
+ case 'N':
|
||||
+ *Setting = FALSE;
|
||||
+ return RETURN_SUCCESS;
|
||||
+
|
||||
+ case '1':
|
||||
+ case 'y':
|
||||
+ case 'Y':
|
||||
+ *Setting = TRUE;
|
||||
+ return RETURN_SUCCESS;
|
||||
+
|
||||
+ default:
|
||||
+ break;
|
||||
+ }
|
||||
+ }
|
||||
+ return RETURN_PROTOCOL_ERROR;
|
||||
+}
|
||||
+
|
||||
+#define UPDATE_BOOLEAN_PCD_FROM_FW_CFG(TokenName) \
|
||||
+ do { \
|
||||
+ BOOLEAN Setting; \
|
||||
+ RETURN_STATUS PcdStatus; \
|
||||
+ \
|
||||
+ if (!RETURN_ERROR (QemuFwCfgParseBool ( \
|
||||
+ if (!RETURN_ERROR (GetNamedFwCfgBoolean ( \
|
||||
+ "opt/org.tianocore.edk2.aavmf/" #TokenName, &Setting))) { \
|
||||
+ PcdStatus = PcdSetBoolS (TokenName, Setting); \
|
||||
+ ASSERT_RETURN_ERROR (PcdStatus); \
|
||||
|
@ -199,6 +148,50 @@ index 000000000000..bfd3a6a535f9
|
|||
+ UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
|
||||
+ return RETURN_SUCCESS;
|
||||
+}
|
||||
--
|
||||
2.40.1
|
||||
|
||||
diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
|
||||
new file mode 100644
|
||||
index 0000000000..fecb37bcdf
|
||||
--- /dev/null
|
||||
+++ b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
|
||||
@@ -0,0 +1,41 @@
|
||||
+## @file
|
||||
+# Plugin library for setting up dynamic PCDs for TerminalDxe, from fw_cfg
|
||||
+#
|
||||
+# Copyright (C) 2015-2016, Red Hat, Inc.
|
||||
+# Copyright (c) 2014, Linaro Ltd. All rights reserved.<BR>
|
||||
+#
|
||||
+# This program and the accompanying materials are licensed and made available
|
||||
+# under the terms and conditions of the BSD License which accompanies this
|
||||
+# distribution. The full text of the license may be found at
|
||||
+# http://opensource.org/licenses/bsd-license.php
|
||||
+#
|
||||
+# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
+# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR
|
||||
+# IMPLIED.
|
||||
+#
|
||||
+##
|
||||
+
|
||||
+[Defines]
|
||||
+ INF_VERSION = 0x00010005
|
||||
+ BASE_NAME = TerminalPcdProducerLib
|
||||
+ FILE_GUID = 4a0c5ed7-8c42-4c01-8f4c-7bf258316a96
|
||||
+ MODULE_TYPE = BASE
|
||||
+ VERSION_STRING = 1.0
|
||||
+ LIBRARY_CLASS = TerminalPcdProducerLib|DXE_DRIVER
|
||||
+ CONSTRUCTOR = TerminalPcdProducerLibConstructor
|
||||
+
|
||||
+[Sources]
|
||||
+ TerminalPcdProducerLib.c
|
||||
+
|
||||
+[Packages]
|
||||
+ MdePkg/MdePkg.dec
|
||||
+ OvmfPkg/OvmfPkg.dec
|
||||
+ MdeModulePkg/MdeModulePkg.dec
|
||||
+
|
||||
+[LibraryClasses]
|
||||
+ DebugLib
|
||||
+ PcdLib
|
||||
+ QemuFwCfgLib
|
||||
+
|
||||
+[Pcd]
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm
|
|
@ -1,181 +0,0 @@
|
|||
From 5e31bb6319ba4aabb113c2fb94e133a2efd79bb0 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Sat, 16 Nov 2019 17:11:27 +0100
|
||||
Subject: [PATCH 11/14] CryptoPkg/OpensslLib: list RHEL8-specific OpenSSL files
|
||||
in the INFs (RH)
|
||||
|
||||
Notes about the RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] ->
|
||||
RHEL-8.5/20210520-e1999b264f1f [edk2-stable202105] rebase:
|
||||
|
||||
- Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1938257
|
||||
|
||||
- Recreate the patch based on downstream commits:
|
||||
|
||||
- 56c4bb81b311 ("CryptoPkg/OpensslLib: list RHEL8-specific OpenSSL files
|
||||
in the INFs (RH)", 2020-06-05),
|
||||
- e81751a1c303 ("CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1g",
|
||||
2020-11-23),
|
||||
- 3e3fe5e62079 ("redhat: bump OpenSSL dist-git submodule to 1.1.1g+ /
|
||||
RHEL-8.4", 2020-11-23).
|
||||
|
||||
(1) At e81751a1c303, downstream edk2 was in sync with upstream edk2
|
||||
consuming OpenSSL 1.1.1g (upstream edk2 commit 8c30327debb2
|
||||
("CryptoPkg/OpensslLib: Upgrade OpenSSL to 1.1.1g", 2020-07-25)).
|
||||
|
||||
Since commit 8c30327debb2, upstream edk2 modified the OpensslLib INF
|
||||
files, namely
|
||||
|
||||
- CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
||||
- CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||
|
||||
in the following commits only:
|
||||
|
||||
- be01087e0780 ("CryptoPkg/Library: Remove the redundant build
|
||||
option", 2020-08-12), which did not affect the source file list at
|
||||
all,
|
||||
|
||||
- b5701a4c7a0f ("CryptoPkg: OpensslLib: Use RngLib to generate
|
||||
entropy in rand_pool", 2020-09-18), which replaced some of the
|
||||
*edk2-specific* "rand_pool_noise" source files with an RngLib
|
||||
dependency.
|
||||
|
||||
This means that the list of required, actual OpenSSL source files
|
||||
has not changed in upstream edk2 since our downstream edk2 commit
|
||||
e81751a1c303.
|
||||
|
||||
(2) At commit 3e3fe5e62079 (the direct child of e81751a1c303),
|
||||
downstream edk2's OpenSSL dependency was satisfied with RHEL-8
|
||||
OpenSSL at dist-git commit bdd048e929dc ("Two fixes that will be
|
||||
shipped in RHEL-8.3.0.z", 2020-10-23).
|
||||
|
||||
Since commit bdd048e929dc, RHEL-8 OpenSSL dist-git advanced
|
||||
(fast-forwarded) to commit a75722161d20 ("Update to version 1.1.1k",
|
||||
2021-05-25), which is the current head of the rhel-8.5.0 branch.
|
||||
(See also <https://bugzilla.redhat.com/show_bug.cgi?id=1938257#c6>.)
|
||||
|
||||
At both dist-git bdd048e929dc and dist-git a75722161d20, I built the
|
||||
respective RHEL-8 OpenSSL *source* RPM, and prepped the respective
|
||||
source tree, with "rpmbuild -bp". Subsequently I compared the
|
||||
prepped source trees recursively.
|
||||
|
||||
- The following files disappeared:
|
||||
|
||||
- 29 backup files created by "patch",
|
||||
|
||||
- the assembly generator perl script called
|
||||
"ecp_nistz256-avx2.pl", which is not used during the build.
|
||||
|
||||
- The following new files appeared:
|
||||
|
||||
- 18 files directly or indirectly under the "test" subdirectory,
|
||||
which are not used during the build,
|
||||
|
||||
- 5 backup files created by "patch",
|
||||
|
||||
- 2 DCL scripts used when building OpenSSL on OpenVMS.
|
||||
|
||||
This means that the total list of RHEL-8 OpenSSL source files has
|
||||
not changed in RHEL-8 OpenSSL dist-git since our downstream edk2
|
||||
commit 3e3fe5e62079.
|
||||
|
||||
As a result, copy the "RHEL8-specific OpenSSL file list" sections
|
||||
verbatim from the INF files, at downstream commit e81751a1c303. (I used
|
||||
the "git checkout -p e81751a1c303 -- Library/OpensslLib/OpensslLib.inf
|
||||
CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf" command.)
|
||||
|
||||
Notes about the RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] ->
|
||||
RHEL-8.3/20200603-ca407c7246bf [edk2-stable202005] rebase:
|
||||
|
||||
- "OpensslLib.inf":
|
||||
|
||||
- Automatic leading context refresh against upstream commit c72ca4666886
|
||||
("CryptoPkg/OpensslLib: Add "sort" keyword to header file parsing
|
||||
loop", 2020-03-10).
|
||||
|
||||
- Manual trailing context refresh against upstream commit b49a6c8f80d9
|
||||
("CryptoPkg/OpensslLib: improve INF file consistency", 2019-12-02).
|
||||
|
||||
- "OpensslLibCrypto.inf":
|
||||
|
||||
- Automatic leading context refresh against upstream commits
|
||||
8906f076de35 ("CryptoPkg/OpensslLib: Add missing header files in INF
|
||||
file", 2019-08-16) and 9f4fbd56d430 ("CryptoPkg/OpensslLib: Update
|
||||
process_files.pl to generate .h files", 2019-10-30).
|
||||
|
||||
Notes about the RHEL-8.1/20190308-89910a39dcfd [edk2-stable201903] ->
|
||||
RHEL-8.2/20190904-37eef91017ad [edk2-stable201908] rebase:
|
||||
|
||||
- new patch
|
||||
|
||||
The downstream changes in RHEL8's OpenSSL package, for example in
|
||||
"openssl-1.1.1-evp-kdf.patch", introduce new files, and even move some
|
||||
preexistent code into those new files. In order to avoid undefined
|
||||
references in link editing, we have to list the new files.
|
||||
|
||||
Note: "process_files.pl" is not re-run at this time manually, because
|
||||
|
||||
(a) "process_files.pl" would pollute the file list (and some of the
|
||||
auto-generated header files) with RHEL8-specific FIPS artifacts, which
|
||||
are explicitly unwanted in edk2,
|
||||
|
||||
(b) The RHEL OpenSSL maintainer, Tomas Mraz, identified this specific set
|
||||
of files in <https://bugzilla.redhat.com/show_bug.cgi?id=1749693#c10>,
|
||||
and will help with future changes too.
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit 57bd3f146590df8757865d8f2cdd1db3cf3f4d40)
|
||||
(cherry picked from commit 56c4bb81b311dfcee6a34c81d3e4feeda7f88995)
|
||||
---
|
||||
CryptoPkg/Library/OpensslLib/OpensslLib.inf | 12 ++++++++++++
|
||||
CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 12 ++++++++++++
|
||||
2 files changed, 24 insertions(+)
|
||||
|
||||
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
||||
index 0f64c9fa7eca..6d49136ed75e 100644
|
||||
--- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
||||
+++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf
|
||||
@@ -576,6 +576,18 @@ [Sources]
|
||||
$(OPENSSL_PATH)/ssl/statem/statem.h
|
||||
$(OPENSSL_PATH)/ssl/statem/statem_local.h
|
||||
# Autogenerated files list ends here
|
||||
+# RHEL8-specific OpenSSL file list starts here
|
||||
+ $(OPENSSL_PATH)/crypto/bn/rsa_sup_mul.c
|
||||
+ $(OPENSSL_PATH)/crypto/evp/kdf_lib.c
|
||||
+ $(OPENSSL_PATH)/crypto/evp/pkey_kdf.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/kbkdf.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/kdf_local.h
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/kdf_util.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/krb5kdf.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/pbkdf2.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/sshkdf.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/sskdf.c
|
||||
+# RHEL8-specific OpenSSL file list ends here
|
||||
buildinf.h
|
||||
ossl_store.c
|
||||
rand_pool.c
|
||||
diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||
index 311cd1e6051a..f5ead202ec8e 100644
|
||||
--- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||
+++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf
|
||||
@@ -526,6 +526,18 @@ [Sources]
|
||||
$(OPENSSL_PATH)/crypto/x509v3/standard_exts.h
|
||||
$(OPENSSL_PATH)/crypto/x509v3/v3_admis.h
|
||||
# Autogenerated files list ends here
|
||||
+# RHEL8-specific OpenSSL file list starts here
|
||||
+ $(OPENSSL_PATH)/crypto/bn/rsa_sup_mul.c
|
||||
+ $(OPENSSL_PATH)/crypto/evp/kdf_lib.c
|
||||
+ $(OPENSSL_PATH)/crypto/evp/pkey_kdf.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/kbkdf.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/kdf_local.h
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/kdf_util.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/krb5kdf.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/pbkdf2.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/sshkdf.c
|
||||
+ $(OPENSSL_PATH)/crypto/kdf/sskdf.c
|
||||
+# RHEL8-specific OpenSSL file list ends here
|
||||
buildinf.h
|
||||
ossl_store.c
|
||||
rand_pool.c
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,84 +0,0 @@
|
|||
From 22d3b3dff458b0523fc3da5f22c96dce91e35d0c Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 24 Jun 2020 11:31:36 +0200
|
||||
Subject: [PATCH 12/14] 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.inf | 1 +
|
||||
.../QemuKernelLoaderFsDxe.c | 18 ++++++++++++++++++
|
||||
2 files changed, 19 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
|
||||
index 7b35adb8e034..e0331c6e2cbc 100644
|
||||
--- a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
|
||||
+++ b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.inf
|
||||
@@ -28,6 +28,7 @@ [LibraryClasses]
|
||||
BaseLib
|
||||
BaseMemoryLib
|
||||
DebugLib
|
||||
+ DebugPrintErrorLevelLib
|
||||
DevicePathLib
|
||||
MemoryAllocationLib
|
||||
QemuFwCfgLib
|
||||
diff --git a/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c b/OvmfPkg/QemuKernelLoaderFsDxe/QemuKernelLoaderFsDxe.c
|
||||
index 3c12085f6c1e..e473c0b57345 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,23 @@ 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;
|
||||
}
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,113 @@
|
|||
From 84570add9731d2099c6e5be43f96aed508fd4c39 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Tue, 4 Nov 2014 23:02:53 +0100
|
||||
Subject: [PATCH] OvmfPkg: allow exclusion of the shell from the firmware image
|
||||
|
||||
When '-D EXCLUDE_SHELL_FROM_FD' is passed to 'build', exclude the shell
|
||||
binary from the firmware image.
|
||||
|
||||
Peter Jones advised us that firmware vendors for physical systems disable
|
||||
the memory-mapped, firmware image-contained UEFI shell in
|
||||
SecureBoot-enabled builds. The reason being that the memory-mapped shell
|
||||
can always load, it may have direct access to various hardware in the
|
||||
system, and it can run UEFI shell scripts (which cannot be signed at all).
|
||||
|
||||
Intended use of the new build option:
|
||||
|
||||
- In-tree builds: don't pass '-D EXCLUDE_SHELL_FROM_FD'. The resultant
|
||||
firmware image will contain a shell binary, independently of SecureBoot
|
||||
enablement, which is flexible for interactive development. (Ie. no
|
||||
change for in-tree builds.)
|
||||
|
||||
- RPM builds: pass both '-D SECURE_BOOT_ENABLE' and
|
||||
'-D EXCLUDE_SHELL_FROM_FD'. The resultant RPM will provide:
|
||||
|
||||
- OVMF_CODE.fd: SecureBoot-enabled firmware, without builtin UEFI shell,
|
||||
|
||||
- OVMF_VARS.fd: variable store template matching OVMF_CODE.fd,
|
||||
|
||||
- UefiShell.iso: a bootable ISO image with the shell on it as default
|
||||
boot loader. The shell binary will load when SecureBoot is turned off,
|
||||
and won't load when SecureBoot is turned on (because it is not
|
||||
signed).
|
||||
|
||||
UefiShell.iso is the reason we're not excluding the shell from the DSC
|
||||
files as well, only the FDF files -- when '-D EXCLUDE_SHELL_FROM_FD'
|
||||
is specified, the shell binary needs to be built the same, only it
|
||||
will be included in UefiShell.iso.
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit 9c391def70366cabae08e6008814299c3372fafd)
|
||||
(cherry picked from commit d9dd9ee42937b2611fe37183cc9ec7f62d946933)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
OvmfPkg/OvmfPkgIa32.fdf | 2 ++
|
||||
OvmfPkg/OvmfPkgIa32X64.fdf | 2 ++
|
||||
OvmfPkg/OvmfPkgX64.fdf | 2 ++
|
||||
3 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
|
||||
index 4177379a23..8c0b6ee1bd 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.fdf
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.fdf
|
||||
@@ -288,12 +288,14 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
|
||||
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||
|
||||
+!ifndef $(EXCLUDE_SHELL_FROM_FD)
|
||||
!ifndef $(USE_OLD_SHELL)
|
||||
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
||||
INF ShellPkg/Application/Shell/Shell.inf
|
||||
!else
|
||||
INF RuleOverride = BINARY EdkShellBinPkg/FullShell/FullShell.inf
|
||||
!endif
|
||||
+!endif
|
||||
|
||||
!if ($(SECURE_BOOT_ENABLE) == TRUE) || ($(NETWORK_IP6_ENABLE) == TRUE) || ($(TLS_ENABLE) == TRUE)
|
||||
INF MdeModulePkg/Logo/LogoOpenSSLDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||
index 5e57161154..8de20366d2 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||
@@ -289,12 +289,14 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
|
||||
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||
|
||||
+!ifndef $(EXCLUDE_SHELL_FROM_FD)
|
||||
!ifndef $(USE_OLD_SHELL)
|
||||
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
||||
INF ShellPkg/Application/Shell/Shell.inf
|
||||
!else
|
||||
INF RuleOverride = BINARY USE = X64 EdkShellBinPkg/FullShell/FullShell.inf
|
||||
!endif
|
||||
+!endif
|
||||
|
||||
!if ($(SECURE_BOOT_ENABLE) == TRUE) || ($(NETWORK_IP6_ENABLE) == TRUE) || ($(TLS_ENABLE) == TRUE)
|
||||
INF MdeModulePkg/Logo/LogoOpenSSLDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
|
||||
index c81b422517..49ef829a3a 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.fdf
|
||||
+++ b/OvmfPkg/OvmfPkgX64.fdf
|
||||
@@ -289,12 +289,14 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
|
||||
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||
|
||||
+!ifndef $(EXCLUDE_SHELL_FROM_FD)
|
||||
!ifndef $(USE_OLD_SHELL)
|
||||
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
||||
INF ShellPkg/Application/Shell/Shell.inf
|
||||
!else
|
||||
INF RuleOverride = BINARY EdkShellBinPkg/FullShell/FullShell.inf
|
||||
!endif
|
||||
+!endif
|
||||
|
||||
!if ($(SECURE_BOOT_ENABLE) == TRUE) || ($(NETWORK_IP6_ENABLE) == TRUE) || ($(TLS_ENABLE) == TRUE)
|
||||
INF MdeModulePkg/Logo/LogoOpenSSLDxe.inf
|
File diff suppressed because it is too large
Load Diff
|
@ -1,82 +0,0 @@
|
|||
From 583e3a67563e3f177a0e61dc41077e7413f100ef Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 24 Jun 2020 11:40:09 +0200
|
||||
Subject: [PATCH 13/14] 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.inf | 1 +
|
||||
SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c | 17 +++++++++++++++++
|
||||
2 files changed, 18 insertions(+)
|
||||
|
||||
diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
|
||||
index 7dc7a2683d71..3bc88339311e 100644
|
||||
--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
|
||||
+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
|
||||
@@ -55,6 +55,7 @@ [LibraryClasses]
|
||||
UefiRuntimeServicesTableLib
|
||||
BaseMemoryLib
|
||||
DebugLib
|
||||
+ DebugPrintErrorLevelLib
|
||||
Tpm2CommandLib
|
||||
PrintLib
|
||||
UefiLib
|
||||
diff --git a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
|
||||
index f6ea8b2bbf18..681eb7e08b98 100644
|
||||
--- a/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
|
||||
+++ b/SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.c
|
||||
@@ -28,6 +28,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||
#include <Protocol/ResetNotification.h>
|
||||
|
||||
#include <Library/DebugLib.h>
|
||||
+#include <Library/DebugPrintErrorLevelLib.h>
|
||||
#include <Library/BaseMemoryLib.h>
|
||||
#include <Library/UefiRuntimeServicesTableLib.h>
|
||||
#include <Library/UefiDriverEntryPoint.h>
|
||||
@@ -2691,6 +2692,22 @@ DriverEntry (
|
||||
CompareGuid (PcdGetPtr (PcdTpmInstanceGuid), &gEfiTpmDeviceInstanceTpm12Guid))
|
||||
{
|
||||
DEBUG ((DEBUG_INFO, "No TPM2 instance required!\n"));
|
||||
+#if defined (MDE_CPU_AARCH64)
|
||||
+ //
|
||||
+ // RHBZ#1844682
|
||||
+ //
|
||||
+ // If swtpm / vTPM2 is not being used, this driver should return
|
||||
+ // EFI_UNSUPPORTED, so that the DXE Core can unload it. However, the
|
||||
+ // associated error message, logged by the DXE Core to the serial console,
|
||||
+ // is not desired in the silent edk2-aarch64 build, given that the absence
|
||||
+ // of swtpm / vTPM2 is nothing out of the ordinary. Therefore, return
|
||||
+ // success and stay resident. The wasted guest RAM still gets freed after
|
||||
+ // ExitBootServices().
|
||||
+ //
|
||||
+ if (GetDebugPrintErrorLevel () == DEBUG_ERROR) {
|
||||
+ return EFI_SUCCESS;
|
||||
+ }
|
||||
+#endif
|
||||
return EFI_UNSUPPORTED;
|
||||
}
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,55 @@
|
|||
From 6f89eae9f2abe20e35058848e7cc10a69a6b05ec Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 14 Oct 2015 13:49:43 +0200
|
||||
Subject: [PATCH] ArmPlatformPkg: introduce fixed PCD for early hello message
|
||||
(RH only)
|
||||
|
||||
Drew has proposed that ARM|AARCH64 platform firmware (especially virtual
|
||||
machine firmware) print a reasonably early, simple hello message to the
|
||||
serial port, regardless of debug mask settings. This should inform
|
||||
interactive users, and provide some rough help in localizing boot
|
||||
problems, even with restrictive debug masks.
|
||||
|
||||
If a platform doesn't want this feature, it should stick with the default
|
||||
empty string.
|
||||
|
||||
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
|
||||
Downstream only:
|
||||
<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Suggested-by: Drew Jones <drjones@redhat.com>
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit 7ce97b06421434c82095f01a1753a8c9c546cc30)
|
||||
(cherry picked from commit 20b1f1cbd0590aa71c6d99d35e23cf08e0707750)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
ArmPlatformPkg/ArmPlatformPkg.dec | 7 +++++++
|
||||
1 file changed, 7 insertions(+)
|
||||
|
||||
diff --git a/ArmPlatformPkg/ArmPlatformPkg.dec b/ArmPlatformPkg/ArmPlatformPkg.dec
|
||||
index 5f67e74154..2956d3e2d8 100644
|
||||
--- a/ArmPlatformPkg/ArmPlatformPkg.dec
|
||||
+++ b/ArmPlatformPkg/ArmPlatformPkg.dec
|
||||
@@ -113,6 +113,13 @@
|
||||
## If set, this will swap settings for HDLCD RED_SELECT and BLUE_SELECT registers
|
||||
gArmPlatformTokenSpaceGuid.PcdArmHdLcdSwapBlueRedSelect|FALSE|BOOLEAN|0x00000045
|
||||
|
||||
+ #
|
||||
+ # Early hello message (ASCII string), printed to the serial port.
|
||||
+ # If set to the empty string, nothing is printed.
|
||||
+ # Otherwise, a trailing CRLF should be specified explicitly.
|
||||
+ #
|
||||
+ gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage|""|VOID*|0x00000100
|
||||
+
|
||||
[PcdsFixedAtBuild.common,PcdsDynamic.common]
|
||||
## PL031 RealTimeClock
|
||||
gArmPlatformTokenSpaceGuid.PcdPL031RtcBase|0x0|UINT32|0x00000024
|
|
@ -0,0 +1,103 @@
|
|||
From e6c0f362edd5834b0d891fc44cd6873566bb0df4 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 14 Oct 2015 13:59:20 +0200
|
||||
Subject: [PATCH] ArmPlatformPkg: PrePeiCore: write early hello message to the
|
||||
serial port (RH)
|
||||
|
||||
The FixedPcdGetSize() macro expands to an integer constant, therefore an
|
||||
optimizing compiler can eliminate the new code, if the platform DSC
|
||||
doesn't override the empty string (size=1) default of
|
||||
PcdEarlyHelloMessage.
|
||||
|
||||
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
|
||||
Downstream only:
|
||||
<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit b16c4c505ce0e27305235533eac9236aa66f132e)
|
||||
(cherry picked from commit 742e5bf6d5ce5a1e73879d6e5c0dd00feda7a9ac)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
ArmPlatformPkg/PrePeiCore/MainMPCore.c | 5 +++++
|
||||
ArmPlatformPkg/PrePeiCore/MainUniCore.c | 5 +++++
|
||||
ArmPlatformPkg/PrePeiCore/PrePeiCore.h | 1 +
|
||||
ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf | 2 ++
|
||||
ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf | 2 ++
|
||||
5 files changed, 15 insertions(+)
|
||||
|
||||
diff --git a/ArmPlatformPkg/PrePeiCore/MainMPCore.c b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
|
||||
index dc47adbaff..cbd72232c7 100644
|
||||
--- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c
|
||||
+++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
|
||||
@@ -117,6 +117,11 @@ PrimaryMain (
|
||||
UINTN TemporaryRamBase;
|
||||
UINTN TemporaryRamSize;
|
||||
|
||||
+ if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
|
||||
+ SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
|
||||
+ FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
|
||||
+ }
|
||||
+
|
||||
CreatePpiList (&PpiListSize, &PpiList);
|
||||
|
||||
// Enable the GIC Distributor
|
||||
diff --git a/ArmPlatformPkg/PrePeiCore/MainUniCore.c b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
|
||||
index 134a469427..af39fc017c 100644
|
||||
--- a/ArmPlatformPkg/PrePeiCore/MainUniCore.c
|
||||
+++ b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
|
||||
@@ -35,6 +35,11 @@ PrimaryMain (
|
||||
UINTN TemporaryRamBase;
|
||||
UINTN TemporaryRamSize;
|
||||
|
||||
+ if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
|
||||
+ SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
|
||||
+ FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
|
||||
+ }
|
||||
+
|
||||
CreatePpiList (&PpiListSize, &PpiList);
|
||||
|
||||
// Adjust the Temporary Ram as the new Ppi List (Common + Platform Ppi Lists) is created at
|
||||
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
|
||||
index 160894620c..bf843d7768 100644
|
||||
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
|
||||
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <Library/DebugLib.h>
|
||||
#include <Library/IoLib.h>
|
||||
#include <Library/PcdLib.h>
|
||||
+#include <Library/SerialPortLib.h>
|
||||
|
||||
#include <PiPei.h>
|
||||
#include <Ppi/TemporaryRamSupport.h>
|
||||
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
|
||||
index e3a31fa7c6..1bc0c45420 100644
|
||||
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
|
||||
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
|
||||
@@ -72,6 +72,8 @@
|
||||
gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
|
||||
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
|
||||
|
||||
+ gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
|
||||
+
|
||||
gArmTokenSpaceGuid.PcdGicDistributorBase
|
||||
gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
|
||||
gArmTokenSpaceGuid.PcdGicSgiIntId
|
||||
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
|
||||
index ec83cec2d8..20698fcfac 100644
|
||||
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
|
||||
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
|
||||
@@ -71,3 +71,5 @@
|
||||
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
|
||||
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
|
||||
+
|
||||
+ gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
|
|
@ -1,72 +0,0 @@
|
|||
From 55a09dea67c8818d1c871af825307fb3b2b0ba4b Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Tue, 23 May 2023 10:25:51 +0200
|
||||
Subject: [PATCH 15/27] OvmfPkg/PlatformPei: drop S3Verification()
|
||||
|
||||
Not needed any more, SMM + 64-bit PEI + S3 suspend works now.
|
||||
|
||||
Fixed by commits:
|
||||
- 8bd2028f9ac3 ("MdeModulePkg: Supporting S3 in 64bit PEI")
|
||||
- 6acf72901a2e ("UefiCpuPkg: Supporting S3 in 64bit PEI")
|
||||
See also https://bugzilla.tianocore.org/show_bug.cgi?id=4195
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Ray Ni <ray.ni@intel.com>
|
||||
(cherry picked from commit 098c55702318fd907de6fad7b43b5e9a6ad9ff7f)
|
||||
---
|
||||
OvmfPkg/PlatformPei/Platform.c | 31 -------------------------------
|
||||
1 file changed, 31 deletions(-)
|
||||
|
||||
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
|
||||
index 5d7f50cc5876..ce9868d57de1 100644
|
||||
--- a/OvmfPkg/PlatformPei/Platform.c
|
||||
+++ b/OvmfPkg/PlatformPei/Platform.c
|
||||
@@ -242,36 +242,6 @@ ReserveEmuVariableNvStore (
|
||||
ASSERT_RETURN_ERROR (PcdStatus);
|
||||
}
|
||||
|
||||
-STATIC
|
||||
-VOID
|
||||
-S3Verification (
|
||||
- IN EFI_HOB_PLATFORM_INFO *PlatformInfoHob
|
||||
- )
|
||||
-{
|
||||
- #if defined (MDE_CPU_X64)
|
||||
- if (PlatformInfoHob->SmmSmramRequire && PlatformInfoHob->S3Supported) {
|
||||
- DEBUG ((
|
||||
- DEBUG_ERROR,
|
||||
- "%a: S3Resume2Pei doesn't support X64 PEI + SMM yet.\n",
|
||||
- __func__
|
||||
- ));
|
||||
- DEBUG ((
|
||||
- DEBUG_ERROR,
|
||||
- "%a: Please disable S3 on the QEMU command line (see the README),\n",
|
||||
- __func__
|
||||
- ));
|
||||
- DEBUG ((
|
||||
- DEBUG_ERROR,
|
||||
- "%a: or build OVMF with \"OvmfPkgIa32X64.dsc\".\n",
|
||||
- __func__
|
||||
- ));
|
||||
- ASSERT (FALSE);
|
||||
- CpuDeadLoop ();
|
||||
- }
|
||||
-
|
||||
- #endif
|
||||
-}
|
||||
-
|
||||
STATIC
|
||||
VOID
|
||||
Q35BoardVerification (
|
||||
@@ -366,7 +336,6 @@ InitializePlatform (
|
||||
ASSERT_EFI_ERROR (Status);
|
||||
}
|
||||
|
||||
- S3Verification (PlatformInfoHob);
|
||||
BootModeInitialization (PlatformInfoHob);
|
||||
|
||||
//
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
From e777f7d03c8a8d56e08926ecf0b17e1338837093 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 14 Oct 2015 14:07:17 +0200
|
||||
Subject: [PATCH] ArmVirtPkg: set early hello message (RH only)
|
||||
|
||||
Print a friendly banner on QEMU, regardless of debug mask settings.
|
||||
|
||||
RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1270279
|
||||
Downstream only:
|
||||
<http://thread.gmane.org/gmane.comp.bios.edk2.devel/2996/focus=3433>.
|
||||
|
||||
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Notes about the 20170228-c325e41585e3 -> 20171011-92d07e48907f rebase:
|
||||
|
||||
- no changes
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
(cherry picked from commit 5d4a15b9019728b2d96322bc679099da49916925)
|
||||
(cherry picked from commit 179df76dbb0d199bd905236e98775b4059c6502a)
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
---
|
||||
ArmVirtPkg/ArmVirtQemu.dsc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
index 86d5d5a666..ffe4ba8092 100644
|
||||
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
@@ -87,6 +87,7 @@
|
||||
gEfiMdeModulePkgTokenSpaceGuid.PcdConOutUgaSupport|FALSE
|
||||
|
||||
[PcdsFixedAtBuild.common]
|
||||
+ gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage|"UEFI firmware starting.\r\n"
|
||||
gArmPlatformTokenSpaceGuid.PcdCoreCount|1
|
||||
!if $(ARCH) == AARCH64
|
||||
gArmTokenSpaceGuid.PcdVFPEnabled|1
|
|
@ -1,47 +0,0 @@
|
|||
From e54dd3f5c1ea0171317d9054d44b35d634ac4557 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Tue, 16 May 2023 11:47:58 +0200
|
||||
Subject: [PATCH 16/27] OvmfPkg/PciHotPlugInitDxe: Do not reserve IO ports by
|
||||
default.
|
||||
|
||||
Flip the default for IO address space reservations for PCI(e) bridges
|
||||
and root ports with hotplug support from TRUE to FALSE.
|
||||
|
||||
PCI(e) bridges will still get IO address space assigned in case:
|
||||
|
||||
(a) Downstream devices actually need IO address space, or
|
||||
(b) Explicit configuration, using "qemu -device
|
||||
pcie-root-port,io-reserve=<size>".
|
||||
|
||||
In case IO address space is exhausted edk2 will stop assigning resources
|
||||
to PCI(e) bridges. This is not limited to IO resources, the affected
|
||||
bridges will not get any memory resources assigned either.
|
||||
|
||||
This patch solves this issue by not handing out the scarce IO address
|
||||
space, which is not needed in most cases anyway. Result is a more
|
||||
consistent PCI configuration in virtual machine configurations with many
|
||||
PCie root ports.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
(cherry picked from commit 27727338b2c0e3f50eb0176a1044e903fcb3c3b1)
|
||||
---
|
||||
OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c b/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c
|
||||
index 6b2b6797b3b6..69903a600981 100644
|
||||
--- a/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c
|
||||
+++ b/OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.c
|
||||
@@ -589,7 +589,7 @@ GetResourcePadding (
|
||||
return EFI_INVALID_PARAMETER;
|
||||
}
|
||||
|
||||
- DefaultIo = TRUE;
|
||||
+ DefaultIo = FALSE;
|
||||
DefaultMmio = TRUE;
|
||||
DefaultPrefMmio = TRUE;
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
From eebbf279b59afa3787d11734d9707cc7ab24d651 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 25 Jul 2018 22:27:53 +0200
|
||||
Subject: [PATCH] BaseTools/footer.makefile: expand BUILD_CFLAGS last for C
|
||||
files too
|
||||
|
||||
BUILD_CPPFLAGS should be expanded before BUILD_CFLAGS. (The rule for C++
|
||||
source files already does this, with BUILD_CPPFLAGS and BUILD_CXXFLAGS.)
|
||||
|
||||
This patch doesn't change behavior.
|
||||
|
||||
Cc: Liming Gao <liming.gao@intel.com>
|
||||
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
|
||||
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
|
||||
Contributed-under: TianoCore Contribution Agreement 1.1
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Liming Gao <liming.gao@intel.com>
|
||||
(cherry picked from commit 67983484a4430c5f82bb5f1397e010c759136321)
|
||||
---
|
||||
BaseTools/Source/C/Makefiles/footer.makefile | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/BaseTools/Source/C/Makefiles/footer.makefile b/BaseTools/Source/C/Makefiles/footer.makefile
|
||||
index 0926aa9645..5bda9e4e36 100644
|
||||
--- a/BaseTools/Source/C/Makefiles/footer.makefile
|
||||
+++ b/BaseTools/Source/C/Makefiles/footer.makefile
|
||||
@@ -24,7 +24,7 @@ $(LIBRARY): $(OBJECTS)
|
||||
$(BUILD_AR) crs $@ $^
|
||||
|
||||
%.o : %.c
|
||||
- $(BUILD_CC) -c $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) $< -o $@
|
||||
+ $(BUILD_CC) -c $(BUILD_CPPFLAGS) $(BUILD_CFLAGS) $< -o $@
|
||||
|
||||
%.o : %.cpp
|
||||
$(BUILD_CXX) -c $(BUILD_CPPFLAGS) $(BUILD_CXXFLAGS) $< -o $@
|
|
@ -1,51 +0,0 @@
|
|||
From 543497088c1356c408f1bf79c06ab64b5c35be6b Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Wed, 17 May 2023 12:24:47 +0200
|
||||
Subject: [PATCH 17/27] OvmfPkg/PlatformInitLib: check PcdUse1GPageTable
|
||||
|
||||
If PcdUse1GPageTable is not enabled restrict the physical address space
|
||||
used to 1TB, to limit the amount of memory needed for identity mapping
|
||||
page tables.
|
||||
|
||||
The same already happens in case the processor has no support for
|
||||
gigabyte pages.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Acked-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
(cherry picked from commit d4d24001f78bcee965d8854fba6f08f48b4ec446)
|
||||
---
|
||||
OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf | 1 +
|
||||
OvmfPkg/Library/PlatformInitLib/MemDetect.c | 5 +++++
|
||||
2 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf b/OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf
|
||||
index 86a82ad3e084..5a79d95b689c 100644
|
||||
--- a/OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf
|
||||
+++ b/OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf
|
||||
@@ -58,6 +58,7 @@ [LibraryClasses.X64]
|
||||
|
||||
[Pcd]
|
||||
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable
|
||||
|
||||
[FixedPcd]
|
||||
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase
|
||||
diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
|
||||
index acf90b4e93fd..1102b00ecbf0 100644
|
||||
--- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c
|
||||
+++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
|
||||
@@ -663,6 +663,11 @@ PlatformAddressWidthFromCpuid (
|
||||
PhysBits = 40;
|
||||
}
|
||||
|
||||
+ if (!FixedPcdGetBool (PcdUse1GPageTable) && (PhysBits > 40)) {
|
||||
+ DEBUG ((DEBUG_INFO, "%a: limit PhysBits to 40 (PcdUse1GPageTable is false)\n", __func__));
|
||||
+ PhysBits = 40;
|
||||
+ }
|
||||
+
|
||||
PlatformInfoHob->PhysMemAddressWidth = PhysBits;
|
||||
PlatformInfoHob->FirstNonAddress = LShiftU64 (1, PlatformInfoHob->PhysMemAddressWidth);
|
||||
}
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
From 0af592dfa9a6d1a3379db1331344f411f7774bea Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 25 Jul 2018 22:40:09 +0200
|
||||
Subject: [PATCH] BaseTools/header.makefile: remove "-c" from BUILD_CFLAGS
|
||||
|
||||
Option "-c" is a mode selection flag (choosing between compiling and
|
||||
linking); it should not be in BUILD_CFLAGS, which applies only to
|
||||
compiling anyway. The compilation rule for C source files, in
|
||||
"footer.makefile", already includes "-c" -- currently we have double "-c"
|
||||
options.
|
||||
|
||||
This patch doesn't change behavior.
|
||||
|
||||
Cc: Liming Gao <liming.gao@intel.com>
|
||||
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
|
||||
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
|
||||
Contributed-under: TianoCore Contribution Agreement 1.1
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Liming Gao <liming.gao@intel.com>
|
||||
(cherry picked from commit 03252ae287c4a61983b3793ff71baeabe2ff3df7)
|
||||
---
|
||||
BaseTools/Source/C/Makefiles/header.makefile | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
|
||||
index db436773cf..08421ba24c 100644
|
||||
--- a/BaseTools/Source/C/Makefiles/header.makefile
|
||||
+++ b/BaseTools/Source/C/Makefiles/header.makefile
|
||||
@@ -71,9 +71,9 @@ INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKE
|
||||
BUILD_CPPFLAGS = $(INCLUDE) -O2
|
||||
ifeq ($(DARWIN),Darwin)
|
||||
# assume clang or clang compatible flags on OS X
|
||||
-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -c -g
|
||||
+BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -g
|
||||
else
|
||||
-BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -c -g
|
||||
+BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-stringop-truncation -Wno-restrict -Wno-unused-result -nostdlib -g
|
||||
endif
|
||||
BUILD_LFLAGS =
|
||||
BUILD_CXXFLAGS = -Wno-unused-result
|
|
@ -1,31 +0,0 @@
|
|||
From f1bbf3e4195bb21d4edfb2af8e940bceacc2ced4 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Wed, 17 May 2023 12:24:48 +0200
|
||||
Subject: [PATCH 18/27] OvmfPkg/OvmfPkgIa32X64: enable 1G pages
|
||||
|
||||
Reduces the memory footprint and speeds up booting.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Acked-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
(cherry picked from commit b63e17d746aa6bab2b1101711395725005e71a02)
|
||||
---
|
||||
OvmfPkg/OvmfPkgIa32X64.dsc | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index e37ec97fbc7a..2b2f8e3e84d3 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -557,6 +557,9 @@ [PcdsFixedAtBuild]
|
||||
# never lets the RAM below 4 GB exceed 2816 MB.
|
||||
gEfiMdePkgTokenSpaceGuid.PcdPciExpressBaseAddress|0xE0000000
|
||||
|
||||
+ # use 1G pages
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE
|
||||
+
|
||||
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
||||
gEfiSourceLevelDebugPkgTokenSpaceGuid.PcdDebugLoadImageMethod|0x2
|
||||
!endif
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,87 @@
|
|||
From 67c8bbaf89bbb4015f0b915fed6fb2f35efd282f Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 25 Jul 2018 22:59:57 +0200
|
||||
Subject: [PATCH] BaseTools/Source/C: split "-O2" to BUILD_OPTFLAGS
|
||||
|
||||
The option "-O2" is not a preprocessor flag, but a code generation
|
||||
(compilation) flag. Move it from BUILD_CPPFLAGS to BUILD_CFLAGS and
|
||||
BUILD_CXXFLAGS.
|
||||
|
||||
Because "VfrCompile/GNUmakefile" uses "-O2" through BUILD_CPPFLAGS, and
|
||||
because it doesn't use BUILD_CXXFLAGS, we have to introduce BUILD_OPTFLAGS
|
||||
separately, so that "VfrCompile/GNUmakefile" can continue using just this
|
||||
flag.
|
||||
|
||||
This patch doesn't change behavior.
|
||||
|
||||
Cc: Liming Gao <liming.gao@intel.com>
|
||||
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
|
||||
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
|
||||
Contributed-under: TianoCore Contribution Agreement 1.1
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Liming Gao <liming.gao@intel.com>
|
||||
(cherry picked from commit b8a66170264395edeaa61e6d22930a58e576a685)
|
||||
---
|
||||
BaseTools/Source/C/Makefiles/header.makefile | 6 +++++-
|
||||
BaseTools/Source/C/VfrCompile/GNUmakefile | 11 +++++++----
|
||||
2 files changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
|
||||
index 08421ba24c..498c6cf48b 100644
|
||||
--- a/BaseTools/Source/C/Makefiles/header.makefile
|
||||
+++ b/BaseTools/Source/C/Makefiles/header.makefile
|
||||
@@ -68,7 +68,8 @@ $(error Bad HOST_ARCH)
|
||||
endif
|
||||
|
||||
INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE)
|
||||
-BUILD_CPPFLAGS = $(INCLUDE) -O2
|
||||
+BUILD_CPPFLAGS = $(INCLUDE)
|
||||
+BUILD_OPTFLAGS = -O2
|
||||
ifeq ($(DARWIN),Darwin)
|
||||
# assume clang or clang compatible flags on OS X
|
||||
BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -g
|
||||
@@ -91,6 +92,9 @@ ifeq ($(DARWIN),Darwin)
|
||||
endif
|
||||
endif
|
||||
|
||||
+# keep BUILD_OPTFLAGS last
|
||||
+BUILD_CFLAGS += $(BUILD_OPTFLAGS)
|
||||
+BUILD_CXXFLAGS += $(BUILD_OPTFLAGS)
|
||||
|
||||
.PHONY: all
|
||||
.PHONY: install
|
||||
diff --git a/BaseTools/Source/C/VfrCompile/GNUmakefile b/BaseTools/Source/C/VfrCompile/GNUmakefile
|
||||
index c4ec61aa6c..bbe562cbc5 100644
|
||||
--- a/BaseTools/Source/C/VfrCompile/GNUmakefile
|
||||
+++ b/BaseTools/Source/C/VfrCompile/GNUmakefile
|
||||
@@ -25,6 +25,9 @@ OBJECTS = AParser.o DLexerBase.o ATokenBuffer.o EfiVfrParser.o VfrLexer.o VfrSyn
|
||||
|
||||
VFR_CPPFLAGS = -DPCCTS_USE_NAMESPACE_STD $(BUILD_CPPFLAGS)
|
||||
|
||||
+# keep BUILD_OPTFLAGS last
|
||||
+VFR_CXXFLAGS = $(BUILD_OPTFLAGS)
|
||||
+
|
||||
LINKER = $(BUILD_CXX)
|
||||
|
||||
EXTRA_CLEAN_OBJECTS = EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h VfrLexer.cpp VfrLexer.h VfrSyntax.cpp tokens.h
|
||||
@@ -58,16 +61,16 @@ Pccts/dlg/dlg:
|
||||
BIN_DIR='.' $(MAKE) -C Pccts/dlg
|
||||
|
||||
ATokenBuffer.o: Pccts/h/ATokenBuffer.cpp
|
||||
- $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $? -o $@
|
||||
+ $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $(VFR_CXXFLAGS) $? -o $@
|
||||
|
||||
DLexerBase.o: Pccts/h/DLexerBase.cpp
|
||||
- $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $? -o $@
|
||||
+ $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $(VFR_CXXFLAGS) $? -o $@
|
||||
|
||||
AParser.o: Pccts/h/AParser.cpp
|
||||
- $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $? -o $@
|
||||
+ $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $(VFR_CXXFLAGS) $? -o $@
|
||||
|
||||
VfrSyntax.o: VfrSyntax.cpp
|
||||
- $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $? -o $@
|
||||
+ $(BUILD_CXX) -c $(VFR_CPPFLAGS) $(INC) $(VFR_CXXFLAGS) $? -o $@
|
||||
|
||||
clean: localClean
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
From 9c6bc52b413feda953158ad623237f6c9e7b533d Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Wed, 17 May 2023 12:24:49 +0200
|
||||
Subject: [PATCH 19/27] OvmfPkg/MicrovmX64: enable 1G pages
|
||||
|
||||
Reduces the memory footprint and speeds up booting.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Acked-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
(cherry picked from commit 04c5b3023e49c35d291f41d2c39b4d12a62b8f9c)
|
||||
---
|
||||
OvmfPkg/Microvm/MicrovmX64.dsc | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/Microvm/MicrovmX64.dsc b/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||
index 02c225f6d2a7..b0acab41103b 100644
|
||||
--- a/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||
+++ b/OvmfPkg/Microvm/MicrovmX64.dsc
|
||||
@@ -544,6 +544,9 @@ [PcdsFixedAtBuild]
|
||||
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesCode|0x100
|
||||
gEmbeddedTokenSpaceGuid.PcdMemoryTypeEfiRuntimeServicesData|0x100
|
||||
|
||||
+ # use 1G pages
|
||||
+ gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable|TRUE
|
||||
+
|
||||
#
|
||||
# Network Pcds
|
||||
#
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
From 26296351f9a6b6dad0604f8ed62ce5de0f41ac2c Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Thu, 26 Jul 2018 00:04:26 +0200
|
||||
Subject: [PATCH] BaseTools/Source/C: take EXTRA_OPTFLAGS from the caller
|
||||
|
||||
Allow the caller of the top-level makefile either to set EXTRA_OPTFLAGS in
|
||||
the environment or to pass EXTRA_OPTFLAGS as a macro definition on the
|
||||
command line. EXTRA_OPTFLAGS extends (and potentially overrides) default C
|
||||
compilation flags set in the makefiles.
|
||||
|
||||
Cc: Liming Gao <liming.gao@intel.com>
|
||||
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
|
||||
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
|
||||
Contributed-under: TianoCore Contribution Agreement 1.1
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Liming Gao <liming.gao@intel.com>
|
||||
(cherry picked from commit b0ca5dae78ff71397a8ef568f1914da7668ff5a9)
|
||||
---
|
||||
BaseTools/Source/C/Makefiles/header.makefile | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
|
||||
index 498c6cf48b..1b4cad5497 100644
|
||||
--- a/BaseTools/Source/C/Makefiles/header.makefile
|
||||
+++ b/BaseTools/Source/C/Makefiles/header.makefile
|
||||
@@ -69,7 +69,10 @@ endif
|
||||
|
||||
INCLUDE = $(TOOL_INCLUDE) -I $(MAKEROOT) -I $(MAKEROOT)/Include/Common -I $(MAKEROOT)/Include/ -I $(MAKEROOT)/Include/IndustryStandard -I $(MAKEROOT)/Common/ -I .. -I . $(ARCH_INCLUDE)
|
||||
BUILD_CPPFLAGS = $(INCLUDE)
|
||||
-BUILD_OPTFLAGS = -O2
|
||||
+
|
||||
+# keep EXTRA_OPTFLAGS last
|
||||
+BUILD_OPTFLAGS = -O2 $(EXTRA_OPTFLAGS)
|
||||
+
|
||||
ifeq ($(DARWIN),Darwin)
|
||||
# assume clang or clang compatible flags on OS X
|
||||
BUILD_CFLAGS = -MD -fshort-wchar -fno-strict-aliasing -Wall -Werror -Wno-deprecated-declarations -Wno-self-assign -Wno-unused-result -nostdlib -g
|
|
@ -1,39 +0,0 @@
|
|||
From 71024b694fa3a6317ebbba1d79626f80d8dce792 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Fri, 12 May 2023 16:23:06 +0200
|
||||
Subject: [PATCH 20/27] OvmfPkg/VirtioSerialDxe: use TPL_NOTIFY
|
||||
|
||||
Apparently TPL_CALLBACK is too low, code runs into an ASSERT
|
||||
complaining the new TPL is lower than the old TPL.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
(cherry picked from commit 4e5a804222415ec7b2bec90ea0300b8a9f60f131)
|
||||
---
|
||||
OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c b/OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c
|
||||
index 522b25e9698c..e4a58deff162 100644
|
||||
--- a/OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c
|
||||
+++ b/OvmfPkg/VirtioSerialDxe/VirtioSerialPort.c
|
||||
@@ -158,7 +158,7 @@ VirtioSerialIoWrite (
|
||||
|
||||
VirtioSerialRingClearTx (SerialIo->Dev, PortTx (SerialIo->PortId));
|
||||
|
||||
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
|
||||
if (SerialIo->WriteOffset &&
|
||||
(SerialIo->WriteOffset + *BufferSize > PORT_TX_BUFSIZE))
|
||||
{
|
||||
@@ -201,7 +201,7 @@ VirtioSerialIoRead (
|
||||
goto NoData;
|
||||
}
|
||||
|
||||
- OldTpl = gBS->RaiseTPL (TPL_CALLBACK);
|
||||
+ OldTpl = gBS->RaiseTPL (TPL_NOTIFY);
|
||||
if (SerialIo->WriteOffset) {
|
||||
DEBUG ((DEBUG_VERBOSE, "%a:%d: WriteFlush %d\n", __func__, __LINE__, SerialIo->WriteOffset));
|
||||
VirtioSerialRingSendBuffer (
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
From c1a087a76d91665433f190d0468be2b33da443cd Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Thu, 26 Jul 2018 01:24:40 +0200
|
||||
Subject: [PATCH] BaseTools/Source/C: take EXTRA_LDFLAGS from the caller
|
||||
|
||||
Allow the caller of the top-level makefile either to set EXTRA_LDFLAGS in
|
||||
the environment or to pass EXTRA_LDFLAGS as a macro definition on the
|
||||
command line. EXTRA_LDFLAGS extends (and potentially overrides) default
|
||||
link-editing flags set in the makefiles.
|
||||
|
||||
Cc: Liming Gao <liming.gao@intel.com>
|
||||
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
|
||||
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
|
||||
Contributed-under: TianoCore Contribution Agreement 1.1
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Liming Gao <liming.gao@intel.com>
|
||||
(cherry picked from commit 81502cee20ac4046f08bb4aec754c7091c8808dc)
|
||||
---
|
||||
BaseTools/Source/C/Makefiles/header.makefile | 3 +++
|
||||
1 file changed, 3 insertions(+)
|
||||
|
||||
diff --git a/BaseTools/Source/C/Makefiles/header.makefile b/BaseTools/Source/C/Makefiles/header.makefile
|
||||
index 1b4cad5497..7f283d6464 100644
|
||||
--- a/BaseTools/Source/C/Makefiles/header.makefile
|
||||
+++ b/BaseTools/Source/C/Makefiles/header.makefile
|
||||
@@ -99,6 +99,9 @@ endif
|
||||
BUILD_CFLAGS += $(BUILD_OPTFLAGS)
|
||||
BUILD_CXXFLAGS += $(BUILD_OPTFLAGS)
|
||||
|
||||
+# keep EXTRA_LDFLAGS last
|
||||
+BUILD_LFLAGS += $(EXTRA_LDFLAGS)
|
||||
+
|
||||
.PHONY: all
|
||||
.PHONY: install
|
||||
.PHONY: clean
|
|
@ -1,51 +0,0 @@
|
|||
From 8372a31938eb57921bd8a9a5dd5d56b838b074a2 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Thu, 1 Jun 2023 08:08:03 +0200
|
||||
Subject: [PATCH 21/27] OvmfPkg/QemuFlashFvbServicesRuntimeDxe: refine flash
|
||||
detection
|
||||
|
||||
Flash can be write-protected in qemu (which is usually the case for
|
||||
code). In case the variable store flash block is configured read-only
|
||||
ovmf wouldn't be able to store EFI variables there, so not setting up
|
||||
fvb in that case (and fallhack to emulation) is the better option.
|
||||
It'll avoid problems later due to flash writes failing.
|
||||
|
||||
The patch tries to write back the original value read earlier, so flash
|
||||
content doesn't change in case the write succeeds. But the status we
|
||||
read back after the attempt to write will tell us whenever flash is
|
||||
writable or not.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
(cherry picked from commit 578a715cfc6abc08ead8f585f096789374254b2a)
|
||||
---
|
||||
OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c | 14 +++++++++++---
|
||||
1 file changed, 11 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c b/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c
|
||||
index 54f859de9ff9..a577aea55614 100644
|
||||
--- a/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c
|
||||
+++ b/OvmfPkg/QemuFlashFvbServicesRuntimeDxe/QemuFlash.c
|
||||
@@ -114,9 +114,17 @@ QemuFlashDetected (
|
||||
DEBUG ((DEBUG_INFO, "QemuFlashDetected => FD behaves as RAM\n"));
|
||||
*Ptr = OriginalUint8;
|
||||
} else if (ProbeUint8 == CLEARED_ARRAY_STATUS) {
|
||||
- DEBUG ((DEBUG_INFO, "QemuFlashDetected => FD behaves as FLASH\n"));
|
||||
- FlashDetected = TRUE;
|
||||
- *Ptr = READ_ARRAY_CMD;
|
||||
+ *Ptr = WRITE_BYTE_CMD;
|
||||
+ *Ptr = OriginalUint8;
|
||||
+ *Ptr = READ_STATUS_CMD;
|
||||
+ ProbeUint8 = *Ptr;
|
||||
+ *Ptr = READ_ARRAY_CMD;
|
||||
+ if (ProbeUint8 & 0x10 /* programming error */) {
|
||||
+ DEBUG ((DEBUG_INFO, "QemuFlashDetected => FD behaves as FLASH, write-protected\n"));
|
||||
+ } else {
|
||||
+ DEBUG ((DEBUG_INFO, "QemuFlashDetected => FD behaves as FLASH, writable\n"));
|
||||
+ FlashDetected = TRUE;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,69 @@
|
|||
From d30cba687d657a68bf83b8dd54db63b3e2e6cb54 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Thu, 16 Aug 2018 19:38:02 -0700
|
||||
Subject: [PATCH] BaseTools/VfrCompile: honor EXTRA_LDFLAGS
|
||||
|
||||
In commit 81502cee20ac ("BaseTools/Source/C: take EXTRA_LDFLAGS from the
|
||||
caller", 2018-08-16), I missed that "VfrCompile/GNUmakefile" does not use
|
||||
BUILD_LFLAGS in the APPLICATION linking rule, unlike "app.makefile" does.
|
||||
Instead, "VfrCompile/GNUmakefile" uses the (undefined) LFLAGS macro.
|
||||
Therefore commit 81502cee20ac did not cover the linking step of
|
||||
VfrCompile.
|
||||
|
||||
Thankfully, the structure of the linking rules is the same, between
|
||||
"app.makefile" and "VfrCompile/GNUmakefile". Rename the undefined LFLAGS
|
||||
macro in "VfrCompile/GNUmakefile" to VFR_LFLAGS (for consistency with
|
||||
VFR_CXXFLAGS), and set it to EXTRA_LDFLAGS.
|
||||
|
||||
As a result, we have:
|
||||
|
||||
| compilation | linking
|
||||
-----------+--------------------------------+----------------------
|
||||
VfrCompile | VFR_CXXFLAGS = | VFR_LFLAGS =
|
||||
| BUILD_OPTFLAGS = | EXTRA_LDFLAGS
|
||||
| '-O2' + EXTRA_OPTFLAGS |
|
||||
-----------+--------------------------------+----------------------
|
||||
other apps | BUILD_CFLAGS/BUILD_CXXFLAGS = | BUILD_LFLAGS =
|
||||
| [...] + BUILD_OPTFLAGS = | [...] + EXTRA_LDFLAGS
|
||||
| [...] + '-O2' + EXTRA_OPTFLAGS |
|
||||
|
||||
This table shows
|
||||
- that the VfrCompile compilation and linking flags are always a subset of
|
||||
the corresponding flags used by the other apps,
|
||||
- and that the EXTRA flags are always at the end.
|
||||
|
||||
Cc: Liming Gao <liming.gao@intel.com>
|
||||
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
|
||||
Ref: https://bugzilla.redhat.com/show_bug.cgi?id=1540244
|
||||
Fixes: 81502cee20ac4046f08bb4aec754c7091c8808dc
|
||||
Contributed-under: TianoCore Contribution Agreement 1.1
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
Reviewed-by: Liming Gao <liming.gao@intel.com>
|
||||
(cherry picked from commit aa4e0df1f0c7ffdff07d7e382c9da89cbe207cdb)
|
||||
---
|
||||
BaseTools/Source/C/VfrCompile/GNUmakefile | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/BaseTools/Source/C/VfrCompile/GNUmakefile b/BaseTools/Source/C/VfrCompile/GNUmakefile
|
||||
index bbe562cbc5..9273589ff8 100644
|
||||
--- a/BaseTools/Source/C/VfrCompile/GNUmakefile
|
||||
+++ b/BaseTools/Source/C/VfrCompile/GNUmakefile
|
||||
@@ -28,6 +28,9 @@ VFR_CPPFLAGS = -DPCCTS_USE_NAMESPACE_STD $(BUILD_CPPFLAGS)
|
||||
# keep BUILD_OPTFLAGS last
|
||||
VFR_CXXFLAGS = $(BUILD_OPTFLAGS)
|
||||
|
||||
+# keep EXTRA_LDFLAGS last
|
||||
+VFR_LFLAGS = $(EXTRA_LDFLAGS)
|
||||
+
|
||||
LINKER = $(BUILD_CXX)
|
||||
|
||||
EXTRA_CLEAN_OBJECTS = EfiVfrParser.cpp EfiVfrParser.h VfrParser.dlg VfrTokens.h VfrLexer.cpp VfrLexer.h VfrSyntax.cpp tokens.h
|
||||
@@ -42,7 +45,7 @@ APPLICATION = $(MAKEROOT)/bin/$(APPNAME)
|
||||
all: $(MAKEROOT)/bin $(APPLICATION)
|
||||
|
||||
$(APPLICATION): $(OBJECTS)
|
||||
- $(LINKER) -o $(APPLICATION) $(LFLAGS) $(OBJECTS) -L$(MAKEROOT)/libs $(LIBS)
|
||||
+ $(LINKER) -o $(APPLICATION) $(VFR_LFLAGS) $(OBJECTS) -L$(MAKEROOT)/libs $(LIBS)
|
||||
|
||||
VfrCompiler.o: ../Include/Common/BuildVersion.h
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
From cdb34f5003b9001d12d1841e8a4eeab9471ab928 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Thu, 1 Jun 2023 09:57:31 +0200
|
||||
Subject: [PATCH 22/27] OvmfPkg/PlatformInitLib: limit phys-bits to 46.
|
||||
|
||||
Older linux kernels have problems with phys-bits larger than 46,
|
||||
ubuntu 18.04 (kernel 4.15) has been reported to be affected.
|
||||
|
||||
Reduce phys-bits limit from 47 to 46.
|
||||
|
||||
Reported-by: Fiona Ebner <f.ebner@proxmox.com>
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
(cherry picked from commit c1e853769046b322690ad336fdb98966757e7414)
|
||||
---
|
||||
OvmfPkg/Library/PlatformInitLib/MemDetect.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/OvmfPkg/Library/PlatformInitLib/MemDetect.c b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
|
||||
index 1102b00ecbf0..662e7e85bbc5 100644
|
||||
--- a/OvmfPkg/Library/PlatformInitLib/MemDetect.c
|
||||
+++ b/OvmfPkg/Library/PlatformInitLib/MemDetect.c
|
||||
@@ -646,16 +646,19 @@ PlatformAddressWidthFromCpuid (
|
||||
));
|
||||
|
||||
if (Valid) {
|
||||
- if (PhysBits > 47) {
|
||||
+ if (PhysBits > 46) {
|
||||
/*
|
||||
* Avoid 5-level paging altogether for now, which limits
|
||||
* PhysBits to 48. Also avoid using address bit 48, due to sign
|
||||
* extension we can't identity-map these addresses (and lots of
|
||||
* places in edk2 assume we have everything identity-mapped).
|
||||
* So the actual limit is 47.
|
||||
+ *
|
||||
+ * Also some older linux kernels apparently have problems handling
|
||||
+ * phys-bits > 46 correctly, so use that as limit.
|
||||
*/
|
||||
- DEBUG ((DEBUG_INFO, "%a: limit PhysBits to 47 (avoid 5-level paging)\n", __func__));
|
||||
- PhysBits = 47;
|
||||
+ DEBUG ((DEBUG_INFO, "%a: limit PhysBits to 46 (avoid 5-level paging)\n", __func__));
|
||||
+ PhysBits = 46;
|
||||
}
|
||||
|
||||
if (!Page1GSupport && (PhysBits > 40)) {
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
From bc308234de0455d9448f6b841506bd1e2b04b024 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Thu, 1 Jun 2023 13:57:10 +0200
|
||||
Subject: [PATCH 23/27] ArmVirt: add VirtioSerialDxe to ArmVirtQemu builds
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Acked-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
(cherry picked from commit 6925150febb3a76d8e40c19babcc578555ca78fe)
|
||||
---
|
||||
ArmVirtPkg/ArmVirtQemu.dsc | 1 +
|
||||
ArmVirtPkg/ArmVirtQemuKernel.dsc | 1 +
|
||||
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 1 +
|
||||
3 files changed, 3 insertions(+)
|
||||
|
||||
diff --git a/ArmVirtPkg/ArmVirtQemu.dsc b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
index bc097880f79f..a03f5e4d43cf 100644
|
||||
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||
@@ -453,6 +453,7 @@ [Components.common]
|
||||
OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||
OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
||||
OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||
+ OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||
|
||||
#
|
||||
# FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
|
||||
diff --git a/ArmVirtPkg/ArmVirtQemuKernel.dsc b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||
index 02877284bfa3..e7d76a6502c7 100644
|
||||
--- a/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||
+++ b/ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||
@@ -353,6 +353,7 @@ [Components.common]
|
||||
OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||
OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
||||
OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||
+ OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||
|
||||
#
|
||||
# FAT filesystem + GPT/MBR partitioning + UDF filesystem + virtio-fs
|
||||
diff --git a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||
index 8a063bac04ac..2894bc853a46 100644
|
||||
--- a/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||
+++ b/ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc
|
||||
@@ -98,6 +98,7 @@ [FV.FvMain]
|
||||
INF OvmfPkg/VirtioNetDxe/VirtioNet.inf
|
||||
INF OvmfPkg/VirtioScsiDxe/VirtioScsi.inf
|
||||
INF OvmfPkg/VirtioRngDxe/VirtioRng.inf
|
||||
+ INF OvmfPkg/VirtioSerialDxe/VirtioSerial.inf
|
||||
|
||||
INF ShellPkg/Application/Shell/Shell.inf
|
||||
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
From cde5a72d365eff5b02b8330fef1c8d36fced08eb Mon Sep 17 00:00:00 2001
|
||||
From: "edk2-devel-bounces@lists.01.org" <edk2-devel-bounces@lists.01.org>
|
||||
Date: Fri, 14 Sep 2018 16:24:15 +0800
|
||||
Subject: [PATCH] NetworkPkg: UefiPxeBcDxe: Add EXCLUSIVE attribute when
|
||||
opening SNP protocol installed by PXE.
|
||||
|
||||
Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=1152
|
||||
|
||||
v2: Sync the same logic to Ipv6 and update code comments.
|
||||
|
||||
The PXE driver installs a SNP and open this SNP with attribute BY_DRIVER
|
||||
to avoid it being opened by MNP driver, this SNP is also expected not to
|
||||
be opened by other drivers with EXCLUSIVE attribute. In some cases, other
|
||||
drivers may happen to do this by error, and thus cause a system crash.
|
||||
This patch adds EXCLUSIVE attribute when opening SNP in PXE driver, and
|
||||
will reject all OpenProtocol requests by EXCLUSIVE.
|
||||
|
||||
Cc: Subramanian, Sriram <sriram-s@hpe.com>
|
||||
Cc: Ye Ting <ting.ye@intel.com>
|
||||
Cc: Fu Siyuan <siyuan.fu@intel.com>
|
||||
Cc: Wu Jiaxin <jiaxin.wu@intel.com>
|
||||
Contributed-under: TianoCore Contribution Agreement 1.1
|
||||
Signed-off-by: Wang Fan <fan.wang@intel.com>
|
||||
Reviewed-by: Sriram Subramanian <sriram-s@hpe.com>
|
||||
Reviewed-by: Fu Siyuan <siyuan.fu@intel.com>
|
||||
Reviewed-by: Wu Jiaxin <jiaxin.wu@intel.com>
|
||||
---
|
||||
NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
|
||||
index bc9dc914f3..0ab640beca 100644
|
||||
--- a/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
|
||||
+++ b/NetworkPkg/UefiPxeBcDxe/PxeBcDriver.c
|
||||
@@ -814,7 +814,7 @@ PxeBcCreateIp4Children (
|
||||
}
|
||||
|
||||
//
|
||||
- // Open SNP on the child handle BY_DRIVER. It will prevent any additionally
|
||||
+ // Open SNP on the child handle BY_DRIVER|EXCLUSIVE. It will prevent any additionally
|
||||
// layering to perform the experiment.
|
||||
//
|
||||
Status = gBS->OpenProtocol (
|
||||
@@ -823,7 +823,7 @@ PxeBcCreateIp4Children (
|
||||
(VOID **) &Snp,
|
||||
This->DriverBindingHandle,
|
||||
Private->Ip4Nic->Controller,
|
||||
- EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
+ EFI_OPEN_PROTOCOL_BY_DRIVER|EFI_OPEN_PROTOCOL_EXCLUSIVE
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto ON_ERROR;
|
||||
@@ -1157,7 +1157,7 @@ PxeBcCreateIp6Children (
|
||||
}
|
||||
|
||||
//
|
||||
- // Open SNP on the child handle BY_DRIVER. It will prevent any additionally
|
||||
+ // Open SNP on the child handle BY_DRIVER|EXCLUSIVE. It will prevent any additionally
|
||||
// layering to perform the experiment.
|
||||
//
|
||||
Status = gBS->OpenProtocol (
|
||||
@@ -1166,7 +1166,7 @@ PxeBcCreateIp6Children (
|
||||
(VOID **) &Snp,
|
||||
This->DriverBindingHandle,
|
||||
Private->Ip6Nic->Controller,
|
||||
- EFI_OPEN_PROTOCOL_BY_DRIVER
|
||||
+ EFI_OPEN_PROTOCOL_BY_DRIVER|EFI_OPEN_PROTOCOL_EXCLUSIVE
|
||||
);
|
||||
if (EFI_ERROR (Status)) {
|
||||
goto ON_ERROR;
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,68 +0,0 @@
|
|||
From f0d2e5cf0f436cf48afae5e7b86bd5bd7e137751 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Thu, 1 Jun 2023 13:57:11 +0200
|
||||
Subject: [PATCH 24/27] ArmVirt/PlatformBootManagerLib: factor out IsVirtio()
|
||||
|
||||
IsVirtioRng() becomes just a thin wrapper for IsVirtio().
|
||||
This allows to add similar thin wrappers for other virtio
|
||||
devices in the future.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
(cherry picked from commit a196b04926e70880334fcd649837d0ac63b0bfd5)
|
||||
---
|
||||
.../PlatformBootManagerLib/PlatformBm.c | 26 +++++++++++++++----
|
||||
1 file changed, 21 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
|
||||
index 10c815378cd5..5eb6f0f9c14a 100644
|
||||
--- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
|
||||
+++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
|
||||
@@ -269,15 +269,16 @@ IsPciDisplay (
|
||||
}
|
||||
|
||||
/**
|
||||
- This FILTER_FUNCTION checks if a handle corresponds to a Virtio RNG device at
|
||||
- the VIRTIO_DEVICE_PROTOCOL level.
|
||||
+ This function checks if a handle corresponds to the Virtio Device ID given
|
||||
+ at the VIRTIO_DEVICE_PROTOCOL level.
|
||||
**/
|
||||
STATIC
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
-IsVirtioRng (
|
||||
+IsVirtio (
|
||||
IN EFI_HANDLE Handle,
|
||||
- IN CONST CHAR16 *ReportText
|
||||
+ IN CONST CHAR16 *ReportText,
|
||||
+ IN UINT16 VirtIoDeviceId
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
@@ -293,7 +294,22 @@ IsVirtioRng (
|
||||
}
|
||||
|
||||
return (BOOLEAN)(VirtIo->SubSystemDeviceId ==
|
||||
- VIRTIO_SUBSYSTEM_ENTROPY_SOURCE);
|
||||
+ VirtIoDeviceId);
|
||||
+}
|
||||
+
|
||||
+/**
|
||||
+ This FILTER_FUNCTION checks if a handle corresponds to a Virtio RNG device at
|
||||
+ the VIRTIO_DEVICE_PROTOCOL level.
|
||||
+**/
|
||||
+STATIC
|
||||
+BOOLEAN
|
||||
+EFIAPI
|
||||
+IsVirtioRng (
|
||||
+ IN EFI_HANDLE Handle,
|
||||
+ IN CONST CHAR16 *ReportText
|
||||
+ )
|
||||
+{
|
||||
+ return IsVirtio (Handle, ReportText, VIRTIO_SUBSYSTEM_ENTROPY_SOURCE);
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,90 +0,0 @@
|
|||
From 7863796aacb5dc2acd852920bd33a3fec167c80b Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Thu, 1 Jun 2023 13:57:12 +0200
|
||||
Subject: [PATCH 25/27] ArmVirt/PlatformBootManagerLib: factor out
|
||||
IsVirtioPci()
|
||||
|
||||
IsVirtioPciRng() becomes just a thin wrapper for IsVirtioPci().
|
||||
This allows to add similar thin wrappers for other virtio
|
||||
devices in the future.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
|
||||
(cherry picked from commit aaf546879ab71722c36738ccc6f0f0ab4ecf5076)
|
||||
---
|
||||
.../PlatformBootManagerLib/PlatformBm.c | 30 ++++++++++++++-----
|
||||
1 file changed, 23 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
|
||||
index 5eb6f0f9c14a..ed38c42a43ee 100644
|
||||
--- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
|
||||
+++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
|
||||
@@ -313,15 +313,16 @@ IsVirtioRng (
|
||||
}
|
||||
|
||||
/**
|
||||
- This FILTER_FUNCTION checks if a handle corresponds to a Virtio RNG device at
|
||||
- the EFI_PCI_IO_PROTOCOL level.
|
||||
+ This function checks if a handle corresponds to the Virtio Device ID given
|
||||
+ at the EFI_PCI_IO_PROTOCOL level.
|
||||
**/
|
||||
STATIC
|
||||
BOOLEAN
|
||||
EFIAPI
|
||||
-IsVirtioPciRng (
|
||||
+IsVirtioPci (
|
||||
IN EFI_HANDLE Handle,
|
||||
- IN CONST CHAR16 *ReportText
|
||||
+ IN CONST CHAR16 *ReportText,
|
||||
+ IN UINT16 VirtIoDeviceId
|
||||
)
|
||||
{
|
||||
EFI_STATUS Status;
|
||||
@@ -387,11 +388,11 @@ IsVirtioPciRng (
|
||||
//
|
||||
// From DeviceId and RevisionId, determine whether the device is a
|
||||
// modern-only Virtio 1.0 device. In case of Virtio 1.0, DeviceId can
|
||||
- // immediately be restricted to VIRTIO_SUBSYSTEM_ENTROPY_SOURCE, and
|
||||
+ // immediately be restricted to VirtIoDeviceId, and
|
||||
// SubsystemId will only play a sanity-check role. Otherwise, DeviceId can
|
||||
// only be sanity-checked, and SubsystemId will decide.
|
||||
//
|
||||
- if ((DeviceId == 0x1040 + VIRTIO_SUBSYSTEM_ENTROPY_SOURCE) &&
|
||||
+ if ((DeviceId == 0x1040 + VirtIoDeviceId) &&
|
||||
(RevisionId >= 0x01))
|
||||
{
|
||||
Virtio10 = TRUE;
|
||||
@@ -419,7 +420,7 @@ IsVirtioPciRng (
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
- if (!Virtio10 && (SubsystemId == VIRTIO_SUBSYSTEM_ENTROPY_SOURCE)) {
|
||||
+ if (!Virtio10 && (SubsystemId == VirtIoDeviceId)) {
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@@ -430,6 +431,21 @@ IsVirtioPciRng (
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+/**
|
||||
+ This FILTER_FUNCTION checks if a handle corresponds to a Virtio RNG device at
|
||||
+ the EFI_PCI_IO_PROTOCOL level.
|
||||
+**/
|
||||
+STATIC
|
||||
+BOOLEAN
|
||||
+EFIAPI
|
||||
+IsVirtioPciRng (
|
||||
+ IN EFI_HANDLE Handle,
|
||||
+ IN CONST CHAR16 *ReportText
|
||||
+ )
|
||||
+{
|
||||
+ return IsVirtioPci (Handle, ReportText, VIRTIO_SUBSYSTEM_ENTROPY_SOURCE);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
This CALLBACK_FUNCTION attempts to connect a handle non-recursively, asking
|
||||
the matching driver to produce all first-level child handles.
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,222 +0,0 @@
|
|||
From 83a8a9dc1a51d340199587d5bea715406bbc4efa Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Thu, 1 Jun 2023 13:57:13 +0200
|
||||
Subject: [PATCH 26/27] ArmVirt/PlatformBootManagerLib: set up virtio serial as
|
||||
console
|
||||
|
||||
In case a virtio serial device is found in the system register the first
|
||||
console port as EFI console, by updating ConIn, ConOut and ErrOut.
|
||||
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
(cherry picked from commit 15f83fa36442eaa272300b31699b3b82ce7e07a9)
|
||||
---
|
||||
.../PlatformBootManagerLib/PlatformBm.c | 172 ++++++++++++++++++
|
||||
1 file changed, 172 insertions(+)
|
||||
|
||||
diff --git a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
|
||||
index ed38c42a43ee..b92a916f7eec 100644
|
||||
--- a/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
|
||||
+++ b/ArmVirtPkg/Library/PlatformBootManagerLib/PlatformBm.c
|
||||
@@ -312,6 +312,21 @@ IsVirtioRng (
|
||||
return IsVirtio (Handle, ReportText, VIRTIO_SUBSYSTEM_ENTROPY_SOURCE);
|
||||
}
|
||||
|
||||
+/**
|
||||
+ This FILTER_FUNCTION checks if a handle corresponds to a Virtio serial device at
|
||||
+ the VIRTIO_DEVICE_PROTOCOL level.
|
||||
+**/
|
||||
+STATIC
|
||||
+BOOLEAN
|
||||
+EFIAPI
|
||||
+IsVirtioSerial (
|
||||
+ IN EFI_HANDLE Handle,
|
||||
+ IN CONST CHAR16 *ReportText
|
||||
+ )
|
||||
+{
|
||||
+ return IsVirtio (Handle, ReportText, VIRTIO_SUBSYSTEM_CONSOLE);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
This function checks if a handle corresponds to the Virtio Device ID given
|
||||
at the EFI_PCI_IO_PROTOCOL level.
|
||||
@@ -446,6 +461,21 @@ IsVirtioPciRng (
|
||||
return IsVirtioPci (Handle, ReportText, VIRTIO_SUBSYSTEM_ENTROPY_SOURCE);
|
||||
}
|
||||
|
||||
+/**
|
||||
+ This FILTER_FUNCTION checks if a handle corresponds to a Virtio serial device at
|
||||
+ the EFI_PCI_IO_PROTOCOL level.
|
||||
+**/
|
||||
+STATIC
|
||||
+BOOLEAN
|
||||
+EFIAPI
|
||||
+IsVirtioPciSerial (
|
||||
+ IN EFI_HANDLE Handle,
|
||||
+ IN CONST CHAR16 *ReportText
|
||||
+ )
|
||||
+{
|
||||
+ return IsVirtioPci (Handle, ReportText, VIRTIO_SUBSYSTEM_CONSOLE);
|
||||
+}
|
||||
+
|
||||
/**
|
||||
This CALLBACK_FUNCTION attempts to connect a handle non-recursively, asking
|
||||
the matching driver to produce all first-level child handles.
|
||||
@@ -534,6 +564,142 @@ AddOutput (
|
||||
));
|
||||
}
|
||||
|
||||
+/**
|
||||
+ This CALLBACK_FUNCTION retrieves the EFI_DEVICE_PATH_PROTOCOL from
|
||||
+ the handle, appends serial, uart and terminal nodes, finally updates
|
||||
+ ConIn, ConOut and ErrOut.
|
||||
+**/
|
||||
+STATIC
|
||||
+VOID
|
||||
+EFIAPI
|
||||
+SetupVirtioSerial (
|
||||
+ IN EFI_HANDLE Handle,
|
||||
+ IN CONST CHAR16 *ReportText
|
||||
+ )
|
||||
+{
|
||||
+ STATIC CONST ACPI_HID_DEVICE_PATH SerialNode = {
|
||||
+ {
|
||||
+ ACPI_DEVICE_PATH,
|
||||
+ ACPI_DP,
|
||||
+ {
|
||||
+ (UINT8)(sizeof (ACPI_HID_DEVICE_PATH)),
|
||||
+ (UINT8)((sizeof (ACPI_HID_DEVICE_PATH)) >> 8)
|
||||
+ },
|
||||
+ },
|
||||
+ EISA_PNP_ID (0x0501),
|
||||
+ 0
|
||||
+ };
|
||||
+
|
||||
+ STATIC CONST UART_DEVICE_PATH UartNode = {
|
||||
+ {
|
||||
+ MESSAGING_DEVICE_PATH,
|
||||
+ MSG_UART_DP,
|
||||
+ {
|
||||
+ (UINT8)(sizeof (UART_DEVICE_PATH)),
|
||||
+ (UINT8)((sizeof (UART_DEVICE_PATH)) >> 8)
|
||||
+ },
|
||||
+ },
|
||||
+ 0,
|
||||
+ 115200,
|
||||
+ 8,
|
||||
+ 1,
|
||||
+ 1
|
||||
+ };
|
||||
+
|
||||
+ STATIC CONST VENDOR_DEVICE_PATH TerminalNode = {
|
||||
+ {
|
||||
+ MESSAGING_DEVICE_PATH,
|
||||
+ MSG_VENDOR_DP,
|
||||
+ {
|
||||
+ (UINT8)(sizeof (VENDOR_DEVICE_PATH)),
|
||||
+ (UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)
|
||||
+ },
|
||||
+ },
|
||||
+ DEVICE_PATH_MESSAGING_VT_UTF8
|
||||
+ };
|
||||
+
|
||||
+ EFI_STATUS Status;
|
||||
+ EFI_DEVICE_PATH_PROTOCOL *DevicePath, *OldDevicePath;
|
||||
+
|
||||
+ DevicePath = DevicePathFromHandle (Handle);
|
||||
+
|
||||
+ if (DevicePath == NULL) {
|
||||
+ DEBUG ((
|
||||
+ DEBUG_ERROR,
|
||||
+ "%a: %s: handle %p: device path not found\n",
|
||||
+ __func__,
|
||||
+ ReportText,
|
||||
+ Handle
|
||||
+ ));
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ DevicePath = AppendDevicePathNode (
|
||||
+ DevicePath,
|
||||
+ &SerialNode.Header
|
||||
+ );
|
||||
+
|
||||
+ OldDevicePath = DevicePath;
|
||||
+ DevicePath = AppendDevicePathNode (
|
||||
+ DevicePath,
|
||||
+ &UartNode.Header
|
||||
+ );
|
||||
+ FreePool (OldDevicePath);
|
||||
+
|
||||
+ OldDevicePath = DevicePath;
|
||||
+ DevicePath = AppendDevicePathNode (
|
||||
+ DevicePath,
|
||||
+ &TerminalNode.Header
|
||||
+ );
|
||||
+ FreePool (OldDevicePath);
|
||||
+
|
||||
+ Status = EfiBootManagerUpdateConsoleVariable (ConIn, DevicePath, NULL);
|
||||
+ if (EFI_ERROR (Status)) {
|
||||
+ DEBUG ((
|
||||
+ DEBUG_ERROR,
|
||||
+ "%a: %s: adding to ConIn: %r\n",
|
||||
+ __func__,
|
||||
+ ReportText,
|
||||
+ Status
|
||||
+ ));
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ Status = EfiBootManagerUpdateConsoleVariable (ConOut, DevicePath, NULL);
|
||||
+ if (EFI_ERROR (Status)) {
|
||||
+ DEBUG ((
|
||||
+ DEBUG_ERROR,
|
||||
+
|
||||
+ "%a: %s: adding to ConOut: %r\n",
|
||||
+ __func__,
|
||||
+ ReportText,
|
||||
+ Status
|
||||
+ ));
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ Status = EfiBootManagerUpdateConsoleVariable (ErrOut, DevicePath, NULL);
|
||||
+ if (EFI_ERROR (Status)) {
|
||||
+ DEBUG ((
|
||||
+ DEBUG_ERROR,
|
||||
+ "%a: %s: adding to ErrOut: %r\n",
|
||||
+ __func__,
|
||||
+ ReportText,
|
||||
+ Status
|
||||
+ ));
|
||||
+ return;
|
||||
+ }
|
||||
+
|
||||
+ FreePool (DevicePath);
|
||||
+
|
||||
+ DEBUG ((
|
||||
+ DEBUG_VERBOSE,
|
||||
+ "%a: %s: added to ConIn, ConOut and ErrOut\n",
|
||||
+ __func__,
|
||||
+ ReportText
|
||||
+ ));
|
||||
+}
|
||||
+
|
||||
STATIC
|
||||
VOID
|
||||
PlatformRegisterFvBootOption (
|
||||
@@ -932,6 +1098,12 @@ PlatformBootManagerBeforeConsole (
|
||||
// instances on Virtio PCI RNG devices.
|
||||
//
|
||||
FilterAndProcess (&gEfiPciIoProtocolGuid, IsVirtioPciRng, Connect);
|
||||
+
|
||||
+ //
|
||||
+ // Register Virtio serial devices as console.
|
||||
+ //
|
||||
+ FilterAndProcess (&gVirtioDeviceProtocolGuid, IsVirtioSerial, SetupVirtioSerial);
|
||||
+ FilterAndProcess (&gEfiPciIoProtocolGuid, IsVirtioPciSerial, SetupVirtioSerial);
|
||||
}
|
||||
|
||||
/**
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
From e2fb1116801f5725812b37f18022fe46959bd5fb Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Tue, 28 Feb 2023 15:47:00 +0100
|
||||
Subject: [PATCH 27/27] UefiCpuPkg/MpInitLib: fix apic mode for cpu hotplug
|
||||
|
||||
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>
|
||||
---
|
||||
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 f1f284071441..79fd8fb04dad 100644
|
||||
--- a/UefiCpuPkg/Library/MpInitLib/MpLib.c
|
||||
+++ b/UefiCpuPkg/Library/MpInitLib/MpLib.c
|
||||
@@ -526,7 +526,9 @@ CollectProcessorCount (
|
||||
//
|
||||
// Enable x2APIC mode if
|
||||
// 1. Number of CPU is greater than 255; or
|
||||
- // 2. There are any logical processors reporting an Initial APIC ID of 255 or greater.
|
||||
+ // 2. The platform exposed the exact *boot* CPU count to us in advance, and
|
||||
+ // more than 255 logical processors are possible later, with hotplug; or
|
||||
+ // 3. There are any logical processors reporting an Initial APIC ID of 255 or greater.
|
||||
//
|
||||
X2Apic = FALSE;
|
||||
if (CpuMpData->CpuCount > 255) {
|
||||
@@ -534,6 +536,10 @@ CollectProcessorCount (
|
||||
// If there are more than 255 processor found, force to enable X2APIC
|
||||
//
|
||||
X2Apic = TRUE;
|
||||
+ } else if ((PcdGet32 (PcdCpuBootLogicalProcessorNumber) > 0) &&
|
||||
+ (PcdGet32 (PcdCpuMaxLogicalProcessorNumber) > 255))
|
||||
+ {
|
||||
+ X2Apic = TRUE;
|
||||
} else {
|
||||
CpuInfoInHob = (CPU_INFO_IN_HOB *)(UINTN)CpuMpData->CpuInfoInHob;
|
||||
for (Index = 0; Index < CpuMpData->CpuCount; Index++) {
|
||||
--
|
||||
2.40.1
|
||||
|
|
@ -1,77 +0,0 @@
|
|||
From 40efdacf7f4f378c0acf95a73d1dcc5e200d42d8 Mon Sep 17 00:00:00 2001
|
||||
From: Oliver Steffen <osteffen@redhat.com>
|
||||
Date: Mon, 19 Jun 2023 22:32:25 +0200
|
||||
Subject: [PATCH 28/28] ArmPkg: Add Pcd to disable
|
||||
EFI_MEMORY_ATTRIBUTE_PROTOCOL
|
||||
|
||||
Recent versions of shim (15.6 and 15.7) crash when the newly added
|
||||
EFI_MEMORY_ATTRIBUTE_PROTOCOL is provided by the firmware. To allow
|
||||
existing installations to boot, provide a workaround in form of a Pcd
|
||||
that allows tuning it off at build time (defaults to 'enabled').
|
||||
|
||||
Additionally, check the return code of the protocol installation calls.
|
||||
|
||||
Signed-off-by: Oliver Steffen <osteffen@redhat.com>
|
||||
Message-ID: <20230619203244.228933-1-osteffen@redhat.com>
|
||||
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
|
||||
---
|
||||
ArmPkg/ArmPkg.dec | 3 +++
|
||||
ArmPkg/Drivers/CpuDxe/CpuDxe.inf | 1 +
|
||||
ArmPkg/Drivers/CpuDxe/CpuDxe.c | 13 +++++++++++--
|
||||
3 files changed, 15 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/ArmPkg/ArmPkg.dec b/ArmPkg/ArmPkg.dec
|
||||
index 2444457ae58a..625e45c3e0c0 100644
|
||||
--- a/ArmPkg/ArmPkg.dec
|
||||
+++ b/ArmPkg/ArmPkg.dec
|
||||
@@ -167,6 +167,9 @@ [PcdsFixedAtBuild.common]
|
||||
gArmTokenSpaceGuid.PcdCpuVectorBaseAddress|0xffff0000|UINT64|0x00000004
|
||||
gArmTokenSpaceGuid.PcdCpuResetAddress|0x00000000|UINT32|0x00000005
|
||||
|
||||
+ # Enable/Disable EFI_MEMORY_ATTRIBUTE_PROTOCOL
|
||||
+ gArmTokenSpaceGuid.PcdEnableEfiMemoryAttributeProtocol|FALSE|BOOLEAN|0x000000EE
|
||||
+
|
||||
#
|
||||
# ARM Secure Firmware PCDs
|
||||
#
|
||||
diff --git a/ArmPkg/Drivers/CpuDxe/CpuDxe.inf b/ArmPkg/Drivers/CpuDxe/CpuDxe.inf
|
||||
index e732e21cb94a..1bad4ae160af 100644
|
||||
--- a/ArmPkg/Drivers/CpuDxe/CpuDxe.inf
|
||||
+++ b/ArmPkg/Drivers/CpuDxe/CpuDxe.inf
|
||||
@@ -64,6 +64,7 @@ [Guids]
|
||||
|
||||
[Pcd.common]
|
||||
gArmTokenSpaceGuid.PcdVFPEnabled
|
||||
+ gArmTokenSpaceGuid.PcdEnableEfiMemoryAttributeProtocol
|
||||
|
||||
[FeaturePcd.common]
|
||||
gArmTokenSpaceGuid.PcdDebuggerExceptionSupport
|
||||
diff --git a/ArmPkg/Drivers/CpuDxe/CpuDxe.c b/ArmPkg/Drivers/CpuDxe/CpuDxe.c
|
||||
index d04958e79e52..ff7d735b2bde 100644
|
||||
--- a/ArmPkg/Drivers/CpuDxe/CpuDxe.c
|
||||
+++ b/ArmPkg/Drivers/CpuDxe/CpuDxe.c
|
||||
@@ -244,10 +244,19 @@ CpuDxeInitialize (
|
||||
&mCpuHandle,
|
||||
&gEfiCpuArchProtocolGuid,
|
||||
&mCpu,
|
||||
- &gEfiMemoryAttributeProtocolGuid,
|
||||
- &mMemoryAttribute,
|
||||
NULL
|
||||
);
|
||||
+ ASSERT_EFI_ERROR (Status);
|
||||
+
|
||||
+ if (PcdGetBool (PcdEnableEfiMemoryAttributeProtocol)) {
|
||||
+ Status = gBS->InstallMultipleProtocolInterfaces (
|
||||
+ &mCpuHandle,
|
||||
+ &gEfiMemoryAttributeProtocolGuid,
|
||||
+ &mMemoryAttribute,
|
||||
+ NULL
|
||||
+ );
|
||||
+ ASSERT_EFI_ERROR (Status);
|
||||
+ }
|
||||
|
||||
//
|
||||
// Make sure GCD and MMU settings match. This API calls gDS->SetMemorySpaceAttributes ()
|
||||
--
|
||||
2.41.0
|
||||
|
|
@ -0,0 +1,75 @@
|
|||
From 0784bdc810bcbd275a78ceb0c2cf04f2f0f68061 Mon Sep 17 00:00:00 2001
|
||||
From: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Date: Thu, 16 Aug 2018 15:45:47 -0400
|
||||
Subject: [PATCH] Tweak the tools_def to support cross-compiling.
|
||||
|
||||
These files are meant for customization, so this is not upstream.
|
||||
|
||||
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||
Signed-off-by: Cole Robinson <crobinso@redhat.com>
|
||||
---
|
||||
BaseTools/Conf/tools_def.template | 44 +++++++++++++++----------------
|
||||
1 file changed, 22 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/BaseTools/Conf/tools_def.template b/BaseTools/Conf/tools_def.template
|
||||
index a22b96c0b8..8b134ca93f 100755
|
||||
--- a/BaseTools/Conf/tools_def.template
|
||||
+++ b/BaseTools/Conf/tools_def.template
|
||||
@@ -5068,17 +5068,17 @@ RELEASE_GCC49_AARCH64_DLINK_FLAGS = DEF(GCC49_AARCH64_DLINK_FLAGS)
|
||||
##################
|
||||
# GCC5 IA32 definitions
|
||||
##################
|
||||
-*_GCC5_IA32_OBJCOPY_PATH = DEF(GCC5_IA32_PREFIX)objcopy
|
||||
-*_GCC5_IA32_CC_PATH = DEF(GCC5_IA32_PREFIX)gcc
|
||||
-*_GCC5_IA32_SLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc-ar
|
||||
-*_GCC5_IA32_DLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc
|
||||
-*_GCC5_IA32_ASLDLINK_PATH = DEF(GCC5_IA32_PREFIX)gcc
|
||||
-*_GCC5_IA32_ASM_PATH = DEF(GCC5_IA32_PREFIX)gcc
|
||||
-*_GCC5_IA32_PP_PATH = DEF(GCC5_IA32_PREFIX)gcc
|
||||
-*_GCC5_IA32_VFRPP_PATH = DEF(GCC5_IA32_PREFIX)gcc
|
||||
-*_GCC5_IA32_ASLCC_PATH = DEF(GCC5_IA32_PREFIX)gcc
|
||||
-*_GCC5_IA32_ASLPP_PATH = DEF(GCC5_IA32_PREFIX)gcc
|
||||
-*_GCC5_IA32_RC_PATH = DEF(GCC5_IA32_PREFIX)objcopy
|
||||
+*_GCC5_IA32_OBJCOPY_PATH = ENV(GCC5_IA32_PREFIX)objcopy
|
||||
+*_GCC5_IA32_CC_PATH = ENV(GCC5_IA32_PREFIX)gcc
|
||||
+*_GCC5_IA32_SLINK_PATH = ENV(GCC5_IA32_PREFIX)gcc-ar
|
||||
+*_GCC5_IA32_DLINK_PATH = ENV(GCC5_IA32_PREFIX)gcc
|
||||
+*_GCC5_IA32_ASLDLINK_PATH = ENV(GCC5_IA32_PREFIX)gcc
|
||||
+*_GCC5_IA32_ASM_PATH = ENV(GCC5_IA32_PREFIX)gcc
|
||||
+*_GCC5_IA32_PP_PATH = ENV(GCC5_IA32_PREFIX)gcc
|
||||
+*_GCC5_IA32_VFRPP_PATH = ENV(GCC5_IA32_PREFIX)gcc
|
||||
+*_GCC5_IA32_ASLCC_PATH = ENV(GCC5_IA32_PREFIX)gcc
|
||||
+*_GCC5_IA32_ASLPP_PATH = ENV(GCC5_IA32_PREFIX)gcc
|
||||
+*_GCC5_IA32_RC_PATH = ENV(GCC5_IA32_PREFIX)objcopy
|
||||
|
||||
*_GCC5_IA32_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m32 -fno-lto
|
||||
*_GCC5_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie
|
||||
@@ -5100,17 +5100,17 @@ RELEASE_GCC5_IA32_DLINK_FLAGS = DEF(GCC5_IA32_X64_DLINK_FLAGS) -flto -Os -Wl,
|
||||
##################
|
||||
# GCC5 X64 definitions
|
||||
##################
|
||||
-*_GCC5_X64_OBJCOPY_PATH = DEF(GCC5_X64_PREFIX)objcopy
|
||||
-*_GCC5_X64_CC_PATH = DEF(GCC5_X64_PREFIX)gcc
|
||||
-*_GCC5_X64_SLINK_PATH = DEF(GCC5_X64_PREFIX)gcc-ar
|
||||
-*_GCC5_X64_DLINK_PATH = DEF(GCC5_X64_PREFIX)gcc
|
||||
-*_GCC5_X64_ASLDLINK_PATH = DEF(GCC5_X64_PREFIX)gcc
|
||||
-*_GCC5_X64_ASM_PATH = DEF(GCC5_X64_PREFIX)gcc
|
||||
-*_GCC5_X64_PP_PATH = DEF(GCC5_X64_PREFIX)gcc
|
||||
-*_GCC5_X64_VFRPP_PATH = DEF(GCC5_X64_PREFIX)gcc
|
||||
-*_GCC5_X64_ASLCC_PATH = DEF(GCC5_X64_PREFIX)gcc
|
||||
-*_GCC5_X64_ASLPP_PATH = DEF(GCC5_X64_PREFIX)gcc
|
||||
-*_GCC5_X64_RC_PATH = DEF(GCC5_X64_PREFIX)objcopy
|
||||
+*_GCC5_X64_OBJCOPY_PATH = ENV(GCC5_X64_PREFIX)objcopy
|
||||
+*_GCC5_X64_CC_PATH = ENV(GCC5_X64_PREFIX)gcc
|
||||
+*_GCC5_X64_SLINK_PATH = ENV(GCC5_X64_PREFIX)gcc-ar
|
||||
+*_GCC5_X64_DLINK_PATH = ENV(GCC5_X64_PREFIX)gcc
|
||||
+*_GCC5_X64_ASLDLINK_PATH = ENV(GCC5_X64_PREFIX)gcc
|
||||
+*_GCC5_X64_ASM_PATH = ENV(GCC5_X64_PREFIX)gcc
|
||||
+*_GCC5_X64_PP_PATH = ENV(GCC5_X64_PREFIX)gcc
|
||||
+*_GCC5_X64_VFRPP_PATH = ENV(GCC5_X64_PREFIX)gcc
|
||||
+*_GCC5_X64_ASLCC_PATH = ENV(GCC5_X64_PREFIX)gcc
|
||||
+*_GCC5_X64_ASLPP_PATH = ENV(GCC5_X64_PREFIX)gcc
|
||||
+*_GCC5_X64_RC_PATH = ENV(GCC5_X64_PREFIX)objcopy
|
||||
|
||||
*_GCC5_X64_ASLCC_FLAGS = DEF(GCC_ASLCC_FLAGS) -m64 -fno-lto
|
||||
*_GCC5_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"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_4M.secboot.qcow2",
|
||||
"format": "qcow2"
|
||||
},
|
||||
"nvram-template": {
|
||||
"filename": "/usr/share/edk2/ovmf/OVMF_VARS_4M.secboot.qcow2",
|
||||
"format": "qcow2"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "x86_64",
|
||||
"machines": [
|
||||
"pc-q35-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"acpi-s3",
|
||||
"enrolled-keys",
|
||||
"requires-smm",
|
||||
"secure-boot",
|
||||
"verbose-dynamic"
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"description": "OVMF for i386, with SB+SMM, SB enabled, MS certs enrolled",
|
||||
"interface-types": [
|
||||
"uefi"
|
||||
],
|
||||
"mapping": {
|
||||
"device": "flash",
|
||||
"mode" : "split",
|
||||
"executable": {
|
||||
"filename": "/usr/share/edk2/ovmf-ia32/OVMF_CODE.secboot.fd",
|
||||
"format": "raw"
|
||||
},
|
||||
"nvram-template": {
|
||||
"filename": "/usr/share/edk2/ovmf-ia32/OVMF_VARS.secboot.fd",
|
||||
"format": "raw"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "i386",
|
||||
"machines": [
|
||||
"pc-q35-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"acpi-s3",
|
||||
"enrolled-keys",
|
||||
"requires-smm",
|
||||
"secure-boot",
|
||||
"verbose-dynamic"
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"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": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
"description": "OVMF with SB+SMM, empty varstore",
|
||||
"interface-types": [
|
||||
"uefi"
|
||||
],
|
||||
"mapping": {
|
||||
"device": "flash",
|
||||
"mode" : "split",
|
||||
"executable": {
|
||||
"filename": "/usr/share/edk2/ovmf/OVMF_CODE_4M.secboot.qcow2",
|
||||
"format": "qcow2"
|
||||
},
|
||||
"nvram-template": {
|
||||
"filename": "/usr/share/edk2/ovmf/OVMF_VARS_4M.qcow2",
|
||||
"format": "qcow2"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "x86_64",
|
||||
"machines": [
|
||||
"pc-q35-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"acpi-s3",
|
||||
"requires-smm",
|
||||
"secure-boot",
|
||||
"verbose-dynamic"
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
"description": "OVMF for i386, with SB+SMM, empty varstore",
|
||||
"interface-types": [
|
||||
"uefi"
|
||||
],
|
||||
"mapping": {
|
||||
"device": "flash",
|
||||
"mode" : "split",
|
||||
"executable": {
|
||||
"filename": "/usr/share/edk2/ovmf-ia32/OVMF_CODE.secboot.fd",
|
||||
"format": "raw"
|
||||
},
|
||||
"nvram-template": {
|
||||
"filename": "/usr/share/edk2/ovmf-ia32/OVMF_VARS.fd",
|
||||
"format": "raw"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "i386",
|
||||
"machines": [
|
||||
"pc-q35-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"acpi-s3",
|
||||
"requires-smm",
|
||||
"secure-boot",
|
||||
"verbose-dynamic"
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,35 +0,0 @@
|
|||
{
|
||||
"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": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"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": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"description": "UEFI firmware for arm, verbose logs",
|
||||
"interface-types": [
|
||||
"uefi"
|
||||
],
|
||||
"mapping": {
|
||||
"device": "flash",
|
||||
"mode" : "split",
|
||||
"executable": {
|
||||
"filename": "/usr/share/edk2/arm/QEMU_EFI-pflash.raw",
|
||||
"format": "raw"
|
||||
},
|
||||
"nvram-template": {
|
||||
"filename": "/usr/share/edk2/arm/vars-template-pflash.raw",
|
||||
"format": "raw"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "arm",
|
||||
"machines": [
|
||||
"virt-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"verbose-static"
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"description": "OVMF without SB+SMM, empty varstore",
|
||||
"interface-types": [
|
||||
"uefi"
|
||||
],
|
||||
"mapping": {
|
||||
"device": "flash",
|
||||
"mode" : "split",
|
||||
"executable": {
|
||||
"filename": "/usr/share/edk2/ovmf/OVMF_CODE_4M.qcow2",
|
||||
"format": "qcow2"
|
||||
},
|
||||
"nvram-template": {
|
||||
"filename": "/usr/share/edk2/ovmf/OVMF_VARS_4M.qcow2",
|
||||
"format": "qcow2"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "x86_64",
|
||||
"machines": [
|
||||
"pc-i440fx-*",
|
||||
"pc-q35-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"acpi-s3",
|
||||
"amd-sev",
|
||||
"amd-sev-es",
|
||||
"verbose-dynamic"
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,34 +0,0 @@
|
|||
{
|
||||
"description": "OVMF for i386, without SB+SMM, empty varstore",
|
||||
"interface-types": [
|
||||
"uefi"
|
||||
],
|
||||
"mapping": {
|
||||
"device": "flash",
|
||||
"mode" : "split",
|
||||
"executable": {
|
||||
"filename": "/usr/share/edk2/ovmf-ia32/OVMF_CODE.fd",
|
||||
"format": "raw"
|
||||
},
|
||||
"nvram-template": {
|
||||
"filename": "/usr/share/edk2/ovmf-ia32/OVMF_VARS.fd",
|
||||
"format": "raw"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "i386",
|
||||
"machines": [
|
||||
"pc-i440fx-*",
|
||||
"pc-q35-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"acpi-s3",
|
||||
"verbose-dynamic"
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,22 +0,0 @@
|
|||
{
|
||||
"description": "OVMF for microvm",
|
||||
"interface-types": [
|
||||
"uefi"
|
||||
],
|
||||
"mapping": {
|
||||
"device": "memory",
|
||||
"filename": "/usr/share/edk2/ovmf/MICROVM.fd"
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "x86_64",
|
||||
"machines": [
|
||||
"microvm"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
],
|
||||
"tags": [
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"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": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,36 +0,0 @@
|
|||
{
|
||||
"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-i440fx-*",
|
||||
"pc-q35-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"acpi-s3",
|
||||
"amd-sev",
|
||||
"amd-sev-es",
|
||||
"verbose-dynamic"
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"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": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,32 +0,0 @@
|
|||
{
|
||||
"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": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,31 +0,0 @@
|
|||
{
|
||||
"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": [
|
||||
|
||||
]
|
||||
}
|
|
@ -1,29 +0,0 @@
|
|||
{
|
||||
"description": "OVMF with TDX support",
|
||||
"interface-types": [
|
||||
"uefi"
|
||||
],
|
||||
"mapping": {
|
||||
"device": "flash",
|
||||
"mode": "stateless",
|
||||
"executable": {
|
||||
"filename": "/usr/share/edk2/ovmf/OVMF.inteltdx.fd",
|
||||
"format": "raw"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"architecture": "x86_64",
|
||||
"machines": [
|
||||
"pc-q35-*"
|
||||
]
|
||||
}
|
||||
],
|
||||
"features": [
|
||||
"intel-tdx",
|
||||
"verbose-dynamic"
|
||||
],
|
||||
"tags": [
|
||||
|
||||
]
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,26 @@
|
|||
#!/bin/sh
|
||||
|
||||
# args
|
||||
dir="$1"
|
||||
|
||||
# cfg
|
||||
shell="$dir/Shell.efi"
|
||||
enroll="$dir/EnrollDefaultKeys.efi"
|
||||
root="$dir/image"
|
||||
vfat="$dir/shell.img"
|
||||
iso="$dir/UefiShell.iso"
|
||||
|
||||
# create non-partitioned (1.44 MB floppy disk) FAT image
|
||||
mkdir "$root"
|
||||
mkdir "$root"/efi
|
||||
mkdir "$root"/efi/boot
|
||||
cp "$shell" "$root"/efi/boot/bootx64.efi
|
||||
cp "$enroll" "$root"
|
||||
qemu-img convert --image-opts \
|
||||
driver=vvfat,floppy=on,fat-type=12,label=UEFI_SHELL,dir="$root/" \
|
||||
$vfat
|
||||
|
||||
# build ISO with FAT image file as El Torito EFI boot image
|
||||
genisoimage -input-charset ASCII -J -rational-rock \
|
||||
-efi-boot "${vfat##*/}" -no-emul-boot -o "$iso" -- "$vfat"
|
||||
rm -rf "$root/" "$vfat"
|
369
changelog
369
changelog
|
@ -1,369 +0,0 @@
|
|||
* Thu Apr 27 2023 Gerd Hoffmann <kraxel@redhat.com> - 20230301gitf80f052277c8-4
|
||||
- fix tpm detection.
|
||||
|
||||
* Thu Apr 13 2023 Gerd Hoffmann <kraxel@redhat.com> - 20230301gitf80f052277c8-2
|
||||
- add StandaloneMM and ArmVirtQemuKernel builds.
|
||||
- add json files for qcow2 images.
|
||||
- update dbx files to 2023-03.
|
||||
|
||||
* Mon Mar 06 2023 Gerd Hoffmann <kraxel@redhat.com> - 20230301gitf80f052277c8-1
|
||||
- update to edk2-stable202302
|
||||
- update dbx database to 20220812
|
||||
- add riscv64 sub-rpm
|
||||
|
||||
* Fri Feb 17 2023 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-14
|
||||
- add sub-package with xen build (resolves: rhbz#2170730)
|
||||
|
||||
* Sat Feb 11 2023 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-13
|
||||
- update openssl (CVE-2023-0286, CVE-2023-0215, CVE-2022-4450, CVE-2022-4304).
|
||||
|
||||
* Wed Feb 08 2023 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-12
|
||||
- cherry-pick aarch64 bugfixes.
|
||||
- set firmware build release date.
|
||||
- add ext4 sub-package.
|
||||
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 20221117gitfff6d81270b5-11
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Fri Jan 06 2023 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-10
|
||||
- add experimental builds with strict nx checking.
|
||||
|
||||
* Mon Jan 02 2023 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-9
|
||||
- revert 'make files sparse again' (resolves: rhbz#2155673).
|
||||
- pick up compiler + linker flags from rpm
|
||||
|
||||
* Tue Dec 20 2022 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-8
|
||||
- make files sparse again
|
||||
|
||||
* Thu Dec 15 2022 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-7
|
||||
- backport https://github.com/tianocore/edk2/pull/3770
|
||||
|
||||
* Mon Dec 12 2022 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-6
|
||||
- fix ovmf platform config (revert broken commit).
|
||||
- show version information in smbios (backport).
|
||||
|
||||
* Mon Dec 05 2022 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-5
|
||||
- rename *.json files to be more consistent.
|
||||
- build script update
|
||||
|
||||
* Fri Dec 02 2022 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-4
|
||||
- apply dbx updates
|
||||
|
||||
* Tue Nov 29 2022 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-3
|
||||
- fix build script
|
||||
|
||||
* Mon Nov 28 2022 Gerd Hoffmann <kraxel@redhat.com> - 20221117gitfff6d81270b5-2
|
||||
- add workaround for broken grub
|
||||
|
||||
* Tue Sep 20 2022 Gerd Hoffmann <kraxel@redhat.com> - 20220826gitba0e0e4c6a17-1
|
||||
- update edk2 to 2022-08 stable tag.
|
||||
- update openssl bundle to rhel-8.7 level.
|
||||
- add stdvga fix.
|
||||
- add 4MB firmware builds.
|
||||
|
||||
* Thu Aug 18 2022 Gerd Hoffmann <kraxel@redhat.com> - 20220526git16779ede2d36-5
|
||||
- comment out patch #4 (bug 2116534 workaround)
|
||||
- comment out patch #12 (bug 2114858 workaround)
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20220526git16779ede2d36-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Fri Jun 10 2022 Gerd Hoffmann <kraxel@redhat.com> - 20220526git16779ede2d36-3
|
||||
- swap stack fix patch.
|
||||
|
||||
* Wed Jun 08 2022 Gerd Hoffmann <kraxel@redhat.com> - 20220526git16779ede2d36-2
|
||||
- fix PcdResizeXterm patch.
|
||||
- minor specfile cleanup.
|
||||
- add 0021-OvmfPkg-Sec-fix-stack-switch.patch
|
||||
- Resolves rhbz#2093745
|
||||
|
||||
* Tue May 31 2022 Gerd Hoffmann <kraxel@redhat.com> - 20220526git16779ede2d36-1
|
||||
- update to new edk2 stable tag (2022-05), refresh patches.
|
||||
- add amdsev and inteltdx builds
|
||||
- drop qosb
|
||||
|
||||
* Tue Apr 19 2022 Gerd Hoffmann <kraxel@redhat.com> - 20220221gitb24306f15daa-4
|
||||
- switch to virt-firmware for secure boot key enrollment
|
||||
- Stop builds on armv7 too (iasl missing).
|
||||
|
||||
* Thu Apr 07 2022 Gerd Hoffmann <kraxel@redhat.com> - 20220221gitb24306f15daa-3
|
||||
- Fix TPM build options.
|
||||
- Stop builds on i686 (iasl missing).
|
||||
- Resolves rhbz#2072827
|
||||
|
||||
* Wed Mar 23 2022 Gerd Hoffmann <kraxel@redhat.com> - 20220221gitb24306f15daa-1
|
||||
- Update to edk2-stable202202
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 20211126gitbb1bba3d7767-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Dec 6 2021 Gerd Hoffmann <kraxel@redhat.com> - 20211126gitbb1bba3d7767-1
|
||||
- Update to edk2-stable202111
|
||||
- Resolves rhbz#1978966
|
||||
- Resolves rhbz#2026744
|
||||
|
||||
* Mon Dec 6 2021 Daniel P. Berrangé <berrange@redhat.com> - 20210527gite1999b264f1f-5
|
||||
- Drop glibc strcmp workaround
|
||||
|
||||
* Mon Nov 29 2021 Daniel P. Berrangé <berrange@redhat.com> - 20210527gite1999b264f1f-4
|
||||
- Drop customized splash screen boot logo
|
||||
- Temporary workaround for suspected glibc strcmp bug breaking builds in koji
|
||||
|
||||
* Wed Sep 1 2021 Daniel P. Berrangé <berrange@redhat.com> - 20210527gite1999b264f1f-3
|
||||
- Fix qemu packaging conditionals for ELN builds
|
||||
|
||||
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20210527gite1999b264f1f-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Tue Jul 20 2021 Cole Robinson <crobinso@redhat.com> - 20210527gite1999b264f1f-1
|
||||
- Update to git snapshot
|
||||
- Sync with c9s packaging
|
||||
|
||||
* Mon Jun 14 2021 Jiri Kucera <jkucera@redhat.com> - 20200801stable-5
|
||||
- Replace genisoimage with xorriso
|
||||
|
||||
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 20200801stable-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Thu Dec 03 2020 Cole Robinson <aintdiscole@gmail.com> - 20200801stable-3
|
||||
- Really fix TPM breakage (bz 1897367)
|
||||
|
||||
* Tue Nov 24 2020 Cole Robinson <aintdiscole@gmail.com> - 20200801stable-2
|
||||
- Fix openssl usage, unbreak TPM (bz 1897367)
|
||||
|
||||
* Wed Sep 16 2020 Cole Robinson <crobinso@redhat.com> - 20200801stable-1
|
||||
- Update to edk2 stable 202008
|
||||
|
||||
* Sat Sep 12 2020 Peter Robinson <pbrobinson@fedoraproject.org> - 20200201stable-6
|
||||
- Tweaks for aarch64/ARMv7 builds
|
||||
- Minor cleanups
|
||||
|
||||
* Tue Aug 04 2020 Cole Robinson <aintdiscole@gmail.com> - 20200201stable-5
|
||||
- Fix build failures on rawhide
|
||||
|
||||
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200201stable-4
|
||||
- Second attempt - Rebuilt for
|
||||
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20200201stable-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Mon Jul 13 2020 Tom Stellard <tstellar@redhat.com> - 20200201stable-2
|
||||
- Use make macros
|
||||
- https://fedoraproject.org/wiki/Changes/UseMakeBuildInstallMacro
|
||||
|
||||
* Mon Apr 13 2020 Cole Robinson <aintdiscole@gmail.com> - 20200201stable-1
|
||||
- Update to stable-202002
|
||||
|
||||
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 20190501stable-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Fri Sep 06 2019 Patrick Uiterwijk <puiterwijk@redhat.com> - 20190501stable-4
|
||||
- Updated HTTP_BOOT option to new upstream value
|
||||
|
||||
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20190501stable-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Mon Jul 15 2019 Cole Robinson <aintdiscole@gmail.com> - 20190501stable-2
|
||||
- License is now BSD-2-Clause-Patent
|
||||
- Re-enable secureboot enrollment
|
||||
- Use qemu-ovmf-secureboot from git
|
||||
|
||||
* Thu Jul 11 2019 Cole Robinson <crobinso@redhat.com> - 20190501stable-1
|
||||
- Update to stable-201905
|
||||
- Update to openssl-1.1.1b
|
||||
- Ship VARS file for ovmf-ia32 (bug 1688596)
|
||||
- Ship Fedora-variant JSON "firmware descriptor files"
|
||||
- Resolves rhbz#1728652
|
||||
|
||||
* Mon Mar 18 2019 Cole Robinson <aintdiscole@gmail.com> - 20190308stable-1
|
||||
- Use YYYYMMDD versioning to fix upgrade path
|
||||
|
||||
* Fri Mar 15 2019 Cole Robinson <aintdiscole@gmail.com> - 201903stable-1
|
||||
- Update to stable-201903
|
||||
- Update to openssl-1.1.0j
|
||||
- Move to python3 deps
|
||||
|
||||
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 20180815gitcb5f4f45ce-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Wed Nov 14 2018 Patrick Uiterwijk <puiterwijk@redhat.com> - 20180815gitcb5f4f45ce-5
|
||||
- Add -qosb dependency on python3
|
||||
|
||||
* Fri Nov 9 2018 Paolo Bonzini <pbonzini@redhat.com> - 20180815gitcb5f4f45ce-4
|
||||
- Fix network boot via grub (bz 1648476)
|
||||
|
||||
* Wed Sep 12 2018 Paolo Bonzini <pbonzini@redhat.com> - 20180815gitcb5f4f45ce-3
|
||||
- Explicitly compile the scripts using py_byte_compile
|
||||
|
||||
* Fri Aug 31 2018 Cole Robinson <crobinso@redhat.com> - 20180815gitcb5f4f45ce-2
|
||||
- Fix passing through RPM build flags (bz 1540244)
|
||||
|
||||
* Tue Aug 21 2018 Cole Robinson <crobinso@redhat.com> - 20180815gitcb5f4f45ce-1
|
||||
- Update to edk2 git cb5f4f45ce, edk2-stable201808
|
||||
- Update to qemu-ovmf-secureboot-1.1.3
|
||||
- Enable TPM2 support
|
||||
|
||||
* Mon Jul 23 2018 Paolo Bonzini <pbonzini@redhat.com> - 20180529gitee3198e672e2-5
|
||||
- Fixes for AMD SEV on OVMF_CODE.fd
|
||||
- Add Provides for bundled OpenSSL
|
||||
|
||||
* Wed Jul 18 2018 Paolo Bonzini <pbonzini@redhat.com> - 20180529gitee3198e672e2-4
|
||||
- Enable IPv6
|
||||
|
||||
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20180529gitee3198e672e2-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Wed Jun 20 2018 Paolo Bonzini <pbonzini@redhat.com> - 20180529gitee3198e672e2-2
|
||||
- Backport two bug fixes from RHEL: connect again virtio-rng devices, and
|
||||
connect consoles unconditionally in OVMF (ARM firmware already did it)
|
||||
|
||||
* Tue May 29 2018 Paolo Bonzini <pbonzini@redhat.com> - 20180529gitee3198e672e2-1
|
||||
- Rebase to ee3198e672e2
|
||||
|
||||
* Tue May 01 2018 Cole Robinson <crobinso@redhat.com> - 20171011git92d07e4-7
|
||||
- Bump release for new build
|
||||
|
||||
* Fri Mar 30 2018 Patrick Uiterwijk <puiterwijk@redhat.com> - 20171011git92d07e4-6
|
||||
- Add qemu-ovmf-secureboot (qosb)
|
||||
- Generate pre-enrolled Secure Boot OVMF VARS files
|
||||
|
||||
* Wed Mar 07 2018 Paolo Bonzini <pbonzini@redhat.com> - 20171011git92d07e4-5
|
||||
- Fix GCC 8 compilation
|
||||
- Replace dosfstools and mtools with qemu-img vvfat
|
||||
|
||||
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 20171011git92d07e4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
|
||||
|
||||
* Fri Jan 19 2018 Paolo Bonzini <pbonzini@redhat.com> - 20170209git296153c5-3
|
||||
- Add OpenSSL patches from Fedora
|
||||
- Enable TLS_MODE
|
||||
|
||||
* Fri Nov 17 2017 Paolo Bonzini <pbonzini@redhat.com> - 20170209git296153c5-2
|
||||
- Backport patches 19-21 from RHEL
|
||||
- Add patches 22-24 to fix SEV slowness
|
||||
- Add fedora conditionals
|
||||
|
||||
* Tue Nov 14 2017 Paolo Bonzini <pbonzini@redhat.com> - 20171011git92d07e4-1
|
||||
- Import source and patches from RHEL version
|
||||
- Update OpenSSL to 1.1.0e
|
||||
- Refresh 0099-Tweak-the-tools_def-to-support-cross-compiling.patch
|
||||
|
||||
* Mon Nov 13 2017 Paolo Bonzini <pbonzini@redhat.com> - 20170209git296153c5-6
|
||||
- Allow non-cross builds
|
||||
- Install /usr/share/OVMF and /usr/share/AAVMF
|
||||
|
||||
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20170209git296153c5-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
|
||||
|
||||
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20170209git296153c5-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Wed Mar 15 2017 Cole Robinson <crobinso@redhat.com> - 20170209git296153c5-3
|
||||
- Ship ovmf-ia32 package (bz 1424722)
|
||||
|
||||
* Thu Feb 16 2017 Cole Robinson <crobinso@redhat.com> - 20170209git296153c5-2
|
||||
- Update EnrollDefaultKeys patch (bz #1398743)
|
||||
|
||||
* Mon Feb 13 2017 Paolo Bonzini <pbonzini@redhat.com> - 20170209git296153c5-1
|
||||
- Rebase to git master
|
||||
- New patch 0010 fixes failure to build from source.
|
||||
|
||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 20161105git3b25ca8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Sun Nov 06 2016 Cole Robinson <crobinso@redhat.com> - 20161105git3b25ca8-1
|
||||
- Rebase to git master
|
||||
|
||||
* Fri Sep 9 2016 Tom Callaway <spot@fedoraproject.org> - 20160418gita8c39ba-5
|
||||
- replace legally problematic openssl source with "hobbled" tarball
|
||||
|
||||
* Thu Jul 21 2016 Gerd Hoffmann <kraxel@redhat.com> - 20160418gita8c39ba-4
|
||||
- Also build for armv7.
|
||||
|
||||
* Tue Jul 19 2016 Gerd Hoffmann <kraxel@redhat.com> 20160418gita8c39ba-3
|
||||
- Update EnrollDefaultKeys patch.
|
||||
|
||||
* Fri Jul 8 2016 Paolo Bonzini <pbonzini@redhat.com> - 20160418gita8c39ba-2
|
||||
- Distribute edk2-ovmf on aarch64
|
||||
|
||||
* Sat May 21 2016 Cole Robinson <crobinso@redhat.com> - 20160418gita8c39ba-1
|
||||
- Distribute edk2-aarch64 on x86 (bz #1338027)
|
||||
|
||||
* Mon Apr 18 2016 Gerd Hoffmann <kraxel@redhat.com> 20160418gita8c39ba-0
|
||||
- Update to latest git.
|
||||
- Add firmware builds (FatPkg is free now).
|
||||
|
||||
* Mon Feb 15 2016 Cole Robinson <crobinso@redhat.com> 20151127svn18975-3
|
||||
- Fix FTBFS gcc warning (bz 1307439)
|
||||
|
||||
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 20151127svn18975-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
|
||||
|
||||
* Fri Nov 27 2015 Paolo Bonzini <pbonzini@redhat.com> - 20151127svn18975-1
|
||||
- Rebase to 20151127svn18975-1
|
||||
- Linker script renamed to GccBase.lds
|
||||
|
||||
* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20150519svn17469-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
|
||||
|
||||
* Tue May 19 2015 Paolo Bonzini <pbonzini@redhat.com> - 20150519svn17469-1
|
||||
- Rebase to 20150519svn17469-1
|
||||
- edk2-remove-tree-check.patch now upstream
|
||||
|
||||
* Sat May 02 2015 Kalev Lember <kalevlember@gmail.com> - 20140724svn2670-6
|
||||
- Rebuilt for GCC 5 C++11 ABI change
|
||||
|
||||
* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20140724svn2670-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
|
||||
|
||||
* Thu Jul 24 2014 Paolo Bonzini <pbonzini@redhat.com> - 20140724svn2670-1
|
||||
- Rebase to 20140724svn2670-1
|
||||
|
||||
* Tue Jun 24 2014 Paolo Bonzini <pbonzini@redhat.com> - 20140624svn2649-1
|
||||
- Use standalone .tar.xz from buildtools repo
|
||||
|
||||
* Tue Jun 24 2014 Paolo Bonzini <pbonzini@redhat.com> - 20140328svn15376-4
|
||||
- Install BuildTools/BaseEnv
|
||||
|
||||
* Mon Jun 23 2014 Paolo Bonzini <pbonzini@redhat.com> - 20140328svn15376-3
|
||||
- Rebase to get GCC48 configuration
|
||||
- Package EDK_TOOLS_PATH as /usr/share/edk2
|
||||
- Package "build" and LzmaF86Compress too, as well as the new
|
||||
tools Ecc and TianoCompress.
|
||||
|
||||
* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20131114svn14844-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
|
||||
|
||||
* Thu Nov 14 2013 Paolo Bonzini <pbonzini@redhat.com> - 20131114svn14844-1
|
||||
- Upgrade to r14844.
|
||||
- Remove upstreamed parts of patch 1.
|
||||
|
||||
* Fri Nov 8 2013 Paolo Bonzini <pbonzini@redhat.com> - 20130515svn14365-7
|
||||
- Make BaseTools compile on ARM.
|
||||
|
||||
* Fri Aug 30 2013 Paolo Bonzini <pbonzini@redhat.com> - 20130515svn14365-6
|
||||
- Revert previous change; firmware packages should be noarch, and building
|
||||
BaseTools twice is simply wrong.
|
||||
|
||||
* Mon Aug 19 2013 Kay Sievers <kay@redhat.com> - 20130515svn14365-5
|
||||
- Add sub-package with EFI shell
|
||||
|
||||
* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 20130515svn14365-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
|
||||
|
||||
* Thu May 23 2013 Dan Horák <dan[at]danny.cz> 20130515svn14365-3
|
||||
- set ExclusiveArch
|
||||
|
||||
* Thu May 16 2013 Paolo Bonzini <pbonzini@redhat.com> 20130515svn14365-2
|
||||
- Fix edk2-tools-python Requires
|
||||
|
||||
* Wed May 15 2013 Paolo Bonzini <pbonzini@redhat.com> 20130515svn14365-1
|
||||
- Split edk2-tools-doc and edk2-tools-python
|
||||
- Fix Python BuildRequires
|
||||
- Remove FatBinPkg at package creation time.
|
||||
- Use fully versioned dependency.
|
||||
- Add comment on how to generate the sources.
|
||||
|
||||
* Thu May 2 2013 Paolo Bonzini <pbonzini@redhat.com> 20130502.g732d199-1
|
||||
- Create.
|
|
@ -1,283 +0,0 @@
|
|||
|
||||
[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 = TRUE
|
||||
CAVIUM_ERRATUM_27456 = TRUE
|
||||
|
||||
[opts.ovmf.4m]
|
||||
FD_SIZE_4MB = TRUE
|
||||
|
||||
[opts.ovmf.2m]
|
||||
FD_SIZE_2MB = TRUE
|
||||
NETWORK_ISCSI_ENABLE = FALSE
|
||||
|
||||
[opts.ovmf.sb.smm]
|
||||
SECURE_BOOT_ENABLE = TRUE
|
||||
SMM_REQUIRE = TRUE
|
||||
# old downstream
|
||||
EXCLUDE_SHELL_FROM_FD = TRUE
|
||||
# new upstream
|
||||
BUILD_SHELL = FALSE
|
||||
|
||||
# requires edk2 2022-11 or newer
|
||||
[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
|
||||
|
||||
[opts.armvirt.kernel]
|
||||
TPM2_ENABLE = FALSE
|
||||
TPM2_CONFIG_ENABLE = FALSE
|
||||
|
||||
|
||||
[pcds.nx.strict]
|
||||
PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD5
|
||||
|
||||
[pcds.nx.broken.grub]
|
||||
# grub.efi uses EfiLoaderData for code
|
||||
PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD1
|
||||
|
||||
|
||||
#####################################################################
|
||||
# stateful ovmf builds (with vars in flash)
|
||||
|
||||
[build.ovmf.2m.default]
|
||||
desc = ovmf build (64-bit, 2MB)
|
||||
conf = OvmfPkg/OvmfPkgX64.dsc
|
||||
arch = X64
|
||||
opts = ovmf.common
|
||||
ovmf.2m
|
||||
plat = OvmfX64
|
||||
dest = Fedora/ovmf
|
||||
cpy1 = FV/OVMF_CODE.fd
|
||||
cpy2 = FV/OVMF_VARS.fd
|
||||
cpy3 = X64/Shell.efi
|
||||
|
||||
[build.ovmf.4m.default]
|
||||
desc = ovmf build (64-bit, 4MB)
|
||||
conf = OvmfPkg/OvmfPkgX64.dsc
|
||||
arch = X64
|
||||
opts = ovmf.common
|
||||
ovmf.4m
|
||||
plat = OvmfX64
|
||||
dest = Fedora/ovmf
|
||||
cpy1 = FV/OVMF_CODE.fd OVMF_CODE_4M.fd
|
||||
cpy2 = FV/OVMF_VARS.fd OVMF_VARS_4M.fd
|
||||
|
||||
[build.ovmf.2m.sb.smm]
|
||||
desc = ovmf build (32/64-bit, 2MB, q35 only, needs smm, secure boot)
|
||||
conf = OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
arch = IA32 X64
|
||||
opts = ovmf.common
|
||||
ovmf.2m
|
||||
ovmf.sb.smm
|
||||
plat = Ovmf3264
|
||||
dest = Fedora/ovmf
|
||||
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.secboot.fd
|
||||
cpy2 = X64/EnrollDefaultKeys.efi
|
||||
|
||||
[build.ovmf.4m.sb.smm]
|
||||
desc = ovmf build (32/64-bit, 4MB, q35 only, needs smm, secure boot)
|
||||
conf = OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
arch = IA32 X64
|
||||
opts = ovmf.common
|
||||
ovmf.4m
|
||||
ovmf.sb.smm
|
||||
plat = Ovmf3264
|
||||
dest = Fedora/ovmf
|
||||
cpy1 = FV/OVMF_CODE.fd OVMF_CODE_4M.secboot.fd
|
||||
|
||||
|
||||
#####################################################################
|
||||
# stateless ovmf builds (firmware in rom or r/o flash)
|
||||
|
||||
[build.ovmf.microvm]
|
||||
desc = ovmf build for qemu microvm (2MB)
|
||||
conf = OvmfPkg/Microvm/MicrovmX64.dsc
|
||||
arch = X64
|
||||
opts = ovmf.common
|
||||
ovmf.2m
|
||||
plat = MicrovmX64
|
||||
dest = Fedora/ovmf
|
||||
cpy1 = FV/MICROVM.fd
|
||||
|
||||
[build.ovmf.xen]
|
||||
desc = ovmf build for Xen
|
||||
conf = OvmfPkg/OvmfXen.dsc
|
||||
arch = X64
|
||||
opts = ovmf.common
|
||||
ovmf.2m
|
||||
plat = OvmfXen
|
||||
dest = Fedora/xen
|
||||
cpy1 = FV/OVMF.fd
|
||||
|
||||
[build.ovmf.amdsev]
|
||||
desc = ovmf build for AmdSev (2MB)
|
||||
conf = OvmfPkg/AmdSev/AmdSevX64.dsc
|
||||
arch = X64
|
||||
opts = ovmf.common
|
||||
ovmf.2m
|
||||
plat = AmdSev
|
||||
dest = Fedora/ovmf
|
||||
cpy1 = FV/OVMF.fd OVMF.amdsev.fd
|
||||
|
||||
[build.ovmf.inteltdx]
|
||||
desc = ovmf build for IntelTdx (2MB)
|
||||
conf = OvmfPkg/IntelTdx/IntelTdxX64.dsc
|
||||
arch = X64
|
||||
opts = ovmf.common ovmf.2m
|
||||
plat = IntelTdx
|
||||
dest = Fedora/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.grub
|
||||
plat = ArmVirtQemu-AARCH64
|
||||
dest = Fedora/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.grub
|
||||
plat = ArmVirtQemu-AARCH64
|
||||
dest = Fedora/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
|
||||
|
||||
[build.armvirt.aa64.kernel]
|
||||
desc = ArmVirt build for qemu, 64-bit (arm v8)
|
||||
conf = ArmVirtPkg/ArmVirtQemuKernel.dsc
|
||||
arch = AARCH64
|
||||
opts = ovmf.common
|
||||
armvirt.silent
|
||||
armvirt.kernel
|
||||
pcds = nx.broken.grub
|
||||
plat = ArmVirtQemuKernel-AARCH64
|
||||
dest = Fedora/aarch64
|
||||
cpy1 = FV/QEMU_EFI.fd QEMU_EFI.kernel.fd
|
||||
|
||||
|
||||
#####################################################################
|
||||
# riscv
|
||||
|
||||
[build.riscv.qemu]
|
||||
conf = OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc
|
||||
arch = RISCV64
|
||||
plat = RiscVVirtQemu
|
||||
dest = Fedora/riscv
|
||||
cpy1 = FV/RISCV_VIRT.fd
|
||||
cpy2 = FV/RISCV_VIRT.fd RISCV_VIRT.raw
|
||||
pad1 = RISCV_VIRT.raw 32m
|
||||
|
||||
|
||||
#####################################################################
|
||||
# 32-bit builds
|
||||
|
||||
[build.ovmf.ia32.default]
|
||||
desc = ovmf build (32-bit, 2MB)
|
||||
conf = OvmfPkg/OvmfPkgIa32.dsc
|
||||
arch = IA32
|
||||
opts = ovmf.common
|
||||
ovmf.2m
|
||||
plat = OvmfIa32
|
||||
dest = Fedora/ovmf-ia32
|
||||
cpy1 = FV/OVMF_CODE.fd
|
||||
cpy2 = FV/OVMF_VARS.fd
|
||||
cpy3 = IA32/Shell.efi
|
||||
|
||||
[build.ovmf.ia32.sb.smm]
|
||||
desc = ovmf build (32-bit, 2MB, q35 only, needs smm, secure boot)
|
||||
conf = OvmfPkg/OvmfPkgIa32.dsc
|
||||
arch = IA32
|
||||
opts = ovmf.common
|
||||
ovmf.2m
|
||||
ovmf.sb.smm
|
||||
plat = OvmfIa32
|
||||
dest = Fedora/ovmf-ia32
|
||||
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.secboot.fd
|
||||
cpy2 = IA32/EnrollDefaultKeys.efi
|
||||
|
||||
[build.armvirt.arm]
|
||||
desc = ArmVirt build for qemu, 32-bit (arm v7)
|
||||
conf = ArmVirtPkg/ArmVirtQemu.dsc
|
||||
arch = ARM
|
||||
opts = ovmf.common
|
||||
pcds = nx.broken.grub
|
||||
plat = ArmVirtQemu-ARM
|
||||
dest = Fedora/arm
|
||||
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
|
||||
|
||||
|
||||
#####################################################################
|
||||
# experimental builds
|
||||
|
||||
[build.ovmf.sb.stateless]
|
||||
desc = ovmf build (64-bit, stateless secure boot)
|
||||
conf = OvmfPkg/OvmfPkgX64.dsc
|
||||
arch = X64
|
||||
opts = ovmf.common
|
||||
ovmf.4m
|
||||
ovmf.sb.stateless
|
||||
plat = OvmfX64
|
||||
dest = Fedora/experimental
|
||||
cpy1 = FV/OVMF.fd OVMF.stateless.fd
|
||||
|
||||
[build.ovmf.strict.nx]
|
||||
desc = ovmf build (32/64-bit, 4MB, q35 only, needs smm, secure boot, strict nx)
|
||||
conf = OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
arch = IA32 X64
|
||||
opts = ovmf.common
|
||||
ovmf.4m
|
||||
ovmf.sb.smm
|
||||
pcds = nx.strict
|
||||
plat = Ovmf3264
|
||||
dest = Fedora/experimental
|
||||
cpy1 = FV/OVMF_CODE.fd OVMF_CODE.4m.secboot.strictnx.fd
|
||||
|
||||
[build.armvirt.aa64.strict.nx]
|
||||
desc = ArmVirt build for qemu, 64-bit (arm v8), verbose
|
||||
conf = ArmVirtPkg/ArmVirtQemu.dsc
|
||||
arch = AARCH64
|
||||
opts = ovmf.common
|
||||
armvirt.verbose
|
||||
pcds = nx.strict
|
||||
plat = ArmVirtQemu-AARCH64
|
||||
dest = Fedora/experimental
|
||||
cpy1 = FV/QEMU_EFI.fd QEMU_EFI.strictnx.fd
|
||||
cpy3 = FV/QEMU_EFI.fd QEMU_EFI-strictnx-pflash.raw
|
||||
pad3 = QEMU_EFI-strictnx-pflash.raw 64m
|
|
@ -1,47 +0,0 @@
|
|||
|
||||
#####################################################################
|
||||
# ext4 driver
|
||||
|
||||
[build.ext4.x64]
|
||||
desc = ext4 driver
|
||||
conf = Features/Ext4Pkg/Ext4Pkg.dsc
|
||||
arch = X64
|
||||
plat = Ext4Pkg
|
||||
dest = Fedora/drivers
|
||||
cpy1 = X64/Ext4Dxe.efi ext4x64.efi
|
||||
|
||||
[build.ext4.aa64]
|
||||
desc = ext4 driver
|
||||
conf = Features/Ext4Pkg/Ext4Pkg.dsc
|
||||
arch = AARCH64
|
||||
plat = Ext4Pkg
|
||||
dest = Fedora/drivers
|
||||
cpy1 = AARCH64/Ext4Dxe.efi ext4aa64.efi
|
||||
|
||||
[build.ext4.riscv64]
|
||||
desc = ext4 driver
|
||||
conf = Features/Ext4Pkg/Ext4Pkg.dsc
|
||||
arch = RISCV64
|
||||
plat = Ext4Pkg
|
||||
dest = Fedora/drivers
|
||||
cpy1 = RISCV64/Ext4Dxe.efi ext4riscv64.efi
|
||||
|
||||
|
||||
#####################################################################
|
||||
# arm standalone mm
|
||||
|
||||
[build.standalone.mm.aa64]
|
||||
conf = Platform/StandaloneMm/PlatformStandaloneMmPkg/PlatformStandaloneMmRpmb.dsc
|
||||
arch = AARCH64
|
||||
plat = MmStandaloneRpmb
|
||||
dest = Fedora/aarch64
|
||||
cpy1 = FV/BL32_AP_MM.fd
|
||||
|
||||
|
||||
#####################################################################
|
||||
# loongarch builds
|
||||
|
||||
[build.loongarch]
|
||||
desc = Loongarch build
|
||||
conf = Platform/Loongson/LoongArchQemuPkg/Loongson.dsc
|
||||
arch = LOONGARCH64
|
427
edk2-build.py
427
edk2-build.py
|
@ -1,427 +0,0 @@
|
|||
#!/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_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():
|
||||
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,
|
||||
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 and options.match not in build:
|
||||
print(f'# skipping "{build}" (not matching "{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())
|
|
@ -1,119 +0,0 @@
|
|||
|
||||
[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.armvirt.verbose]
|
||||
DEBUG_PRINT_ERROR_LEVEL = 0x8040004F
|
||||
|
||||
[opts.armvirt.silent]
|
||||
DEBUG_PRINT_ERROR_LEVEL = 0x80000000
|
||||
|
||||
[pcds.nx.strict]
|
||||
PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD5
|
||||
|
||||
[pcds.nx.broken.grub]
|
||||
# grub.efi uses EfiLoaderData for code
|
||||
PcdDxeNxMemoryProtectionPolicy = 0xC000000000007FD1
|
||||
|
||||
#####################################################################
|
||||
# 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 (32/64-bit, 4MB, q35 only, needs smm, secure boot)
|
||||
conf = OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
arch = IA32 X64
|
||||
opts = ovmf.common
|
||||
ovmf.4m
|
||||
ovmf.sb.smm
|
||||
plat = Ovmf3264
|
||||
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
|
||||
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.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.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
|
|
@ -0,0 +1,47 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Quit out if anything fails.
|
||||
set -e
|
||||
|
||||
# Clean out patent-or-otherwise-encumbered code.
|
||||
# MDC-2: 4,908,861 13/03/2007 - expired, we do not remove it but do not enable it anyway
|
||||
# IDEA: 5,214,703 07/01/2012 - expired, we do not remove it anymore
|
||||
# RC5: 5,724,428 01/11/2015 - expired, we do not remove it anymore
|
||||
# EC: ????????? ??/??/2020
|
||||
# SRP: ????????? ??/??/20??
|
||||
|
||||
# Remove assembler portions of IDEA, MDC2, and RC5.
|
||||
# (find crypto/rc5/asm -type f | xargs -r rm -fv)
|
||||
|
||||
# SRP.
|
||||
for a in srp; do
|
||||
for c in `find crypto/$a -name "*.c" -a \! -name "*test*" -type f` ; do
|
||||
echo Destroying $c
|
||||
> $c
|
||||
done
|
||||
done
|
||||
|
||||
for c in `find crypto/bn -name "*gf2m.c"`; do
|
||||
echo Destroying $c
|
||||
> $c
|
||||
done
|
||||
|
||||
for c in `find crypto/ec -name "ec2*.c" -o -name "ec_curve.c" -o -name "ecp_nistp22?.c" -o -name "ectest.c"`; do
|
||||
echo Destroying $c
|
||||
> $c
|
||||
done
|
||||
|
||||
for h in `find crypto ssl apps test -name "*.h"` ; do
|
||||
echo Removing SRP and EC2M references from $h
|
||||
cat $h | \
|
||||
awk 'BEGIN {ech=1;} \
|
||||
/^#[ \t]*ifndef.*NO_SRP/ {ech--; next;} \
|
||||
/^#[ \t]*ifndef.*NO_EC2M/ {ech--; next;} \
|
||||
/^#[ \t]*if/ {if(ech < 1) ech--;} \
|
||||
{if(ech>0) {;print $0};} \
|
||||
/^#[ \t]*endif/ {if(ech < 1) ech++;}' > $h.hobbled && \
|
||||
mv $h.hobbled $h
|
||||
done
|
||||
|
||||
# Make the makefiles happy.
|
||||
# touch crypto/rc5/asm/rc5-586.pl
|
|
@ -1,23 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
# args
|
||||
repo="${1%/}"
|
||||
ref="${2-HEAD}"
|
||||
|
||||
# check
|
||||
if test ! -d "${repo}/.git"; then
|
||||
echo "usage: $0 <repodir> [ <ref> ]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# get + print info
|
||||
commit=$(cd $repo; git show --pretty='format:%h' $ref | head -1)
|
||||
date=$(cd $repo; git show --pretty='format:%cs' $ref | head -1 | tr -d '-')
|
||||
echo "# $repo $ref -> commit $commit - date $date"
|
||||
|
||||
# create tarball
|
||||
name="${repo##*/}"
|
||||
file="${name}-${commit}.tar.xz"
|
||||
(cd $repo; git archive --format=tar --prefix=${name}-${commit}/ ${commit}) \
|
||||
| xz -9ev > "$file"
|
||||
echo "# $file written"
|
|
@ -0,0 +1,34 @@
|
|||
diff --git a/CryptoPkg/Library/OpensslLib/openssl/crypto/bio/bss_fd.c b/CryptoPkg/Library/OpensslLib/openssl/crypto/bio/bss_fd.c
|
||||
index 2bd3517..a886655 100644
|
||||
--- a/CryptoPkg/Library/OpensslLib/openssl/crypto/bio/bss_fd.c
|
||||
+++ b/CryptoPkg/Library/OpensslLib/openssl/crypto/bio/bss_fd.c
|
||||
@@ -204,8 +204,10 @@ static int fd_gets(BIO *bp, char *buf, int size)
|
||||
char *ptr = buf;
|
||||
char *end = buf + size - 1;
|
||||
|
||||
- while ((ptr < end) && (fd_read(bp, ptr, 1) > 0) && (ptr[0] != '\n'))
|
||||
- ptr++;
|
||||
+ while (ptr < end && fd_read(bp, ptr, 1) > 0) {
|
||||
+ if (*ptr++ == '\n')
|
||||
+ break;
|
||||
+ }
|
||||
|
||||
ptr[0] = '\0';
|
||||
|
||||
diff --git a/CryptoPkg/Library/OpensslLib/openssl/doc/crypto/BIO_read.pod b/CryptoPkg/Library/OpensslLib/openssl/doc/crypto/BIO_read.pod
|
||||
index 45871c1..fe70e9f 100644
|
||||
--- a/CryptoPkg/Library/OpensslLib/openssl/doc/crypto/BIO_read.pod
|
||||
+++ b/CryptoPkg/Library/OpensslLib/openssl/doc/crypto/BIO_read.pod
|
||||
@@ -23,7 +23,8 @@ in B<buf>. Usually this operation will attempt to read a line of data
|
||||
from the BIO of maximum length B<len-1>. There are exceptions to this,
|
||||
however; for example, BIO_gets() on a digest BIO will calculate and
|
||||
return the digest and other BIOs may not support BIO_gets() at all.
|
||||
-The returned string is always NUL-terminated.
|
||||
+The returned string is always NUL-terminated and the '\n' is preserved
|
||||
+if present in the input data.
|
||||
|
||||
BIO_write() attempts to write B<len> bytes from B<buf> to BIO B<b>.
|
||||
|
||||
--
|
||||
2.17.0
|
||||
|
|
@ -0,0 +1,29 @@
|
|||
--- a/CryptoPkg/Library/OpensslLib/openssl/crypto/rsa/rsa_gen.c
|
||||
+++ b/CryptoPkg/Library/OpensslLib/openssl/crypto/rsa/rsa_gen.c
|
||||
@@ -86,6 +86,12 @@ static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value,
|
||||
if (!rsa->iqmp && ((rsa->iqmp = BN_secure_new()) == NULL))
|
||||
goto err;
|
||||
|
||||
+ /* prepare minimum p and q difference */
|
||||
+ if (!BN_one(r3))
|
||||
+ goto err;
|
||||
+ if (bitsp > 100 && !BN_lshift(r3, r3, bitsp - 100))
|
||||
+ goto err;
|
||||
+
|
||||
if (BN_copy(rsa->e, e_value) == NULL)
|
||||
goto err;
|
||||
|
||||
@@ -118,7 +124,9 @@ static int rsa_builtin_keygen(RSA *rsa, int bits, BIGNUM *e_value,
|
||||
do {
|
||||
if (!BN_generate_prime_ex(rsa->q, bitsq, 0, NULL, NULL, cb))
|
||||
goto err;
|
||||
- } while (BN_cmp(rsa->p, rsa->q) == 0);
|
||||
+ if (!BN_sub(r2, rsa->q, rsa->p))
|
||||
+ goto err;
|
||||
+ } while (BN_ucmp(r2, r3) <= 0);
|
||||
if (!BN_sub(r2, rsa->q, BN_value_one()))
|
||||
goto err;
|
||||
ERR_set_mark();
|
||||
--
|
||||
2.17.0
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
diff --git a/CryptoPkg/Library/OpensslLib/openssl/ssl/ssl_lib.c b/CryptoPkg/Library/OpensslLib/openssl/ssl/ssl_lib.c
|
||||
index 8a190d2..6b4c5ae 100644
|
||||
--- a/CryptoPkg/Library/OpensslLib/openssl/ssl/ssl_lib.c
|
||||
+++ b/CryptoPkg/Library/OpensslLib/openssl/ssl/ssl_lib.c
|
||||
@@ -2653,6 +2653,13 @@ SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth)
|
||||
* or by using the SSL_CONF library.
|
||||
*/
|
||||
ret->options |= SSL_OP_NO_COMPRESSION;
|
||||
+ /*
|
||||
+ * Disable SSLv3 by default. Applications can
|
||||
+ * re-enable it by configuring
|
||||
+ * SSL_CTX_clear_options(ctx, SSL_OP_NO_SSLv3);
|
||||
+ * or by using the SSL_CONF library.
|
||||
+ */
|
||||
+ ret->options |= SSL_OP_NO_SSLv3;
|
||||
|
||||
ret->tlsext_status_type = -1;
|
||||
|
||||
diff --git a/CryptoPkg/Library/OpensslLib/openssl/test/ssl_test.c b/CryptoPkg/Library/OpensslLib/openssl/test/ssl_test.c
|
||||
index 2cbbddd..1a409d1 100644
|
||||
--- a/CryptoPkg/Library/OpensslLib/openssl/test/ssl_test.c
|
||||
+++ b/CryptoPkg/Library/OpensslLib/openssl/test/ssl_test.c
|
||||
@@ -277,6 +277,7 @@ static int execute_test(SSL_TEST_FIXTURE fixture)
|
||||
SSL_TEST_SERVERNAME_CB_NONE) {
|
||||
server2_ctx = SSL_CTX_new(TLS_server_method());
|
||||
TEST_check(server2_ctx != NULL);
|
||||
+ SSL_CTX_clear_options(server2_ctx, SSL_OP_NO_SSLv3);
|
||||
}
|
||||
client_ctx = SSL_CTX_new(TLS_client_method());
|
||||
TEST_check(SSL_CTX_set_max_proto_version(client_ctx, TLS_MAX_VERSION));
|
||||
@@ -290,11 +291,15 @@ static int execute_test(SSL_TEST_FIXTURE fixture)
|
||||
TLS_MAX_VERSION));
|
||||
TEST_check(resume_server_ctx != NULL);
|
||||
TEST_check(resume_client_ctx != NULL);
|
||||
+ SSL_CTX_clear_options(resume_server_ctx, SSL_OP_NO_SSLv3);
|
||||
+ SSL_CTX_clear_options(resume_client_ctx, SSL_OP_NO_SSLv3);
|
||||
}
|
||||
}
|
||||
|
||||
TEST_check(server_ctx != NULL);
|
||||
TEST_check(client_ctx != NULL);
|
||||
+ SSL_CTX_clear_options(server_ctx, SSL_OP_NO_SSLv3);
|
||||
+ SSL_CTX_clear_options(client_ctx, SSL_OP_NO_SSLv3);
|
||||
|
||||
TEST_check(CONF_modules_load(conf, fixture.test_app, 0) > 0);
|
||||
|
||||
diff --git a/CryptoPkg/Library/OpensslLib/openssl/test/ssltest_old.c b/CryptoPkg/Library/OpensslLib/openssl/test/ssltest_old.c
|
||||
index e77c692..e586072 100644
|
||||
--- a/CryptoPkg/Library/OpensslLib/openssl/test/ssltest_old.c
|
||||
+++ b/CryptoPkg/Library/OpensslLib/openssl/test/ssltest_old.c
|
||||
@@ -1460,6 +1460,11 @@ int main(int argc, char *argv[])
|
||||
ERR_print_errors(bio_err);
|
||||
goto end;
|
||||
}
|
||||
+
|
||||
+ SSL_CTX_clear_options(c_ctx, SSL_OP_NO_SSLv3);
|
||||
+ SSL_CTX_clear_options(s_ctx, SSL_OP_NO_SSLv3);
|
||||
+ SSL_CTX_clear_options(s_ctx2, SSL_OP_NO_SSLv3);
|
||||
+
|
||||
/*
|
||||
* Since we will use low security ciphersuites and keys for testing set
|
||||
* security level to zero by default. Tests can override this by adding
|
||||
--
|
||||
2.17.0
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
--- a/CryptoPkg/Library/OpensslLib/openssl/crypto/x509/x509_cmp.c
|
||||
+++ b/CryptoPkg/Library/OpensslLib/openssl/crypto/x509/x509_cmp.c
|
||||
@@ -39,6 +39,7 @@ unsigned long X509_issuer_and_serial_hash(X509 *a)
|
||||
|
||||
if (ctx == NULL)
|
||||
goto err;
|
||||
+ EVP_MD_CTX_set_flags(ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
|
||||
f = X509_NAME_oneline(a->cert_info.issuer, NULL, 0);
|
||||
if (!EVP_DigestInit_ex(ctx, EVP_md5(), NULL))
|
||||
goto err;
|
||||
--
|
||||
2.17.0
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
#! /bin/sh
|
||||
|
||||
: << \EOF
|
||||
For importing the hobbled OpenSSL tarball from Fedora, the following
|
||||
steps are necessary. Note that both the "sources" file format and the
|
||||
pkgs.fedoraproject.org directory structure have changed, accommodating
|
||||
SHA512 checksums.
|
||||
|
||||
# in a separate directory
|
||||
fedpkg clone -a openssl
|
||||
cd openssl
|
||||
fedpkg switch-branch master
|
||||
gitk -- sources
|
||||
|
||||
# the commit that added the 1.1.0h hobbled tarball is 6eb8f620273
|
||||
# subject "update to upstream version 1.1.0h"
|
||||
git checkout 6eb8f620273
|
||||
|
||||
# fetch the hobbled tarball and verify the checksum
|
||||
(
|
||||
set -e
|
||||
while read HASH_TYPE FN EQ HASH; do
|
||||
# remove leading and trailing parens
|
||||
FN="${FN#(*}"
|
||||
FN="${FN%*)}"
|
||||
wget \
|
||||
http://pkgs.fedoraproject.org/repo/pkgs/openssl/$FN/sha512/$HASH/$FN
|
||||
done <sources
|
||||
sha512sum -c sources
|
||||
)
|
||||
|
||||
# unpack the hobbled tarball into edk2, according to
|
||||
# "OpenSSL-HOWTO.txt"; WORKSPACE stands for the root of the edk2 project
|
||||
# tree
|
||||
tar -x --xz -f openssl-1.1.0h-hobbled.tar.xz
|
||||
mv -- openssl-1.1.0h "$WORKSPACE"/CryptoPkg/Library/OpensslLib/openssl
|
||||
|
||||
# update the INF files as described in "OpenSSL-HOWTO.txt", then save
|
||||
# the results as a single commit
|
||||
(cd "$WORKSPACE"/CryptoPkg/Library/OpensslLib && perl process_files.pl)
|
||||
git rm --cached CryptoPkg/Library/OpensslLib/openssl
|
||||
git commit -m'remove openssl submodule'
|
||||
git add -A CryptoPkg/Library/OpensslLib/openssl
|
||||
git commit -m'add openssl 1.1.0h'
|
||||
git format-patch -1
|
||||
|
||||
Then run the patch through this script which will build a new tar file.
|
||||
EOF
|
||||
|
||||
set -e
|
||||
edk2_githash=$(awk '/^%global edk2_githash/ {print $3}' edk2.spec)
|
||||
openssl_version=$(awk '/^%global openssl_version/ {print $3}' edk2.spec)
|
||||
mkdir -p tianocore-openssl-${openssl_version}
|
||||
(exec 3> openssl-${openssl_version}-hobbled.tar.xz
|
||||
cd tianocore-openssl-${openssl_version}
|
||||
git init .
|
||||
git config core.whitespace cr-at-eol
|
||||
git config am.keepcr true
|
||||
git am
|
||||
git archive --format=tar --prefix=tianocore-edk2-${edk2_githash}/ \
|
||||
HEAD CryptoPkg/Library/OpensslLib/ | \
|
||||
xz -9ev >&3) < $1
|
||||
rm -rf tianocore-openssl-${openssl_version}
|
8
sources
8
sources
|
@ -1,5 +1,3 @@
|
|||
SHA512 (softfloat-20180726-gitb64af41.tar.xz) = f079debd1bfcc0fe64329a8947b0689ef49246793edcdd28a2879f6550c652b0cf0f53ac4f6f5ab61ac4f7933972e0019d0ab63eb9931b6884c2909f3a5ead30
|
||||
SHA512 (jansson-2.13.1.tar.bz2) = 057f0eda43e4162569888d739f4d78d1d02fce8359400d8f66fdc6e440b0405cb457e1126820dc8ce51e9c4a7f4b7effc640caf1d54307c78c0c47c3fc093011
|
||||
SHA512 (openssl-rhel-d00c3c5b8a9d6d3ea3dabfcafdf36afd61ba8bcc.tar.xz) = 418f8476e80c79e76ba2225670075f95ae75065b23cad9180daac5149e02f11deaa6551e1f70d04fe4b275b0e5f2756f890738693516a737d6f84ee8cd839019
|
||||
SHA512 (edk2-ba91d0292e59.tar.xz) = bbf1c45a168528f057b8e1b43b7bec8eba68238b07ec9cff08a0478cb7f6599c233c18c45fea1044892bb600435070b205e01e108c745274fdd5954109968974
|
||||
SHA512 (edk2-platforms-7880b92e2a04.tar.xz) = 054cff28dd9ffa634067a9572570bd397dad892c056f174166f2d2acad52d3623b5768dac99d0a836e44b4a90fce965acc75a59446c9a48b7042b9d62439c7fb
|
||||
SHA512 (qemu-ovmf-secureboot-1.1.3.tar.gz) = f830a525f66379e8e3c61d006fab49547e6709f7aa0f95e70f23c7d26407cc804a0ced9dcfd26af63391d603e9cb5a0714c222c7cdca8599e41852e22e13be80
|
||||
SHA512 (openssl-1.1.0h-hobbled.tar.xz) = 6b544a5560a0a3d59b368e3f216284e79389112c87bb34289f8f6644a2454407161a1755b292e8045ff7c172237b070973b03610fd1da3d5204f4118a8644724
|
||||
SHA512 (edk2-20180815-cb5f4f45ce.tar.xz) = 2912bb30b5be1d7efc1b7aa6d337fd1403fc9ea7cfc580c22dd770d82273ce4c801eba2d60a6f2fda4bc1c6e49747be606de4acfdcca286c10e44b11369cde9d
|
||||
|
|
|
@ -0,0 +1,54 @@
|
|||
#!/bin/bash
|
||||
|
||||
user="tianocore"
|
||||
repo="edk2"
|
||||
branch="master"
|
||||
|
||||
uri="https://github.com/${user}/${repo}"
|
||||
api="${uri/github.com/api.github.com/repos}"
|
||||
tar="${uri/github.com/codeload.github.com}/legacy.tar.gz"
|
||||
|
||||
if test $# -ge 1; then
|
||||
hash=$1
|
||||
short=$1
|
||||
else
|
||||
hash=$(curl -s "${api}/git/refs/heads/${branch}" | grep '"sha"' | cut -d'"' -f4)
|
||||
if test "$hash" = ""; then
|
||||
echo "# failed to fetch $branch hash"
|
||||
exit 1
|
||||
fi
|
||||
short=$(echo $hash | sed -e 's/^\(.......\).*/\1/')
|
||||
fi
|
||||
|
||||
if test $# = 2; then
|
||||
date=$2
|
||||
else
|
||||
date=$(curl -s "${api}/git/commits/$hash" | awk '
|
||||
/"committer"/ { c=1 }
|
||||
/"date"/ { if (c) { print } }
|
||||
' | cut -d'"' -f4)
|
||||
date="${date%T*}"
|
||||
date="${date//-/}"
|
||||
fi
|
||||
|
||||
name="${repo}-${date}-${short}.tar.xz"
|
||||
|
||||
if test -f "$name"; then
|
||||
echo "# exists: $name"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo
|
||||
echo "# specfile update: version $date, release $short"
|
||||
sed -i.old \
|
||||
-e "s/\(%global edk2_date[ \t]\+\)\(.*\)/\1$date/" \
|
||||
-e "s/\(%global edk2_githash[ \t]\+\)\(.*\)/\1$short/" \
|
||||
edk2.spec
|
||||
diff -u edk2.spec.old edk2.spec
|
||||
|
||||
echo
|
||||
echo "# cleanup ..."
|
||||
rm -vf ${repo}-*.tar*
|
||||
echo "# fetching $name ..."
|
||||
curl "$tar/$hash" | zcat | xz -9e > "$name"
|
||||
exit 0
|
Loading…
Reference in New Issue