freebsd-dev/sys/arm
Konstantin Belousov 97140827bb ARM userspace accessors, e.g. {s,f}uword(9), copy{in,out}(9),
casuword(9) and others, use LDRT and STRT instructions to access
memory with the privileges of userspace.  If the *RT instruction
faults on the kernel address, then additional checks must be done to
not confuse the VM system with invalid kernel-mode faults.

Put ARM on line with other FreeBSD architectures and disallow usermode
buffers which intersect with the kernel address space in advance,
before any accesses are performed.  In other words, vm_fault(9) is no
longer called when e.g. suword(9) stores to invalid (i.e. not
userspace) address.

Also, switch ARM to use fueword(9) and casueword(9).

Note: there is a pending patch in D3617, which adds the special
processing for faults from LDRT and STRT.  The addition of the
processing is useful for potential other uses of the instructions and
for completeness, but standard userspace accessors are better served
by not allowing such faults beforehand.

Reviewed by:	andrew
Sponsored by:	The FreeBSD Foundation
Differential Revision:	https://reviews.freebsd.org/D3816
MFC after:	2 weeks
2015-10-15 17:40:39 +00:00
..
allwinner Add the A20 glue code for if_dwc. 2015-09-21 01:51:37 +00:00
altera/socfpga Add alternate descriptors support for if_dwc. 2015-09-20 14:13:29 +00:00
amlogic/aml8726 Add alternate descriptors support for if_dwc. 2015-09-20 14:13:29 +00:00
annapurna/alpine Remove obsolete vendor code from Alpine platform support 2015-07-30 13:45:34 +00:00
arm ARM userspace accessors, e.g. {s,f}uword(9), copy{in,out}(9), 2015-10-15 17:40:39 +00:00
at91 Make kstack_pages a tunable on arm, x86, and powepc. On i386, the 2015-08-10 17:18:21 +00:00
broadcom/bcm2835 An IPI must be cleared before it is handled otherwise next IPI could be 2015-10-01 12:09:05 +00:00
cavium/cns11xx Make kstack_pages a tunable on arm, x86, and powepc. On i386, the 2015-08-10 17:18:21 +00:00
conf Remove compatibility shims for legacy ATA device names. 2015-10-11 13:01:51 +00:00
freescale Use IIC_EBUSBSY and IIC_BUSERR status values consistantly across all drivers. 2015-10-09 22:49:50 +00:00
include ARM userspace accessors, e.g. {s,f}uword(9), copy{in,out}(9), 2015-10-15 17:40:39 +00:00
lpc Build the cpufunc_asm_* files based on the cpu type, not which config file 2015-03-29 22:43:39 +00:00
mv An IPI must be cleared before it is handled otherwise next IPI could be 2015-10-01 12:09:05 +00:00
qemu Enable SMP on the qemu virt platform. We use the device tree to find which 2015-05-24 12:33:12 +00:00
rockchip Use the new gic option on all configs that need it. 2015-05-10 12:13:27 +00:00
samsung Use IIC_EBUSBSY and IIC_BUSERR status values consistantly across all drivers. 2015-10-09 22:49:50 +00:00
ti Move pmu.c to files.arm and rename the option to pmu. This is not hwpmc 2015-10-07 13:19:44 +00:00
versatile Add domain support to PCI bus allocation 2015-09-16 23:34:51 +00:00
xilinx Use the new gic option on all configs that need it. 2015-05-10 12:13:27 +00:00
xscale Add domain support to PCI bus allocation 2015-09-16 23:34:51 +00:00