[arch][arm-m] add generic header/footer for arm-m handlers

This commit is contained in:
Travis Geiselbrecht
2013-03-10 17:41:10 -07:00
parent 0c64f5aa7b
commit d36b762ea8
2 changed files with 24 additions and 0 deletions

View File

@@ -24,6 +24,7 @@
#include <arch.h>
#include <arch/ops.h>
#include <arch/arm.h>
#include <kernel/thread.h>
#include <platform.h>
#include <arch/arm/cm.h>
@@ -121,3 +122,18 @@ void _arm_cm_set_irqpri(uint32_t pri)
}
}
void arm_cm_irq_entry(void)
{
inc_critical_section();
THREAD_STATS_INC(interrupts);
}
void arm_cm_irq_exit(bool reschedule)
{
if (reschedule)
arm_cm_trigger_preempt();
dec_critical_section();
}

View File

@@ -165,5 +165,13 @@ void arm_cm_systick_set_periodic(uint32_t systick_clk_freq, lk_time_t period);
void arm_cm_systick_cancel_periodic(void);
/* extern void _systick(void); // override this */
/* interrupt glue */
/*
* Platform code should put this as the first and last line of their irq handlers.
* Pass true to reschedule to request a preempt.
*/
void arm_cm_irq_entry(void);
void arm_cm_irq_exit(bool reschedule);
#endif