x86_64: TLS FS base changing 'fast call' (XCC)
authorBarret Rhoden <brho@cs.berkeley.edu>
Tue, 2 Jul 2013 18:33:01 +0000 (11:33 -0700)
committerBarret Rhoden <brho@cs.berkeley.edu>
Thu, 11 Jul 2013 02:29:46 +0000 (19:29 -0700)
commit4110bba1ff85619cbc32949fe654bd39b42a8a7b
tree3069f8405e66fd8d07894569972c87872552c161
parentf2506c94770f407f22d73c6efcafc3f5271e9f89
x86_64: TLS FS base changing 'fast call' (XCC)

For systems that don't support reading/writing the FS base from userspace, we
have a fast path in the kernel to change the FS base.  We don't save or restore
anything, nor do we enter the main syscall path.  Hopefully that will be
reasonably fast.

This does impact the normal syscall path, albeit slightly.  If you know you
have hardware (Ivy Bridge or later) that supports WRFSBASE, then you can
disable this option.  Be sure your userspace knows what to do.

Reinstall your kernel headers.
kern/arch/x86/Kconfig
kern/arch/x86/cpuinfo.c
kern/arch/x86/ros/mmu64.h
kern/arch/x86/ros/syscall64.h
kern/arch/x86/trapentry64.S