m68k: use ColdFire MMU read/write bit flags when ioremapping
The ColdFire MMU has separate read and write bits, unlike the Motorola m68k MMU which has a single read-only bit. Define a _PAGE_READWRITE value for the Motorola MMU, which is 0, so we can unconditionaly include that in the page table entry bits when setting up ioremapped pages. Signed-off-by: Greg Ungerer <gerg@uclinux.org> Acked-by: Matt Waddel <mwaddel@yahoo.com> Acked-by: Kurt Mahan <kmahan@xmission.com> Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
This commit is contained in:
@@ -8,6 +8,7 @@
|
|||||||
#define _PAGE_PRESENT 0x001
|
#define _PAGE_PRESENT 0x001
|
||||||
#define _PAGE_SHORT 0x002
|
#define _PAGE_SHORT 0x002
|
||||||
#define _PAGE_RONLY 0x004
|
#define _PAGE_RONLY 0x004
|
||||||
|
#define _PAGE_READWRITE 0x000
|
||||||
#define _PAGE_ACCESSED 0x008
|
#define _PAGE_ACCESSED 0x008
|
||||||
#define _PAGE_DIRTY 0x010
|
#define _PAGE_DIRTY 0x010
|
||||||
#define _PAGE_SUPER 0x080 /* 68040 supervisor only */
|
#define _PAGE_SUPER 0x080 /* 68040 supervisor only */
|
||||||
|
@@ -171,7 +171,8 @@ void __iomem *__ioremap(unsigned long physaddr, unsigned long size, int cachefla
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
physaddr |= (_PAGE_PRESENT | _PAGE_ACCESSED | _PAGE_DIRTY);
|
physaddr |= (_PAGE_PRESENT | _PAGE_ACCESSED |
|
||||||
|
_PAGE_DIRTY | _PAGE_READWRITE);
|
||||||
switch (cacheflag) {
|
switch (cacheflag) {
|
||||||
case IOMAP_NOCACHE_SER:
|
case IOMAP_NOCACHE_SER:
|
||||||
case IOMAP_NOCACHE_NONSER:
|
case IOMAP_NOCACHE_NONSER:
|
||||||
|
Reference in New Issue
Block a user