The old strategy was to only do context switching from within the PendSV handler. This worked fine until now because all syscalls were handled either atomically or just returned -EAGAIN if the resource was locked or busy. However, with the introduction of I/O wait, we need to be able to sleep directly from within the kernel by moving the context switching completely into the kernel. |
||
|---|---|---|
| .. | ||
| do_switch.h | ||
| hardware.h | ||
| sched.h | ||
| serial.h | ||
| syscall.h | ||
| watchdog.h | ||