i386: export i386 smp_call_function_mask() to modules From: Laurent Vivier Hi Andy, I don't know if can do that... but I sent this patch to Ingo and LKML and I had no answer. And as it is linked with the patch I sent to you and you applied (smp_call_function_mask() for x86_64) as you seem to be able to agree some i386 patches, could you have a look at this patch, please ? Thank you, Laurent Signed-off-by: Andi Kleen -------------------------------------------------------------------- This patch export i386 smp_call_function_mask() with EXPORT_SYMBOL(). This function is needed by KVM to call a function on a set of CPUs. arch/i386/kernel/smp.c | 7 +++++++ include/asm-i386/smp.h | 9 +++------ 2 files changed, 10 insertions(+), 6 deletions(-) Signed-off-by: Laurent Vivier Index: linux/arch/i386/kernel/smp.c =================================================================== --- linux.orig/arch/i386/kernel/smp.c +++ linux/arch/i386/kernel/smp.c @@ -708,3 +708,10 @@ struct smp_ops smp_ops = { .smp_send_reschedule = native_smp_send_reschedule, .smp_call_function_mask = native_smp_call_function_mask, }; + +int smp_call_function_mask(cpumask_t mask, void (*func) (void *info), + void *info, int wait) +{ + return smp_ops.smp_call_function_mask(mask, func, info, wait); +} +EXPORT_SYMBOL(smp_call_function_mask); Index: linux/include/asm-i386/smp.h =================================================================== --- linux.orig/include/asm-i386/smp.h +++ linux/include/asm-i386/smp.h @@ -92,12 +92,9 @@ static inline void smp_send_reschedule(i { smp_ops.smp_send_reschedule(cpu); } -static inline int smp_call_function_mask(cpumask_t mask, - void (*func) (void *info), void *info, - int wait) -{ - return smp_ops.smp_call_function_mask(mask, func, info, wait); -} +extern int smp_call_function_mask(cpumask_t mask, + void (*func) (void *info), void *info, + int wait); void native_smp_prepare_boot_cpu(void); void native_smp_prepare_cpus(unsigned int max_cpus);