aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-parisc/pgtable.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-parisc/pgtable.h')
-rw-r--r--include/asm-parisc/pgtable.h20
1 files changed, 0 insertions, 20 deletions
diff --git a/include/asm-parisc/pgtable.h b/include/asm-parisc/pgtable.h
index beb2adb979d9..e88cacd63724 100644
--- a/include/asm-parisc/pgtable.h
+++ b/include/asm-parisc/pgtable.h
@@ -335,18 +335,14 @@ extern inline void pgd_clear(pgd_t * pgdp) { }
335 * The following only work if pte_present() is true. 335 * The following only work if pte_present() is true.
336 * Undefined behaviour if not.. 336 * Undefined behaviour if not..
337 */ 337 */
338extern inline int pte_read(pte_t pte) { return pte_val(pte) & _PAGE_READ; }
339extern inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; } 338extern inline int pte_dirty(pte_t pte) { return pte_val(pte) & _PAGE_DIRTY; }
340extern inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; } 339extern inline int pte_young(pte_t pte) { return pte_val(pte) & _PAGE_ACCESSED; }
341extern inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; } 340extern inline int pte_write(pte_t pte) { return pte_val(pte) & _PAGE_WRITE; }
342extern inline int pte_file(pte_t pte) { return pte_val(pte) & _PAGE_FILE; } 341extern inline int pte_file(pte_t pte) { return pte_val(pte) & _PAGE_FILE; }
343extern inline int pte_user(pte_t pte) { return pte_val(pte) & _PAGE_USER; }
344 342
345extern inline pte_t pte_rdprotect(pte_t pte) { pte_val(pte) &= ~_PAGE_READ; return pte; }
346extern inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~_PAGE_DIRTY; return pte; } 343extern inline pte_t pte_mkclean(pte_t pte) { pte_val(pte) &= ~_PAGE_DIRTY; return pte; }
347extern inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; } 344extern inline pte_t pte_mkold(pte_t pte) { pte_val(pte) &= ~_PAGE_ACCESSED; return pte; }
348extern inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= ~_PAGE_WRITE; return pte; } 345extern inline pte_t pte_wrprotect(pte_t pte) { pte_val(pte) &= ~_PAGE_WRITE; return pte; }
349extern inline pte_t pte_mkread(pte_t pte) { pte_val(pte) |= _PAGE_READ; return pte; }
350extern inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= _PAGE_DIRTY; return pte; } 346extern inline pte_t pte_mkdirty(pte_t pte) { pte_val(pte) |= _PAGE_DIRTY; return pte; }
351extern inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= _PAGE_ACCESSED; return pte; } 347extern inline pte_t pte_mkyoung(pte_t pte) { pte_val(pte) |= _PAGE_ACCESSED; return pte; }
352extern inline pte_t pte_mkwrite(pte_t pte) { pte_val(pte) |= _PAGE_WRITE; return pte; } 348extern inline pte_t pte_mkwrite(pte_t pte) { pte_val(pte) |= _PAGE_WRITE; return pte; }
@@ -451,21 +447,6 @@ static inline int ptep_test_and_clear_young(struct vm_area_struct *vma, unsigned
451#endif 447#endif
452} 448}
453 449
454static inline int ptep_test_and_clear_dirty(struct vm_area_struct *vma, unsigned long addr, pte_t *ptep)
455{
456#ifdef CONFIG_SMP
457 if (!pte_dirty(*ptep))
458 return 0;
459 return test_and_clear_bit(xlate_pabit(_PAGE_DIRTY_BIT), &pte_val(*ptep));
460#else
461 pte_t pte = *ptep;
462 if (!pte_dirty(pte))
463 return 0;
464 set_pte_at(vma->vm_mm, addr, ptep, pte_mkclean(pte));
465 return 1;
466#endif
467}
468
469extern spinlock_t pa_dbit_lock; 450extern spinlock_t pa_dbit_lock;
470 451
471struct mm_struct; 452struct mm_struct;
@@ -533,7 +514,6 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addr,
533#define HAVE_ARCH_UNMAPPED_AREA 514#define HAVE_ARCH_UNMAPPED_AREA
534 515
535#define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG 516#define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
536#define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_DIRTY
537#define __HAVE_ARCH_PTEP_GET_AND_CLEAR 517#define __HAVE_ARCH_PTEP_GET_AND_CLEAR
538#define __HAVE_ARCH_PTEP_SET_WRPROTECT 518#define __HAVE_ARCH_PTEP_SET_WRPROTECT
539#define __HAVE_ARCH_PTE_SAME 519#define __HAVE_ARCH_PTE_SAME