aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/parisc/include/asm/pgtable.h10
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/parisc/include/asm/pgtable.h b/arch/parisc/include/asm/pgtable.h
index 94c0ef7a9e03..b941ac7d4e70 100644
--- a/arch/parisc/include/asm/pgtable.h
+++ b/arch/parisc/include/asm/pgtable.h
@@ -55,10 +55,6 @@ static inline void purge_tlb_entries(struct mm_struct *mm, unsigned long addr)
55 *(pteptr) = (pteval); \ 55 *(pteptr) = (pteval); \
56 } while(0) 56 } while(0)
57 57
58#define pte_inserted(x) \
59 ((pte_val(x) & (_PAGE_PRESENT|_PAGE_ACCESSED)) \
60 == (_PAGE_PRESENT|_PAGE_ACCESSED))
61
62#define set_pte_at(mm, addr, ptep, pteval) \ 58#define set_pte_at(mm, addr, ptep, pteval) \
63 do { \ 59 do { \
64 pte_t old_pte; \ 60 pte_t old_pte; \
@@ -66,8 +62,7 @@ static inline void purge_tlb_entries(struct mm_struct *mm, unsigned long addr)
66 spin_lock_irqsave(&pa_tlb_lock, flags); \ 62 spin_lock_irqsave(&pa_tlb_lock, flags); \
67 old_pte = *ptep; \ 63 old_pte = *ptep; \
68 set_pte(ptep, pteval); \ 64 set_pte(ptep, pteval); \
69 if (pte_inserted(old_pte)) \ 65 purge_tlb_entries(mm, addr); \
70 purge_tlb_entries(mm, addr); \
71 spin_unlock_irqrestore(&pa_tlb_lock, flags); \ 66 spin_unlock_irqrestore(&pa_tlb_lock, flags); \
72 } while (0) 67 } while (0)
73 68
@@ -493,8 +488,7 @@ static inline pte_t ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,
493 spin_lock_irqsave(&pa_tlb_lock, flags); 488 spin_lock_irqsave(&pa_tlb_lock, flags);
494 old_pte = *ptep; 489 old_pte = *ptep;
495 set_pte(ptep, __pte(0)); 490 set_pte(ptep, __pte(0));
496 if (pte_inserted(old_pte)) 491 purge_tlb_entries(mm, addr);
497 purge_tlb_entries(mm, addr);
498 spin_unlock_irqrestore(&pa_tlb_lock, flags); 492 spin_unlock_irqrestore(&pa_tlb_lock, flags);
499 493
500 return old_pte; 494 return old_pte;