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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to