The MMU routines are only used by a small subset of the users of ArmLib.
In order to prevent all those users to have to run the library constructor
to clean some MMU handling routines to the PoC, split off all MMU handling
into a separate ArmMmuLib.
Ard Biesheuvel (4):
ArmPkg: introduce ArmMmuLib library class
ArmPkg: introduce base ArmMmuLib implementation
ArmPkg ArmVirtPkg MdeModulePkg: switch to separate ArmMmuLib
ArmPkg/ArmMmuLib: add PEI specific version of ArmMmuLib
ArmPkg/ArmPkg.dec
| 1 +
ArmPkg/Drivers/CpuDxe/CpuDxe.inf
| 1 +
ArmPkg/Include/Library/ArmLib.h
| 38 --
ArmPkg/Include/Library/ArmMmuLib.h
| 65 +
ArmPkg/Library/ArmLib/AArch64/AArch64BaseLibConstructor.c
| 36 --
ArmPkg/Library/ArmLib/AArch64/AArch64Lib.inf
| 3 -
ArmPkg/Library/ArmLib/AArch64/AArch64LibPrePi.inf
| 1 -
ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.S
| 6 --
ArmPkg/Library/ArmLib/ArmV7/ArmLibSupportV7.asm
| 6 --
ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.h
| 12
ArmPkg/Library/ArmLib/ArmV7/ArmV7Lib.inf
| 1 -
ArmPkg/Library/ArmLib/ArmV7/ArmV7LibPrePi.inf
| 1 -
ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.S
| 5 --
ArmPkg/Library/ArmLib/ArmV7/ArmV7Support.asm
| 4 --
ArmPkg/Library/{ArmLib/AArch64/AArch64Mmu.c =>
ArmMmuLib/AArch64/ArmMmuLibCore.c} | 25 +--
ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibReplaceEntry.S
| 76
ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuPeiLibConstructor.c
| 60
ArmPkg/Library/{ArmLib/ArmV7/ArmV7Mmu.c => ArmMmuLib/Arm/ArmMmuLibCore.c}
| 38 +-
ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.S
| 35 +
ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.asm
| 32 +
ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
| 43 +++
ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf
| 36 ++
ArmVirtPkg/ArmVirtQemu.dsc
| 2 +
ArmVirtPkg/ArmVirtXen.dsc
| 2 +
ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c
| 1 +
ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf
| 1 +
MdeModulePkg/Core/DxeIplPeim/Arm/DxeLoadFunc.c
| 1 +
MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf
| 1 +
28 files changed, 414 insertions(+), 119 deletions(-)
create mode 100644 ArmPkg/Include/Library/ArmMmuLib.h
delete mode 100644 ArmPkg/Library/ArmLib/AArch64/AArch64BaseLibConstructor.c
rename ArmPkg/Library/{ArmLib/AArch64/AArch64Mmu.c =>
ArmMmuLib/AArch64/ArmMmuLibCore.c} (94%)
create mode 100644 ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuLibReplaceEntry.S
create mode 100644 ArmPkg/Library/ArmMmuLib/AArch64/ArmMmuPeiLibConstructor.c
rename ArmPkg/Library/{ArmLib/ArmV7/ArmV7Mmu.c =>
ArmMmuLib/Arm/ArmMmuLibCore.c} (93%)
create mode 100644 ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.S
create mode 100644 ArmPkg/Library/ArmMmuLib/Arm/ArmMmuLibV7Support.asm
create mode 100644 ArmPkg/Library/ArmMmuLib/ArmMmuBaseLib.inf
create mode 100644 ArmPkg/Library/ArmMmuLib/ArmMmuPeiLib.inf
--
1.9.1
___
edk2-devel mailing list
edk2-devel@lists.01.org
https://lists.01.org/mailman/listinfo/edk2-devel