|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] x86/hpet: replace disabling of legacy broadcast
# HG changeset patch
# User Jan Beulich <jbeulich@xxxxxxxx>
# Date 1332854574 -7200
# Node ID 790cfd7a4a8176e37bbe5a80aa1d30f1b8eb6d0b
# Parent f06ff3dfde08ee563970cffba502742249ff5820
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@xxxxxxxx>
Acked-by: Keir Fraser <keir@xxxxxxx>
---
diff -r f06ff3dfde08 -r 790cfd7a4a81 xen/arch/x86/crash.c
--- a/xen/arch/x86/crash.c Tue Mar 27 15:20:23 2012 +0200
+++ b/xen/arch/x86/crash.c Tue Mar 27 15:22:54 2012 +0200
@@ -61,9 +61,6 @@ static void nmi_shootdown_cpus(void)
local_irq_disable();
- if ( hpet_broadcast_is_available() )
- hpet_disable_legacy_broadcast();
-
crashing_cpu = smp_processor_id();
local_irq_count(crashing_cpu) = 0;
diff -r f06ff3dfde08 -r 790cfd7a4a81 xen/arch/x86/hpet.c
--- a/xen/arch/x86/hpet.c Tue Mar 27 15:20:23 2012 +0200
+++ b/xen/arch/x86/hpet.c Tue Mar 27 15:22:54 2012 +0200
@@ -779,7 +779,11 @@ void hpet_disable(void)
u32 id;
if ( !hpet_boot_cfg )
+ {
+ if ( hpet_broadcast_is_available() )
+ hpet_disable_legacy_broadcast();
return;
+ }
hpet_write32(*hpet_boot_cfg & ~HPET_CFG_ENABLE, HPET_CFG);
diff -r f06ff3dfde08 -r 790cfd7a4a81 xen/arch/x86/smp.c
--- a/xen/arch/x86/smp.c Tue Mar 27 15:20:23 2012 +0200
+++ b/xen/arch/x86/smp.c Tue Mar 27 15:22:54 2012 +0200
@@ -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();
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |