Revert r6880, r6881 and r6882. Can't accept an ABI bump yet.

svn path=/dists/trunk/linux-2.6/; revision=6883
This commit is contained in:
Bastian Blank 2006-06-24 15:45:32 +00:00
parent 30bf7fc77f
commit 053f4238c0
5 changed files with 1 additions and 49 deletions

2
debian/arch/defines vendored
View File

@ -1,5 +1,5 @@
[abi]
abiname: 2
abiname: 1
[base]
arches:

View File

@ -1,5 +1,4 @@
[base]
compiler: gcc-4.1
flavours:
sparc32
sparc64

9
debian/changelog vendored
View File

@ -1,12 +1,3 @@
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@debian.org> Sat, 24 Jun 2006 08:42:46 -0700
linux-2.6 (2.6.17-1) unstable; urgency=low
[ Frederik Schüler ]

View File

@ -22,4 +22,3 @@
+ s390-drivers-ccw-uevent-cleanup.patch
+ mips-sb1-duart-tts.patch
+ 2.6.17.1
+ sparc32-iotlb.patch

View File

@ -1,37 +0,0 @@
From breuerr@mc.net Mon Jun 19 21:10:41 2006
Date: Mon, 19 Jun 2006 23:08:59 -0500
From: Bob Breuer <breuerr@mc.net>
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 <breuerr@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);