diff options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/i386/kernel/paravirt.c | 2 | ||||
-rw-r--r-- | arch/i386/kernel/smpboot.c | 7 |
2 files changed, 9 insertions, 0 deletions
diff --git a/arch/i386/kernel/paravirt.c b/arch/i386/kernel/paravirt.c index 4dfdac4550dd..5bf81059a7e6 100644 --- a/arch/i386/kernel/paravirt.c +++ b/arch/i386/kernel/paravirt.c | |||
@@ -572,6 +572,8 @@ struct paravirt_ops paravirt_ops = { | |||
572 | 572 | ||
573 | .irq_enable_sysexit = native_irq_enable_sysexit, | 573 | .irq_enable_sysexit = native_irq_enable_sysexit, |
574 | .iret = native_iret, | 574 | .iret = native_iret, |
575 | |||
576 | .startup_ipi_hook = (void *)native_nop, | ||
575 | }; | 577 | }; |
576 | 578 | ||
577 | /* | 579 | /* |
diff --git a/arch/i386/kernel/smpboot.c b/arch/i386/kernel/smpboot.c index 8c6c8c52b95c..1908afa265b9 100644 --- a/arch/i386/kernel/smpboot.c +++ b/arch/i386/kernel/smpboot.c | |||
@@ -835,6 +835,13 @@ wakeup_secondary_cpu(int phys_apicid, unsigned long start_eip) | |||
835 | num_starts = 0; | 835 | num_starts = 0; |
836 | 836 | ||
837 | /* | 837 | /* |
838 | * Paravirt / VMI wants a startup IPI hook here to set up the | ||
839 | * target processor state. | ||
840 | */ | ||
841 | startup_ipi_hook(phys_apicid, (unsigned long) start_secondary, | ||
842 | (unsigned long) stack_start.esp); | ||
843 | |||
844 | /* | ||
838 | * Run STARTUP IPI loop. | 845 | * Run STARTUP IPI loop. |
839 | */ | 846 | */ |
840 | Dprintk("#startup loops: %d.\n", num_starts); | 847 | Dprintk("#startup loops: %d.\n", num_starts); |