diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-21 21:52:11 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-21 21:52:11 -0400 |
commit | 3044100e58c84e133791c8b60a2f5bef69d732e4 (patch) | |
tree | f9ed0d1f3df89c31dd81ccaf0cf3478f57b08440 /arch/microblaze | |
parent | b5153163ed580e00c67bdfecb02b2e3843817b3e (diff) | |
parent | 67e87f0a1c5cbc750f81ebf6a128e8ff6f4376cc (diff) |
Merge branch 'core-memblock-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'core-memblock-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (74 commits)
x86-64: Only set max_pfn_mapped to 512 MiB if we enter via head_64.S
xen: Cope with unmapped pages when initializing kernel pagetable
memblock, bootmem: Round pfn properly for memory and reserved regions
memblock: Annotate memblock functions with __init_memblock
memblock: Allow memblock_init to be called early
memblock/arm: Fix memblock_region_is_memory() typo
x86, memblock: Remove __memblock_x86_find_in_range_size()
memblock: Fix wraparound in find_region()
x86-32, memblock: Make add_highpages honor early reserved ranges
x86, memblock: Fix crashkernel allocation
arm, memblock: Fix the sparsemem build
memblock: Fix section mismatch warnings
powerpc, memblock: Fix memblock API change fallout
memblock, microblaze: Fix memblock API change fallout
x86: Remove old bootmem code
x86, memblock: Use memblock_memory_size()/memblock_free_memory_size() to get correct dma_reserve
x86: Remove not used early_res code
x86, memblock: Replace e820_/_early string with memblock_
x86: Use memblock to replace early_res
x86, memblock: Use memblock_debug to control debug message print out
...
Fix up trivial conflicts in arch/x86/kernel/setup.c and kernel/Makefile
Diffstat (limited to 'arch/microblaze')
-rw-r--r-- | arch/microblaze/include/asm/memblock.h | 3 | ||||
-rw-r--r-- | arch/microblaze/mm/init.c | 30 |
2 files changed, 14 insertions, 19 deletions
diff --git a/arch/microblaze/include/asm/memblock.h b/arch/microblaze/include/asm/memblock.h index f9c2fa331d2a..20a8e257c77f 100644 --- a/arch/microblaze/include/asm/memblock.h +++ b/arch/microblaze/include/asm/memblock.h | |||
@@ -9,9 +9,6 @@ | |||
9 | #ifndef _ASM_MICROBLAZE_MEMBLOCK_H | 9 | #ifndef _ASM_MICROBLAZE_MEMBLOCK_H |
10 | #define _ASM_MICROBLAZE_MEMBLOCK_H | 10 | #define _ASM_MICROBLAZE_MEMBLOCK_H |
11 | 11 | ||
12 | /* MEMBLOCK limit is OFF */ | ||
13 | #define MEMBLOCK_REAL_LIMIT 0xFFFFFFFF | ||
14 | |||
15 | #endif /* _ASM_MICROBLAZE_MEMBLOCK_H */ | 12 | #endif /* _ASM_MICROBLAZE_MEMBLOCK_H */ |
16 | 13 | ||
17 | 14 | ||
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 | ||
71 | void __init setup_memory(void) | 71 | void __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 */ |