@@ -581,67 +581,3 @@ flush_cache_page(struct vm_area_struct *vma, unsigned long vmaddr, unsigned long
581
581
__flush_cache_page (vma , vmaddr , PFN_PHYS (pfn ));
582
582
}
583
583
}
584
-
585
- #ifdef CONFIG_PARISC_TMPALIAS
586
-
587
- void clear_user_highpage (struct page * page , unsigned long vaddr )
588
- {
589
- void * vto ;
590
- unsigned long flags ;
591
-
592
- /* Clear using TMPALIAS region. The page doesn't need to
593
- be flushed but the kernel mapping needs to be purged. */
594
-
595
- vto = kmap_atomic (page );
596
-
597
- /* The PA-RISC 2.0 Architecture book states on page F-6:
598
- "Before a write-capable translation is enabled, *all*
599
- non-equivalently-aliased translations must be removed
600
- from the page table and purged from the TLB. (Note
601
- that the caches are not required to be flushed at this
602
- time.) Before any non-equivalent aliased translation
603
- is re-enabled, the virtual address range for the writeable
604
- page (the entire page) must be flushed from the cache,
605
- and the write-capable translation removed from the page
606
- table and purged from the TLB." */
607
-
608
- purge_kernel_dcache_page_asm ((unsigned long )vto );
609
- purge_tlb_start (flags );
610
- pdtlb_kernel (vto );
611
- purge_tlb_end (flags );
612
- preempt_disable ();
613
- clear_user_page_asm (vto , vaddr );
614
- preempt_enable ();
615
-
616
- pagefault_enable (); /* kunmap_atomic(addr, KM_USER0); */
617
- }
618
-
619
- void copy_user_highpage (struct page * to , struct page * from ,
620
- unsigned long vaddr , struct vm_area_struct * vma )
621
- {
622
- void * vfrom , * vto ;
623
- unsigned long flags ;
624
-
625
- /* Copy using TMPALIAS region. This has the advantage
626
- that the `from' page doesn't need to be flushed. However,
627
- the `to' page must be flushed in copy_user_page_asm since
628
- it can be used to bring in executable code. */
629
-
630
- vfrom = kmap_atomic (from );
631
- vto = kmap_atomic (to );
632
-
633
- purge_kernel_dcache_page_asm ((unsigned long )vto );
634
- purge_tlb_start (flags );
635
- pdtlb_kernel (vto );
636
- pdtlb_kernel (vfrom );
637
- purge_tlb_end (flags );
638
- preempt_disable ();
639
- copy_user_page_asm (vto , vfrom , vaddr );
640
- flush_dcache_page_asm (__pa (vto ), vaddr );
641
- preempt_enable ();
642
-
643
- pagefault_enable (); /* kunmap_atomic(addr, KM_USER1); */
644
- pagefault_enable (); /* kunmap_atomic(addr, KM_USER0); */
645
- }
646
-
647
- #endif /* CONFIG_PARISC_TMPALIAS */
0 commit comments