@@ -192,13 +192,12 @@ int __init numa_add_memblk(int nid, u64 start, u64 end)
192
192
#endif
193
193
194
194
/* 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 )
197
196
{
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 ) ;
200
199
const size_t nd_size = roundup (sizeof (pg_data_t ), PAGE_SIZE );
201
- unsigned long nd_pa ;
200
+ u64 nd_pa ;
202
201
int tnid ;
203
202
204
203
/*
@@ -210,7 +209,7 @@ setup_node_bootmem(int nid, unsigned long start, unsigned long end)
210
209
211
210
start = roundup (start , ZONE_ALIGN );
212
211
213
- printk (KERN_INFO "Initmem setup node %d %016lx-%016lx \n" ,
212
+ printk (KERN_INFO "Initmem setup node %d %016Lx-%016Lx \n" ,
214
213
nid , start , end );
215
214
216
215
/*
@@ -223,13 +222,13 @@ setup_node_bootmem(int nid, unsigned long start, unsigned long end)
223
222
nd_pa = memblock_find_in_range (nd_low , nd_high ,
224
223
nd_size , SMP_CACHE_BYTES );
225
224
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 );
227
226
return ;
228
227
}
229
228
memblock_x86_reserve_range (nd_pa , nd_pa + nd_size , "NODE_DATA" );
230
229
231
230
/* report and initialize */
232
- printk (KERN_INFO " NODE_DATA [%016lx - %016lx ]\n" ,
231
+ printk (KERN_INFO " NODE_DATA [%016Lx - %016Lx ]\n" ,
233
232
nd_pa , nd_pa + nd_size - 1 );
234
233
tnid = early_pfn_to_nid (nd_pa >> PAGE_SHIFT );
235
234
if (tnid != nid )
@@ -257,7 +256,7 @@ setup_node_bootmem(int nid, unsigned long start, unsigned long end)
257
256
int __init numa_cleanup_meminfo (struct numa_meminfo * mi )
258
257
{
259
258
const u64 low = 0 ;
260
- const u64 high = ( u64 ) max_pfn << PAGE_SHIFT ;
259
+ const u64 high = PFN_PHYS ( max_pfn ) ;
261
260
int i , j , k ;
262
261
263
262
for (i = 0 ; i < mi -> nr_blks ; i ++ ) {
@@ -275,7 +274,7 @@ int __init numa_cleanup_meminfo(struct numa_meminfo *mi)
275
274
276
275
for (j = i + 1 ; j < mi -> nr_blks ; j ++ ) {
277
276
struct numa_memblk * bj = & mi -> blk [j ];
278
- unsigned long start , end ;
277
+ u64 start , end ;
279
278
280
279
/*
281
280
* See whether there are overlapping blocks. Whine
@@ -313,7 +312,7 @@ int __init numa_cleanup_meminfo(struct numa_meminfo *mi)
313
312
}
314
313
if (k < mi -> nr_blks )
315
314
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" ,
317
316
bi -> nid , bi -> start , bi -> end , bj -> start , bj -> end ,
318
317
start , end );
319
318
bi -> start = start ;
@@ -378,7 +377,7 @@ static int __init numa_alloc_distance(void)
378
377
cnt ++ ;
379
378
size = cnt * cnt * sizeof (numa_distance [0 ]);
380
379
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 ) ,
382
381
size , PAGE_SIZE );
383
382
if (phys == MEMBLOCK_ERROR ) {
384
383
pr_warning ("NUMA: Warning: can't allocate distance table!\n" );
@@ -456,24 +455,24 @@ EXPORT_SYMBOL(__node_distance);
456
455
*/
457
456
static bool __init numa_meminfo_cover_memory (const struct numa_meminfo * mi )
458
457
{
459
- unsigned long numaram , e820ram ;
458
+ u64 numaram , e820ram ;
460
459
int i ;
461
460
462
461
numaram = 0 ;
463
462
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 ;
466
465
numaram += e - s ;
467
466
numaram -= __absent_pages_in_range (mi -> blk [i ].nid , s , e );
468
- if ((long )numaram < 0 )
467
+ if ((s64 )numaram < 0 )
469
468
numaram = 0 ;
470
469
}
471
470
472
471
e820ram = max_pfn - (memblock_x86_hole_size (0 ,
473
- max_pfn << PAGE_SHIFT ) >> PAGE_SHIFT );
472
+ PFN_PHYS ( max_pfn ) ) >> PAGE_SHIFT );
474
473
/* 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" ,
477
476
(numaram << PAGE_SHIFT ) >> 20 ,
478
477
(e820ram << PAGE_SHIFT ) >> 20 );
479
478
return false;
@@ -503,7 +502,7 @@ static int __init numa_register_memblks(struct numa_meminfo *mi)
503
502
504
503
/* Finally register nodes. */
505
504
for_each_node_mask (nid , node_possible_map ) {
506
- u64 start = ( u64 ) max_pfn << PAGE_SHIFT ;
505
+ u64 start = PFN_PHYS ( max_pfn ) ;
507
506
u64 end = 0 ;
508
507
509
508
for (i = 0 ; i < mi -> nr_blks ; i ++ ) {
@@ -595,11 +594,11 @@ static int __init dummy_numa_init(void)
595
594
{
596
595
printk (KERN_INFO "%s\n" ,
597
596
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 ) );
600
599
601
600
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 ) );
603
602
604
603
return 0 ;
605
604
}
0 commit comments