diff options
author | Keith Packard <keithp@keithp.com> | 2016-03-26 15:54:24 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2016-03-26 16:07:20 -0700 |
commit | 4fa71ecf168e275b24534a5a20e3dd4e178c7bbd (patch) | |
tree | d3d042dbb8a3dff4d3133959db64dd6d90055c0d /src/stm/ao_timer.c | |
parent | 6a9546413d6a236c010e806b50506d870961d074 (diff) |
altos/stm: Validate current task SP in interrupt by looking at PSP
We use a separate stack pointer for task code, which means we can
verify that it is in range in any interrupt handler. This adds checks
for the task stack (under #ifdef DEBUG) that run in ao_wakeup as well
as at every timer interrupt.
Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/stm/ao_timer.c')
-rw-r--r-- | src/stm/ao_timer.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/stm/ao_timer.c b/src/stm/ao_timer.c index 8db62e76..91ede84b 100644 --- a/src/stm/ao_timer.c +++ b/src/stm/ao_timer.c @@ -41,6 +41,7 @@ volatile __data uint8_t ao_data_count; void stm_systick_isr(void) { + ao_validate_cur_stack(); if (stm_systick.csr & (1 << STM_SYSTICK_CSR_COUNTFLAG)) { ++ao_tick_count; #if HAS_TASK_QUEUE |