On 28 November 2013 16:17, Peter Maydell <peter.maydell@xxxxxxxxxx> wrote: > On 19 November 2013 06:18, Christoffer Dall <christoffer.dall@xxxxxxxxxx> wrote: > So I think this is a correct change in the sense that > it's fixing the behaviour of this function. However > we seem to get our pending behaviour for level triggered > interrupts wrong in several places: > * here > * gic_acknowledge_irq (which you fix in a later patch) > * gic_complete_irq, which currently says "enabled > level triggered still-raised interrupts should be > remarked as pending" > > This feels to me like a cluster of errors which have come > from somebody's misreading of the spec and which probably > combine to produce a coherent not-too-far-from-correct > result, and which we should therefore fix all at once rather > than only partially. The other possibility is that it's a correct implementation of 11MPCore GIC semantics -- the documentation of the 11MPCore definitely says that level triggered interrupts go from Pending to Active and can't be Active+Pending unless software messes with the GIC state. So either the docs are actively wrong for 11MPCore or it behaves differently from GICv1 and v2 here (my guess would be the latter, in which case we need to support both flavours). thanks -- PMM _______________________________________________ kvmarm mailing list kvmarm@xxxxxxxxxxxxxxxxxxxxx https://lists.cs.columbia.edu/cucslists/listinfo/kvmarm