summaryrefslogtreecommitdiff
path: root/src/dev/arm
diff options
context:
space:
mode:
authorGiacomo Travaglini <giacomo.travaglini@arm.com>2019-08-29 14:09:30 +0100
committerGiacomo Travaglini <giacomo.travaglini@arm.com>2019-09-06 11:53:49 +0000
commitc1458b5d583f6e1eca90c2246f3f2429a02383f4 (patch)
tree5205a273fa4f43bc0a31b5d62d4dfb9680369f49 /src/dev/arm
parentf8ac63a289a4e411e2c1779ef7ee1508de2fd329 (diff)
downloadgem5-c1458b5d583f6e1eca90c2246f3f2429a02383f4.tar.xz
dev-arm: Fix GICv3 IGRPMOD writes
Writes to IGRPMOD were not right shifting the value, which resulted in interrupts having a IGRPMOD value > 1, whereas the only allowed values are 0 and 1. Change-Id: Id491bd1b184d6e5abeeea25ea272eeb91792ccf7 Signed-off-by: Giacomo Travaglini <giacomo.travaglini@arm.com> Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/20613 Maintainer: Andreas Sandberg <andreas.sandberg@arm.com> Tested-by: kokoro <noreply+kokoro@google.com>
Diffstat (limited to 'src/dev/arm')
-rw-r--r--src/dev/arm/gic_v3_distributor.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/dev/arm/gic_v3_distributor.cc b/src/dev/arm/gic_v3_distributor.cc
index bae90bf6a..f85474c9c 100644
--- a/src/dev/arm/gic_v3_distributor.cc
+++ b/src/dev/arm/gic_v3_distributor.cc
@@ -794,7 +794,7 @@ Gicv3Distributor::write(Addr addr, uint64_t data, size_t size,
for (int i = 0, int_id = first_intid;
i < 8 * size && int_id < itLines; i++, int_id++) {
- irqGrpmod[int_id] = data & (0x1 << i);
+ irqGrpmod[int_id] = bits(data, i);
}
return ;