On 26 July 2015 at 11:50, Laszlo Ersek <[email protected]> wrote:
> 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?
>

Indeed.

-- 
Ard.


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