[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Fix x86_64 smp boot:



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 7155eafc858adc2bb3581cc69793a26fe1bec224
# Parent  eea0e77b768350bd98038dd7260af2ce86b51c36
Fix x86_64 smp boot:
    The local_setup_timer prototype was bad. The call from start
secondary() to it was calling with out the CPU parameter. Eventually the
CPU parameter received by the local_setup_timer is bogus (big negative
number). With such a big cpu number the per_cpu macro was trying to
access totally wrong memory location (per cpu data offset for big -ve no
cpu) causing the unhandled page fault. Because the dom0 was panicking
the error information on the serial console was also not going through,
giving just clueless hang.  With hyper call based debug statement I
could find out what was going wrong in the dom0.

Signed-Off-By: Nitin A Kamble <nitin.a.kamble@xxxxxxxxx>

diff -r eea0e77b7683 -r 7155eafc858a 
linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c
--- a/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c     Tue Oct 18 
10:04:48 2005
+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c     Tue Oct 18 
10:07:55 2005
@@ -445,7 +445,7 @@
 }
 
 #ifdef CONFIG_XEN
-extern void local_setup_timer(void);
+extern void local_setup_timer(unsigned int cpu);
 #endif
 
 /*
@@ -478,7 +478,7 @@
 
        enable_APIC_timer();
 #else
-       local_setup_timer();
+       local_setup_timer(smp_processor_id());
        smp_intr_init();
        local_irq_enable();
 #endif

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.