freebsd-dev/sys
Ed Schouten fa878ec311 Make it possible to safely use TPIDRURW from userspace.
On amd64, arm64 and i386, we have the possibility to switch between TLS
areas in userspace. The nice thing about this is that it makes it easier
to do light-weight threading, if we ever feel like doing that. On armv6,
let's go into the same direction by making it possible to safely use the
TPIDRURW register, which is intended for this purpose.

Clean up the ARMv6 code to remove md_tp entirely. Simply add a dedicated
field to the PCB to hold the value of TPIDRURW across context switches,
like we do for any other register. As userspace currently uses the
read-only TPIDRURO register, simply ensure that we keep both values in
sync where possible. The system calls for modifying the read-only
register will simply write the intended value into both registers, so
that it lazily ends up in the PCB during the next context switch.

Reviewed by:	https://reviews.freebsd.org/D7951
Approved by:	andrew
Reviewed by:	imp
Differential Revision:	https://reviews.freebsd.org/D7951
2016-09-22 08:14:59 +00:00
..
amd64 Regenerate syscall provider argument strings. 2016-09-22 04:50:03 +00:00
arm Make it possible to safely use TPIDRURW from userspace. 2016-09-22 08:14:59 +00:00
arm64 Add a way for the architecture to specify the calling ABI for methods 2016-09-21 10:35:44 +00:00
boot The getsecs() function is implemented in platform- and bootfw-specific 2016-09-22 06:24:40 +00:00
bsm
cam Protect ccbq access with devq->send_mtx in the XPT_ABORT handler. 2016-09-21 00:08:42 +00:00
cddl
compat Regenerate syscall provider argument strings. 2016-09-22 04:50:03 +00:00
conf Add kernel interfaces to call EFI Runtime Services. 2016-09-21 11:31:58 +00:00
contrib Update Annapurna Alpine HAL 2016-09-20 09:19:22 +00:00
crypto
ddb
dev Revert r306148 to fix build 2016-09-22 00:25:23 +00:00
fs
gdb
geom Follow up r305988 by removing g_bio_run_task and related code. 2016-09-20 09:18:33 +00:00
gnu Update the device tree source files to a Linux 4.7-RC. 2016-09-21 08:54:08 +00:00
i386 Regenerate syscall provider argument strings. 2016-09-22 04:50:03 +00:00
isa
kern Regenerate syscall provider argument strings. 2016-09-22 04:50:03 +00:00
kgssapi
libkern
mips Split bcm_mipscore.c into bcm_bmips (BMIPS32/BMIPS3300) and bcm_mips74k 2016-09-18 21:28:09 +00:00
modules Add evdev support to ums(4) 2016-09-21 18:52:03 +00:00
net
net80211 [net80211] don't add IBSS node table entries for neighbors from other SSIDs. 2016-09-21 19:48:07 +00:00
netgraph
netinet Fix the handling of unordered fragmented user messages using DATA chunks. 2016-09-21 08:28:18 +00:00
netinet6 Reduce code duplication around NDP message handlers in icmp6_input(). 2016-09-20 18:08:17 +00:00
netipsec
netnatm
netpfil Move opcode rewriter init and destroy handlers into non-VENT code. 2016-09-18 17:35:17 +00:00
netsmb
nfs
nfsclient
nfsserver
nlm
ofed
opencrypto
pc98
powerpc Revert part of r306065 2016-09-21 22:09:17 +00:00
riscv
rpc
security
sparc64
sys Rename efi_systbl to efi_systbl_phys, the variable contains the 2016-09-21 10:55:28 +00:00
teken
tests
tools
ufs Be more strict when selecting between snapshot/regular mount. 2016-09-19 15:58:33 +00:00
vm
x86 Detect x2APIC mode on boot and obey it. 2016-09-19 15:58:45 +00:00
xdr
xen
Makefile