OvmfPkg: AcpiS3SaveDxe: don't fake LockBox protocol if SMM_REQUIRE

In SVN r15306 (git commit d4ba06df), "OvmfPkg: S3 Resume: fake LockBox
protocol for BootScriptExecutorDxe", we installed a fake LockBox protocol
in OVMF's AcpiS3SaveDxe clone. While our other AcpiS3SaveDxe
customizations remain valid (or harmless), said change is invalid when
OVMF is built with -D SMM_REQUIRE and includes the real protocol provider,
"MdeModulePkg/Universal/LockBox/SmmLockBox/SmmLockBox.inf".

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

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@19045 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Laszlo Ersek 2015-11-30 18:42:01 +00:00 committed by lersek
parent 8dbe742d17
commit b7c14f1e43
2 changed files with 10 additions and 7 deletions

View File

@ -538,12 +538,14 @@ InstallEndOfDxeCallback (
return EFI_LOAD_ERROR;
}
Status = gBS->InstallMultipleProtocolInterfaces (
&ImageHandle,
&gEfiLockBoxProtocolGuid, NULL,
NULL
);
ASSERT_EFI_ERROR (Status);
if (!FeaturePcdGet (PcdSmmSmramRequire)) {
Status = gBS->InstallMultipleProtocolInterfaces (
&ImageHandle,
&gEfiLockBoxProtocolGuid, NULL,
NULL
);
ASSERT_EFI_ERROR (Status);
}
Status = gBS->CreateEventEx (
EVT_NOTIFY_SIGNAL,

View File

@ -59,7 +59,7 @@
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event
[Protocols]
gEfiLockBoxProtocolGuid # PROTOCOL ALWAYS_PRODUCED
gEfiLockBoxProtocolGuid # PROTOCOL SOMETIMES_PRODUCED
gEfiLegacyBiosProtocolGuid # PROTOCOL ALWAYS_CONSUMED
gEfiLegacyRegion2ProtocolGuid # PROTOCOL SOMETIMES_CONSUMED
gFrameworkEfiMpServiceProtocolGuid # PROTOCOL SOMETIMES_CONSUMED
@ -71,6 +71,7 @@
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize ## CONSUMES
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize ## CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable
gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire ## CONSUMES
[Depex]
gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid