[kernel] r6082 - in dists/sid/linux-2.6/debian: . patches patches/series

Sven Luther luther at costa.debian.org
Mon Mar 6 09:24:29 UTC 2006


Author: luther
Date: Mon Mar  6 09:24:28 2006
New Revision: 6082

Added:
   dists/sid/linux-2.6/debian/patches/powerpc-vsod-timeshift.patch
Modified:
   dists/sid/linux-2.6/debian/changelog
   dists/sid/linux-2.6/debian/patches/series/8
Log:
Fixed powerpc/powerpc64 gettimeofday drift bug.


Modified: dists/sid/linux-2.6/debian/changelog
==============================================================================
--- dists/sid/linux-2.6/debian/changelog	(original)
+++ dists/sid/linux-2.6/debian/changelog	Mon Mar  6 09:24:28 2006
@@ -52,8 +52,9 @@
   * [powerpc] Disabled CONFIG_IEEE1394_SBP2_PHYS_DMA, which was broken on
     powerpc64, as it used the long deprecated bus_to_virt symbol.
     (Closes: #330225)
-   
- -- Sven Luther <luther at debian.org>  Mon,  6 Mar 2006 08:46:08 +0000
+  * [powerpc] Fixed gettimeofday breakage causing clock drift.
+
+ -- Sven Luther <luther at debian.org>  Mon,  6 Mar 2006 09:18:41 +0000
 
 linux-2.6 (2.6.15-7) unstable; urgency=low
 

Added: dists/sid/linux-2.6/debian/patches/powerpc-vsod-timeshift.patch
==============================================================================
--- (empty file)
+++ dists/sid/linux-2.6/debian/patches/powerpc-vsod-timeshift.patch	Mon Mar  6 09:24:28 2006
@@ -0,0 +1,25 @@
+A bug in the assembly code of the vdso can cause gettimeofday() to hang
+or to return incorrect results. The wrong register was used to test for
+pending updates of the calibration variables and to create a dependency
+for subsequent loads. This fixes it.
+
+Signed-off-by: Benjamin Herrenschmidt <benh at kernel.crashing.org>
+---
+
+Might be worth applying to the stable series too and/or distro kernels
+2.6.15 and later
+
+--- linux-work.orig/arch/powerpc/kernel/vdso64/gettimeofday.S	2006-02-26 08:02:57.000000000 +1100
++++ linux-work/arch/powerpc/kernel/vdso64/gettimeofday.S	2006-02-26 08:04:23.000000000 +1100
+@@ -225,9 +225,9 @@
+   .cfi_startproc
+ 	/* check for update count & load values */
+ 1:	ld	r8,CFG_TB_UPDATE_COUNT(r3)
+-	andi.	r0,r4,1			/* pending update ? loop */
++	andi.	r0,r8,1			/* pending update ? loop */
+ 	bne-	1b
+-	xor	r0,r4,r4		/* create dependency */
++	xor	r0,r8,r8		/* create dependency */
+ 	add	r3,r3,r0
+ 
+ 	/* Get TB & offset it */

Modified: dists/sid/linux-2.6/debian/patches/series/8
==============================================================================
--- dists/sid/linux-2.6/debian/patches/series/8	(original)
+++ dists/sid/linux-2.6/debian/patches/series/8	Mon Mar  6 09:24:28 2006
@@ -2,3 +2,4 @@
 - powerpc-relocate_code.patch
 + 2.6.15.5.patch
 + 2.6.15.6.patch
++ powerpc-vsod-timeshift.patch



More information about the Kernel-svn-changes mailing list