On 03/04/14 09:20, Jordan Justen wrote:
> Laszlo,
>
> I committed the last chunk of your S3 support for OVMF
> in as r15290-15308.
That's "our" S3 support :)
>
> Thanks to you and Red Hat for the great contribution
> to OVMF.
>
> I know it required quite a lot of debug, rework and
> code review on your part. Thanks for all your time and
> diligence on this!
Thank you for taking it over after v3. Your improvements are very
important and we ended up with a much cleaner state of affairs (memory
layout, memory consumption, fewer open-coded magic constants, avoiding
decompression at resume, etc) thanks to them.
(1) I tested S3 suspend/resume with a 8GB RHEL-7 guest. QXL (qxldrmfb)
works (as before), but the console performance is quite sluggish (as
before).
(2) In reference to
http://thread.gmane.org/gmane.comp.bios.tianocore.devel/5461/focus=5495
I've learned that Gerd recently implemented S3 support for bochs drm and
cirrus drm in the guest Linux kernel.
https://bugzilla.redhat.com/show_bug.cgi?id=1043379
http://lists.freedesktop.org/archives/dri-devel/2014-February/054549.html
http://lists.freedesktop.org/archives/dri-devel/2014-February/054550.html
I tested standard VGA (bochsdrmfb, with backports of the above patches);
it works, and the console performance is nice.
Alas, cirrusdrmfb still doesn't work. The VM comes up but the screen
remains blank.
(3) I also tested S3 suspend/resume with my Windows 2008 R2 guest that I
had originally installed with the SeaBIOS CSM, and then moved to the QXL
XDDM drivers (so that it hasn't been using the CSM for a while). S3
works nicely with it too.
(4) The S3 drivers have increased the image size sufficiently that now
the break builds for me under some circumstances, with my
work-in-progress patches (eg. platform driver).
I'm attaching a patch that I need in at least two situations to build OVMF:
- when building a debug + secure boot image with gcc-4.4,
- when building a debug + secure boot + CSM image with gcc-4.8.
(I did all of the above testing with this patch applied.)
I can repost this patch with git-send-email separetely if necessary.
Thanks!
Laszlo
From bccfd2a8e02d82e427b9be7574e6d4e38024db6f Mon Sep 17 00:00:00 2001
From: Laszlo Ersek <ler...@redhat.com>
Date: Tue, 4 Mar 2014 11:14:06 +0100
Subject: [PATCH] OvmfPkg: raise DXEFV size to 8 MB
This fixes build errors like:
GenFds.py...
the required fv image size 0x71b118 exceeds the set fv image size
0x700000
which is reported at least for:
(a) -b DEBUG -D SECURE_BOOT_ENABLE -t GCC44,
(b) -b DEBUG -D SECURE_BOOT_ENABLE -t GCC48 -D CSM_ENABLE
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <ler...@redhat.com>
---
OvmfPkg/OvmfPkgIa32.fdf | 6 +++---
OvmfPkg/OvmfPkgIa32X64.fdf | 6 +++---
OvmfPkg/OvmfPkgX64.fdf | 6 +++---
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index 00de317..1735396 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -130,10 +130,10 @@ FV = SECFV
[FD.MEMFD]
BaseAddress = 0x800000
-Size = 0x800000
+Size = 0x900000
ErasePolarity = 1
BlockSize = 0x10000
-NumBlocks = 0x80
+NumBlocks = 0x90
0x000000|0x006000
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize
@@ -151,7 +151,7 @@
gUefiOvmfPkgTokenSpaceGuid.PcdS3AcpiReservedMemoryBase|gEfiIntelFrameworkModuleP
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
FV = PEIFV
-0x100000|0x700000
+0x100000|0x800000
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
FV = DXEFV
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index 49c2807..9a7cf3e 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -130,10 +130,10 @@ FV = SECFV
[FD.MEMFD]
BaseAddress = 0x800000
-Size = 0x800000
+Size = 0x900000
ErasePolarity = 1
BlockSize = 0x10000
-NumBlocks = 0x80
+NumBlocks = 0x90
0x000000|0x006000
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize
@@ -151,7 +151,7 @@
gUefiOvmfPkgTokenSpaceGuid.PcdS3AcpiReservedMemoryBase|gEfiIntelFrameworkModuleP
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
FV = PEIFV
-0x100000|0x700000
+0x100000|0x800000
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
FV = DXEFV
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 592ca91..47bec31 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -130,10 +130,10 @@ FV = SECFV
[FD.MEMFD]
BaseAddress = 0x800000
-Size = 0x800000
+Size = 0x900000
ErasePolarity = 1
BlockSize = 0x10000
-NumBlocks = 0x80
+NumBlocks = 0x90
0x000000|0x006000
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize
@@ -151,7 +151,7 @@
gUefiOvmfPkgTokenSpaceGuid.PcdS3AcpiReservedMemoryBase|gEfiIntelFrameworkModuleP
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize
FV = PEIFV
-0x100000|0x700000
+0x100000|0x800000
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize
FV = DXEFV
--
1.8.3.1
------------------------------------------------------------------------------
Subversion Kills Productivity. Get off Subversion & Make the Move to Perforce.
With Perforce, you get hassle-free workflows. Merge that actually works.
Faster operations. Version large binaries. Built-in WAN optimization and the
freedom to use Git, Perforce or both. Make the move to Perforce.
http://pubads.g.doubleclick.net/gampad/clk?id=122218951&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
edk2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/edk2-devel