aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/arc/mm/init.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/arc/mm/init.c b/arch/arc/mm/init.c
index 523412369f70..d44eedd8c322 100644
--- a/arch/arc/mm/init.c
+++ b/arch/arc/mm/init.c
@@ -71,7 +71,7 @@ early_param("initrd", early_initrd);
71 */ 71 */
72void __init setup_arch_memory(void) 72void __init setup_arch_memory(void)
73{ 73{
74 unsigned long zones_size[MAX_NR_ZONES] = { 0, 0 }; 74 unsigned long zones_size[MAX_NR_ZONES];
75 unsigned long end_mem = CONFIG_LINUX_LINK_BASE + arc_mem_sz; 75 unsigned long end_mem = CONFIG_LINUX_LINK_BASE + arc_mem_sz;
76 76
77 init_mm.start_code = (unsigned long)_text; 77 init_mm.start_code = (unsigned long)_text;
@@ -90,7 +90,7 @@ void __init setup_arch_memory(void)
90 /*------------- externs in mm need setting up ---------------*/ 90 /*------------- externs in mm need setting up ---------------*/
91 91
92 /* first page of system - kernel .vector starts here */ 92 /* first page of system - kernel .vector starts here */
93 min_low_pfn = PFN_DOWN(CONFIG_LINUX_LINK_BASE); 93 min_low_pfn = ARCH_PFN_OFFSET;
94 94
95 /* Last usable page of low mem (no HIGHMEM yet for ARC port) */ 95 /* Last usable page of low mem (no HIGHMEM yet for ARC port) */
96 max_low_pfn = max_pfn = PFN_DOWN(end_mem); 96 max_low_pfn = max_pfn = PFN_DOWN(end_mem);
@@ -111,7 +111,7 @@ void __init setup_arch_memory(void)
111 111
112 /*-------------- node setup --------------------------------*/ 112 /*-------------- node setup --------------------------------*/
113 memset(zones_size, 0, sizeof(zones_size)); 113 memset(zones_size, 0, sizeof(zones_size));
114 zones_size[ZONE_NORMAL] = max_low_pfn - min_low_pfn; 114 zones_size[ZONE_NORMAL] = max_mapnr;
115 115
116 /* 116 /*
117 * We can't use the helper free_area_init(zones[]) because it uses 117 * We can't use the helper free_area_init(zones[]) because it uses
@@ -123,6 +123,8 @@ void __init setup_arch_memory(void)
123 zones_size, /* num pages per zone */ 123 zones_size, /* num pages per zone */
124 min_low_pfn, /* first pfn of node */ 124 min_low_pfn, /* first pfn of node */
125 NULL); /* NO holes */ 125 NULL); /* NO holes */
126
127 high_memory = (void *)end_mem;
126} 128}
127 129
128/* 130/*
@@ -133,7 +135,6 @@ void __init setup_arch_memory(void)
133 */ 135 */
134void __init mem_init(void) 136void __init mem_init(void)
135{ 137{
136 high_memory = (void *)(CONFIG_LINUX_LINK_BASE + arc_mem_sz);
137 free_all_bootmem(); 138 free_all_bootmem();
138 mem_init_print_info(NULL); 139 mem_init_print_info(NULL);
139} 140}