From: Giacomo Travaglini Date: Tue, 3 Sep 2019 09:45:40 +0000 (+0100) Subject: dev-arm: Add GICD_SGIR register X-Git-Tag: v19.0.0.0~568 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=286b6267afde29fcbe7d6aa3950ded6dba9eda1e;p=gem5.git dev-arm: Add GICD_SGIR register The Distributor Software Generated Interrupt Register is implemented only if affinity routing is disabled. Since this configuration is currently not supported in gem5, it has to be treated as RES0. Change-Id: I9ffcb31b26fc17547f74a4f1d43ce72c59786fa8 Signed-off-by: Giacomo Travaglini Reviewed-by: Andreas Sandberg Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20630 Tested-by: kokoro Maintainer: Andreas Sandberg --- diff --git a/src/dev/arm/gic_v3_distributor.cc b/src/dev/arm/gic_v3_distributor.cc index 374a4636d..a0cebacc7 100644 --- a/src/dev/arm/gic_v3_distributor.cc +++ b/src/dev/arm/gic_v3_distributor.cc @@ -936,6 +936,10 @@ Gicv3Distributor::write(Addr addr, uint64_t data, size_t size, break; + case GICD_SGIR: // Error Reporting Status Register + // Only if affinity routing is disabled, RES0 + break; + default: panic("Gicv3Distributor::write(): invalid offset %#x\n", addr); break; diff --git a/src/dev/arm/gic_v3_distributor.hh b/src/dev/arm/gic_v3_distributor.hh index 76ab6dd02..df35dafe4 100644 --- a/src/dev/arm/gic_v3_distributor.hh +++ b/src/dev/arm/gic_v3_distributor.hh @@ -69,6 +69,8 @@ class Gicv3Distributor : public Serializable GICD_IIDR = 0x0008, // Error Reporting Status Register GICD_STATUSR = 0x0010, + // Software Generated Interrupt Register + GICD_SGIR = 0x0f00, // Peripheral ID0 Register GICD_PIDR0 = 0xffe0, // Peripheral ID1 Register