diff options
author | Thomas Petazzoni <thomas.petazzoni@free-electrons.com> | 2014-02-18 11:02:54 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-02-21 06:56:32 -0500 |
commit | b3634575930857724d5c3987a2739b0637999b4e (patch) | |
tree | 424a9c3e69f298758dddceffff76a3cc2410ac6d /arch/arm/kernel/head-common.S | |
parent | c9698e5cd6ad1ff2844bc44fabddc0f2e0562047 (diff) |
ARM: 7980/1: kernel: improve error message when LPAE config doesn't match CPU
Currently, when the kernel is configured with LPAE support, but the
CPU doesn't support it, the error message is fairly cryptic:
Error: unrecognized/unsupported processor variant (0x561f5811).
This messages is normally shown when there is an issue when comparing
the processor ID (CP15 0, c0, c0) with the values/masks described in
proc-v7.S. However, the same message is displayed when LPAE support is
enabled in the kernel configuration, but not available in the CPU,
after looking at ID_MMFR0 (CP15 0, c0, c1, 4). Having the same error
message is highly misleading.
This commit improves this by showing a different error message when
this situation occurs:
Error: Kernel with LPAE support, but CPU does not support LPAE.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'arch/arm/kernel/head-common.S')
-rw-r--r-- | arch/arm/kernel/head-common.S | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S index 47cd974e57ea..c96ecacb2021 100644 --- a/arch/arm/kernel/head-common.S +++ b/arch/arm/kernel/head-common.S | |||
@@ -177,6 +177,18 @@ __lookup_processor_type_data: | |||
177 | .long __proc_info_end | 177 | .long __proc_info_end |
178 | .size __lookup_processor_type_data, . - __lookup_processor_type_data | 178 | .size __lookup_processor_type_data, . - __lookup_processor_type_data |
179 | 179 | ||
180 | __error_lpae: | ||
181 | #ifdef CONFIG_DEBUG_LL | ||
182 | adr r0, str_lpae | ||
183 | bl printascii | ||
184 | b __error | ||
185 | str_lpae: .asciz "\nError: Kernel with LPAE support, but CPU does not support LPAE.\n" | ||
186 | #else | ||
187 | b __error | ||
188 | #endif | ||
189 | .align | ||
190 | ENDPROC(__error_lpae) | ||
191 | |||
180 | __error_p: | 192 | __error_p: |
181 | #ifdef CONFIG_DEBUG_LL | 193 | #ifdef CONFIG_DEBUG_LL |
182 | adr r0, str_p1 | 194 | adr r0, str_p1 |