diff options
Diffstat (limited to 'src/cpu/irq.c')
-rw-r--r-- | src/cpu/irq.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/cpu/irq.c b/src/cpu/irq.c index b2d9a71..4708293 100644 --- a/src/cpu/irq.c +++ b/src/cpu/irq.c @@ -56,16 +56,11 @@ void c_irq_handler(void) } } // Check if System Time Compare 0 Triggered the Interrupt - else if (*(volatile unsigned long*)SYS_TIMER_CS & SYS_TIMER_SC_M0) { + if (*(volatile unsigned long*)SYS_TIMER_CS & SYS_TIMER_SC_M0) { volatile unsigned long* timer_cs = (volatile unsigned long*)SYS_TIMER_CS; volatile unsigned long* timer_chi = (volatile unsigned long*)SYS_TIMER_CHI; volatile unsigned long* nexttime = (volatile unsigned long*)SYS_TIMER_C0; - static char timer_lock = 0; - if (!timer_lock) { - timer_lock = 1; - add_thread_without_duplicate(test_entry, 0, 2); - timer_lock = 0; - } + add_thread_without_duplicate(test_entry, 0, 2); *nexttime = *timer_chi + 8000000; *timer_cs = SYS_TIMER_SC_M0; } @@ -88,7 +83,7 @@ unsigned long c_fiq_handler(void) counter++; if (counter % 0x6000 == 0) counter = 0; - if (counter % 0x10 == 0) + if (counter % 0x08 == 0) status(); if (counter % 0x40 == 0) return 1; |