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.c30
1 files changed, 14 insertions, 16 deletions
diff --git a/arch/microblaze/mm/init.c b/arch/microblaze/mm/init.c
index 65eb00419d19..c8437866d3b7 100644
--- a/arch/microblaze/mm/init.c
+++ b/arch/microblaze/mm/init.c
@@ -70,16 +70,16 @@ static void __init paging_init(void)
70 70
71void __init setup_memory(void) 71void __init setup_memory(void)
72{ 72{
73 int i;
74 unsigned long map_size; 73 unsigned long map_size;
74 struct memblock_region *reg;
75
75#ifndef CONFIG_MMU 76#ifndef CONFIG_MMU
76 u32 kernel_align_start, kernel_align_size; 77 u32 kernel_align_start, kernel_align_size;
77 78
78 /* Find main memory where is the kernel */ 79 /* Find main memory where is the kernel */
79 for (i = 0; i < memblock.memory.cnt; i++) { 80 for_each_memblock(memory, reg) {
80 memory_start = (u32) memblock.memory.region[i].base; 81 memory_start = (u32)reg->base;
81 memory_end = (u32) memblock.memory.region[i].base 82 memory_end = (u32) reg->base + reg->size;
82 + (u32) memblock.memory.region[i].size;
83 if ((memory_start <= (u32)_text) && 83 if ((memory_start <= (u32)_text) &&
84 ((u32)_text <= memory_end)) { 84 ((u32)_text <= memory_end)) {
85 memory_size = memory_end - memory_start; 85 memory_size = memory_end - memory_start;
@@ -142,12 +142,10 @@ void __init setup_memory(void)
142 free_bootmem(memory_start, memory_size); 142 free_bootmem(memory_start, memory_size);
143 143
144 /* reserve allocate blocks */ 144 /* reserve allocate blocks */
145 for (i = 0; i < memblock.reserved.cnt; i++) { 145 for_each_memblock(reserved, reg) {
146 pr_debug("reserved %d - 0x%08x-0x%08x\n", i, 146 pr_debug("reserved - 0x%08x-0x%08x\n",
147 (u32) memblock.reserved.region[i].base, 147 (u32) reg->base, (u32) reg->size);
148 (u32) memblock_size_bytes(&memblock.reserved, i)); 148 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 } 149 }
152#ifdef CONFIG_MMU 150#ifdef CONFIG_MMU
153 init_bootmem_done = 1; 151 init_bootmem_done = 1;
@@ -230,7 +228,7 @@ static void mm_cmdline_setup(void)
230 if (maxmem && memory_size > maxmem) { 228 if (maxmem && memory_size > maxmem) {
231 memory_size = maxmem; 229 memory_size = maxmem;
232 memory_end = memory_start + memory_size; 230 memory_end = memory_start + memory_size;
233 memblock.memory.region[0].size = memory_size; 231 memblock.memory.regions[0].size = memory_size;
234 } 232 }
235 } 233 }
236} 234}
@@ -273,14 +271,14 @@ asmlinkage void __init mmu_init(void)
273 machine_restart(NULL); 271 machine_restart(NULL);
274 } 272 }
275 273
276 if ((u32) memblock.memory.region[0].size < 0x1000000) { 274 if ((u32) memblock.memory.regions[0].size < 0x1000000) {
277 printk(KERN_EMERG "Memory must be greater than 16MB\n"); 275 printk(KERN_EMERG "Memory must be greater than 16MB\n");
278 machine_restart(NULL); 276 machine_restart(NULL);
279 } 277 }
280 /* Find main memory where the kernel is */ 278 /* Find main memory where the kernel is */
281 memory_start = (u32) memblock.memory.region[0].base; 279 memory_start = (u32) memblock.memory.regions[0].base;
282 memory_end = (u32) memblock.memory.region[0].base + 280 memory_end = (u32) memblock.memory.regions[0].base +
283 (u32) memblock.memory.region[0].size; 281 (u32) memblock.memory.regions[0].size;
284 memory_size = memory_end - memory_start; 282 memory_size = memory_end - memory_start;
285 283
286 mm_cmdline_setup(); /* FIXME parse args from command line - not used */ 284 mm_cmdline_setup(); /* FIXME parse args from command line - not used */