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
return EFI_LOAD_ERROR;\r
}\r
\r
- Status = gBS->InstallMultipleProtocolInterfaces (\r
- &ImageHandle,\r
- &gEfiLockBoxProtocolGuid, NULL,\r
- NULL\r
- );\r
- ASSERT_EFI_ERROR (Status);\r
+ if (!FeaturePcdGet (PcdSmmSmramRequire)) {\r
+ Status = gBS->InstallMultipleProtocolInterfaces (\r
+ &ImageHandle,\r
+ &gEfiLockBoxProtocolGuid, NULL,\r
+ NULL\r
+ );\r
+ ASSERT_EFI_ERROR (Status);\r
+ }\r
\r
Status = gBS->CreateEventEx (\r
EVT_NOTIFY_SIGNAL,\r
gEfiEndOfDxeEventGroupGuid ## CONSUMES ## Event\r
\r
[Protocols]\r
- gEfiLockBoxProtocolGuid # PROTOCOL ALWAYS_PRODUCED\r
+ gEfiLockBoxProtocolGuid # PROTOCOL SOMETIMES_PRODUCED\r
gEfiLegacyBiosProtocolGuid # PROTOCOL ALWAYS_CONSUMED\r
gEfiLegacyRegion2ProtocolGuid # PROTOCOL SOMETIMES_CONSUMED\r
gFrameworkEfiMpServiceProtocolGuid # PROTOCOL SOMETIMES_CONSUMED\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3AcpiReservedMemorySize ## CONSUMES\r
gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdS3BootScriptStackSize ## CONSUMES\r
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable\r
+ gUefiOvmfPkgTokenSpaceGuid.PcdSmmSmramRequire ## CONSUMES\r
\r
[Depex]\r
gEfiVariableArchProtocolGuid AND gEfiVariableWriteArchProtocolGuid\r