diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2012-01-16 04:34:31 -0500 |
---|---|---|
committer | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2013-01-31 15:44:45 -0500 |
commit | b849a60e0903b1c5430c3859864554662e127a8d (patch) | |
tree | fe441d30362531fa204b52661a3d20a7f836fb19 /arch/arm/mm/mmu.c | |
parent | 949db153b6466c6f7cad5a427ecea94985927311 (diff) |
ARM: make cr_alignment read-only #ifndef CONFIG_CPU_CP15
This makes cr_alignment a constant 0 to break code that tries to modify
the value as it's likely that it's built on wrong assumption when
CONFIG_CPU_CP15 isn't defined. For code that is only reading the value 0
is more or less a fine value to report.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Message-Id: 1358413196-5609-2-git-send-email-u.kleine-koenig@pengutronix.de (v8)
Diffstat (limited to 'arch/arm/mm/mmu.c')
-rw-r--r-- | arch/arm/mm/mmu.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index ce328c7f5c94..7c347bcc9421 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c | |||
@@ -97,6 +97,7 @@ static struct cachepolicy cache_policies[] __initdata = { | |||
97 | } | 97 | } |
98 | }; | 98 | }; |
99 | 99 | ||
100 | #ifdef CONFIG_CPU_CP15 | ||
100 | /* | 101 | /* |
101 | * These are useful for identifying cache coherency | 102 | * These are useful for identifying cache coherency |
102 | * problems by allowing the cache or the cache and | 103 | * problems by allowing the cache or the cache and |
@@ -195,6 +196,22 @@ void adjust_cr(unsigned long mask, unsigned long set) | |||
195 | } | 196 | } |
196 | #endif | 197 | #endif |
197 | 198 | ||
199 | #else /* ifdef CONFIG_CPU_CP15 */ | ||
200 | |||
201 | static int __init early_cachepolicy(char *p) | ||
202 | { | ||
203 | pr_warning("cachepolicy kernel parameter not supported without cp15\n"); | ||
204 | } | ||
205 | early_param("cachepolicy", early_cachepolicy); | ||
206 | |||
207 | static int __init noalign_setup(char *__unused) | ||
208 | { | ||
209 | pr_warning("noalign kernel parameter not supported without cp15\n"); | ||
210 | } | ||
211 | __setup("noalign", noalign_setup); | ||
212 | |||
213 | #endif /* ifdef CONFIG_CPU_CP15 / else */ | ||
214 | |||
198 | #define PROT_PTE_DEVICE L_PTE_PRESENT|L_PTE_YOUNG|L_PTE_DIRTY|L_PTE_XN | 215 | #define PROT_PTE_DEVICE L_PTE_PRESENT|L_PTE_YOUNG|L_PTE_DIRTY|L_PTE_XN |
199 | #define PROT_SECT_DEVICE PMD_TYPE_SECT|PMD_SECT_AP_WRITE | 216 | #define PROT_SECT_DEVICE PMD_TYPE_SECT|PMD_SECT_AP_WRITE |
200 | 217 | ||