Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Ard Biesheuvel 155f9d424c IntelFrameworkModulePkg/GenericBdsLib: remove AcpiS3->S3Save() call
The AcpiS3->S3Save() call needs to occur before the end-of-DXE event
is signalled. The end-of-DXE event needs to be signalled prior to
invoking any UEFI drivers, applications, or connecting consoles.

This means the call to S3Save() that occurs in BdsLibBootViaBootOption()
violates the ordering constraints, and should be removed. Since it is
the responsibility of the platform BDS to signal the end-of-DXE event,
it should also perform the AcpiS3->S3Save() call at an appropriate time.

Commit message update from Laszlo Ersek <lersek@redhat.com>:

Following Jiewen Yao's idea in

 http://thread.gmane.org/gmane.comp.bios.tianocore.devel/16088/focus=16146

platforms that
(1) use this exact instance of GenericBdsLib, *and*
(2) support S3

should now collect the S3 state
(3) in an End-of-Dxe callback in their AcpiS3SaveDxe drivers, *or*
(4) with an explicit AcpiS3->S3Save() call made to their AcpiS3SaveDxe
    drivers from their PlatformBdsLib instances.

OvmfPkg, which uses this GenericBdsLib instance, and has its own
AcpiS3SaveDxe fork, follows (3).

Vlv2TbltDevicePkg, which has a GenericBdsLib fork, and uses
IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe, follows (4).

There are no other platforms in the public edk2 repository that support
S3.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jiewen Yao <Jiewen.Yao@intel.com>
[lersek@redhat.com: updated commit message]
Cc: Ard Biesheuvel <ard.biesheuvel@linaro.org>
Cc: Jeff Fan <jeff.fan@intel.com>
Cc: Jiewen Yao <Jiewen.Yao@intel.com>
Signed-off-by: Laszlo Ersek <lersek@redhat.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18036 6f19259b-4bc3-4df7-8a09-765794883524
2015-07-26 08:02:19 +00:00
AppPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
ArmPkg ArmPkg: Remove PCD declarations linked to the ARM BDS Linux Loader 2015-07-14 14:39:45 +00:00
ArmPlatformPkg ArmPlatformPkg/Bds: Use HandleProtocol to get SNP instance 2015-07-16 11:27:05 +00:00
ArmVirtPkg ArmVirtPkg: Make terminal type consistent 2015-07-16 08:50:24 +00:00
BaseTools BaseTools: Fixed incorrect alignment bug. 2015-07-16 00:56:14 +00:00
BeagleBoardPkg ArmPlatformPkg: Remove Linux specific boot path 2015-07-14 14:37:57 +00:00
Conf EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
CorebootModulePkg CorebootModulePkg: Get power management register addresses. 2015-07-01 09:41:58 +00:00
CorebootPayloadPkg CorebootPayloadPkg: Fix "reset -s" issue. 2015-06-25 16:02:16 +00:00
CryptoPkg CryptoPkg: remove redundant parentheses 2015-07-14 02:57:38 +00:00
DuetPkg DuetPkg: Use the new PCDs defined in MdePkg. 2015-05-06 03:26:49 +00:00
EdkCompatibilityPkg EdkCompatibilityPkg: Remove gZeroGuid def in FrameworkHiiOnUefiHiiThunk 2015-07-07 03:05:18 +00:00
EdkShellBinPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EdkShellPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
EmbeddedPkg EmbeddedPkg/Lan9118Dxe: Ignore spurious RXE errors 2015-07-16 11:24:42 +00:00
EmulatorPkg EmulatorPkg: Update comment for PcdDefaultTerminalType 2015-07-16 08:50:15 +00:00
FatBinPkg FatBinPkg: Update ARM and AArch64 binaries 2015-02-27 17:27:42 +00:00
IntelFrameworkModulePkg IntelFrameworkModulePkg/GenericBdsLib: remove AcpiS3->S3Save() call 2015-07-26 08:02:19 +00:00
IntelFrameworkPkg IntelFrameworkPkg FrameworkUefiLib: Fix ASSERT in CatVSPrint 2015-07-10 01:08:05 +00:00
IntelFspPkg IntelFspPkg BaseFspDebugLibSerialPort: Use safe string functions 2015-06-30 06:30:20 +00:00
IntelFspWrapperPkg FspInitPei function calling parameters not matching with the function definition. 2015-07-07 05:47:08 +00:00
MdeModulePkg MdeModulePkg PiSmmCore: Remove a hidden assumption of SMRAM reservation 2015-07-26 07:38:12 +00:00
MdePkg MdePkg: Update comment for PcdDefaultTerminalType 2015-07-16 08:50:07 +00:00
NetworkPkg NetworkPkg: Add the unspecified address check for DNS6 StationIp. 2015-07-16 02:37:53 +00:00
Nt32Pkg Nt32Pkg: Update DSC/FDF to include drivers for HTTP boot. 2015-07-09 08:33:38 +00:00
Omap35xxPkg */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
OptionRomPkg OptionRomPkg: Remove redundant included header file defintion in Ax88772.h and Ax88772b.h files 2015-07-08 02:56:54 +00:00
OvmfPkg OvmfPkg: PlatformBdsLib: signal End-of-Dxe event group 2015-07-26 08:02:13 +00:00
PcAtChipsetPkg PcAtChipsetPkg/PciHostBridgeDxe/PciRootBridgeIo.c: rewrap code, strip trailing ws 2015-07-14 12:01:30 +00:00
PerformancePkg PerformancePkg Dp_App: Fix ASSERT in GetNameFromHandle 2015-07-13 01:24:44 +00:00
SecurityPkg SecurityPkg: Fix DBX Variable Read Error in ImageVerificationLib 2015-07-15 02:13:48 +00:00
ShellBinPkg ShellBinPkg: Ia32/X64 Shell binary update. 2015-06-12 11:20:53 +00:00
ShellPkg ShellPkg: Add optional 'tftp' EFI Shell command 2015-07-15 15:39:53 +00:00
SourceLevelDebugPkg SourceLevelDebugPkg/SecPeiDebugAgentLib: Restore CPU interrupt state 2015-07-10 05:48:19 +00:00
StdLib StdLib: Remove EfiSocketLib and Ip4Config Protocol dependency. 2015-07-08 03:12:58 +00:00
StdLibPrivateInternalFiles */Contributions.txt: Update example email address 2015-02-03 17:29:14 +00:00
UefiCpuPkg UefiCpuPkg/CpuMpPei: Register callback on End Of Pei PPI 2015-07-15 03:46:13 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
Vlv2DeviceRefCodePkg Fixed potential security issue introduced by SmramCpuNvs variable. 2015-06-23 07:22:44 +00:00
Vlv2TbltDevicePkg Vlv2TbltDevicePkg: Remove Ip4ConfigDxe module from build 2015-07-10 05:47:31 +00:00
.gitignore EDK II: Add .gitignore 2014-10-14 16:08:15 +00:00
BuildNotes2.txt Update to new SVN URL in readme.txt 2013-06-08 05:26:39 +00:00
Edk2Setup.bat Edk2: Update Edk2Setup.bat 2015-06-16 07:23:45 +00:00
Maintainers.txt Daryl has changed positions and I am taking over maintaining for now. 2015-07-26 07:38:16 +00:00
edksetup.bat Update edksetup.bat to support Microsoft Visual Studio 2013 when building the Nt32Pkg emulation platform (enabled using the --nt32 flag). 2014-10-30 17:09:25 +00:00
edksetup.sh edksetup.sh: Ensure that WORKSPACE points to the top of an edk2 checkout 2014-07-28 17:37:40 +00:00