summaryrefslogtreecommitdiffstats
path: root/include/asm-generic/pgtable.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-generic/pgtable.h')
-rw-r--r--include/asm-generic/pgtable.h27
1 files changed, 25 insertions, 2 deletions
diff --git a/include/asm-generic/pgtable.h b/include/asm-generic/pgtable.h
index b1836987d506..2f47ade1b567 100644
--- a/include/asm-generic/pgtable.h
+++ b/include/asm-generic/pgtable.h
@@ -173,11 +173,12 @@ extern void pmdp_splitting_flush(struct vm_area_struct *vma,
173#endif 173#endif
174 174
175#ifndef __HAVE_ARCH_PGTABLE_DEPOSIT 175#ifndef __HAVE_ARCH_PGTABLE_DEPOSIT
176extern void pgtable_trans_huge_deposit(struct mm_struct *mm, pgtable_t pgtable); 176extern void pgtable_trans_huge_deposit(struct mm_struct *mm, pmd_t *pmdp,
177 pgtable_t pgtable);
177#endif 178#endif
178 179
179#ifndef __HAVE_ARCH_PGTABLE_WITHDRAW 180#ifndef __HAVE_ARCH_PGTABLE_WITHDRAW
180extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm); 181extern pgtable_t pgtable_trans_huge_withdraw(struct mm_struct *mm, pmd_t *pmdp);
181#endif 182#endif
182 183
183#ifndef __HAVE_ARCH_PMDP_INVALIDATE 184#ifndef __HAVE_ARCH_PMDP_INVALIDATE
@@ -396,6 +397,28 @@ static inline void ptep_modify_prot_commit(struct mm_struct *mm,
396#define arch_start_context_switch(prev) do {} while (0) 397#define arch_start_context_switch(prev) do {} while (0)
397#endif 398#endif
398 399
400#ifndef CONFIG_HAVE_ARCH_SOFT_DIRTY
401static inline int pte_soft_dirty(pte_t pte)
402{
403 return 0;
404}
405
406static inline int pmd_soft_dirty(pmd_t pmd)
407{
408 return 0;
409}
410
411static inline pte_t pte_mksoft_dirty(pte_t pte)
412{
413 return pte;
414}
415
416static inline pmd_t pmd_mksoft_dirty(pmd_t pmd)
417{
418 return pmd;
419}
420#endif
421
399#ifndef __HAVE_PFNMAP_TRACKING 422#ifndef __HAVE_PFNMAP_TRACKING
400/* 423/*
401 * Interfaces that can be used by architecture code to keep track of 424 * Interfaces that can be used by architecture code to keep track of