diff options
author | Christian Cunningham <cc@localhost> | 2022-01-06 00:28:22 -0800 |
---|---|---|
committer | Christian Cunningham <cc@localhost> | 2022-01-06 00:28:22 -0800 |
commit | a826a645a67c2be3c7acb097c436c810da728ed7 (patch) | |
tree | b47d65d3058feb3daba778558526e2f7ed27a37d | |
parent | 866a6ca0e749f4446b7fdc7579a6d553df85ec10 (diff) |
Move irq enable/disable to handler
-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; |