v1 posting: - http://thread.gmane.org/gmane.comp.bios.tianocore.devel/5461
additional v1 test results: - http://thread.gmane.org/gmane.comp.bios.tianocore.devel/5461/focus=5495 - http://thread.gmane.org/gmane.comp.bios.tianocore.devel/5461/focus=5501 - http://thread.gmane.org/gmane.comp.bios.tianocore.devel/5461/focus=5613 - http://thread.gmane.org/gmane.comp.bios.tianocore.devel/5461/focus=5639 changes in v2: - new patch at the beginning provides documentation in advance: [PATCH v2 01/32] OvmfPkg: PlatformPei: document ranges to be reserved manually - fixed a comment typo ("disbled" -> "disabled") in [PATCH v2 02/32] OvmfPkg: introduce EmuNvramLib - new patch reserves one additional memory range (lack of reservation did not cause problems in practice): [PATCH v2 10/32] OvmfPkg: PlatformPei: reserve early page tables on X64 - the following RFC/v1 patch has been applied, so dropping it here: [PATCH 20/22] UefiCpuPkg: S3Resume2Pei: align return stacks explicitly - new v2 patches 24 to 28 extend QemuFwCfgLib with the ability to query S3 support (ie. qemu configuration) directly, also offering the library to SEC client code (which runs from read-only memory): [PATCH v2 24/32] OvmfPkg: QemuFwCfgLib: drop bogus dependency on UefiBootServicesTableLib [PATCH v2 25/32] OvmfPkg: QemuFwCfgLib: determine if S3 support is explicitly disabled [PATCH v2 26/32] OvmfPkg: QemuFwCfgLib: introduce InternalQemuFwCfgIsAvailable() [PATCH v2 27/32] OvmfPkg: QemuFwCfgLib: extract stateful implementation [PATCH v2 28/32] OvmfPkg: QemuFwCfgLib: implement for SEC - new v2 patches 29 to 32 avoid reserving memory for S3 purposes if S3 support has been explicitly disabled in qemu, saving guest RAM: [PATCH v2 29/32] OvmfPkg: PlatformPei: "S3 Resume Boot Path" implies "S3 was Enabled" [PATCH v2 30/32] OvmfPkg: AcpiS3SaveDxe: depend on SmmLockBox explicitly [PATCH v2 31/32] OvmfPkg: turn off NVRAM emulation when S3 is explicitly disabled [PATCH v2 32/32] OvmfPkg: PlatformPei: don't reserve early-use ranges with S3 disabled The series can be fetched from <https://github.com/lersek/edk2/commits/s3_v2>. Please test and/or review... and Happy Christmas! :) Thanks, Laszlo Laszlo Ersek (32): OvmfPkg: PlatformPei: document ranges to be reserved manually OvmfPkg: introduce EmuNvramLib OvmfPkg: Sec: forbid overlap between decompressed fw image and EmuNvram OvmfPkg: PlatformPei: simplify memory range expressions in MemDetect() OvmfPkg: PlatformPei: reuse PublishPeiMemory() in MemDetect() OvmfPkg: PlatformPei: reserve / install PEI core memory dependent on S3 OvmfPkg: PlatformPei: reserve decompressed firmware area from the OS OvmfPkg: PlatformPei: reserve fw decompression scratch space from the OS OvmfPkg: PlatformPei: reserve initial (pre-migr.) SEC/PEI stack and PEI heap OvmfPkg: PlatformPei: reserve early page tables on X64 OvmfPkg: S3 Suspend: introduce EmuSmmDxe for exposing SMRAM OvmfPkg: S3 Suspend: pull in DXE driver for EFI_SMM_COMMUNICATION_PROTOCOL OvmfPkg: S3 Suspend: pull in SmmLockBox driver OvmfPkg: S3 Suspend: use SMM instances for LockBoxLib library class 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 Suspend: introduce DiscloseSmstSmm driver OvmfPkg: S3 Resume: introduce EmuSmmPei for exposing SMRAM in PEI OvmfPkg: S3 Resume: pull in BootScriptExecutorDxe OvmfPkg: S3 Resume: pull in PEIM orchestrating S3 Resume OvmfPkg: PlatformPei: detect S3 Resume in CMOS and set boot mode accordingly OvmfPkg: QemuFwCfgLib: drop bogus dependency on UefiBootServicesTableLib OvmfPkg: QemuFwCfgLib: determine if S3 support is explicitly disabled OvmfPkg: QemuFwCfgLib: introduce InternalQemuFwCfgIsAvailable() OvmfPkg: QemuFwCfgLib: extract stateful implementation OvmfPkg: QemuFwCfgLib: implement for SEC OvmfPkg: PlatformPei: "S3 Resume Boot Path" implies "S3 was Enabled" OvmfPkg: AcpiS3SaveDxe: depend on SmmLockBox explicitly OvmfPkg: turn off NVRAM emulation when S3 is explicitly disabled OvmfPkg: PlatformPei: don't reserve early-use ranges with S3 disabled OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf | 78 +++ OvmfPkg/DiscloseSmstSmm/DiscloseSmstSmm.inf | 50 ++ OvmfPkg/EmuSmmDxe/EmuSmmDxe.inf | 54 ++ OvmfPkg/EmuSmmPei/EmuSmmPei.inf | 57 +++ OvmfPkg/Library/EmuNvramLib/EmuNvramLib.inf | 43 ++ OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf | 7 +- OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf | 54 ++ OvmfPkg/PlatformPei/PlatformPei.inf | 2 + OvmfPkg/Sec/SecMain.inf | 1 + OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.h | 59 +++ OvmfPkg/Include/Library/EmuNvramLib.h | 32 ++ OvmfPkg/Include/Library/QemuFwCfgLib.h | 33 ++ OvmfPkg/PlatformPei/Platform.h | 6 +- OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c | 605 +++++++++++++++++++++++ OvmfPkg/DiscloseSmstSmm/DiscloseSmstSmm.c | 36 ++ OvmfPkg/EmuSmmDxe/EmuSmmDxe.c | 277 +++++++++++ OvmfPkg/EmuSmmPei/EmuSmmPei.c | 280 +++++++++++ OvmfPkg/Library/EmuNvramLib/EmuNvramLib.c | 173 +++++++ OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c | 88 ++-- OvmfPkg/Library/QemuFwCfgLib/StatefulImpl.c | 92 ++++ OvmfPkg/Library/QemuFwCfgLib/StatelessImpl.c | 76 +++ OvmfPkg/PlatformPei/Fv.c | 68 ++- OvmfPkg/PlatformPei/MemDetect.c | 55 +-- OvmfPkg/PlatformPei/Platform.c | 23 +- OvmfPkg/Sec/SecMain.c | 6 + OvmfPkg/OvmfPkg.dec | 8 + OvmfPkg/OvmfPkgIa32.dsc | 46 +- OvmfPkg/OvmfPkgIa32.fdf | 26 + OvmfPkg/OvmfPkgIa32X64.dsc | 46 +- OvmfPkg/OvmfPkgIa32X64.fdf | 26 + OvmfPkg/OvmfPkgX64.dsc | 46 +- OvmfPkg/OvmfPkgX64.fdf | 26 + OvmfPkg/PlatformPei/MemoryMap.txt | 120 +++++ 33 files changed, 2496 insertions(+), 103 deletions(-) create mode 100644 OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf create mode 100644 OvmfPkg/DiscloseSmstSmm/DiscloseSmstSmm.inf create mode 100644 OvmfPkg/EmuSmmDxe/EmuSmmDxe.inf create mode 100644 OvmfPkg/EmuSmmPei/EmuSmmPei.inf create mode 100644 OvmfPkg/Library/EmuNvramLib/EmuNvramLib.inf create mode 100644 OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgSecLib.inf create mode 100644 OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.h create mode 100644 OvmfPkg/Include/Library/EmuNvramLib.h create mode 100644 OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c create mode 100644 OvmfPkg/DiscloseSmstSmm/DiscloseSmstSmm.c create mode 100644 OvmfPkg/EmuSmmDxe/EmuSmmDxe.c create mode 100644 OvmfPkg/EmuSmmPei/EmuSmmPei.c create mode 100644 OvmfPkg/Library/EmuNvramLib/EmuNvramLib.c create mode 100644 OvmfPkg/Library/QemuFwCfgLib/StatefulImpl.c create mode 100644 OvmfPkg/Library/QemuFwCfgLib/StatelessImpl.c create mode 100644 OvmfPkg/PlatformPei/MemoryMap.txt -- 1.8.3.1 ------------------------------------------------------------------------------ Rapidly troubleshoot problems before they affect your business. Most IT organizations don't have a clear picture of how application performance affects their revenue. With AppDynamics, you get 100% visibility into your Java,.NET, & PHP application. Start your 15-day FREE TRIAL of AppDynamics Pro! http://pubads.g.doubleclick.net/gampad/clk?id=84349831&iu=/4140/ostg.clktrk _______________________________________________ edk2-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/edk2-devel
