[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