- Update to latest git.
- Add firmware builds (FatPkg is free now).
This commit is contained in:
parent
50ee765775
commit
b0c3affe64
2
.gitignore
vendored
2
.gitignore
vendored
@ -5,3 +5,5 @@
|
||||
/edk2-buildtools-r2670.tar.xz
|
||||
/edk2-buildtools-r17469.tar.xz
|
||||
/edk2-buildtools-r18975.tar.xz
|
||||
/edk2-20160418-a8c39ba.tar.gz
|
||||
/openssl-1.0.2g.tar.gz
|
||||
|
@ -1,137 +0,0 @@
|
||||
From eb58c41d497a229f4412d9afd212978943d12c0e Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Sun, 14 Feb 2016 08:17:16 +0100
|
||||
Subject: [PATCH] BaseTools: LzmaCompress: eliminate _maxMode and bogus
|
||||
indentation
|
||||
|
||||
The "_maxMode" variable doesn't exist in edk2's variant of LzmaCompress,
|
||||
but the way one of the old uses of the variable is commented out (i.e.,
|
||||
together with the enclosing "if" statement) triggers the
|
||||
"misleading-indentation" warning that is new in gcc-6.0, for the block of
|
||||
code that originally depended on the "if" statement. Gcc believes
|
||||
(mistakenly) that the programmer believes (mistakenly) that the block
|
||||
depends on (repIndex == 0) higher up.
|
||||
|
||||
Remove the commented out uses of "_maxMode", and unindent the block in
|
||||
question.
|
||||
|
||||
This patch is best viewed with "git show -b".
|
||||
|
||||
Cc: Cole Robinson <crobinso@redhat.com>
|
||||
Cc: Yonghong Zhu <yonghong.zhu@intel.com>
|
||||
Cc: Liming Gao <liming.gao@intel.com>
|
||||
Reported-by: Cole Robinson <crobinso@redhat.com>
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
---
|
||||
BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c | 81 ++++++++++----------
|
||||
1 file changed, 40 insertions(+), 41 deletions(-)
|
||||
|
||||
diff --git a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
|
||||
index 9b2dd16ffa48..1eb9898b5291 100644
|
||||
--- a/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
|
||||
+++ b/BaseTools/Source/C/LzmaCompress/Sdk/C/LzmaEnc.c
|
||||
@@ -1367,52 +1367,51 @@ static UInt32 GetOptimum(CLzmaEnc *p, UInt32 position, UInt32 *backRes)
|
||||
if (repIndex == 0)
|
||||
startLen = lenTest + 1;
|
||||
|
||||
- /* if (_maxMode) */
|
||||
+ {
|
||||
+ UInt32 lenTest2 = lenTest + 1;
|
||||
+ UInt32 limit = lenTest2 + p->numFastBytes;
|
||||
+ UInt32 nextRepMatchPrice;
|
||||
+ if (limit > numAvailFull)
|
||||
+ limit = numAvailFull;
|
||||
+ for (; lenTest2 < limit && data[lenTest2] == data2[lenTest2]; lenTest2++);
|
||||
+ lenTest2 -= lenTest + 1;
|
||||
+ if (lenTest2 >= 2)
|
||||
{
|
||||
- UInt32 lenTest2 = lenTest + 1;
|
||||
- UInt32 limit = lenTest2 + p->numFastBytes;
|
||||
- UInt32 nextRepMatchPrice;
|
||||
- if (limit > numAvailFull)
|
||||
- limit = numAvailFull;
|
||||
- for (; lenTest2 < limit && data[lenTest2] == data2[lenTest2]; lenTest2++);
|
||||
- lenTest2 -= lenTest + 1;
|
||||
- if (lenTest2 >= 2)
|
||||
+ UInt32 state2 = kRepNextStates[state];
|
||||
+ UInt32 posStateNext = (position + lenTest) & p->pbMask;
|
||||
+ UInt32 curAndLenCharPrice =
|
||||
+ price + p->repLenEnc.prices[posState][lenTest - 2] +
|
||||
+ GET_PRICE_0(p->isMatch[state2][posStateNext]) +
|
||||
+ LitEnc_GetPriceMatched(LIT_PROBS(position + lenTest, data[lenTest - 1]),
|
||||
+ data[lenTest], data2[lenTest], p->ProbPrices);
|
||||
+ state2 = kLiteralNextStates[state2];
|
||||
+ posStateNext = (position + lenTest + 1) & p->pbMask;
|
||||
+ nextRepMatchPrice = curAndLenCharPrice +
|
||||
+ GET_PRICE_1(p->isMatch[state2][posStateNext]) +
|
||||
+ GET_PRICE_1(p->isRep[state2]);
|
||||
+
|
||||
+ /* for (; lenTest2 >= 2; lenTest2--) */
|
||||
{
|
||||
- UInt32 state2 = kRepNextStates[state];
|
||||
- UInt32 posStateNext = (position + lenTest) & p->pbMask;
|
||||
- UInt32 curAndLenCharPrice =
|
||||
- price + p->repLenEnc.prices[posState][lenTest - 2] +
|
||||
- GET_PRICE_0(p->isMatch[state2][posStateNext]) +
|
||||
- LitEnc_GetPriceMatched(LIT_PROBS(position + lenTest, data[lenTest - 1]),
|
||||
- data[lenTest], data2[lenTest], p->ProbPrices);
|
||||
- state2 = kLiteralNextStates[state2];
|
||||
- posStateNext = (position + lenTest + 1) & p->pbMask;
|
||||
- nextRepMatchPrice = curAndLenCharPrice +
|
||||
- GET_PRICE_1(p->isMatch[state2][posStateNext]) +
|
||||
- GET_PRICE_1(p->isRep[state2]);
|
||||
-
|
||||
- /* for (; lenTest2 >= 2; lenTest2--) */
|
||||
+ UInt32 curAndLenPrice;
|
||||
+ COptimal *opt;
|
||||
+ UInt32 offset = cur + lenTest + 1 + lenTest2;
|
||||
+ while (lenEnd < offset)
|
||||
+ p->opt[++lenEnd].price = kInfinityPrice;
|
||||
+ curAndLenPrice = nextRepMatchPrice + GetRepPrice(p, 0, lenTest2, state2, posStateNext);
|
||||
+ opt = &p->opt[offset];
|
||||
+ if (curAndLenPrice < opt->price)
|
||||
{
|
||||
- UInt32 curAndLenPrice;
|
||||
- COptimal *opt;
|
||||
- UInt32 offset = cur + lenTest + 1 + lenTest2;
|
||||
- while (lenEnd < offset)
|
||||
- p->opt[++lenEnd].price = kInfinityPrice;
|
||||
- curAndLenPrice = nextRepMatchPrice + GetRepPrice(p, 0, lenTest2, state2, posStateNext);
|
||||
- opt = &p->opt[offset];
|
||||
- if (curAndLenPrice < opt->price)
|
||||
- {
|
||||
- opt->price = curAndLenPrice;
|
||||
- opt->posPrev = cur + lenTest + 1;
|
||||
- opt->backPrev = 0;
|
||||
- opt->prev1IsChar = True;
|
||||
- opt->prev2 = True;
|
||||
- opt->posPrev2 = cur;
|
||||
- opt->backPrev2 = repIndex;
|
||||
- }
|
||||
+ opt->price = curAndLenPrice;
|
||||
+ opt->posPrev = cur + lenTest + 1;
|
||||
+ opt->backPrev = 0;
|
||||
+ opt->prev1IsChar = True;
|
||||
+ opt->prev2 = True;
|
||||
+ opt->posPrev2 = cur;
|
||||
+ opt->backPrev2 = repIndex;
|
||||
}
|
||||
}
|
||||
}
|
||||
+ }
|
||||
}
|
||||
}
|
||||
/* for (UInt32 lenTest = 2; lenTest <= newLen; lenTest++) */
|
||||
@@ -1456,7 +1455,7 @@ static UInt32 GetOptimum(CLzmaEnc *p, UInt32 position, UInt32 *backRes)
|
||||
opt->prev1IsChar = False;
|
||||
}
|
||||
|
||||
- if (/*_maxMode && */lenTest == matches[offs])
|
||||
+ if (lenTest == matches[offs])
|
||||
{
|
||||
/* Try Match + Literal + Rep0 */
|
||||
const Byte *data2 = data - (curBack + 1);
|
||||
--
|
||||
1.8.3.1
|
||||
|
68
0001-EXCLUDE_SHELL_FROM_FD.patch
Normal file
68
0001-EXCLUDE_SHELL_FROM_FD.patch
Normal file
@ -0,0 +1,68 @@
|
||||
From 144ac2186d46a9a6cbf4d4174b6db1865d7de1d7 Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Thu, 18 Feb 2016 10:52:44 +0100
|
||||
Subject: [PATCH] EXCLUDE_SHELL_FROM_FD
|
||||
|
||||
---
|
||||
OvmfPkg/OvmfPkgIa32.fdf | 2 ++
|
||||
OvmfPkg/OvmfPkgIa32X64.fdf | 2 ++
|
||||
OvmfPkg/OvmfPkgX64.fdf | 2 ++
|
||||
3 files changed, 6 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
|
||||
index 93a51a5..9ae7982 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.fdf
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.fdf
|
||||
@@ -273,11 +273,13 @@ INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
|
||||
|
||||
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||
|
||||
+!ifndef $(EXCLUDE_SHELL_FROM_FD)
|
||||
!ifndef $(USE_OLD_SHELL)
|
||||
INF ShellPkg/Application/Shell/Shell.inf
|
||||
!else
|
||||
INF RuleOverride = BINARY EdkShellBinPkg/FullShell/FullShell.inf
|
||||
!endif
|
||||
+!endif
|
||||
|
||||
FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
|
||||
SECTION RAW = MdeModulePkg/Logo/Logo.bmp
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||
index aad16a6..f58f18a 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
|
||||
@@ -273,11 +273,13 @@ INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
|
||||
|
||||
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||
|
||||
+!ifndef $(EXCLUDE_SHELL_FROM_FD)
|
||||
!ifndef $(USE_OLD_SHELL)
|
||||
INF ShellPkg/Application/Shell/Shell.inf
|
||||
!else
|
||||
INF RuleOverride = BINARY USE = X64 EdkShellBinPkg/FullShell/FullShell.inf
|
||||
!endif
|
||||
+!endif
|
||||
|
||||
FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
|
||||
SECTION RAW = MdeModulePkg/Logo/Logo.bmp
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
|
||||
index 387b808..4e0c0ab 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.fdf
|
||||
+++ b/OvmfPkg/OvmfPkgX64.fdf
|
||||
@@ -273,11 +273,13 @@ INF MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf
|
||||
|
||||
INF FatPkg/EnhancedFatDxe/Fat.inf
|
||||
|
||||
+!ifndef $(EXCLUDE_SHELL_FROM_FD)
|
||||
!ifndef $(USE_OLD_SHELL)
|
||||
INF ShellPkg/Application/Shell/Shell.inf
|
||||
!else
|
||||
INF RuleOverride = BINARY EdkShellBinPkg/FullShell/FullShell.inf
|
||||
!endif
|
||||
+!endif
|
||||
|
||||
FILE FREEFORM = PCD(gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdLogoFile) {
|
||||
SECTION RAW = MdeModulePkg/Logo/Logo.bmp
|
||||
--
|
||||
1.8.3.1
|
||||
|
113
0001-MdeModulePkg-TerminalDxe-add-other-text-resolutions.patch
Normal file
113
0001-MdeModulePkg-TerminalDxe-add-other-text-resolutions.patch
Normal file
@ -0,0 +1,113 @@
|
||||
From c8e5617ebaaa8be91a32be48dcf3dc7157b00d2c 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():
|
||||
|
||||
(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():
|
||||
|
||||
(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) modes 2 and above come from "mTerminalConsoleModeData". This table
|
||||
currently only contains one mode, 100x31.
|
||||
|
||||
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.
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
---
|
||||
.../Universal/Console/TerminalDxe/Terminal.c | 37 +++++++++++++++++++++-
|
||||
1 file changed, 36 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
|
||||
index 6fde3b2..787bd35 100644
|
||||
--- a/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
|
||||
+++ b/MdeModulePkg/Universal/Console/TerminalDxe/Terminal.c
|
||||
@@ -103,7 +103,42 @@ TERMINAL_DEV mTerminalDevTemplate = {
|
||||
};
|
||||
|
||||
TERMINAL_CONSOLE_MODE_DATA mTerminalConsoleModeData[] = {
|
||||
- {100, 31},
|
||||
+ { 100, 25 }, // from graphics resolution 800 x 480
|
||||
+ { 100, 31 }, // from graphics resolution 800 x 600
|
||||
+ { 104, 32 }, // from graphics resolution 832 x 624
|
||||
+ { 120, 33 }, // from graphics resolution 960 x 640
|
||||
+ { 128, 31 }, // from graphics resolution 1024 x 600
|
||||
+ { 128, 40 }, // from graphics resolution 1024 x 768
|
||||
+ { 144, 45 }, // from graphics resolution 1152 x 864
|
||||
+ { 144, 45 }, // from graphics resolution 1152 x 870
|
||||
+ { 160, 37 }, // from graphics resolution 1280 x 720
|
||||
+ { 160, 40 }, // from graphics resolution 1280 x 760
|
||||
+ { 160, 40 }, // from graphics resolution 1280 x 768
|
||||
+ { 160, 42 }, // from graphics resolution 1280 x 800
|
||||
+ { 160, 50 }, // from graphics resolution 1280 x 960
|
||||
+ { 160, 53 }, // from graphics resolution 1280 x 1024
|
||||
+ { 170, 40 }, // from graphics resolution 1360 x 768
|
||||
+ { 170, 40 }, // from graphics resolution 1366 x 768
|
||||
+ { 175, 55 }, // from graphics resolution 1400 x 1050
|
||||
+ { 180, 47 }, // from graphics resolution 1440 x 900
|
||||
+ { 200, 47 }, // from graphics resolution 1600 x 900
|
||||
+ { 200, 63 }, // from graphics resolution 1600 x 1200
|
||||
+ { 210, 55 }, // from graphics resolution 1680 x 1050
|
||||
+ { 240, 56 }, // from graphics resolution 1920 x 1080
|
||||
+ { 240, 63 }, // from graphics resolution 1920 x 1200
|
||||
+ { 240, 75 }, // from graphics resolution 1920 x 1440
|
||||
+ { 250, 105 }, // from graphics resolution 2000 x 2000
|
||||
+ { 256, 80 }, // from graphics resolution 2048 x 1536
|
||||
+ { 256, 107 }, // from graphics resolution 2048 x 2048
|
||||
+ { 320, 75 }, // from graphics resolution 2560 x 1440
|
||||
+ { 320, 84 }, // from graphics resolution 2560 x 1600
|
||||
+ { 320, 107 }, // from graphics resolution 2560 x 2048
|
||||
+ { 350, 110 }, // from graphics resolution 2800 x 2100
|
||||
+ { 400, 126 }, // from graphics resolution 3200 x 2400
|
||||
+ { 480, 113 }, // from graphics resolution 3840 x 2160
|
||||
+ { 512, 113 }, // from graphics resolution 4096 x 2160
|
||||
+ { 960, 227 }, // from graphics resolution 7680 x 4320
|
||||
+ { 1024, 227 }, // from graphics resolution 8192 x 4320
|
||||
//
|
||||
// New modes can be added here.
|
||||
//
|
||||
--
|
||||
1.8.3.1
|
||||
|
1126
0001-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch
Normal file
1126
0001-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch
Normal file
File diff suppressed because it is too large
Load Diff
1084
0001-OvmfPkg-SmbiosPlatformDxe-install-legacy-QEMU-tables.patch
Normal file
1084
0001-OvmfPkg-SmbiosPlatformDxe-install-legacy-QEMU-tables.patch
Normal file
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,68 @@
|
||||
From dd48ac51d1df4f718b4401b188d2824aebcc341c Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 26 Nov 2014 16:32:06 +0100
|
||||
Subject: [PATCH] OvmfPkg: disable multi-processor support for boot time
|
||||
|
||||
We have no useful workload for APs, so let's not start them up, because
|
||||
they would spin indefinitely until ExitBootServices().
|
||||
|
||||
Setting gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber to 1
|
||||
causes InitializeMpSupport() in "UefiCpuPkg/CpuDxe/CpuMp.c" to return
|
||||
early.
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
---
|
||||
OvmfPkg/OvmfPkgIa32.dsc | 4 ++++
|
||||
OvmfPkg/OvmfPkgIa32X64.dsc | 4 ++++
|
||||
OvmfPkg/OvmfPkgX64.dsc | 4 ++++
|
||||
3 files changed, 12 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
index 6598102..1730812 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -329,6 +329,10 @@
|
||||
# IRQs 5, 9, 10, 11 are level-triggered
|
||||
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
|
||||
|
||||
+ # We have no useful workload for APs, so let's not start them up, because
|
||||
+ # they would spin indefinitely until ExitBootServices().
|
||||
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|1
|
||||
+
|
||||
################################################################################
|
||||
#
|
||||
# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index 4de961f..370ae50 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -335,6 +335,10 @@
|
||||
# IRQs 5, 9, 10, 11 are level-triggered
|
||||
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
|
||||
|
||||
+ # We have no useful workload for APs, so let's not start them up, because
|
||||
+ # they would spin indefinitely until ExitBootServices().
|
||||
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|1
|
||||
+
|
||||
################################################################################
|
||||
#
|
||||
# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||
index 6c38081..175d5f4 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -334,6 +334,10 @@
|
||||
# IRQs 5, 9, 10, 11 are level-triggered
|
||||
gPcAtChipsetPkgTokenSpaceGuid.Pcd8259LegacyModeEdgeLevel|0x0E20
|
||||
|
||||
+ # We have no useful workload for APs, so let's not start them up, because
|
||||
+ # they would spin indefinitely until ExitBootServices().
|
||||
+ gUefiCpuPkgTokenSpaceGuid.PcdCpuMaxLogicalProcessorNumber|1
|
||||
+
|
||||
################################################################################
|
||||
#
|
||||
# Pcd Dynamic Section - list of all EDK II PCD Entries defined by this Platform
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,68 @@
|
||||
From 4475c02d63dda9e2da4c663593491a01ae8c6b5a Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 27 Jan 2016 03:05:18 +0100
|
||||
Subject: [PATCH 1/5] 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>
|
||||
---
|
||||
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 0206dda..36d3aaa 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -593,7 +593,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 06fe141..c05a90a 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -602,7 +602,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 e88e70d..eb3ad3f 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -600,7 +600,10 @@
|
||||
OvmfPkg/SataControllerDxe/SataControllerDxe.inf
|
||||
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf
|
||||
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf
|
||||
- MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf
|
||||
+ MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf {
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ }
|
||||
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf
|
||||
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf
|
||||
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf
|
||||
--
|
||||
1.8.3.1
|
||||
|
25
0001-pick-up-any-display-device-not-only-vga.patch
Normal file
25
0001-pick-up-any-display-device-not-only-vga.patch
Normal file
@ -0,0 +1,25 @@
|
||||
From 71de9d92e78ae0a7c351f9daf84109bbbaca400a Mon Sep 17 00:00:00 2001
|
||||
From: Gerd Hoffmann <kraxel@redhat.com>
|
||||
Date: Thu, 13 Mar 2014 08:08:41 +0100
|
||||
Subject: [PATCH] pick up any display device, not only vga
|
||||
|
||||
---
|
||||
OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c b/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c
|
||||
index ab9c93e..d3f5908 100644
|
||||
--- a/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c
|
||||
+++ b/OvmfPkg/Library/PlatformBdsLib/BdsPlatform.c
|
||||
@@ -593,7 +593,7 @@ DetectAndPreparePlatformPciDevicePath (
|
||||
//
|
||||
// Here we decide which VGA device to enable in PCI bus
|
||||
//
|
||||
- if (IS_PCI_VGA (Pci)) {
|
||||
+ if (IS_PCI_DISPLAY (Pci)) {
|
||||
//
|
||||
// Add them to ConOut.
|
||||
//
|
||||
--
|
||||
1.8.3.1
|
||||
|
272
0002-OvmfPkg-SmbiosPlatformDxe-install-patch-default-lega.patch
Normal file
272
0002-OvmfPkg-SmbiosPlatformDxe-install-patch-default-lega.patch
Normal file
@ -0,0 +1,272 @@
|
||||
From 26146b77f6d54c44fbb984bacf8bf31683e8d477 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 5 Jun 2013 10:25:13 +0200
|
||||
Subject: [PATCH 2/3] OvmfPkg/SmbiosPlatformDxe: install+patch default legacy
|
||||
type0 table (X86)
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
---
|
||||
OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c | 5 +-
|
||||
OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h | 30 ++++
|
||||
OvmfPkg/SmbiosPlatformDxe/QemuType0.c | 180 ++++++++++++++++++++++++
|
||||
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 1 +
|
||||
4 files changed, 215 insertions(+), 1 deletion(-)
|
||||
create mode 100644 OvmfPkg/SmbiosPlatformDxe/QemuType0.c
|
||||
|
||||
diff --git a/OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c b/OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c
|
||||
index 9c57558..ed75a01 100644
|
||||
--- a/OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c
|
||||
+++ b/OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c
|
||||
@@ -628,7 +628,10 @@ InstallDefaultTables (
|
||||
IN OUT BUILD_CONTEXT *Context
|
||||
)
|
||||
{
|
||||
- return EFI_SUCCESS;
|
||||
+ EFI_STATUS Status;
|
||||
+
|
||||
+ Status = InstallSmbiosType0 (Smbios, ProducerHandle, Context);
|
||||
+ return Status;
|
||||
}
|
||||
|
||||
|
||||
diff --git a/OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h b/OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h
|
||||
index 8613407..ca776b5 100644
|
||||
--- a/OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h
|
||||
+++ b/OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h
|
||||
@@ -218,4 +218,34 @@ PatchSmbiosUnformatted (
|
||||
IN UINT8 *TableBase
|
||||
);
|
||||
|
||||
+
|
||||
+/**
|
||||
+ Install default (fallback) table for SMBIOS Type 0.
|
||||
+
|
||||
+ In case QEMU has provided no Type 0 SMBIOS table in whole, prepare one here,
|
||||
+ patch it with any referring saved patches, and install it.
|
||||
+
|
||||
+ @param[in] Smbios The EFI_SMBIOS_PROTOCOL instance used for
|
||||
+ installing SMBIOS tables.
|
||||
+ @param[in] ProducerHandle Passed on to Smbios->Add(), ProducerHandle
|
||||
+ tracks the origin of installed SMBIOS tables.
|
||||
+ @param[in,out] Context The BUILD_CONTEXT object tracking installed
|
||||
+ tables and saved patches.
|
||||
+
|
||||
+ @retval EFI_SUCCESS A Type 0 table has already been installed from the
|
||||
+ SMBIOS firmware configuration blob.
|
||||
+ @retval EFI_SUCCESS No Type 0 table was installed previously, and installing
|
||||
+ the default here has succeeded.
|
||||
+ @return Error codes from the PATCH_FORMATTED() and
|
||||
+ PATCH_UNFORMATTED() macros, except EFI_NOT_FOUND, which
|
||||
+ is only an informative result of theirs.
|
||||
+**/
|
||||
+EFI_STATUS
|
||||
+EFIAPI
|
||||
+InstallSmbiosType0 (
|
||||
+ IN EFI_SMBIOS_PROTOCOL *Smbios,
|
||||
+ IN EFI_HANDLE ProducerHandle,
|
||||
+ IN OUT BUILD_CONTEXT *Context
|
||||
+ );
|
||||
+
|
||||
#endif
|
||||
diff --git a/OvmfPkg/SmbiosPlatformDxe/QemuType0.c b/OvmfPkg/SmbiosPlatformDxe/QemuType0.c
|
||||
new file mode 100644
|
||||
index 0000000..9ec5d76
|
||||
--- /dev/null
|
||||
+++ b/OvmfPkg/SmbiosPlatformDxe/QemuType0.c
|
||||
@@ -0,0 +1,180 @@
|
||||
+/** @file
|
||||
+ Install the default Type 0 SMBIOS table if QEMU doesn't provide one through
|
||||
+ the firmware configuration interface.
|
||||
+
|
||||
+ Copyright (C) 2013, Red Hat, Inc.
|
||||
+
|
||||
+ 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 "QemuLegacyInternal.h"
|
||||
+
|
||||
+
|
||||
+//
|
||||
+// Text strings (unformatted area) for the default Tpe 0 SMBIOS table.
|
||||
+//
|
||||
+// All possible strings must be provided because Smbios->UpdateString() can
|
||||
+// only update existing strings, it can't introduce new ones.
|
||||
+//
|
||||
+#define OVMF_TYPE0_STRINGS \
|
||||
+ "EFI Development Kit II / OVMF\0" /* Vendor */ \
|
||||
+ "0.1\0" /* BiosVersion */ \
|
||||
+ "06/03/2013\0" /* BiosReleaseDate */
|
||||
+
|
||||
+
|
||||
+//
|
||||
+// Type definition and contents of the default Type 0 SMBIOS table.
|
||||
+//
|
||||
+#pragma pack(1)
|
||||
+OVMF_SMBIOS (0);
|
||||
+#pragma pack()
|
||||
+
|
||||
+STATIC CONST OVMF_TYPE0 mOvmfType0 = {
|
||||
+ {
|
||||
+ // SMBIOS_STRUCTURE Hdr
|
||||
+ {
|
||||
+ EFI_SMBIOS_TYPE_BIOS_INFORMATION, // UINT8 Type
|
||||
+ sizeof (SMBIOS_TABLE_TYPE0) // UINT8 Length
|
||||
+ },
|
||||
+ 1, // SMBIOS_TABLE_STRING Vendor
|
||||
+ 2, // SMBIOS_TABLE_STRING BiosVersion
|
||||
+ 0xE800,// UINT16 BiosSegment
|
||||
+ 3, // SMBIOS_TABLE_STRING BiosReleaseDate
|
||||
+ 0, // UINT8 BiosSize
|
||||
+ { 0 }, // MISC_BIOS_CHARACTERISTICS BiosCharacteristics
|
||||
+ { 0 }, // UINT8 BIOSCharacteristicsExtensionBytes[2]
|
||||
+ 0, // UINT8 SystemBiosMajorRelease
|
||||
+ 1, // UINT8 SystemBiosMinorRelease
|
||||
+ 0xFF, // UINT8 EmbeddedControllerFirmwareMajorRelease
|
||||
+ 0xFF // UINT8 EmbeddedControllerFirmwareMinorRelease
|
||||
+ },
|
||||
+ OVMF_TYPE0_STRINGS
|
||||
+};
|
||||
+
|
||||
+
|
||||
+/**
|
||||
+ Install default (fallback) table for SMBIOS Type 0.
|
||||
+
|
||||
+ In case QEMU has provided no Type 0 SMBIOS table in whole, prepare one here,
|
||||
+ patch it with any referring saved patches, and install it.
|
||||
+
|
||||
+ @param[in] Smbios The EFI_SMBIOS_PROTOCOL instance used for
|
||||
+ installing SMBIOS tables.
|
||||
+ @param[in] ProducerHandle Passed on to Smbios->Add(), ProducerHandle
|
||||
+ tracks the origin of installed SMBIOS tables.
|
||||
+ @param[in,out] Context The BUILD_CONTEXT object tracking installed
|
||||
+ tables and saved patches.
|
||||
+
|
||||
+ @retval EFI_SUCCESS A Type 0 table has already been installed from the
|
||||
+ SMBIOS firmware configuration blob.
|
||||
+ @retval EFI_SUCCESS No Type 0 table was installed previously, and installing
|
||||
+ the default here has succeeded.
|
||||
+ @return Error codes from the PATCH_FORMATTED() and
|
||||
+ PATCH_UNFORMATTED() macros, except EFI_NOT_FOUND, which
|
||||
+ is only an informative result of theirs.
|
||||
+**/
|
||||
+EFI_STATUS
|
||||
+EFIAPI
|
||||
+InstallSmbiosType0 (
|
||||
+ IN EFI_SMBIOS_PROTOCOL *Smbios,
|
||||
+ IN EFI_HANDLE ProducerHandle,
|
||||
+ IN OUT BUILD_CONTEXT *Context
|
||||
+ )
|
||||
+{
|
||||
+ TABLE_CONTEXT *Table;
|
||||
+ OVMF_TYPE0 OvmfType0;
|
||||
+ MISC_BIOS_CHARACTERISTICS_EXTENSION *Ext;
|
||||
+ EFI_STATUS Status;
|
||||
+ EFI_SMBIOS_HANDLE SmbiosHandle;
|
||||
+
|
||||
+ Table = &Context->Table[0];
|
||||
+ if (Table->Installed) {
|
||||
+ return EFI_SUCCESS;
|
||||
+ }
|
||||
+
|
||||
+ CopyMem (&OvmfType0, &mOvmfType0, sizeof OvmfType0);
|
||||
+ Ext = (VOID *) &OvmfType0.Base.BIOSCharacteristicsExtensionBytes[0];
|
||||
+
|
||||
+ OvmfType0.Base.BiosCharacteristics.BiosCharacteristicsNotSupported = 1;
|
||||
+ Ext->SystemReserved.UefiSpecificationSupported = 1;
|
||||
+ Ext->SystemReserved.VirtualMachineSupported = 1;
|
||||
+
|
||||
+ //
|
||||
+ // Default contents ready. Formatted fields must be patched before installing
|
||||
+ // the table, while strings in the unformatted area will be patched
|
||||
+ // afterwards.
|
||||
+ //
|
||||
+ Status = PATCH_FORMATTED (Context, 0, &OvmfType0, BiosSegment);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_FORMATTED (Context, 0, &OvmfType0, BiosSize);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_FORMATTED (Context, 0, &OvmfType0, BiosCharacteristics);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_FORMATTED (Context, 0, &OvmfType0,
|
||||
+ BIOSCharacteristicsExtensionBytes);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_FORMATTED (Context, 0, &OvmfType0, SystemBiosMajorRelease);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_FORMATTED (Context, 0, &OvmfType0, SystemBiosMinorRelease);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_FORMATTED (Context, 0, &OvmfType0,
|
||||
+ EmbeddedControllerFirmwareMajorRelease);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_FORMATTED (Context, 0, &OvmfType0,
|
||||
+ EmbeddedControllerFirmwareMinorRelease);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+
|
||||
+ //
|
||||
+ // Install SMBIOS table with patched formatted area and default strings.
|
||||
+ //
|
||||
+ SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
|
||||
+ Status = Smbios->Add (Smbios, ProducerHandle, &SmbiosHandle,
|
||||
+ (EFI_SMBIOS_TABLE_HEADER *) &OvmfType0);
|
||||
+ if (EFI_ERROR (Status)) {
|
||||
+ DEBUG ((DEBUG_ERROR, "%a: Smbios->Add(): %r\n", __FUNCTION__, Status));
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Table->Installed = TRUE;
|
||||
+
|
||||
+ //
|
||||
+ // Patch strings in the unformatted area of the installed table.
|
||||
+ //
|
||||
+ Status = PATCH_UNFORMATTED (Smbios, SmbiosHandle, Context, 0, &OvmfType0,
|
||||
+ Vendor);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_UNFORMATTED (Smbios, SmbiosHandle, Context, 0, &OvmfType0,
|
||||
+ BiosVersion);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_UNFORMATTED (Smbios, SmbiosHandle, Context, 0, &OvmfType0,
|
||||
+ BiosReleaseDate);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ return EFI_SUCCESS;
|
||||
+}
|
||||
diff --git a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
||||
index 8c9f43c..3483b9c 100644
|
||||
--- a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
||||
+++ b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
||||
@@ -37,6 +37,7 @@
|
||||
[Sources.IA32, Sources.X64]
|
||||
X86Xen.c
|
||||
QemuLegacy.c
|
||||
+ QemuType0.c
|
||||
|
||||
[Sources.ARM, Sources.AARCH64]
|
||||
ArmXen.c
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -0,0 +1,60 @@
|
||||
From c6e5bbe0378662620e736c82bcd0d08db42e5979 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 27 Jan 2016 03:05:18 +0100
|
||||
Subject: [PATCH 2/5] 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>
|
||||
---
|
||||
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 36d3aaa..bf64882 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -516,6 +516,8 @@
|
||||
<LibraryClasses>
|
||||
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
||||
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
}
|
||||
|
||||
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index c05a90a..345c8ce 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -525,6 +525,8 @@
|
||||
<LibraryClasses>
|
||||
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
||||
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
}
|
||||
|
||||
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||
index eb3ad3f..0e02ba8 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -523,6 +523,8 @@
|
||||
<LibraryClasses>
|
||||
NULL|IntelFrameworkModulePkg/Library/LzmaCustomDecompressLib/LzmaCustomDecompressLib.inf
|
||||
DevicePathLib|MdePkg/Library/UefiDevicePathLib/UefiDevicePathLib.inf
|
||||
+ <PcdsFixedAtBuild>
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
}
|
||||
|
||||
IntelFrameworkModulePkg/Universal/StatusCode/RuntimeDxe/StatusCodeRuntimeDxe.inf
|
||||
--
|
||||
1.8.3.1
|
||||
|
270
0003-OvmfPkg-SmbiosPlatformDxe-install-patch-default-lega.patch
Normal file
270
0003-OvmfPkg-SmbiosPlatformDxe-install-patch-default-lega.patch
Normal file
@ -0,0 +1,270 @@
|
||||
From 1b10131728dd1cff48ef1ce46820d89f21708852 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Wed, 5 Jun 2013 10:28:09 +0200
|
||||
Subject: [PATCH 3/3] OvmfPkg/SmbiosPlatformDxe: install+patch default legacy
|
||||
type1 table (X86)
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
|
||||
---
|
||||
OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c | 5 +
|
||||
OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h | 30 ++++
|
||||
OvmfPkg/SmbiosPlatformDxe/QemuType1.c | 178 ++++++++++++++++++++++++
|
||||
OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf | 1 +
|
||||
4 files changed, 214 insertions(+)
|
||||
create mode 100644 OvmfPkg/SmbiosPlatformDxe/QemuType1.c
|
||||
|
||||
diff --git a/OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c b/OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c
|
||||
index ed75a01..6507cc0 100644
|
||||
--- a/OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c
|
||||
+++ b/OvmfPkg/SmbiosPlatformDxe/QemuLegacy.c
|
||||
@@ -631,6 +631,11 @@ InstallDefaultTables (
|
||||
EFI_STATUS Status;
|
||||
|
||||
Status = InstallSmbiosType0 (Smbios, ProducerHandle, Context);
|
||||
+ if (EFI_ERROR (Status)) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+
|
||||
+ Status = InstallSmbiosType1 (Smbios, ProducerHandle, Context);
|
||||
return Status;
|
||||
}
|
||||
|
||||
diff --git a/OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h b/OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h
|
||||
index ca776b5..4a2e824 100644
|
||||
--- a/OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h
|
||||
+++ b/OvmfPkg/SmbiosPlatformDxe/QemuLegacyInternal.h
|
||||
@@ -248,4 +248,34 @@ InstallSmbiosType0 (
|
||||
IN OUT BUILD_CONTEXT *Context
|
||||
);
|
||||
|
||||
+
|
||||
+/**
|
||||
+ Install default (fallback) table for SMBIOS Type 1.
|
||||
+
|
||||
+ In case QEMU has provided no Type 1 SMBIOS table in whole, prepare one here,
|
||||
+ patch it with any referring saved patches, and install it.
|
||||
+
|
||||
+ @param[in] Smbios The EFI_SMBIOS_PROTOCOL instance used for
|
||||
+ installing SMBIOS tables.
|
||||
+ @param[in] ProducerHandle Passed on to Smbios->Add(), ProducerHandle
|
||||
+ tracks the origin of installed SMBIOS tables.
|
||||
+ @param[in,out] Context The BUILD_CONTEXT object tracking installed
|
||||
+ tables and saved patches.
|
||||
+
|
||||
+ @retval EFI_SUCCESS A Type 1 table has already been installed from the
|
||||
+ SMBIOS firmware configuration blob.
|
||||
+ @retval EFI_SUCCESS No Type 1 table was installed previously, and installing
|
||||
+ the default here has succeeded.
|
||||
+ @return Error codes from the PATCH_FORMATTED() and
|
||||
+ PATCH_UNFORMATTED() macros, except EFI_NOT_FOUND, which
|
||||
+ is only an informative result of theirs.
|
||||
+**/
|
||||
+EFI_STATUS
|
||||
+EFIAPI
|
||||
+InstallSmbiosType1 (
|
||||
+ IN EFI_SMBIOS_PROTOCOL *Smbios,
|
||||
+ IN EFI_HANDLE ProducerHandle,
|
||||
+ IN OUT BUILD_CONTEXT *Context
|
||||
+ );
|
||||
+
|
||||
#endif
|
||||
diff --git a/OvmfPkg/SmbiosPlatformDxe/QemuType1.c b/OvmfPkg/SmbiosPlatformDxe/QemuType1.c
|
||||
new file mode 100644
|
||||
index 0000000..ff48164
|
||||
--- /dev/null
|
||||
+++ b/OvmfPkg/SmbiosPlatformDxe/QemuType1.c
|
||||
@@ -0,0 +1,178 @@
|
||||
+/** @file
|
||||
+ Install the default Type 1 SMBIOS table if QEMU doesn't provide one through
|
||||
+ the firmware configuration interface.
|
||||
+
|
||||
+ Copyright (C) 2013, Red Hat, Inc.
|
||||
+
|
||||
+ 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 "QemuLegacyInternal.h"
|
||||
+
|
||||
+
|
||||
+//
|
||||
+// Text strings (unformatted area) for the default Tpe 1 SMBIOS table.
|
||||
+//
|
||||
+// All possible strings must be provided because Smbios->UpdateString() can
|
||||
+// only update existing strings, it can't introduce new ones.
|
||||
+//
|
||||
+#define OVMF_TYPE1_STRINGS \
|
||||
+ "QEMU\0" /* Manufacturer */ \
|
||||
+ "QEMU Virtual Machine\0" /* ProductName */ \
|
||||
+ "n/a\0" /* Version */ \
|
||||
+ "n/a\0" /* SerialNumber */ \
|
||||
+ "n/a\0" /* SKUNumber */ \
|
||||
+ "n/a\0" /* Family */
|
||||
+
|
||||
+
|
||||
+//
|
||||
+// Type definition and contents of the default Type 1 SMBIOS table.
|
||||
+//
|
||||
+#pragma pack(1)
|
||||
+OVMF_SMBIOS (1);
|
||||
+#pragma pack()
|
||||
+
|
||||
+STATIC CONST OVMF_TYPE1 mOvmfType1 = {
|
||||
+ {
|
||||
+ // SMBIOS_STRUCTURE Hdr
|
||||
+ {
|
||||
+ EFI_SMBIOS_TYPE_SYSTEM_INFORMATION, // UINT8 Type
|
||||
+ sizeof (SMBIOS_TABLE_TYPE1) // UINT8 Length
|
||||
+ },
|
||||
+ 1, // SMBIOS_TABLE_STRING Manufacturer
|
||||
+ 2, // SMBIOS_TABLE_STRING ProductName
|
||||
+ 3, // SMBIOS_TABLE_STRING Version
|
||||
+ 4, // SMBIOS_TABLE_STRING SerialNumber
|
||||
+ { 0 }, // GUID Uuid
|
||||
+ SystemWakeupTypePowerSwitch, // UINT8 WakeUpType
|
||||
+ 5, // SMBIOS_TABLE_STRING SKUNumber
|
||||
+ 6, // SMBIOS_TABLE_STRING Family
|
||||
+ },
|
||||
+ OVMF_TYPE1_STRINGS
|
||||
+};
|
||||
+
|
||||
+
|
||||
+/**
|
||||
+ Install default (fallback) table for SMBIOS Type 1.
|
||||
+
|
||||
+ In case QEMU has provided no Type 1 SMBIOS table in whole, prepare one here,
|
||||
+ patch it with any referring saved patches, and install it.
|
||||
+
|
||||
+ @param[in] Smbios The EFI_SMBIOS_PROTOCOL instance used for
|
||||
+ installing SMBIOS tables.
|
||||
+ @param[in] ProducerHandle Passed on to Smbios->Add(), ProducerHandle
|
||||
+ tracks the origin of installed SMBIOS tables.
|
||||
+ @param[in,out] Context The BUILD_CONTEXT object tracking installed
|
||||
+ tables and saved patches.
|
||||
+
|
||||
+ @retval EFI_SUCCESS A Type 1 table has already been installed from the
|
||||
+ SMBIOS firmware configuration blob.
|
||||
+ @retval EFI_SUCCESS No Type 1 table was installed previously, and installing
|
||||
+ the default here has succeeded.
|
||||
+ @return Error codes from the PATCH_FORMATTED() and
|
||||
+ PATCH_UNFORMATTED() macros, except EFI_NOT_FOUND, which
|
||||
+ is only an informative result of theirs.
|
||||
+**/
|
||||
+EFI_STATUS
|
||||
+EFIAPI
|
||||
+InstallSmbiosType1 (
|
||||
+ IN EFI_SMBIOS_PROTOCOL *Smbios,
|
||||
+ IN EFI_HANDLE ProducerHandle,
|
||||
+ IN OUT BUILD_CONTEXT *Context
|
||||
+ )
|
||||
+{
|
||||
+ TABLE_CONTEXT *Table;
|
||||
+ OVMF_TYPE1 OvmfType1;
|
||||
+ EFI_STATUS Status;
|
||||
+ EFI_SMBIOS_HANDLE SmbiosHandle;
|
||||
+
|
||||
+ Table = &Context->Table[1];
|
||||
+ if (Table->Installed) {
|
||||
+ return EFI_SUCCESS;
|
||||
+ }
|
||||
+
|
||||
+ CopyMem (&OvmfType1, &mOvmfType1, sizeof OvmfType1);
|
||||
+
|
||||
+ QemuFwCfgSelectItem (QemuFwCfgItemSystemUuid);
|
||||
+ OvmfType1.Base.Uuid.Data1 = SwapBytes32 (QemuFwCfgRead32 ());
|
||||
+ OvmfType1.Base.Uuid.Data2 = SwapBytes16 (QemuFwCfgRead16 ());
|
||||
+ OvmfType1.Base.Uuid.Data3 = SwapBytes16 (QemuFwCfgRead16 ());
|
||||
+ QemuFwCfgReadBytes (sizeof OvmfType1.Base.Uuid.Data4,
|
||||
+ &OvmfType1.Base.Uuid.Data4);
|
||||
+
|
||||
+ //
|
||||
+ // Default contents ready. Formatted fields must be patched before installing
|
||||
+ // the table, while strings in the unformatted area will be patched
|
||||
+ // afterwards.
|
||||
+ //
|
||||
+ Status = PATCH_FORMATTED (Context, 1, &OvmfType1, Uuid);
|
||||
+ switch (Status) {
|
||||
+ case EFI_NOT_FOUND:
|
||||
+ break;
|
||||
+ case EFI_SUCCESS:
|
||||
+ OvmfType1.Base.Uuid.Data1 = SwapBytes32 (OvmfType1.Base.Uuid.Data1);
|
||||
+ OvmfType1.Base.Uuid.Data2 = SwapBytes16 (OvmfType1.Base.Uuid.Data2);
|
||||
+ OvmfType1.Base.Uuid.Data3 = SwapBytes16 (OvmfType1.Base.Uuid.Data3);
|
||||
+ break;
|
||||
+ default:
|
||||
+ return Status;
|
||||
+ }
|
||||
+
|
||||
+ Status = PATCH_FORMATTED (Context, 1, &OvmfType1, WakeUpType);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+
|
||||
+ //
|
||||
+ // Install SMBIOS table with patched formatted area and default strings.
|
||||
+ //
|
||||
+ SmbiosHandle = SMBIOS_HANDLE_PI_RESERVED;
|
||||
+ Status = Smbios->Add (Smbios, ProducerHandle, &SmbiosHandle,
|
||||
+ (EFI_SMBIOS_TABLE_HEADER *) &OvmfType1);
|
||||
+ if (EFI_ERROR (Status)) {
|
||||
+ DEBUG ((DEBUG_ERROR, "%a: Smbios->Add(): %r\n", __FUNCTION__, Status));
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Table->Installed = TRUE;
|
||||
+
|
||||
+ //
|
||||
+ // Patch strings in the unformatted area of the installed table.
|
||||
+ //
|
||||
+ Status = PATCH_UNFORMATTED (Smbios, SmbiosHandle, Context, 1, &OvmfType1,
|
||||
+ Manufacturer);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_UNFORMATTED (Smbios, SmbiosHandle, Context, 1, &OvmfType1,
|
||||
+ ProductName);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_UNFORMATTED (Smbios, SmbiosHandle, Context, 1, &OvmfType1,
|
||||
+ Version);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_UNFORMATTED (Smbios, SmbiosHandle, Context, 1, &OvmfType1,
|
||||
+ SerialNumber);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_UNFORMATTED (Smbios, SmbiosHandle, Context, 1, &OvmfType1,
|
||||
+ SKUNumber);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ Status = PATCH_UNFORMATTED (Smbios, SmbiosHandle, Context, 1, &OvmfType1,
|
||||
+ Family);
|
||||
+ if (Status != EFI_NOT_FOUND && Status != EFI_SUCCESS) {
|
||||
+ return Status;
|
||||
+ }
|
||||
+ return EFI_SUCCESS;
|
||||
+}
|
||||
diff --git a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
||||
index 3483b9c..1f7dfca 100644
|
||||
--- a/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
||||
+++ b/OvmfPkg/SmbiosPlatformDxe/SmbiosPlatformDxe.inf
|
||||
@@ -38,6 +38,7 @@
|
||||
X86Xen.c
|
||||
QemuLegacy.c
|
||||
QemuType0.c
|
||||
+ QemuType1.c
|
||||
|
||||
[Sources.ARM, Sources.AARCH64]
|
||||
ArmXen.c
|
||||
--
|
||||
1.8.3.1
|
||||
|
56
0003-OvmfPkg-enable-DEBUG_VERBOSE.patch
Normal file
56
0003-OvmfPkg-enable-DEBUG_VERBOSE.patch
Normal file
@ -0,0 +1,56 @@
|
||||
From 214090228fb08f03737ba90d29e23dc7b2235614 Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Sun, 8 Jul 2012 14:26:07 +0200
|
||||
Subject: [PATCH 3/5] OvmfPkg: enable DEBUG_VERBOSE
|
||||
|
||||
Enable verbose debug logs.
|
||||
|
||||
Signed-off-by: Laszlo Ersek <lersek@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 bf64882..aaaaaa8 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32.dsc
|
||||
@@ -392,7 +392,7 @@
|
||||
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||
# // significantly impact boot performance
|
||||
# DEBUG_ERROR 0x80000000 // Error
|
||||
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||
|
||||
!ifdef $(SOURCE_DEBUG_ENABLE)
|
||||
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
index 345c8ce..b4545b3 100644
|
||||
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
|
||||
@@ -397,7 +397,7 @@
|
||||
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||
# // significantly impact boot performance
|
||||
# DEBUG_ERROR 0x80000000 // Error
|
||||
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||
|
||||
!ifdef $(SOURCE_DEBUG_ENABLE)
|
||||
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
|
||||
index 0e02ba8..1836c25 100644
|
||||
--- a/OvmfPkg/OvmfPkgX64.dsc
|
||||
+++ b/OvmfPkg/OvmfPkgX64.dsc
|
||||
@@ -397,7 +397,7 @@
|
||||
# DEBUG_VERBOSE 0x00400000 // Detailed debug messages that may
|
||||
# // significantly impact boot performance
|
||||
# DEBUG_ERROR 0x80000000 // Error
|
||||
- gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8000004F
|
||||
+ gEfiMdePkgTokenSpaceGuid.PcdDebugPrintErrorLevel|0x8040004F
|
||||
|
||||
!ifdef $(SOURCE_DEBUG_ENABLE)
|
||||
gEfiMdePkgTokenSpaceGuid.PcdDebugPropertyMask|0x17
|
||||
--
|
||||
1.8.3.1
|
||||
|
26
0004-OvmfPkg-increase-max-debug-message-length-to-512.patch
Normal file
26
0004-OvmfPkg-increase-max-debug-message-length-to-512.patch
Normal file
@ -0,0 +1,26 @@
|
||||
From f468bab8fa61f7b7d0b0149f374945eb549af16e Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Thu, 20 Feb 2014 22:54:45 +0100
|
||||
Subject: [PATCH 4/5] OvmfPkg: increase max debug message length to 512
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
---
|
||||
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 44850a9..b6927d0 100644
|
||||
--- a/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
|
||||
+++ b/OvmfPkg/Library/PlatformDebugLibIoPort/DebugLib.c
|
||||
@@ -27,7 +27,7 @@
|
||||
//
|
||||
// Define the maximum debug and assert message length that this library supports
|
||||
//
|
||||
-#define MAX_DEBUG_MESSAGE_LENGTH 0x100
|
||||
+#define MAX_DEBUG_MESSAGE_LENGTH 0x200
|
||||
|
||||
/**
|
||||
This constructor function does not have to do anything.
|
||||
--
|
||||
1.8.3.1
|
||||
|
524
0005-OvmfPkg-QemuVideoDxe-enable-debug-messages-in-VbeShi.patch
Normal file
524
0005-OvmfPkg-QemuVideoDxe-enable-debug-messages-in-VbeShi.patch
Normal file
@ -0,0 +1,524 @@
|
||||
From 82175ef201595d45a0959249a36f4ffd74047fdb Mon Sep 17 00:00:00 2001
|
||||
From: Laszlo Ersek <lersek@redhat.com>
|
||||
Date: Tue, 20 May 2014 23:41:56 +0200
|
||||
Subject: [PATCH 5/5] OvmfPkg: QemuVideoDxe: enable debug messages in VbeShim
|
||||
|
||||
Contributed-under: TianoCore Contribution Agreement 1.0
|
||||
---
|
||||
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 18fa920..9a185f2 100644
|
||||
--- a/OvmfPkg/QemuVideoDxe/VbeShim.asm
|
||||
+++ b/OvmfPkg/QemuVideoDxe/VbeShim.asm
|
||||
@@ -18,7 +18,7 @@
|
||||
;------------------------------------------------------------------------------
|
||||
|
||||
; enable this macro for debug messages
|
||||
-;%define DEBUG
|
||||
+%define DEBUG
|
||||
|
||||
%macro DebugLog 1
|
||||
%ifdef DEBUG
|
||||
diff --git a/OvmfPkg/QemuVideoDxe/VbeShim.h b/OvmfPkg/QemuVideoDxe/VbeShim.h
|
||||
index cc9b6e1..db37f1d 100644
|
||||
--- a/OvmfPkg/QemuVideoDxe/VbeShim.h
|
||||
+++ b/OvmfPkg/QemuVideoDxe/VbeShim.h
|
||||
@@ -517,185 +517,318 @@ STATIC CONST UINT8 mVbeShim[] = {
|
||||
/* 000001FE nop */ 0x90,
|
||||
/* 000001FF nop */ 0x90,
|
||||
/* 00000200 cmp ax,0x4f00 */ 0x3D, 0x00, 0x4F,
|
||||
- /* 00000203 jz 0x22d */ 0x74, 0x28,
|
||||
+ /* 00000203 jz 0x235 */ 0x74, 0x30,
|
||||
/* 00000205 cmp ax,0x4f01 */ 0x3D, 0x01, 0x4F,
|
||||
- /* 00000208 jz 0x245 */ 0x74, 0x3B,
|
||||
+ /* 00000208 jz 0x255 */ 0x74, 0x4B,
|
||||
/* 0000020A cmp ax,0x4f02 */ 0x3D, 0x02, 0x4F,
|
||||
- /* 0000020D jz 0x269 */ 0x74, 0x5A,
|
||||
+ /* 0000020D jz 0x289 */ 0x74, 0x7A,
|
||||
/* 0000020F cmp ax,0x4f03 */ 0x3D, 0x03, 0x4F,
|
||||
- /* 00000212 jz word 0x331 */ 0x0F, 0x84, 0x1B, 0x01,
|
||||
+ /* 00000212 jz word 0x361 */ 0x0F, 0x84, 0x4B, 0x01,
|
||||
/* 00000216 cmp ax,0x4f10 */ 0x3D, 0x10, 0x4F,
|
||||
- /* 00000219 jz word 0x336 */ 0x0F, 0x84, 0x19, 0x01,
|
||||
+ /* 00000219 jz word 0x36e */ 0x0F, 0x84, 0x51, 0x01,
|
||||
/* 0000021D cmp ax,0x4f15 */ 0x3D, 0x15, 0x4F,
|
||||
- /* 00000220 jz word 0x338 */ 0x0F, 0x84, 0x14, 0x01,
|
||||
+ /* 00000220 jz word 0x378 */ 0x0F, 0x84, 0x54, 0x01,
|
||||
/* 00000224 cmp ah,0x0 */ 0x80, 0xFC, 0x00,
|
||||
- /* 00000227 jz word 0x33a */ 0x0F, 0x84, 0x0F, 0x01,
|
||||
- /* 0000022B jmp short 0x22b */ 0xEB, 0xFE,
|
||||
- /* 0000022D push es */ 0x06,
|
||||
- /* 0000022E push di */ 0x57,
|
||||
- /* 0000022F push ds */ 0x1E,
|
||||
- /* 00000230 push si */ 0x56,
|
||||
- /* 00000231 push cx */ 0x51,
|
||||
- /* 00000232 push cs */ 0x0E,
|
||||
- /* 00000233 pop ds */ 0x1F,
|
||||
- /* 00000234 mov si,0x0 */ 0xBE, 0x00, 0x00,
|
||||
- /* 00000237 mov cx,0x100 */ 0xB9, 0x00, 0x01,
|
||||
- /* 0000023A cld */ 0xFC,
|
||||
- /* 0000023B rep movsb */ 0xF3, 0xA4,
|
||||
- /* 0000023D pop cx */ 0x59,
|
||||
- /* 0000023E pop si */ 0x5E,
|
||||
- /* 0000023F pop ds */ 0x1F,
|
||||
- /* 00000240 pop di */ 0x5F,
|
||||
- /* 00000241 pop es */ 0x07,
|
||||
- /* 00000242 jmp word 0x34c */ 0xE9, 0x07, 0x01,
|
||||
- /* 00000245 push es */ 0x06,
|
||||
- /* 00000246 push di */ 0x57,
|
||||
- /* 00000247 push ds */ 0x1E,
|
||||
- /* 00000248 push si */ 0x56,
|
||||
- /* 00000249 push cx */ 0x51,
|
||||
- /* 0000024A and cx,0xbfff */ 0x81, 0xE1, 0xFF, 0xBF,
|
||||
- /* 0000024E cmp cx,0xf1 */ 0x81, 0xF9, 0xF1, 0x00,
|
||||
- /* 00000252 jz 0x256 */ 0x74, 0x02,
|
||||
- /* 00000254 jmp short 0x22b */ 0xEB, 0xD5,
|
||||
- /* 00000256 push cs */ 0x0E,
|
||||
- /* 00000257 pop ds */ 0x1F,
|
||||
- /* 00000258 mov si,0x100 */ 0xBE, 0x00, 0x01,
|
||||
- /* 0000025B mov cx,0x100 */ 0xB9, 0x00, 0x01,
|
||||
- /* 0000025E cld */ 0xFC,
|
||||
- /* 0000025F rep movsb */ 0xF3, 0xA4,
|
||||
- /* 00000261 pop cx */ 0x59,
|
||||
- /* 00000262 pop si */ 0x5E,
|
||||
- /* 00000263 pop ds */ 0x1F,
|
||||
- /* 00000264 pop di */ 0x5F,
|
||||
- /* 00000265 pop es */ 0x07,
|
||||
- /* 00000266 jmp word 0x34c */ 0xE9, 0xE3, 0x00,
|
||||
- /* 00000269 push dx */ 0x52,
|
||||
- /* 0000026A push ax */ 0x50,
|
||||
- /* 0000026B cmp bx,0x40f1 */ 0x81, 0xFB, 0xF1, 0x40,
|
||||
- /* 0000026F jz 0x273 */ 0x74, 0x02,
|
||||
- /* 00000271 jmp short 0x22b */ 0xEB, 0xB8,
|
||||
- /* 00000273 mov dx,0x3c0 */ 0xBA, 0xC0, 0x03,
|
||||
- /* 00000276 mov al,0x20 */ 0xB0, 0x20,
|
||||
- /* 00000278 out dx,al */ 0xEE,
|
||||
- /* 00000279 push dx */ 0x52,
|
||||
- /* 0000027A push ax */ 0x50,
|
||||
- /* 0000027B mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 0000027E mov ax,0x4 */ 0xB8, 0x04, 0x00,
|
||||
- /* 00000281 out dx,ax */ 0xEF,
|
||||
- /* 00000282 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000285 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
- /* 00000288 out dx,ax */ 0xEF,
|
||||
- /* 00000289 pop ax */ 0x58,
|
||||
- /* 0000028A pop dx */ 0x5A,
|
||||
- /* 0000028B push dx */ 0x52,
|
||||
- /* 0000028C push ax */ 0x50,
|
||||
- /* 0000028D mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 00000290 mov ax,0x5 */ 0xB8, 0x05, 0x00,
|
||||
- /* 00000293 out dx,ax */ 0xEF,
|
||||
- /* 00000294 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000297 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
- /* 0000029A out dx,ax */ 0xEF,
|
||||
- /* 0000029B pop ax */ 0x58,
|
||||
- /* 0000029C pop dx */ 0x5A,
|
||||
- /* 0000029D push dx */ 0x52,
|
||||
- /* 0000029E push ax */ 0x50,
|
||||
- /* 0000029F mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002A2 mov ax,0x8 */ 0xB8, 0x08, 0x00,
|
||||
- /* 000002A5 out dx,ax */ 0xEF,
|
||||
- /* 000002A6 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002A9 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
- /* 000002AC out dx,ax */ 0xEF,
|
||||
- /* 000002AD pop ax */ 0x58,
|
||||
- /* 000002AE pop dx */ 0x5A,
|
||||
- /* 000002AF push dx */ 0x52,
|
||||
- /* 000002B0 push ax */ 0x50,
|
||||
- /* 000002B1 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002B4 mov ax,0x9 */ 0xB8, 0x09, 0x00,
|
||||
- /* 000002B7 out dx,ax */ 0xEF,
|
||||
- /* 000002B8 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002BB mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
- /* 000002BE out dx,ax */ 0xEF,
|
||||
- /* 000002BF pop ax */ 0x58,
|
||||
- /* 000002C0 pop dx */ 0x5A,
|
||||
- /* 000002C1 push dx */ 0x52,
|
||||
- /* 000002C2 push ax */ 0x50,
|
||||
- /* 000002C3 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002C6 mov ax,0x3 */ 0xB8, 0x03, 0x00,
|
||||
- /* 000002C9 out dx,ax */ 0xEF,
|
||||
- /* 000002CA mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002CD mov ax,0x20 */ 0xB8, 0x20, 0x00,
|
||||
- /* 000002D0 out dx,ax */ 0xEF,
|
||||
- /* 000002D1 pop ax */ 0x58,
|
||||
- /* 000002D2 pop dx */ 0x5A,
|
||||
- /* 000002D3 push dx */ 0x52,
|
||||
- /* 000002D4 push ax */ 0x50,
|
||||
- /* 000002D5 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002D8 mov ax,0x1 */ 0xB8, 0x01, 0x00,
|
||||
- /* 000002DB out dx,ax */ 0xEF,
|
||||
- /* 000002DC mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002DF mov ax,0x400 */ 0xB8, 0x00, 0x04,
|
||||
- /* 000002E2 out dx,ax */ 0xEF,
|
||||
- /* 000002E3 pop ax */ 0x58,
|
||||
- /* 000002E4 pop dx */ 0x5A,
|
||||
- /* 000002E5 push dx */ 0x52,
|
||||
- /* 000002E6 push ax */ 0x50,
|
||||
- /* 000002E7 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002EA mov ax,0x6 */ 0xB8, 0x06, 0x00,
|
||||
- /* 000002ED out dx,ax */ 0xEF,
|
||||
- /* 000002EE mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 000002F1 mov ax,0x400 */ 0xB8, 0x00, 0x04,
|
||||
- /* 000002F4 out dx,ax */ 0xEF,
|
||||
- /* 000002F5 pop ax */ 0x58,
|
||||
- /* 000002F6 pop dx */ 0x5A,
|
||||
- /* 000002F7 push dx */ 0x52,
|
||||
- /* 000002F8 push ax */ 0x50,
|
||||
- /* 000002F9 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 000002FC mov ax,0x2 */ 0xB8, 0x02, 0x00,
|
||||
- /* 000002FF out dx,ax */ 0xEF,
|
||||
- /* 00000300 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000303 mov ax,0x300 */ 0xB8, 0x00, 0x03,
|
||||
- /* 00000306 out dx,ax */ 0xEF,
|
||||
- /* 00000307 pop ax */ 0x58,
|
||||
- /* 00000308 pop dx */ 0x5A,
|
||||
- /* 00000309 push dx */ 0x52,
|
||||
- /* 0000030A push ax */ 0x50,
|
||||
- /* 0000030B mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 0000030E mov ax,0x7 */ 0xB8, 0x07, 0x00,
|
||||
- /* 00000311 out dx,ax */ 0xEF,
|
||||
- /* 00000312 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000315 mov ax,0x300 */ 0xB8, 0x00, 0x03,
|
||||
- /* 00000318 out dx,ax */ 0xEF,
|
||||
- /* 00000319 pop ax */ 0x58,
|
||||
- /* 0000031A pop dx */ 0x5A,
|
||||
- /* 0000031B push dx */ 0x52,
|
||||
- /* 0000031C push ax */ 0x50,
|
||||
- /* 0000031D mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
- /* 00000320 mov ax,0x4 */ 0xB8, 0x04, 0x00,
|
||||
- /* 00000323 out dx,ax */ 0xEF,
|
||||
- /* 00000324 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
- /* 00000327 mov ax,0x41 */ 0xB8, 0x41, 0x00,
|
||||
- /* 0000032A out dx,ax */ 0xEF,
|
||||
- /* 0000032B pop ax */ 0x58,
|
||||
- /* 0000032C pop dx */ 0x5A,
|
||||
- /* 0000032D pop ax */ 0x58,
|
||||
- /* 0000032E pop dx */ 0x5A,
|
||||
- /* 0000032F jmp short 0x34c */ 0xEB, 0x1B,
|
||||
- /* 00000331 mov bx,0x40f1 */ 0xBB, 0xF1, 0x40,
|
||||
- /* 00000334 jmp short 0x34c */ 0xEB, 0x16,
|
||||
- /* 00000336 jmp short 0x350 */ 0xEB, 0x18,
|
||||
- /* 00000338 jmp short 0x350 */ 0xEB, 0x16,
|
||||
- /* 0000033A cmp al,0x3 */ 0x3C, 0x03,
|
||||
- /* 0000033C jz 0x345 */ 0x74, 0x07,
|
||||
- /* 0000033E cmp al,0x12 */ 0x3C, 0x12,
|
||||
- /* 00000340 jz 0x349 */ 0x74, 0x07,
|
||||
- /* 00000342 jmp word 0x22b */ 0xE9, 0xE6, 0xFE,
|
||||
- /* 00000345 mov al,0x30 */ 0xB0, 0x30,
|
||||
- /* 00000347 jmp short 0x34b */ 0xEB, 0x02,
|
||||
- /* 00000349 mov al,0x20 */ 0xB0, 0x20,
|
||||
- /* 0000034B iretw */ 0xCF,
|
||||
- /* 0000034C mov ax,0x4f */ 0xB8, 0x4F, 0x00,
|
||||
- /* 0000034F iretw */ 0xCF,
|
||||
- /* 00000350 mov ax,0x14f */ 0xB8, 0x4F, 0x01,
|
||||
- /* 00000353 iretw */ 0xCF,
|
||||
+ /* 00000227 jz word 0x382 */ 0x0F, 0x84, 0x57, 0x01,
|
||||
+ /* 0000022B push si */ 0x56,
|
||||
+ /* 0000022C mov si,0x3e9 */ 0xBE, 0xE9, 0x03,
|
||||
+ /* 0000022F call word 0x3c4 */ 0xE8, 0x92, 0x01,
|
||||
+ /* 00000232 pop si */ 0x5E,
|
||||
+ /* 00000233 jmp short 0x233 */ 0xEB, 0xFE,
|
||||
+ /* 00000235 push es */ 0x06,
|
||||
+ /* 00000236 push di */ 0x57,
|
||||
+ /* 00000237 push ds */ 0x1E,
|
||||
+ /* 00000238 push si */ 0x56,
|
||||
+ /* 00000239 push cx */ 0x51,
|
||||
+ /* 0000023A push si */ 0x56,
|
||||
+ /* 0000023B mov si,0x3fb */ 0xBE, 0xFB, 0x03,
|
||||
+ /* 0000023E call word 0x3c4 */ 0xE8, 0x83, 0x01,
|
||||
+ /* 00000241 pop si */ 0x5E,
|
||||
+ /* 00000242 push cs */ 0x0E,
|
||||
+ /* 00000243 pop ds */ 0x1F,
|
||||
+ /* 00000244 mov si,0x0 */ 0xBE, 0x00, 0x00,
|
||||
+ /* 00000247 mov cx,0x100 */ 0xB9, 0x00, 0x01,
|
||||
+ /* 0000024A cld */ 0xFC,
|
||||
+ /* 0000024B rep movsb */ 0xF3, 0xA4,
|
||||
+ /* 0000024D pop cx */ 0x59,
|
||||
+ /* 0000024E pop si */ 0x5E,
|
||||
+ /* 0000024F pop ds */ 0x1F,
|
||||
+ /* 00000250 pop di */ 0x5F,
|
||||
+ /* 00000251 pop es */ 0x07,
|
||||
+ /* 00000252 jmp word 0x3ac */ 0xE9, 0x57, 0x01,
|
||||
+ /* 00000255 push es */ 0x06,
|
||||
+ /* 00000256 push di */ 0x57,
|
||||
+ /* 00000257 push ds */ 0x1E,
|
||||
+ /* 00000258 push si */ 0x56,
|
||||
+ /* 00000259 push cx */ 0x51,
|
||||
+ /* 0000025A push si */ 0x56,
|
||||
+ /* 0000025B mov si,0x404 */ 0xBE, 0x04, 0x04,
|
||||
+ /* 0000025E call word 0x3c4 */ 0xE8, 0x63, 0x01,
|
||||
+ /* 00000261 pop si */ 0x5E,
|
||||
+ /* 00000262 and cx,0xbfff */ 0x81, 0xE1, 0xFF, 0xBF,
|
||||
+ /* 00000266 cmp cx,0xf1 */ 0x81, 0xF9, 0xF1, 0x00,
|
||||
+ /* 0000026A jz 0x276 */ 0x74, 0x0A,
|
||||
+ /* 0000026C push si */ 0x56,
|
||||
+ /* 0000026D mov si,0x432 */ 0xBE, 0x32, 0x04,
|
||||
+ /* 00000270 call word 0x3c4 */ 0xE8, 0x51, 0x01,
|
||||
+ /* 00000273 pop si */ 0x5E,
|
||||
+ /* 00000274 jmp short 0x233 */ 0xEB, 0xBD,
|
||||
+ /* 00000276 push cs */ 0x0E,
|
||||
+ /* 00000277 pop ds */ 0x1F,
|
||||
+ /* 00000278 mov si,0x100 */ 0xBE, 0x00, 0x01,
|
||||
+ /* 0000027B mov cx,0x100 */ 0xB9, 0x00, 0x01,
|
||||
+ /* 0000027E cld */ 0xFC,
|
||||
+ /* 0000027F rep movsb */ 0xF3, 0xA4,
|
||||
+ /* 00000281 pop cx */ 0x59,
|
||||
+ /* 00000282 pop si */ 0x5E,
|
||||
+ /* 00000283 pop ds */ 0x1F,
|
||||
+ /* 00000284 pop di */ 0x5F,
|
||||
+ /* 00000285 pop es */ 0x07,
|
||||
+ /* 00000286 jmp word 0x3ac */ 0xE9, 0x23, 0x01,
|
||||
+ /* 00000289 push dx */ 0x52,
|
||||
+ /* 0000028A push ax */ 0x50,
|
||||
+ /* 0000028B push si */ 0x56,
|
||||
+ /* 0000028C mov si,0x41a */ 0xBE, 0x1A, 0x04,
|
||||
+ /* 0000028F call word 0x3c4 */ 0xE8, 0x32, 0x01,
|
||||
+ /* 00000292 pop si */ 0x5E,
|
||||
+ /* 00000293 cmp bx,0x40f1 */ 0x81, 0xFB, 0xF1, 0x40,
|
||||
+ /* 00000297 jz 0x2a3 */ 0x74, 0x0A,
|
||||
+ /* 00000299 push si */ 0x56,
|
||||
+ /* 0000029A mov si,0x432 */ 0xBE, 0x32, 0x04,
|
||||
+ /* 0000029D call word 0x3c4 */ 0xE8, 0x24, 0x01,
|
||||
+ /* 000002A0 pop si */ 0x5E,
|
||||
+ /* 000002A1 jmp short 0x233 */ 0xEB, 0x90,
|
||||
+ /* 000002A3 mov dx,0x3c0 */ 0xBA, 0xC0, 0x03,
|
||||
+ /* 000002A6 mov al,0x20 */ 0xB0, 0x20,
|
||||
+ /* 000002A8 out dx,al */ 0xEE,
|
||||
+ /* 000002A9 push dx */ 0x52,
|
||||
+ /* 000002AA push ax */ 0x50,
|
||||
+ /* 000002AB mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002AE mov ax,0x4 */ 0xB8, 0x04, 0x00,
|
||||
+ /* 000002B1 out dx,ax */ 0xEF,
|
||||
+ /* 000002B2 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002B5 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
+ /* 000002B8 out dx,ax */ 0xEF,
|
||||
+ /* 000002B9 pop ax */ 0x58,
|
||||
+ /* 000002BA pop dx */ 0x5A,
|
||||
+ /* 000002BB push dx */ 0x52,
|
||||
+ /* 000002BC push ax */ 0x50,
|
||||
+ /* 000002BD mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002C0 mov ax,0x5 */ 0xB8, 0x05, 0x00,
|
||||
+ /* 000002C3 out dx,ax */ 0xEF,
|
||||
+ /* 000002C4 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002C7 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
+ /* 000002CA out dx,ax */ 0xEF,
|
||||
+ /* 000002CB pop ax */ 0x58,
|
||||
+ /* 000002CC pop dx */ 0x5A,
|
||||
+ /* 000002CD push dx */ 0x52,
|
||||
+ /* 000002CE push ax */ 0x50,
|
||||
+ /* 000002CF mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002D2 mov ax,0x8 */ 0xB8, 0x08, 0x00,
|
||||
+ /* 000002D5 out dx,ax */ 0xEF,
|
||||
+ /* 000002D6 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002D9 mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
+ /* 000002DC out dx,ax */ 0xEF,
|
||||
+ /* 000002DD pop ax */ 0x58,
|
||||
+ /* 000002DE pop dx */ 0x5A,
|
||||
+ /* 000002DF push dx */ 0x52,
|
||||
+ /* 000002E0 push ax */ 0x50,
|
||||
+ /* 000002E1 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002E4 mov ax,0x9 */ 0xB8, 0x09, 0x00,
|
||||
+ /* 000002E7 out dx,ax */ 0xEF,
|
||||
+ /* 000002E8 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002EB mov ax,0x0 */ 0xB8, 0x00, 0x00,
|
||||
+ /* 000002EE out dx,ax */ 0xEF,
|
||||
+ /* 000002EF pop ax */ 0x58,
|
||||
+ /* 000002F0 pop dx */ 0x5A,
|
||||
+ /* 000002F1 push dx */ 0x52,
|
||||
+ /* 000002F2 push ax */ 0x50,
|
||||
+ /* 000002F3 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 000002F6 mov ax,0x3 */ 0xB8, 0x03, 0x00,
|
||||
+ /* 000002F9 out dx,ax */ 0xEF,
|
||||
+ /* 000002FA mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 000002FD mov ax,0x20 */ 0xB8, 0x20, 0x00,
|
||||
+ /* 00000300 out dx,ax */ 0xEF,
|
||||
+ /* 00000301 pop ax */ 0x58,
|
||||
+ /* 00000302 pop dx */ 0x5A,
|
||||
+ /* 00000303 push dx */ 0x52,
|
||||
+ /* 00000304 push ax */ 0x50,
|
||||
+ /* 00000305 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 00000308 mov ax,0x1 */ 0xB8, 0x01, 0x00,
|
||||
+ /* 0000030B out dx,ax */ 0xEF,
|
||||
+ /* 0000030C mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 0000030F mov ax,0x400 */ 0xB8, 0x00, 0x04,
|
||||
+ /* 00000312 out dx,ax */ 0xEF,
|
||||
+ /* 00000313 pop ax */ 0x58,
|
||||
+ /* 00000314 pop dx */ 0x5A,
|
||||
+ /* 00000315 push dx */ 0x52,
|
||||
+ /* 00000316 push ax */ 0x50,
|
||||
+ /* 00000317 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 0000031A mov ax,0x6 */ 0xB8, 0x06, 0x00,
|
||||
+ /* 0000031D out dx,ax */ 0xEF,
|
||||
+ /* 0000031E mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 00000321 mov ax,0x400 */ 0xB8, 0x00, 0x04,
|
||||
+ /* 00000324 out dx,ax */ 0xEF,
|
||||
+ /* 00000325 pop ax */ 0x58,
|
||||
+ /* 00000326 pop dx */ 0x5A,
|
||||
+ /* 00000327 push dx */ 0x52,
|
||||
+ /* 00000328 push ax */ 0x50,
|
||||
+ /* 00000329 mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 0000032C mov ax,0x2 */ 0xB8, 0x02, 0x00,
|
||||
+ /* 0000032F out dx,ax */ 0xEF,
|
||||
+ /* 00000330 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 00000333 mov ax,0x300 */ 0xB8, 0x00, 0x03,
|
||||
+ /* 00000336 out dx,ax */ 0xEF,
|
||||
+ /* 00000337 pop ax */ 0x58,
|
||||
+ /* 00000338 pop dx */ 0x5A,
|
||||
+ /* 00000339 push dx */ 0x52,
|
||||
+ /* 0000033A push ax */ 0x50,
|
||||
+ /* 0000033B mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 0000033E mov ax,0x7 */ 0xB8, 0x07, 0x00,
|
||||
+ /* 00000341 out dx,ax */ 0xEF,
|
||||
+ /* 00000342 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 00000345 mov ax,0x300 */ 0xB8, 0x00, 0x03,
|
||||
+ /* 00000348 out dx,ax */ 0xEF,
|
||||
+ /* 00000349 pop ax */ 0x58,
|
||||
+ /* 0000034A pop dx */ 0x5A,
|
||||
+ /* 0000034B push dx */ 0x52,
|
||||
+ /* 0000034C push ax */ 0x50,
|
||||
+ /* 0000034D mov dx,0x1ce */ 0xBA, 0xCE, 0x01,
|
||||
+ /* 00000350 mov ax,0x4 */ 0xB8, 0x04, 0x00,
|
||||
+ /* 00000353 out dx,ax */ 0xEF,
|
||||
+ /* 00000354 mov dx,0x1d0 */ 0xBA, 0xD0, 0x01,
|
||||
+ /* 00000357 mov ax,0x41 */ 0xB8, 0x41, 0x00,
|
||||
+ /* 0000035A out dx,ax */ 0xEF,
|
||||
+ /* 0000035B pop ax */ 0x58,
|
||||
+ /* 0000035C pop dx */ 0x5A,
|
||||
+ /* 0000035D pop ax */ 0x58,
|
||||
+ /* 0000035E pop dx */ 0x5A,
|
||||
+ /* 0000035F jmp short 0x3ac */ 0xEB, 0x4B,
|
||||
+ /* 00000361 push si */ 0x56,
|
||||
+ /* 00000362 mov si,0x411 */ 0xBE, 0x11, 0x04,
|
||||
+ /* 00000365 call word 0x3c4 */ 0xE8, 0x5C, 0x00,
|
||||
+ /* 00000368 pop si */ 0x5E,
|
||||
+ /* 00000369 mov bx,0x40f1 */ 0xBB, 0xF1, 0x40,
|
||||
+ /* 0000036C jmp short 0x3ac */ 0xEB, 0x3E,
|
||||
+ /* 0000036E push si */ 0x56,
|
||||
+ /* 0000036F mov si,0x43f */ 0xBE, 0x3F, 0x04,
|
||||
+ /* 00000372 call word 0x3c4 */ 0xE8, 0x4F, 0x00,
|
||||
+ /* 00000375 pop si */ 0x5E,
|
||||
+ /* 00000376 jmp short 0x3b8 */ 0xEB, 0x40,
|
||||
+ /* 00000378 push si */ 0x56,
|
||||
+ /* 00000379 mov si,0x452 */ 0xBE, 0x52, 0x04,
|
||||
+ /* 0000037C call word 0x3c4 */ 0xE8, 0x45, 0x00,
|
||||
+ /* 0000037F pop si */ 0x5E,
|
||||
+ /* 00000380 jmp short 0x3b8 */ 0xEB, 0x36,
|
||||
+ /* 00000382 push si */ 0x56,
|
||||
+ /* 00000383 mov si,0x423 */ 0xBE, 0x23, 0x04,
|
||||
+ /* 00000386 call word 0x3c4 */ 0xE8, 0x3B, 0x00,
|
||||
+ /* 00000389 pop si */ 0x5E,
|
||||
+ /* 0000038A cmp al,0x3 */ 0x3C, 0x03,
|
||||
+ /* 0000038C jz 0x39d */ 0x74, 0x0F,
|
||||
+ /* 0000038E cmp al,0x12 */ 0x3C, 0x12,
|
||||
+ /* 00000390 jz 0x3a1 */ 0x74, 0x0F,
|
||||
+ /* 00000392 push si */ 0x56,
|
||||
+ /* 00000393 mov si,0x432 */ 0xBE, 0x32, 0x04,
|
||||
+ /* 00000396 call word 0x3c4 */ 0xE8, 0x2B, 0x00,
|
||||
+ /* 00000399 pop si */ 0x5E,
|
||||
+ /* 0000039A jmp word 0x233 */ 0xE9, 0x96, 0xFE,
|
||||
+ /* 0000039D mov al,0x30 */ 0xB0, 0x30,
|
||||
+ /* 0000039F jmp short 0x3a3 */ 0xEB, 0x02,
|
||||
+ /* 000003A1 mov al,0x20 */ 0xB0, 0x20,
|
||||
+ /* 000003A3 push si */ 0x56,
|
||||
+ /* 000003A4 mov si,0x3d6 */ 0xBE, 0xD6, 0x03,
|
||||
+ /* 000003A7 call word 0x3c4 */ 0xE8, 0x1A, 0x00,
|
||||
+ /* 000003AA pop si */ 0x5E,
|
||||
+ /* 000003AB iretw */ 0xCF,
|
||||
+ /* 000003AC push si */ 0x56,
|
||||
+ /* 000003AD mov si,0x3d6 */ 0xBE, 0xD6, 0x03,
|
||||
+ /* 000003B0 call word 0x3c4 */ 0xE8, 0x11, 0x00,
|
||||
+ /* 000003B3 pop si */ 0x5E,
|
||||
+ /* 000003B4 mov ax,0x4f */ 0xB8, 0x4F, 0x00,
|
||||
+ /* 000003B7 iretw */ 0xCF,
|
||||
+ /* 000003B8 push si */ 0x56,
|
||||
+ /* 000003B9 mov si,0x3dc */ 0xBE, 0xDC, 0x03,
|
||||
+ /* 000003BC call word 0x3c4 */ 0xE8, 0x05, 0x00,
|
||||
+ /* 000003BF pop si */ 0x5E,
|
||||
+ /* 000003C0 mov ax,0x14f */ 0xB8, 0x4F, 0x01,
|
||||
+ /* 000003C3 iretw */ 0xCF,
|
||||
+ /* 000003C4 pushaw */ 0x60,
|
||||
+ /* 000003C5 push ds */ 0x1E,
|
||||
+ /* 000003C6 push cs */ 0x0E,
|
||||
+ /* 000003C7 pop ds */ 0x1F,
|
||||
+ /* 000003C8 mov dx,0x402 */ 0xBA, 0x02, 0x04,
|
||||
+ /* 000003CB lodsb */ 0xAC,
|
||||
+ /* 000003CC cmp al,0x0 */ 0x3C, 0x00,
|
||||
+ /* 000003CE jz 0x3d3 */ 0x74, 0x03,
|
||||
+ /* 000003D0 out dx,al */ 0xEE,
|
||||
+ /* 000003D1 jmp short 0x3cb */ 0xEB, 0xF8,
|
||||
+ /* 000003D3 pop ds */ 0x1F,
|
||||
+ /* 000003D4 popaw */ 0x61,
|
||||
+ /* 000003D5 ret */ 0xC3,
|
||||
+ /* 000003D6 inc bp */ 0x45,
|
||||
+ /* 000003D7 js 0x442 */ 0x78, 0x69,
|
||||
+ /* 000003D9 jz 0x3e5 */ 0x74, 0x0A,
|
||||
+ /* 000003DB add [di+0x6e],dl */ 0x00, 0x55, 0x6E,
|
||||
+ /* 000003DE jnc 0x455 */ 0x73, 0x75,
|
||||
+ /* 000003E0 jo 0x452 */ 0x70, 0x70,
|
||||
+ /* 000003E2 outsw */ 0x6F,
|
||||
+ /* 000003E3 jc 0x459 */ 0x72, 0x74,
|
||||
+ /* 000003E5 or al,[fs:bx+si] */ 0x65, 0x64, 0x0A, 0x00,
|
||||
+ /* 000003E9 push bp */ 0x55,
|
||||
+ /* 000003EA outsb */ 0x6E,
|
||||
+ /* 000003EB imul bp,[bp+0x6f],byte +0x77 */ 0x6B, 0x6E, 0x6F, 0x77,
|
||||
+ /* 000003EF outsb */ 0x6E,
|
||||
+ /* 000003F0 and [bp+0x75],al */ 0x20, 0x46, 0x75,
|
||||
+ /* 000003F3 outsb */ 0x6E,
|
||||
+ /* 000003F4 arpl [si+0x69],si */ 0x63, 0x74, 0x69,
|
||||
+ /* 000003F7 outsw */ 0x6F,
|
||||
+ /* 000003F8 outsb */ 0x6E,
|
||||
+ /* 000003F9 or al,[bx+si] */ 0x0A, 0x00,
|
||||
+ /* 000003FB inc di */ 0x47,
|
||||
+ /* 000003FC gs jz 0x448 */ 0x65, 0x74, 0x49,
|
||||
+ /* 000003FF outsb */ 0x6E,
|
||||
+ /* 00000400 outsd */ 0x66, 0x6F,
|
||||
+ /* 00000402 or al,[bx+si] */ 0x0A, 0x00,
|
||||
+ /* 00000404 inc di */ 0x47,
|
||||
+ /* 00000405 gs jz 0x455 */ 0x65, 0x74, 0x4D,
|
||||
+ /* 00000408 outsw */ 0x6F,
|
||||
+ /* 00000409 gs dec cx */ 0x64, 0x65, 0x49,
|
||||
+ /* 0000040C outsb */ 0x6E,
|
||||
+ /* 0000040D outsd */ 0x66, 0x6F,
|
||||
+ /* 0000040F or al,[bx+si] */ 0x0A, 0x00,
|
||||
+ /* 00000411 inc di */ 0x47,
|
||||
+ /* 00000412 gs jz 0x462 */ 0x65, 0x74, 0x4D,
|
||||
+ /* 00000415 outsw */ 0x6F,
|
||||
+ /* 00000416 or al,[gs:bx+si] */ 0x64, 0x65, 0x0A, 0x00,
|
||||
+ /* 0000041A push bx */ 0x53,
|
||||
+ /* 0000041B gs jz 0x46b */ 0x65, 0x74, 0x4D,
|
||||
+ /* 0000041E outsw */ 0x6F,
|
||||
+ /* 0000041F or al,[gs:bx+si] */ 0x64, 0x65, 0x0A, 0x00,
|
||||
+ /* 00000423 push bx */ 0x53,
|
||||
+ /* 00000424 gs jz 0x474 */ 0x65, 0x74, 0x4D,
|
||||
+ /* 00000427 outsw */ 0x6F,
|
||||
+ /* 00000428 gs dec sp */ 0x64, 0x65, 0x4C,
|
||||
+ /* 0000042B gs a32 popaw */ 0x65, 0x67, 0x61,
|
||||
+ /* 0000042E arpl [bx+di+0xa],di */ 0x63, 0x79, 0x0A,
|
||||
+ /* 00000431 add [di+0x6e],dl */ 0x00, 0x55, 0x6E,
|
||||
+ /* 00000434 imul bp,[bx+0x77],byte +0x6e */ 0x6B, 0x6F, 0x77, 0x6E,
|
||||
+ /* 00000438 and [di+0x6f],cl */ 0x20, 0x4D, 0x6F,
|
||||
+ /* 0000043B or al,[gs:bx+si] */ 0x64, 0x65, 0x0A, 0x00,
|
||||
+ /* 0000043F inc di */ 0x47,
|
||||
+ /* 00000440 gs jz 0x493 */ 0x65, 0x74, 0x50,
|
||||
+ /* 00000443 insw */ 0x6D,
|
||||
+ /* 00000444 inc bx */ 0x43,
|
||||
+ /* 00000445 popaw */ 0x61,
|
||||
+ /* 00000446 jo 0x4a9 */ 0x70, 0x61,
|
||||
+ /* 00000448 bound bp,[bx+di+0x6c] */ 0x62, 0x69, 0x6C,
|
||||
+ /* 0000044B imul si,[si+0x69],word 0x7365 */ 0x69, 0x74, 0x69, 0x65, 0x73,
|
||||
+ /* 00000450 or al,[bx+si] */ 0x0A, 0x00,
|
||||
+ /* 00000452 push dx */ 0x52,
|
||||
+ /* 00000453 gs popaw */ 0x65, 0x61,
|
||||
+ /* 00000455 fs inc bp */ 0x64, 0x45,
|
||||
+ /* 00000457 fs */ 0x64,
|
||||
+ /* 00000458 db 0x69 */ 0x69,
|
||||
+ /* 00000459 or al,[fs:bx+si] */ 0x64, 0x0A, 0x00,
|
||||
};
|
||||
#endif
|
||||
--
|
||||
1.8.3.1
|
||||
|
@ -1,14 +0,0 @@
|
||||
diff --git a/Source/C/GNUmakefile b/Source/C/GNUmakefile
|
||||
index e0dde3e..bee0059 100644
|
||||
--- a/Source/C/GNUmakefile
|
||||
+++ b/Source/C/GNUmakefile
|
||||
@@ -22,6 +22,9 @@ ifndef ARCH
|
||||
ifneq (,$(strip $(filter $(uname_m), x86_64 amd64)))
|
||||
ARCH=X64
|
||||
endif
|
||||
+ ifeq ($(patsubst arm%,ARM,$(uname_m)),ARM)
|
||||
+ ARCH=ARM
|
||||
+ endif
|
||||
ifeq ($(patsubst i%86,IA32,$(uname_m)),IA32)
|
||||
ARCH=IA32
|
||||
endif
|
296
edk2.spec
296
edk2.spec
@ -1,35 +1,52 @@
|
||||
%global SVNDATE 20151127
|
||||
%global SVNREV 18975
|
||||
%global edk2_date 20160418
|
||||
%global edk2_githash a8c39ba
|
||||
%global openssl_version 1.0.2g
|
||||
|
||||
Name: edk2
|
||||
Version: %{SVNDATE}svn%{SVNREV}
|
||||
Release: 3%{?dist}
|
||||
Version: %{edk2_date}git%{edk2_githash}
|
||||
Release: 0%{dist}
|
||||
Summary: EFI Development Kit II
|
||||
|
||||
# There are no formal releases from upstream.
|
||||
# Tarballs are created with:
|
||||
|
||||
# svn export -r ${SVNREV} \
|
||||
# https://svn.code.sf.net/p/edk2/code/trunk/edk2/BaseTools edk2-buildtools-r${SVNREV}
|
||||
# rm -rf edk2-buildtools-r${SVNREV}/Bin
|
||||
# tar -cv edk2-buildtools-r${SVNREV} | xz -6 > edk2-buildtools-r${SVNREV}.tar.xz
|
||||
Source0: edk2-buildtools-r%{SVNREV}.tar.xz
|
||||
Patch1: basetools-arm.patch
|
||||
Patch2: 0001-BaseTools-LzmaCompress-eliminate-_maxMode-and-bogus-.patch
|
||||
|
||||
License: BSD
|
||||
Group: Applications/Emulators
|
||||
URL: http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=EDK2
|
||||
License: BSD
|
||||
URL: http://www.tianocore.org/edk2/
|
||||
Source0: edk2-%{edk2_date}-%{edk2_githash}.tar.gz
|
||||
Source1: https://www.openssl.org/source/openssl-%{openssl_version}.tar.gz
|
||||
Source3: build-iso.sh
|
||||
Source9: update-tarball.sh
|
||||
|
||||
# We need to build tools everywhere, but how is still an open question
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=992180
|
||||
ExclusiveArch: %{ix86} x86_64 %{arm}
|
||||
Patch1: 0001-pick-up-any-display-device-not-only-vga.patch
|
||||
Patch2: 0001-MdeModulePkg-TerminalDxe-add-other-text-resolutions.patch
|
||||
Patch3: 0001-EXCLUDE_SHELL_FROM_FD.patch
|
||||
|
||||
BuildRequires: python2-devel
|
||||
Patch10: 0001-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-NvmExpre.patch
|
||||
Patch11: 0002-OvmfPkg-silence-EFI_D_VERBOSE-0x00400000-in-the-DXE-.patch
|
||||
Patch12: 0003-OvmfPkg-enable-DEBUG_VERBOSE.patch
|
||||
Patch13: 0004-OvmfPkg-increase-max-debug-message-length-to-512.patch
|
||||
Patch14: 0005-OvmfPkg-QemuVideoDxe-enable-debug-messages-in-VbeShi.patch
|
||||
|
||||
Patch20: 0001-OvmfPkg-EnrollDefaultKeys-application-for-enrolling-.patch
|
||||
|
||||
#
|
||||
# actual firmware builds are done on x86_64 and aarch64,
|
||||
# see all the %ifarch blocks below.
|
||||
#
|
||||
# edk2-tools builds are done on all x86 and arm.
|
||||
# in theory they 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
|
||||
|
||||
BuildRequires: python
|
||||
BuildRequires: libuuid-devel
|
||||
|
||||
Requires: edk2-tools%{?_isa} = %{version}-%{release}
|
||||
Requires: edk2-tools-doc%{?_isa} = %{version}-%{release}
|
||||
%ifarch x86_64
|
||||
BuildRequires: iasl
|
||||
BuildRequires: nasm
|
||||
BuildRequires: dosfstools
|
||||
BuildRequires: mtools
|
||||
BuildRequires: genisoimage
|
||||
%endif
|
||||
|
||||
%description
|
||||
EDK II is a development code base for creating UEFI drivers, applications
|
||||
@ -38,8 +55,6 @@ and firmware images.
|
||||
%package tools
|
||||
Summary: EFI Development Kit II Tools
|
||||
Group: Development/Tools
|
||||
Requires: edk2-tools-python = %{version}-%{release}
|
||||
|
||||
%description tools
|
||||
This package provides tools that are needed to
|
||||
build EFI executables and ROMs using the GNU tools.
|
||||
@ -58,83 +73,149 @@ you probably want to install edk2-tools only.
|
||||
%package tools-doc
|
||||
Summary: Documentation for EFI Development Kit II Tools
|
||||
Group: Development/Tools
|
||||
|
||||
BuildArch: noarch
|
||||
%description tools-doc
|
||||
This package documents the tools that are needed to
|
||||
build EFI executables and ROMs using the GNU tools.
|
||||
|
||||
%prep
|
||||
%setup -q -n edk2-buildtools-r%{SVNREV}
|
||||
%patch1 -p1
|
||||
%patch2 -p2
|
||||
%ifarch x86_64
|
||||
%package ovmf
|
||||
Summary: Open Virtual Machine Firmware
|
||||
License: BSD and OpenSSL
|
||||
Provides: OVMF
|
||||
BuildArch: noarch
|
||||
%description ovmf
|
||||
EFI Development Kit II
|
||||
Open Virtual Machine Firmware (x64)
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%package aarch64
|
||||
Summary: AARCH64 Virtual Machine Firmware
|
||||
Provides: AAVMF
|
||||
BuildArch: noarch
|
||||
%description aarch64
|
||||
EFI Development Kit II
|
||||
AARCH64 UEFI Firmware
|
||||
%endif
|
||||
|
||||
%prep
|
||||
%setup -q -n tianocore-%{name}-%{edk2_githash}
|
||||
%patch1 -p1
|
||||
%patch2 -p1
|
||||
%patch3 -p1
|
||||
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
%patch12 -p1
|
||||
%patch13 -p1
|
||||
%patch14 -p1
|
||||
|
||||
%patch20 -p1
|
||||
|
||||
# add openssl
|
||||
tar -C CryptoPkg/Library/OpensslLib -xf %{SOURCE1}
|
||||
(cd CryptoPkg/Library/OpensslLib/openssl-%{openssl_version};
|
||||
patch -p1 < ../EDKII_openssl-%{openssl_version}.patch)
|
||||
(cd CryptoPkg/Library/OpensslLib; ./Install.sh)
|
||||
cp CryptoPkg/Library/OpensslLib/openssl-*/LICENSE LICENSE.openssl
|
||||
|
||||
%build
|
||||
export WORKSPACE=`pwd`
|
||||
source ./edksetup.sh
|
||||
|
||||
# Build is broken if MAKEFLAGS contains -j option.
|
||||
unset MAKEFLAGS
|
||||
make
|
||||
# conpiler
|
||||
CC_FLAGS="-t GCC49"
|
||||
|
||||
# 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} -b DEBUG"
|
||||
CC_FLAGS="${CC_FLAGS} --cmd-len=65536"
|
||||
|
||||
# ovmf features
|
||||
OVMF_FLAGS="${CC_FLAGS}"
|
||||
OVMF_FLAGS="${OVMF_FLAGS} -D HTTP_BOOT_ENABLE"
|
||||
OVMF_FLAGS="${OVMF_FLAGS} -D NETWORK_IP6_ENABLE"
|
||||
|
||||
# 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}"
|
||||
ARM_FLAGS="${ARM_FLAGS} -D DEBUG_PRINT_ERROR_LEVEL=0x8040004F"
|
||||
|
||||
make -C BaseTools #%{?_smp_mflags}
|
||||
|
||||
%ifarch x86_64
|
||||
# build ovmf
|
||||
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 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 shell iso with EnrollDefaultKeys
|
||||
cp Build/Ovmf3264/*/X64/Shell.efi ovmf
|
||||
cp Build/Ovmf3264/*/X64/EnrollDefaultKeys.efi ovmf
|
||||
sh %{SOURCE3} ovmf
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
# build arm/aarch64 firmware
|
||||
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
|
||||
|
||||
%install
|
||||
mkdir -p %{buildroot}%{_bindir}
|
||||
install \
|
||||
Source/C/bin/BootSectImage \
|
||||
Source/C/bin/EfiLdrImage \
|
||||
Source/C/bin/EfiRom \
|
||||
Source/C/bin/GenCrc32 \
|
||||
Source/C/bin/GenFfs \
|
||||
Source/C/bin/GenFv \
|
||||
Source/C/bin/GenFw \
|
||||
Source/C/bin/GenPage \
|
||||
Source/C/bin/GenSec \
|
||||
Source/C/bin/GenVtf \
|
||||
Source/C/bin/GnuGenBootSector \
|
||||
Source/C/bin/LzmaCompress \
|
||||
BinWrappers/PosixLike/LzmaF86Compress \
|
||||
Source/C/bin/Split \
|
||||
Source/C/bin/TianoCompress \
|
||||
Source/C/bin/VfrCompile \
|
||||
Source/C/bin/VolInfo \
|
||||
mkdir -p %{buildroot}%{_bindir} \
|
||||
%{buildroot}%{_datadir}/%{name}/Conf \
|
||||
%{buildroot}%{_datadir}/%{name}/Scripts
|
||||
install BaseTools/Source/C/bin/* \
|
||||
%{buildroot}%{_bindir}
|
||||
|
||||
ln -f %{buildroot}%{_bindir}/GnuGenBootSector \
|
||||
%{buildroot}%{_bindir}/GenBootSector
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/%{name}
|
||||
install \
|
||||
BuildEnv \
|
||||
install BaseTools/BinWrappers/PosixLike/LzmaF86Compress \
|
||||
%{buildroot}%{_bindir}
|
||||
install BaseTools/BuildEnv \
|
||||
%{buildroot}%{_datadir}/%{name}
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/%{name}/Conf
|
||||
install \
|
||||
Conf/build_rule.template \
|
||||
Conf/tools_def.template \
|
||||
Conf/target.template \
|
||||
install BaseTools/Conf/*.template \
|
||||
%{buildroot}%{_datadir}/%{name}/Conf
|
||||
|
||||
mkdir -p %{buildroot}%{_datadir}/%{name}/Scripts
|
||||
install \
|
||||
Scripts/GccBase.lds \
|
||||
install BaseTools/Scripts/GccBase.lds \
|
||||
%{buildroot}%{_datadir}/%{name}/Scripts
|
||||
|
||||
cp -R Source/Python %{buildroot}%{_datadir}/%{name}/Python
|
||||
|
||||
find %{buildroot}%{_datadir}/%{name}/Python -name "*.pyd" | xargs rm
|
||||
|
||||
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
|
||||
PYTHONPATH=%{_datadir}/%{name}/Python
|
||||
export PYTHONPATH
|
||||
echo '#!/bin/sh
|
||||
export PYTHONPATH=%{_datadir}/%{name}/Python
|
||||
exec python '%{_datadir}/%{name}/Python/$i/$i.py' "$@"' > %{buildroot}%{_bindir}/$i
|
||||
chmod +x %{buildroot}%{_bindir}/$i
|
||||
done
|
||||
|
||||
mkdir -p %{buildroot}/usr/share/%{name}
|
||||
%ifarch x86_64
|
||||
cp -a ovmf %{buildroot}/usr/share/%{name}
|
||||
%endif
|
||||
%ifarch aarch64
|
||||
cp -a aarch64 %{buildroot}/usr/share/%{name}
|
||||
%endif
|
||||
|
||||
%files tools
|
||||
%{_bindir}/BootSectImage
|
||||
%{_bindir}/EfiLdrImage
|
||||
%{_bindir}/EfiRom
|
||||
%{_bindir}/GenBootSector
|
||||
%{_bindir}/GenCrc32
|
||||
%{_bindir}/GenFfs
|
||||
%{_bindir}/GenFv
|
||||
@ -149,9 +230,10 @@ done
|
||||
%{_bindir}/TianoCompress
|
||||
%{_bindir}/VfrCompile
|
||||
%{_bindir}/VolInfo
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/BuildEnv
|
||||
%{_datadir}/%{name}/Conf/
|
||||
%{_datadir}/%{name}/Scripts/
|
||||
%{_datadir}/%{name}/Conf
|
||||
%{_datadir}/%{name}/Scripts
|
||||
|
||||
%files tools-python
|
||||
%{_bindir}/build
|
||||
@ -164,34 +246,38 @@ done
|
||||
%{_bindir}/TargetTool
|
||||
%{_bindir}/Trim
|
||||
%{_bindir}/UPT
|
||||
%{_datadir}/%{name}/Python/
|
||||
%dir %{_datadir}/%{name}
|
||||
%{_datadir}/%{name}/Python
|
||||
|
||||
%files tools-doc
|
||||
%doc UserManuals/BootSectImage_Utility_Man_Page.rtf
|
||||
%doc UserManuals/Build_Utility_Man_Page.rtf
|
||||
%doc UserManuals/EfiLdrImage_Utility_Man_Page.rtf
|
||||
%doc UserManuals/EfiRom_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenBootSector_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenCrc32_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenDepex_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenFds_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenFfs_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenFv_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenFw_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenPage_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenPatchPcdTable_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenSec_Utility_Man_Page.rtf
|
||||
%doc UserManuals/GenVtf_Utility_Man_Page.rtf
|
||||
%doc UserManuals/LzmaCompress_Utility_Man_Page.rtf
|
||||
%doc UserManuals/PatchPcdValue_Utility_Man_Page.rtf
|
||||
%doc UserManuals/SplitFile_Utility_Man_Page.rtf
|
||||
%doc UserManuals/TargetTool_Utility_Man_Page.rtf
|
||||
%doc UserManuals/TianoCompress_Utility_Man_Page.rtf
|
||||
%doc UserManuals/Trim_Utility_Man_Page.rtf
|
||||
%doc UserManuals/VfrCompiler_Utility_Man_Page.rtf
|
||||
%doc UserManuals/VolInfo_Utility_Man_Page.rtf
|
||||
%doc BaseTools/UserManuals/*.rtf
|
||||
|
||||
%ifarch x86_64
|
||||
%files ovmf
|
||||
%license OvmfPkg/License.txt
|
||||
%license LICENSE.openssl
|
||||
%doc OvmfPkg/README
|
||||
%dir /usr/share/%{name}
|
||||
%dir /usr/share/%{name}/ovmf
|
||||
/usr/share/%{name}/ovmf/OVMF*.fd
|
||||
/usr/share/%{name}/ovmf/*.efi
|
||||
/usr/share/%{name}/ovmf/*.iso
|
||||
%endif
|
||||
|
||||
%ifarch aarch64
|
||||
%files aarch64
|
||||
%license ArmVirtPkg/License.txt
|
||||
%dir /usr/share/%{name}
|
||||
%dir /usr/share/%{name}/aarch64
|
||||
/usr/share/%{name}/aarch64/QEMU*.fd
|
||||
/usr/share/%{name}/aarch64/*.raw
|
||||
%endif
|
||||
|
||||
%changelog
|
||||
* 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)
|
||||
|
||||
|
3
sources
3
sources
@ -1 +1,2 @@
|
||||
b54c3b57cd661dc4e232489919315a6f edk2-buildtools-r18975.tar.xz
|
||||
2ba075ea9168725aede3d43486cb4c62 edk2-20160418-a8c39ba.tar.gz
|
||||
f3c710c045cdee5fd114feb69feba7aa openssl-1.0.2g.tar.gz
|
||||
|
45
update-tarball.sh
Normal file
45
update-tarball.sh
Normal file
@ -0,0 +1,45 @@
|
||||
#!/bin/sh
|
||||
|
||||
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"
|
||||
|
||||
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/')
|
||||
|
||||
date=$(curl -s "${api}/git/commits/$hash" | awk '
|
||||
/"committer"/ { c=1 }
|
||||
/"date"/ { if (c) { print } }
|
||||
' | cut -d'"' -f4)
|
||||
date="${date%T*}"
|
||||
date="${date//-/}"
|
||||
|
||||
name="${repo}-${date}-${short}.tar.gz"
|
||||
|
||||
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" > "$name"
|
||||
exit 0
|
Loading…
Reference in New Issue
Block a user