patch-2.1.44 linux/arch/m68k/mm/memory.c
Next file: linux/arch/mips/Makefile
Previous file: linux/arch/m68k/kernel/console.c
Back to the patch index
Back to the overall index
- Lines: 50
- Date:
Mon Jul 7 08:18:53 1997
- Orig file:
v2.1.43/linux/arch/m68k/mm/memory.c
- Orig date:
Mon Jun 16 16:35:54 1997
diff -u --recursive --new-file v2.1.43/linux/arch/m68k/mm/memory.c linux/arch/m68k/mm/memory.c
@@ -555,16 +555,18 @@
int tmp;
/*
- * cwe need special treatment for the first page, in case it
- * is not page-aligned.
+ * We need special treatment for the first page, in case it
+ * is not page-aligned. Page align the addresses to work
+ * around bug I17 in the 68060.
*/
if ((tmp = -paddr & (PAGE_SIZE - 1))) {
- pushcl040(paddr);
+ pushcl040(paddr & PAGE_MASK);
if ((len -= tmp) <= 0)
return;
paddr += tmp;
}
tmp = PAGE_SIZE;
+ paddr &= PAGE_MASK;
while ((len -= tmp) >= 0) {
clear040(paddr);
paddr += tmp;
@@ -600,6 +602,13 @@
* the '060!
*/
len += paddr & (PAGE_SIZE - 1);
+
+ /*
+ * Work around bug I17 in the 68060 affecting some instruction
+ * lines not being invalidated properly.
+ */
+ paddr &= PAGE_MASK;
+
do {
pushcli040(paddr);
paddr += tmp;
@@ -638,6 +647,13 @@
/* on 68040, push cache lines for pages in the range */
len += vaddr & (PAGE_SIZE - 1);
+
+ /*
+ * Work around bug I17 in the 68060 affecting some instruction
+ * lines not being invalidated properly.
+ */
+ vaddr &= PAGE_MASK;
+
do {
pushv040(vaddr);
vaddr += tmp;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov