2d72cbec41
. add cpufeature detection of both . use it for both ipc and kernelcall traps, using a register for call number . SYSENTER/SYSCALL does not save any context, therefore userland has to save it . to accomodate multiple kernel entry/exit types, the entry type is recorded in the process struct. hitherto all types were interrupt (soft int, exception, hard int); now SYSENTER/SYSCALL is new, with the difference that context is not fully restored from proc struct when running the process again. this can't be done as some information is missing. . complication: cases in which the kernel has to fully change process context (i.e. sigreturn). in that case the exit type is changed from SYSENTER/SYSEXIT to soft-int (i.e. iret) and context is fully restored from the proc struct. this does mean the PC and SP must change, as the sysenter/sysexit userland code will otherwise try to restore its own context. this is true in the sigreturn case. . override all usage by setting libc_ipc=1 |
||
---|---|---|
.. | ||
devman | ||
ds | ||
ext2 | ||
hgfs | ||
inet | ||
init | ||
ipc | ||
is | ||
iso9660fs | ||
lwip | ||
mfs | ||
pfs | ||
pm | ||
procfs | ||
rs | ||
sched | ||
vbfs | ||
vfs | ||
vm | ||
Makefile | ||
Makefile.inc |