Acidanthera UEFI Development Kit based on EDK II edk2-stable202311
Go to file
Laszlo Ersek 600c74bcd2 OvmfPkg: S3 Suspend: import specialized copy of AcpiS3SaveDxe
"IntelFrameworkModulePkg/Universal/Acpi/AcpiS3SaveDxe/AcpiS3SaveDxe.inf"
currently specifies a DepEx on gEfiMpServiceProtocolGuid (MP Services).

The justification is the following code sequence:

  InstallAcpiS3Save()
    if PcdFrameworkCompatibilitySupport is set:
      InstallAcpiS3SaveThunk()
        if EFI_MP_SERVICES_PROTOCOL is available:
          GetVariable(ACPI_GLOBAL_VARIABLE)

In English, the AcpiS3SaveDxe driver insists on the presence of MP
Services *unconditionally* because,

- if PcdFrameworkCompatibilitySupport is set (the default is false),
- and MP Services are available (which is constant true under the above
  condition),

then the AcpiS3SaveDxe driver would like to get the ACPI_GLOBAL_VARIABLE
variable from the MP Services driver, rather than setting it itself.

The DepEx prevents AcpiS3SaveDxe from loading under OvmfPkg, since we
provide no MP Services implementation. This is particularly broken since
the default PcdFrameworkCompatibilitySupport value is FALSE, making the
entire code that would look at EFI_MP_SERVICES_PROTOCOL dead.

Copy AcpiS3SaveDxe to OvmfPkg, substitute PcdFrameworkCompatibilitySupport
with constant FALSE, and remove all code that becomes dead, including the
DepEx.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15302 6f19259b-4bc3-4df7-8a09-765794883524
2014-03-04 08:03:31 +00:00
AppPkg Enable the build command override the .DSC file contents to enable debug output and specify which debug messages are displayed. An example: 2013-11-19 02:37:37 +00:00
ArmPkg ArmPkg: Tidy assembler code 2014-03-01 11:01:00 +00:00
ArmPlatformPkg ArmPlatformPkg/ArmVExpressDxe: Platform specific driver for ARM VExpress based platform 2014-03-01 11:05:44 +00:00
BaseTools Fix CRLF format 2014-01-27 05:36:53 +00:00
BeagleBoardPkg ARM Packages: CRLF fixup 2014-02-12 15:30:34 +00:00
Conf Adding top-level Conf directory for next generation of EDK II build infrastructure tools. 2007-06-20 19:33:23 +00:00
CryptoPkg Update CryptoPkg version: 0.92 -> 0.93 2014-01-10 02:30:22 +00:00
DuetPkg Fix CRLF format 2014-01-22 08:35:25 +00:00
EdkCompatibilityPkg Fix CRLF format 2014-01-23 05:27:14 +00:00
EdkShellBinPkg New EdkShell binaries. 2014-01-10 04:57:57 +00:00
EdkShellPkg EdkShellPkg/ShellR64.patch: Adding missing files from the patch 2014-01-14 15:31:01 +00:00
EmbeddedPkg EmbeddedPkg: Added support for AArch64 2014-03-01 11:01:44 +00:00
EmulatorPkg Update PeiServicesTablePointerLib instance to add new API MigratePeiServicesTablePointer 2014-01-16 02:42:17 +00:00
FatBinPkg New FatDxe binary. 2014-01-10 02:44:43 +00:00
IntelFrameworkModulePkg Fix CRLF format 2014-01-22 08:38:20 +00:00
IntelFrameworkPkg Update IntelFrameworkPkg version: 0.92->0.93 2014-01-10 01:18:20 +00:00
MdeModulePkg Add comment for S3BootScriptSaveMemPoll API, since it does not match PI specification. 2014-03-01 12:25:31 +00:00
MdePkg Add comment for S3BootScriptSaveMemPoll API, since it does not match PI specification. 2014-03-01 12:25:31 +00:00
NetworkPkg Fix CRLF format 2014-01-22 08:39:32 +00:00
Nt32Pkg Follow UEFI spec to add the definition for EFI_SPECIFICATION_VERSION, and update other table version to refer to it. Remove the “/D TIANO_RELEASE_VERSION=0x00080006” option in Nt32Pkg DSC file, since it’s not used in source code. 2013-11-26 07:36:29 +00:00
Omap35xxPkg ARM Packages: CRLF fixup 2014-02-12 15:30:34 +00:00
OptionRomPkg Fix CRLF format 2014-01-22 08:39:50 +00:00
OvmfPkg OvmfPkg: S3 Suspend: import specialized copy of AcpiS3SaveDxe 2014-03-04 08:03:31 +00:00
PcAtChipsetPkg Fix CRLF format 2014-01-22 08:40:06 +00:00
PerformancePkg Refine the select language logic. 2013-09-05 05:39:57 +00:00
SecurityPkg Add description information for the GUID and Library class defined in DEC file 2014-01-28 07:00:06 +00:00
ShellBinPkg ShellBinPkg: ARM binaries update based on 15257. 2014-02-25 10:37:49 +00:00
ShellPkg Convert the value from 'int' to 'CHAR16' to match the type of variable in ShellProtocol.c. 2014-02-28 00:36:03 +00:00
SourceLevelDebugPkg Fix CRLF format 2014-01-22 08:40:49 +00:00
StdLib Fix the non-blocking behavior for connect. The behavior was correct if the code polled the connect routine but was not correct when using select to complete the asynchronous request. This change fixes the select case by moving where some of the operations performed upon the connection completion. 2013-12-13 19:22:39 +00:00
StdLibPrivateInternalFiles EADK (StdLib, AppPkg, StdLibPrivateInternalFiles): Update ReadMe.txt in all packages. 2013-10-24 23:14:10 +00:00
UefiCpuPkg Fix ResetVectorVtf0.asm comment typo 2014-01-28 02:30:10 +00:00
UnixPkg UnixPkg: Remove UnixPkg files (It is replaced by EmulatorPkg) 2013-07-29 21:09:55 +00:00
BuildNotes2.txt Update to new SVN URL in readme.txt 2013-06-08 05:26:39 +00:00
edksetup.bat edksetup.bat: Fixed corrupts CYGWIN_HOME 2014-02-24 14:14:13 +00:00
edksetup.sh edksetup.sh: Fix typo and return code 2014-01-30 19:26:53 +00:00