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