aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGlauber de Oliveira Costa <gcosta@redhat.com>2008-03-19 13:24:59 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-17 11:40:59 -0400
commitd0173aeac4f7fa90a63319b817bd207bdc0ac87e (patch)
treef1a70f264d7b749ea4377bb59cbfb7268e84f5f4
parent1af8a0c1b3b85b1007f49917ea6a351b7aeb7562 (diff)
x86: use start_ipi_hook in x86_64
It is used to match i386. The definition for the non-paravirt case is moved to smp.h instead of smp_32.h Signed-off-by: Glauber Costa <gcosta@redhat.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
-rw-r--r--arch/x86/kernel/smpboot_64.c8
-rw-r--r--include/asm-x86/smp.h3
-rw-r--r--include/asm-x86/smp_32.h4
3 files changed, 11 insertions, 4 deletions
diff --git a/arch/x86/kernel/smpboot_64.c b/arch/x86/kernel/smpboot_64.c
index 57ebe6c04305..13ab1123d1d2 100644
--- a/arch/x86/kernel/smpboot_64.c
+++ b/arch/x86/kernel/smpboot_64.c
@@ -345,6 +345,14 @@ static int __cpuinit wakeup_secondary_via_INIT(int phys_apicid, unsigned int sta
345 num_starts = 2; 345 num_starts = 2;
346 346
347 /* 347 /*
348 * Paravirt / VMI wants a startup IPI hook here to set up the
349 * target processor state.
350 */
351 startup_ipi_hook(phys_apicid, (unsigned long) start_secondary,
352 (unsigned long) init_rsp);
353
354
355 /*
348 * Run STARTUP IPI loop. 356 * Run STARTUP IPI loop.
349 */ 357 */
350 Dprintk("#startup loops: %d.\n", num_starts); 358 Dprintk("#startup loops: %d.\n", num_starts);
diff --git a/include/asm-x86/smp.h b/include/asm-x86/smp.h
index 513c8571a4a0..4dc271b43767 100644
--- a/include/asm-x86/smp.h
+++ b/include/asm-x86/smp.h
@@ -33,6 +33,9 @@ struct smp_ops {
33extern void set_cpu_sibling_map(int cpu); 33extern void set_cpu_sibling_map(int cpu);
34 34
35#ifdef CONFIG_SMP 35#ifdef CONFIG_SMP
36#ifndef CONFIG_PARAVIRT
37#define startup_ipi_hook(phys_apicid, start_eip, start_esp) do { } while (0)
38#endif
36extern struct smp_ops smp_ops; 39extern struct smp_ops smp_ops;
37 40
38static inline void smp_send_stop(void) 41static inline void smp_send_stop(void)
diff --git a/include/asm-x86/smp_32.h b/include/asm-x86/smp_32.h
index 4fec2feb6ac8..76740def6092 100644
--- a/include/asm-x86/smp_32.h
+++ b/include/asm-x86/smp_32.h
@@ -30,10 +30,6 @@ DECLARE_PER_CPU(u16, cpu_llc_id);
30DECLARE_PER_CPU(u16, x86_cpu_to_apicid); 30DECLARE_PER_CPU(u16, x86_cpu_to_apicid);
31 31
32#ifdef CONFIG_SMP 32#ifdef CONFIG_SMP
33#ifndef CONFIG_PARAVIRT
34#define startup_ipi_hook(phys_apicid, start_eip, start_esp) do { } while (0)
35#endif
36
37/* 33/*
38 * This function is needed by all SMP systems. It must _always_ be valid 34 * This function is needed by all SMP systems. It must _always_ be valid
39 * from the initial startup. We map APIC_BASE very early in page_setup(), 35 * from the initial startup. We map APIC_BASE very early in page_setup(),