ia64/xen-unstable

changeset 7137:f529cd119470

More save/restore code in interrupts-enabled contest, where
it properly belongs.
Signed-off-by: Keir Fraser <keir@xensource.com>
author kaf24@firebug.cl.cam.ac.uk
date Thu Sep 29 18:28:28 2005 +0100 (2005-09-29)
parents 1abbb6448b4a
children 7f732bba3ed4
files linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c linux-2.6-xen-sparse/arch/xen/kernel/reboot.c
line diff
     1.1 --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c	Thu Sep 29 18:15:49 2005 +0100
     1.2 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/process.c	Thu Sep 29 18:28:28 2005 +0100
     1.3 @@ -129,6 +129,7 @@ static inline void play_dead(void)
     1.4      * race between pending interrupts and restoration of handler. 
     1.5      */
     1.6  #ifdef CONFIG_SMP
     1.7 +	local_irq_enable(); /* XXX Needed for smp_resume(). Clean me up. */
     1.8  	smp_resume();
     1.9  #endif
    1.10  	cpu_set(smp_processor_id(), cpu_online_map);
     2.1 --- a/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c	Thu Sep 29 18:15:49 2005 +0100
     2.2 +++ b/linux-2.6-xen-sparse/arch/xen/kernel/reboot.c	Thu Sep 29 18:28:28 2005 +0100
     2.3 @@ -187,10 +187,6 @@ static int __do_suspend(void *ignore)
     2.4  
     2.5  	irq_resume();
     2.6  
     2.7 -	xencons_resume();
     2.8 -
     2.9 -	xenbus_resume();
    2.10 -
    2.11  	time_resume();
    2.12  
    2.13  #ifdef CONFIG_SMP
    2.14 @@ -200,6 +196,10 @@ static int __do_suspend(void *ignore)
    2.15  
    2.16  	__sti();
    2.17  
    2.18 +	xencons_resume();
    2.19 +
    2.20 +	xenbus_resume();
    2.21 +
    2.22  #ifdef CONFIG_SMP
    2.23   out_reenable_cpus:
    2.24  	for_each_cpu_mask(i, prev_online_cpus) {