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);
pgprsN5pWd1DW.pgp
Description: PGP signature
