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

Reply via email to