aboutsummaryrefslogtreecommitdiffstats
path: root/xen
diff options
context:
space:
mode:
authoriap10@tetris.cl.cam.ac.uk <iap10@tetris.cl.cam.ac.uk>2004-05-15 14:03:38 +0000
committeriap10@tetris.cl.cam.ac.uk <iap10@tetris.cl.cam.ac.uk>2004-05-15 14:03:38 +0000
commit9083a541fd10e818db2ca8766ec2fda6183b5ca6 (patch)
tree9d6e36e8cd6775c6fc1138559bd5514dd71c5bc9 /xen
parent5080a3f4b2b79dfba61e45ebbefc83531338e20e (diff)
parent307b7fadd59a7672ca196afc12f6d888c3b2042f (diff)
downloadxen-9083a541fd10e818db2ca8766ec2fda6183b5ca6.tar.gz
xen-9083a541fd10e818db2ca8766ec2fda6183b5ca6.tar.bz2
xen-9083a541fd10e818db2ca8766ec2fda6183b5ca6.zip
bitkeeper revision 1.907 (40a6233a_5VzzVMLUF-Lja0yZHdHtQ)
Merge tetris.cl.cam.ac.uk:/auto/groups/xeno/BK/xeno.bk into tetris.cl.cam.ac.uk:/auto/groups/xeno/users/iap10/xeno-clone/xeno.bk
Diffstat (limited to 'xen')
-rw-r--r--xen/arch/i386/process.c3
-rw-r--r--xen/arch/i386/setup.c4
-rw-r--r--xen/common/domain.c2
3 files changed, 6 insertions, 3 deletions
diff --git a/xen/arch/i386/process.c b/xen/arch/i386/process.c
index 408daa1f14..7524e9c5c5 100644
--- a/xen/arch/i386/process.c
+++ b/xen/arch/i386/process.c
@@ -128,6 +128,9 @@ void machine_restart(char * __unused)
#ifdef CONFIG_SMP
cpuid = GET_APIC_ID(apic_read(APIC_ID));
+ /* KAF: Need interrupts enabled for safe IPI. */
+ __sti();
+
if (reboot_smp) {
/* check to see if reboot_cpu is valid
diff --git a/xen/arch/i386/setup.c b/xen/arch/i386/setup.c
index ebd68d3801..06193aeb6b 100644
--- a/xen/arch/i386/setup.c
+++ b/xen/arch/i386/setup.c
@@ -405,6 +405,8 @@ void __init start_of_day(void)
*/
#endif
+ __sti();
+
initialize_keytable(); /* call back handling for key codes */
serial_init_stage2();
@@ -422,8 +424,6 @@ void __init start_of_day(void)
init_xen_time(); /* initialise the time */
schedulers_start(); /* start scheduler for each CPU */
- sti();
-
check_nmi_watchdog();
#ifdef CONFIG_PCI
diff --git a/xen/common/domain.c b/xen/common/domain.c
index df44c4600b..f952ce577e 100644
--- a/xen/common/domain.c
+++ b/xen/common/domain.c
@@ -295,7 +295,7 @@ struct pfn_info *alloc_domain_page(struct task_struct *p)
#ifdef NO_DEVICES_IN_XEN
ASSERT(!in_irq());
#else
- ASSERT((p != NULL) || !in_irq());
+ ASSERT((p == NULL) || !in_irq());
#endif
spin_lock_irqsave(&free_list_lock, flags);