hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/h8300/mm/init.c
....@@ -30,13 +30,12 @@
3030 #include <linux/init.h>
3131 #include <linux/highmem.h>
3232 #include <linux/pagemap.h>
33
-#include <linux/bootmem.h>
33
+#include <linux/memblock.h>
3434 #include <linux/gfp.h>
3535
3636 #include <asm/setup.h>
3737 #include <asm/segment.h>
3838 #include <asm/page.h>
39
-#include <asm/pgtable.h>
4039 #include <asm/sections.h>
4140
4241 /*
....@@ -67,8 +66,10 @@
6766 * Initialize the bad page table and bad page to point
6867 * to a couple of allocated pages.
6968 */
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);
7273
7374 /*
7475 * Set up SFC/DFC registers (user data space).
....@@ -81,10 +82,10 @@
8182 start_mem, end_mem);
8283
8384 {
84
- unsigned long zones_size[MAX_NR_ZONES] = {0, };
85
+ unsigned long max_zone_pfn[MAX_NR_ZONES] = {0, };
8586
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);
8889 }
8990 }
9091
....@@ -96,21 +97,7 @@
9697 max_mapnr = MAP_NR(high_memory);
9798
9899 /* this will put all low memory onto the freelists */
99
- free_all_bootmem();
100
+ memblock_free_all();
100101
101102 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);
116103 }