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 */ 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) 23