diff options
Diffstat (limited to 'arch/sparc/mm')
| -rw-r--r-- | arch/sparc/mm/init_32.c | 34 | ||||
| -rw-r--r-- | arch/sparc/mm/init_64.c | 24 |
2 files changed, 7 insertions, 51 deletions
diff --git a/arch/sparc/mm/init_32.c b/arch/sparc/mm/init_32.c index a438abb5495e..db6987082805 100644 --- a/arch/sparc/mm/init_32.c +++ b/arch/sparc/mm/init_32.c | |||
| @@ -288,10 +288,6 @@ static void map_high_region(unsigned long start_pfn, unsigned long end_pfn) | |||
| 288 | 288 | ||
| 289 | void __init mem_init(void) | 289 | void __init mem_init(void) |
| 290 | { | 290 | { |
| 291 | int codepages = 0; | ||
| 292 | int datapages = 0; | ||
| 293 | int initpages = 0; | ||
| 294 | int reservedpages = 0; | ||
| 295 | int i; | 291 | int i; |
| 296 | 292 | ||
| 297 | if (PKMAP_BASE+LAST_PKMAP*PAGE_SIZE >= FIXADDR_START) { | 293 | if (PKMAP_BASE+LAST_PKMAP*PAGE_SIZE >= FIXADDR_START) { |
| @@ -329,8 +325,6 @@ void __init mem_init(void) | |||
| 329 | unsigned long start_pfn = sp_banks[i].base_addr >> PAGE_SHIFT; | 325 | unsigned long start_pfn = sp_banks[i].base_addr >> PAGE_SHIFT; |
| 330 | unsigned long end_pfn = (sp_banks[i].base_addr + sp_banks[i].num_bytes) >> PAGE_SHIFT; | 326 | unsigned long end_pfn = (sp_banks[i].base_addr + sp_banks[i].num_bytes) >> PAGE_SHIFT; |
| 331 | 327 | ||
| 332 | num_physpages += sp_banks[i].num_bytes >> PAGE_SHIFT; | ||
| 333 | |||
| 334 | if (end_pfn <= highstart_pfn) | 328 | if (end_pfn <= highstart_pfn) |
| 335 | continue; | 329 | continue; |
| 336 | 330 | ||
| @@ -340,39 +334,19 @@ void __init mem_init(void) | |||
| 340 | map_high_region(start_pfn, end_pfn); | 334 | map_high_region(start_pfn, end_pfn); |
| 341 | } | 335 | } |
| 342 | 336 | ||
| 343 | codepages = (((unsigned long) &_etext) - ((unsigned long)&_start)); | 337 | mem_init_print_info(NULL); |
| 344 | codepages = PAGE_ALIGN(codepages) >> PAGE_SHIFT; | ||
| 345 | datapages = (((unsigned long) &_edata) - ((unsigned long)&_etext)); | ||
| 346 | datapages = PAGE_ALIGN(datapages) >> PAGE_SHIFT; | ||
| 347 | initpages = (((unsigned long) &__init_end) - ((unsigned long) &__init_begin)); | ||
| 348 | initpages = PAGE_ALIGN(initpages) >> PAGE_SHIFT; | ||
| 349 | |||
| 350 | /* Ignore memory holes for the purpose of counting reserved pages */ | ||
| 351 | for (i=0; i < max_low_pfn; i++) | ||
| 352 | if (test_bit(i >> (20 - PAGE_SHIFT), sparc_valid_addr_bitmap) | ||
| 353 | && PageReserved(pfn_to_page(i))) | ||
| 354 | reservedpages++; | ||
| 355 | |||
| 356 | printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, %dk reserved, %dk data, %dk init, %ldk highmem)\n", | ||
| 357 | nr_free_pages() << (PAGE_SHIFT-10), | ||
| 358 | num_physpages << (PAGE_SHIFT - 10), | ||
| 359 | codepages << (PAGE_SHIFT-10), | ||
| 360 | reservedpages << (PAGE_SHIFT - 10), | ||
| 361 | datapages << (PAGE_SHIFT-10), | ||
| 362 | initpages << (PAGE_SHIFT-10), | ||
| 363 | totalhigh_pages << (PAGE_SHIFT-10)); | ||
| 364 | } | 338 | } |
| 365 | 339 | ||
| 366 | void free_initmem (void) | 340 | void free_initmem (void) |
| 367 | { | 341 | { |
| 368 | num_physpages += free_initmem_default(POISON_FREE_INITMEM); | 342 | free_initmem_default(POISON_FREE_INITMEM); |
| 369 | } | 343 | } |
| 370 | 344 | ||
| 371 | #ifdef CONFIG_BLK_DEV_INITRD | 345 | #ifdef CONFIG_BLK_DEV_INITRD |
| 372 | void free_initrd_mem(unsigned long start, unsigned long end) | 346 | void free_initrd_mem(unsigned long start, unsigned long end) |
| 373 | { | 347 | { |
| 374 | num_physpages += free_reserved_area((void *)start, (void *)end, | 348 | free_reserved_area((void *)start, (void *)end, POISON_FREE_INITMEM, |
| 375 | POISON_FREE_INITMEM, "initrd"); | 349 | "initrd"); |
| 376 | } | 350 | } |
| 377 | #endif | 351 | #endif |
| 378 | 352 | ||
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c index 752d73837f9e..a9c42a7ffb6a 100644 --- a/arch/sparc/mm/init_64.c +++ b/arch/sparc/mm/init_64.c | |||
| @@ -2045,7 +2045,6 @@ static void __init register_page_bootmem_info(void) | |||
| 2045 | } | 2045 | } |
| 2046 | void __init mem_init(void) | 2046 | void __init mem_init(void) |
| 2047 | { | 2047 | { |
| 2048 | unsigned long codepages, datapages, initpages; | ||
| 2049 | unsigned long addr, last; | 2048 | unsigned long addr, last; |
| 2050 | 2049 | ||
| 2051 | addr = PAGE_OFFSET + kern_base; | 2050 | addr = PAGE_OFFSET + kern_base; |
| @@ -2063,11 +2062,6 @@ void __init mem_init(void) | |||
| 2063 | register_page_bootmem_info(); | 2062 | register_page_bootmem_info(); |
| 2064 | free_all_bootmem(); | 2063 | free_all_bootmem(); |
| 2065 | 2064 | ||
| 2066 | /* We subtract one to account for the mem_map_zero page | ||
| 2067 | * allocated below. | ||
| 2068 | */ | ||
| 2069 | num_physpages = totalram_pages - 1; | ||
| 2070 | |||
| 2071 | /* | 2065 | /* |
| 2072 | * Set up the zero page, mark it reserved, so that page count | 2066 | * Set up the zero page, mark it reserved, so that page count |
| 2073 | * is not manipulated when freeing the page from user ptes. | 2067 | * is not manipulated when freeing the page from user ptes. |
| @@ -2079,19 +2073,7 @@ void __init mem_init(void) | |||
| 2079 | } | 2073 | } |
| 2080 | mark_page_reserved(mem_map_zero); | 2074 | mark_page_reserved(mem_map_zero); |
| 2081 | 2075 | ||
| 2082 | codepages = (((unsigned long) _etext) - ((unsigned long) _start)); | 2076 | mem_init_print_info(NULL); |
| 2083 | codepages = PAGE_ALIGN(codepages) >> PAGE_SHIFT; | ||
| 2084 | datapages = (((unsigned long) _edata) - ((unsigned long) _etext)); | ||
| 2085 | datapages = PAGE_ALIGN(datapages) >> PAGE_SHIFT; | ||
| 2086 | initpages = (((unsigned long) __init_end) - ((unsigned long) __init_begin)); | ||
| 2087 | initpages = PAGE_ALIGN(initpages) >> PAGE_SHIFT; | ||
| 2088 | |||
| 2089 | printk("Memory: %luk available (%ldk kernel code, %ldk data, %ldk init) [%016lx,%016lx]\n", | ||
| 2090 | nr_free_pages() << (PAGE_SHIFT-10), | ||
| 2091 | codepages << (PAGE_SHIFT-10), | ||
| 2092 | datapages << (PAGE_SHIFT-10), | ||
| 2093 | initpages << (PAGE_SHIFT-10), | ||
| 2094 | PAGE_OFFSET, (last_valid_pfn << PAGE_SHIFT)); | ||
| 2095 | 2077 | ||
| 2096 | if (tlb_type == cheetah || tlb_type == cheetah_plus) | 2078 | if (tlb_type == cheetah || tlb_type == cheetah_plus) |
| 2097 | cheetah_ecache_flush_init(); | 2079 | cheetah_ecache_flush_init(); |
| @@ -2131,8 +2113,8 @@ void free_initmem(void) | |||
| 2131 | #ifdef CONFIG_BLK_DEV_INITRD | 2113 | #ifdef CONFIG_BLK_DEV_INITRD |
| 2132 | void free_initrd_mem(unsigned long start, unsigned long end) | 2114 | void free_initrd_mem(unsigned long start, unsigned long end) |
| 2133 | { | 2115 | { |
| 2134 | num_physpages += free_reserved_area((void *)start, (void *)end, | 2116 | free_reserved_area((void *)start, (void *)end, POISON_FREE_INITMEM, |
| 2135 | POISON_FREE_INITMEM, "initrd"); | 2117 | "initrd"); |
| 2136 | } | 2118 | } |
| 2137 | #endif | 2119 | #endif |
| 2138 | 2120 | ||
