Skip to content

Commit

Permalink
s390/kdump: fix compile for !SMP
Browse files Browse the repository at this point in the history
Fix this compile error:

arch/s390/kernel/setup.c:875:2: error:
 implicit declaration of function 'smp_save_dump_cpus'

Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
  • Loading branch information
Heiko Carstens authored and Martin Schwidefsky committed Jun 29, 2015
1 parent 1592a8e commit 1af135a
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 23 deletions.
1 change: 1 addition & 0 deletions arch/s390/include/asm/smp.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,7 @@ static inline int smp_store_status(int cpu) { return 0; }
static inline int smp_vcpu_scheduled(int cpu) { return 1; }
static inline void smp_yield_cpu(int cpu) { }
static inline void smp_fill_possible_mask(void) { }
static inline void smp_save_dump_cpus(void) { }

#endif /* CONFIG_SMP */

Expand Down
44 changes: 21 additions & 23 deletions arch/s390/kernel/smp.c
Original file line number Diff line number Diff line change
Expand Up @@ -560,6 +560,25 @@ static void __smp_store_cpu_state(struct save_area_ext *sa_ext, u16 address,
memblock_free(vx_sa, PAGE_SIZE);
}

int smp_store_status(int cpu)
{
unsigned long vx_sa;
struct pcpu *pcpu;

pcpu = pcpu_devices + cpu;
if (__pcpu_sigp_relax(pcpu->address, SIGP_STOP_AND_STORE_STATUS,
0, NULL) != SIGP_CC_ORDER_CODE_ACCEPTED)
return -EIO;
if (!MACHINE_HAS_VX)
return 0;
vx_sa = __pa(pcpu->lowcore->vector_save_area_addr);
__pcpu_sigp_relax(pcpu->address, SIGP_STORE_ADDITIONAL_STATUS,
vx_sa, NULL);
return 0;
}

#endif /* CONFIG_CRASH_DUMP */

/*
* Collect CPU state of the previous, crashed system.
* There are four cases:
Expand Down Expand Up @@ -589,6 +608,7 @@ static void __smp_store_cpu_state(struct save_area_ext *sa_ext, u16 address,
*/
void __init smp_save_dump_cpus(void)
{
#ifdef CONFIG_CRASH_DUMP
int addr, cpu, boot_cpu_addr, max_cpu_addr;
struct save_area_ext *sa_ext;
bool is_boot_cpu;
Expand Down Expand Up @@ -629,30 +649,8 @@ void __init smp_save_dump_cpus(void)
}
diag308_reset();
pcpu_set_smt(0);
}

int smp_store_status(int cpu)
{
unsigned long vx_sa;
struct pcpu *pcpu;

pcpu = pcpu_devices + cpu;
if (__pcpu_sigp_relax(pcpu->address, SIGP_STOP_AND_STORE_STATUS,
0, NULL) != SIGP_CC_ORDER_CODE_ACCEPTED)
return -EIO;
if (!MACHINE_HAS_VX)
return 0;
vx_sa = __pa(pcpu->lowcore->vector_save_area_addr);
__pcpu_sigp_relax(pcpu->address, SIGP_STORE_ADDITIONAL_STATUS,
vx_sa, NULL);
return 0;
}

#else
void smp_save_dump_cpus(void)
{
}
#endif /* CONFIG_CRASH_DUMP */
}

void smp_cpu_set_polarization(int cpu, int val)
{
Expand Down

0 comments on commit 1af135a

Please sign in to comment.