diff options
author | Stuart Menefy <stuart.menefy@st.com> | 2007-11-26 21:32:40 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2008-01-28 13:18:58 +0900 |
commit | eddeeb32fe303910c58c4e3c27fde4b6f1503350 (patch) | |
tree | 4117bc9fdc893ae0cc30c8e47cef717aa41ddd15 | |
parent | 7a2eacb75946e0ebb81dfb36b50b5bec1c3cb50f (diff) | |
download | linux-eddeeb32fe303910c58c4e3c27fde4b6f1503350.tar.gz linux-eddeeb32fe303910c58c4e3c27fde4b6f1503350.tar.bz2 linux-eddeeb32fe303910c58c4e3c27fde4b6f1503350.zip |
sh: Invalidate the TLB after applying PMB mappings.
Signed-off-by: Stuart Menefy <stuart.menefy@st.com>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
-rw-r--r-- | arch/sh/mm/pmb.c | 6 | ||||
-rw-r--r-- | include/asm-sh/cpu-sh4/mmu_context.h | 2 |
2 files changed, 8 insertions, 0 deletions
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index 1d45b82f0a63..b632051d6ce5 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c @@ -27,6 +27,7 @@ #include <asm/pgtable.h> #include <asm/mmu.h> #include <asm/io.h> +#include <asm/mmu_context.h> #define NR_PMB_ENTRIES 16 @@ -329,6 +330,11 @@ static int __init pmb_init(void) /* PMB.SE and UB[7] */ ctrl_outl((1 << 31) | (1 << 7), PMB_PASCR); + /* Flush out the TLB */ + i = ctrl_inl(MMUCR); + i |= MMUCR_TI; + ctrl_outl(i, MMUCR); + back_to_P1(); return 0; diff --git a/include/asm-sh/cpu-sh4/mmu_context.h b/include/asm-sh/cpu-sh4/mmu_context.h index 979acddc0f8e..fdd56e3e3a3b 100644 --- a/include/asm-sh/cpu-sh4/mmu_context.h +++ b/include/asm-sh/cpu-sh4/mmu_context.h @@ -22,6 +22,8 @@ #define MMU_UTLB_ADDRESS_ARRAY 0xF6000000 #define MMU_PAGE_ASSOC_BIT 0x80 +#define MMUCR_TI (1<<2) + #ifdef CONFIG_X2TLB #define MMUCR_ME (1 << 7) #else |