diff options
| -rw-r--r-- | arch/arc/mm/init.c | 9 |
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 | */ |
| 72 | void __init setup_arch_memory(void) | 72 | void __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 | */ |
| 134 | void __init mem_init(void) | 136 | void __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 | } |
