From f6d46e296060507bc8d02fadb8ebd591fc9aefca Mon Sep 17 00:00:00 2001 From: Ard Biesheuvel Date: Mon, 16 Feb 2015 10:27:02 +0000 Subject: ArmPkg/ArmGic: enable ARE bit before driving GICv3 in native mode The GICv3 driver must use native mode to drive a GICv3 due to the fact that v2 compatibility is optional in the v3 spec. However, if v2 compatibility is implemented, it is the default and needs to be disabled first by setting the Affinity Routing Enable (ARE) bit. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel Reviewed-by: Olivier Martin [added PCD that allows forcing the GICv3 driver to drive the GIC in v2 mode] Signed-off-by: Olivier Martin Tested-by: Ard Biesheuvel Reviewed-by: Ard Biesheuvel git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16875 6f19259b-4bc3-4df7-8a09-765794883524 --- ArmPkg/Include/Library/ArmGicLib.h | 3 +++ 1 file changed, 3 insertions(+) (limited to 'ArmPkg/Include/Library') diff --git a/ArmPkg/Include/Library/ArmGicLib.h b/ArmPkg/Include/Library/ArmGicLib.h index 2ab99772d1..e2a4818c4c 100644 --- a/ArmPkg/Include/Library/ArmGicLib.h +++ b/ArmPkg/Include/Library/ArmGicLib.h @@ -53,6 +53,9 @@ typedef enum { // GICv3 specific registers #define ARM_GICD_IROUTER 0x6100 // Interrupt Routing Registers +// the Affinity Routing Enable (ARE) bit in GICD_CTLR +#define ARM_GIC_ICDDCR_ARE (1 << 4) + // // GIC Redistributor // -- cgit v1.2.3