sh: Fix up extended mode TLB for SH-X2+ cores.
authorPaul Mundt <lethal@linux-sh.org>
Fri, 21 Sep 2007 02:55:03 +0000 (11:55 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Fri, 21 Sep 2007 02:57:55 +0000 (11:57 +0900)
commitd04a0f79f502a87bb17b147afc4b3e39e75275c3
tree9fcd7244769316e22ce54e11bd0b80f544b30f90
parentdb2504966ceb9f08557b6ea3ab7e367016fcaba9
sh: Fix up extended mode TLB for SH-X2+ cores.

The extended mode TLB requires both 64-bit PTEs and a 64-bit pgprot,
correspondingly, the PGD also has to be 64-bits, so fix that up.

The kernel and user permission bits really are decoupled in early
cuts of the silicon, which means that we also have to set corresponding
kernel permissions on user pages or we end up with user pages that the
kernel simply can't touch (!).

Finally, with those things corrected, really enable MMUCR.ME and
correct the PTEA value (this simply needs to be the upper 32-bits
of the PTE, with the size and protection bit encoding).

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
arch/sh/mm/tlb-sh4.c
include/asm-sh/cpu-sh4/mmu_context.h
include/asm-sh/page.h
include/asm-sh/pgtable.h