Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris...
[cascardo/linux.git] / mm / nobootmem.c
index bd05a70..487dad6 100644 (file)
 #include <linux/init.h>
 #include <linux/pfn.h>
 #include <linux/slab.h>
-#include <linux/bootmem.h>
 #include <linux/export.h>
 #include <linux/kmemleak.h>
 #include <linux/range.h>
 #include <linux/memblock.h>
+#include <linux/bootmem.h>
 
 #include <asm/bug.h>
 #include <asm/io.h>
-#include <asm/processor.h>
 
 #include "internal.h"
 
+#ifndef CONFIG_HAVE_MEMBLOCK
+#error CONFIG_HAVE_MEMBLOCK not defined
+#endif
+
 #ifndef CONFIG_NEED_MULTIPLE_NODES
 struct pglist_data __refdata contig_page_data;
 EXPORT_SYMBOL(contig_page_data);
@@ -81,7 +84,7 @@ void __init free_bootmem_late(unsigned long addr, unsigned long size)
 {
        unsigned long cursor, end;
 
-       kmemleak_free_part(__va(addr), size);
+       kmemleak_free_part_phys(addr, size);
 
        cursor = PFN_UP(addr);
        end = PFN_DOWN(addr + size);
@@ -134,6 +137,11 @@ static unsigned long __init free_low_memory_core_early(void)
        for_each_reserved_mem_region(i, &start, &end)
                reserve_bootmem_region(start, end);
 
+       /*
+        * We need to use NUMA_NO_NODE instead of NODE_DATA(0)->node_id
+        *  because in some case like Node0 doesn't have RAM installed
+        *  low ram will be on Node1
+        */
        for_each_free_mem_range(i, NUMA_NO_NODE, MEMBLOCK_NONE, &start, &end,
                                NULL)
                count += __free_memory_core(start, end);
@@ -191,11 +199,6 @@ unsigned long __init free_all_bootmem(void)
 
        reset_all_zones_managed_pages();
 
-       /*
-        * We need to use NUMA_NO_NODE instead of NODE_DATA(0)->node_id
-        *  because in some case like Node0 doesn't have RAM installed
-        *  low ram will be on Node1
-        */
        pages = free_low_memory_core_early();
        totalram_pages += pages;
 
@@ -395,9 +398,6 @@ void * __init __alloc_bootmem_node_high(pg_data_t *pgdat, unsigned long size,
        return __alloc_bootmem_node(pgdat, size, align, goal);
 }
 
-#ifndef ARCH_LOW_ADDRESS_LIMIT
-#define ARCH_LOW_ADDRESS_LIMIT 0xffffffffUL
-#endif
 
 /**
  * __alloc_bootmem_low - allocate low boot memory