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