minix/kernel/arch/i386
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
..
include SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
acpi.c segmentless smp fixes 2012-07-15 22:47:20 +02:00
acpi.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
apic_asm.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
apic_asm.S SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
apic.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
apic.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
arch_clock.c Kernel: clean up include statements a bit 2012-08-14 16:29:05 +00:00
arch_do_vmctl.c Rename sys_vmctl_get_cr3_i386 2012-08-12 23:30:54 +02:00
arch_reset.c Kernel: clean up include statements a bit 2012-08-14 16:29:05 +00:00
arch_smp.c Kernel: resolve -Wall warnings for SMP 2012-08-14 16:38:03 +00:00
arch_system.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
arch_watchdog.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
breakpoints.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
debugreg.h Fix types in debug register functions 2010-04-28 08:35:05 +00:00
debugreg.S Macros for symbols used in both ASM and C 2010-08-17 16:44:07 +00:00
direct_tty_utils.c various warning/errorwarning fixes for gcc47 2012-08-27 16:19:18 +02:00
do_iopenable.c Kernel: use okendpt() to resolve stored endpoints 2012-08-15 08:50:30 +00:00
do_readbios.c No more intel/minix segments. 2012-07-15 22:30:15 +02:00
do_sdevio.c Kernel: use okendpt() to resolve stored endpoints 2012-08-15 08:50:30 +00:00
exception.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
glo.h SMP - CPU local run queues 2010-09-15 14:10:18 +00:00
head.S Kernel: clean up include statements a bit 2012-08-14 16:29:05 +00:00
i8259.c Kernel: clean up include statements a bit 2012-08-14 16:29:05 +00:00
io_inb.S Macros for symbols used in both ASM and C 2010-08-17 16:44:07 +00:00
io_inl.S Macros for symbols used in both ASM and C 2010-08-17 16:44:07 +00:00
io_intr.S Macros for symbols used in both ASM and C 2010-08-17 16:44:07 +00:00
io_inw.S Macros for symbols used in both ASM and C 2010-08-17 16:44:07 +00:00
io_outb.S Macros for symbols used in both ASM and C 2010-08-17 16:44:07 +00:00
io_outl.S Macros for symbols used in both ASM and C 2010-08-17 16:44:07 +00:00
io_outw.S Macros for symbols used in both ASM and C 2010-08-17 16:44:07 +00:00
kernel.lds kernel: facility for user-visible memory 2012-07-28 20:57:38 +00:00
klib.S phys_memset improvements 2012-09-21 14:15:44 +02:00
klib16.S boot: Add multiboot support 2011-06-24 17:21:51 +02:00
Makefile.inc SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
memory.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
mpx.S SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
oxpcie.c retire PUBLIC, PRIVATE and FORWARD 2012-03-25 21:58:14 +02:00
oxpcie.h retire _PROTOTYPE 2012-03-25 16:17:10 +02:00
pg_utils.c VM: only single page chunks 2012-09-18 13:17:49 +02:00
pre_init.c vm, kernel, top: report memory usage of vm, kernel 2012-09-18 23:43:52 +02:00
procoffsets.cf SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
protect.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
sconst.h SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
serial.h Add cttybaud boot monitor variable to control speed of serial console (combine with ctty 0) 2011-03-16 12:25:10 +00:00
trampoline.S segmentless smp fixes 2012-07-15 22:47:20 +02:00
usermapped_data_arch.c SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00
usermapped_glo_ipc.S SYSENTER/SYSCALL support 2012-09-24 15:53:43 +02:00