aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/smp.c
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2012-03-27 15:22:54 +0200
committerJan Beulich <jbeulich@suse.com>2012-03-27 15:22:54 +0200
commiteca1bfec46214a902f24bce2b44c96ae364f1219 (patch)
tree94cf15bbbc8d05eb6c1cab2f78776874edccfd2c /xen/arch/x86/smp.c
parenta5e1cb8704755905940c7242f62c5e9d85957d65 (diff)
downloadxen-eca1bfec46214a902f24bce2b44c96ae364f1219.tar.gz
xen-eca1bfec46214a902f24bce2b44c96ae364f1219.tar.bz2
xen-eca1bfec46214a902f24bce2b44c96ae364f1219.zip
x86/hpet: replace disabling of legacy broadcast
... by the call to hpet_disable() added in the immediately preceding patch. In order to retain the behavior intended by c/s 23776:0ddb4481f883, implement one of the alternative options pointed out there: remove CPUs from the online map in __stop_this_cpu() (and hence doing so in stop_this_cpu() is no longer needed). Signed-off-by: Jan Beulich <jbeulich@suse.com> Acked-by: Keir Fraser <keir@xen.org>
Diffstat (limited to 'xen/arch/x86/smp.c')
-rw-r--r--xen/arch/x86/smp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/xen/arch/x86/smp.c b/xen/arch/x86/smp.c
index fbab8d0340..5eb322128f 100644
--- a/xen/arch/x86/smp.c
+++ b/xen/arch/x86/smp.c
@@ -349,12 +349,13 @@ void __stop_this_cpu(void)
*/
clts();
asm volatile ( "fninit" );
+
+ cpumask_clear_cpu(smp_processor_id(), &cpu_online_map);
}
static void stop_this_cpu(void *dummy)
{
__stop_this_cpu();
- cpumask_clear_cpu(smp_processor_id(), &cpu_online_map);
for ( ; ; )
halt();
}