freebsd-skq/sys/mips/include
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
..
_align.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_bus.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
_inttypes.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
_limits.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
_stdint.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
_types.h Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
abi.h Consistently use 16-byte alignment for MIPS N32 and N64. 2018-01-31 17:36:39 +00:00
asm.h Consistently use 16-byte alignment for MIPS N32 and N64. 2018-01-31 17:36:39 +00:00
atomic.h [PowerPC] [MIPS] Implement 32-bit kernel emulation of atomic64 operations 2020-01-02 23:20:37 +00:00
bootinfo.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
bus_dma.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
bus.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
cache_mipsNN.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
cache_r4k.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
cache.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
cca.h Make cache coherency attributes definitions available in machine/vm.h on MIPS. 2018-08-01 18:35:17 +00:00
cdefs.h SPDX: Consider code from Carnegie-Mellon University. 2017-11-30 15:48:35 +00:00
clock.h
counter.h Back pcpu zone with domain correct pages 2018-07-06 02:06:03 +00:00
cpu.h Add a KPI for the delay while spinning on a spin lock. 2018-11-05 21:34:17 +00:00
cpufunc.h Remove obsolete wrappers for 64-bit loads/stores which were only used by the 2019-03-16 06:09:45 +00:00
cpuinfo.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
cpuregs.h Make cache coherency attributes definitions available in machine/vm.h on MIPS. 2018-08-01 18:35:17 +00:00
db_machdep.h No need to force md code to define a macro that's the same as 2018-04-16 13:52:23 +00:00
dump.h
efi.h
elf.h Regularize my copyright notice 2019-12-04 16:56:11 +00:00
endian.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
exec.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
fdt.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
float.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
floatingpoint.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
fls64.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
fpu.h
frame.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
gdb_machdep.h amd64: Protect the kernel text, data, and BSS by setting the RW/NX bits 2018-03-06 14:28:37 +00:00
hwfunc.h Add SMP support for BERI CPU. 2018-04-12 17:43:19 +00:00
ieee.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ieeefp.h
in_cksum.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
intr_machdep.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
intr.h bhnd(4): implement MIPS and PCI(e) interrupt support 2017-11-21 23:15:20 +00:00
kdb.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
limits.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
locore.h
md_var.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
memdev.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
metadata.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
minidump.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
mips_opcode.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
octeon_cop2.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
ofw_machdep.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
param.h MIPS: Implement fue*word* and casueword* in assembly. 2018-03-12 22:10:06 +00:00
pcb.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
pcpu_aux.h Centralize __pcpu definitions. 2019-08-29 07:25:27 +00:00
pcpu.h mips: move support for temporary mappings above KSEG0 to per-CPU data 2019-09-17 03:39:31 +00:00
pmap.h Introduce vm_page_astate. 2019-12-10 18:14:50 +00:00
pmc_mdep.h
proc.h mips: avoid empty mdproc struct 2019-08-19 18:15:17 +00:00
procctl.h amd64 KPTI: add control from procctl(2). 2019-03-16 11:44:33 +00:00
profile.h Remove two obsolete comments that reference splhigh/splx. 2019-11-21 18:49:54 +00:00
pte.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
ptrace.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
reg.h Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
regdef.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
regnum.h mips: hide regnum definitions behind _KERNEL/_WANT_MIPS_REGNUM 2019-08-22 21:43:21 +00:00
reloc.h spdx: initial adoption of licensing ID tags. 2017-11-18 14:26:50 +00:00
resource.h
runq.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
sc_machdep.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
setjmp.h SPDX: Consider code from Carnegie-Mellon University. 2017-11-30 15:48:35 +00:00
sf_buf.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
sigframe.h Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
signal.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
smp.h
stdarg.h Use standard pattern for stdargs.h 2018-02-12 14:48:05 +00:00
sysarch.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
tlb.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
tls.h Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
trap.h sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
ucontext.h Move most of the contents of opt_compat.h to opt_global.h. 2018-04-06 17:35:35 +00:00
vdso.h sys/mips: further adoption of SPDX licensing ID tags. 2017-11-27 15:07:26 +00:00
vm.h Make cache coherency attributes definitions available in machine/vm.h on MIPS. 2018-08-01 18:35:17 +00:00
vmparam.h Remove SFBUF_OPTIONAL_DIRECT_MAP and such hacks, replacing them across the 2018-01-19 17:46:31 +00:00