From: EvanLloyd <evan.ll...@arm.com> This v4 series of patches corrects a problem detected on the ARM Juno platform that is actually generic (at least to ARM GIC platforms). The HardwareInterrupt protocol had no means of handling characteristics like Edge/Level triggered and polarity.
A new HardwareInterrupt2 protocol (provided by Ard) is added, and code changed to utilise the new capabilities. The code is available for examination on Github at: https://github.com/EvanLloyd/tianocore/tree/376_irqtype_v4 v4 responds to further comments from maintainers, being mainly cosmetic changes. Note: Significant defects exist in the (original) Watchdog handling, and a new patch will follow. Ard Biesheuvel (3): EmbeddedPkg: Introduce HardwareInterrupt2 protocol ArmPkg/ArmGicDxe: Expose HardwareInterrupt2 protocol ArmPkg/GenericWatchdogDxe: Set Watchdog interrupt type Evan Lloyd (1): ArmPkg: Tidy GIC code before changes. EmbeddedPkg/EmbeddedPkg.dec | 1 + ArmPkg/Drivers/ArmGic/ArmGicDxe.inf | 3 +- ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.inf | 6 +- ArmPkg/Drivers/ArmGic/ArmGicDxe.h | 31 ++- ArmPkg/Include/Library/ArmGicLib.h | 34 +-- EmbeddedPkg/Include/Protocol/HardwareInterrupt2.h | 182 ++++++++++++++++ ArmPkg/Drivers/ArmGic/ArmGicCommonDxe.c | 76 +++++-- ArmPkg/Drivers/ArmGic/ArmGicLib.c | 73 +++++-- ArmPkg/Drivers/ArmGic/GicV2/ArmGicV2Dxe.c | 195 ++++++++++++++--- ArmPkg/Drivers/ArmGic/GicV3/ArmGicV3Dxe.c | 218 +++++++++++++++++--- ArmPkg/Drivers/GenericWatchdogDxe/GenericWatchdogDxe.c | 146 +++++++------ 11 files changed, 779 insertions(+), 186 deletions(-) create mode 100644 EmbeddedPkg/Include/Protocol/HardwareInterrupt2.h -- Guid("CE165669-3EF3-493F-B85D-6190EE5B9759") _______________________________________________ edk2-devel mailing list edk2-devel@lists.01.org https://lists.01.org/mailman/listinfo/edk2-devel