]> xenbits.xensource.com Git - people/julieng/freebsd.git/commitdiff
Uncomment some rather important code that was commented out for benchmarking.
authorian <ian@FreeBSD.org>
Tue, 20 Oct 2015 15:15:30 +0000 (15:15 +0000)
committerian <ian@FreeBSD.org>
Tue, 20 Oct 2015 15:15:30 +0000 (15:15 +0000)
Normally this routine is supposed to loop until the PIC returns a "no more
interrupts pending" indication.  I had commented that out to do just one
interrupt per invokation to do some timing tests.

Spotted by:    Svata Kraus
Pointy Hat: ian

sys/arm/arm/gic.c

index a1ce111f9f1492fc9927fc8ed1b14512d3ad071e..5326610e47be18865dfd086cc3c8a4179939df03 100644 (file)
@@ -554,10 +554,10 @@ dispatch_irq:
        arm_irq_dispatch(isrc, tf);
 
 next_irq:
-//      arm_irq_memory_barrier(irq); /* XXX */
-//      irq_active_reg = gic_c_read_4(sc, GICC_IAR);
-//      irq = irq_active_reg & 0x3FF;
-       if (0 && irq < sc->nirqs)
+       arm_irq_memory_barrier(irq);
+       irq_active_reg = gic_c_read_4(sc, GICC_IAR);
+       irq = irq_active_reg & 0x3FF;
+       if (irq < sc->nirqs)
                goto dispatch_irq;
 
        return (FILTER_HANDLED);