On 03/11/2015 22:00, Laszlo Ersek wrote: > 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 <ler...@redhat.com> > --- > OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf | 3 ++- > OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c | 14 ++++++++------ > 2 files changed, 10 insertions(+), 7 deletions(-) > > diff --git a/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf > b/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf > index 4cc0713..a288b95 100644 > --- a/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf > +++ b/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf > @@ -59,7 +59,7 @@ [Guids] > 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 @@ [Pcd] > gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize > ## CONSUMES > gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize > ## CONSUMES > gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable > + gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire > ## CONSUMES > > [Depex] > gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid > diff --git a/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c > b/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c > index f20560f..e3ff234 100644 > --- a/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c > +++ b/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c > @@ -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, >
Reviewed-by: Paolo Bonzini <pbonz...@redhat.com> _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel