vserver 2.0 rc7
[linux-2.6.git] / arch / sh / mm / pg-sh4.c
index f6a7623..e5907c7 100644 (file)
@@ -56,7 +56,7 @@ void clear_user_page(void *to, unsigned long address, struct page *page)
                local_irq_restore(flags);
                update_mmu_cache(NULL, p3_addr, entry);
                __clear_user_page((void *)p3_addr, to);
-               pte_clear(pte);
+               pte_clear(&init_mm, p3_addr, pte);
                up(&p3map_sem[(address & CACHE_ALIAS)>>12]);
        }
 }
@@ -95,7 +95,7 @@ void copy_user_page(void *to, void *from, unsigned long address,
                local_irq_restore(flags);
                update_mmu_cache(NULL, p3_addr, entry);
                __copy_user_page((void *)p3_addr, from, to);
-               pte_clear(pte);
+               pte_clear(&init_mm, p3_addr, pte);
                up(&p3map_sem[(address & CACHE_ALIAS)>>12]);
        }
 }
@@ -103,11 +103,11 @@ void copy_user_page(void *to, void *from, unsigned long address,
 /*
  * For SH-4, we have our own implementation for ptep_get_and_clear
  */
-inline pte_t ptep_get_and_clear(pte_t *ptep)
+inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, pte_t *ptep)
 {
        pte_t pte = *ptep;
 
-       pte_clear(ptep);
+       pte_clear(mm, addr, ptep);
        if (!pte_not_present(pte)) {
                unsigned long pfn = pte_pfn(pte);
                if (pfn_valid(pfn)) {