This is meant to be a v4 of Laszlo's S3 series. (I hope
my changes are not too unwelcome! And, appologies for
anything I may have broken!)

The main improvements I made:
 * 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

I retained many of Laszlo's patches, but some were
modified.

I'm still not too happy with Ovmf/AcpiS3SaveDxe.
It would be nice to fixup the main AcpiS3SaveDxe so
we could use it directly rather than having a custom
version in OVMF.

I dropped the portion of the series that saves memory
when S3 is disabled in QEMU. I'd like to push it out,
and look at it as a follow-up to this series.

One other small change that I wanted to make, but I did
not get to is that I wanted to look at the PIIX4 sleep
register rather than CMOS for detecting an S3 resume.

This series is available at:
git://github.com/jljusten/edk2.git ovmf-s3-v4

Jordan Justen (15):
  OvmfPkg: Carve 128KB out of MAINFV in MEMFD
  OvmfPkg/Sec/SecMain.c: Convert to CRLF (dos) text
  OvmfPkg X64 ResetVector: Move page tables from 512KB to 8MB
  OvmfPkg: Move SEC/PEI Temporary RAM from 0x70000 to 0x810000
  OvmfPkg/Sec: Cleanup debug messages
  OvmfPkg/Sec: Remove EFIAPI from functions that don't require it
  OvmfPkg/Sec: Add FindFfsSectionInstance
  OvmfPkg: Split MAINFV into a separate PEI and DXE FVs
  OvmfPkg/PlatformPei: Move BootMode detection before mem-init
  OvmfPkg/PlatformPei: Add mBootMode driver variable
  OvmfPkg/PlatformPei: Call PublishPeiMemory in one place
  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: Add DebugAgentLib for Library class mapping for DXE_DRIVER

Laszlo Ersek (11):
  OvmfPkg: PlatformPei: detect S3 Resume in CMOS and set boot mode
    accordingly
  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/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/OvmfPkg.dec                           |   13 +-
 OvmfPkg/OvmfPkgIa32.dsc                       |   18 +-
 OvmfPkg/OvmfPkgIa32.fdf                       |   42 +-
 OvmfPkg/OvmfPkgIa32X64.dsc                    |   18 +-
 OvmfPkg/OvmfPkgIa32X64.fdf                    |   42 +-
 OvmfPkg/OvmfPkgX64.dsc                        |   18 +-
 OvmfPkg/OvmfPkgX64.fdf                        |   42 +-
 OvmfPkg/PlatformPei/Fv.c                      |   46 +-
 OvmfPkg/PlatformPei/MemDetect.c               |   98 +-
 OvmfPkg/PlatformPei/Platform.c                |   39 +-
 OvmfPkg/PlatformPei/Platform.h                |  188 +--
 OvmfPkg/PlatformPei/PlatformPei.inf           |   17 +-
 OvmfPkg/ResetVector/Bin/ResetVector.x64.raw   |  Bin 628 -> 628 bytes
 OvmfPkg/ResetVector/Ia32/PageTables64.asm     |   22 +-
 OvmfPkg/Sec/Ia32/SecEntry.S                   |   14 +-
 OvmfPkg/Sec/Ia32/SecEntry.asm                 |   14 +-
 OvmfPkg/Sec/SecMain.c                         | 1656 +++++++++++++------------
 OvmfPkg/Sec/SecMain.inf                       |   11 +-
 OvmfPkg/Sec/X64/SecEntry.S                    |    6 +-
 OvmfPkg/Sec/X64/SecEntry.asm                  |    9 +-
 29 files changed, 2670 insertions(+), 985 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.8.5.2


------------------------------------------------------------------------------
CenturyLink Cloud: The Leader in Enterprise Cloud Services.
Learn Why More Businesses Are Choosing CenturyLink Cloud For
Critical Workloads, Development Environments & Everything In Between.
Get a Quote or Start a Free Trial Today. 
http://pubads.g.doubleclick.net/gampad/clk?id=119420431&iu=/4140/ostg.clktrk
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-devel

Reply via email to