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

[Xen-devel] [PATCH] Fix for SMP dom0 on x86_64 boot

Keir, Ian,

    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 446aa56ca4fee7d3ea2badfb59e8bb3540b507ae 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     Mon Oct 17 12:50:28 2005

+++ b/linux-2.6-xen-sparse/arch/xen/x86_64/kernel/smpboot.c     Mon Oct 17 18:07:11 2005

@@ -445,7 +445,7 @@



 #ifdef CONFIG_XEN

-extern void local_setup_timer(void);

+extern void local_setup_timer(unsigned int cpu);




@@ -478,7 +478,7 @@




-       local_setup_timer();

+       local_setup_timer(smp_processor_id());






Thanks & Regards,



Open Source Technology Center, Intel Corp


Xen-devel mailing list



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