summaryrefslogtreecommitdiffstats
path: root/usr.bin
diff options
context:
space:
mode:
authormarcel <marcel@FreeBSD.org>2013-02-12 17:38:35 +0000
committermarcel <marcel@FreeBSD.org>2013-02-12 17:38:35 +0000
commit6da471ce0205104fc4ba5b07ac0e084a5a77c6fd (patch)
treec8c52799a5a0b960dc595e6e48111ec85c630061 /usr.bin
parentbd362fd0fc450c392064fa6ab3f45e7a22abba89 (diff)
downloadFreeBSD-src-6da471ce0205104fc4ba5b07ac0e084a5a77c6fd.zip
FreeBSD-src-6da471ce0205104fc4ba5b07ac0e084a5a77c6fd.tar.gz
Eliminate the PC_CURTHREAD symbol and load the current thread's
thread structure pointer atomically from r13 (the pcpu pointer) for the current CPU/core. Add a CTASSERT in machdep.c to make sure that pc_curthread is in fact the first field in struct pcpu. The only non-atomic operations left were those related to process- space operations, such as casuword, subyte, suword16, fubyte, fuword16, copyin, copyout and their variations. The casuword function has been re-structured more complete than the others. This way we have an example of a better bundling without introducing a lot of risk when we get it wrong. The other functions can be rebundled in separate commits and with the appropriate testing.
Diffstat (limited to 'usr.bin')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud