minix/kernel/system
Ben Gras 2d72cbec41 SYSENTER/SYSCALL support
. 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
2012-09-24 15:53:43 +02:00
..
do_abort.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
do_clear.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_copy.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
do_cprofile.c profiling related cleanup 2012-07-15 21:56:55 +02:00
do_devio.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_endksig.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_exec.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
do_exit.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_fork.c Replace MACHINE/CHIP macros with compiler macros 2012-08-06 17:49:22 +02:00
do_getinfo.c kernel: facility for user-visible memory 2012-07-28 20:57:38 +00:00
do_getksig.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_irqctl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_kill.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_mcontext.c Replace MACHINE/CHIP macros with compiler macros 2012-08-06 17:49:22 +02:00
do_memset.c further libexec generalization 2012-06-07 15:15:02 +02:00
do_privctl.c rename struct mem_range to minix_mem_range 2012-08-15 15:17:25 +02:00
do_profbuf.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_runctl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_safecopy.c various coverity-inspired fixes 2012-07-16 14:00:56 +02:00
do_safemap.c various coverity-inspired fixes 2012-07-16 14:00:56 +02:00
do_schedctl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_schedule.c Kernel: use okendpt() to resolve stored endpoints 2012-08-15 08:50:30 +00:00
do_setalarm.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_setgrant.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_sigreturn.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
do_sigsend.c vm: remove stack handling for signals 2012-08-29 17:31:38 +02:00
do_sprofile.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_statectl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_stime.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_sysctl.c Kernel: resolve Coverity warnings 2012-08-15 11:12:11 +00:00
do_times.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_trace.c Remove ACK EM_WSIZE/EM_PSIZE macro usage 2012-08-06 17:49:22 +02:00
do_umap.c drop from segments physcopy/vircopy invocations 2012-06-18 12:28:40 +00:00
do_umap_remote.c Kernel: use okendpt() to resolve stored endpoints 2012-08-15 08:50:30 +00:00
do_update.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
do_vdevio.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_vmctl.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
do_vtimer.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
do_vumap.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
Makefile.inc No more intel/minix segments. 2012-07-15 22:30:15 +02:00