audk/ArmPkg/Drivers/ArmGic
Sami Mujawar ded1d5414b ArmPkg: Fix ArmGicAcknowledgeInterrupt () for GICv3
The ArmGicAcknowledgeInterrupt () returns the value returned by the
Interrupt Acknowledge Register and the InterruptID separately in an out
parameter.

The function documents the following: 'InterruptId is returned
separately from the register value because in the GICv2 the register
value contains the CpuId and InterruptId while in the GICv3 the register
value is only the InterruptId.'

This function skips setting the InterruptId in the out parameter for
GICv3. Although the return value from the function is the InterruptId
for GICv3, this breaks the function usage model as the caller expects
the InterruptId in the out parameter for the function.  e.g. The caller
may end up using the InterruptID which could potentially be an
uninitialised variable value.

Therefore, set the InterruptID in the function out parameter for GICv3
as well.

Signed-off-by: Sami Mujawar <sami.mujawar@arm.com>
Reviewed-by: Ard Biesheuvel <ardb@kernel.org>
2023-06-01 15:52:01 +00:00
..
GicV2 ArmPkg: Adjust variable type and cast for RegShift & RegOffset 2023-06-01 15:52:01 +00:00
GicV3 ArmPkg: Make variables used for GicInterrupt UINTN 2023-06-01 15:52:01 +00:00
ArmGicCommonDxe.c ArmPkg: Remove unused function declarations 2023-06-01 15:52:01 +00:00
ArmGicDxe.c ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmGicDxe.h ArmPkg: Apply uncrustify changes 2021-12-07 17:24:28 +00:00
ArmGicDxe.inf ArmPkg: list module-internal header files in INF [Sources] 2019-07-23 00:20:18 +02:00
ArmGicLib.c ArmPkg: Fix ArmGicAcknowledgeInterrupt () for GICv3 2023-06-01 15:52:01 +00:00
ArmGicLib.inf ArmPkg: Remove RVCT support 2022-05-13 14:58:54 +00:00
ArmGicNonSecLib.c ArmPkg: Fix Non-Boolean comparison in ArmGicEnableDistributor 2023-06-01 15:52:01 +00:00