opnsense-src/sys/arm/include
Konstantin Belousov c39e422eed FreeBSD does not support SMP on ARMv5. Since processor is always
self-consistent, there is no need in anything but compiler barrier in
the implementation of atomic_thread_fence_*() on ARMv5.  Split
implementation of fences for ARMv4/5 and ARMv6; the former use
compiler barriers, the later also perform hardware barriers.

An issue which is fixed by the change is the faults from the CP15
coprocessor accesses in the user mode.  This was uncovered by the
pthread_once() changes in r287556.

Reported by:	Mattia Rossi <mattia.rossi.mailinglists@gmail.com>
Discussed with:	alc, cognet, jhb
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2015-10-02 13:21:08 +00:00
..
_align.h
_bus.h
_inttypes.h
_limits.h
_stdint.h Make the wchar_t type machine dependent. 2012-06-24 04:15:58 +00:00
_types.h We only support the ARM EABI in head, remove the check on __ARM_EABI__. 2015-05-31 10:51:06 +00:00
acle-compat.h From https://sourceware.org/ml/newlib/2014/msg00113.html 2014-08-14 04:20:13 +00:00
armreg.h The Broadcom BCM56060 chip has a Cortex-A9R4 core. 2015-08-13 14:50:11 +00:00
asm.h We only support the ARM EABI in head, remove the check on __ARM_EABI__. 2015-05-31 10:51:06 +00:00
asmacros.h opt_global.h is included automatically in the build. No need to 2014-11-18 17:06:56 +00:00
at91_gpio.h Add userland access to at91 gpio functionality via ioctl calls. Also, 2013-03-29 19:52:57 +00:00
atags.h Defines for parsing linux ATAGs lists. 2012-06-14 14:38:55 +00:00
atomic-v4.h FreeBSD does not support SMP on ARMv5. Since processor is always 2015-10-02 13:21:08 +00:00
atomic-v6.h FreeBSD does not support SMP on ARMv5. Since processor is always 2015-10-02 13:21:08 +00:00
atomic.h FreeBSD does not support SMP on ARMv5. Since processor is always 2015-10-02 13:21:08 +00:00
blockio.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
board.h Create a generic way to support multiple boards within an 2012-07-07 05:02:39 +00:00
bus.h Micro-optimize the new arm inline bus_space implementation by grouping all 2015-01-21 20:12:35 +00:00
bus_dma.h
clock.h
counter.h Use atomic_load/store_64() in the arm implementation of counter(9), and 2014-08-01 23:06:38 +00:00
cpu-v6.h Add more cp15_ functions, and use them in cpufunc.c where possible. 2015-05-24 12:12:01 +00:00
cpu.h Move the inclusion of cpu-v6.h inside the #ifdef _KERNEL block, so that 2015-01-08 03:59:03 +00:00
cpuconf.h Remove support for CPU_XSCALE_80200. None of our configs support it, and 2015-03-30 09:29:45 +00:00
cpufunc.h It appears to be armv7_sleep is a duplication of armv7_cpu_sleep. 2015-05-15 00:39:51 +00:00
cpuinfo.h Add minimum cache line sizes to struct cpuinfo, use them in the new cache 2015-03-09 14:46:10 +00:00
db_machdep.h Cleanup up ARM *frame structures... 2014-12-24 18:54:31 +00:00
devmap.h Fix a comment s/initarm_/platform_/ 2014-05-17 11:29:44 +00:00
disassem.h
dump.h Factor out duplicated code from dumpsys() on each architecture into generic 2015-01-07 01:01:39 +00:00
elf.h Export the eflags field from the elf header. This allows better 2015-05-22 20:50:35 +00:00
endian.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
exec.h
fdt.h dev/ofw/openfirm.h is not needed in the arm machine/fdt.h 2015-04-05 09:50:22 +00:00
fiq.h
float.h Rationalize BSD license on sys/*/include/float.h 2015-08-05 17:05:35 +00:00
floatingpoint.h
fp.h VFP fixes/cleanups for ARM11: 2014-03-29 14:35:36 +00:00
frame.h Cleanup up ARM *frame structures... 2014-12-24 18:54:31 +00:00
gdb_machdep.h
ieee.h On ARM EABI double precision floating point values are stored in the 2013-09-07 14:04:10 +00:00
ieeefp.h
in_cksum.h Delete stray clause 3 and renumber. 2015-03-13 02:49:55 +00:00
intr.h Remove arm1136 support. We don't have any configs that use it, and I don't 2015-03-29 21:12:59 +00:00
katelib.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
kdb.h Remove cpu_idcache_wbinv_all() from kdb_cpu_trap(), it's no longer needed. 2014-04-27 18:12:55 +00:00
limits.h
machdep.h New pmap code for armv6. Disabled by default, option ARM_NEW_PMAP enables it. 2015-03-26 21:13:53 +00:00
md_var.h Declare Maxmem on arm. This should have been part of r277532. 2015-01-22 17:46:05 +00:00
memdev.h
metadata.h Add support to the efi boot1 and loader for 32-bit ARM. This will be used 2015-04-06 15:50:20 +00:00
minidump.h
ofw_machdep.h Retire machine/fdt.h as a header used by MI code, as its function is now 2014-01-05 18:46:58 +00:00
param.h Make kstack_pages a tunable on arm, x86, and powepc. On i386, the 2015-08-10 17:18:21 +00:00
pcb.h New pmap code for armv6. Disabled by default, option ARM_NEW_PMAP enables it. 2015-03-26 21:13:53 +00:00
pcpu.h Add two new pmap functions: 2015-08-04 19:46:13 +00:00
physmem.h Give the fdt helper routines static linkage since no global definition 2014-02-17 20:04:57 +00:00
pl310.h Correct PL310_POWER_CTRL offset 2015-05-07 16:56:20 +00:00
platform.h When the initarm_* routines were renamed to platform_* and moved to their 2014-08-17 02:56:58 +00:00
platformvar.h Add FDT_PLATFORM_DEF2 for when there are multiple platforms needing to use 2014-05-17 18:02:46 +00:00
pmap-v6.h Retire pmap_lazyfix(). This function only existed in the new armv6 pmap 2015-05-11 19:55:01 +00:00
pmap.h Add a pmap_kremove_device() to undo mappings made with pmap_kenter_device(). 2015-04-10 13:26:35 +00:00
pmap_var.h New pmap code for armv6. Disabled by default, option ARM_NEW_PMAP enables it. 2015-03-26 21:13:53 +00:00
pmc_mdep.h Rather than defining our own magic checks here use INKERNEL() for 2015-03-27 08:47:16 +00:00
proc.h Typo. 2015-08-20 13:37:08 +00:00
profile.h Stop using load-multiple with lr and pc. This has been deprecated in ARMv7 2015-01-31 19:55:12 +00:00
psl.h Fix arm build. 2014-01-06 17:16:27 +00:00
pte-v6.h New pmap code for armv6. Disabled by default, option ARM_NEW_PMAP enables it. 2015-03-26 21:13:53 +00:00
pte.h New pmap code for armv6. Disabled by default, option ARM_NEW_PMAP enables it. 2015-03-26 21:13:53 +00:00
ptrace.h
reg.h
reloc.h
resource.h trim trailing whitespace 2012-06-13 05:02:51 +00:00
runq.h
sc_machdep.h Piggyback MIPS changes and add ARM syscons support for devices with 2012-08-25 23:59:31 +00:00
setjmp.h Merge in changes from NetBSD: 2013-06-08 07:16:22 +00:00
sf_buf.h New pmap code for armv6. Disabled by default, option ARM_NEW_PMAP enables it. 2015-03-26 21:13:53 +00:00
sigframe.h
signal.h Don't use an empty struct. 2013-03-11 10:56:46 +00:00
smp.h Retire pmap_lazyfix(). This function only existed in the new armv6 pmap 2015-05-11 19:55:01 +00:00
stack.h Allow the ARM unwinder to work through modules. This will be used to add 2015-02-19 12:06:57 +00:00
stdarg.h
swi.h
sysarch.h Remove #include <machine/asmacros.h> from files that don't need it. 2014-03-11 22:47:04 +00:00
sysreg.h Add more cp15_ functions, and use them in cpufunc.c where possible. 2015-05-24 12:12:01 +00:00
trap.h
ucontext.h Remove NetBSD implementation details not relevant to FreeBSD. 2014-05-23 00:21:02 +00:00
undefined.h Remove #include <machine/frame.h> from all the arm code that doesn't 2013-10-27 01:34:10 +00:00
utrap.h
vdso.h Implement mechanism to export some kernel timekeeping data to 2012-06-22 07:06:40 +00:00
vfp.h Add more flags for the fpexc register from the ARM1176JZF-S Manual 2014-03-29 10:11:19 +00:00
vm.h New pmap code for armv6. Disabled by default, option ARM_NEW_PMAP enables it. 2015-03-26 21:13:53 +00:00
vmparam.h Retire VM_FREEPOOL_CACHE as the next step in eliminating PG_CACHE pages. 2015-06-08 04:59:32 +00:00