On Sun, Feb 27, 2005 at 08:12:08PM -0800, David S. Miller wrote:
> What are you patching against?  In the patch I sent, which are you
> replying to, I made flush_icache_user_range() in this file be:
> 
> void flush_icache_user_range(struct vm_area_struct *vma,
>                              struct page *page, unsigned long addr, int len)
> {
>         __flush_cache_page(vma, addr,
>                            PHYSADDR(page_address(page)) >> PAGE_SHIFT);
> }
> 
Yes, you're right, wrong tree, sorry for the confusion. Here are the
fixes against your patch:

===== arch/sh/mm/cache-sh4.c 1.10 vs edited =====
--- 1.10/arch/sh/mm/cache-sh4.c 2005-02-28 11:14:14 +02:00
+++ edited/arch/sh/mm/cache-sh4.c       2005-02-28 11:15:27 +02:00
@@ -357,7 +357,6 @@
 void flush_icache_user_range(struct vm_area_struct *vma,
                             struct page *page, unsigned long addr, int len)
 {
-       __flush_cache_page(vma, addr,
-                          PHYSADDR(page_address(page)) >> PAGE_SHIFT);
+       flush_cache_page(vma, addr, page_to_pfn(page));
 }
 
===== arch/sh64/mm/cache.c 1.2 vs edited =====
--- 1.2/arch/sh64/mm/cache.c    2005-02-28 11:14:14 +02:00
+++ edited/arch/sh64/mm/cache.c 2005-02-28 11:15:01 +02:00
@@ -573,11 +573,6 @@
        }
 }
 
-static inline void sh64_dcache_purge_virt_page(struct mm_struct *mm, unsigned 
long eaddr, unsigned long pfn)
-{
-       sh64_dcache_purge_phy_page(pfn << PAGE_SHIFT);
-}
-
 static void sh64_dcache_purge_user_page(struct mm_struct *mm, unsigned long 
eaddr)
 {
        pgd_t *pgd;
@@ -895,7 +890,7 @@
           Note(1), this is called with mm->page_table_lock held.
           */
 
-       sh64_dcache_purge_virt_page(vma->vm_mm, eaddr, pfn);
+       sh64_dcache_purge_phy_page(pfn << PAGE_SHIFT);
 
        if (vma->vm_flags & VM_EXEC) {
                sh64_icache_inv_user_page(vma, eaddr);

Attachment: pgprsN5pWd1DW.pgp
Description: PGP signature

Reply via email to