diff options
author | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2006-09-29 11:28:04 +0100 |
---|---|---|
committer | kfraser@localhost.localdomain <kfraser@localhost.localdomain> | 2006-09-29 11:28:04 +0100 |
commit | addbb411fa2d7a0475286fa8b13480f0314b601d (patch) | |
tree | aafac2affbb1df2396a3bf5c50ecb83ad7ea30c2 /xen/arch/x86/smp.c | |
parent | 6a6ea8c94e1622738ff05c9e4676a462b96192a3 (diff) | |
download | xen-addbb411fa2d7a0475286fa8b13480f0314b601d.tar.gz xen-addbb411fa2d7a0475286fa8b13480f0314b601d.tar.bz2 xen-addbb411fa2d7a0475286fa8b13480f0314b601d.zip |
[HVM] Disable VMX/SVM on auxiliary processors when shutting down an SMP system.
With Intel VT, VMXOFF needs to be executed before halting the
CPU. Without this fix Xen or Linux is unable to start up the CPU after
a kexec reboot.
Tested using x86_32 on a Pentium D 930.
Signed-Off-By: Magnus Damm <magnus@valinux.co.jp>
Diffstat (limited to 'xen/arch/x86/smp.c')
-rw-r--r-- | xen/arch/x86/smp.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c index 27dc4daf87..2d14240039 100644 --- a/xen/arch/x86/smp.c +++ b/xen/arch/x86/smp.c @@ -21,6 +21,7 @@ #include <asm/smpboot.h> #include <asm/hardirq.h> #include <asm/ipi.h> +#include <asm/hvm/hvm.h> #include <mach_apic.h> /* @@ -306,6 +307,7 @@ static void stop_this_cpu (void *dummy) local_irq_disable(); disable_local_APIC(); + hvm_disable(); for ( ; ; ) __asm__ __volatile__ ( "hlt" ); |