audk/ArmPkg/Drivers/ArmGic
Ming Huang b66e38b501 ArmPkg/ArmGicDxe: Fix GICv3 interrupt routing mode bug
Setting GICD_IROUTERn.IRM and GICD_IROUTERn.{Aff3,Aff2,Aff1,Aff0}
at the same time is nonsensical (see 8.9.13 in the GICv3 spec, which
says of GICD_IROUTERn.IRM that "When this bit is set to 1,
GICD_IROUTER<n>.{Aff3,Aff2,Aff1,Aff0} are UNKNOWN"). There is also no
guarantee that IRM is implemented (see GICD_TYPER.No1N which indicates
whether the implementation supports this or not).

Let's thus not set this bit, as we want all SPIs to be delivered to the
same CPU, and not be broadcast to all of them.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Ming Huang <ming.huang@linaro.org>
Acked-by: Marc Zyngier <marc.zyngier@arm.com>
2018-11-07 16:19:22 +01:00
..
GicV2 ArmPkg: remove unused ArmGicSecLib library implementation 2017-11-26 10:58:30 +00:00
GicV3 ArmPkg/ArmGicDxe: Fix GICv3 interrupt routing mode bug 2018-11-07 16:19:22 +01:00
ArmGicCommonDxe.c ArmPkg/Gic: force GIC driver to run before CPU arch protocol driver 2018-02-06 18:59:34 +00:00
ArmGicDxe.c ArmPkg/ArmGic: Added GicV3 support to ArmGicDxe 2014-10-27 10:30:53 +00:00
ArmGicDxe.h ArmPkg/Gic: force GIC driver to run before CPU arch protocol driver 2018-02-06 18:59:34 +00:00
ArmGicDxe.inf ArmPkg/ArmGicDxe: annotate protocol usage in "ArmGicDxe.inf" 2018-04-12 21:24:26 +02:00
ArmGicLib.c ArmPkg: Add support for GICv4 2018-10-12 17:40:33 +02:00
ArmGicLib.inf ArmPkg: Add support for GICv4 2018-10-12 17:40:33 +02:00
ArmGicNonSecLib.c ArmPkg/ArmGic: fix bug in GICv3 distributor configuration 2015-12-15 13:08:48 +00:00
ArmGicSecLib.c ArmPkg: merge ArmGicV[23]Lib.h into ArmGicLib.h 2015-07-28 20:44:27 +00:00