ia64/xen-unstable

changeset 17755:564c9be76aa4

x86: Fix reboot failure after S3

"warm reset vector" is used to start APs. At booting time, it is set
by BP, and cleared after all APs have started. When do S3, similar work
need to do. However, when enable non-boot CPUs after S3, Xen just sets
this vector, but forgets to clear it after APs startup.

Signed-off-by: Huacai Chen <huacai.chen@intel.com>
author Keir Fraser <keir.fraser@citrix.com>
date Thu May 29 09:42:59 2008 +0100 (2008-05-29)
parents 098c88335a74
children dbd5d4eeb46a
files xen/arch/x86/smpboot.c
line diff
     1.1 --- a/xen/arch/x86/smpboot.c	Thu May 29 09:40:07 2008 +0100
     1.2 +++ b/xen/arch/x86/smpboot.c	Thu May 29 09:42:59 2008 +0100
     1.3 @@ -1391,6 +1391,11 @@ void enable_nonboot_cpus(void)
     1.4  		panic("Not enough cpus");
     1.5  	}
     1.6  	cpus_clear(frozen_cpus);
     1.7 +
     1.8 +	/*
     1.9 +	 * Cleanup possible dangling ends after sleep...
    1.10 +	 */
    1.11 +	smpboot_restore_warm_reset_vector();
    1.12  }
    1.13  #else /* ... !CONFIG_HOTPLUG_CPU */
    1.14  int __cpu_disable(void)