aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/mm/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/sh/mm/init.c')
-rw-r--r--arch/sh/mm/init.c24
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 @@
39DEFINE_PER_CPU(struct mmu_gather, mmu_gathers); 39DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
40pgd_t swapper_pg_dir[PTRS_PER_PGD]; 40pgd_t swapper_pg_dir[PTRS_PER_PGD];
41 41
42/*
43 * Cache of MMU context last used.
44 */
45unsigned 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