arm_gic: GICD_ICFGR: Write model only for pre v1 GICs

Setting the model is only available in pre-v1 GIC models.

Acked-by: Christoffer Dall <christoffer.dall@linaro.org>
Signed-off-by: Adam Lackorzynski <adam@os.inf.tu-dresden.de>
Message-id: 1408372255-12358-3-git-send-email-adam@os.inf.tu-dresden.de
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Adam Lackorzynski 2014-08-29 15:00:28 +01:00 committed by Peter Maydell
parent 71a62046ae
commit 24b790df43

View File

@ -561,10 +561,12 @@ static void gic_dist_writeb(void *opaque, hwaddr offset,
if (irq < GIC_INTERNAL) if (irq < GIC_INTERNAL)
value |= 0xaa; value |= 0xaa;
for (i = 0; i < 4; i++) { for (i = 0; i < 4; i++) {
if (value & (1 << (i * 2))) { if (s->revision == REV_11MPCORE || s->revision == REV_NVIC) {
GIC_SET_MODEL(irq + i); if (value & (1 << (i * 2))) {
} else { GIC_SET_MODEL(irq + i);
GIC_CLEAR_MODEL(irq + i); } else {
GIC_CLEAR_MODEL(irq + i);
}
} }
if (value & (2 << (i * 2))) { if (value & (2 << (i * 2))) {
GIC_SET_EDGE_TRIGGER(irq + i); GIC_SET_EDGE_TRIGGER(irq + i);