On 07/26/15 11:40, Ard Biesheuvel wrote:
> The current GIC revision detection code infers the GIC revision from
> the AA64PFR0_EL1.GIC feature bit that tells us whether the GIC system
> register interface is implemented in the hardware, and then proceeds
> to attempt and enable it.
> 
> The library containing this code deliberately does not cache the
> detected revision since it may execute in place before PEI memory
> has been set up.
> 
> However, since the detection code runs very often, and is quite
> heavy-weight when running under virtualization (especially KVM),
> this series refactors the GIC revision detection to:
> - use fewer system register accesses if possible (*)
> - provide an alternative that does cache the detected revision
> - use the DT supplied revision when executing on a DT based platform
> 
> Changes since v1:
> - the original patch #1 which implements (*) above was already merged as
>   SVN r17596, so it has been dropped from this series
> - added R-b's and acks from Laszlo

So, as far as I understand, you need reviews from Leif, for the ArmPkg
patches, and then this can be committed. Correct?

Thanks
Laszlo

> Ard Biesheuvel (6):
>   ArmPkg: merge ArmGicV[23]Lib.h into ArmGicLib.h
>   ArmPkg: split off ArmGicArchLib from ArmGicLib
>   ArmPkg: copy ArmGicArchLib to ArmGicArchSecLib
>   ArmPkg: cache detected revision in ArmGicArchLib
>   ArmVirtPkg: record GIC revision in dynamic PCD
>   ArmVirtPkg: implement DT-based ArmGicArchLib
> 
>  ArmPkg/ArmPkg.dec                                                            
>                                                      |   1 +
>  ArmPkg/ArmPkg.dsc                                                            
>                                                      |   1 +
>  ArmPkg/Drivers/ArmGic/ArmGicLib.c                                            
>                                                      |   3 -
>  ArmPkg/Drivers/ArmGic/ArmGicLib.inf                                          
>                                                      |   3 +-
>  ArmPkg/Drivers/ArmGic/ArmGicSecLib.c                                         
>                                                      |   2 -
>  ArmPkg/Drivers/ArmGic/ArmGicSecLib.inf                                       
>                                                      |   3 +-
>  ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c                                    
>                                                      |   3 +-
>  ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.h                                    
>                                                      |  54 ----------
>  ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c                                    
>                                                      |   3 +-
>  ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Lib.h                                    
>                                                      |  68 ------------
>  ArmPkg/Include/Library/ArmGicArchLib.h                                       
>                                                      |  33 ++++++
>  ArmPkg/Include/Library/ArmGicLib.h                                           
>                                                      | 108 
> +++++++++++++++++---
>  ArmPkg/{Drivers/ArmGic => Library/ArmGicArchLib}/AArch64/ArmGicArchLib.c     
>                                                      |  23 ++++-
>  ArmPkg/{Drivers/ArmGic => Library/ArmGicArchLib}/Arm/ArmGicArchLib.c         
>                                                      |  23 ++++-
>  ArmPkg/{Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf => 
> Library/ArmGicArchLib/ArmGicArchLib.inf}                         |  28 +++--
>  ArmPkg/{Drivers/ArmGic => Library/ArmGicArchSecLib}/AArch64/ArmGicArchLib.c  
>                                                      |   2 -
>  ArmPkg/{Drivers/ArmGic => Library/ArmGicArchSecLib}/Arm/ArmGicArchLib.c      
>                                                      |   2 -
>  ArmPlatformPkg/Drivers/ArmTrustZone/ArmTrustZone.inf => 
> ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf                      |  
> 18 ++--
>  ArmPlatformPkg/ArmPlatformPkg-2ndstage.dsc                                   
>                                                      |   2 +
>  ArmPlatformPkg/ArmPlatformPkg.dsc                                            
>                                                      |   3 +
>  ArmPlatformPkg/ArmRealViewEbPkg/ArmRealViewEb.dsc.inc                        
>                                                      |   3 +
>  ArmPlatformPkg/ArmVExpressPkg/ArmVExpress.dsc.inc                            
>                                                      |   3 +
>  ArmVirtPkg/ArmVirt.dsc.inc                                                   
>                                                      |   1 +
>  ArmVirtPkg/ArmVirtPkg.dec                                                    
>                                                      |   7 +-
>  ArmVirtPkg/ArmVirtQemu.dsc                                                   
>                                                      |   1 +
>  ArmVirtPkg/ArmVirtXen.dsc                                                    
>                                                      |   1 +
>  ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.c                     
>                                                      |  75 ++++++++++++++
>  OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.inf => 
> ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf |  25 +++--
>  ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.c                                           
>                                                      |   2 +
>  ArmVirtPkg/VirtFdtDxe/VirtFdtDxe.inf                                         
>                                                      |   1 +
>  30 files changed, 306 insertions(+), 196 deletions(-)
>  delete mode 100644 ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Lib.h
>  delete mode 100644 ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Lib.h
>  create mode 100644 ArmPkg/Include/Library/ArmGicArchLib.h
>  copy ArmPkg/{Drivers/ArmGic => 
> Library/ArmGicArchLib}/AArch64/ArmGicArchLib.c (83%)
>  copy ArmPkg/{Drivers/ArmGic => Library/ArmGicArchLib}/Arm/ArmGicArchLib.c 
> (83%)
>  copy ArmPkg/{Drivers/ArmCpuLib/ArmCortexA5xLib/ArmCortexA5xLib.inf => 
> Library/ArmGicArchLib/ArmGicArchLib.inf} (60%)
>  rename ArmPkg/{Drivers/ArmGic => 
> Library/ArmGicArchSecLib}/AArch64/ArmGicArchLib.c (95%)
>  rename ArmPkg/{Drivers/ArmGic => 
> Library/ArmGicArchSecLib}/Arm/ArmGicArchLib.c (95%)
>  copy ArmPlatformPkg/Drivers/ArmTrustZone/ArmTrustZone.inf => 
> ArmPkg/Library/ArmGicArchSecLib/ArmGicArchSecLib.inf (64%)
>  create mode 100644 ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.c
>  copy OvmfPkg/Library/XenConsoleSerialPortLib/XenConsoleSerialPortLib.inf => 
> ArmVirtPkg/Library/ArmVirtGicArchLib/ArmVirtGicArchLib.inf (56%)
> 

_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to