freebsd-dev/sys/amd64/linux32
Konstantin Belousov 2c66cccab7 Save and restore segment registers on amd64 when entering and leaving
the kernel on amd64. Fill and read segment registers for mcontext and
signals. Handle traps caused by restoration of the
invalidated selectors.

Implement user-mode creation and manipulation of the process-specific
LDT descriptors for amd64, see sysarch(2).

Implement support for TSS i/o port access permission bitmap for amd64.

Context-switch LDT and TSS. Do not save and restore segment registers on
the context switch, that is handled by kernel enter/leave trampolines
now. Remove segment restore code from the signal trampolines for
freebsd/amd64, freebsd/ia32 and linux/i386 for the same reason.

Implement amd64-specific compat shims for sysarch.

Linuxolator (temporary ?) switched to use gsbase for thread_area pointer.

TODO:
Currently, gdb is not adapted to show segment registers from struct reg.
Also, no machine-depended ptrace command is added to set segment
registers for debugged process.

In collaboration with:	pho
Discussed with:	peter
Reviewed by:	jhb
Linuxolator tested by:	dchagin
2009-04-01 13:09:26 +00:00
..
linux32_dummy.c Implement robust futexes. Most of the code is modelled after 2008-05-13 20:01:27 +00:00
linux32_genassym.c Segment registers are stored in the uc_mcontext member of the struct 2008-09-07 16:39:21 +00:00
linux32_ipc64.h
linux32_locore.s Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
linux32_machdep.c Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
linux32_proto.h Regenerate 2008-11-29 14:57:58 +00:00
linux32_support.s Move futex support code from <arch>/support.s into linux compat directory. 2007-05-23 08:33:06 +00:00
linux32_syscall.h Regenerate 2008-11-29 14:57:58 +00:00
linux32_sysent.c Regenerate 2008-11-29 14:57:58 +00:00
linux32_sysvec.c Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
linux.h Revert 190445 change to this file restoring: 2009-03-27 17:00:49 +00:00
Makefile
syscalls.conf - Remove unused sysvec variables from various syscalls.conf. 2006-08-15 17:25:55 +00:00
syscalls.master Fix iovec32 for linux32/amd64. 2008-11-29 14:55:24 +00:00