freebsd-skq/sys
Brandon Bergren 9aafc7c052 [PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations
This is a lock-based emulation of 64-bit atomics for kernel use, split off
from an earlier patch by jhibbits.

This is needed to unblock future improvements that reduce the need for
locking on 64-bit platforms by using atomic updates.

The implementation allows for future integration with userland atomic64,
but as that implies going through sysarch for every use, the current
status quo of userland doing its own locking may be for the best.

Submitted by:	jhibbits (original patch), kevans (mips bits)
Reviewed by:	jhibbits, jeff, kevans
Differential Revision:	https://reviews.freebsd.org/D22976
2020-01-02 23:20:37 +00:00
..
amd64 bhyve: terminate waiting loops if thread suspension is requested. 2020-01-02 22:37:04 +00:00
arm Add the xdma framework and pl330 dma drivers to arm and arm64 lint builds. 2020-01-02 22:26:54 +00:00
arm64 Add the xdma framework and pl330 dma drivers to arm and arm64 lint builds. 2020-01-02 22:26:54 +00:00
bsm Jail and capability mode for shm_rename; add audit support for shm_rename 2019-11-18 13:31:16 +00:00
cam Use atomic for start_count in devstat_start_transaction(). 2019-12-30 03:13:38 +00:00
cddl [PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations 2020-01-02 23:20:37 +00:00
compat Remove set_page_dirty_lock(). 2020-01-02 19:29:14 +00:00
conf [PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations 2020-01-02 23:20:37 +00:00
contrib [PowerPC] Clang powerpcspe build fixes 2019-12-27 05:01:13 +00:00
crypto Fix the armv8 crypto driver after r354170. 2019-10-30 10:41:10 +00:00
ddb sleep(9), sleepqueue(9): const'ify wchan pointers 2019-12-24 16:19:33 +00:00
dev sys/dev/cfi: include sys/types.h as well 2020-01-02 22:52:31 +00:00
dts
fs msdos: vgone unconstructed vnode before vputing it 2020-01-01 22:50:23 +00:00
gdb [PPC] Handle qOffsets packet 2019-12-16 13:17:39 +00:00
geom Remove extra check for provider being closed. 2020-01-02 20:30:53 +00:00
gnu Import DTS files for riscv from Linux 5.4 2019-12-03 09:12:53 +00:00
i386 Add basic getcpu(2) support to linuxulator. The purpose of this 2019-12-31 22:01:08 +00:00
isa sc(4) md bits: stop setting sc->kbd entirely 2019-12-30 02:07:55 +00:00
kern [PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations 2020-01-02 23:20:37 +00:00
kgssapi
libkern random(9): Deprecate random(9), remove meaningless srandom(9) 2019-12-26 19:41:09 +00:00
mips [PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations 2020-01-02 23:20:37 +00:00
modules Add support for i2c bus mux hardware. 2020-01-02 17:51:49 +00:00
net Plug loopback idaddr refcount leak. 2020-01-02 09:08:45 +00:00
net80211 Don't use if_maddr_rlock() in 802.11, use epoch(9) directly instead. 2019-10-10 23:55:33 +00:00
netgraph Remove the deprecated timeout(9) interface. 2019-12-13 21:03:12 +00:00
netinet Remove empty line which was added in r356270 by accident. 2020-01-02 14:04:16 +00:00
netinet6 In r343631 error code for a packet blocked by a firewall was 2020-01-01 17:32:20 +00:00
netipsec Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros. 2019-12-01 00:22:04 +00:00
netpfil ipfw: Don't rollback state in alloc_table_vidx() if atomicity is not required. 2019-12-19 10:22:16 +00:00
netsmb
nfs Switch r356210 to use gone_in() instead of printf(). 2019-12-31 05:39:27 +00:00
nfsclient
nfsserver
nlm
ofed Prevent potential underflow in ibcore. 2019-11-15 11:46:53 +00:00
opencrypto Add support for TLS 1.3 using AES-GCM to the OCF backend for KTLS. 2019-12-18 01:37:00 +00:00
powerpc [PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations 2020-01-02 23:20:37 +00:00
riscv riscv: Remove unused variable 2019-12-31 11:45:19 +00:00
rpc Change r355157 to make svc_rpc_gss_lifetime_max a static. 2019-11-28 02:18:51 +00:00
security mac: use a sleepable rmlock instead of an sx lock 2019-12-27 11:23:32 +00:00
sparc64 sc(4) md bits: stop setting sc->kbd entirely 2019-12-30 02:07:55 +00:00
sys [PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations 2020-01-02 23:20:37 +00:00
teken Adjust teken to allow build as part of loader 2019-09-05 18:07:40 +00:00
tests
tools vfs: allow tail call optimisation in vops in the common case 2019-12-16 00:07:51 +00:00
ufs ufs: do not leave non-reclaimed vnodes with zero i_mode around. 2019-12-27 16:43:34 +00:00
vm Clear queue operation flags when migrating a page to another queue. 2020-01-02 19:26:04 +00:00
x86 Introduce the concept of busdma tag templates. A template can be allocated 2019-12-24 14:48:46 +00:00
xdr
xen
Makefile