void machine_crash_nonpanic_core(void *unused) { struct pt_regs regs; crash_setup_regs(®s, NULL); printk(KERN_DEBUG "CPU %u will stop doing anything useful since another CPU has crashed\n", smp_processor_id()); crash_save_cpu(®s, smp_processor_id()); flush_cache_all(); atomic_dec(&waiting_for_crash_ipi); while (1) cpu_relax(); }
void machine_crash_nonpanic_core(void *info) { struct pt_regs regs; crash_setup_regs(®s, NULL); printk(KERN_EMERG "CPU %u will stop doing anything useful since another CPU has crashed\n", smp_processor_id()); crash_save_cpu(®s, smp_processor_id()); atomic_notifier_call_chain(&crash_percpu_notifier_list, 0, NULL); flush_cache_all(); atomic_dec(&waiting_for_crash_ipi); while (1) cpu_relax(); }