RHEL 9.0.0 Alpha bootstrap
The content of this branch was automatically imported from Fedora ELN with the following as its source: https://src.fedoraproject.org/rpms/edk2#fdb3e75601d7cadbdc59914ce8e1ea021d9c2258
This commit is contained in:
parent
435c54b96c
commit
8ffcf29990
6
.gitignore
vendored
6
.gitignore
vendored
@ -0,0 +1,6 @@
|
|||||||
|
/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
|
@ -0,0 +1,65 @@
|
|||||||
|
From 46e9cd5dd6cb731d33e79b22619b217ba1600e52 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 133a9a93c0..3ddc0c5edb 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -809,7 +809,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 338c38db29..aba4a6cc24 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -823,7 +823,10 @@
|
||||||
|
OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||||
|
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||||
|
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||||
|
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ }
|
||||||
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||||
|
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||||
|
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index b80710fbdc..99c0ba4465 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -819,7 +819,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
|
@ -0,0 +1,57 @@
|
|||||||
|
From f8f04bc629c0874a4e7a361a55053005f9196152 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 3ddc0c5edb..146e429126 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -704,6 +704,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 aba4a6cc24..cdf5abba99 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -718,6 +718,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 99c0ba4465..7d59d768fa 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -714,6 +714,8 @@
|
||||||
|
<LibraryClasses>
|
||||||
|
NULL|MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
||||||
|
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||||
|
+ <PcdsFixedAtBuild>
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
}
|
||||||
|
|
||||||
|
MdeModulePkg/Universal/ReportStatusCodeRouter/RuntimeDxe/ReportStatusCodeRouterRuntimeDxe.inf
|
54
0003-OvmfPkg-enable-DEBUG_VERBOSE.patch
Normal file
54
0003-OvmfPkg-enable-DEBUG_VERBOSE.patch
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
From 5b0813e1885c0234deafcb828f1747c766287c51 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 146e429126..fce6051e47 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -514,7 +514,7 @@
|
||||||
|
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||||
|
# // significantly impact boot performance
|
||||||
|
# DEBUG_ERROR 0x80000000 // Error
|
||||||
|
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||||
|
|
||||||
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index cdf5abba99..983eebfaa7 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -518,7 +518,7 @@
|
||||||
|
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||||
|
# // significantly impact boot performance
|
||||||
|
# DEBUG_ERROR 0x80000000 // Error
|
||||||
|
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||||
|
|
||||||
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index 7d59d768fa..ea62b82ff7 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -518,7 +518,7 @@
|
||||||
|
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||||
|
# // significantly impact boot performance
|
||||||
|
# DEBUG_ERROR 0x80000000 // Error
|
||||||
|
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||||
|
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||||
|
|
||||||
|
!if $(SOURCE_DEBUG_ENABLE) == TRUE
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
30
0004-OvmfPkg-increase-max-debug-message-length-to-512.patch
Normal file
30
0004-OvmfPkg-increase-max-debug-message-length-to-512.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From 04d5e4e3e7c8444dbb52784a2d71cf284c9e05a0 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 dffb20822d..0577c43c3d 100644
|
||||||
|
--- a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
|
||||||
|
+++ b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
|
||||||
|
@@ -21,7 +21,7 @@
|
||||||
|
//
|
||||||
|
// Define the maximum debug and assert message length that this library supports
|
||||||
|
//
|
||||||
|
-#define MAX_DEBUG_MESSAGE_LENGTH 0x100
|
||||||
|
+#define MAX_DEBUG_MESSAGE_LENGTH 0x200
|
||||||
|
|
||||||
|
//
|
||||||
|
// VA_LIST can not initialize to NULL for all compiler, so we use this to
|
3123
0005-advertise-OpenSSL-on-TianoCore-splash-screen-boot-lo.patch
Normal file
3123
0005-advertise-OpenSSL-on-TianoCore-splash-screen-boot-lo.patch
Normal file
File diff suppressed because it is too large
Load Diff
540
0006-OvmfPkg-QemuVideoDxe-enable-debug-messages-in-VbeShi.patch
Normal file
540
0006-OvmfPkg-QemuVideoDxe-enable-debug-messages-in-VbeShi.patch
Normal file
@ -0,0 +1,540 @@
|
|||||||
|
From 31dcc494a7c3ce1bbb1d35b42ba3b6359ca971cf 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 1d284b2641..0d5cfaf1e4 100644
|
||||||
|
--- a/OvmfPkg/QemuVideoDxe/VbeShim.asm
|
||||||
|
+++ b/OvmfPkg/QemuVideoDxe/VbeShim.asm
|
||||||
|
@@ -12,7 +12,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
|
129
0007-MdeModulePkg-TerminalDxe-add-other-text-resolutions.patch
Normal file
129
0007-MdeModulePkg-TerminalDxe-add-other-text-resolutions.patch
Normal file
@ -0,0 +1,129 @@
|
|||||||
|
From 3b413c99f3a5087710f4932b4ba61c2646ae84b9 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 a98b690c8b..ded5513c74 100644
|
||||||
|
--- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
|
||||||
|
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
|
||||||
|
@@ -115,9 +115,44 @@ TERMINAL_DEV mTerminalDevTemplate = {
|
||||||
|
};
|
||||||
|
|
||||||
|
TERMINAL_CONSOLE_MODE_DATA mTerminalConsoleModeData[] = {
|
||||||
|
- {80, 25},
|
||||||
|
- {80, 50},
|
||||||
|
- {100, 31},
|
||||||
|
+ { 80, 25 }, // from graphics resolution 640 x 480
|
||||||
|
+ { 80, 50 }, // from graphics resolution 640 x 960
|
||||||
|
+ { 100, 25 }, // from graphics resolution 800 x 480
|
||||||
|
+ { 100, 31 }, // from graphics resolution 800 x 600
|
||||||
|
+ { 104, 32 }, // from graphics resolution 832 x 624
|
||||||
|
+ { 120, 33 }, // from graphics resolution 960 x 640
|
||||||
|
+ { 128, 31 }, // from graphics resolution 1024 x 600
|
||||||
|
+ { 128, 40 }, // from graphics resolution 1024 x 768
|
||||||
|
+ { 144, 45 }, // from graphics resolution 1152 x 864
|
||||||
|
+ { 144, 45 }, // from graphics resolution 1152 x 870
|
||||||
|
+ { 160, 37 }, // from graphics resolution 1280 x 720
|
||||||
|
+ { 160, 40 }, // from graphics resolution 1280 x 760
|
||||||
|
+ { 160, 40 }, // from graphics resolution 1280 x 768
|
||||||
|
+ { 160, 42 }, // from graphics resolution 1280 x 800
|
||||||
|
+ { 160, 50 }, // from graphics resolution 1280 x 960
|
||||||
|
+ { 160, 53 }, // from graphics resolution 1280 x 1024
|
||||||
|
+ { 170, 40 }, // from graphics resolution 1360 x 768
|
||||||
|
+ { 170, 40 }, // from graphics resolution 1366 x 768
|
||||||
|
+ { 175, 55 }, // from graphics resolution 1400 x 1050
|
||||||
|
+ { 180, 47 }, // from graphics resolution 1440 x 900
|
||||||
|
+ { 200, 47 }, // from graphics resolution 1600 x 900
|
||||||
|
+ { 200, 63 }, // from graphics resolution 1600 x 1200
|
||||||
|
+ { 210, 55 }, // from graphics resolution 1680 x 1050
|
||||||
|
+ { 240, 56 }, // from graphics resolution 1920 x 1080
|
||||||
|
+ { 240, 63 }, // from graphics resolution 1920 x 1200
|
||||||
|
+ { 240, 75 }, // from graphics resolution 1920 x 1440
|
||||||
|
+ { 250, 105 }, // from graphics resolution 2000 x 2000
|
||||||
|
+ { 256, 80 }, // from graphics resolution 2048 x 1536
|
||||||
|
+ { 256, 107 }, // from graphics resolution 2048 x 2048
|
||||||
|
+ { 320, 75 }, // from graphics resolution 2560 x 1440
|
||||||
|
+ { 320, 84 }, // from graphics resolution 2560 x 1600
|
||||||
|
+ { 320, 107 }, // from graphics resolution 2560 x 2048
|
||||||
|
+ { 350, 110 }, // from graphics resolution 2800 x 2100
|
||||||
|
+ { 400, 126 }, // from graphics resolution 3200 x 2400
|
||||||
|
+ { 480, 113 }, // from graphics resolution 3840 x 2160
|
||||||
|
+ { 512, 113 }, // from graphics resolution 4096 x 2160
|
||||||
|
+ { 960, 227 }, // from graphics resolution 7680 x 4320
|
||||||
|
+ { 1024, 227 }, // from graphics resolution 8192 x 4320
|
||||||
|
//
|
||||||
|
// New modes can be added here.
|
||||||
|
//
|
128
0008-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
Normal file
128
0008-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
Normal file
@ -0,0 +1,128 @@
|
|||||||
|
From 50b53194f7caea602e04df663358617c280f299c 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 cb30a79758..e562bed57e 100644
|
||||||
|
--- a/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
+++ b/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
@@ -2013,6 +2013,10 @@
|
||||||
|
# @Prompt Enable StatusCode via memory.
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdStatusCodeUseMemory|FALSE|BOOLEAN|0x00010023
|
||||||
|
|
||||||
|
+ ## Controls whether TerminalDxe outputs an XTerm resize sequence on terminal
|
||||||
|
+ # mode change.
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE|BOOLEAN|0x00010080
|
||||||
|
+
|
||||||
|
[PcdsPatchableInModule]
|
||||||
|
## Specify memory size with page number for PEI code when
|
||||||
|
# Loading Module at Fixed Address feature is enabled.
|
||||||
|
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
|
||||||
|
index aae470e956..26156857aa 100644
|
||||||
|
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
|
||||||
|
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalConOut.c
|
||||||
|
@@ -7,6 +7,8 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
|
||||||
|
|
||||||
|
**/
|
||||||
|
|
||||||
|
+#include <Library/PrintLib.h>
|
||||||
|
+
|
||||||
|
#include "Terminal.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
@@ -80,6 +82,16 @@ CHAR16 mSetCursorPositionString[] = { ESC, '[', '0', '0', ';', '0', '0', 'H', 0
|
||||||
|
CHAR16 mCursorForwardString[] = { ESC, '[', '0', '0', 'C', 0 };
|
||||||
|
CHAR16 mCursorBackwardString[] = { ESC, '[', '0', '0', 'D', 0 };
|
||||||
|
|
||||||
|
+//
|
||||||
|
+// Note that this is an ASCII format string, taking two INT32 arguments:
|
||||||
|
+// rows, columns.
|
||||||
|
+//
|
||||||
|
+// A %d (INT32) format specification can expand to at most 11 characters.
|
||||||
|
+//
|
||||||
|
+CHAR8 mResizeTextAreaFormatString[] = "\x1B[8;%d;%dt";
|
||||||
|
+#define RESIZE_SEQ_SIZE (sizeof mResizeTextAreaFormatString + 2 * (11 - 2))
|
||||||
|
+
|
||||||
|
+
|
||||||
|
//
|
||||||
|
// Body of the ConOut functions
|
||||||
|
//
|
||||||
|
@@ -506,6 +518,24 @@ TerminalConOutSetMode (
|
||||||
|
return EFI_DEVICE_ERROR;
|
||||||
|
}
|
||||||
|
|
||||||
|
+ if (PcdGetBool (PcdResizeXterm)) {
|
||||||
|
+ CHAR16 ResizeSequence[RESIZE_SEQ_SIZE];
|
||||||
|
+
|
||||||
|
+ UnicodeSPrintAsciiFormat (
|
||||||
|
+ ResizeSequence,
|
||||||
|
+ sizeof ResizeSequence,
|
||||||
|
+ mResizeTextAreaFormatString,
|
||||||
|
+ (INT32) TerminalDevice->TerminalConsoleModeData[ModeNumber].Rows,
|
||||||
|
+ (INT32) TerminalDevice->TerminalConsoleModeData[ModeNumber].Columns
|
||||||
|
+ );
|
||||||
|
+ TerminalDevice->OutputEscChar = TRUE;
|
||||||
|
+ Status = This->OutputString (This, ResizeSequence);
|
||||||
|
+ TerminalDevice->OutputEscChar = FALSE;
|
||||||
|
+ if (EFI_ERROR (Status)) {
|
||||||
|
+ return EFI_DEVICE_ERROR;
|
||||||
|
+ }
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
This->Mode->Mode = (INT32) ModeNumber;
|
||||||
|
|
||||||
|
Status = This->ClearScreen (This);
|
||||||
|
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||||
|
index b2a8aeba85..eff6253465 100644
|
||||||
|
--- a/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||||
|
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||||
|
@@ -55,6 +55,7 @@
|
||||||
|
DebugLib
|
||||||
|
PcdLib
|
||||||
|
BaseLib
|
||||||
|
+ PrintLib
|
||||||
|
|
||||||
|
[Guids]
|
||||||
|
## SOMETIMES_PRODUCES ## Variable:L"ConInDev"
|
||||||
|
@@ -87,6 +88,7 @@
|
||||||
|
[Pcd]
|
||||||
|
gEfiMdePkgTokenSpaceGuid.PcdDefaultTerminalType ## SOMETIMES_CONSUMES
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdErrorCodeSetVariable ## CONSUMES
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm ## CONSUMES
|
||||||
|
|
||||||
|
# [Event]
|
||||||
|
# # Relative timer event set by UnicodeToEfiKey(), used to be one 2 seconds input timeout.
|
@ -0,0 +1,90 @@
|
|||||||
|
From 0616c1d69ef552bd35700992fae37263ddd8c4ce 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 2886c10b1b..b974740e2f 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
@@ -577,6 +577,7 @@
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwWorkingBase|0
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
|
||||||
|
!endif
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
index 5a9e9a707a..65a8c6764c 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
@@ -586,6 +586,7 @@
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
|
||||||
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfHostBridgePciDevId|0
|
||||||
|
gUefiOvmfPkgTokenSpaceGuid.PcdPciIoBase|0x0
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
index 70c2c3e3b9..72bc289f26 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
@@ -582,6 +582,7 @@
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageFtwSpareBase|0
|
||||||
|
!endif
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration|FALSE
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoHorizontalResolution|800
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdAcpiS3Enable|FALSE
|
||||||
|
diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c
|
||||||
|
index 96468701e3..14efbabe39 100644
|
||||||
|
--- a/OvmfPkg/PlatformPei/Platform.c
|
||||||
|
+++ b/OvmfPkg/PlatformPei/Platform.c
|
||||||
|
@@ -748,6 +748,7 @@ InitializePlatform (
|
||||||
|
MemTypeInfoInitialization ();
|
||||||
|
MemMapInitialization ();
|
||||||
|
NoexecDxeInitialization ();
|
||||||
|
+ UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
|
||||||
|
}
|
||||||
|
|
||||||
|
InstallClearCacheCallback ();
|
||||||
|
diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf b/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||||
|
index c53be2f492..e5744ed818 100644
|
||||||
|
--- a/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||||
|
+++ b/OvmfPkg/PlatformPei/PlatformPei.inf
|
||||||
|
@@ -97,6 +97,7 @@
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdFlashNvStorageVariableSize
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdEmuVariableNvStoreReserved
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPciDisableBusEnumeration
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack
|
196
0010-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
Normal file
196
0010-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
From 4de2ee915d9f3eea6d32cd010ab856ac176f3983 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Sun, 26 Jul 2015 08:02:50 +0000
|
||||||
|
Subject: [PATCH] ArmVirtPkg: take PcdResizeXterm from the QEMU command line
|
||||||
|
(RH only)
|
||||||
|
|
||||||
|
Notes about the 20160608b-988715a -> 20170228-c325e41585e3 rebase:
|
||||||
|
|
||||||
|
- Adapt commit 6b97969096a3 to the fact that upstream has deprecated such
|
||||||
|
setter functions for dynamic PCDs that don't return a status code (such
|
||||||
|
as PcdSetBool()). Employ PcdSetBoolS(), and assert that it succeeds --
|
||||||
|
there's really no circumstance in this case when it could fail.
|
||||||
|
|
||||||
|
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)
|
||||||
|
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
|
||||||
|
---
|
||||||
|
ArmVirtPkg/ArmVirtQemu.dsc | 6 +-
|
||||||
|
.../TerminalPcdProducerLib.c | 87 +++++++++++++++++++
|
||||||
|
.../TerminalPcdProducerLib.inf | 41 +++++++++
|
||||||
|
3 files changed, 133 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 2405636af6..24c6ea2e64 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
@@ -249,6 +249,7 @@
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdVideoVerticalResolution|600
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoHorizontalResolution|640
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetupVideoVerticalResolution|480
|
||||||
|
+ gEfiMdeModulePkgTokenSpaceGuid.PcdResizeXterm|FALSE
|
||||||
|
|
||||||
|
#
|
||||||
|
# SMBIOS entry point version
|
||||||
|
@@ -374,7 +375,10 @@
|
||||||
|
MdeModulePkg/Universal/Console/ConPlatformDxe/ConPlatformDxe.inf
|
||||||
|
MdeModulePkg/Universal/Console/ConSplitterDxe/ConSplitterDxe.inf
|
||||||
|
MdeModulePkg/Universal/Console/GraphicsConsoleDxe/GraphicsConsoleDxe.inf
|
||||||
|
- MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf
|
||||||
|
+ MdeModulePkg/Universal/Console/TerminalDxe/TerminalDxe.inf {
|
||||||
|
+ <LibraryClasses>
|
||||||
|
+ NULL|ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
|
||||||
|
+ }
|
||||||
|
MdeModulePkg/Universal/SerialDxe/SerialDxe.inf
|
||||||
|
|
||||||
|
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||||
|
diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..814ad48199
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.c
|
||||||
|
@@ -0,0 +1,87 @@
|
||||||
|
+/** @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.
|
||||||
|
+*
|
||||||
|
+**/
|
||||||
|
+
|
||||||
|
+#include <Library/DebugLib.h>
|
||||||
|
+#include <Library/PcdLib.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 (GetNamedFwCfgBoolean ( \
|
||||||
|
+ "opt/org.tianocore.edk2.aavmf/" #TokenName, &Setting))) { \
|
||||||
|
+ PcdStatus = PcdSetBoolS (TokenName, Setting); \
|
||||||
|
+ ASSERT_RETURN_ERROR (PcdStatus); \
|
||||||
|
+ } \
|
||||||
|
+ } while (0)
|
||||||
|
+
|
||||||
|
+RETURN_STATUS
|
||||||
|
+EFIAPI
|
||||||
|
+TerminalPcdProducerLibConstructor (
|
||||||
|
+ VOID
|
||||||
|
+ )
|
||||||
|
+{
|
||||||
|
+ UPDATE_BOOLEAN_PCD_FROM_FW_CFG (PcdResizeXterm);
|
||||||
|
+ return RETURN_SUCCESS;
|
||||||
|
+}
|
||||||
|
diff --git a/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf b/ArmVirtPkg/Library/TerminalPcdProducerLib/TerminalPcdProducerLib.inf
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000000..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
|
112
0011-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
Normal file
112
0011-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
From c1d277217b6d4115277cac4de26943fde3b7f170 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 | 3 +++
|
||||||
|
OvmfPkg/OvmfPkgX64.fdf | 3 +++
|
||||||
|
3 files changed, 8 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
index 6e1e7f5f44..07c1cdbe81 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32.fdf
|
||||||
|
@@ -291,11 +291,13 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
|
||||||
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
|
||||||
|
+!ifndef $(EXCLUDE_SHELL_FROM_FD)
|
||||||
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
||||||
|
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
||||||
|
INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
|
||||||
|
!endif
|
||||||
|
INF ShellPkg/Application/Shell/Shell.inf
|
||||||
|
+!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 1fab3d5014..b1560d6218 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||||
|
@@ -292,11 +292,14 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
|
||||||
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
|
||||||
|
+!ifndef $(EXCLUDE_SHELL_FROM_FD)
|
||||||
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
||||||
|
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
||||||
|
INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
|
||||||
|
!endif
|
||||||
|
INF ShellPkg/Application/Shell/Shell.inf
|
||||||
|
+!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 6dc48977a0..34cd97aac4 100644
|
||||||
|
--- a/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
+++ b/OvmfPkg/OvmfPkgX64.fdf
|
||||||
|
@@ -301,11 +301,14 @@ INF MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResour
|
||||||
|
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||||
|
INF MdeModulePkg/Universal/Disk/UdfDxe/UdfDxe.inf
|
||||||
|
|
||||||
|
+!ifndef $(EXCLUDE_SHELL_FROM_FD)
|
||||||
|
!if $(TOOL_CHAIN_TAG) != "XCODE5"
|
||||||
|
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf
|
||||||
|
INF OvmfPkg/LinuxInitrdDynamicShellCommand/LinuxInitrdDynamicShellCommand.inf
|
||||||
|
!endif
|
||||||
|
INF ShellPkg/Application/Shell/Shell.inf
|
||||||
|
+!endif
|
||||||
|
+
|
||||||
|
|
||||||
|
!if ($(SECURE_BOOT_ENABLE) == TRUE) || ($(NETWORK_IP6_ENABLE) == TRUE) || ($(TLS_ENABLE) == TRUE)
|
||||||
|
INF MdeModulePkg/Logo/LogoOpenSSLDxe.inf
|
@ -0,0 +1,55 @@
|
|||||||
|
From cdd42dea1b59285def15d38feaf2093f9f1688dd 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 696d636aac..1553e1ae92 100644
|
||||||
|
--- a/ArmPlatformPkg/ArmPlatformPkg.dec
|
||||||
|
+++ b/ArmPlatformPkg/ArmPlatformPkg.dec
|
||||||
|
@@ -104,6 +104,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
|
103
0013-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
Normal file
103
0013-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
From f9b6876cb7e14d4e863cc33c8999ece2cf399ff6 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 d379ad8b7a..ff1672f94d 100644
|
||||||
|
--- a/ArmPlatformPkg/PrePeiCore/MainMPCore.c
|
||||||
|
+++ b/ArmPlatformPkg/PrePeiCore/MainMPCore.c
|
||||||
|
@@ -111,6 +111,11 @@ PrimaryMain (
|
||||||
|
UINTN TemporaryRamBase;
|
||||||
|
UINTN TemporaryRamSize;
|
||||||
|
|
||||||
|
+ if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
|
||||||
|
+ SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
|
||||||
|
+ FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
CreatePpiList (&PpiListSize, &PpiList);
|
||||||
|
|
||||||
|
// Enable the GIC Distributor
|
||||||
|
diff --git a/ArmPlatformPkg/PrePeiCore/MainUniCore.c b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
|
||||||
|
index 1500d2bd51..5b0790beac 100644
|
||||||
|
--- a/ArmPlatformPkg/PrePeiCore/MainUniCore.c
|
||||||
|
+++ b/ArmPlatformPkg/PrePeiCore/MainUniCore.c
|
||||||
|
@@ -29,6 +29,11 @@ PrimaryMain (
|
||||||
|
UINTN TemporaryRamBase;
|
||||||
|
UINTN TemporaryRamSize;
|
||||||
|
|
||||||
|
+ if (FixedPcdGetSize (PcdEarlyHelloMessage) > 1) {
|
||||||
|
+ SerialPortWrite (FixedPcdGetPtr (PcdEarlyHelloMessage),
|
||||||
|
+ FixedPcdGetSize (PcdEarlyHelloMessage) - 1);
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
CreatePpiList (&PpiListSize, &PpiList);
|
||||||
|
|
||||||
|
// Adjust the Temporary Ram as the new Ppi List (Common + Platform Ppi Lists) is created at
|
||||||
|
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
|
||||||
|
index 7140c7f5b5..1d69a2b468 100644
|
||||||
|
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
|
||||||
|
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCore.h
|
||||||
|
@@ -15,6 +15,7 @@
|
||||||
|
#include <Library/DebugLib.h>
|
||||||
|
#include <Library/IoLib.h>
|
||||||
|
#include <Library/PcdLib.h>
|
||||||
|
+#include <Library/SerialPortLib.h>
|
||||||
|
|
||||||
|
#include <PiPei.h>
|
||||||
|
#include <Ppi/TemporaryRamSupport.h>
|
||||||
|
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
|
||||||
|
index fb01dd1a11..a6681c1032 100644
|
||||||
|
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
|
||||||
|
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreMPCore.inf
|
||||||
|
@@ -69,6 +69,8 @@
|
||||||
|
gArmPlatformTokenSpaceGuid.PcdCPUCorePrimaryStackSize
|
||||||
|
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
|
||||||
|
|
||||||
|
+ gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
|
||||||
|
+
|
||||||
|
gArmTokenSpaceGuid.PcdGicDistributorBase
|
||||||
|
gArmTokenSpaceGuid.PcdGicInterruptInterfaceBase
|
||||||
|
gArmTokenSpaceGuid.PcdGicSgiIntId
|
||||||
|
diff --git a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
|
||||||
|
index e9eb092d3a..a02ff39b7a 100644
|
||||||
|
--- a/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
|
||||||
|
+++ b/ArmPlatformPkg/PrePeiCore/PrePeiCoreUniCore.inf
|
||||||
|
@@ -68,3 +68,5 @@
|
||||||
|
gArmPlatformTokenSpaceGuid.PcdCPUCoreSecondaryStackSize
|
||||||
|
|
||||||
|
gEfiMdeModulePkgTokenSpaceGuid.PcdInitValueInTempStack
|
||||||
|
+
|
||||||
|
+ gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage
|
40
0014-ArmVirtPkg-set-early-hello-message-RH-only.patch
Normal file
40
0014-ArmVirtPkg-set-early-hello-message-RH-only.patch
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
From 34a88714097996e34811d27b32e77ff71ca763a6 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 24c6ea2e64..ad6af7f1c6 100644
|
||||||
|
--- a/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
+++ b/ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
@@ -125,6 +125,7 @@
|
||||||
|
gArmVirtTokenSpaceGuid.PcdTpm2SupportEnabled|$(TPM2_ENABLE)
|
||||||
|
|
||||||
|
[PcdsFixedAtBuild.common]
|
||||||
|
+ gArmPlatformTokenSpaceGuid.PcdEarlyHelloMessage|"UEFI firmware starting.\r\n"
|
||||||
|
!if $(ARCH) == AARCH64
|
||||||
|
gArmTokenSpaceGuid.PcdVFPEnabled|1
|
||||||
|
!endif
|
75
0015-Tweak-the-tools_def-to-support-cross-compiling.patch
Normal file
75
0015-Tweak-the-tools_def-to-support-cross-compiling.patch
Normal file
@ -0,0 +1,75 @@
|
|||||||
|
From d8b75ad1013b21c089a1af579b510f32c49c5b14 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 933b3160fd..e62ccc322d 100755
|
||||||
|
--- a/BaseTools/Conf/tools_def.template
|
||||||
|
+++ b/BaseTools/Conf/tools_def.template
|
||||||
|
@@ -2350,17 +2350,17 @@ RELEASE_GCC49_AARCH64_DLINK_XIPFLAGS = -z common-page-size=0x20
|
||||||
|
##################
|
||||||
|
# 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(GCC5_ASLCC_FLAGS) -m32
|
||||||
|
*_GCC5_IA32_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_i386 -no-pie
|
||||||
|
@@ -2382,17 +2382,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(GCC5_ASLCC_FLAGS) -m64
|
||||||
|
*_GCC5_X64_ASLDLINK_FLAGS = DEF(GCC5_IA32_X64_ASLDLINK_FLAGS) -Wl,-m,elf_x86_64
|
47
0016-BaseTools-do-not-build-BrotliCompress-RH-only.patch
Normal file
47
0016-BaseTools-do-not-build-BrotliCompress-RH-only.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From cab35d13e43ef37e746befaa1f3c8200edf4e420 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Laszlo Ersek <lersek@redhat.com>
|
||||||
|
Date: Thu, 4 Jun 2020 13:34:12 +0200
|
||||||
|
Subject: [PATCH] BaseTools: do not build BrotliCompress (RH only)
|
||||||
|
|
||||||
|
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>
|
||||||
|
---
|
||||||
|
BaseTools/Source/C/GNUmakefile | 1 -
|
||||||
|
MdeModulePkg/MdeModulePkg.dec | 1 -
|
||||||
|
2 files changed, 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/BaseTools/Source/C/GNUmakefile b/BaseTools/Source/C/GNUmakefile
|
||||||
|
index df4eb64ea9..52777eaff1 100644
|
||||||
|
--- a/BaseTools/Source/C/GNUmakefile
|
||||||
|
+++ b/BaseTools/Source/C/GNUmakefile
|
||||||
|
@@ -45,7 +45,6 @@ all: makerootdir subdirs
|
||||||
|
LIBRARIES = Common
|
||||||
|
VFRAUTOGEN = VfrCompile/VfrLexer.h
|
||||||
|
APPLICATIONS = \
|
||||||
|
- BrotliCompress \
|
||||||
|
VfrCompile \
|
||||||
|
EfiRom \
|
||||||
|
GenFfs \
|
||||||
|
diff --git a/MdeModulePkg/MdeModulePkg.dec b/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
index e562bed57e..7367adbaa3 100644
|
||||||
|
--- a/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
+++ b/MdeModulePkg/MdeModulePkg.dec
|
||||||
|
@@ -25,7 +25,6 @@
|
||||||
|
Include
|
||||||
|
|
||||||
|
[Includes.Common.Private]
|
||||||
|
- Library/BrotliCustomDecompressLib/brotli/c/include
|
||||||
|
|
||||||
|
[LibraryClasses]
|
||||||
|
## @libraryclass Defines a set of methods to reset whole system.
|
35
40-edk2-ovmf-ia32-sb-enrolled.json
Normal file
35
40-edk2-ovmf-ia32-sb-enrolled.json
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF for i386, with SB+SMM, SB enabled, MS certs enrolled",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"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": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
36
40-edk2-ovmf-x64-sb-enrolled.json
Normal file
36
40-edk2-ovmf-x64-sb-enrolled.json
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF for x86_64, with SB+SMM, SB enabled, MS certs enrolled",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"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",
|
||||||
|
"amd-sev",
|
||||||
|
"enrolled-keys",
|
||||||
|
"requires-smm",
|
||||||
|
"secure-boot",
|
||||||
|
"verbose-dynamic"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
34
50-edk2-ovmf-ia32-sb.json
Normal file
34
50-edk2-ovmf-ia32-sb.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF for i386, with SB+SMM, empty varstore",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"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": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
35
50-edk2-ovmf-x64-sb.json
Normal file
35
50-edk2-ovmf-x64-sb.json
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF for x86_64, with SB+SMM, empty varstore",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"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",
|
||||||
|
"amd-sev",
|
||||||
|
"requires-smm",
|
||||||
|
"secure-boot",
|
||||||
|
"verbose-dynamic"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
33
60-edk2-ovmf-ia32.json
Normal file
33
60-edk2-ovmf-ia32.json
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF for i386, without SB, without SMM, with empty varstore",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"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": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
34
60-edk2-ovmf-x64.json
Normal file
34
60-edk2-ovmf-x64.json
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
{
|
||||||
|
"description": "OVMF for x86_64, without SB, without SMM, with empty varstore",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"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",
|
||||||
|
"verbose-dynamic"
|
||||||
|
],
|
||||||
|
"tags": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
31
70-edk2-aarch64-verbose.json
Normal file
31
70-edk2-aarch64-verbose.json
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"description": "UEFI firmware for aarch64, verbose logs",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"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": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
31
70-edk2-arm-verbose.json
Normal file
31
70-edk2-arm-verbose.json
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
{
|
||||||
|
"description": "UEFI firmware for arm, verbose logs",
|
||||||
|
"interface-types": [
|
||||||
|
"uefi"
|
||||||
|
],
|
||||||
|
"mapping": {
|
||||||
|
"device": "flash",
|
||||||
|
"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": [
|
||||||
|
|
||||||
|
]
|
||||||
|
}
|
22
RedHatSecureBootPkKek1.pem
Normal file
22
RedHatSecureBootPkKek1.pem
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIDoDCCAoigAwIBAgIJAP71iOjzlsDxMA0GCSqGSIb3DQEBCwUAMFExKzApBgNV
|
||||||
|
BAMTIlJlZCBIYXQgU2VjdXJlIEJvb3QgKFBLL0tFSyBrZXkgMSkxIjAgBgkqhkiG
|
||||||
|
9w0BCQEWE3NlY2FsZXJ0QHJlZGhhdC5jb20wHhcNMTQxMDMxMTExNTM3WhcNMzcx
|
||||||
|
MDI1MTExNTM3WjBRMSswKQYDVQQDEyJSZWQgSGF0IFNlY3VyZSBCb290IChQSy9L
|
||||||
|
RUsga2V5IDEpMSIwIAYJKoZIhvcNAQkBFhNzZWNhbGVydEByZWRoYXQuY29tMIIB
|
||||||
|
IjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAkB+Ee42865cmgm2Iq4rJjGhw
|
||||||
|
+d9LB7I3gwsCyGdoMJ7j8PCZSrhZV8ZB9jiL/mZMSek3N5IumAEeWxRQ5qiNJQ31
|
||||||
|
huarMMtAFuqNixaGcEM38s7Akd9xFI6ZDom2TG0kHozkL08l0LoG+MboGRh2cx2B
|
||||||
|
bajYBc86yHsoyDajFg0pjJmaaNyrwE2Nv1q7K6k5SwSXHPk2u8U6hgSur9SCe+Cr
|
||||||
|
3kkFaPz2rmgabJBNVxk8ZGYD9sdSm/eUz5NqoWjJqs+Za7yqXgjnORz3+A+6Bn7x
|
||||||
|
y+h23f4i2q06Xls06rPJ4E0EKX64YLkF77XZF1hWFmC5MDLwNkrD8nmNEkBw8wID
|
||||||
|
AQABo3sweTAJBgNVHRMEAjAAMCwGCWCGSAGG+EIBDQQfFh1PcGVuU1NMIEdlbmVy
|
||||||
|
YXRlZCBDZXJ0aWZpY2F0ZTAdBgNVHQ4EFgQUPOlg4/8ZoQp7o0L0jUIutNWccuww
|
||||||
|
HwYDVR0jBBgwFoAUPOlg4/8ZoQp7o0L0jUIutNWccuwwDQYJKoZIhvcNAQELBQAD
|
||||||
|
ggEBAFxNkoi0gl8drYsR7N8GpnqlK583VQyNbgUArbcMQYlpz9ZlBptReNKtx7+c
|
||||||
|
3AVzf+ceORO06rYwfUB1q5xDC9+wwhu/MOD0/sDbYiGY9sWv3jtPSQrmHvmGsD8N
|
||||||
|
1tRGN9tUdF7/EcJgxnBYxRxv7LLYbm/DvDOHOKTzRGScNDsolCZ4J58WF+g7aQol
|
||||||
|
qXM2fp43XOzoP9uR+RKzPc7n3RXDrowFIGGbld6br/qxXBzll+fDNBGF9YonJqRw
|
||||||
|
NuwM9oM9kPc28/nzFdSQYr5TtK/TSa/v9HPoe3bkRCo3uoGkmQw6MSRxoOTktxrL
|
||||||
|
R+SqIs/vdWGA40O3SFdzET14m2k=
|
||||||
|
-----END CERTIFICATE-----
|
26
build-iso.sh
Normal file
26
build-iso.sh
Normal file
@ -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"
|
831
edk2.spec
Normal file
831
edk2.spec
Normal file
@ -0,0 +1,831 @@
|
|||||||
|
# RPM doesn't detect that code in /usr/share is python3, this forces it
|
||||||
|
# https://fedoraproject.org/wiki/Changes/Avoid_usr_bin_python_in_RPM_Build#Python_bytecompilation
|
||||||
|
%global __python %{__python3}
|
||||||
|
|
||||||
|
%global edk2_stable_date 202008
|
||||||
|
%global edk2_stable_str edk2-stable%{edk2_stable_date}
|
||||||
|
%global openssl_version 1.1.1g
|
||||||
|
%global qosb_version 20190521-gitf158f12
|
||||||
|
%global softfloat_version 20180726-gitb64af41
|
||||||
|
|
||||||
|
# Enable this to skip secureboot enrollment, if problems pop up
|
||||||
|
%global skip_enroll 0
|
||||||
|
|
||||||
|
%define qosb_testing 0
|
||||||
|
|
||||||
|
%ifarch x86_64
|
||||||
|
%define qosb_testing 1
|
||||||
|
%endif
|
||||||
|
%if 0%{?fedora:1}
|
||||||
|
%define cross 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch %{ix86} x86_64
|
||||||
|
%if 0%{?fedora:1}
|
||||||
|
%define build_ovmf_ia32 1
|
||||||
|
%endif
|
||||||
|
%ifarch x86_64
|
||||||
|
%define build_ovmf_x64 1
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%ifarch aarch64
|
||||||
|
%define build_aavmf_aarch64 1
|
||||||
|
%endif
|
||||||
|
%ifarch %{arm}
|
||||||
|
%define build_aavmf_arm 1
|
||||||
|
%endif
|
||||||
|
%if 0%{?cross:1}
|
||||||
|
%define build_ovmf_x64 1
|
||||||
|
%define build_ovmf_ia32 1
|
||||||
|
%define build_aavmf_aarch64 1
|
||||||
|
%define build_aavmf_arm 1
|
||||||
|
%endif
|
||||||
|
|
||||||
|
Name: edk2
|
||||||
|
# Even though edk2 stable releases are YYYYMM, we need
|
||||||
|
# to use YYYMMDD to avoid needing to bump package epoch
|
||||||
|
# due to previous 'git' Version:
|
||||||
|
Version: %{edk2_stable_date}01stable
|
||||||
|
Release: 1%{dist}
|
||||||
|
Summary: EFI Development Kit II
|
||||||
|
|
||||||
|
License: BSD-2-Clause-Patent
|
||||||
|
URL: http://www.tianocore.org/edk2/
|
||||||
|
|
||||||
|
Source0: https://github.com/tianocore/edk2/archive/%{edk2_stable_str}.tar.gz#/%{edk2_stable_str}.tar.gz
|
||||||
|
Source1: openssl-%{openssl_version}-hobbled.tar.xz
|
||||||
|
Source2: ovmf-whitepaper-c770f8c.txt
|
||||||
|
#Source3: https://github.com/puiterwijk/qemu-ovmf-secureboot/archive/v{qosb_version}/qemu-ovmf-secureboot-{qosb_version}.tar.gz
|
||||||
|
Source3: qemu-ovmf-secureboot-%{qosb_version}.tar.xz
|
||||||
|
Source4: softfloat-%{softfloat_version}.tar.xz
|
||||||
|
Source5: RedHatSecureBootPkKek1.pem
|
||||||
|
Source10: hobble-openssl
|
||||||
|
Source11: build-iso.sh
|
||||||
|
Source12: update-tarball.sh
|
||||||
|
Source13: openssl-patch-to-tarball.sh
|
||||||
|
|
||||||
|
# Fedora-specific JSON "descriptor files"
|
||||||
|
Source14: 40-edk2-ovmf-x64-sb-enrolled.json
|
||||||
|
Source15: 50-edk2-ovmf-x64-sb.json
|
||||||
|
Source16: 60-edk2-ovmf-x64.json
|
||||||
|
Source17: 40-edk2-ovmf-ia32-sb-enrolled.json
|
||||||
|
Source18: 50-edk2-ovmf-ia32-sb.json
|
||||||
|
Source19: 60-edk2-ovmf-ia32.json
|
||||||
|
Source20: 70-edk2-aarch64-verbose.json
|
||||||
|
Source21: 70-edk2-arm-verbose.json
|
||||||
|
|
||||||
|
# non-upstream patches
|
||||||
|
Patch0001: 0001-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
|
||||||
|
Patch0002: 0002-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-the-DXE-.patch
|
||||||
|
Patch0003: 0003-OvmfPkg-enable-DEBUG_VERBOSE.patch
|
||||||
|
Patch0004: 0004-OvmfPkg-increase-max-debug-message-length-to-512.patch
|
||||||
|
Patch0005: 0005-advertise-OpenSSL-on-TianoCore-splash-screen-boot-lo.patch
|
||||||
|
Patch0006: 0006-OvmfPkg-QemuVideoDxe-enable-debug-messages-in-VbeShi.patch
|
||||||
|
Patch0007: 0007-MdeModulePkg-TerminalDxe-add-other-text-resolutions.patch
|
||||||
|
Patch0008: 0008-MdeModulePkg-TerminalDxe-set-xterm-resolution-on-mod.patch
|
||||||
|
Patch0009: 0009-OvmfPkg-take-PcdResizeXterm-from-the-QEMU-command-li.patch
|
||||||
|
Patch0010: 0010-ArmVirtPkg-take-PcdResizeXterm-from-the-QEMU-command.patch
|
||||||
|
Patch0011: 0011-OvmfPkg-allow-exclusion-of-the-shell-from-the-firmwa.patch
|
||||||
|
Patch0012: 0012-ArmPlatformPkg-introduce-fixed-PCD-for-early-hello-m.patch
|
||||||
|
Patch0013: 0013-ArmPlatformPkg-PrePeiCore-write-early-hello-message-.patch
|
||||||
|
Patch0014: 0014-ArmVirtPkg-set-early-hello-message-RH-only.patch
|
||||||
|
Patch0015: 0015-Tweak-the-tools_def-to-support-cross-compiling.patch
|
||||||
|
Patch0016: 0016-BaseTools-do-not-build-BrotliCompress-RH-only.patch
|
||||||
|
|
||||||
|
%if 0%{?cross:1}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora:1}
|
||||||
|
#
|
||||||
|
# actual firmware builds support cross-compiling. edk2-tools
|
||||||
|
# in theory should build everywhere without much trouble, but
|
||||||
|
# in practice the edk2 build system barfs on archs it doesn't know
|
||||||
|
# (such as ppc), so lets limit things to the known-good ones.
|
||||||
|
#
|
||||||
|
ExclusiveArch: %{ix86} x86_64 %{arm} aarch64
|
||||||
|
%else
|
||||||
|
ExclusiveArch: x86_64 aarch64
|
||||||
|
%endif
|
||||||
|
|
||||||
|
BuildRequires: gcc gcc-c++
|
||||||
|
BuildRequires: python3 python3-devel
|
||||||
|
BuildRequires: libuuid-devel
|
||||||
|
%if 0%{?cross:1}
|
||||||
|
BuildRequires: gcc-aarch64-linux-gnu
|
||||||
|
BuildRequires: gcc-arm-linux-gnu
|
||||||
|
BuildRequires: gcc-x86_64-linux-gnu
|
||||||
|
%endif
|
||||||
|
BuildRequires: iasl
|
||||||
|
BuildRequires: nasm
|
||||||
|
BuildRequires: qemu-img
|
||||||
|
BuildRequires: genisoimage
|
||||||
|
BuildRequires: bc
|
||||||
|
BuildRequires: sed
|
||||||
|
|
||||||
|
# These are for QOSB
|
||||||
|
BuildRequires: python3-requests
|
||||||
|
BuildRequires: qemu-system-x86
|
||||||
|
%if %{?qosb_testing}
|
||||||
|
# This is used for testing the enrollment: builds are run in a chroot, lacking
|
||||||
|
# a kernel. The testing is only performed on x86_64 for now, but we can't make
|
||||||
|
# the BuildRequires only on a specific arch, as that'd come through in the SRPM
|
||||||
|
# NOTE: The actual enrollment needs to happen in all builds for all architectures,
|
||||||
|
# because OVMF is built as noarch, which means that koji enforces that the build
|
||||||
|
# results don't actually differ per arch, and then it picks a random arches' build
|
||||||
|
# for the actual RPM.
|
||||||
|
BuildRequires: kernel-core
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%description
|
||||||
|
EDK II is a development code base for creating UEFI drivers, applications
|
||||||
|
and firmware images.
|
||||||
|
|
||||||
|
%package tools
|
||||||
|
Summary: EFI Development Kit II Tools
|
||||||
|
%description tools
|
||||||
|
This package provides tools that are needed to
|
||||||
|
build EFI executables and ROMs using the GNU tools.
|
||||||
|
|
||||||
|
%package tools-python
|
||||||
|
Summary: EFI Development Kit II Tools
|
||||||
|
Requires: python3
|
||||||
|
BuildArch: noarch
|
||||||
|
|
||||||
|
%description tools-python
|
||||||
|
This package provides tools that are needed to build EFI executables
|
||||||
|
and ROMs using the GNU tools. You do not need to install this package;
|
||||||
|
you probably want to install edk2-tools only.
|
||||||
|
|
||||||
|
%package tools-doc
|
||||||
|
Summary: Documentation for EFI Development Kit II Tools
|
||||||
|
BuildArch: noarch
|
||||||
|
%description tools-doc
|
||||||
|
This package documents the tools that are needed to
|
||||||
|
build EFI executables and ROMs using the GNU tools.
|
||||||
|
|
||||||
|
%package qosb
|
||||||
|
Summary: Tool to enroll secureboot
|
||||||
|
Requires: python3
|
||||||
|
Buildarch: noarch
|
||||||
|
%description qosb
|
||||||
|
This package contains QOSB (QEMU OVMF Secure Boot), which can enroll OVMF
|
||||||
|
variable files to enforce Secure Boot.
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?build_ovmf_x64:1}
|
||||||
|
%package ovmf
|
||||||
|
Summary: Open Virtual Machine Firmware
|
||||||
|
# OVMF includes the Secure Boot and IPv6 features; it has a builtin OpenSSL
|
||||||
|
# library.
|
||||||
|
License: BSD-2-Clause-Patent and OpenSSL
|
||||||
|
Provides: bundled(openssl)
|
||||||
|
Provides: OVMF = %{version}-%{release}
|
||||||
|
Obsoletes: OVMF < %{version}-%{release}
|
||||||
|
BuildArch: noarch
|
||||||
|
%description ovmf
|
||||||
|
EFI Development Kit II
|
||||||
|
Open Virtual Machine Firmware (x64)
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?build_ovmf_ia32:1}
|
||||||
|
%package ovmf-ia32
|
||||||
|
Summary: Open Virtual Machine Firmware
|
||||||
|
# OVMF includes the Secure Boot and IPv6 features; it has a builtin OpenSSL
|
||||||
|
# library.
|
||||||
|
License: BSD-2-Clause-Patent and OpenSSL
|
||||||
|
Provides: bundled(openssl)
|
||||||
|
BuildArch: noarch
|
||||||
|
%description ovmf-ia32
|
||||||
|
EFI Development Kit II
|
||||||
|
Open Virtual Machine Firmware (ia32)
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?build_aavmf_aarch64:1}
|
||||||
|
%package aarch64
|
||||||
|
Summary: AARCH64 Virtual Machine Firmware
|
||||||
|
Provides: AAVMF = %{version}-%{release}
|
||||||
|
Obsoletes: AAVMF < %{version}-%{release}
|
||||||
|
BuildArch: noarch
|
||||||
|
# No Secure Boot for AAVMF yet, but we include OpenSSL for the IPv6/HTTP boot stack.
|
||||||
|
License: BSD-2-Clause-Patent and OpenSSL
|
||||||
|
Provides: bundled(openssl)
|
||||||
|
%description aarch64
|
||||||
|
EFI Development Kit II
|
||||||
|
AARCH64 UEFI Firmware
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?build_aavmf_arm:1}
|
||||||
|
%package arm
|
||||||
|
Summary: ARM Virtual Machine Firmware
|
||||||
|
BuildArch: noarch
|
||||||
|
# No Secure Boot for ARMv7, but we include OpenSSL for the IPv6/HTTP boot stack.
|
||||||
|
License: BSD-2-Clause-Patent and OpenSSL
|
||||||
|
%description arm
|
||||||
|
EFI Development Kit II
|
||||||
|
ARMv7 UEFI Firmware
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%prep
|
||||||
|
%setup -q -n edk2-%{edk2_stable_str}
|
||||||
|
|
||||||
|
# Ensure old shell and binary packages are not used
|
||||||
|
rm -rf EdkShellBinPkg
|
||||||
|
rm -rf EdkShellPkg
|
||||||
|
rm -rf FatBinPkg
|
||||||
|
rm -rf ShellBinPkg
|
||||||
|
|
||||||
|
# copy whitepaper into place
|
||||||
|
cp -a -- %{SOURCE2} .
|
||||||
|
# extract openssl into place
|
||||||
|
tar -xf %{SOURCE1} --strip-components=1 --directory CryptoPkg/Library/OpensslLib/openssl
|
||||||
|
# extract softfloat into place
|
||||||
|
tar -xf %{SOURCE4} --strip-components=1 --directory ArmPkg/Library/ArmSoftFloatLib/berkeley-softfloat-3/
|
||||||
|
|
||||||
|
# Extract QOSB
|
||||||
|
tar -xf %{SOURCE3}
|
||||||
|
mv qemu-ovmf-secureboot-%{qosb_version}/README.md README.qosb
|
||||||
|
mv qemu-ovmf-secureboot-%{qosb_version}/LICENSE LICENSE.qosb
|
||||||
|
|
||||||
|
%autopatch -p1
|
||||||
|
base64 --decode < MdeModulePkg/Logo/Logo-OpenSSL.bmp.b64 > MdeModulePkg/Logo/Logo-OpenSSL.bmp
|
||||||
|
|
||||||
|
# Extract OEM string from the RH cert, as described here
|
||||||
|
# https://bugzilla.tianocore.org/show_bug.cgi?id=1747#c2
|
||||||
|
sed \
|
||||||
|
-e 's/^-----BEGIN CERTIFICATE-----$/4e32566d-8e9e-4f52-81d3-5bb9715f9727:/' \
|
||||||
|
-e '/^-----END CERTIFICATE-----$/d' \
|
||||||
|
%{_sourcedir}/RedHatSecureBootPkKek1.pem \
|
||||||
|
| tr -d '\n' \
|
||||||
|
> PkKek1.oemstr
|
||||||
|
|
||||||
|
|
||||||
|
%build
|
||||||
|
export PYTHON_COMMAND=%{__python3}
|
||||||
|
source ./edksetup.sh
|
||||||
|
|
||||||
|
# compiler
|
||||||
|
CC_FLAGS="-t GCC5"
|
||||||
|
|
||||||
|
# parallel builds
|
||||||
|
JOBS="%{?_smp_mflags}"
|
||||||
|
JOBS="${JOBS#-j}"
|
||||||
|
if test "$JOBS" != ""; then
|
||||||
|
CC_FLAGS="${CC_FLAGS} -n $JOBS"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# common features
|
||||||
|
CC_FLAGS="$CC_FLAGS --cmd-len=65536 -b DEBUG --hash"
|
||||||
|
CC_FLAGS="$CC_FLAGS -D NETWORK_IP6_ENABLE"
|
||||||
|
CC_FLAGS="$CC_FLAGS -D NETWORK_TLS_ENABLE"
|
||||||
|
CC_FLAGS="$CC_FLAGS -D NETWORK_HTTP_BOOT_ENABLE"
|
||||||
|
CC_FLAGS="$CC_FLAGS -D TPM2_ENABLE"
|
||||||
|
|
||||||
|
# ovmf features
|
||||||
|
OVMF_FLAGS="${CC_FLAGS}"
|
||||||
|
OVMF_FLAGS="${OVMF_FLAGS} -D FD_SIZE_2MB"
|
||||||
|
|
||||||
|
# ovmf + secure boot features
|
||||||
|
OVMF_SB_FLAGS="${OVMF_FLAGS}"
|
||||||
|
OVMF_SB_FLAGS="${OVMF_SB_FLAGS} -D SECURE_BOOT_ENABLE"
|
||||||
|
OVMF_SB_FLAGS="${OVMF_SB_FLAGS} -D SMM_REQUIRE"
|
||||||
|
OVMF_SB_FLAGS="${OVMF_SB_FLAGS} -D EXCLUDE_SHELL_FROM_FD"
|
||||||
|
|
||||||
|
# arm firmware features
|
||||||
|
ARM_FLAGS="${CC_FLAGS}"
|
||||||
|
|
||||||
|
unset MAKEFLAGS
|
||||||
|
%make_build -C BaseTools \
|
||||||
|
EXTRA_OPTFLAGS="%{optflags}" \
|
||||||
|
EXTRA_LDFLAGS="%{__global_ldflags}"
|
||||||
|
sed -i -e 's/-Werror//' Conf/tools_def.txt
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?cross:1}
|
||||||
|
export GCC5_IA32_PREFIX="x86_64-linux-gnu-"
|
||||||
|
export GCC5_X64_PREFIX="x86_64-linux-gnu-"
|
||||||
|
export GCC5_AARCH64_PREFIX="aarch64-linux-gnu-"
|
||||||
|
export GCC5_ARM_PREFIX="arm-linux-gnu-"
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# build ovmf (x64)
|
||||||
|
%if 0%{?build_ovmf_x64:1}
|
||||||
|
mkdir -p ovmf
|
||||||
|
build ${OVMF_FLAGS} -a X64 -p OvmfPkg/OvmfPkgX64.dsc
|
||||||
|
cp Build/OvmfX64/*/FV/OVMF_*.fd ovmf/
|
||||||
|
rm -rf Build/OvmfX64
|
||||||
|
|
||||||
|
# build ovmf (x64) with secure boot
|
||||||
|
build ${OVMF_SB_FLAGS} -a IA32 -a X64 -p OvmfPkg/OvmfPkgIa32X64.dsc
|
||||||
|
cp Build/Ovmf3264/*/FV/OVMF_CODE.fd ovmf/OVMF_CODE.secboot.fd
|
||||||
|
|
||||||
|
# build ovmf (x64) shell iso with EnrollDefaultKeys
|
||||||
|
cp Build/Ovmf3264/*/X64/Shell.efi ovmf/
|
||||||
|
cp Build/Ovmf3264/*/X64/EnrollDefaultKeys.efi ovmf
|
||||||
|
sh %{_sourcedir}/build-iso.sh ovmf/
|
||||||
|
|
||||||
|
%if !%{skip_enroll}
|
||||||
|
python3 qemu-ovmf-secureboot-%{qosb_version}/ovmf-vars-generator \
|
||||||
|
--qemu-binary /usr/bin/qemu-system-x86_64 \
|
||||||
|
--ovmf-binary ovmf/OVMF_CODE.secboot.fd \
|
||||||
|
--ovmf-template-vars ovmf/OVMF_VARS.fd \
|
||||||
|
--uefi-shell-iso ovmf/UefiShell.iso \
|
||||||
|
--oem-string "$(< PkKek1.oemstr)" \
|
||||||
|
--skip-testing \
|
||||||
|
ovmf/OVMF_VARS.secboot.fd
|
||||||
|
%else
|
||||||
|
# This isn't going to actually give secureboot, but makes json files happy
|
||||||
|
# if we need to test disabling ovmf-vars-generator
|
||||||
|
cp ovmf/OVMF_VARS.fd ovmf/OVMF_VARS.secboot.fd
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
# build ovmf-ia32
|
||||||
|
%if 0%{?build_ovmf_ia32:1}
|
||||||
|
mkdir -p ovmf-ia32
|
||||||
|
build ${OVMF_FLAGS} -a IA32 -p OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
cp Build/OvmfIa32/*/FV/OVMF_CODE*.fd ovmf-ia32/
|
||||||
|
# cp VARS files from from ovmf/, which are all we need
|
||||||
|
cp ovmf/OVMF_VARS*.fd ovmf-ia32/
|
||||||
|
rm -rf Build/OvmfIa32
|
||||||
|
|
||||||
|
# build ovmf-ia32 with secure boot
|
||||||
|
build ${OVMF_SB_FLAGS} -a IA32 -p OvmfPkg/OvmfPkgIa32.dsc
|
||||||
|
cp Build/OvmfIa32/*/FV/OVMF_CODE.fd ovmf-ia32/OVMF_CODE.secboot.fd
|
||||||
|
|
||||||
|
# build ovmf-ia32 shell iso with EnrollDefaultKeys
|
||||||
|
cp Build/OvmfIa32/*/IA32/Shell.efi ovmf-ia32/Shell.efi
|
||||||
|
cp Build/OvmfIa32/*/IA32/EnrollDefaultKeys.efi ovmf-ia32/EnrollDefaultKeys.efi
|
||||||
|
sh %{_sourcedir}/build-iso.sh ovmf-ia32/
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
# build aarch64 firmware
|
||||||
|
%if 0%{?build_aavmf_aarch64:1}
|
||||||
|
mkdir -p aarch64
|
||||||
|
build $ARM_FLAGS -a AARCH64 -p ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
cp Build/ArmVirtQemu-AARCH64/DEBUG_*/FV/*.fd aarch64
|
||||||
|
dd of="aarch64/QEMU_EFI-pflash.raw" if="/dev/zero" bs=1M count=64
|
||||||
|
dd of="aarch64/QEMU_EFI-pflash.raw" if="aarch64/QEMU_EFI.fd" conv=notrunc
|
||||||
|
dd of="aarch64/vars-template-pflash.raw" if="/dev/zero" bs=1M count=64
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
# build ARMv7 firmware
|
||||||
|
%if 0%{?build_aavmf_arm:1}
|
||||||
|
mkdir -p arm
|
||||||
|
build $ARM_FLAGS -a ARM -p ArmVirtPkg/ArmVirtQemu.dsc
|
||||||
|
cp Build/ArmVirtQemu-ARM/DEBUG_*/FV/*.fd arm
|
||||||
|
dd of="arm/QEMU_EFI-pflash.raw" if="/dev/zero" bs=1M count=64
|
||||||
|
dd of="arm/QEMU_EFI-pflash.raw" if="arm/QEMU_EFI.fd" conv=notrunc
|
||||||
|
dd of="arm/vars-template-pflash.raw" if="/dev/zero" bs=1M count=64
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%check
|
||||||
|
%if 0%{?build_ovmf_x64:1}
|
||||||
|
%if 0%{?qosb_testing}
|
||||||
|
%if !%{skip_enroll}
|
||||||
|
python3 qemu-ovmf-secureboot-%{qosb_version}/ovmf-vars-generator \
|
||||||
|
--qemu-binary /usr/bin/qemu-system-x86_64 \
|
||||||
|
--ovmf-binary ovmf/OVMF_CODE.secboot.fd \
|
||||||
|
--ovmf-template-vars ovmf/OVMF_VARS.fd \
|
||||||
|
--uefi-shell-iso ovmf/UefiShell.iso \
|
||||||
|
--skip-enrollment \
|
||||||
|
--print-output \
|
||||||
|
--no-download \
|
||||||
|
--kernel-path `rpm -ql kernel-core | grep "\/vmlinuz$" -m 1` \
|
||||||
|
ovmf/OVMF_VARS.secboot.fd
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
%install
|
||||||
|
cp CryptoPkg/Library/OpensslLib/openssl/LICENSE LICENSE.openssl
|
||||||
|
mkdir -p %{buildroot}%{_bindir} \
|
||||||
|
%{buildroot}%{_datadir}/%{name}/Conf \
|
||||||
|
%{buildroot}%{_datadir}/%{name}/Scripts
|
||||||
|
install BaseTools/Source/C/bin/* \
|
||||||
|
%{buildroot}%{_bindir}
|
||||||
|
install BaseTools/BinWrappers/PosixLike/LzmaF86Compress \
|
||||||
|
%{buildroot}%{_bindir}
|
||||||
|
install BaseTools/BuildEnv \
|
||||||
|
%{buildroot}%{_datadir}/%{name}
|
||||||
|
install BaseTools/Conf/*.template \
|
||||||
|
%{buildroot}%{_datadir}/%{name}/Conf
|
||||||
|
install BaseTools/Scripts/GccBase.lds \
|
||||||
|
%{buildroot}%{_datadir}/%{name}/Scripts
|
||||||
|
|
||||||
|
cp -R BaseTools/Source/Python %{buildroot}%{_datadir}/%{name}/Python
|
||||||
|
for i in build BPDG Ecc GenDepex GenFds GenPatchPcdTable PatchPcdValue TargetTool Trim UPT; do
|
||||||
|
echo '#!/bin/sh
|
||||||
|
export PYTHONPATH=%{_datadir}/%{name}/Python
|
||||||
|
exec python3 '%{_datadir}/%{name}/Python/$i/$i.py' "$@"' > %{buildroot}%{_bindir}/$i
|
||||||
|
chmod +x %{buildroot}%{_bindir}/$i
|
||||||
|
done
|
||||||
|
|
||||||
|
# For distro-provided firmware packages, the specification
|
||||||
|
# (https://git.qemu.org/?p=qemu.git;a=blob;f=docs/interop/firmware.json)
|
||||||
|
# says the JSON "descriptor files" to be searched in this directory:
|
||||||
|
# `/usr/share/firmware/`. Create it.
|
||||||
|
mkdir -p %{buildroot}/%{_datadir}/qemu/firmware
|
||||||
|
|
||||||
|
mkdir -p %{buildroot}/usr/share/%{name}
|
||||||
|
%if 0%{?build_ovmf_x64:1}
|
||||||
|
cp -a ovmf %{buildroot}/usr/share/%{name}
|
||||||
|
# Libvirt hardcodes this directory name
|
||||||
|
mkdir %{buildroot}/usr/share/OVMF
|
||||||
|
ln -sf ../%{name}/ovmf/OVMF_CODE.fd %{buildroot}/usr/share/OVMF
|
||||||
|
ln -sf ../%{name}/ovmf/OVMF_CODE.secboot.fd %{buildroot}/usr/share/OVMF
|
||||||
|
ln -sf ../%{name}/ovmf/OVMF_VARS.fd %{buildroot}/usr/share/OVMF
|
||||||
|
ln -sf ../%{name}/ovmf/OVMF_VARS.secboot.fd %{buildroot}/usr/share/OVMF
|
||||||
|
ln -sf ../%{name}/ovmf/UefiShell.iso %{buildroot}/usr/share/OVMF
|
||||||
|
|
||||||
|
for f in %{_sourcedir}/*edk2-ovmf-x64*.json; do
|
||||||
|
install -pm 644 $f %{buildroot}/%{_datadir}/qemu/firmware
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?build_ovmf_ia32:1}
|
||||||
|
cp -a ovmf-ia32 %{buildroot}/usr/share/%{name}
|
||||||
|
|
||||||
|
for f in %{_sourcedir}/*edk2-ovmf-ia32*.json; do
|
||||||
|
install -pm 644 $f %{buildroot}/%{_datadir}/qemu/firmware
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?build_aavmf_aarch64:1}
|
||||||
|
cp -a aarch64 %{buildroot}/usr/share/%{name}
|
||||||
|
# Libvirt hardcodes this directory name
|
||||||
|
mkdir %{buildroot}/usr/share/AAVMF
|
||||||
|
ln -sf ../%{name}/aarch64/QEMU_EFI-pflash.raw %{buildroot}/usr/share/AAVMF/AAVMF_CODE.fd
|
||||||
|
ln -sf ../%{name}/aarch64/vars-template-pflash.raw %{buildroot}/usr/share/AAVMF/AAVMF_VARS.fd
|
||||||
|
|
||||||
|
for f in %{_sourcedir}/*edk2-aarch64*.json; do
|
||||||
|
install -pm 644 $f %{buildroot}/%{_datadir}/qemu/firmware
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%if 0%{?build_aavmf_arm:1}
|
||||||
|
cp -a arm %{buildroot}/usr/share/%{name}
|
||||||
|
ln -sf ../%{name}/arm/QEMU_EFI-pflash.raw %{buildroot}/usr/share/AAVMF/AAVMF32_CODE.fd
|
||||||
|
|
||||||
|
for f in %{_sourcedir}/*edk2-arm*.json; do
|
||||||
|
install -pm 644 $f %{buildroot}/%{_datadir}/qemu/firmware
|
||||||
|
done
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?py_byte_compile:1}
|
||||||
|
# https://docs.fedoraproject.org/en-US/packaging-guidelines/Python_Appendix/#manual-bytecompilation
|
||||||
|
%py_byte_compile %{python3} %{buildroot}%{_datadir}/edk2/Python
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
install qemu-ovmf-secureboot-%{qosb_version}/ovmf-vars-generator %{buildroot}%{_bindir}
|
||||||
|
|
||||||
|
|
||||||
|
%files tools
|
||||||
|
%license License.txt
|
||||||
|
%license LICENSE.openssl
|
||||||
|
%{_bindir}/DevicePath
|
||||||
|
%{_bindir}/EfiRom
|
||||||
|
%{_bindir}/GenCrc32
|
||||||
|
%{_bindir}/GenFfs
|
||||||
|
%{_bindir}/GenFv
|
||||||
|
%{_bindir}/GenFw
|
||||||
|
%{_bindir}/GenSec
|
||||||
|
%{_bindir}/LzmaCompress
|
||||||
|
%{_bindir}/LzmaF86Compress
|
||||||
|
%{_bindir}/Split
|
||||||
|
%{_bindir}/TianoCompress
|
||||||
|
%{_bindir}/VfrCompile
|
||||||
|
%{_bindir}/VolInfo
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%{_datadir}/%{name}/BuildEnv
|
||||||
|
%{_datadir}/%{name}/Conf
|
||||||
|
%{_datadir}/%{name}/Scripts
|
||||||
|
|
||||||
|
%files tools-python
|
||||||
|
%{_bindir}/build
|
||||||
|
%{_bindir}/BPDG
|
||||||
|
%{_bindir}/Ecc
|
||||||
|
%{_bindir}/GenDepex
|
||||||
|
%{_bindir}/GenFds
|
||||||
|
%{_bindir}/GenPatchPcdTable
|
||||||
|
%{_bindir}/PatchPcdValue
|
||||||
|
%{_bindir}/TargetTool
|
||||||
|
%{_bindir}/Trim
|
||||||
|
%{_bindir}/UPT
|
||||||
|
%dir %{_datadir}/%{name}
|
||||||
|
%{_datadir}/%{name}/Python
|
||||||
|
|
||||||
|
%files tools-doc
|
||||||
|
%doc BaseTools/UserManuals/*.rtf
|
||||||
|
|
||||||
|
%files qosb
|
||||||
|
%license LICENSE.qosb
|
||||||
|
%doc README.qosb
|
||||||
|
%{_bindir}/ovmf-vars-generator
|
||||||
|
|
||||||
|
%if 0%{?build_ovmf_x64:1}
|
||||||
|
%files ovmf
|
||||||
|
%license OvmfPkg/License.txt
|
||||||
|
%license LICENSE.openssl
|
||||||
|
%doc OvmfPkg/README
|
||||||
|
%doc ovmf-whitepaper-c770f8c.txt
|
||||||
|
%dir /usr/share/%{name}
|
||||||
|
%dir /usr/share/%{name}/ovmf
|
||||||
|
%dir /usr/share/qemu/firmware
|
||||||
|
/usr/share/%{name}/ovmf/OVMF*.fd
|
||||||
|
/usr/share/%{name}/ovmf/*.efi
|
||||||
|
/usr/share/%{name}/ovmf/*.iso
|
||||||
|
/usr/share/qemu/firmware/*edk2-ovmf-x64*.json
|
||||||
|
/usr/share/OVMF
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?build_ovmf_ia32:1}
|
||||||
|
%files ovmf-ia32
|
||||||
|
%license OvmfPkg/License.txt
|
||||||
|
%license LICENSE.openssl
|
||||||
|
%doc OvmfPkg/README
|
||||||
|
%doc ovmf-whitepaper-c770f8c.txt
|
||||||
|
%dir /usr/share/%{name}
|
||||||
|
%dir /usr/share/%{name}/ovmf-ia32
|
||||||
|
%dir /usr/share/qemu/firmware
|
||||||
|
/usr/share/%{name}/ovmf-ia32/OVMF*.fd
|
||||||
|
/usr/share/%{name}/ovmf-ia32/*.efi
|
||||||
|
/usr/share/%{name}/ovmf-ia32/*.iso
|
||||||
|
/usr/share/qemu/firmware/*edk2-ovmf-ia32*.json
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?build_aavmf_aarch64:1}
|
||||||
|
%files aarch64
|
||||||
|
%license OvmfPkg/License.txt
|
||||||
|
%license LICENSE.openssl
|
||||||
|
%dir /usr/share/%{name}
|
||||||
|
%dir /usr/share/%{name}/aarch64
|
||||||
|
%dir /usr/share/qemu/firmware
|
||||||
|
/usr/share/%{name}/aarch64/QEMU*.fd
|
||||||
|
/usr/share/%{name}/aarch64/*.raw
|
||||||
|
/usr/share/qemu/firmware/*edk2-aarch64*.json
|
||||||
|
/usr/share/AAVMF/AAVMF_*
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?build_aavmf_arm:1}
|
||||||
|
%files arm
|
||||||
|
%license OvmfPkg/License.txt
|
||||||
|
%license LICENSE.openssl
|
||||||
|
%dir /usr/share/%{name}
|
||||||
|
%dir /usr/share/%{name}/arm
|
||||||
|
%dir /usr/share/qemu/firmware
|
||||||
|
/usr/share/%{name}/arm/QEMU*.fd
|
||||||
|
/usr/share/%{name}/arm/*.raw
|
||||||
|
/usr/share/qemu/firmware/*edk2-arm*.json
|
||||||
|
/usr/share/AAVMF/AAVMF32_*
|
||||||
|
%endif
|
||||||
|
|
||||||
|
|
||||||
|
%changelog
|
||||||
|
* 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.
|
40
hobble-openssl
Executable file
40
hobble-openssl
Executable file
@ -0,0 +1,40 @@
|
|||||||
|
#!/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: ????????? ??/??/2017 - expired, we do not remove it anymore
|
||||||
|
|
||||||
|
# Remove assembler portions of IDEA, MDC2, and RC5.
|
||||||
|
# (find crypto/rc5/asm -type f | xargs -r rm -fv)
|
||||||
|
|
||||||
|
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"`; do
|
||||||
|
echo Destroying $c
|
||||||
|
> $c
|
||||||
|
done
|
||||||
|
|
||||||
|
for c in `find test -name "ectest.c"`; do
|
||||||
|
echo Destroying $c
|
||||||
|
> $c
|
||||||
|
done
|
||||||
|
|
||||||
|
for h in `find crypto ssl apps test -name "*.h"` ; do
|
||||||
|
echo Removing EC2M references from $h
|
||||||
|
cat $h | \
|
||||||
|
awk 'BEGIN {ech=1;} \
|
||||||
|
/^#[ \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
|
63
openssl-patch-to-tarball.sh
Normal file
63
openssl-patch-to-tarball.sh
Normal file
@ -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}
|
2422
ovmf-whitepaper-c770f8c.txt
Normal file
2422
ovmf-whitepaper-c770f8c.txt
Normal file
File diff suppressed because it is too large
Load Diff
4
sources
Normal file
4
sources
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
SHA512 (softfloat-20180726-gitb64af41.tar.xz) = f079debd1bfcc0fe64329a8947b0689ef49246793edcdd28a2879f6550c652b0cf0f53ac4f6f5ab61ac4f7933972e0019d0ab63eb9931b6884c2909f3a5ead30
|
||||||
|
SHA512 (qemu-ovmf-secureboot-20190521-gitf158f12.tar.xz) = 4dde79864996398cc8cc39cdf859c1ca64ca0d360b0e5e41af9d9f054d36e1c4999e4324c5140a7329bec9b8d131e773ab8ebc28aba8d3f9f63c25517ee9221a
|
||||||
|
SHA512 (edk2-stable202008.tar.gz) = c32340104f27b9b85f79e934cc9eeb739d47b01e13975c88f39b053e9bc5a1ecfe579ab3b63fc7747cc328e104b337b53d41deb4470c3f20dbbd5552173a4666
|
||||||
|
SHA512 (openssl-1.1.1g-hobbled.tar.xz) = 7cd351d8fd4a028edcdc6804d8b73af7ff5693ab96cafd4f9252534d4e8e9000e22aefa45f51db490da52d89f4e5b41d02452be0b516fbb0fe84e36d5ca54971
|
54
update-tarball.sh
Normal file
54
update-tarball.sh
Normal file
@ -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
Block a user