freebsd-skq/sys/amd64/include
kib 253f7779bc 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
..
pc Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
xen Merge in support for Xen HVM on amd64 architecture. 2009-03-11 15:30:12 +00:00
_bus.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
_inttypes.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
_limits.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
_stdint.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
_types.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
acpica_machdep.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
apicreg.h Add constants for fields in the local APIC error status register and a 2008-12-11 15:56:30 +00:00
apicvar.h Initial suspend/resume support for amd64. 2009-03-17 00:48:11 +00:00
asm.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
asmacros.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
atomic.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
bus_dma.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
bus.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
clock.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
cpu.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
cpufunc.h Change some movl's to mov's. Newer GAS no longer accept 'movl' instructions 2009-01-31 11:37:21 +00:00
cputypes.h Add Centaur/IDT/VIA vendor ID for Nano family, which has long mode support. 2009-01-05 21:51:49 +00:00
db_machdep.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
elf.h Add AT_EXECPATH ELF auxinfo entry type. The value's a_ptr is a pointer 2009-03-17 12:50:16 +00:00
endian.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
exec.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
float.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
floatingpoint.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
fpu.h A few cleanups to the FPU code on amd64: 2009-03-05 16:56:16 +00:00
frame.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
gdb_machdep.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
ieeefp.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
in_cksum.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
intr_machdep.h Improve robustness of NMI handling, for NMIs recognized in kernel 2009-02-03 09:01:45 +00:00
iodev.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
kdb.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
legacyvar.h Companion for r188301: fix the prototypes. 2009-02-08 07:03:34 +00:00
limits.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
md_var.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
memdev.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
metadata.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
minidump.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
mp_watchdog.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
mptable.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
mutex.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
nexusvar.h Rework how the nexus(4) device works on x86 to better handle the idea of 2008-03-13 20:39:04 +00:00
param.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
pcb.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
pci_cfgreg.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
pcpu.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
pmap.h Update stale comments. The alternate address space mapping was eliminated 2009-03-22 18:56:26 +00:00
pmc_mdep.h - Add support for PMCs in Intel CPUs of Family 6, model 0xE (Core Solo 2008-11-27 09:00:47 +00:00
ppireg.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
proc.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
profile.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
psl.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
ptrace.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
reg.h Add all segment registers for the amd64 CPU to struct reg and mcontext. 2009-04-01 12:44:17 +00:00
reloc.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
resource.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
runq.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
segments.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
setjmp.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
sf_buf.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
sigframe.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
signal.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
smp.h Initial suspend/resume support for amd64. 2009-03-17 00:48:11 +00:00
specialreg.h Add basic amd64 support for VIA Nano processors. 2009-01-12 19:17:35 +00:00
stack.h Make preparations for increasing the size of the kernel virtual 2008-06-20 05:22:09 +00:00
stdarg.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
sysarch.h Save and restore segment registers on amd64 when entering and leaving 2009-04-01 13:09:26 +00:00
timerreg.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
trap.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
tss.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
ucontext.h Add all segment registers for the amd64 CPU to struct reg and mcontext. 2009-04-01 12:44:17 +00:00
varargs.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00
vmparam.h Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64 2008-11-22 16:14:52 +00:00