]> Pileus Git - ~andy/linux/blobdiff - arch/arm64/kernel/setup.c
arm64: percpu: implement optimised pcpu access using tpidr_el1
[~andy/linux] / arch / arm64 / kernel / setup.c
index bd9bbd0e44edf176c262cfad0e32b9f62599d4b7..97d90840a7fd37602df78eb16ade4f71e090d7c5 100644 (file)
@@ -108,6 +108,16 @@ void __init early_print(const char *str, ...)
        printk("%s", buf);
 }
 
+void __init smp_setup_processor_id(void)
+{
+       /*
+        * clear __my_cpu_offset on boot CPU to avoid hang caused by
+        * using percpu variable early, for example, lockdep will
+        * access percpu variable inside lock_release
+        */
+       set_my_cpu_offset(0);
+}
+
 bool arch_match_cpu_phys_id(int cpu, u64 phys_id)
 {
        return phys_id == cpu_logical_map(cpu);