aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm/tlb-sh4.c
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2006-09-27 01:55:41 -0400
committerPaul Mundt <lethal@linux-sh.org>2006-09-27 01:55:41 -0400
commit749cf486920bf53f16e6a6889d9635a91ffb6c82 (patch)
treeff288990effd0fe5bf980d6c27af5dc9ad11bc3d /arch/sh/mm/tlb-sh4.c
parent94c0fa520cc169ccf661e9c03b5b95f74d1520b8 (diff)
sh: Add flag for MMU PTEA capability.
Add CPU_HAS_PTEA, refactor some of the cpu flag settings. Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm/tlb-sh4.c')
-rw-r--r--arch/sh/mm/tlb-sh4.c12
1 files changed, 4 insertions, 8 deletions
diff --git a/arch/sh/mm/tlb-sh4.c b/arch/sh/mm/tlb-sh4.c
index 96e5fb0ac4fa..812b2d567de2 100644
--- a/arch/sh/mm/tlb-sh4.c
+++ b/arch/sh/mm/tlb-sh4.c
@@ -36,9 +36,6 @@ void update_mmu_cache(struct vm_area_struct * vma,
36 unsigned long vpn; 36 unsigned long vpn;
37 struct page *page; 37 struct page *page;
38 unsigned long pfn; 38 unsigned long pfn;
39#ifndef CONFIG_CPU_SUBTYPE_SH7780
40 unsigned long ptea;
41#endif
42 39
43 /* Ptrace may call this routine. */ 40 /* Ptrace may call this routine. */
44 if (vma && current->active_mm != vma->vm_mm) 41 if (vma && current->active_mm != vma->vm_mm)
@@ -61,12 +58,11 @@ void update_mmu_cache(struct vm_area_struct * vma,
61 ctrl_outl(vpn, MMU_PTEH); 58 ctrl_outl(vpn, MMU_PTEH);
62 59
63 pteval = pte_val(pte); 60 pteval = pte_val(pte);
64#ifndef CONFIG_CPU_SUBTYPE_SH7780 61
65 /* Set PTEA register */ 62 /* Set PTEA register */
66 /* TODO: make this look less hacky */ 63 if (cpu_data->flags & CPU_HAS_PTEA)
67 ptea = ((pteval >> 28) & 0xe) | (pteval & 0x1); 64 /* TODO: make this look less hacky */
68 ctrl_outl(ptea, MMU_PTEA); 65 ctrl_outl(((pteval >> 28) & 0xe) | (pteval & 0x1), MMU_PTEA);
69#endif
70 66
71 /* Set PTEL register */ 67 /* Set PTEL register */
72 pteval &= _PAGE_FLAGS_HARDWARE_MASK; /* drop software flags */ 68 pteval &= _PAGE_FLAGS_HARDWARE_MASK; /* drop software flags */