diff options
Diffstat (limited to 'mm/pgtable-generic.c')
-rw-r--r-- | mm/pgtable-generic.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/mm/pgtable-generic.c b/mm/pgtable-generic.c index e1a6e4fab016..3929a40bd6c0 100644 --- a/mm/pgtable-generic.c +++ b/mm/pgtable-generic.c | |||
@@ -10,6 +10,30 @@ | |||
10 | #include <asm/tlb.h> | 10 | #include <asm/tlb.h> |
11 | #include <asm-generic/pgtable.h> | 11 | #include <asm-generic/pgtable.h> |
12 | 12 | ||
13 | /* | ||
14 | * If a p?d_bad entry is found while walking page tables, report | ||
15 | * the error, before resetting entry to p?d_none. Usually (but | ||
16 | * very seldom) called out from the p?d_none_or_clear_bad macros. | ||
17 | */ | ||
18 | |||
19 | void pgd_clear_bad(pgd_t *pgd) | ||
20 | { | ||
21 | pgd_ERROR(*pgd); | ||
22 | pgd_clear(pgd); | ||
23 | } | ||
24 | |||
25 | void pud_clear_bad(pud_t *pud) | ||
26 | { | ||
27 | pud_ERROR(*pud); | ||
28 | pud_clear(pud); | ||
29 | } | ||
30 | |||
31 | void pmd_clear_bad(pmd_t *pmd) | ||
32 | { | ||
33 | pmd_ERROR(*pmd); | ||
34 | pmd_clear(pmd); | ||
35 | } | ||
36 | |||
13 | #ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS | 37 | #ifndef __HAVE_ARCH_PTEP_SET_ACCESS_FLAGS |
14 | /* | 38 | /* |
15 | * Only sets the access flags (dirty, accessed), as well as write | 39 | * Only sets the access flags (dirty, accessed), as well as write |