patch-2.4.6 linux/arch/m68k/mm/memory.c
Next file: linux/arch/m68k/mvme147/config.c
Previous file: linux/arch/m68k/mm/init.c
Back to the patch index
Back to the overall index
- Lines: 63
- Date:
Mon Jun 11 19:15:27 2001
- Orig file:
v2.4.5/linux/arch/m68k/mm/memory.c
- Orig date:
Sat May 19 17:43:05 2001
diff -u --recursive --new-file v2.4.5/linux/arch/m68k/mm/memory.c linux/arch/m68k/mm/memory.c
@@ -39,6 +39,7 @@
pgd_set(pgd, (pmd_t *)BAD_PAGETABLE);
}
+#if 0
pte_t *get_pte_slow(pmd_t *pmd, unsigned long offset)
{
pte_t *pte;
@@ -63,7 +64,9 @@
}
return (pte_t *)__pmd_page(*pmd) + offset;
}
+#endif
+#if 0
pmd_t *get_pmd_slow(pgd_t *pgd, unsigned long offset)
{
pmd_t *pmd;
@@ -84,7 +87,7 @@
}
return (pmd_t *)__pgd_page(*pgd) + offset;
}
-
+#endif
/* ++andreas: {get,free}_pointer_table rewritten to use unused fields from
struct page instead of separately kmalloced struct. Stolen from
@@ -250,6 +253,10 @@
if (voff == 0)
return m68k_memory[i-1].addr + m68k_memory[i-1].size;
+ /* As a special case allow `__pa(high_memory)'. */
+ if (voff == 0)
+ return m68k_memory[i-1].addr + m68k_memory[i-1].size;
+
return mm_vtop_fallback(vaddr);
}
#endif
@@ -454,16 +461,21 @@
".chip 68k" \
: : "a" (paddr))
-/* push and invalidate page in both caches */
+/* push and invalidate page in both caches, must disable ints
+ * to avoid invalidating valid data */
#define pushcl040(paddr) \
- do { push040(paddr); \
+ do { unsigned long flags; \
+ save_flags(flags); \
+ cli(); \
+ push040(paddr); \
if (CPU_IS_060) clear040(paddr); \
+ restore_flags(flags); \
} while(0)
/* push page in both caches, invalidate in i-cache */
+/* RZ: cpush %bc DOES invalidate %ic, regardless of DPI */
#define pushcli040(paddr) \
do { push040(paddr); \
- if (CPU_IS_060) cleari040(paddr); \
} while(0)
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)