|
@@ -389,16 +389,9 @@ static inline void native_set_pte_at(struct mm_struct *mm, unsigned long addr,
|
|
|
* bit at the same time.
|
|
|
*/
|
|
|
#define __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS
|
|
|
-#define ptep_set_access_flags(vma, address, ptep, entry, dirty) \
|
|
|
-({ \
|
|
|
- int __changed = !pte_same(*(ptep), entry); \
|
|
|
- if (__changed && dirty) { \
|
|
|
- *ptep = entry; \
|
|
|
- pte_update_defer((vma)->vm_mm, (address), (ptep)); \
|
|
|
- flush_tlb_page(vma, address); \
|
|
|
- } \
|
|
|
- __changed; \
|
|
|
-})
|
|
|
+extern int ptep_set_access_flags(struct vm_area_struct *vma,
|
|
|
+ unsigned long address, pte_t *ptep,
|
|
|
+ pte_t entry, int dirty);
|
|
|
|
|
|
#define __HAVE_ARCH_PTEP_TEST_AND_CLEAR_YOUNG
|
|
|
#define ptep_test_and_clear_young(vma, addr, ptep) ({ \
|