Take advantage of the FreeBSD memory spaces layout and check for invalid user buffers passed to copyin(9), fubyte(9) etc by comparing the buffer upper boundary with VM_MAXUSER_ADDRESS. This effectively removes the need of using ldrt/strt instructions, which are not correctly handled right now (but see D3617), and makes arm similar to other architectures.
Also, I used an opportunity to switch ARM to fueword(9) and casueword(9).
I did not handled bcopyinout_xscale.S (yet ?). If D3617 also comes in, it might make sense to leave the code as is.