diff options
-rw-r--r-- | src/boot.S | 2 | ||||
-rw-r--r-- | src/cpu/irq.c | 3 |
2 files changed, 2 insertions, 3 deletions
@@ -55,7 +55,9 @@ reset: irq: push {r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} + cpsid i bl c_irq_handler + cpsie i pop {r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,lr} subs pc, lr, #4 diff --git a/src/cpu/irq.c b/src/cpu/irq.c index 28ad886..0d6e9de 100644 --- a/src/cpu/irq.c +++ b/src/cpu/irq.c @@ -13,7 +13,6 @@ void localtest(void); void c_irq_handler(void) { - disableirq(); unsigned long source = load32(CORE0_IRQ_SOURCE); if (source & (1 << 8)) { if(load32(IRQ_PENDING2) & (1 << 25)) { @@ -94,13 +93,11 @@ void c_irq_handler(void) g_Drawer.y = 7; write_string(&g_Drawer, "> "); write_string(&g_Drawer, cmd); - enableirq(); return; } } } else if (source & (1 << 3)) { c_timer(); - enableirq(); return; } return; |