Hi, just the bug fix, so this diff leaves the unused relics around and so, but better than current/nothing, and hopefully small enough to get looked at.
-Artturi diff --git a/sys/arch/arm/armv7/armv7_a4x_io.S b/sys/arch/arm/armv7/armv7_a4x_io.S index 3fa09faa4c2..5e9db421853 100644 --- a/sys/arch/arm/armv7/armv7_a4x_io.S +++ b/sys/arch/arm/armv7/armv7_a4x_io.S @@ -50,14 +50,17 @@ */ ENTRY(a4x_bs_r_1) + dsb sy ldr r0, [r1, r2, LSL #2] mov pc, lr ENTRY(a4x_bs_r_2) + dsb sy ldr r0, [r1, r2, LSL #2] mov pc, lr ENTRY(a4x_bs_r_4) + dsb sy ldr r0, [r1, r2, LSL #2] mov pc, lr @@ -67,14 +70,17 @@ ENTRY(a4x_bs_r_4) ENTRY(a4x_bs_w_1) str r3, [r1, r2, LSL #2] + dsb sy mov pc, lr ENTRY(a4x_bs_w_2) str r3, [r1, r2, LSL #2] + dsb sy mov pc, lr ENTRY(a4x_bs_w_4) str r3, [r1, r2, LSL #2] + dsb sy mov pc, lr /* @@ -82,11 +88,11 @@ ENTRY(a4x_bs_w_4) */ ENTRY(a4x_bs_rm_1) mov r2, r2, LSL #2 - b generic_bs_rm_1 + b armv7_bs_rm_1 ENTRY(a4x_bs_rm_2) mov r2, r2, LSL #2 - b generic_armv4_bs_rm_2 + b armv7_bs_rm_2 @@ -95,8 +101,8 @@ ENTRY(a4x_bs_rm_2) */ ENTRY(a4x_bs_wm_1) mov r2, r2, LSL #2 - b generic_bs_wm_1 + b armv7_bs_wm_1 ENTRY(a4x_bs_wm_2) mov r2, r2, LSL #2 - b generic_armv4_bs_wm_2 + b armv7_bs_wm_2