mbed-os/rtos
Jaeden Amero 75ad20b65f RTX5: uVisor: Switch threads very carefully
uVisor doesn't set the PSP of the target thread. The RTOS sets the PSP
of the target thread from the target thread's TCB. However, when
interrupts of higher priority than PendSV happen between the call to
uVisor to switch boxes, and the RTOS setting PSP, the uVisor vIRQ
interrupt handler will attempt to use an invalid PSP (the PSP from
before the box and thread switch). This leads to a crash. Make box and
thread switching atomic by disabling interrupts immediately before the
box switching until immediately after the new PSP is set.
2017-11-01 09:25:43 +00:00
..
TARGET_CORTEX RTX5: uVisor: Switch threads very carefully 2017-11-01 09:25:43 +00:00
EventFlags.cpp RTOS: Changes to the EvenFlags API, doxy and tests 2017-08-15 13:33:32 +01:00
EventFlags.h RTOS: Changes to the EvenFlags API, doxy and tests 2017-08-15 13:33:32 +01:00
Mail.h Remove use of internal RTX types 2017-09-04 11:26:38 -05:00
MemoryPool.h Fix pool buffer size, update free() description, add assertion in MemoryPool.h header file. 2017-08-21 18:09:51 +01:00
Mutex.cpp RTX5: Enable priority inheritance and robust mode 2017-06-02 23:50:36 -05:00
Mutex.h RTOS: Mutex: Improve API docs 2017-07-12 11:02:12 +01:00
Queue.h RTOS: Queue: Improve API docs 2017-07-12 15:39:54 +01:00
RtosTimer.cpp Update codebase for CMSIS5/RTX5 2017-05-30 18:55:52 +01:00
RtosTimer.h Merge pull request #4947 from fkjagodzinski/rtostimer_tests 2017-10-19 16:46:12 +01:00
Semaphore.cpp rtos: Unbreak semaphore, trade assert for saturation with original limit 2017-06-16 17:18:40 -05:00
Semaphore.h RTOS: Semaphore: Improve API docs 2017-07-11 15:01:40 +01:00
Thread.cpp Remove use of internal RTX types 2017-09-04 11:26:38 -05:00
Thread.h Doxygen comment fix for Thread class 2017-09-29 15:51:41 +02:00
mbed_lib.json RTOS - add config mbed_lib.json file 2016-06-08 18:41:29 +01:00
rtos.h Remove use of internal RTX types 2017-09-04 11:26:38 -05:00
rtos_idle.h Add tags to our code 2016-10-04 15:02:44 -05:00