Commit 711ef84e authored by Anton Blanchard's avatar Anton Blanchard Committed by Benjamin Herrenschmidt

powerpc/pseries: Cleanup VPA registration and deregistration errors

Make the VPA, SLB shadow and DTL registration and deregistration
functions print consistent messages on error. I needed the firmware
error code while chasing a kexec bug but we weren't printing it.
Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
parent b1301797
...@@ -39,17 +39,20 @@ static void pseries_kexec_cpu_down(int crash_shutdown, int secondary) ...@@ -39,17 +39,20 @@ static void pseries_kexec_cpu_down(int crash_shutdown, int secondary)
} }
addr = __pa(get_slb_shadow()); addr = __pa(get_slb_shadow());
if (unregister_slb_shadow(hard_smp_processor_id(), addr)) ret = unregister_slb_shadow(hard_smp_processor_id(), addr);
printk("SLB shadow buffer deregistration of " if (ret) {
"cpu %u (hw_cpu_id %d) failed\n", pr_err("WARNING: SLB shadow buffer deregistration "
"for cpu %d (hw %d) failed with %d\n",
smp_processor_id(), smp_processor_id(),
hard_smp_processor_id()); hard_smp_processor_id(), ret);
}
addr = __pa(get_lppaca()); addr = __pa(get_lppaca());
if (unregister_vpa(hard_smp_processor_id(), addr)) { ret = unregister_vpa(hard_smp_processor_id(), addr);
printk("VPA deregistration of cpu %u (hw_cpu_id %d) " if (ret) {
"failed\n", smp_processor_id(), pr_err("WARNING: VPA deregistration for cpu %d "
hard_smp_processor_id()); "(hw %d) failed with %d\n", smp_processor_id(),
hard_smp_processor_id(), ret);
} }
} }
} }
......
...@@ -67,9 +67,8 @@ void vpa_init(int cpu) ...@@ -67,9 +67,8 @@ void vpa_init(int cpu)
ret = register_vpa(hwcpu, addr); ret = register_vpa(hwcpu, addr);
if (ret) { if (ret) {
printk(KERN_ERR "WARNING: vpa_init: VPA registration for " pr_err("WARNING: VPA registration for cpu %d (hw %d) of area "
"cpu %d (hw %d) of area %lx returns %ld\n", "%lx failed with %ld\n", cpu, hwcpu, addr, ret);
cpu, hwcpu, addr, ret);
return; return;
} }
/* /*
...@@ -80,10 +79,9 @@ void vpa_init(int cpu) ...@@ -80,10 +79,9 @@ void vpa_init(int cpu)
if (firmware_has_feature(FW_FEATURE_SPLPAR)) { if (firmware_has_feature(FW_FEATURE_SPLPAR)) {
ret = register_slb_shadow(hwcpu, addr); ret = register_slb_shadow(hwcpu, addr);
if (ret) if (ret)
printk(KERN_ERR pr_err("WARNING: SLB shadow buffer registration for "
"WARNING: vpa_init: SLB shadow buffer " "cpu %d (hw %d) of area %lx failed with %ld\n",
"registration for cpu %d (hw %d) of area %lx " cpu, hwcpu, addr, ret);
"returns %ld\n", cpu, hwcpu, addr, ret);
} }
/* /*
...@@ -100,8 +98,9 @@ void vpa_init(int cpu) ...@@ -100,8 +98,9 @@ void vpa_init(int cpu)
dtl->enqueue_to_dispatch_time = DISPATCH_LOG_BYTES; dtl->enqueue_to_dispatch_time = DISPATCH_LOG_BYTES;
ret = register_dtl(hwcpu, __pa(dtl)); ret = register_dtl(hwcpu, __pa(dtl));
if (ret) if (ret)
pr_warn("DTL registration failed for cpu %d (%ld)\n", pr_err("WARNING: DTL registration of cpu %d (hw %d) "
cpu, ret); "failed with %ld\n", smp_processor_id(),
hwcpu, ret);
lppaca_of(cpu).dtl_enable_mask = 2; lppaca_of(cpu).dtl_enable_mask = 2;
} }
} }
......
...@@ -324,8 +324,9 @@ static int alloc_dispatch_logs(void) ...@@ -324,8 +324,9 @@ static int alloc_dispatch_logs(void)
dtl->enqueue_to_dispatch_time = DISPATCH_LOG_BYTES; dtl->enqueue_to_dispatch_time = DISPATCH_LOG_BYTES;
ret = register_dtl(hard_smp_processor_id(), __pa(dtl)); ret = register_dtl(hard_smp_processor_id(), __pa(dtl));
if (ret) if (ret)
pr_warn("DTL registration failed for boot cpu %d (%d)\n", pr_err("WARNING: DTL registration of cpu %d (hw %d) failed "
smp_processor_id(), ret); "with %d\n", smp_processor_id(),
hard_smp_processor_id(), ret);
get_paca()->lppaca_ptr->dtl_enable_mask = 2; get_paca()->lppaca_ptr->dtl_enable_mask = 2;
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment