https://github.com/lersek/edk2/commits/s3_v3

v3:
- Drop the following patches, applied from v2:
  [PATCH v2 04/32] OvmfPkg: PlatformPei: simplify memory range
                   expressions in MemDetect()
  [PATCH v2 05/32] OvmfPkg: PlatformPei: reuse PublishPeiMemory() in
                   MemDetect()
  [PATCH v2 24/32] OvmfPkg: QemuFwCfgLib: drop bogus dependency on
                   UefiBootServicesTableLib

- Implement OVMF-specific LockBoxLib (on top of EmuNvramLib), rather
  than emulating SMRAM for edk2's SMM-based LockBoxLib. Consequently,
  don't pull in the SMM core and dependent SMM drivers, but rebase the
  S3 machinery to the new LockBoxLib.

- Replace the following patches:
  [PATCH v2 11/32] OvmfPkg: S3 Suspend: introduce EmuSmmDxe for exposing
                   SMRAM
  [PATCH v2 12/32] OvmfPkg: S3 Suspend: pull in DXE driver for
                   EFI_SMM_COMMUNICATION_PROTOCOL
  [PATCH v2 13/32] OvmfPkg: S3 Suspend: pull in SmmLockBox driver
  [PATCH v2 14/32] OvmfPkg: S3 Suspend: use SMM instances for LockBoxLib
                   library class

  with
  [PATCH v3 09/24] OvmfPkg: implement LockBoxLib

- Drop
  [PATCH v2 19/32] OvmfPkg: S3 Suspend: introduce DiscloseSmstSmm driver

- Drop
  [PATCH v2 20/32] OvmfPkg: S3 Resume: introduce EmuSmmPei for exposing
                   SMRAM in PEI

  and reimplement a small part of it with the new
  [PATCH v3 14/24] OvmfPkg: S3 Resume: fake LockBox protocol for
                   BootScriptExecutorDxe

- Drop
  [PATCH v2 30/32] OvmfPkg: AcpiS3SaveDxe: depend on SmmLockBox
                   explicitly

  and reimplement a part of it inside
  [PATCH v3 11/24] OvmfPkg: S3 Suspend: save ACPI context

- Changes in preserved patches:

  [PATCH v3 01/24] OvmfPkg: PlatformPei: document ranges to be reserved
                   manually
  - Range from 0x01400000 to 0x01500000 covers LockBox, not SMRAM.
  - Updated PCD names accordingly.
  - Range from 0x01500000 to 0x01501000, covering SMST pointer in v2, is
    removed.
  - Post-resume PEI permanent memory, starting at 0x01501000 in v2, is
    shifted down to 0x01500000.

  [PATCH v3 02/24] OvmfPkg: introduce EmuNvramLib
  - EmuNvramSmram*() -> EmuNvramLockBox*()
  - EmuNvramSmstPtr*() -> dropped
  - same for PCDs

  [PATCH v3 11/24] OvmfPkg: S3 Suspend: save ACPI context
  - Update LockBoxLib dependency tree in commit message.
  - Since the new LockBoxLib doesn't depend on a separate LockBox
    driver, OVMF's AcpiS3SaveDxe can't use a Depex to check for a
    working LockBox. Look at the NVRAM LockBox size explicitly in the
    InstallAcpiS3Save() function instead.
  - DSC files: no need to resolve LockBoxLib for DXE_DRIVER modules, the
    global resolution added in "[PATCH v3 09/24] OvmfPkg: implement
    LockBoxLib" works.

  [PATCH v3 12/24] OvmfPkg: S3 Suspend: enable creation/saving of an S3
                   Boot Script
  - Update PiDxeS3BootScriptLib dependencies in the commit message.
  - Replace SMRAM language with EfiACPIMemoryNVS/LockBox in the commit
    message.

  [PATCH v3 13/24] OvmfPkg: S3 Suspend: save boot script after ACPI
                   context
  - Update commit message to reflect that our LockBox implementation  is
    actually not locked down by installation of
    EFI_DXE_SMM_READY_TO_LOCK_PROTOCOL. This is harmless.

  [PATCH v3 15/24] OvmfPkg: S3 Resume: pull in BootScriptExecutorDxe
  - Update BootScriptExecutorDxe and PiDxeS3BootScriptLib dependencies
    in commit message (SMM vs. new LockBoxLib).

  [PATCH v3 16/24] OvmfPkg: S3 Resume: pull in PEIM orchestrating S3
  - Update S3Resume2Pei dependencies in commit message (SMM vs. new
    LockBoxLib).
  - No need to resolve LockBoxLib specifically for PEIMs.

  [PATCH v3 17/24] OvmfPkg: PlatformPei: detect S3 Resume in CMOS and
  - update commit message: LockBox is not in SMRAM

  [PATCH v3 19/24] OvmfPkg: QemuFwCfgLib: introduce
                   InternalQemuFwCfgIsAvailable()
  - add Jordan's R-b to commit message

  [PATCH v3 20/24] OvmfPkg: QemuFwCfgLib: extract stateful
                   implementation
  - rename "StatefulImpl.c" to "QemuFwCfgLibPeiDxe.c"
  - add Jordan's R-b to commit message

  [PATCH v3 21/24] OvmfPkg: QemuFwCfgLib: implement for SEC
  - rename "StatelessImpl.c" to "QemuFwCfgLibSec.c"
  - add comment suggested by Jordan to InternalQemuFwCfgIsAvailable()
  - add Jordan's R-b to commit message

  [PATCH v3 23/24] OvmfPkg: turn off NVRAM emulation when S3 is
                   explicitly disabled
  - update commit message to reflect new (smaller) NVRAM range
    0x01400000..0x03500000, ie. without SmstPtr page in the middle
  - update explanation in commit message wrt .how turning off NVRAM
    disables AcpiS3SaveDxe and BootScriptExecutorDxe thru LockBox
  - drop mentions of SMM in commit message
  - adapt code to new NVRAM layout

Laszlo Ersek (24):
  OvmfPkg: PlatformPei: document ranges to be reserved manually
  OvmfPkg: introduce EmuNvramLib
  OvmfPkg: Sec: forbid overlap between decompressed fw image and
    EmuNvram
  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: 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: S3 Resume: pull in PEIM orchestrating S3 Resume
  OvmfPkg: PlatformPei: detect S3 Resume in CMOS and set boot mode
    accordingly
  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: turn off NVRAM emulation when S3 is explicitly disabled
  OvmfPkg: PlatformPei: don't reserve early-use ranges with S3 disabled

 OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf           |  81 +++
 OvmfPkg/Library/EmuNvramLib/EmuNvramLib.inf       |  42 ++
 OvmfPkg/Library/LockBoxLib/LockBoxLib.inf         |  39 ++
 OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.inf     |   6 +-
 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             |  30 ++
 OvmfPkg/Include/Library/QemuFwCfgLib.h            |  33 ++
 OvmfPkg/PlatformPei/Platform.h                    |   6 +-
 OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c                | 611 ++++++++++++++++++++++
 OvmfPkg/Library/EmuNvramLib/EmuNvramLib.c         | 132 +++++
 OvmfPkg/Library/LockBoxLib/LockBoxLib.c           | 386 ++++++++++++++
 OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLib.c       |  88 ++--
 OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibPeiDxe.c |  92 ++++
 OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibSec.c    |  81 +++
 OvmfPkg/PlatformPei/Fv.c                          |  68 ++-
 OvmfPkg/PlatformPei/MemDetect.c                   |  30 +-
 OvmfPkg/PlatformPei/Platform.c                    |  23 +-
 OvmfPkg/Sec/SecMain.c                             |   6 +
 OvmfPkg/OvmfPkg.dec                               |   7 +
 OvmfPkg/OvmfPkgIa32.dsc                           |  14 +-
 OvmfPkg/OvmfPkgIa32.fdf                           |   4 +
 OvmfPkg/OvmfPkgIa32X64.dsc                        |  14 +-
 OvmfPkg/OvmfPkgIa32X64.fdf                        |   4 +
 OvmfPkg/OvmfPkgX64.dsc                            |  14 +-
 OvmfPkg/OvmfPkgX64.fdf                            |   4 +
 OvmfPkg/PlatformPei/MemoryMap.txt                 | 108 ++++
 29 files changed, 1957 insertions(+), 82 deletions(-)
 create mode 100644 OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf
 create mode 100644 OvmfPkg/Library/EmuNvramLib/EmuNvramLib.inf
 create mode 100644 OvmfPkg/Library/LockBoxLib/LockBoxLib.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/Library/EmuNvramLib/EmuNvramLib.c
 create mode 100644 OvmfPkg/Library/LockBoxLib/LockBoxLib.c
 create mode 100644 OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibPeiDxe.c
 create mode 100644 OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgLibSec.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

Reply via email to