diff options
Diffstat (limited to 'arch/arm/mm/init.c')
-rw-r--r-- | arch/arm/mm/init.c | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/arch/arm/mm/init.c b/arch/arm/mm/init.c index 91bca355cd31..fbdd12ea3a58 100644 --- a/arch/arm/mm/init.c +++ b/arch/arm/mm/init.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/init.h> | 13 | #include <linux/init.h> |
14 | #include <linux/bootmem.h> | 14 | #include <linux/bootmem.h> |
15 | #include <linux/mman.h> | 15 | #include <linux/mman.h> |
16 | #include <linux/export.h> | ||
16 | #include <linux/nodemask.h> | 17 | #include <linux/nodemask.h> |
17 | #include <linux/initrd.h> | 18 | #include <linux/initrd.h> |
18 | #include <linux/of_fdt.h> | 19 | #include <linux/of_fdt.h> |
@@ -298,7 +299,7 @@ static void __init arm_bootmem_free(unsigned long min, unsigned long max_low, | |||
298 | #ifdef CONFIG_HAVE_ARCH_PFN_VALID | 299 | #ifdef CONFIG_HAVE_ARCH_PFN_VALID |
299 | int pfn_valid(unsigned long pfn) | 300 | int pfn_valid(unsigned long pfn) |
300 | { | 301 | { |
301 | return memblock_is_memory(pfn << PAGE_SHIFT); | 302 | return memblock_is_memory(__pfn_to_phys(pfn)); |
302 | } | 303 | } |
303 | EXPORT_SYMBOL(pfn_valid); | 304 | EXPORT_SYMBOL(pfn_valid); |
304 | #endif | 305 | #endif |
@@ -496,6 +497,13 @@ static void __init free_unused_memmap(struct meminfo *mi) | |||
496 | */ | 497 | */ |
497 | bank_start = min(bank_start, | 498 | bank_start = min(bank_start, |
498 | ALIGN(prev_bank_end, PAGES_PER_SECTION)); | 499 | ALIGN(prev_bank_end, PAGES_PER_SECTION)); |
500 | #else | ||
501 | /* | ||
502 | * Align down here since the VM subsystem insists that the | ||
503 | * memmap entries are valid from the bank start aligned to | ||
504 | * MAX_ORDER_NR_PAGES. | ||
505 | */ | ||
506 | bank_start = round_down(bank_start, MAX_ORDER_NR_PAGES); | ||
499 | #endif | 507 | #endif |
500 | /* | 508 | /* |
501 | * If we had a previous bank, and there is a space | 509 | * If we had a previous bank, and there is a space |
@@ -653,9 +661,6 @@ void __init mem_init(void) | |||
653 | " ITCM : 0x%08lx - 0x%08lx (%4ld kB)\n" | 661 | " ITCM : 0x%08lx - 0x%08lx (%4ld kB)\n" |
654 | #endif | 662 | #endif |
655 | " fixmap : 0x%08lx - 0x%08lx (%4ld kB)\n" | 663 | " fixmap : 0x%08lx - 0x%08lx (%4ld kB)\n" |
656 | #ifdef CONFIG_MMU | ||
657 | " DMA : 0x%08lx - 0x%08lx (%4ld MB)\n" | ||
658 | #endif | ||
659 | " vmalloc : 0x%08lx - 0x%08lx (%4ld MB)\n" | 664 | " vmalloc : 0x%08lx - 0x%08lx (%4ld MB)\n" |
660 | " lowmem : 0x%08lx - 0x%08lx (%4ld MB)\n" | 665 | " lowmem : 0x%08lx - 0x%08lx (%4ld MB)\n" |
661 | #ifdef CONFIG_HIGHMEM | 666 | #ifdef CONFIG_HIGHMEM |
@@ -674,9 +679,6 @@ void __init mem_init(void) | |||
674 | MLK(ITCM_OFFSET, (unsigned long) itcm_end), | 679 | MLK(ITCM_OFFSET, (unsigned long) itcm_end), |
675 | #endif | 680 | #endif |
676 | MLK(FIXADDR_START, FIXADDR_TOP), | 681 | MLK(FIXADDR_START, FIXADDR_TOP), |
677 | #ifdef CONFIG_MMU | ||
678 | MLM(CONSISTENT_BASE, CONSISTENT_END), | ||
679 | #endif | ||
680 | MLM(VMALLOC_START, VMALLOC_END), | 682 | MLM(VMALLOC_START, VMALLOC_END), |
681 | MLM(PAGE_OFFSET, (unsigned long)high_memory), | 683 | MLM(PAGE_OFFSET, (unsigned long)high_memory), |
682 | #ifdef CONFIG_HIGHMEM | 684 | #ifdef CONFIG_HIGHMEM |
@@ -699,9 +701,6 @@ void __init mem_init(void) | |||
699 | * be detected at build time already. | 701 | * be detected at build time already. |
700 | */ | 702 | */ |
701 | #ifdef CONFIG_MMU | 703 | #ifdef CONFIG_MMU |
702 | BUILD_BUG_ON(VMALLOC_END > CONSISTENT_BASE); | ||
703 | BUG_ON(VMALLOC_END > CONSISTENT_BASE); | ||
704 | |||
705 | BUILD_BUG_ON(TASK_SIZE > MODULES_VADDR); | 704 | BUILD_BUG_ON(TASK_SIZE > MODULES_VADDR); |
706 | BUG_ON(TASK_SIZE > MODULES_VADDR); | 705 | BUG_ON(TASK_SIZE > MODULES_VADDR); |
707 | #endif | 706 | #endif |