@@ -192,13 +192,12 @@ int __init numa_add_memblk(int nid, u64 start, u64 end)
192192#endif
193193
194194/* Initialize bootmem allocator for a node */
195- static void __init
196- setup_node_bootmem (int nid , unsigned long start , unsigned long end )
195+ static void __init setup_node_bootmem (int nid , u64 start , u64 end )
197196{
198- const u64 nd_low = ( u64 ) MAX_DMA_PFN << PAGE_SHIFT ;
199- const u64 nd_high = ( u64 ) max_pfn_mapped << PAGE_SHIFT ;
197+ const u64 nd_low = PFN_PHYS ( MAX_DMA_PFN ) ;
198+ const u64 nd_high = PFN_PHYS ( max_pfn_mapped ) ;
200199 const size_t nd_size = roundup (sizeof (pg_data_t ), PAGE_SIZE );
201- unsigned long nd_pa ;
200+ u64 nd_pa ;
202201 int tnid ;
203202
204203 /*
@@ -210,7 +209,7 @@ setup_node_bootmem(int nid, unsigned long start, unsigned long end)
210209
211210 start = roundup (start , ZONE_ALIGN );
212211
213- printk (KERN_INFO "Initmem setup node %d %016lx-%016lx \n" ,
212+ printk (KERN_INFO "Initmem setup node %d %016Lx-%016Lx \n" ,
214213 nid , start , end );
215214
216215 /*
@@ -223,13 +222,13 @@ setup_node_bootmem(int nid, unsigned long start, unsigned long end)
223222 nd_pa = memblock_find_in_range (nd_low , nd_high ,
224223 nd_size , SMP_CACHE_BYTES );
225224 if (nd_pa == MEMBLOCK_ERROR ) {
226- pr_err ("Cannot find %lu bytes in node %d\n" , nd_size , nid );
225+ pr_err ("Cannot find %zu bytes in node %d\n" , nd_size , nid );
227226 return ;
228227 }
229228 memblock_x86_reserve_range (nd_pa , nd_pa + nd_size , "NODE_DATA" );
230229
231230 /* report and initialize */
232- printk (KERN_INFO " NODE_DATA [%016lx - %016lx ]\n" ,
231+ printk (KERN_INFO " NODE_DATA [%016Lx - %016Lx ]\n" ,
233232 nd_pa , nd_pa + nd_size - 1 );
234233 tnid = early_pfn_to_nid (nd_pa >> PAGE_SHIFT );
235234 if (tnid != nid )
@@ -257,7 +256,7 @@ setup_node_bootmem(int nid, unsigned long start, unsigned long end)
257256int __init numa_cleanup_meminfo (struct numa_meminfo * mi )
258257{
259258 const u64 low = 0 ;
260- const u64 high = ( u64 ) max_pfn << PAGE_SHIFT ;
259+ const u64 high = PFN_PHYS ( max_pfn ) ;
261260 int i , j , k ;
262261
263262 for (i = 0 ; i < mi -> nr_blks ; i ++ ) {
@@ -275,7 +274,7 @@ int __init numa_cleanup_meminfo(struct numa_meminfo *mi)
275274
276275 for (j = i + 1 ; j < mi -> nr_blks ; j ++ ) {
277276 struct numa_memblk * bj = & mi -> blk [j ];
278- unsigned long start , end ;
277+ u64 start , end ;
279278
280279 /*
281280 * See whether there are overlapping blocks. Whine
@@ -313,7 +312,7 @@ int __init numa_cleanup_meminfo(struct numa_meminfo *mi)
313312 }
314313 if (k < mi -> nr_blks )
315314 continue ;
316- printk (KERN_INFO "NUMA: Node %d [%Lx,%Lx) + [%Lx,%Lx) -> [%lx,%lx )\n" ,
315+ printk (KERN_INFO "NUMA: Node %d [%Lx,%Lx) + [%Lx,%Lx) -> [%Lx,%Lx )\n" ,
317316 bi -> nid , bi -> start , bi -> end , bj -> start , bj -> end ,
318317 start , end );
319318 bi -> start = start ;
@@ -378,7 +377,7 @@ static int __init numa_alloc_distance(void)
378377 cnt ++ ;
379378 size = cnt * cnt * sizeof (numa_distance [0 ]);
380379
381- phys = memblock_find_in_range (0 , ( u64 ) max_pfn_mapped << PAGE_SHIFT ,
380+ phys = memblock_find_in_range (0 , PFN_PHYS ( max_pfn_mapped ) ,
382381 size , PAGE_SIZE );
383382 if (phys == MEMBLOCK_ERROR ) {
384383 pr_warning ("NUMA: Warning: can't allocate distance table!\n" );
@@ -456,24 +455,24 @@ EXPORT_SYMBOL(__node_distance);
456455 */
457456static bool __init numa_meminfo_cover_memory (const struct numa_meminfo * mi )
458457{
459- unsigned long numaram , e820ram ;
458+ u64 numaram , e820ram ;
460459 int i ;
461460
462461 numaram = 0 ;
463462 for (i = 0 ; i < mi -> nr_blks ; i ++ ) {
464- unsigned long s = mi -> blk [i ].start >> PAGE_SHIFT ;
465- unsigned long e = mi -> blk [i ].end >> PAGE_SHIFT ;
463+ u64 s = mi -> blk [i ].start >> PAGE_SHIFT ;
464+ u64 e = mi -> blk [i ].end >> PAGE_SHIFT ;
466465 numaram += e - s ;
467466 numaram -= __absent_pages_in_range (mi -> blk [i ].nid , s , e );
468- if ((long )numaram < 0 )
467+ if ((s64 )numaram < 0 )
469468 numaram = 0 ;
470469 }
471470
472471 e820ram = max_pfn - (memblock_x86_hole_size (0 ,
473- max_pfn << PAGE_SHIFT ) >> PAGE_SHIFT );
472+ PFN_PHYS ( max_pfn ) ) >> PAGE_SHIFT );
474473 /* We seem to lose 3 pages somewhere. Allow 1M of slack. */
475- if ((long )(e820ram - numaram ) >= (1 << (20 - PAGE_SHIFT ))) {
476- printk (KERN_ERR "NUMA: nodes only cover %luMB of your %luMB e820 RAM. Not used.\n" ,
474+ if ((s64 )(e820ram - numaram ) >= (1 << (20 - PAGE_SHIFT ))) {
475+ printk (KERN_ERR "NUMA: nodes only cover %LuMB of your %LuMB e820 RAM. Not used.\n" ,
477476 (numaram << PAGE_SHIFT ) >> 20 ,
478477 (e820ram << PAGE_SHIFT ) >> 20 );
479478 return false;
@@ -503,7 +502,7 @@ static int __init numa_register_memblks(struct numa_meminfo *mi)
503502
504503 /* Finally register nodes. */
505504 for_each_node_mask (nid , node_possible_map ) {
506- u64 start = ( u64 ) max_pfn << PAGE_SHIFT ;
505+ u64 start = PFN_PHYS ( max_pfn ) ;
507506 u64 end = 0 ;
508507
509508 for (i = 0 ; i < mi -> nr_blks ; i ++ ) {
@@ -595,11 +594,11 @@ static int __init dummy_numa_init(void)
595594{
596595 printk (KERN_INFO "%s\n" ,
597596 numa_off ? "NUMA turned off" : "No NUMA configuration found" );
598- printk (KERN_INFO "Faking a node at %016lx-%016lx \n" ,
599- 0LU , max_pfn << PAGE_SHIFT );
597+ printk (KERN_INFO "Faking a node at %016Lx-%016Lx \n" ,
598+ 0LLU , PFN_PHYS ( max_pfn ) );
600599
601600 node_set (0 , numa_nodes_parsed );
602- numa_add_memblk (0 , 0 , ( u64 ) max_pfn << PAGE_SHIFT );
601+ numa_add_memblk (0 , 0 , PFN_PHYS ( max_pfn ) );
603602
604603 return 0 ;
605604}
0 commit comments