diff --git a/debian/arch/sparc/defines b/debian/arch/sparc/defines index ff6936f66..d63e9ff36 100644 --- a/debian/arch/sparc/defines +++ b/debian/arch/sparc/defines @@ -1,4 +1,5 @@ [base] +compiler: gcc-4.1 flavours: sparc32 sparc64 diff --git a/debian/changelog b/debian/changelog index 8a9ceeabe..deb218524 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,14 @@ +linux-2.6 (2.6.17-2) unstable; urgency=low + + [ Jurij Smakov ] + * [sparc] Switch to gcc-4.1 as it produces a working kernel, + while gcc-4.0 does not. No ABI bump neccessary, because + 2.6.17-1 sparc binaries never made it to the archive. + * [sparc32] Add sparc32-iotlb.patch to fix DMA errors on sparc32. + * Add myself to uploaders. + + -- Jurij Smakov Sat, 24 Jun 2006 10:54:59 -0700 + linux-2.6 (2.6.17-1) unstable; urgency=low [ Frederik Schüler ] diff --git a/debian/patches/series/1 b/debian/patches/series/1 index 7128c35c0..28ecb3571 100644 --- a/debian/patches/series/1 +++ b/debian/patches/series/1 @@ -22,3 +22,4 @@ + s390-drivers-ccw-uevent-cleanup.patch + mips-sb1-duart-tts.patch + 2.6.17.1 ++ sparc32-iotlb.patch diff --git a/debian/patches/sparc32-iotlb.patch b/debian/patches/sparc32-iotlb.patch new file mode 100644 index 000000000..5c546a8f3 --- /dev/null +++ b/debian/patches/sparc32-iotlb.patch @@ -0,0 +1,37 @@ +From breuerr@mc.net Mon Jun 19 21:10:41 2006 +Date: Mon, 19 Jun 2006 23:08:59 -0500 +From: Bob Breuer +To: sparclinux@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 +--- + +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); diff --git a/debian/templates/control.source.in b/debian/templates/control.source.in index d8d12618d..974f7a87c 100644 --- a/debian/templates/control.source.in +++ b/debian/templates/control.source.in @@ -2,7 +2,7 @@ Source: linux-@major@ Section: devel Priority: optional Maintainer: Debian Kernel Team -Uploaders: Andres Salomon , Bastian Blank , Simon Horman , Sven Luther , Jonas Smedegaard , Norbert Tretkowski , Frederik Schüler +Uploaders: Andres Salomon , Bastian Blank , Simon Horman , Sven Luther , Jonas Smedegaard , Norbert Tretkowski , Frederik Schüler , Jurij Smakov Standards-Version: 3.6.1.0 Build-Depends: debhelper (>= 4.1.0), module-init-tools, dpkg-dev (>= 1.10.23), debianutils (>= 1.6), bzip2, sparc-utils [sparc], kernel-package (>= 10.049), ocaml-interp, python, python2.4-minimal Build-Depends-Indep: docbook-utils, gs, transfig, xmlto