diff -r fe4c1d44e899 -r 8f7ee9ab31ac linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c Sun Oct 9 11:20:12 2005 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/smpboot.c Sun Oct 9 15:26:08 2005 @@ -1578,7 +1578,7 @@ void smp_resume(void) { smp_intr_init(); - local_setup_timer_irq(); + local_setup_timer(); } void vcpu_prepare(int vcpu) diff -r fe4c1d44e899 -r 8f7ee9ab31ac linux-2.6-xen-sparse/arch/xen/i386/kernel/time.c --- a/linux-2.6-xen-sparse/arch/xen/i386/kernel/time.c Sun Oct 9 11:20:12 2005 +++ b/linux-2.6-xen-sparse/arch/xen/i386/kernel/time.c Sun Oct 9 15:26:08 2005 @@ -122,7 +122,7 @@ static u64 processed_system_time; /* System time (ns) at last processing. */ static DEFINE_PER_CPU(u64, processed_system_time); -#define NS_PER_TICK (1000000000L/HZ) +#define NS_PER_TICK (1000000000ULL/HZ) static inline void __normalize_time(time_t *sec, s64 *nsec) { @@ -800,9 +800,9 @@ delta = j - jiffies; /* NB. The next check can trigger in some wrap-around cases, * but that's ok: we'll just end up with a shorter timeout. */ - if (delta < 1) + if (delta < 1) delta = 1; - st = processed_system_time + (delta * NS_PER_TICK); + st = processed_system_time + ((u64)delta * NS_PER_TICK); } while (read_seqretry(&xtime_lock, seq)); return st; @@ -816,7 +816,7 @@ { unsigned int cpu = smp_processor_id(); unsigned long j; - + /* s390 does this /before/ checking rcu_pending(). We copy them. */ cpu_set(cpu, nohz_cpu_mask);