Author: ian
Date: Fri Dec 13 22:24:00 2013
New Revision: 259349
URL: http://svnweb.freebsd.org/changeset/base/259349

Log:
  MFC r257419:
  
    Do not EOI an interrupt until the point after the filter handlers / before
    threaded handlers.

Modified:
  stable/10/sys/arm/arm/gic.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/arm/arm/gic.c
==============================================================================
--- stable/10/sys/arm/arm/gic.c Fri Dec 13 22:22:54 2013        (r259348)
+++ stable/10/sys/arm/arm/gic.c Fri Dec 13 22:24:00 2013        (r259349)
@@ -271,7 +271,6 @@ arm_get_next_irq(int last_irq)
                        printf("Spurious interrupt detected [0x%08x]\n", 
active_irq);
                return -1;
        }
-       gic_c_write_4(GICC_EOIR, active_irq);
 
        return active_irq;
 }
@@ -279,14 +278,15 @@ arm_get_next_irq(int last_irq)
 void
 arm_mask_irq(uintptr_t nb)
 {
+
        gic_d_write_4(GICD_ICENABLER(nb >> 5), (1UL << (nb & 0x1F)));
+       gic_c_write_4(GICC_EOIR, nb);
 }
 
 void
 arm_unmask_irq(uintptr_t nb)
 {
 
-       gic_c_write_4(GICC_EOIR, nb);
        gic_d_write_4(GICD_ISENABLER(nb >> 5), (1UL << (nb & 0x1F)));
 }
 
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to