summaryrefslogtreecommitdiffstats
path: root/arch/arm/mm
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2014-04-13 19:43:26 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2014-06-02 09:20:18 +0100
commit0aeb3408ca9773283b0ae63771c4b17f39e204df (patch)
treecfd151a26e9c3b2a4859f983f2db8a345630e269 /arch/arm/mm
parent3cb099f0894c06359dd6495dec81359591d06207 (diff)
downloadop-kernel-dev-0aeb3408ca9773283b0ae63771c4b17f39e204df.zip
op-kernel-dev-0aeb3408ca9773283b0ae63771c4b17f39e204df.tar.gz
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')
-rw-r--r--arch/arm/mm/alignment.c3
-rw-r--r--arch/arm/mm/init.c1
2 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mm/alignment.c b/arch/arm/mm/alignment.c
index 054e995..b8cb1a2 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");
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c
index 94332b1..13ce33e 100644
--- a/arch/arm/mm/init.c
+++ b/arch/arm/mm/init.c
@@ -40,7 +40,6 @@
#ifdef CONFIG_CPU_CP15_MMU
unsigned long __init __clear_cr(unsigned long mask)
{
- cr_no_alignment = cr_no_alignment & ~mask;
cr_alignment = cr_alignment & ~mask;
return cr_alignment;
}
OpenPOWER on IntegriCloud