]> git.sur5r.net Git - u-boot/blob - arch/arm/cpu/armv7/sctlr.S
arm: armv7: allow unaligned memory access
[u-boot] / arch / arm / cpu / armv7 / sctlr.S
1 /* SPDX-License-Identifier:     GPL-2.0+ */
2 /*
3  *  Routines to access the system control register
4  *
5  *  Copyright (c) 2018 Heinrich Schuchardt
6  */
7
8 #include <linux/linkage.h>
9
10 /*
11  * void allow_unaligned(void) - allow unaligned access
12  *
13  * This routine clears the aligned flag in the system control register.
14  * After calling this routine unaligned access does no longer lead to a
15  * data abort but is handled by the CPU.
16  */
17 ENTRY(allow_unaligned)
18         mrc     p15, 0, r0, c1, c0, 0   @ load system control register
19         bic     r0, r0, #2              @ clear aligned flag
20         mcr     p15, 0, r0, c1, c0, 0   @ write system control register
21         bx      lr                      @ return
22 ENDPROC(allow_unaligned)