I hate to loose yet another strict-alignment canary, but the reality is that the rest of the world assumes that armv7 supports unaligned access which means that compilers generate code that assumes this works when compiling code for armv7 and later (e.g. NEON code) and that hand-written assembler code assumes this works as well. I hit yet another case of this while playing around with softfp.
The diff below stops the kernel from generating alignment faults as a first step. ok? Index: arch/arm/arm/cpufunc.c =================================================================== RCS file: /cvs/src/sys/arch/arm/arm/cpufunc.c,v retrieving revision 1.52 diff -u -p -r1.52 cpufunc.c --- arch/arm/arm/cpufunc.c 8 Sep 2017 05:36:51 -0000 1.52 +++ arch/arm/arm/cpufunc.c 22 Feb 2018 21:42:35 -0000 @@ -395,7 +395,6 @@ armv7_setup() | CPU_CONTROL_AFE; cpuctrl = CPU_CONTROL_MMU_ENABLE - | CPU_CONTROL_AFLT_ENABLE | CPU_CONTROL_DC_ENABLE | CPU_CONTROL_BPRD_ENABLE | CPU_CONTROL_IC_ENABLE