mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH 3/5] Paravirt smp.patch
@ 2006-12-12 22:34 Zachary Amsden
  0 siblings, 0 replies; only message in thread
From: Zachary Amsden @ 2006-12-12 22:34 UTC (permalink / raw)
  To: Andi Kleen, Andrew Morton, Chris Wright, Jeremy Fitzhardinge,
	Virtualization Mailing List, Linux Kernel Mailing List,
	Zachary Amsden

Add VMI SMP boot hooks.  This is a bit unclean (the #ifdef's), but I
wanted a quick and dirty hack to get SMP up and working.

Signed-off-by: Zachary Amsden <zach@vmware.com>


===================================================================
--- a/arch/i386/kernel/paravirt.c
+++ b/arch/i386/kernel/paravirt.c
@@ -698,5 +698,7 @@ struct paravirt_ops paravirt_ops = {
 
 	.irq_enable_sysexit = native_irq_enable_sysexit,
 	.iret = native_iret,
+
+	.startup_ipi_hook = (void *)native_nop,
 };
 EXPORT_SYMBOL(paravirt_ops);
===================================================================
--- a/arch/i386/kernel/smpboot.c
+++ b/arch/i386/kernel/smpboot.c
@@ -820,6 +823,11 @@ wakeup_secondary_cpu(int phys_apicid, un
 		num_starts = 2;
 	else
 		num_starts = 0;
+
+#ifdef CONFIG_PARAVIRT
+	paravirt_ops.startup_ipi_hook(phys_apicid, (unsigned long) start_secondary,
+		                 (unsigned long) stack_start.esp);
+#endif
 
 	/*
 	 * Run STARTUP IPI loop.
===================================================================
--- a/include/asm-i386/paravirt.h
+++ b/include/asm-i386/paravirt.h
@@ -148,6 +148,8 @@ struct paravirt_ops
 	/* These two are jmp to, not actually called. */
 	void (fastcall *irq_enable_sysexit)(void);
 	void (fastcall *iret)(void);
+
+	void (fastcall *startup_ipi_hook)(int phys_apicid, unsigned long start_eip, unsigned long start_esp);
 };
 
 /* Mark a paravirt probe function. */


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-12-12 22:35 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-12-12 22:34 [PATCH 3/5] Paravirt smp.patch Zachary Amsden

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®