Hi Liming, thanks for your review! Oh, I missed this, yes indeed, I can just include LockBoxNullLib and it works on RISCV64, too. So we can drop this patch, too. Cheers, Daniel ________________________________ From: Gao, Liming Sent: Monday, March 2, 2020 14:18 To: devel@edk2.groups.io ; Schaefer, Daniel (DualStudy) Cc: Chang, Abner (HPS SW/FW Technologist) ; Chen, Gilbert ; Leif Lindholm ; Dong, Eric ; Ni, Ray ; Wu, Hao A ; Bi, Dandan Subject: RE: [edk2-devel] [PATCH v2 1/3] MdeModulePkg: Restrict libraries using SMM to x86 Daniel: Those modules consumes LockBox for S3 boot path. If the different ARCH doesn't depend on LockBox for S3 boot, it can use LockBoxNullLib.inf library instance. For EBC arch, LockBoxNullLib.inf has been specified. You can append more ARCHs with LockBoxNullLib library instance. [LibraryClasses.EBC] LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf Thanks Liming > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Daniel Schaefer > Sent: Monday, March 2, 2020 6:33 PM > To: devel@edk2.groups.io > Cc: Abner Chang ; Gilbert Chen ; Leif Lindholm ; Dong, Eric > ; Ni, Ray ; Wu, Hao A ; Bi, Dandan ; Gao, > Liming > Subject: [edk2-devel] [PATCH v2 1/3] MdeModulePkg: Restrict libraries using SMM to x86 > > The modules: > > MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf > MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf > MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf > > seem like they are independent of SMM but they actually do requires SMM's > LockBoxLib. Ideally they would be rewritten to not require SMM on non x86. > > REF:https://bugzilla.tianocore.org/show_bug.cgi?id=2549 > > Signed-off-by: Daniel Schaefer > Cc: Abner Chang > Cc: Gilbert Chen > Cc: Leif Lindholm > Cc: Eric Dong > Cc: Ray Ni > Cc: Hao A Wu > Cc: Dandan Bi > Cc: Liming Gao > --- > > Notes: > v2: > - Fix IA86 -> IA32 [Mike] > > MdeModulePkg/MdeModulePkg.dsc | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > > diff --git a/MdeModulePkg/MdeModulePkg.dsc b/MdeModulePkg/MdeModulePkg.dsc > index f7dbb27ce25d..5a20722a4270 100644 > --- a/MdeModulePkg/MdeModulePkg.dsc > +++ b/MdeModulePkg/MdeModulePkg.dsc > @@ -109,6 +109,8 @@ [LibraryClasses.common.PEIM] > HobLib|MdePkg/Library/PeiHobLib/PeiHobLib.inf > > > MemoryAllocationLib|MdePkg/Library/PeiMemoryAllocationLib/PeiMemoryAllocationLib.inf > > > ExtractGuidedSectionLib|MdePkg/Library/PeiExtractGuidedSectionLib/PeiExtractGuidedSectionLib.inf > > > + > > > +[LibraryClasses.IA32.PEIM, LibraryClasses.X64.PEIM] > > > LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxPeiLib.inf > > > > > > [LibraryClasses.common.DXE_CORE] > > > @@ -228,7 +230,6 @@ [Components] > MdeModulePkg/Bus/Pci/PciBusDxe/PciBusDxe.inf > > > MdeModulePkg/Bus/Pci/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupportDxe.inf > > > MdeModulePkg/Bus/Pci/NvmExpressDxe/NvmExpressDxe.inf > > > - MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf > > > MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf > > > MdeModulePkg/Bus/Pci/SdMmcPciHcPei/SdMmcPciHcPei.inf > > > MdeModulePkg/Bus/Sd/EmmcBlockIoPei/EmmcBlockIoPei.inf > > > @@ -251,7 +252,6 @@ [Components] > MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf > > > MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf > > > MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf > > > - MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf > > > MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf > > > MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf > > > MdeModulePkg/Bus/Usb/UsbBusDxe/UsbBusDxe.inf > > > @@ -395,7 +395,6 @@ [Components] > > > > LockBoxLib|MdeModulePkg/Library/LockBoxNullLib/LockBoxNullLib.inf > > > } > > > - MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf > > > MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf > > > MdeModulePkg/Universal/SectionExtractionDxe/SectionExtractionDxe.inf { > > > > > > @@ -447,6 +446,8 @@ [Components.IA32, Components.X64, Components.ARM, Components.AARCH64] > [Components.IA32, Components.X64] > > > MdeModulePkg/Universal/DebugSupportDxe/DebugSupportDxe.inf > > > MdeModulePkg/Application/SmiHandlerProfileInfo/SmiHandlerProfileInfo.inf > > > + MdeModulePkg/Bus/Ata/AhciPei/AhciPei.inf > > > + MdeModulePkg/Bus/Pci/NvmExpressPei/NvmExpressPei.inf > > > MdeModulePkg/Core/PiSmmCore/PiSmmIpl.inf > > > MdeModulePkg/Core/PiSmmCore/PiSmmCore.inf > > > MdeModulePkg/Universal/Variable/RuntimeDxe/VariableSmm.inf { > > > @@ -478,6 +479,7 @@ [Components.IA32, Components.X64] > MdeModulePkg/Library/SmmSmiHandlerProfileLib/SmmSmiHandlerProfileLib.inf > > > MdeModulePkg/Library/LzmaCustomDecompressLib/LzmaArchCustomDecompressLib.inf > > > MdeModulePkg/Universal/Acpi/BootScriptExecutorDxe/BootScriptExecutorDxe.inf > > > + MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableDxe/FirmwarePerformanceDxe.inf > > > MdeModulePkg/Universal/Acpi/S3SaveStateDxe/S3SaveStateDxe.inf > > > MdeModulePkg/Universal/Acpi/SmmS3SaveState/SmmS3SaveState.inf > > > MdeModulePkg/Universal/Acpi/FirmwarePerformanceDataTableSmm/FirmwarePerformanceSmm.inf > > > @@ -487,6 +489,7 @@ [Components.IA32, Components.X64] > MdeModulePkg/Universal/SmmCommunicationBufferDxe/SmmCommunicationBufferDxe.inf > > > MdeModulePkg/Universal/Disk/RamDiskDxe/RamDiskDxe.inf > > > > > > + > > > [Components.X64] > > > MdeModulePkg/Universal/CapsulePei/CapsuleX64.inf > > > > > > -- > 2.25.0 > > >