|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] x86: enable interrupts explicitly in __st
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1229001928 0
# Node ID df32584505c21c4d9a39991785773e667adffb18
# Parent 1391e1a444c2e986322d72258c0e92eaa2268168
x86: enable interrupts explicitly in __start_xen()
Instead of relying on smp_prepare_cpus() (via check_nmi_watchdog()) or
init_xen_time() (via init_platform_timer() -> plt_overflow())
implicitly enabling interrupts, enable them explicitly once safe to do
so (it may actually be possible to move this even further up, but I
don't think that would buy us much).
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
Also move spin_debug_enable() a bit higer. Moving it above
smp_prepare_cpus() didn't work for some reason though!
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
---
xen/arch/x86/setup.c | 8 +++++---
1 files changed, 5 insertions(+), 3 deletions(-)
diff -r 1391e1a444c2 -r df32584505c2 xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c Thu Dec 11 13:10:19 2008 +0000
+++ b/xen/arch/x86/setup.c Thu Dec 11 13:25:28 2008 +0000
@@ -941,6 +941,9 @@ void __init __start_xen(unsigned long mb
set_in_cr4(X86_CR4_OSFXSR);
if ( cpu_has_xmm )
set_in_cr4(X86_CR4_OSXMMEXCPT);
+
+ local_irq_enable();
+
#ifdef CONFIG_X86_64
vesa_mtrr_init();
#endif
@@ -949,6 +952,8 @@ void __init __start_xen(unsigned long mb
max_cpus = 0;
smp_prepare_cpus(max_cpus);
+
+ spin_debug_enable();
/*
* Initialise higher-level timer functions. We do this fairly late
@@ -961,9 +966,6 @@ void __init __start_xen(unsigned long mb
initialize_keytable();
serial_init_postirq();
-
- BUG_ON(!local_irq_is_enabled());
- spin_debug_enable();
for_each_present_cpu ( i )
{
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] x86: enable interrupts explicitly in __start_xen(),
Xen patchbot-unstable <=
|
|
|
|
|