v5 of Laszlo's S3 series v5: * The FV restructure sub-set of v4 was committed to the tree, so it is now gone in v5 * This version now should not break Xen's normal boot path. (But, Xen will not support S3 resume until we add a path that sets PlatformPei's mS3Supported for Xen.) * If S3 resume is not detected as enabled, then we don't allocate OVMF's fixed memory ranges as ACPI NVS memory at ~8MB. * PlatformPei MiscInitialization is called on S3 resume
v4: * Consolodate 'fixed' RAM usage at 8MB * Declare fixed memory usage in PCDs & FDF files * Don't decompress FVs on S3 resume * Reduce runtime S3 RAM usage overhead to < 1MB * Remove EmuNvramLib This series is available at: git://github.com/jljusten/edk2.git ovmf-s3-v5 Jordan Justen (7): OvmfPkg/PlatformPei: Add mBootMode driver variable OvmfPkg/PlatformPei: Detect S3 support for QEMU / KVM OvmfPkg: Add section of memory to use for PEI on S3 resume OvmfPkg/PlatformPei: Skip various items for S3 resume OvmfPkg/Sec: Don't decompress the FV on S3 resume OvmfPkg/PlatformPei: Allocate PEI FV as ACPI NVS if S3 is supported OvmfPkg: Add DebugAgentLib for Library class mapping for DXE_DRIVER Laszlo Ersek (12): OvmfPkg: PlatformPei: detect S3 Resume in CMOS and set boot mode accordingly OvmfPkg QemuFwCfgLib: determine if S3 support is explicitly enabled OvmfPkg: PlatformPei: reserve SEC/PEI temp RAM for S3 resume OvmfPkg: PlatformPei: reserve early page tables on X64 OvmfPkg: S3 Resume: pull in PEIM orchestrating S3 Resume OvmfPkg: implement LockBoxLib OvmfPkg: S3 Suspend: import specialized copy of AcpiS3SaveDxe OvmfPkg: S3 Suspend: save ACPI context OvmfPkg: S3 Suspend: enable creation/saving of an S3 Boot Script OvmfPkg: S3 Suspend: save boot script after ACPI context OvmfPkg: S3 Resume: fake LockBox protocol for BootScriptExecutorDxe OvmfPkg: S3 Resume: pull in BootScriptExecutorDxe OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c | 606 ++++++++++++++++++++++++++ OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.h | 59 +++ OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf | 79 ++++ OvmfPkg/Include/Library/QemuFwCfgLib.h | 14 + OvmfPkg/Library/LockBoxLib/LockBoxBase.c | 42 ++ OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf | 44 ++ OvmfPkg/Library/LockBoxLib/LockBoxDxe.c | 62 +++ OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf | 45 ++ OvmfPkg/Library/LockBoxLib/LockBoxLib.c | 358 +++++++++++++++ OvmfPkg/Library/LockBoxLib/LockBoxLib.h | 47 ++ OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c | 28 ++ OvmfPkg/OvmfPkg.dec | 3 + OvmfPkg/OvmfPkgIa32.dsc | 18 +- OvmfPkg/OvmfPkgIa32.fdf | 10 + OvmfPkg/OvmfPkgIa32X64.dsc | 18 +- OvmfPkg/OvmfPkgIa32X64.fdf | 10 + OvmfPkg/OvmfPkgX64.dsc | 18 +- OvmfPkg/OvmfPkgX64.fdf | 10 + OvmfPkg/PlatformPei/Fv.c | 5 +- OvmfPkg/PlatformPei/MemDetect.c | 94 +++- OvmfPkg/PlatformPei/Platform.c | 28 +- OvmfPkg/PlatformPei/Platform.h | 4 + OvmfPkg/PlatformPei/PlatformPei.inf | 12 +- OvmfPkg/Sec/SecMain.c | 54 ++- 24 files changed, 1636 insertions(+), 32 deletions(-) create mode 100644 OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c create mode 100644 OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.h create mode 100644 OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf create mode 100644 OvmfPkg/Library/LockBoxLib/LockBoxBase.c create mode 100644 OvmfPkg/Library/LockBoxLib/LockBoxBaseLib.inf create mode 100644 OvmfPkg/Library/LockBoxLib/LockBoxDxe.c create mode 100644 OvmfPkg/Library/LockBoxLib/LockBoxDxeLib.inf create mode 100644 OvmfPkg/Library/LockBoxLib/LockBoxLib.c create mode 100644 OvmfPkg/Library/LockBoxLib/LockBoxLib.h -- 1.9.rc1 ------------------------------------------------------------------------------ Managing the Performance of Cloud-Based Applications Take advantage of what the Cloud has to offer - Avoid Common Pitfalls. Read the Whitepaper. http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list edk2-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/edk2-devel