# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID be0a1f376223f23ee3e6cea3a63576ef3822f62c
# Parent 8970d080f719e81092a0ec6a50394ff34c4681b1
Use machine_halt() where it makes sense, to halt all processors
rather than just the current one.
Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>
diff -r 8970d080f719 -r be0a1f376223 xen/arch/x86/shutdown.c
--- a/xen/arch/x86/shutdown.c Thu Apr 6 15:15:28 2006
+++ b/xen/arch/x86/shutdown.c Thu Apr 6 15:41:53 2006
@@ -44,7 +44,7 @@
void __attribute__((noreturn)) __machine_halt(void *unused)
{
for ( ; ; )
- safe_halt();
+ __asm__ __volatile__ ( "hlt" );
}
void machine_halt(void)
diff -r 8970d080f719 -r be0a1f376223 xen/arch/x86/traps.c
--- a/xen/arch/x86/traps.c Thu Apr 6 15:15:28 2006
+++ b/xen/arch/x86/traps.c Thu Apr 6 15:41:53 2006
@@ -32,6 +32,7 @@
#include <xen/errno.h>
#include <xen/mm.h>
#include <xen/console.h>
+#include <xen/reboot.h>
#include <asm/regs.h>
#include <xen/delay.h>
#include <xen/event.h>
@@ -318,8 +319,7 @@
console_force_lock();
/* Wait for manual reset. */
- for ( ; ; )
- __asm__ __volatile__ ( "hlt" );
+ machine_halt();
}
static inline int do_trap(int trapnr, char *str,
diff -r 8970d080f719 -r be0a1f376223 xen/arch/x86/x86_32/traps.c
--- a/xen/arch/x86/x86_32/traps.c Thu Apr 6 15:15:28 2006
+++ b/xen/arch/x86/x86_32/traps.c Thu Apr 6 15:41:53 2006
@@ -9,6 +9,7 @@
#include <xen/mm.h>
#include <xen/irq.h>
#include <xen/symbols.h>
+#include <xen/reboot.h>
#include <asm/current.h>
#include <asm/flushtlb.h>
#include <asm/hvm/hvm.h>
@@ -180,8 +181,7 @@
console_force_lock();
/* Wait for manual reset. */
- for ( ; ; )
- __asm__ __volatile__ ( "hlt" );
+ machine_halt();
}
unsigned long do_iret(void)
diff -r 8970d080f719 -r be0a1f376223 xen/arch/x86/x86_64/traps.c
--- a/xen/arch/x86/x86_64/traps.c Thu Apr 6 15:15:28 2006
+++ b/xen/arch/x86/x86_64/traps.c Thu Apr 6 15:41:53 2006
@@ -10,6 +10,7 @@
#include <xen/symbols.h>
#include <xen/console.h>
#include <xen/sched.h>
+#include <xen/reboot.h>
#include <asm/current.h>
#include <asm/flushtlb.h>
#include <asm/msr.h>
@@ -166,8 +167,7 @@
console_force_lock();
/* Wait for manual reset. */
- for ( ; ; )
- __asm__ __volatile__ ( "hlt" );
+ machine_halt();
}
void toggle_guest_mode(struct vcpu *v)
diff -r 8970d080f719 -r be0a1f376223 xen/drivers/char/console.c
--- a/xen/drivers/char/console.c Thu Apr 6 15:15:28 2006
+++ b/xen/drivers/char/console.c Thu Apr 6 15:41:53 2006
@@ -520,6 +520,7 @@
{
console_lock = SPIN_LOCK_UNLOCKED;
serial_force_unlock(sercon_handle);
+ console_start_sync();
}
void console_force_lock(void)
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|