diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-01-21 02:05:25 -0500 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-01-21 02:05:25 -0500 |
commit | 2dc2f8e0c46864e2a3722c84eaa96513d4cf8b2f (patch) | |
tree | 8464625ad2cf3f5a7e567d37493a15ec3596a98b /arch/sh/mm | |
parent | 3125ee72dca25fc2157dcddd07e2d740db921fc4 (diff) |
sh: Kill off the special uncached section and fixmap.
Now that cached_to_uncached works as advertized in 32-bit mode and we're
never going to be able to map < 16MB anyways, there's no need for the
special uncached section. Kill it off.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'arch/sh/mm')
-rw-r--r-- | arch/sh/mm/cache-debugfs.c | 3 | ||||
-rw-r--r-- | arch/sh/mm/cache-sh4.c | 4 | ||||
-rw-r--r-- | arch/sh/mm/cache-sh7705.c | 4 | ||||
-rw-r--r-- | arch/sh/mm/init.c | 3 | ||||
-rw-r--r-- | arch/sh/mm/pmb.c | 6 | ||||
-rw-r--r-- | arch/sh/mm/tlb-pteaex.c | 3 | ||||
-rw-r--r-- | arch/sh/mm/tlb-sh4.c | 3 |
7 files changed, 10 insertions, 16 deletions
diff --git a/arch/sh/mm/cache-debugfs.c b/arch/sh/mm/cache-debugfs.c index 5ba067b26591..48ce82ee9fd2 100644 --- a/arch/sh/mm/cache-debugfs.c +++ b/arch/sh/mm/cache-debugfs.c | |||
@@ -22,8 +22,7 @@ enum cache_type { | |||
22 | CACHE_TYPE_UNIFIED, | 22 | CACHE_TYPE_UNIFIED, |
23 | }; | 23 | }; |
24 | 24 | ||
25 | static int __uses_jump_to_uncached cache_seq_show(struct seq_file *file, | 25 | static int cache_seq_show(struct seq_file *file, void *iter) |
26 | void *iter) | ||
27 | { | 26 | { |
28 | unsigned int cache_type = (unsigned int)file->private; | 27 | unsigned int cache_type = (unsigned int)file->private; |
29 | struct cache_info *cache; | 28 | struct cache_info *cache; |
diff --git a/arch/sh/mm/cache-sh4.c b/arch/sh/mm/cache-sh4.c index a2301daeefa3..87115b3ee70e 100644 --- a/arch/sh/mm/cache-sh4.c +++ b/arch/sh/mm/cache-sh4.c | |||
@@ -36,7 +36,7 @@ static void __flush_cache_one(unsigned long addr, unsigned long phys, | |||
36 | * Called from kernel/module.c:sys_init_module and routine for a.out format, | 36 | * Called from kernel/module.c:sys_init_module and routine for a.out format, |
37 | * signal handler code and kprobes code | 37 | * signal handler code and kprobes code |
38 | */ | 38 | */ |
39 | static void __uses_jump_to_uncached sh4_flush_icache_range(void *args) | 39 | static void sh4_flush_icache_range(void *args) |
40 | { | 40 | { |
41 | struct flusher_data *data = args; | 41 | struct flusher_data *data = args; |
42 | unsigned long start, end; | 42 | unsigned long start, end; |
@@ -124,7 +124,7 @@ static void sh4_flush_dcache_page(void *arg) | |||
124 | } | 124 | } |
125 | 125 | ||
126 | /* TODO: Selective icache invalidation through IC address array.. */ | 126 | /* TODO: Selective icache invalidation through IC address array.. */ |
127 | static void __uses_jump_to_uncached flush_icache_all(void) | 127 | static void flush_icache_all(void) |
128 | { | 128 | { |
129 | unsigned long flags, ccr; | 129 | unsigned long flags, ccr; |
130 | 130 | ||
diff --git a/arch/sh/mm/cache-sh7705.c b/arch/sh/mm/cache-sh7705.c index f527fb70fce6..870293ee539e 100644 --- a/arch/sh/mm/cache-sh7705.c +++ b/arch/sh/mm/cache-sh7705.c | |||
@@ -78,7 +78,7 @@ static void sh7705_flush_icache_range(void *args) | |||
78 | /* | 78 | /* |
79 | * Writeback&Invalidate the D-cache of the page | 79 | * Writeback&Invalidate the D-cache of the page |
80 | */ | 80 | */ |
81 | static void __uses_jump_to_uncached __flush_dcache_page(unsigned long phys) | 81 | static void __flush_dcache_page(unsigned long phys) |
82 | { | 82 | { |
83 | unsigned long ways, waysize, addrstart; | 83 | unsigned long ways, waysize, addrstart; |
84 | unsigned long flags; | 84 | unsigned long flags; |
@@ -144,7 +144,7 @@ static void sh7705_flush_dcache_page(void *arg) | |||
144 | __flush_dcache_page(__pa(page_address(page))); | 144 | __flush_dcache_page(__pa(page_address(page))); |
145 | } | 145 | } |
146 | 146 | ||
147 | static void __uses_jump_to_uncached sh7705_flush_cache_all(void *args) | 147 | static void sh7705_flush_cache_all(void *args) |
148 | { | 148 | { |
149 | unsigned long flags; | 149 | unsigned long flags; |
150 | 150 | ||
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index a28ff63c17a6..dffa6c749489 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c | |||
@@ -211,9 +211,6 @@ void __init paging_init(void) | |||
211 | } | 211 | } |
212 | 212 | ||
213 | free_area_init_nodes(max_zone_pfns); | 213 | free_area_init_nodes(max_zone_pfns); |
214 | |||
215 | /* Set up the uncached fixmap */ | ||
216 | set_fixmap_nocache(FIX_UNCACHED, __pa(&__uncached_start)); | ||
217 | } | 214 | } |
218 | 215 | ||
219 | /* | 216 | /* |
diff --git a/arch/sh/mm/pmb.c b/arch/sh/mm/pmb.c index d318fa6caffe..3d5eece7e6d0 100644 --- a/arch/sh/mm/pmb.c +++ b/arch/sh/mm/pmb.c | |||
@@ -127,14 +127,14 @@ static void __set_pmb_entry(unsigned long vpn, unsigned long ppn, | |||
127 | ctrl_outl(ppn | flags | PMB_V, mk_pmb_data(pos)); | 127 | ctrl_outl(ppn | flags | PMB_V, mk_pmb_data(pos)); |
128 | } | 128 | } |
129 | 129 | ||
130 | static void __uses_jump_to_uncached set_pmb_entry(struct pmb_entry *pmbe) | 130 | static void set_pmb_entry(struct pmb_entry *pmbe) |
131 | { | 131 | { |
132 | jump_to_uncached(); | 132 | jump_to_uncached(); |
133 | __set_pmb_entry(pmbe->vpn, pmbe->ppn, pmbe->flags, pmbe->entry); | 133 | __set_pmb_entry(pmbe->vpn, pmbe->ppn, pmbe->flags, pmbe->entry); |
134 | back_to_cached(); | 134 | back_to_cached(); |
135 | } | 135 | } |
136 | 136 | ||
137 | static void __uses_jump_to_uncached clear_pmb_entry(struct pmb_entry *pmbe) | 137 | static void clear_pmb_entry(struct pmb_entry *pmbe) |
138 | { | 138 | { |
139 | unsigned int entry = pmbe->entry; | 139 | unsigned int entry = pmbe->entry; |
140 | unsigned long addr; | 140 | unsigned long addr; |
@@ -364,7 +364,7 @@ static inline int pmb_apply_legacy_mappings(void) | |||
364 | } | 364 | } |
365 | #endif | 365 | #endif |
366 | 366 | ||
367 | int __uses_jump_to_uncached pmb_init(void) | 367 | int pmb_init(void) |
368 | { | 368 | { |
369 | int i; | 369 | int i; |
370 | unsigned long addr, data; | 370 | unsigned long addr, data; |
diff --git a/arch/sh/mm/tlb-pteaex.c b/arch/sh/mm/tlb-pteaex.c index 409b7c2b4b9d..32dc674c550c 100644 --- a/arch/sh/mm/tlb-pteaex.c +++ b/arch/sh/mm/tlb-pteaex.c | |||
@@ -68,8 +68,7 @@ void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) | |||
68 | * in extended mode, the legacy 8-bit ASID field in address array 1 has | 68 | * in extended mode, the legacy 8-bit ASID field in address array 1 has |
69 | * undefined behaviour. | 69 | * undefined behaviour. |
70 | */ | 70 | */ |
71 | void __uses_jump_to_uncached local_flush_tlb_one(unsigned long asid, | 71 | void local_flush_tlb_one(unsigned long asid, unsigned long page) |
72 | unsigned long page) | ||
73 | { | 72 | { |
74 | jump_to_uncached(); | 73 | jump_to_uncached(); |
75 | __raw_writel(page, MMU_UTLB_ADDRESS_ARRAY | MMU_PAGE_ASSOC_BIT); | 74 | __raw_writel(page, MMU_UTLB_ADDRESS_ARRAY | MMU_PAGE_ASSOC_BIT); |
diff --git a/arch/sh/mm/tlb-sh4.c b/arch/sh/mm/tlb-sh4.c index 8cf550e2570f..624c1daa9f3f 100644 --- a/arch/sh/mm/tlb-sh4.c +++ b/arch/sh/mm/tlb-sh4.c | |||
@@ -64,8 +64,7 @@ void __update_tlb(struct vm_area_struct *vma, unsigned long address, pte_t pte) | |||
64 | local_irq_restore(flags); | 64 | local_irq_restore(flags); |
65 | } | 65 | } |
66 | 66 | ||
67 | void __uses_jump_to_uncached local_flush_tlb_one(unsigned long asid, | 67 | void local_flush_tlb_one(unsigned long asid, unsigned long page) |
68 | unsigned long page) | ||
69 | { | 68 | { |
70 | unsigned long addr, data; | 69 | unsigned long addr, data; |
71 | 70 | ||