diff options
-rw-r--r-- | arch/arm64/kernel/setup.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm64/kernel/setup.c b/arch/arm64/kernel/setup.c index 781f4697dc26..14808947bf46 100644 --- a/arch/arm64/kernel/setup.c +++ b/arch/arm64/kernel/setup.c | |||
@@ -62,6 +62,7 @@ | |||
62 | #include <asm/memblock.h> | 62 | #include <asm/memblock.h> |
63 | #include <asm/psci.h> | 63 | #include <asm/psci.h> |
64 | #include <asm/efi.h> | 64 | #include <asm/efi.h> |
65 | #include <asm/virt.h> | ||
65 | 66 | ||
66 | unsigned int processor_id; | 67 | unsigned int processor_id; |
67 | EXPORT_SYMBOL(processor_id); | 68 | EXPORT_SYMBOL(processor_id); |
@@ -207,8 +208,20 @@ static void __init smp_build_mpidr_hash(void) | |||
207 | } | 208 | } |
208 | #endif | 209 | #endif |
209 | 210 | ||
211 | static void __init hyp_mode_check(void) | ||
212 | { | ||
213 | if (is_hyp_mode_available()) | ||
214 | pr_info("CPU: All CPU(s) started at EL2\n"); | ||
215 | else if (is_hyp_mode_mismatched()) | ||
216 | WARN_TAINT(1, TAINT_CPU_OUT_OF_SPEC, | ||
217 | "CPU: CPUs started in inconsistent modes"); | ||
218 | else | ||
219 | pr_info("CPU: All CPU(s) started at EL1\n"); | ||
220 | } | ||
221 | |||
210 | void __init do_post_cpus_up_work(void) | 222 | void __init do_post_cpus_up_work(void) |
211 | { | 223 | { |
224 | hyp_mode_check(); | ||
212 | apply_alternatives_all(); | 225 | apply_alternatives_all(); |
213 | } | 226 | } |
214 | 227 | ||