powerpc32: Fix timebase synchronization on 32-bit powermacs
authorPaul Mackerras <paulus@samba.org>
Fri, 3 Mar 2006 10:31:25 +0000 (21:31 +1100)
committerPaul Mackerras <paulus@samba.org>
Fri, 3 Mar 2006 10:31:25 +0000 (21:31 +1100)
The variable `timebase' used to transfer the current timebase value
from one cpu to the other in smp_core99_give/take_timebase was only
an unsigned long, i.e. 32 bits on 32-bit machines.  It needs to be
64 bits.  This makes it a u64, and fixes the issue reported by Kyle
Moffett, that the two cpus see wildly different values for the time
of day.

Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/platforms/powermac/smp.c

index 0df2cdc..6d64a9b 100644 (file)
@@ -435,7 +435,7 @@ struct smp_ops_t psurge_smp_ops = {
  */
 
 static void (*pmac_tb_freeze)(int freeze);
-static unsigned long timebase;
+static u64 timebase;
 static int tb_req;
 
 static void smp_core99_give_timebase(void)