audk/ArmPkg/Drivers
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
..
ArmCrashDumpDxe ArmPkg: add ArmCrashDumpDxe driver 2017-09-06 17:48:03 +01:00
ArmGic ArmPkg/ArmGicDxe: Fix GICv3 interrupt routing mode bug 2018-11-07 16:19:22 +01:00
ArmPciCpuIo2Dxe ArmPkg: implement CpuIo2 protocol driver specific for PCI 2016-04-29 18:04:25 +02:00
ArmScmiDxe ArmPkg/ArmScmiDxe: Dynamically allocate buffer for protocol ids 2018-06-22 08:22:04 +02:00
CpuDxe ArmPkg/CpuDxe: order CpuDxe after ArmGicDxe via protocol depex 2018-04-12 21:24:29 +02:00
CpuPei ArmPkg: Rectify file modes 2016-01-30 12:25:59 +00:00
GenericWatchdogDxe ArmPkg/GenericWatchdogDxe: Split 64bit register write to 2x32bit 2018-08-03 09:29:14 +02:00
TimerDxe ArmPkg: add reenable hook to ArmGenericTimerCounterLib 2018-04-26 08:31:12 +02:00