blob: bd56e41afe1877eb7cce00cac8b4a11c334048f4 [file] [log] [blame]
Heinrich Schuchardt78f90aa2018-04-03 21:59:33 +02001/* 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 */
17ENTRY(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
22ENDPROC(allow_unaligned)