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~
