@@ -220,13 +220,6 @@ static void __init kernel_physical_mapping_init(pgd_t *pgd_base)
220
220
}
221
221
}
222
222
223
- static inline int page_kills_ppro (unsigned long pagenr )
224
- {
225
- if (pagenr >= 0x70000 && pagenr <= 0x7003F )
226
- return 1 ;
227
- return 0 ;
228
- }
229
-
230
223
/*
231
224
* devmem_is_allowed() checks to see if /dev/mem access to a certain address
232
225
* is valid. The argument is a physical page number.
@@ -287,22 +280,17 @@ static void __init permanent_kmaps_init(pgd_t *pgd_base)
287
280
pkmap_page_table = pte ;
288
281
}
289
282
290
- static void __init
291
- add_one_highpage_init (struct page * page , int pfn , int bad_ppro )
283
+ static void __init add_one_highpage_init (struct page * page , int pfn )
292
284
{
293
- if (!(bad_ppro && page_kills_ppro (pfn ))) {
294
- ClearPageReserved (page );
295
- init_page_count (page );
296
- __free_page (page );
297
- totalhigh_pages ++ ;
298
- } else
299
- SetPageReserved (page );
285
+ ClearPageReserved (page );
286
+ init_page_count (page );
287
+ __free_page (page );
288
+ totalhigh_pages ++ ;
300
289
}
301
290
302
291
struct add_highpages_data {
303
292
unsigned long start_pfn ;
304
293
unsigned long end_pfn ;
305
- int bad_ppro ;
306
294
};
307
295
308
296
static void __init add_highpages_work_fn (unsigned long start_pfn ,
@@ -312,10 +300,8 @@ static void __init add_highpages_work_fn(unsigned long start_pfn,
312
300
struct page * page ;
313
301
unsigned long final_start_pfn , final_end_pfn ;
314
302
struct add_highpages_data * data ;
315
- int bad_ppro ;
316
303
317
304
data = (struct add_highpages_data * )datax ;
318
- bad_ppro = data -> bad_ppro ;
319
305
320
306
final_start_pfn = max (start_pfn , data -> start_pfn );
321
307
final_end_pfn = min (end_pfn , data -> end_pfn );
@@ -327,29 +313,26 @@ static void __init add_highpages_work_fn(unsigned long start_pfn,
327
313
if (!pfn_valid (node_pfn ))
328
314
continue ;
329
315
page = pfn_to_page (node_pfn );
330
- add_one_highpage_init (page , node_pfn , bad_ppro );
316
+ add_one_highpage_init (page , node_pfn );
331
317
}
332
318
333
319
}
334
320
335
321
void __init add_highpages_with_active_regions (int nid , unsigned long start_pfn ,
336
- unsigned long end_pfn ,
337
- int bad_ppro )
322
+ unsigned long end_pfn )
338
323
{
339
324
struct add_highpages_data data ;
340
325
341
326
data .start_pfn = start_pfn ;
342
327
data .end_pfn = end_pfn ;
343
- data .bad_ppro = bad_ppro ;
344
328
345
329
work_with_active_regions (nid , add_highpages_work_fn , & data );
346
330
}
347
331
348
332
#ifndef CONFIG_NUMA
349
- static void __init set_highmem_pages_init (int bad_ppro )
333
+ static void __init set_highmem_pages_init (void )
350
334
{
351
- add_highpages_with_active_regions (0 , highstart_pfn , highend_pfn ,
352
- bad_ppro );
335
+ add_highpages_with_active_regions (0 , highstart_pfn , highend_pfn );
353
336
354
337
totalram_pages += totalhigh_pages ;
355
338
}
@@ -358,7 +341,7 @@ static void __init set_highmem_pages_init(int bad_ppro)
358
341
#else
359
342
# define kmap_init () do { } while (0)
360
343
# define permanent_kmaps_init (pgd_base ) do { } while (0)
361
- # define set_highmem_pages_init (bad_ppro ) do { } while (0)
344
+ # define set_highmem_pages_init () do { } while (0)
362
345
#endif /* CONFIG_HIGHMEM */
363
346
364
347
pteval_t __PAGE_KERNEL = _PAGE_KERNEL ;
@@ -605,13 +588,11 @@ static struct kcore_list kcore_mem, kcore_vmalloc;
605
588
void __init mem_init (void )
606
589
{
607
590
int codesize , reservedpages , datasize , initsize ;
608
- int tmp , bad_ppro ;
591
+ int tmp ;
609
592
610
593
#ifdef CONFIG_FLATMEM
611
594
BUG_ON (!mem_map );
612
595
#endif
613
- bad_ppro = ppro_with_ram_bug ();
614
-
615
596
#ifdef CONFIG_HIGHMEM
616
597
/* check that fixmap and pkmap do not overlap */
617
598
if (PKMAP_BASE + LAST_PKMAP * PAGE_SIZE >= FIXADDR_START ) {
@@ -634,7 +615,7 @@ void __init mem_init(void)
634
615
if (page_is_ram (tmp ) && PageReserved (pfn_to_page (tmp )))
635
616
reservedpages ++ ;
636
617
637
- set_highmem_pages_init (bad_ppro );
618
+ set_highmem_pages_init ();
638
619
639
620
codesize = (unsigned long ) & _etext - (unsigned long ) & _text ;
640
621
datasize = (unsigned long ) & _edata - (unsigned long ) & _etext ;
0 commit comments