[kernel] r6881 - in dists/trunk/linux-2.6/debian: . arch
patches/series
Jurij Smakov
jurij-guest at costa.debian.org
Sat Jun 24 15:42:05 UTC 2006
Author: jurij-guest
Date: Sat Jun 24 15:41:57 2006
New Revision: 6881
Added:
dists/trunk/linux-2.6/debian/patches/sparc32-iotlb.patch
Modified:
dists/trunk/linux-2.6/debian/arch/defines
dists/trunk/linux-2.6/debian/changelog
dists/trunk/linux-2.6/debian/patches/series/1
Log:
* Move new changelog entries to 2.6.17-2, as -1 is uploaded already.
* Add sparc32-iotlb.patch.
* Bump ABI to 2 as a result.
Modified: dists/trunk/linux-2.6/debian/arch/defines
==============================================================================
--- dists/trunk/linux-2.6/debian/arch/defines (original)
+++ dists/trunk/linux-2.6/debian/arch/defines Sat Jun 24 15:41:57 2006
@@ -1,5 +1,5 @@
[abi]
-abiname: 1
+abiname: 2
[base]
arches:
Modified: dists/trunk/linux-2.6/debian/changelog
==============================================================================
--- dists/trunk/linux-2.6/debian/changelog (original)
+++ dists/trunk/linux-2.6/debian/changelog Sat Jun 24 15:41:57 2006
@@ -1,3 +1,12 @@
+linux-2.6 (2.6.17-2) UNRELEASED; urgency=low
+
+ [ Jurij Smakov ]
+ * [sparc] Switch to gcc-4.1, as it produces the working kernel, while
+ gcc-4.0 does not. Bump ABI to 2 as a result.
+ * [sparc32] Add sparc32-iotlb.patch to fix DMA errors on sparc32.
+
+ -- Jurij Smakov <jurij at debian.org>
+
linux-2.6 (2.6.17-1) unstable; urgency=low
[ Frederik Schüler ]
@@ -35,10 +44,6 @@
* Add stable release 2.6.17.1:
- xt_sctp: fix endless loop caused by 0 chunk length (CVE-2006-3085)
- [ Jurij Smakov ]
- * [sparc] Switch to gcc-4.1, as it produces the working kernel, while
- gcc-4.0 does not.
-
-- Bastian Blank <waldi at debian.org> Thu, 22 Jun 2006 12:13:15 +0200
linux-2.6 (2.6.16+2.6.17-rc3-0experimental.1) experimental; urgency=low
Modified: dists/trunk/linux-2.6/debian/patches/series/1
==============================================================================
--- dists/trunk/linux-2.6/debian/patches/series/1 (original)
+++ dists/trunk/linux-2.6/debian/patches/series/1 Sat Jun 24 15:41:57 2006
@@ -22,3 +22,4 @@
+ s390-drivers-ccw-uevent-cleanup.patch
+ mips-sb1-duart-tts.patch
+ 2.6.17.1
++ sparc32-iotlb.patch
Added: dists/trunk/linux-2.6/debian/patches/sparc32-iotlb.patch
==============================================================================
--- (empty file)
+++ dists/trunk/linux-2.6/debian/patches/sparc32-iotlb.patch Sat Jun 24 15:41:57 2006
@@ -0,0 +1,37 @@
+From breuerr at mc.net Mon Jun 19 21:10:41 2006
+Date: Mon, 19 Jun 2006 23:08:59 -0500
+From: Bob Breuer <breuerr at mc.net>
+To: sparclinux at vger.kernel.org
+Subject: [PATCH] sparc32: fix iommu_flush_iotlb end address
+
+Fix the calculation of the end address when flushing iotlb entries to
+ram. This bug has been a cause of esp dma errors, and it affects
+HyperSPARC systems much worse than SuperSPARC systems.
+
+Signed-off-by: Bob Breuer <breuerr at mc.net>
+---
+
+Just in case it's not obvious from the patch as to how the dma was
+broken: Each dma mapping sets up iopte entries for the iommu, and the
+iommu only looks in main memory for the iopte entries. If there is a
+group of iopte entries that are smaller than a page in size, but
+straddle a page boundary, the broken code would fail to flush the last
+page to ram.
+
+Bob
+
+diff --git a/arch/sparc/mm/iommu.c b/arch/sparc/mm/iommu.c
+index 77840c8..7215849 100644
+--- a/arch/sparc/mm/iommu.c
++++ b/arch/sparc/mm/iommu.c
+@@ -144,8 +144,9 @@ static void iommu_flush_iotlb(iopte_t *i
+ unsigned long start;
+ unsigned long end;
+
+- start = (unsigned long)iopte & PAGE_MASK;
++ start = (unsigned long)iopte;
+ end = PAGE_ALIGN(start + niopte*sizeof(iopte_t));
++ start &= PAGE_MASK;
+ if (viking_mxcc_present) {
+ while(start < end) {
+ viking_mxcc_flush_page(start);
More information about the Kernel-svn-changes
mailing list