Commit 8d717a52d1b0959128be5134dd12608e8e4f2115
1 parent
2778f62056
Exists in
master
and in
7 other branches
ARM: Convert platform reservations to use LMB rather than bootmem
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Showing 14 changed files with 32 additions and 31 deletions Side-by-side Diff
- arch/arm/include/asm/memblock.h
- arch/arm/kernel/setup.c
- arch/arm/mach-clps711x/edb7211-arch.c
- arch/arm/mach-integrator/core.c
- arch/arm/mach-pxa/palmt5.c
- arch/arm/mach-pxa/palmtreo.c
- arch/arm/mach-s3c2410/mach-h1940.c
- arch/arm/mach-s3c2440/mach-rx1950.c
- arch/arm/mach-s3c2440/mach-rx3715.c
- arch/arm/mach-u300/u300.c
- arch/arm/mm/init.c
- arch/arm/mm/mm.h
- arch/arm/mm/mmu.c
- arch/arm/mm/nommu.c
arch/arm/include/asm/memblock.h
arch/arm/kernel/setup.c
arch/arm/mach-clps711x/edb7211-arch.c
... | ... | @@ -18,7 +18,7 @@ |
18 | 18 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
19 | 19 | */ |
20 | 20 | #include <linux/init.h> |
21 | -#include <linux/bootmem.h> | |
21 | +#include <linux/memblock.h> | |
22 | 22 | #include <linux/types.h> |
23 | 23 | #include <linux/string.h> |
24 | 24 | |
... | ... | @@ -33,7 +33,7 @@ |
33 | 33 | /* Reserve screen memory region at the start of main system memory. */ |
34 | 34 | static void __init edb7211_reserve(void) |
35 | 35 | { |
36 | - reserve_bootmem(PHYS_OFFSET, 0x00020000, BOOTMEM_DEFAULT); | |
36 | + memblock_reserve(PHYS_OFFSET, 0x00020000); | |
37 | 37 | } |
38 | 38 | |
39 | 39 | static void __init |
arch/arm/mach-integrator/core.c
... | ... | @@ -14,7 +14,7 @@ |
14 | 14 | #include <linux/spinlock.h> |
15 | 15 | #include <linux/interrupt.h> |
16 | 16 | #include <linux/irq.h> |
17 | -#include <linux/bootmem.h> | |
17 | +#include <linux/memblock.h> | |
18 | 18 | #include <linux/sched.h> |
19 | 19 | #include <linux/smp.h> |
20 | 20 | #include <linux/termios.h> |
... | ... | @@ -225,6 +225,6 @@ |
225 | 225 | */ |
226 | 226 | void __init integrator_reserve(void) |
227 | 227 | { |
228 | - reserve_bootmem(PHYS_OFFSET, __pa(swapper_pg_dir) - PHYS_OFFSET, BOOTMEM_DEFAULT); | |
228 | + memblock_reserve(PHYS_OFFSET, __pa(swapper_pg_dir) - PHYS_OFFSET); | |
229 | 229 | } |
arch/arm/mach-pxa/palmt5.c
... | ... | @@ -21,7 +21,7 @@ |
21 | 21 | #include <linux/irq.h> |
22 | 22 | #include <linux/gpio_keys.h> |
23 | 23 | #include <linux/input.h> |
24 | -#include <linux/bootmem.h> | |
24 | +#include <linux/memblock.h> | |
25 | 25 | #include <linux/pda_power.h> |
26 | 26 | #include <linux/pwm_backlight.h> |
27 | 27 | #include <linux/gpio.h> |
... | ... | @@ -399,7 +399,7 @@ |
399 | 399 | |
400 | 400 | static void __init palmt5_reserve(void) |
401 | 401 | { |
402 | - reserve_bootmem(0xa0200000, 0x1000, BOOTMEM_EXCLUSIVE); | |
402 | + memblock_reserve(0xa0200000, 0x1000); | |
403 | 403 | } |
404 | 404 | |
405 | 405 | static void __init palmt5_init(void) |
arch/arm/mach-pxa/palmtreo.c
... | ... | @@ -20,7 +20,7 @@ |
20 | 20 | #include <linux/irq.h> |
21 | 21 | #include <linux/gpio_keys.h> |
22 | 22 | #include <linux/input.h> |
23 | -#include <linux/bootmem.h> | |
23 | +#include <linux/memblock.h> | |
24 | 24 | #include <linux/pda_power.h> |
25 | 25 | #include <linux/pwm_backlight.h> |
26 | 26 | #include <linux/gpio.h> |
... | ... | @@ -636,8 +636,8 @@ |
636 | 636 | |
637 | 637 | static void __init treo_reserve(void) |
638 | 638 | { |
639 | - reserve_bootmem(0xa0000000, 0x1000, BOOTMEM_EXCLUSIVE); | |
640 | - reserve_bootmem(0xa2000000, 0x1000, BOOTMEM_EXCLUSIVE); | |
639 | + memblock_reserve(0xa0000000, 0x1000); | |
640 | + memblock_reserve(0xa2000000, 0x1000); | |
641 | 641 | } |
642 | 642 | |
643 | 643 | static void __init treo_init(void) |
arch/arm/mach-s3c2410/mach-h1940.c
... | ... | @@ -15,7 +15,7 @@ |
15 | 15 | #include <linux/types.h> |
16 | 16 | #include <linux/interrupt.h> |
17 | 17 | #include <linux/list.h> |
18 | -#include <linux/bootmem.h> | |
18 | +#include <linux/memblock.h> | |
19 | 19 | #include <linux/timer.h> |
20 | 20 | #include <linux/init.h> |
21 | 21 | #include <linux/sysdev.h> |
... | ... | @@ -308,8 +308,8 @@ |
308 | 308 | /* H1940 and RX3715 need to reserve this for suspend */ |
309 | 309 | static void __init h1940_reserve(void) |
310 | 310 | { |
311 | - reserve_bootmem(0x30003000, 0x1000, BOOTMEM_DEFAULT); | |
312 | - reserve_bootmem(0x30081000, 0x1000, BOOTMEM_DEFAULT); | |
311 | + memblock_reserve(0x30003000, 0x1000); | |
312 | + memblock_reserve(0x30081000, 0x1000); | |
313 | 313 | } |
314 | 314 | |
315 | 315 | static void __init h1940_init_irq(void) |
arch/arm/mach-s3c2440/mach-rx1950.c
... | ... | @@ -15,7 +15,7 @@ |
15 | 15 | #include <linux/types.h> |
16 | 16 | #include <linux/interrupt.h> |
17 | 17 | #include <linux/list.h> |
18 | -#include <linux/bootmem.h> | |
18 | +#include <linux/memblock.h> | |
19 | 19 | #include <linux/delay.h> |
20 | 20 | #include <linux/timer.h> |
21 | 21 | #include <linux/init.h> |
... | ... | @@ -574,8 +574,8 @@ |
574 | 574 | /* H1940 and RX3715 need to reserve this for suspend */ |
575 | 575 | static void __init rx1950_reserve(void) |
576 | 576 | { |
577 | - reserve_bootmem(0x30003000, 0x1000, BOOTMEM_DEFAULT); | |
578 | - reserve_bootmem(0x30081000, 0x1000, BOOTMEM_DEFAULT); | |
577 | + memblock_reserve(0x30003000, 0x1000); | |
578 | + memblock_reserve(0x30081000, 0x1000); | |
579 | 579 | } |
580 | 580 | |
581 | 581 | MACHINE_START(RX1950, "HP iPAQ RX1950") |
arch/arm/mach-s3c2440/mach-rx3715.c
... | ... | @@ -15,7 +15,7 @@ |
15 | 15 | #include <linux/types.h> |
16 | 16 | #include <linux/interrupt.h> |
17 | 17 | #include <linux/list.h> |
18 | -#include <linux/bootmem.h> | |
18 | +#include <linux/memblock.h> | |
19 | 19 | #include <linux/timer.h> |
20 | 20 | #include <linux/init.h> |
21 | 21 | #include <linux/tty.h> |
... | ... | @@ -195,8 +195,8 @@ |
195 | 195 | /* H1940 and RX3715 need to reserve this for suspend */ |
196 | 196 | static void __init rx3715_reserve(void) |
197 | 197 | { |
198 | - reserve_bootmem(0x30003000, 0x1000, BOOTMEM_DEFAULT); | |
199 | - reserve_bootmem(0x30081000, 0x1000, BOOTMEM_DEFAULT); | |
198 | + memblock_reserve(0x30003000, 0x1000); | |
199 | + memblock_reserve(0x30081000, 0x1000); | |
200 | 200 | } |
201 | 201 | |
202 | 202 | static void __init rx3715_init_irq(void) |
arch/arm/mach-u300/u300.c
... | ... | @@ -14,7 +14,7 @@ |
14 | 14 | #include <linux/sched.h> |
15 | 15 | #include <linux/interrupt.h> |
16 | 16 | #include <linux/ioport.h> |
17 | -#include <linux/bootmem.h> | |
17 | +#include <linux/memblock.h> | |
18 | 18 | #include <linux/platform_device.h> |
19 | 19 | #include <linux/io.h> |
20 | 20 | #include <mach/hardware.h> |
... | ... | @@ -33,7 +33,7 @@ |
33 | 33 | #ifdef CONFIG_MACH_U300_SINGLE_RAM |
34 | 34 | #if ((CONFIG_MACH_U300_ACCESS_MEM_SIZE & 1) == 1) && \ |
35 | 35 | CONFIG_MACH_U300_2MB_ALIGNMENT_FIX |
36 | - reserve_bootmem(PHYS_OFFSET, 0x00100000, BOOTMEM_DEFAULT); | |
36 | + memblock_reserve(PHYS_OFFSET, 0x00100000); | |
37 | 37 | #endif |
38 | 38 | #endif |
39 | 39 | } |
arch/arm/mm/init.c
... | ... | @@ -271,7 +271,7 @@ |
271 | 271 | } |
272 | 272 | #endif |
273 | 273 | |
274 | -void __init arm_memblock_init(struct meminfo *mi) | |
274 | +void __init arm_memblock_init(struct meminfo *mi, struct machine_desc *mdesc) | |
275 | 275 | { |
276 | 276 | int i; |
277 | 277 | |
278 | 278 | |
... | ... | @@ -297,11 +297,15 @@ |
297 | 297 | |
298 | 298 | arm_mm_memblock_reserve(); |
299 | 299 | |
300 | + /* reserve any platform specific memblock areas */ | |
301 | + if (mdesc->reserve) | |
302 | + mdesc->reserve(); | |
303 | + | |
300 | 304 | memblock_analyze(); |
301 | 305 | memblock_dump_all(); |
302 | 306 | } |
303 | 307 | |
304 | -void __init bootmem_init(struct machine_desc *mdesc) | |
308 | +void __init bootmem_init(void) | |
305 | 309 | { |
306 | 310 | struct meminfo *mi = &meminfo; |
307 | 311 | unsigned long min, max_low, max_high; |
... | ... | @@ -311,9 +315,6 @@ |
311 | 315 | find_limits(mi, &min, &max_low, &max_high); |
312 | 316 | |
313 | 317 | arm_bootmem_init(mi, min, max_low); |
314 | - | |
315 | - if (mdesc->reserve) | |
316 | - mdesc->reserve(); | |
317 | 318 | |
318 | 319 | /* |
319 | 320 | * Sparsemem tries to allocate bootmem in memory_present(), |
arch/arm/mm/mm.h
arch/arm/mm/mmu.c