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.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index 86e65ec3422b..1f0b474041c4 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -170,6 +170,7 @@ static int pcpu_alloc_lowcore(struct pcpu *pcpu, int cpu)
170 lc->panic_stack = pcpu->panic_stack + PAGE_SIZE 170 lc->panic_stack = pcpu->panic_stack + PAGE_SIZE
171 - STACK_FRAME_OVERHEAD - sizeof(struct pt_regs); 171 - STACK_FRAME_OVERHEAD - sizeof(struct pt_regs);
172 lc->cpu_nr = cpu; 172 lc->cpu_nr = cpu;
173 lc->spinlock_lockval = arch_spin_lockval(cpu);
173#ifndef CONFIG_64BIT 174#ifndef CONFIG_64BIT
174 if (MACHINE_HAS_IEEE) { 175 if (MACHINE_HAS_IEEE) {
175 lc->extended_save_area_addr = get_zeroed_page(GFP_KERNEL); 176 lc->extended_save_area_addr = get_zeroed_page(GFP_KERNEL);
@@ -226,6 +227,7 @@ static void pcpu_prepare_secondary(struct pcpu *pcpu, int cpu)
226 cpumask_set_cpu(cpu, mm_cpumask(&init_mm)); 227 cpumask_set_cpu(cpu, mm_cpumask(&init_mm));
227 atomic_inc(&init_mm.context.attach_count); 228 atomic_inc(&init_mm.context.attach_count);
228 lc->cpu_nr = cpu; 229 lc->cpu_nr = cpu;
230 lc->spinlock_lockval = arch_spin_lockval(cpu);
229 lc->percpu_offset = __per_cpu_offset[cpu]; 231 lc->percpu_offset = __per_cpu_offset[cpu];
230 lc->kernel_asce = S390_lowcore.kernel_asce; 232 lc->kernel_asce = S390_lowcore.kernel_asce;
231 lc->machine_flags = S390_lowcore.machine_flags; 233 lc->machine_flags = S390_lowcore.machine_flags;
@@ -809,6 +811,7 @@ void __init smp_cpus_done(unsigned int max_cpus)
809void __init smp_setup_processor_id(void) 811void __init smp_setup_processor_id(void)
810{ 812{
811 S390_lowcore.cpu_nr = 0; 813 S390_lowcore.cpu_nr = 0;
814 S390_lowcore.spinlock_lockval = arch_spin_lockval(0);
812} 815}
813 816
814/* 817/*