diff options
Diffstat (limited to 'arch/parisc/mm/init.c')
| -rw-r--r-- | arch/parisc/mm/init.c | 35 |
1 files changed, 17 insertions, 18 deletions
diff --git a/arch/parisc/mm/init.c b/arch/parisc/mm/init.c index 720287d46e55..7847ca13d6c2 100644 --- a/arch/parisc/mm/init.c +++ b/arch/parisc/mm/init.c | |||
| @@ -371,17 +371,11 @@ static void __init setup_bootmem(void) | |||
| 371 | 371 | ||
| 372 | void free_initmem(void) | 372 | void free_initmem(void) |
| 373 | { | 373 | { |
| 374 | /* FIXME: */ | ||
| 375 | #if 0 | ||
| 376 | printk(KERN_INFO "NOT FREEING INITMEM (%dk)\n", | ||
| 377 | (&__init_end - &__init_begin) >> 10); | ||
| 378 | return; | ||
| 379 | #else | ||
| 380 | unsigned long addr; | 374 | unsigned long addr; |
| 381 | 375 | ||
| 382 | printk(KERN_INFO "Freeing unused kernel memory: "); | 376 | printk(KERN_INFO "Freeing unused kernel memory: "); |
| 383 | 377 | ||
| 384 | #if 1 | 378 | #ifdef CONFIG_DEBUG_KERNEL |
| 385 | /* Attempt to catch anyone trying to execute code here | 379 | /* Attempt to catch anyone trying to execute code here |
| 386 | * by filling the page with BRK insns. | 380 | * by filling the page with BRK insns. |
| 387 | * | 381 | * |
| @@ -414,9 +408,21 @@ void free_initmem(void) | |||
| 414 | pdc_chassis_send_status(PDC_CHASSIS_DIRECT_BCOMPLETE); | 408 | pdc_chassis_send_status(PDC_CHASSIS_DIRECT_BCOMPLETE); |
| 415 | 409 | ||
| 416 | printk("%luk freed\n", (unsigned long)(&__init_end - &__init_begin) >> 10); | 410 | printk("%luk freed\n", (unsigned long)(&__init_end - &__init_begin) >> 10); |
| 417 | #endif | ||
| 418 | } | 411 | } |
| 419 | 412 | ||
| 413 | |||
| 414 | #ifdef CONFIG_DEBUG_RODATA | ||
| 415 | void mark_rodata_ro(void) | ||
| 416 | { | ||
| 417 | extern char __start_rodata, __end_rodata; | ||
| 418 | /* rodata memory was already mapped with KERNEL_RO access rights by | ||
| 419 | pagetable_init() and map_pages(). No need to do additional stuff here */ | ||
| 420 | printk (KERN_INFO "Write protecting the kernel read-only data: %luk\n", | ||
| 421 | (unsigned long)(&__end_rodata - &__start_rodata) >> 10); | ||
| 422 | } | ||
| 423 | #endif | ||
| 424 | |||
| 425 | |||
| 420 | /* | 426 | /* |
| 421 | * Just an arbitrary offset to serve as a "hole" between mapping areas | 427 | * Just an arbitrary offset to serve as a "hole" between mapping areas |
| 422 | * (between top of physical memory and a potential pcxl dma mapping | 428 | * (between top of physical memory and a potential pcxl dma mapping |
| @@ -477,11 +483,6 @@ void __init mem_init(void) | |||
| 477 | 483 | ||
| 478 | } | 484 | } |
| 479 | 485 | ||
| 480 | int do_check_pgt_cache(int low, int high) | ||
| 481 | { | ||
| 482 | return 0; | ||
| 483 | } | ||
| 484 | |||
| 485 | unsigned long *empty_zero_page __read_mostly; | 486 | unsigned long *empty_zero_page __read_mostly; |
| 486 | 487 | ||
| 487 | void show_mem(void) | 488 | void show_mem(void) |
| @@ -690,7 +691,7 @@ static void __init pagetable_init(void) | |||
| 690 | 691 | ||
| 691 | #ifdef CONFIG_BLK_DEV_INITRD | 692 | #ifdef CONFIG_BLK_DEV_INITRD |
| 692 | if (initrd_end && initrd_end > mem_limit) { | 693 | if (initrd_end && initrd_end > mem_limit) { |
| 693 | printk("initrd: mapping %08lx-%08lx\n", initrd_start, initrd_end); | 694 | printk(KERN_INFO "initrd: mapping %08lx-%08lx\n", initrd_start, initrd_end); |
| 694 | map_pages(initrd_start, __pa(initrd_start), | 695 | map_pages(initrd_start, __pa(initrd_start), |
| 695 | initrd_end - initrd_start, PAGE_KERNEL); | 696 | initrd_end - initrd_start, PAGE_KERNEL); |
| 696 | } | 697 | } |
| @@ -792,8 +793,6 @@ map_hpux_gateway_page(struct task_struct *tsk, struct mm_struct *mm) | |||
| 792 | EXPORT_SYMBOL(map_hpux_gateway_page); | 793 | EXPORT_SYMBOL(map_hpux_gateway_page); |
| 793 | #endif | 794 | #endif |
| 794 | 795 | ||
| 795 | extern void flush_tlb_all_local(void); | ||
| 796 | |||
| 797 | void __init paging_init(void) | 796 | void __init paging_init(void) |
| 798 | { | 797 | { |
| 799 | int i; | 798 | int i; |
| @@ -802,7 +801,7 @@ void __init paging_init(void) | |||
| 802 | pagetable_init(); | 801 | pagetable_init(); |
| 803 | gateway_init(); | 802 | gateway_init(); |
| 804 | flush_cache_all_local(); /* start with known state */ | 803 | flush_cache_all_local(); /* start with known state */ |
| 805 | flush_tlb_all_local(); | 804 | flush_tlb_all_local(NULL); |
| 806 | 805 | ||
| 807 | for (i = 0; i < npmem_ranges; i++) { | 806 | for (i = 0; i < npmem_ranges; i++) { |
| 808 | unsigned long zones_size[MAX_NR_ZONES] = { 0, 0, 0 }; | 807 | unsigned long zones_size[MAX_NR_ZONES] = { 0, 0, 0 }; |
| @@ -993,7 +992,7 @@ void flush_tlb_all(void) | |||
| 993 | do_recycle++; | 992 | do_recycle++; |
| 994 | } | 993 | } |
| 995 | spin_unlock(&sid_lock); | 994 | spin_unlock(&sid_lock); |
| 996 | on_each_cpu((void (*)(void *))flush_tlb_all_local, NULL, 1, 1); | 995 | on_each_cpu(flush_tlb_all_local, NULL, 1, 1); |
| 997 | if (do_recycle) { | 996 | if (do_recycle) { |
| 998 | spin_lock(&sid_lock); | 997 | spin_lock(&sid_lock); |
| 999 | recycle_sids(recycle_ndirty,recycle_dirty_array); | 998 | recycle_sids(recycle_ndirty,recycle_dirty_array); |
