diff options
author | Marcin Slusarz <marcin.slusarz@gmail.com> | 2008-08-21 20:49:05 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-08-22 14:12:20 +0200 |
commit | c4bd1fdab0deec0f69aeabab22075cb22ac8ad44 (patch) | |
tree | 2cf624fb0d2da9c6aecbbd2411226a26cf919a96 /arch/x86/kernel/smpboot.c | |
parent | 3a6ddd5f18405ca92e004416af8ed44b9c9783d7 (diff) | |
download | linux-c4bd1fdab0deec0f69aeabab22075cb22ac8ad44.tar.gz linux-c4bd1fdab0deec0f69aeabab22075cb22ac8ad44.tar.bz2 linux-c4bd1fdab0deec0f69aeabab22075cb22ac8ad44.zip |
x86: fix section mismatch warning - uv_cpu_init
WARNING: vmlinux.o(.cpuinit.text+0x3cc4): Section mismatch in reference from the function uv_cpu_init() to the function .init.text:uv_system_init()
The function __cpuinit uv_cpu_init() references
a function __init uv_system_init().
If uv_system_init is only used by uv_cpu_init then
annotate uv_system_init with a matching annotation.
uv_system_init was ment to be called only once, so do it from codepath
(native_smp_prepare_cpus) which is called once, right before activation
of other cpus (smp_init).
Note: old code relied on uv_node_to_blade being initialized to 0,
but it'a not initialized from anywhere.
Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com>
Acked-by: Jack Steiner <steiner@sgi.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/smpboot.c')
-rw-r--r-- | arch/x86/kernel/smpboot.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c index e139e617f422..7985c5b3f916 100644 --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1221,6 +1221,9 @@ void __init native_smp_prepare_cpus(unsigned int max_cpus) printk(KERN_INFO "CPU%d: ", 0); print_cpu_info(&cpu_data(0)); setup_boot_clock(); + + if (is_uv_system()) + uv_system_init(); out: preempt_enable(); } |