[edk2-devel] [edk2-platforms][PATCH v1 1/1] IntelSiliconPkg/PeiSmmAccessLib: Remove S3 requirement

Michael Kubacki mikuback at linux.microsoft.com
Tue Aug 10 15:36:19 UTC 2021


Installation is a platform decision. The buried dependency on boot mode 
in this particular function is just a roadblock platforms have to work 
around. The role of this API is to install the PPI.

Thanks,
Michael

On 8/9/2021 9:47 PM, Ni, Ray wrote:
> Michael,
> Allowing the gPeiSmmAccessPpiGuid PPI installation in normal boot will further allow gEfiPeiSmmCommunicationPpiGuid
> installation in normal path, while without your change neither of the PPIs is installed in normal boot.
> 
> + Jiewen for potential security concern.
> 
> Thanks,
> Ray
> 
>> -----Original Message-----
>> From: Chaganty, Rangasai V <rangasai.v.chaganty at intel.com>
>> Sent: Tuesday, August 10, 2021 6:46 AM
>> To: mikuback at linux.microsoft.com; devel at edk2.groups.io
>> Cc: Ni, Ray <ray.ni at intel.com>
>> Subject: RE: [edk2-platforms][PATCH v1 1/1] IntelSiliconPkg/PeiSmmAccessLib: Remove S3 requirement
>>
>> Reviewed-by: Sai Chaganty <rangasai.v.chaganty at intel.com>
>>
>> -----Original Message-----
>> From: mikuback at linux.microsoft.com <mikuback at linux.microsoft.com>
>> Sent: Monday, August 09, 2021 6:40 AM
>> To: devel at edk2.groups.io
>> Cc: Ni, Ray <ray.ni at intel.com>; Chaganty, Rangasai V <rangasai.v.chaganty at intel.com>
>> Subject: [edk2-platforms][PATCH v1 1/1] IntelSiliconPkg/PeiSmmAccessLib: Remove S3 requirement
>>
>> From: Michael Kubacki <michael.kubacki at microsoft.com>
>>
>> REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3539
>>
>> PeiInstallSmmAccessPpi() currently requires the boot mode be set to S3 to actually install gEfiPeiMmAccessPpiGuid.
>>
>> This change removes this requirement in the function implementation for two reasons:
>>
>> 1. Practical use cases exist to require this PPI in cases other than
>>     the boot mode being set to BOOT_ON_S3_RESUME.
>>
>> 2. It is poor API design to implicitly bury this requirement within
>>     a function whose responsibility is to install the PPI. The caller
>>     can easily place arbitrary constraints around whether to call
>>     based on conditions such as the boot mode being
>>     BOOT_ON_S3_RESUME.
>>
>> Cc: Ray Ni <ray.ni at intel.com>
>> Cc: Rangasai V Chaganty <rangasai.v.chaganty at intel.com>
>> Signed-off-by: Michael Kubacki <michael.kubacki at microsoft.com>
>> ---
>>   Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.c | 12 ------------
>>   1 file changed, 12 deletions(-)
>>
>> diff --git a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.c
>> b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.c
>> index d9bf4fba983e..4df0d695fdaf 100644
>> --- a/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAccessLib/PeiSmmAccessLib.c
>> +++ b/Silicon/Intel/IntelSiliconPkg/Feature/SmmAccess/Library/PeiSmmAcce
>> +++ ssLib/PeiSmmAccessLib.c
>> @@ -252,19 +252,7 @@ PeiInstallSmmAccessPpi (
>>     EFI_SMRAM_HOB_DESCRIPTOR_BLOCK  *DescriptorBlock;
>>     SMM_ACCESS_PRIVATE_DATA         *SmmAccessPrivate;
>>     VOID                            *HobList;
>> -  EFI_BOOT_MODE                   BootMode;
>>
>> -  Status = PeiServicesGetBootMode (&BootMode);
>> -  if (EFI_ERROR (Status)) {
>> -    //
>> -    // If not in S3 boot path. do nothing
>> -    //
>> -    return EFI_SUCCESS;
>> -  }
>> -
>> -  if (BootMode != BOOT_ON_S3_RESUME) {
>> -    return EFI_SUCCESS;
>> -  }
>>     //
>>     // Initialize private data
>>     //
>> --
>> 2.28.0.windows.1
> 
> 
> 
> 
> 


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#79036): https://edk2.groups.io/g/devel/message/79036
Mute This Topic: https://groups.io/mt/84768258/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-





More information about the edk2-devel-archive mailing list