On 05/31/16 10:10, Jordan Justen wrote: > Reviewed-by: Jordan Justen <jordan.l.jus...@intel.com> > > Pushed as 2f7b34b20842fcc485b39c0e1e91313c47b4d090.
Thanks! I tested it with SMM + S3, it seems to work fine. It also matches earlier commit 08df58ec3043. I compared the debug logs as well: -DecompressMemFvs: OutputBuffer@A00000+0x9E0090 ScratchBuffer@1400000+0x10000 PcdOvmfDecompressionScratchEnd=0x1410000 +DecompressMemFvs: OutputBuffer@A00000+0xAE0090 ScratchBuffer@1500000+0x10000 PcdOvmfDecompressionScratchEnd=0x1510000 Seems okay to me. ----*---- I think it's worth repeating my comment about FVMAIN_SIZE, for the future: http://thread.gmane.org/gmane.comp.bios.edk2.devel/2754/focus=2755 In that message, I mentioned 25+% being free in FVMAIN_COMPACT (i.e., after compression) in my usual builds. Now that ratio is down to 16% (--> 84%Full) in my SMM build: build \ -a IA32 -a X64 \ -p OvmfPkg/OvmfPkgIa32X64.dsc \ -b DEBUG \ -t GCC48 \ -D SMM_REQUIRE \ -D SECURE_BOOT_ENABLE \ -D HTTP_BOOT_ENABLE and this doesn't even contain -D NETWORK_IP6_ENABLE. If I add that too, the free space in FVMAIN_COMPACT falls to 11%: SECFV [14%Full] 212992 total, 30224 used, 182768 free FVMAIN_COMPACT [89%Full] 1753088 total, 1575000 used, 178088 free DXEFV [92%Full] 10485760 total, 9691112 used, 794648 free PEIFV [22%Full] 917504 total, 206896 used, 710608 free Honestly, this size growth is worrying me. If we exhaust FVMAIN_COMPACT, we'll have to resize the flash image file, and that would be terrible. Migration of VMs is not possible between QEMUs if the source and target QEMUs use differently sized firmware images. This has serious consequences for Linux distros that ship OVMF. I wonder if we could: - manually remove old compatibility stuff from OVMF (for example, the ACPI platform code that is invoked when QEMU has no ACPI generator), - somehow get LTO and/or -Os working, so that fixed PCD checks would result in code removal. (RELEASE builds are not a solution -- such builds, without ASSERT()s and even DEBUG_VERBOSE messages, are plain unsupportable.) Thanks Laszlo > On 2016-05-30 20:41:46, Gary Lin wrote: >> We reached the size limit again. >> Building OVMF with the following command >> >> $ ./OvmfPkg/build.sh -D SECURE_BOOT_ENABLE -D NETWORK_IP6_ENABLE -D >> HTTP_BOOT_ENABLE >> >> and it ended up with >> >> GenFds.py... >> GenFv: ERROR 3000: Invalid >> : error 7000: Failed to generate FV >> the required fv image size 0x900450 exceeds the set fv image size 0x900000 >> >> Since the new UEFI features, such as HTTPS, are coming, we need a >> larger DEXFV eventually. >> >> Cc: Jordan Justen <jordan.l.jus...@intel.com> >> Cc: Laszlo Ersek <ler...@redhat.com> >> Contributed-under: TianoCore Contribution Agreement 1.0 >> Signed-off-by: Gary Lin <g...@suse.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 8ab1633..8bba8a6 100644 >> --- a/OvmfPkg/OvmfPkgIa32.fdf >> +++ b/OvmfPkg/OvmfPkgIa32.fdf >> @@ -67,10 +67,10 @@ [FD.OVMF_CODE] >> >> [FD.MEMFD] >> BaseAddress = $(MEMFD_BASE_ADDRESS) >> -Size = 0xA00000 >> +Size = 0xB00000 >> ErasePolarity = 1 >> BlockSize = 0x10000 >> -NumBlocks = 0xA0 >> +NumBlocks = 0xB0 >> >> 0x000000|0x006000 >> >> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize >> @@ -91,7 +91,7 @@ [FD.MEMFD] >> >> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize >> FV = PEIFV >> >> -0x100000|0x900000 >> +0x100000|0xA00000 >> >> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize >> FV = DXEFV >> >> diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf >> index 85fead0..73b50f5 100644 >> --- a/OvmfPkg/OvmfPkgIa32X64.fdf >> +++ b/OvmfPkg/OvmfPkgIa32X64.fdf >> @@ -67,10 +67,10 @@ [FD.OVMF_CODE] >> >> [FD.MEMFD] >> BaseAddress = $(MEMFD_BASE_ADDRESS) >> -Size = 0xA00000 >> +Size = 0xB00000 >> ErasePolarity = 1 >> BlockSize = 0x10000 >> -NumBlocks = 0xA0 >> +NumBlocks = 0xB0 >> >> 0x000000|0x006000 >> >> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize >> @@ -91,7 +91,7 @@ [FD.MEMFD] >> >> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize >> FV = PEIFV >> >> -0x100000|0x900000 >> +0x100000|0xA00000 >> >> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize >> FV = DXEFV >> >> diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf >> index dd5ea30..1e3387f 100644 >> --- a/OvmfPkg/OvmfPkgX64.fdf >> +++ b/OvmfPkg/OvmfPkgX64.fdf >> @@ -67,10 +67,10 @@ [FD.OVMF_CODE] >> >> [FD.MEMFD] >> BaseAddress = $(MEMFD_BASE_ADDRESS) >> -Size = 0xA00000 >> +Size = 0xB00000 >> ErasePolarity = 1 >> BlockSize = 0x10000 >> -NumBlocks = 0xA0 >> +NumBlocks = 0xB0 >> >> 0x000000|0x006000 >> >> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize >> @@ -91,7 +91,7 @@ [FD.MEMFD] >> >> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvSize >> FV = PEIFV >> >> -0x100000|0x900000 >> +0x100000|0xA00000 >> >> gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfDxeMemFvSize >> FV = DXEFV >> >> -- >> 2.8.3 >> > _______________________________________________ > edk2-devel mailing list > edk2-devel@lists.01.org > https://lists.01.org/mailman/listinfo/edk2-devel > _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel