aboutsummaryrefslogtreecommitdiffstats
path: root/arch/openrisc
diff options
context:
space:
mode:
Diffstat (limited to 'arch/openrisc')
-rw-r--r--arch/openrisc/mm/init.c48
1 files changed, 6 insertions, 42 deletions
diff --git a/arch/openrisc/mm/init.c b/arch/openrisc/mm/init.c
index b3cbc6703837..7f94652311d7 100644
--- a/arch/openrisc/mm/init.c
+++ b/arch/openrisc/mm/init.c
@@ -202,56 +202,20 @@ void __init paging_init(void)
202 202
203/* References to section boundaries */ 203/* References to section boundaries */
204 204
205static int __init free_pages_init(void)
206{
207 int reservedpages, pfn;
208
209 /* this will put all low memory onto the freelists */
210 totalram_pages = free_all_bootmem();
211
212 reservedpages = 0;
213 for (pfn = 0; pfn < max_low_pfn; pfn++) {
214 /*
215 * Only count reserved RAM pages
216 */
217 if (PageReserved(mem_map + pfn))
218 reservedpages++;
219 }
220
221 return reservedpages;
222}
223
224static void __init set_max_mapnr_init(void)
225{
226 max_mapnr = num_physpages = max_low_pfn;
227}
228
229void __init mem_init(void) 205void __init mem_init(void)
230{ 206{
231 int codesize, reservedpages, datasize, initsize;
232
233 BUG_ON(!mem_map); 207 BUG_ON(!mem_map);
234 208
235 set_max_mapnr_init(); 209 max_mapnr = max_low_pfn;
236
237 high_memory = (void *)__va(max_low_pfn * PAGE_SIZE); 210 high_memory = (void *)__va(max_low_pfn * PAGE_SIZE);
238 211
239 /* clear the zero-page */ 212 /* clear the zero-page */
240 memset((void *)empty_zero_page, 0, PAGE_SIZE); 213 memset((void *)empty_zero_page, 0, PAGE_SIZE);
241 214
242 reservedpages = free_pages_init(); 215 /* this will put all low memory onto the freelists */
243 216 free_all_bootmem();
244 codesize = (unsigned long)&_etext - (unsigned long)&_stext;
245 datasize = (unsigned long)&_edata - (unsigned long)&_etext;
246 initsize = (unsigned long)&__init_end - (unsigned long)&__init_begin;
247 217
248 printk(KERN_INFO 218 mem_init_print_info(NULL);
249 "Memory: %luk/%luk available (%dk kernel code, %dk reserved, %dk data, %dk init, %ldk highmem)\n",
250 (unsigned long)nr_free_pages() << (PAGE_SHIFT - 10),
251 max_mapnr << (PAGE_SHIFT - 10), codesize >> 10,
252 reservedpages << (PAGE_SHIFT - 10), datasize >> 10,
253 initsize >> 10, (unsigned long)(0 << (PAGE_SHIFT - 10))
254 );
255 219
256 printk("mem_init_done ...........................................\n"); 220 printk("mem_init_done ...........................................\n");
257 mem_init_done = 1; 221 mem_init_done = 1;
@@ -261,11 +225,11 @@ void __init mem_init(void)
261#ifdef CONFIG_BLK_DEV_INITRD 225#ifdef CONFIG_BLK_DEV_INITRD
262void free_initrd_mem(unsigned long start, unsigned long end) 226void free_initrd_mem(unsigned long start, unsigned long end)
263{ 227{
264 free_reserved_area(start, end, 0, "initrd"); 228 free_reserved_area((void *)start, (void *)end, -1, "initrd");
265} 229}
266#endif 230#endif
267 231
268void free_initmem(void) 232void free_initmem(void)
269{ 233{
270 free_initmem_default(0); 234 free_initmem_default(-1);
271} 235}