On 03/17/2015 04:56 AM, Stefan Hajnoczi wrote: > @@ -1989,8 +1989,7 @@ static void omap_mpuio_write(void *opaque, hwaddr addr, > case 0x04: /* OUTPUT_REG */ > diff = (s->outputs ^ value) & ~s->dir; > s->outputs = value; > - while ((ln = ffs(diff))) { > - ln --; > + while ((ln = ctz32(diff)) != 32) { > if (s->handler[ln]) > qemu_set_irq(s->handler[ln], (value >> ln) & 1); > diff &= ~(1 << ln);
Surely while (diff != 0) { ln = ctz32(diff); ... } would be a better conversion. r~