summaryrefslogtreecommitdiff
path: root/arch/arm/mm/alignment.c
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2014-04-13 22:43:26 +0400
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-06-02 12:20:18 +0400
commit0aeb3408ca9773283b0ae63771c4b17f39e204df (patch)
treecfd151a26e9c3b2a4859f983f2db8a345630e269 /arch/arm/mm/alignment.c
parent3cb099f0894c06359dd6495dec81359591d06207 (diff)
downloadlinux-0aeb3408ca9773283b0ae63771c4b17f39e204df.tar.xz
ARM: remove global cr_no_alignment
cr_no_alignment is really only used by the alignment code. Since we no longer change the setting of cr_alignment after boot, we can localise this to alignment.c Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/mm/alignment.c')
-rw-r--r--arch/arm/mm/alignment.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c
index 054e995d2f5b..b8cb1a2688a0 100644
--- a/arch/arm/mm/alignment.c
+++ b/arch/arm/mm/alignment.c
@@ -82,6 +82,7 @@ static unsigned long ai_word;
static unsigned long ai_dword;
static unsigned long ai_multi;
static int ai_usermode;
+static unsigned long cr_no_alignment;
core_param(alignment, ai_usermode, int, 0600);
@@ -979,6 +980,8 @@ static int __init alignment_init(void)
ai_usermode = safe_usermode(ai_usermode, false);
}
+ cr_no_alignment = get_cr() & ~CR_A;
+
hook_fault_code(FAULT_CODE_ALIGNMENT, do_alignment, SIGBUS, BUS_ADRALN,
"alignment exception");