diff options
Diffstat (limited to 'arch/sh/mm/init.c')
-rw-r--r-- | arch/sh/mm/init.c | 24 |
1 files changed, 2 insertions, 22 deletions
diff --git a/arch/sh/mm/init.c b/arch/sh/mm/init.c index 29bd37b1488e..ae957a932375 100644 --- a/arch/sh/mm/init.c +++ b/arch/sh/mm/init.c | |||
@@ -39,11 +39,6 @@ | |||
39 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); | 39 | DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); |
40 | pgd_t swapper_pg_dir[PTRS_PER_PGD]; | 40 | pgd_t swapper_pg_dir[PTRS_PER_PGD]; |
41 | 41 | ||
42 | /* | ||
43 | * Cache of MMU context last used. | ||
44 | */ | ||
45 | unsigned long mmu_context_cache = NO_CONTEXT; | ||
46 | |||
47 | #ifdef CONFIG_MMU | 42 | #ifdef CONFIG_MMU |
48 | /* It'd be good if these lines were in the standard header file. */ | 43 | /* It'd be good if these lines were in the standard header file. */ |
49 | #define START_PFN (NODE_DATA(0)->bdata->node_boot_start >> PAGE_SHIFT) | 44 | #define START_PFN (NODE_DATA(0)->bdata->node_boot_start >> PAGE_SHIFT) |
@@ -111,7 +106,7 @@ static void set_pte_phys(unsigned long addr, unsigned long phys, pgprot_t prot) | |||
111 | 106 | ||
112 | set_pte(pte, pfn_pte(phys >> PAGE_SHIFT, prot)); | 107 | set_pte(pte, pfn_pte(phys >> PAGE_SHIFT, prot)); |
113 | 108 | ||
114 | __flush_tlb_page(get_asid(), addr); | 109 | flush_tlb_one(get_asid(), addr); |
115 | } | 110 | } |
116 | 111 | ||
117 | /* | 112 | /* |
@@ -158,7 +153,6 @@ void __init paging_init(void) | |||
158 | * Setup some defaults for the zone sizes.. these should be safe | 153 | * Setup some defaults for the zone sizes.. these should be safe |
159 | * regardless of distcontiguous memory or MMU settings. | 154 | * regardless of distcontiguous memory or MMU settings. |
160 | */ | 155 | */ |
161 | zones_size[ZONE_DMA] = 0 >> PAGE_SHIFT; | ||
162 | zones_size[ZONE_NORMAL] = __MEMORY_SIZE >> PAGE_SHIFT; | 156 | zones_size[ZONE_NORMAL] = __MEMORY_SIZE >> PAGE_SHIFT; |
163 | #ifdef CONFIG_HIGHMEM | 157 | #ifdef CONFIG_HIGHMEM |
164 | zones_size[ZONE_HIGHMEM] = 0 >> PAGE_SHIFT; | 158 | zones_size[ZONE_HIGHMEM] = 0 >> PAGE_SHIFT; |
@@ -170,8 +164,6 @@ void __init paging_init(void) | |||
170 | * the zone sizes accordingly, in addition to turning it on. | 164 | * the zone sizes accordingly, in addition to turning it on. |
171 | */ | 165 | */ |
172 | { | 166 | { |
173 | unsigned long max_dma, low, start_pfn; | ||
174 | |||
175 | /* We don't need to map the kernel through the TLB, as | 167 | /* We don't need to map the kernel through the TLB, as |
176 | * it is permanatly mapped using P1. So clear the | 168 | * it is permanatly mapped using P1. So clear the |
177 | * entire pgd. */ | 169 | * entire pgd. */ |
@@ -179,19 +171,7 @@ void __init paging_init(void) | |||
179 | 171 | ||
180 | /* Turn on the MMU */ | 172 | /* Turn on the MMU */ |
181 | enable_mmu(); | 173 | enable_mmu(); |
182 | 174 | zones_size[ZONE_NORMAL] = MAX_LOW_PFN - START_PFN; | |
183 | /* Fixup the zone sizes */ | ||
184 | start_pfn = START_PFN; | ||
185 | max_dma = virt_to_phys((char *)MAX_DMA_ADDRESS) >> PAGE_SHIFT; | ||
186 | low = MAX_LOW_PFN; | ||
187 | |||
188 | if (low < max_dma) { | ||
189 | zones_size[ZONE_DMA] = low - start_pfn; | ||
190 | zones_size[ZONE_NORMAL] = 0; | ||
191 | } else { | ||
192 | zones_size[ZONE_DMA] = max_dma - start_pfn; | ||
193 | zones_size[ZONE_NORMAL] = low - max_dma; | ||
194 | } | ||
195 | } | 175 | } |
196 | 176 | ||
197 | /* Set an initial value for the MMU.TTB so we don't have to | 177 | /* Set an initial value for the MMU.TTB so we don't have to |