On Fri, Jul 01, 2016 at 05:43:52PM +0200, Ard Biesheuvel wrote: > 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. > > NOTE: this change will affect out-of-tree platforms, which will need to add > the > ArmMmuLib library class resolution to their .DSC descriptions. > > Changes since v1: > - updated ArmVirtQemuKernel as well as ArmVirtQemu and ArmVirtXen to switch to > the new ArmMmuLib (#3) > - added tags from Laszlo and Star (#3) > - dropped ArmLib reference from DxeIp l(#3) [*] > - clarified comment (#4)
For the series: Reviewed-by: Leif Lindholm <[email protected]> > [*] I have taken the liberty to keep Star's R-b on patch #3 since the change > to > MdeModulePkg is minimal and only affects ARM/AARCH64 > > 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 > | 61 ++++++++++++++++ > 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/ArmVirtQemuKernel.dsc > | 2 + > ArmVirtPkg/ArmVirtXen.dsc > | 2 + > ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.c > | 1 + > ArmVirtPkg/Library/ArmVirtMemoryInitPeiLib/ArmVirtMemoryInitPeiLib.inf > | 1 + > MdeModulePkg/Core/DxeIplPeim/Arm/DxeLoadFunc.c > | 2 +- > MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf > | 2 +- > 29 files changed, 417 insertions(+), 121 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 > > -- > 2.7.4 > _______________________________________________ edk2-devel mailing list [email protected] https://lists.01.org/mailman/listinfo/edk2-devel

