projects
/
bertos.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Remove CVS logs.
[bertos.git]
/
cpu
/
arm
/
drv
/
sysirq_at91.c
diff --git
a/cpu/arm/drv/sysirq_at91.c
b/cpu/arm/drv/sysirq_at91.c
index 33e6b0cd21fb56de666624566f3ba3acb0532d2a..281c7963f8afdbee1fb0fc472ca961a3171cd921 100644
(file)
--- a/
cpu/arm/drv/sysirq_at91.c
+++ b/
cpu/arm/drv/sysirq_at91.c
@@
-94,10
+94,9
@@
STATIC_ASSERT(countof(sysirq_tab) == SYSIRQ_CNT);
* various sources (system timer, etc..) and calls
* the corresponding handler.
*/
* various sources (system timer, etc..) and calls
* the corresponding handler.
*/
-static void sysirq_dispatcher(void) __attribute__ ((
naked
));
+static void sysirq_dispatcher(void) __attribute__ ((
interrupt
));
static void sysirq_dispatcher(void)
{
static void sysirq_dispatcher(void)
{
- IRQ_ENTRY();
for (unsigned i = 0; i < countof(sysirq_tab); i++)
{
if (sysirq_tab[i].enabled
for (unsigned i = 0; i < countof(sysirq_tab); i++)
{
if (sysirq_tab[i].enabled
@@
-105,7
+104,8
@@
static void sysirq_dispatcher(void)
sysirq_tab[i].handler();
}
sysirq_tab[i].handler();
}
- IRQ_EXIT();
+ /* Inform hw that we have served the IRQ */
+ AIC_EOICR = 0;
}
#define SYSIRQ_PRIORITY 0 ///< default priority for system irqs.
}
#define SYSIRQ_PRIORITY 0 ///< default priority for system irqs.