e21e86600fa22fcbbb21b6632a7ce10e224479b8
[AROS.git] / arch / m68k-all / kernel / switch.c
blobe21e86600fa22fcbbb21b6632a7ce10e224479b8
1 #include <aros/kernel.h>
3 #include <kernel_base.h>
4 #include <kernel_syscall.h>
6 /*****************************************************************************
8 NAME */
9 #include <proto/kernel.h>
11 AROS_LH0(void, KrnSwitch,
13 /* SYNOPSIS */
15 /* LOCATION */
16 struct KernelBase *, KernelBase, 5, Kernel)
18 /* FUNCTION
19 Save context of caller's task and dispatch the next available task
21 INPUTS
22 None
24 RESULT
25 None
27 NOTES
28 This entry point directly calls task switch routine
29 in supervisor mode. It neither performs any checks of caller status
30 nor obeys interrupt enable state. After calling this function, caller's
31 task will be replaced by another one, and it's caller's responsibility
32 to do anything to prevent task loss.
34 This function is safe to call only from within user mode.
35 This function is considered internal, and not meant to be called
36 by user's software.
38 EXAMPLE
40 BUGS
42 SEE ALSO
44 INTERNALS
46 ******************************************************************************/
48 AROS_LIBFUNC_INIT
50 /* The real implementation is in Exec/Switch */
51 Supervisor(__AROS_GETVECADDR(SysBase,9));
53 AROS_LIBFUNC_EXIT