Revert wrong commit.
authorbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 15 Nov 2007 22:59:08 +0000 (22:59 +0000)
committerbatt <batt@38d2e660-2303-0410-9eaa-f027e97ec537>
Thu, 15 Nov 2007 22:59:08 +0000 (22:59 +0000)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@1000 38d2e660-2303-0410-9eaa-f027e97ec537

cpu/arm/drv/sysirq_at91.c

index 7b12af2d8f4993d2b918467a0f3280adbdf74443..33e6b0cd21fb56de666624566f3ba3acb0532d2a 100644 (file)
@@ -98,14 +98,12 @@ static void sysirq_dispatcher(void) __attribute__ ((naked));
 static void sysirq_dispatcher(void)
 {
        IRQ_ENTRY();
-
-       /* PIT */
-       if ((PIT_MR & BV(PITIEN))
-           && (PIT_SR & BV(PITS))
-           && sysirq_tab[SYSIRQ_PIT].handler)
-               sysirq_tab[SYSIRQ_PIT].handler();
-
-       /* TODO: add other system sources here */
+       for (unsigned i = 0; i < countof(sysirq_tab); i++)
+       {
+               if (sysirq_tab[i].enabled
+                && sysirq_tab[i].handler)
+                       sysirq_tab[i].handler();
+       }
 
        IRQ_EXIT();
 }
@@ -125,8 +123,8 @@ void sysirq_init(void)
        IRQ_SAVE_DISABLE(flags);
 
        /* Disable all system interrupts */
-       PIT_MR &= BV(PITIEN);
-       /* TODO: add other system sources here */
+       for (unsigned i = 0; i < countof(sysirq_tab); i++)
+               sysirq_tab[i].setEnable(false);
 
        /* Set the vector. */
        AIC_SVR(SYSC_ID) = sysirq_dispatcher;