diff options
author | Paul Mundt <lethal@linux-sh.org> | 2006-09-27 04:03:56 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2006-09-27 04:03:56 -0400 |
commit | 0f08f338083cc1d68788ccbccc44bd0502fc57ae (patch) | |
tree | 97c69dbbd63a108a7367644dadedd390a3948f0c /arch/sh/mm | |
parent | 9e3043c091819729ecf4fc5063d0a2d0954dfd7f (diff) |
sh: More cosmetic cleanups and trivial fixes.
Nothing exciting here, just trivial fixes..
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm')
-rw-r--r-- | arch/sh/mm/cache-sh7705.c | 19 | ||||
-rw-r--r-- | arch/sh/mm/fault.c | 13 | ||||
-rw-r--r-- | arch/sh/mm/pmb.c | 4 |
3 files changed, 14 insertions, 22 deletions
diff --git a/arch/sh/mm/cache-sh7705.c b/arch/sh/mm/cache-sh7705.c index bf94eedb0a8e..045abdf078f5 100644 --- a/arch/sh/mm/cache-sh7705.c +++ b/arch/sh/mm/cache-sh7705.c | |||
@@ -9,7 +9,6 @@ | |||
9 | * for more details. | 9 | * for more details. |
10 | * | 10 | * |
11 | */ | 11 | */ |
12 | |||
13 | #include <linux/init.h> | 12 | #include <linux/init.h> |
14 | #include <linux/mman.h> | 13 | #include <linux/mman.h> |
15 | #include <linux/mm.h> | 14 | #include <linux/mm.h> |
@@ -25,14 +24,10 @@ | |||
25 | #include <asm/mmu_context.h> | 24 | #include <asm/mmu_context.h> |
26 | #include <asm/cacheflush.h> | 25 | #include <asm/cacheflush.h> |
27 | 26 | ||
28 | /* The 32KB cache on the SH7705 suffers from the same synonym problem | 27 | /* |
29 | * as SH4 CPUs */ | 28 | * The 32KB cache on the SH7705 suffers from the same synonym problem |
30 | 29 | * as SH4 CPUs | |
31 | #define __pte_offset(address) \ | 30 | */ |
32 | ((address >> PAGE_SHIFT) & (PTRS_PER_PTE - 1)) | ||
33 | #define pte_offset(dir, address) ((pte_t *) pmd_page_vaddr(*(dir)) + \ | ||
34 | __pte_offset(address)) | ||
35 | |||
36 | static inline void cache_wback_all(void) | 31 | static inline void cache_wback_all(void) |
37 | { | 32 | { |
38 | unsigned long ways, waysize, addrstart; | 33 | unsigned long ways, waysize, addrstart; |
@@ -73,7 +68,6 @@ void flush_icache_range(unsigned long start, unsigned long end) | |||
73 | __flush_wback_region((void *)start, end - start); | 68 | __flush_wback_region((void *)start, end - start); |
74 | } | 69 | } |
75 | 70 | ||
76 | |||
77 | /* | 71 | /* |
78 | * Writeback&Invalidate the D-cache of the page | 72 | * Writeback&Invalidate the D-cache of the page |
79 | */ | 73 | */ |
@@ -128,7 +122,6 @@ static void __flush_dcache_page(unsigned long phys) | |||
128 | local_irq_restore(flags); | 122 | local_irq_restore(flags); |
129 | } | 123 | } |
130 | 124 | ||
131 | |||
132 | /* | 125 | /* |
133 | * Write back & invalidate the D-cache of the page. | 126 | * Write back & invalidate the D-cache of the page. |
134 | * (To avoid "alias" issues) | 127 | * (To avoid "alias" issues) |
@@ -186,7 +179,8 @@ void flush_cache_range(struct vm_area_struct *vma, unsigned long start, | |||
186 | * | 179 | * |
187 | * ADDRESS: Virtual Address (U0 address) | 180 | * ADDRESS: Virtual Address (U0 address) |
188 | */ | 181 | */ |
189 | void flush_cache_page(struct vm_area_struct *vma, unsigned long address, unsigned long pfn) | 182 | void flush_cache_page(struct vm_area_struct *vma, unsigned long address, |
183 | unsigned long pfn) | ||
190 | { | 184 | { |
191 | __flush_dcache_page(pfn << PAGE_SHIFT); | 185 | __flush_dcache_page(pfn << PAGE_SHIFT); |
192 | } | 186 | } |
@@ -203,4 +197,3 @@ void flush_icache_page(struct vm_area_struct *vma, struct page *page) | |||
203 | { | 197 | { |
204 | __flush_purge_region(page_address(page), PAGE_SIZE); | 198 | __flush_purge_region(page_address(page), PAGE_SIZE); |
205 | } | 199 | } |
206 | |||
diff --git a/arch/sh/mm/fault.c b/arch/sh/mm/fault.c index dc461d2bc183..c69fd603226a 100644 --- a/arch/sh/mm/fault.c +++ b/arch/sh/mm/fault.c | |||
@@ -13,6 +13,8 @@ | |||
13 | */ | 13 | */ |
14 | #include <linux/kernel.h> | 14 | #include <linux/kernel.h> |
15 | #include <linux/mm.h> | 15 | #include <linux/mm.h> |
16 | #include <linux/hardirq.h> | ||
17 | #include <linux/kprobes.h> | ||
16 | #include <asm/system.h> | 18 | #include <asm/system.h> |
17 | #include <asm/mmu_context.h> | 19 | #include <asm/mmu_context.h> |
18 | #include <asm/kgdb.h> | 20 | #include <asm/kgdb.h> |
@@ -188,15 +190,16 @@ do_sigbus: | |||
188 | /* | 190 | /* |
189 | * Called with interrupts disabled. | 191 | * Called with interrupts disabled. |
190 | */ | 192 | */ |
191 | asmlinkage int __do_page_fault(struct pt_regs *regs, unsigned long writeaccess, | 193 | asmlinkage int __kprobes __do_page_fault(struct pt_regs *regs, |
192 | unsigned long address) | 194 | unsigned long writeaccess, |
195 | unsigned long address) | ||
193 | { | 196 | { |
194 | pgd_t *pgd; | 197 | pgd_t *pgd; |
195 | pud_t *pud; | 198 | pud_t *pud; |
196 | pmd_t *pmd; | 199 | pmd_t *pmd; |
197 | pte_t *pte; | 200 | pte_t *pte; |
198 | pte_t entry; | 201 | pte_t entry; |
199 | struct mm_struct *mm; | 202 | struct mm_struct *mm = current->mm; |
200 | spinlock_t *ptl; | 203 | spinlock_t *ptl; |
201 | int ret = 1; | 204 | int ret = 1; |
202 | 205 | ||
@@ -214,10 +217,10 @@ asmlinkage int __do_page_fault(struct pt_regs *regs, unsigned long writeaccess, | |||
214 | pgd = pgd_offset_k(address); | 217 | pgd = pgd_offset_k(address); |
215 | mm = NULL; | 218 | mm = NULL; |
216 | } else { | 219 | } else { |
217 | if (unlikely(address >= TASK_SIZE || !(mm = current->mm))) | 220 | if (unlikely(address >= TASK_SIZE || !mm)) |
218 | return 1; | 221 | return 1; |
219 | 222 | ||
220 | pgd = pgd_offset(current->mm, address); | 223 | pgd = pgd_offset(mm, address); |
221 | } | 224 | } |
222 | 225 | ||
223 | pud = pud_offset(pgd, address); | 226 | pud = pud_offset(pgd, address); |
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index 819fd0faf022..92e745341e4d 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c | |||
@@ -337,10 +337,8 @@ static int __init pmb_init(void) | |||
337 | 337 | ||
338 | return 0; | 338 | return 0; |
339 | } | 339 | } |
340 | |||
341 | arch_initcall(pmb_init); | 340 | arch_initcall(pmb_init); |
342 | 341 | ||
343 | #ifdef CONFIG_DEBUG_FS | ||
344 | static int pmb_seq_show(struct seq_file *file, void *iter) | 342 | static int pmb_seq_show(struct seq_file *file, void *iter) |
345 | { | 343 | { |
346 | int i; | 344 | int i; |
@@ -399,6 +397,4 @@ static int __init pmb_debugfs_init(void) | |||
399 | 397 | ||
400 | return 0; | 398 | return 0; |
401 | } | 399 | } |
402 | |||
403 | postcore_initcall(pmb_debugfs_init); | 400 | postcore_initcall(pmb_debugfs_init); |
404 | #endif | ||