Resent-Date: Thu, 4 Feb 1999 23:32:40 +0100 (MET)
Date: Thu, 4 Feb 1999 22:33:34 +0000
From: Richard Hirst <richard@sleepie.demon.co.uk>
To: linux-m68k@lists.linux-m68k.org
Subject: 2.2.0pre7: 030 fix for ioremap+kernel_set_cachemode
Resent-From: linux-m68k@phil.uni-sb.de

At last, my 030 boots as it did under 2.2.0pre4 :-)

Richard


--- linux68k-2.2.0pre7/arch/m68k/mm/kmap.c	Tue Feb  2 20:27:44 1999
+++ linuxvme-2.2.0pre7/arch/m68k/mm/kmap.c	Thu Feb  4 22:31:41 1999
@@ -187,7 +187,7 @@
 		}
 
 		if (CPU_IS_020_OR_030) {
-			pmd_dir->pmd[(virtaddr/PTRTREESIZE)&-16] = physaddr;
+			pmd_dir->pmd[(virtaddr/PTRTREESIZE) & 15] = physaddr;
 			physaddr += PTRTREESIZE;
 			virtaddr += PTRTREESIZE;
 			size -= PTRTREESIZE;
@@ -242,7 +242,7 @@
 		pmd_dir = pmd_offset(pgd_dir, virtaddr);
 
 		if (CPU_IS_020_OR_030) {
-			int pmd_off = (virtaddr/PTRTREESIZE) & -16;
+			int pmd_off = (virtaddr/PTRTREESIZE) & 15;
 
 			if ((pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK) == _PAGE_PRESENT) {
 				pmd_dir->pmd[pmd_off] = 0;
@@ -318,7 +318,7 @@
 		pmd_dir = pmd_offset(pgd_dir, virtaddr);
 
 		if (CPU_IS_020_OR_030) {
-			int pmd_off = (virtaddr/PTRTREESIZE) & -16;
+			int pmd_off = (virtaddr/PTRTREESIZE) & 15;
 
 			if ((pmd_dir->pmd[pmd_off] & _DESCTYPE_MASK) == _PAGE_PRESENT) {
 				pmd_dir->pmd[pmd_off] = (pmd_dir->pmd[pmd_off] &

