aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arm64/kernel/setup.c13
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
66unsigned int processor_id; 67unsigned int processor_id;
67EXPORT_SYMBOL(processor_id); 68EXPORT_SYMBOL(processor_id);
@@ -207,8 +208,20 @@ static void __init smp_build_mpidr_hash(void)
207} 208}
208#endif 209#endif
209 210
211static 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
210void __init do_post_cpus_up_work(void) 222void __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