freebsd-dev/sys/amd64/ia32
Konstantin Belousov 4cc6942f37 Change the way the lcall $7,$0 is reflected to usermode. Instead of
setting call gate, which must be 64 bit, put a code segment descriptor
into ldt slot 0.

This way, syscall shim does not switch temporary to 64bit trampoline,
and does not create a window where signal delivery interrupts 64 bit
mode (signal handler cannot return).  The cost is shim running with
non-zero based segment in %cs, which requires vfork() handling make
more assumptions.

Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2014-12-27 23:19:08 +00:00
..
ia32_exception.S Catch up to PCB_FULL_IRET becoming a pcb flag rather than a full field. 2011-04-08 13:30:48 +00:00
ia32_misc.c Add support for executing the FreeBSD 1/i386 a.out binaries on amd64. 2011-04-01 11:16:29 +00:00
ia32_reg.c Eliminate ia32_reg.h by moving its contents to x86 and ia64 reg.h. 2012-03-18 19:12:11 +00:00
ia32_signal.c x86: Allow users to change PSL_RF via ptrace(PT_SETREGS...) 2013-11-14 15:37:20 +00:00
ia32_sigtramp.S Change the way the lcall $7,$0 is reflected to usermode. Instead of 2014-12-27 23:19:08 +00:00
ia32_syscall.c Change the way the lcall $7,$0 is reflected to usermode. Instead of 2014-12-27 23:19:08 +00:00