aboutsummaryrefslogtreecommitdiffstats
path: root/arch/microblaze/mm/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/microblaze/mm/init.c')
-rw-r--r--arch/microblaze/mm/init.c32
1 files changed, 14 insertions, 18 deletions
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c
index 65eb00419d19..213f2d671669 100644
--- a/arch/microblaze/mm/init.c
+++ b/arch/microblaze/mm/init.c
@@ -32,8 +32,6 @@ unsigned int __page_offset;
32EXPORT_SYMBOL(__page_offset); 32EXPORT_SYMBOL(__page_offset);
33 33
34#else 34#else
35DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
36
37static int init_bootmem_done; 35static int init_bootmem_done;
38#endif /* CONFIG_MMU */ 36#endif /* CONFIG_MMU */
39 37
@@ -70,16 +68,16 @@ static void __init paging_init(void)
70 68
71void __init setup_memory(void) 69void __init setup_memory(void)
72{ 70{
73 int i;
74 unsigned long map_size; 71 unsigned long map_size;
72 struct memblock_region *reg;
73
75#ifndef CONFIG_MMU 74#ifndef CONFIG_MMU
76 u32 kernel_align_start, kernel_align_size; 75 u32 kernel_align_start, kernel_align_size;
77 76
78 /* Find main memory where is the kernel */ 77 /* Find main memory where is the kernel */
79 for (i = 0; i < memblock.memory.cnt; i++) { 78 for_each_memblock(memory, reg) {
80 memory_start = (u32) memblock.memory.region[i].base; 79 memory_start = (u32)reg->base;
81 memory_end = (u32) memblock.memory.region[i].base 80 memory_end = (u32) reg->base + reg->size;
82 + (u32) memblock.memory.region[i].size;
83 if ((memory_start <= (u32)_text) && 81 if ((memory_start <= (u32)_text) &&
84 ((u32)_text <= memory_end)) { 82 ((u32)_text <= memory_end)) {
85 memory_size = memory_end - memory_start; 83 memory_size = memory_end - memory_start;
@@ -142,12 +140,10 @@ void __init setup_memory(void)
142 free_bootmem(memory_start, memory_size); 140 free_bootmem(memory_start, memory_size);
143 141
144 /* reserve allocate blocks */ 142 /* reserve allocate blocks */
145 for (i = 0; i < memblock.reserved.cnt; i++) { 143 for_each_memblock(reserved, reg) {
146 pr_debug("reserved %d - 0x%08x-0x%08x\n", i, 144 pr_debug("reserved - 0x%08x-0x%08x\n",
147 (u32) memblock.reserved.region[i].base, 145 (u32) reg->base, (u32) reg->size);
148 (u32) memblock_size_bytes(&memblock.reserved, i)); 146 reserve_bootmem(reg->base, reg->size, BOOTMEM_DEFAULT);
149 reserve_bootmem(memblock.reserved.region[i].base,
150 memblock_size_bytes(&memblock.reserved, i) - 1, BOOTMEM_DEFAULT);
151 } 147 }
152#ifdef CONFIG_MMU 148#ifdef CONFIG_MMU
153 init_bootmem_done = 1; 149 init_bootmem_done = 1;
@@ -230,7 +226,7 @@ static void mm_cmdline_setup(void)
230 if (maxmem && memory_size > maxmem) { 226 if (maxmem && memory_size > maxmem) {
231 memory_size = maxmem; 227 memory_size = maxmem;
232 memory_end = memory_start + memory_size; 228 memory_end = memory_start + memory_size;
233 memblock.memory.region[0].size = memory_size; 229 memblock.memory.regions[0].size = memory_size;
234 } 230 }
235 } 231 }
236} 232}
@@ -273,14 +269,14 @@ asmlinkage void __init mmu_init(void)
273 machine_restart(NULL); 269 machine_restart(NULL);
274 } 270 }
275 271
276 if ((u32) memblock.memory.region[0].size < 0x1000000) { 272 if ((u32) memblock.memory.regions[0].size < 0x1000000) {
277 printk(KERN_EMERG "Memory must be greater than 16MB\n"); 273 printk(KERN_EMERG "Memory must be greater than 16MB\n");
278 machine_restart(NULL); 274 machine_restart(NULL);
279 } 275 }
280 /* Find main memory where the kernel is */ 276 /* Find main memory where the kernel is */
281 memory_start = (u32) memblock.memory.region[0].base; 277 memory_start = (u32) memblock.memory.regions[0].base;
282 memory_end = (u32) memblock.memory.region[0].base + 278 memory_end = (u32) memblock.memory.regions[0].base +
283 (u32) memblock.memory.region[0].size; 279 (u32) memblock.memory.regions[0].size;
284 memory_size = memory_end - memory_start; 280 memory_size = memory_end - memory_start;
285 281
286 mm_cmdline_setup(); /* FIXME parse args from command line - not used */ 282 mm_cmdline_setup(); /* FIXME parse args from command line - not used */