.. | .. |
---|
30 | 30 | #include <linux/init.h> |
---|
31 | 31 | #include <linux/highmem.h> |
---|
32 | 32 | #include <linux/pagemap.h> |
---|
33 | | -#include <linux/bootmem.h> |
---|
| 33 | +#include <linux/memblock.h> |
---|
34 | 34 | #include <linux/gfp.h> |
---|
35 | 35 | |
---|
36 | 36 | #include <asm/setup.h> |
---|
37 | 37 | #include <asm/segment.h> |
---|
38 | 38 | #include <asm/page.h> |
---|
39 | | -#include <asm/pgtable.h> |
---|
40 | 39 | #include <asm/sections.h> |
---|
41 | 40 | |
---|
42 | 41 | /* |
---|
.. | .. |
---|
67 | 66 | * Initialize the bad page table and bad page to point |
---|
68 | 67 | * to a couple of allocated pages. |
---|
69 | 68 | */ |
---|
70 | | - empty_zero_page = (unsigned long)alloc_bootmem_pages(PAGE_SIZE); |
---|
71 | | - memset((void *)empty_zero_page, 0, PAGE_SIZE); |
---|
| 69 | + empty_zero_page = (unsigned long)memblock_alloc(PAGE_SIZE, PAGE_SIZE); |
---|
| 70 | + if (!empty_zero_page) |
---|
| 71 | + panic("%s: Failed to allocate %lu bytes align=0x%lx\n", |
---|
| 72 | + __func__, PAGE_SIZE, PAGE_SIZE); |
---|
72 | 73 | |
---|
73 | 74 | /* |
---|
74 | 75 | * Set up SFC/DFC registers (user data space). |
---|
.. | .. |
---|
81 | 82 | start_mem, end_mem); |
---|
82 | 83 | |
---|
83 | 84 | { |
---|
84 | | - unsigned long zones_size[MAX_NR_ZONES] = {0, }; |
---|
| 85 | + unsigned long max_zone_pfn[MAX_NR_ZONES] = {0, }; |
---|
85 | 86 | |
---|
86 | | - zones_size[ZONE_NORMAL] = (end_mem - PAGE_OFFSET) >> PAGE_SHIFT; |
---|
87 | | - free_area_init(zones_size); |
---|
| 87 | + max_zone_pfn[ZONE_NORMAL] = end_mem >> PAGE_SHIFT; |
---|
| 88 | + free_area_init(max_zone_pfn); |
---|
88 | 89 | } |
---|
89 | 90 | } |
---|
90 | 91 | |
---|
.. | .. |
---|
96 | 97 | max_mapnr = MAP_NR(high_memory); |
---|
97 | 98 | |
---|
98 | 99 | /* this will put all low memory onto the freelists */ |
---|
99 | | - free_all_bootmem(); |
---|
| 100 | + memblock_free_all(); |
---|
100 | 101 | |
---|
101 | 102 | mem_init_print_info(NULL); |
---|
102 | | -} |
---|
103 | | - |
---|
104 | | - |
---|
105 | | -#ifdef CONFIG_BLK_DEV_INITRD |
---|
106 | | -void free_initrd_mem(unsigned long start, unsigned long end) |
---|
107 | | -{ |
---|
108 | | - free_reserved_area((void *)start, (void *)end, -1, "initrd"); |
---|
109 | | -} |
---|
110 | | -#endif |
---|
111 | | - |
---|
112 | | -void |
---|
113 | | -free_initmem(void) |
---|
114 | | -{ |
---|
115 | | - free_initmem_default(-1); |
---|
116 | 103 | } |
---|