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

Reply via email to