Looks good. Thanks! Reviewed-by: Jordan Justen <[email protected]>
On 2015-11-30 12:51:35, Laszlo Ersek wrote: > At the moment, the "UefiCpuPkg/Universal/Acpi/S3Resume2Pei" module doesn't > support S3 resume if the platform has SMM enabled and the PEI phase is > built for X64. We document this in the README, but it is not conspicuous > enough. > > Replace the "fine print" in the README with a runtime check in > PlatformPei. > > Cc: Jordan Justen <[email protected]> > Suggested-by: Jordan Justen <[email protected]> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Laszlo Ersek <[email protected]> > --- > OvmfPkg/PlatformPei/PlatformPei.inf | 1 + > OvmfPkg/PlatformPei/Platform.c | 23 ++++++++++++++++++++ > OvmfPkg/README | 5 ----- > 3 files changed, 24 insertions(+), 5 deletions(-) > > diff --git a/OvmfPkg/PlatformPei/PlatformPei.inf > b/OvmfPkg/PlatformPei/PlatformPei.inf > index ee044a2..cec19ee 100644 > --- a/OvmfPkg/PlatformPei/PlatformPei.inf > +++ b/OvmfPkg/PlatformPei/PlatformPei.inf > @@ -47,6 +47,7 @@ [Guids] > gEfiXenInfoGuid > > [LibraryClasses] > + BaseLib > DebugLib > HobLib > IoLib > diff --git a/OvmfPkg/PlatformPei/Platform.c b/OvmfPkg/PlatformPei/Platform.c > index 8252dc9..657fa68 100644 > --- a/OvmfPkg/PlatformPei/Platform.c > +++ b/OvmfPkg/PlatformPei/Platform.c > @@ -22,6 +22,7 @@ > // > // The Library classes this module consumes > // > +#include <Library/BaseLib.h> > #include <Library/DebugLib.h> > #include <Library/HobLib.h> > #include <Library/IoLib.h> > @@ -461,6 +462,27 @@ DebugDumpCmos ( > } > > > +VOID > +S3Verification ( > + VOID > + ) > +{ > +#if defined (MDE_CPU_X64) > + if (FeaturePcdGet (PcdSmmSmramRequire) && mS3Supported) { > + DEBUG ((EFI_D_ERROR, > + "%a: S3Resume2Pei doesn't support X64 PEI + SMM yet.\n", > __FUNCTION__)); > + DEBUG ((EFI_D_ERROR, > + "%a: Please disable S3 on the QEMU command line (see the README),\n", > + __FUNCTION__)); > + DEBUG ((EFI_D_ERROR, > + "%a: or build OVMF with \"OvmfPkgIa32X64.dsc\".\n", __FUNCTION__)); > + ASSERT (FALSE); > + CpuDeadLoop (); > + } > +#endif > +} > + > + > /** > Perform Platform PEI initialization. > > @@ -488,6 +510,7 @@ InitializePlatform ( > mS3Supported = TRUE; > } > > + S3Verification (); > BootModeInitialization (); > AddressWidthInitialization (); > > diff --git a/OvmfPkg/README b/OvmfPkg/README > index 0f70fa7..e6137dd 100644 > --- a/OvmfPkg/README > +++ b/OvmfPkg/README > @@ -170,11 +170,6 @@ can be used on Windows. > > -global ICH9-LPC.disable_s3=1 \ > > -Dependent on the development status of the > -"UefiCpuPkg/Universal/Acpi/S3Resume2Pei" module, S3 resume may not work in > -OvmfPkg/OvmfPkgX64.dsc builds. In such cases, OvmfPkg/OvmfPkgIa32X64.dsc is > -recommended for running X64 guests. > - > === Network Support === > > OVMF provides a UEFI network stack by default. Its lowest level driver is the > -- > 1.8.3.1 > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

