User mode system call "stubs" just call _syscall.
This function and sendrec will be linked into user programs.
The sendrec function traps to the kernel, so all the other functions below execute in kernel mode and are not linked to the user program.
(Functions in blue are in the kernel image.)
File locations of the source code:
Function | Path |
---|---|
_syscall | /usr/lib/other/syscall.c |
sendrec | /usr/src/lib/i386/rts/_ipc.s |
_s_call | /usr/src/kernel/mpx386.s |
restart | /usr/src/kernel/mpx386.s |
sys_call | /usr/src/kernel/proc.c |
mini_send | /usr/src/kernel/proc.c |
mini_receive | /usr/src/kernel/proc.c |
Note that each time after Minix is (re)installed, the header files get copied to standard include directories.
To call _syscall, you need to include <lib.h> in a user mode program.