Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mm/microblaze: prepare for removing num_physpages and simplify mem_init()

Prepare for removing num_physpages and simplify mem_init().

Signed-off-by: Jiang Liu <jiang.liu@huawei.com>
Cc: Michal Simek <monstr@monstr.eu>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Jiang Liu and committed by
Linus Torvalds
6879ea83 132de671

+7 -46
+1 -1
arch/arm64/mm/init.c
··· 282 282 /* this will put all unused low memory onto the freelists */ 283 283 free_all_bootmem(); 284 284 285 - mem_init_print_info(); 285 + mem_init_print_info(NULL); 286 286 287 287 #define MLK(b, t) b, t, ((t) - (b)) >> 10 288 288 #define MLM(b, t) b, t, ((t) - (b)) >> 20
+6 -45
arch/microblaze/mm/init.c
··· 71 71 kmap_prot = PAGE_KERNEL; 72 72 } 73 73 74 - static unsigned long highmem_setup(void) 74 + static void highmem_setup(void) 75 75 { 76 76 unsigned long pfn; 77 - unsigned long reservedpages = 0; 78 77 79 78 for (pfn = max_low_pfn; pfn < max_pfn; ++pfn) { 80 79 struct page *page = pfn_to_page(pfn); 81 80 82 81 /* FIXME not sure about */ 83 - if (memblock_is_reserved(pfn << PAGE_SHIFT)) 84 - continue; 85 - free_highmem_page(page); 86 - reservedpages++; 82 + if (!memblock_is_reserved(pfn << PAGE_SHIFT)) 83 + free_highmem_page(page); 87 84 } 88 - pr_info("High memory: %luk\n", 89 - totalhigh_pages << (PAGE_SHIFT-10)); 90 - 91 - return reservedpages; 92 85 } 93 86 #endif /* CONFIG_HIGHMEM */ 94 87 ··· 160 167 * min_low_pfn - the first page (mm/bootmem.c - node_boot_start) 161 168 * max_low_pfn 162 169 * max_mapnr - the first unused page (mm/bootmem.c - node_low_pfn) 163 - * num_physpages - number of all pages 164 170 */ 165 171 166 172 /* memory start is from the kernel end (aligned) to higher addr */ 167 173 min_low_pfn = memory_start >> PAGE_SHIFT; /* minimum for allocation */ 168 174 /* RAM is assumed contiguous */ 169 - num_physpages = max_mapnr = memory_size >> PAGE_SHIFT; 175 + max_mapnr = memory_size >> PAGE_SHIFT; 170 176 max_low_pfn = ((u64)memory_start + (u64)lowmem_size) >> PAGE_SHIFT; 171 177 max_pfn = ((u64)memory_start + (u64)memory_size) >> PAGE_SHIFT; 172 178 ··· 238 246 239 247 void __init mem_init(void) 240 248 { 241 - pg_data_t *pgdat; 242 - unsigned long reservedpages = 0, codesize, initsize, datasize, bsssize; 243 - 244 249 high_memory = (void *)__va(memory_start + lowmem_size - 1); 245 250 246 251 /* this will put all memory onto the freelists */ 247 252 free_all_bootmem(); 248 - 249 - for_each_online_pgdat(pgdat) { 250 - unsigned long i; 251 - struct page *page; 252 - 253 - for (i = 0; i < pgdat->node_spanned_pages; i++) { 254 - if (!pfn_valid(pgdat->node_start_pfn + i)) 255 - continue; 256 - page = pgdat_page_nr(pgdat, i); 257 - if (PageReserved(page)) 258 - reservedpages++; 259 - } 260 - } 261 - 262 253 #ifdef CONFIG_HIGHMEM 263 - reservedpages -= highmem_setup(); 254 + highmem_setup(); 264 255 #endif 265 256 266 - codesize = (unsigned long)&_sdata - (unsigned long)&_stext; 267 - datasize = (unsigned long)&_edata - (unsigned long)&_sdata; 268 - initsize = (unsigned long)&__init_end - (unsigned long)&__init_begin; 269 - bsssize = (unsigned long)&__bss_stop - (unsigned long)&__bss_start; 270 - 271 - pr_info("Memory: %luk/%luk available (%luk kernel code, ", 272 - nr_free_pages() << (PAGE_SHIFT-10), 273 - num_physpages << (PAGE_SHIFT-10), 274 - codesize >> 10); 275 - pr_cont("%luk reserved, %luk data, %luk bss, %luk init)\n", 276 - reservedpages << (PAGE_SHIFT-10), 277 - datasize >> 10, 278 - bsssize >> 10, 279 - initsize >> 10); 280 - 257 + mem_init_print_info(NULL); 281 258 #ifdef CONFIG_MMU 282 259 pr_info("Kernel virtual memory layout:\n"); 283 260 pr_info(" * 0x%08lx..0x%08lx : fixmap\n", FIXADDR_START, FIXADDR_TOP);