aboutsummaryrefslogtreecommitdiffstats
path: root/arch/s390/kernel/smp.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/s390/kernel/smp.c')
-rw-r--r--arch/s390/kernel/smp.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index cca6cf6abacc..739313db71e5 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -533,9 +533,6 @@ EXPORT_SYMBOL(smp_ctl_clear_bit);
533 533
534#if defined(CONFIG_ZFCPDUMP) || defined(CONFIG_CRASH_DUMP) 534#if defined(CONFIG_ZFCPDUMP) || defined(CONFIG_CRASH_DUMP)
535 535
536struct save_area *zfcpdump_save_areas[NR_CPUS + 1];
537EXPORT_SYMBOL_GPL(zfcpdump_save_areas);
538
539static void __init smp_get_save_area(int cpu, u16 address) 536static void __init smp_get_save_area(int cpu, u16 address)
540{ 537{
541 void *lc = pcpu_devices[0].lowcore; 538 void *lc = pcpu_devices[0].lowcore;
@@ -546,15 +543,9 @@ static void __init smp_get_save_area(int cpu, u16 address)
546 if (!OLDMEM_BASE && (address == boot_cpu_address || 543 if (!OLDMEM_BASE && (address == boot_cpu_address ||
547 ipl_info.type != IPL_TYPE_FCP_DUMP)) 544 ipl_info.type != IPL_TYPE_FCP_DUMP))
548 return; 545 return;
549 if (cpu >= NR_CPUS) { 546 save_area = dump_save_area_create(cpu);
550 pr_warning("CPU %i exceeds the maximum %i and is excluded "
551 "from the dump\n", cpu, NR_CPUS - 1);
552 return;
553 }
554 save_area = kmalloc(sizeof(struct save_area), GFP_KERNEL);
555 if (!save_area) 547 if (!save_area)
556 panic("could not allocate memory for save area\n"); 548 panic("could not allocate memory for save area\n");
557 zfcpdump_save_areas[cpu] = save_area;
558#ifdef CONFIG_CRASH_DUMP 549#ifdef CONFIG_CRASH_DUMP
559 if (address == boot_cpu_address) { 550 if (address == boot_cpu_address) {
560 /* Copy the registers of the boot cpu. */ 551 /* Copy the registers of the boot cpu. */