Files
zephyr/kernel
Andy Ross 042d8ecca9 kernel: Add alternative _arch_switch context switch primitive
The existing __swap() mechanism is too high level for some
applications because of its scheduler-awareness.  This introduces a
new _arch_switch() mechanism, which is a simpler primitive that looks
like:

    void _arch_switch(void *handle, void **old_handle_out);

The new thread handle (typically just a stack pointer) is specified
explicitly instead of being picked up from the scheduler by
per-architecture code, and on return the "old" thread handle that got
switched out is returned through the pointer.

The new primitive (currently available only on xtensa) is selected
when CONFIG_USE_SWITCH is "y".  A new C _Swap() implementation based
on this primitive is then added which operates compatibly.

Signed-off-by: Andy Ross <andrew.j.ross@intel.com>
2018-02-16 10:44:29 -05:00
..
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00
2018-02-16 10:44:29 -05:00