summaryrefslogtreecommitdiff
path: root/src/dev/arm/gic_pl390.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/dev/arm/gic_pl390.hh')
-rw-r--r--src/dev/arm/gic_pl390.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/dev/arm/gic_pl390.hh b/src/dev/arm/gic_pl390.hh
index 3b35b59fb..60d9ae30d 100644
--- a/src/dev/arm/gic_pl390.hh
+++ b/src/dev/arm/gic_pl390.hh
@@ -67,10 +67,23 @@ class Pl390 : public BaseGic, public BaseGicRegisters
GICD_TYPER = 0x004, // controller type
GICD_IIDR = 0x008, // implementer id
GICD_SGIR = 0xf00, // software generated interrupt
+ GICD_PIDR0 = 0xfe0, // distributor peripheral ID0
+ GICD_PIDR1 = 0xfe4, // distributor peripheral ID1
+ GICD_PIDR2 = 0xfe8, // distributor peripheral ID2
+ GICD_PIDR3 = 0xfec, // distributor peripheral ID3
DIST_SIZE = 0xfff
};
+ /**
+ * As defined in:
+ * "ARM Generic Interrupt Controller Architecture" version 2.0
+ * "CoreLink GIC-400 Generic Interrupt Controller" revision r0p1
+ */
+ static constexpr uint32_t GICD_400_PIDR_VALUE = 0x002bb490;
+ static constexpr uint32_t GICD_400_IIDR_VALUE = 0x200143B;
+ static constexpr uint32_t GICC_400_IIDR_VALUE = 0x202143B;
+
static const AddrRange GICD_IGROUPR; // interrupt group (unimplemented)
static const AddrRange GICD_ISENABLER; // interrupt set enable
static const AddrRange GICD_ICENABLER; // interrupt clear enable