#ifdef CONFIG_PPC_PSERIES
void vpa_init(int cpu)
{
- unsigned long flags;
+ unsigned long flags, pcpu = get_hard_smp_processor_id(cpu);
/* Register the Virtual Processor Area (VPA) */
flags = 1UL << (63 - 18);
- register_vpa(flags, cpu, __pa((unsigned long)&(paca[cpu].lppaca)));
+ register_vpa(flags, pcpu, __pa((unsigned long)&(paca[cpu].lppaca)));
}
static inline void smp_xics_do_message(int cpu, int msg)
HvCall2(HvCallBaseYieldProcessor, HvCall_YieldToProc,
((u64)holder_cpu << 32) | yield_count);
#else
- plpar_hcall_norets(H_CONFER, holder_cpu, yield_count);
+ plpar_hcall_norets(H_CONFER, get_hard_smp_processor_id(holder_cpu),
+ yield_count);
#endif
}
HvCall2(HvCallBaseYieldProcessor, HvCall_YieldToProc,
((u64)holder_cpu << 32) | yield_count);
#else
- plpar_hcall_norets(H_CONFER, holder_cpu, yield_count);
+ plpar_hcall_norets(H_CONFER, get_hard_smp_processor_id(holder_cpu),
+ yield_count);
#endif
}