Series: Acked-by: Jiewen Yao <jiewen....@intel.com> > -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of Bret > Barkelew > Sent: Tuesday, November 2, 2021 3:57 AM > To: devel@edk2.groups.io > Subject: [edk2-devel] [PATCH v1 00/16] Un-siloing Arm common code > > This series of patch commits moves a number of modules and libraries around in > order > to better un-silo the Arm-specific code. Unnecessary abstractions were > removed, > some > duplicate code was abstracted, and generally things were cleaned up so that > common > code (e.g. MdePkg, MdeModulePkg, StandaloneMmPkg) does not require > ArmPkg or > ArmPlatformPkg. > > Also, some things that were previously hidden away under ArmPkg are now > located > with the core functionality or build tooling that makes sense for it. > > Bret Barkelew (15): > ArmPkg/ArmMmuBaseLib: Disallow STANDALONE_MM > ArmPkg/ArmMmuStandaloneMmLib: Update to match ArmMmuLib > ArmPkg/StandaloneMmCoreEntryPoint: Swap to ArmMmuLib > ArmPkg: Disavow StandaloneMmMmuLib. It's just ArmMmuLib > ArmPkg and MdePkg: Move the Arm CompilerIntrinsicsLib to MdePkg > ArmPkg and BaseTools: Move the GccLto binaries from ArmPkg to > BaseTools > ArmPkg and MdePkg: Move the AsmMacroIoLib from ArmPkg to MdePkg > MdePkg: Create the MMU access lib to abstract memory protection > settings > MdeModulePkg: Swap to MmuLib instead of Arm-specific lib > StandaloneMmPkg: Switch to the MmuLib abstraction > ArmPkg: Move the StandaloneMmCpu driver to ArmPkg > ArmPkg: Move the StandaloneMmCoreEntryPoint lib to ArmPkg > ArmPkg/Library: Convert StandaloneMmCoreEntryPoint to Arm-only > ArmPkg/ArmPkg.dsc: Resolve build errors resulting from package moves > ArmPlatformPkg/ArmPlatformPkg.dsc: Resolve build errors resulting from > package moves > > Sean Brogan (1): > ArmPkg: Add Basic MMU Lib for Arm silicon > > {StandaloneMmPkg => ArmPkg}/Drivers/StandaloneMmCpu/EventHandle.c > | 0 > {StandaloneMmPkg => > ArmPkg}/Drivers/StandaloneMmCpu/StandaloneMmCpu.c > | 0 > ArmPkg/Library/MmuLib/MmuLib.c > | 120 ++++++++++++++++++++ > {StandaloneMmPkg => > ArmPkg}/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobList.c > | 0 > {StandaloneMmPkg => > ArmPkg}/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissions.c > | 0 > {StandaloneMmPkg => > ArmPkg}/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryP > oint.c | 0 > ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.c > | 37 ++++++ > MdeModulePkg/Core/DxeIplPeim/Arm/DxeLoadFunc.c > | 4 +- > MdePkg/Library/BaseMmuLibNull/BaseMmuLibNull.c > | 86 ++++++++++++++ > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcmp_ms.c > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy.c > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy_ms.c > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memmove_ms.c > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset.c > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset_ms.c > | 0 > > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/StandaloneMmC > oreEntryPoint.c | 71 > ------------ > > StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/AArch64/Stand > aloneMmPeCoffExtraActionLib.c | 50 +++++++- > ArmPkg/ArmPkg.ci.yaml > | 3 +- > ArmPkg/ArmPkg.dec > | 4 - > ArmPkg/ArmPkg.dsc > | 15 ++- > {StandaloneMmPkg => > ArmPkg}/Drivers/StandaloneMmCpu/StandaloneMmCpu.h > | 0 > {StandaloneMmPkg => > ArmPkg}/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf > | 0 > ArmPkg/Include/Library/StandaloneMmMmuLib.h > | 36 ------ > ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf > | 2 +- > ArmPkg/Library/MmuLib/BaseMmuLib.inf > | 30 +++++ > {StandaloneMmPkg => > ArmPkg}/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.i > nf | 8 +- > ArmPkg/Library/StandaloneMmMmuLib/ArmMmuStandaloneMmLib.inf > | 2 +- > ArmPlatformPkg/ArmPlatformPkg.dsc > | 4 +- > {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-aarch64.a > | Bin > {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-aarch64.s > | 0 > {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-arm.a > | Bin > {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-arm.s > | 0 > BaseTools/Conf/tools_def.template > | 19 ++-- > CryptoPkg/CryptoPkg.dsc > | 2 +- > MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf > | 4 +- > MdeModulePkg/MdeModulePkg.dsc > | 5 +- > {ArmPkg => MdePkg}/Include/AsmMacroIoLib.h > | 0 > MdePkg/Include/Library/MmuLib.h > | 75 ++++++++++++ > MdePkg/Library/BaseMmuLibNull/BaseMmuLibNull.inf > | 28 +++++ > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/AArch64/Atomics.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashldi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/clzsi2.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divdi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divsi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/moddi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/modsi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/muldi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/sourcery.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch16.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch32.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch8.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switchu8.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivdi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivsi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umoddi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umodsi3.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.asm > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.S > | 0 > {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.asm > | 0 > ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf => > MdePkg/Library/CompilerIntrinsicsLib/ArmCompilerIntrinsicsLib.inf | 3 +- > MdePkg/MdePkg.dec > | 5 + > MdePkg/MdePkg.dsc > | 3 + > NetworkPkg/NetworkPkg.dsc > | 2 +- > ShellPkg/ShellPkg.dsc > | 2 +- > > StandaloneMmPkg/Library/StandaloneMmPeCoffExtraActionLib/StandaloneMm > PeCoffExtraActionLib.inf | 3 +- > StandaloneMmPkg/StandaloneMmPkg.dsc > | 3 +- > UnitTestFrameworkPkg/UnitTestFrameworkPkgTarget.dsc.inc > | 2 +- > 90 files changed, 475 insertions(+), 153 deletions(-) > rename {StandaloneMmPkg => > ArmPkg}/Drivers/StandaloneMmCpu/EventHandle.c (100%) > rename {StandaloneMmPkg => > ArmPkg}/Drivers/StandaloneMmCpu/StandaloneMmCpu.c (100%) > create mode 100644 ArmPkg/Library/MmuLib/MmuLib.c > rename {StandaloneMmPkg => > ArmPkg}/Library/StandaloneMmCoreEntryPoint/Arm/CreateHobList.c (100%) > rename {StandaloneMmPkg => > ArmPkg}/Library/StandaloneMmCoreEntryPoint/Arm/SetPermissions.c (100%) > rename {StandaloneMmPkg => > ArmPkg}/Library/StandaloneMmCoreEntryPoint/Arm/StandaloneMmCoreEntryP > oint.c (100%) > create mode 100644 MdePkg/Library/BaseMmuLibNull/BaseMmuLibNull.c > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcmp_ms.c > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy.c (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy_ms.c > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memmove_ms.c > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset.c (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset_ms.c > (100%) > delete mode 100644 > StandaloneMmPkg/Library/StandaloneMmCoreEntryPoint/X64/StandaloneMmC > oreEntryPoint.c > rename {StandaloneMmPkg => > ArmPkg}/Drivers/StandaloneMmCpu/StandaloneMmCpu.h (100%) > rename {StandaloneMmPkg => > ArmPkg}/Drivers/StandaloneMmCpu/StandaloneMmCpu.inf (100%) > delete mode 100644 ArmPkg/Include/Library/StandaloneMmMmuLib.h > create mode 100644 ArmPkg/Library/MmuLib/BaseMmuLib.inf > rename {StandaloneMmPkg => > ArmPkg}/Library/StandaloneMmCoreEntryPoint/StandaloneMmCoreEntryPoint.i > nf (84%) > rename {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-aarch64.a (100%) > rename {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-aarch64.s (100%) > rename {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-arm.a (100%) > rename {ArmPkg/Library => BaseTools/Bin}/GccLto/liblto-arm.s (100%) > rename {ArmPkg => MdePkg}/Include/AsmMacroIoLib.h (100%) > create mode 100644 MdePkg/Include/Library/MmuLib.h > create mode 100644 MdePkg/Library/BaseMmuLibNull/BaseMmuLibNull.inf > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/AArch64/Atomics.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashldi3.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/clzsi2.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.asm (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divdi3.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divsi3.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.asm (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.asm > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.asm (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.asm (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.S > (100%) > rename {ArmPkg => > MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.asm (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/moddi3.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/modsi3.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/muldi3.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.asm > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/sourcery.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch.asm > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch16.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch32.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch8.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switchu8.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivdi3.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivsi3.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.asm > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umoddi3.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umodsi3.S > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.asm > (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.S (100%) > rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.asm > (100%) > rename ArmPkg/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf => > MdePkg/Library/CompilerIntrinsicsLib/ArmCompilerIntrinsicsLib.inf (93%) > > -- > 2.31.1.windows.1 > > > > >
-=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#83068): https://edk2.groups.io/g/devel/message/83068 Mute This Topic: https://groups.io/mt/86750617/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-