diff --git a/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c b/OvmfPkg/AcpiS3SaveDxe/AcpiS3Save.c index f20560f8fe..e3ff234101 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, diff --git a/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf b/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf index 4cc0713d1a..a288b954b7 100644 --- a/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf +++ b/OvmfPkg/AcpiS3SaveDxe/AcpiS3SaveDxe.inf @@ -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