On Mon Aug 18, 2014 at 14:48:15 +0200, Christoffer Dall wrote: > On Sat, Aug 16, 2014 at 09:48:21PM +0200, Adam Lackorzynski wrote: > > Only SGIs must be WI, done by forcing them to their default > > (edge-triggered). > > > > Signed-off-by: Adam Lackorzynski <a...@os.inf.tu-dresden.de> > > --- > > hw/intc/arm_gic.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/hw/intc/arm_gic.c b/hw/intc/arm_gic.c > > index e546647..55019c9 100644 > > --- a/hw/intc/arm_gic.c > > +++ b/hw/intc/arm_gic.c > > @@ -558,7 +558,7 @@ static void gic_dist_writeb(void *opaque, hwaddr offset, > > irq = (offset - 0xc00) * 4 + GIC_BASE_IRQ; > > if (irq >= s->num_irq) > > goto bad_reg; > > - if (irq < GIC_INTERNAL) > > + if (irq < GIC_NR_SGIS) > > value |= 0xaa; > > for (i = 0; i < 4; i++) { > > if (s->revision == REV_11MPCORE || s->revision == REV_NVIC) { > > -- > > 2.1.0.rc1 > > > > where do we ensure that the SGIs are actually configured as > edge-triggered when creating the gic?
It's setup in arm_gic_common_reset() in arm_gic_common.c. (Looks like I should add another change to use GIC_NR_SGIS there too.) Adam -- Adam a...@os.inf.tu-dresden.de Lackorzynski http://os.inf.tu-dresden.de/~adam/