10 #include <linux/kernel.h>
13 #include <asm/machdep.h>
16 #include <asm/kexec.h>
24 static void pseries_kexec_cpu_down(
int crash_shutdown,
int secondary)
27 if (firmware_has_feature(FW_FEATURE_SPLPAR) && !crash_shutdown) {
32 if (get_lppaca()->dtl_enable_mask) {
33 ret = unregister_dtl(hwcpu);
35 pr_err(
"WARNING: DTL deregistration for cpu "
36 "%d (hw %d) failed with %d\n",
41 ret = unregister_slb_shadow(hwcpu);
43 pr_err(
"WARNING: SLB shadow buffer deregistration "
44 "for cpu %d (hw %d) failed with %d\n",
48 ret = unregister_vpa(hwcpu);
50 pr_err(
"WARNING: VPA deregistration for cpu %d "
51 "(hw %d) failed with %d\n", cpu, hwcpu, ret);
56 static void pseries_kexec_cpu_down_mpic(
int crash_shutdown,
int secondary)
58 pseries_kexec_cpu_down(crash_shutdown, secondary);
64 ppc_md.kexec_cpu_down = pseries_kexec_cpu_down_mpic;
67 static void pseries_kexec_cpu_down_xics(
int crash_shutdown,
int secondary)
69 pseries_kexec_cpu_down(crash_shutdown, secondary);
75 ppc_md.kexec_cpu_down = pseries_kexec_cpu_down_xics;