minix/lib/libsys
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
..
alloc_util.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
assert.c drivers: resolve compiler warnings 2012-03-05 22:32:55 +01:00
asynsend.c retire _ANSI and <minix/ansi.h> 2012-03-25 21:58:27 +02:00
ds.c drop segments from safemap/safeunmap invocations 2012-06-18 12:28:40 +00:00
env_get_prm.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
env_panic.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
env_parse.c various coverity-inspired fixes 2012-07-16 14:00:56 +02:00
env_prefix.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
fkey_ctl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
gcov.c drop segment from safecopy invocations 2012-06-16 16:22:51 +00:00
get_randomness.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
getidle.c libsys: resolve Coverity warnings 2012-08-09 00:16:36 +02:00
getsysinfo.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
getuptime.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
getuptime2.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
input.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
kernel_call.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
kprintf.c panic() cleanup. 2010-03-05 15:05:11 +00:00
kputc.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
kputs.c intercept puts() in libsys, for gcc 2010-04-23 20:23:33 +00:00
Makefile VM: remove unused dma memory support functions from vm 2012-09-18 13:17:47 +02:00
optset.c libsys: let optset parse largeish positive values 2012-09-03 12:20:17 +00:00
panic.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci.h Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
pci_attr_r8.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_attr_r16.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_attr_r32.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_attr_w8.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_attr_w16.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_attr_w32.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_del_acl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_dev_name.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_find_dev.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_first_dev.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_get_bar.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_ids.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_init.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_next_dev.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_rescan_bus.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_reserve.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_set_acl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
pci_slot_name.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
profile.c libsys: resolve Coverity warnings 2012-08-09 00:16:36 +02:00
profile_extern.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
safecopies.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sched_start.c libsys: resolve Coverity warnings 2012-08-09 00:16:36 +02:00
sched_stop.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sef.c libsys: resolve Coverity warnings 2012-08-09 00:16:36 +02:00
sef_gcov.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sef_init.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sef_liveupdate.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sef_ping.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sef_signal.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
ser_putc.c libsys: resolve Coverity warnings 2012-08-09 00:16:36 +02:00
spin.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sqrt_approx.c introduce sqrt_approx() in -lsys 2011-07-04 02:51:12 +02:00
stacktrace.c libsys: remove unused stacktrace variant 2012-08-09 00:16:35 +02:00
sys_abort.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_clear.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_cprof.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_endsig.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_eniop.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_exec.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_exit.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_fork.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
sys_getinfo.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_getsig.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_hz.c Add an UNUSED annotation, and use it in libsys. 2010-03-11 14:23:33 +00:00
sys_in.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_int86.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_irqctl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_kill.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_mcontext.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_memset.c further libexec generalization 2012-06-07 15:15:02 +02:00
sys_out.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_physcopy.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
sys_privctl.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_profbuf.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_readbios.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_runctl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_safecopy.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
sys_safemap.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
sys_schedctl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_schedule.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_sdevio.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_setalarm.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_setgrant.c Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sys_sigreturn.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_sigsend.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_sprof.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_statectl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_stime.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_sysctl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_times.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_trace.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_umap.c drop from segments physcopy/vircopy invocations 2012-06-18 12:28:40 +00:00
sys_umap_remote.c drop from segments physcopy/vircopy invocations 2012-06-18 12:28:40 +00:00
sys_update.c New RS and new signal handling for system processes. 2010-03-17 01:15:29 +00:00
sys_vinb.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_vinl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_vinw.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_vircopy.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
sys_vmctl.c Rename sys_vmctl_get_cr3_i386 2012-08-12 23:30:54 +02:00
sys_voutb.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_voutl.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_voutw.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_vsafecopy.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_vtimer.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
sys_vumap.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
syslib.h Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
sysutil.h Incorporate bsdmake into buildsystem and reorganize libs 2010-02-16 14:41:33 +00:00
taskcall.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
tickdelay.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
timers.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
timing.c Fix a ton of compiler warnings 2011-11-14 10:07:49 +00:00
tsc_util.c Reorganize arch consts and types 2012-08-16 17:07:43 +02:00
vbox.c VBOX: add host/guest communication interface 2012-04-09 15:56:20 +02:00
vm_brk.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
vm_exit.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
vm_fork.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
vm_info.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
vm_map_phys.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
vm_notify_sig.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
vm_procctl.c exec() cleanup, generalization, improvement 2012-06-07 15:15:01 +02:00
vm_umap.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
vm_yield_get_block.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
vprintf.c libsys: 64-bit numbers support for printf() 2012-07-26 09:45:05 +00:00