diff options
Diffstat (limited to 'arch/powerpc/include/asm/pgalloc-64.h')
-rw-r--r-- | arch/powerpc/include/asm/pgalloc-64.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/include/asm/pgalloc-64.h b/arch/powerpc/include/asm/pgalloc-64.h index 605f5c5398d1..5c1cd73dafa8 100644 --- a/arch/powerpc/include/asm/pgalloc-64.h +++ b/arch/powerpc/include/asm/pgalloc-64.h | |||
@@ -28,6 +28,10 @@ | |||
28 | */ | 28 | */ |
29 | #define MAX_PGTABLE_INDEX_SIZE 0xf | 29 | #define MAX_PGTABLE_INDEX_SIZE 0xf |
30 | 30 | ||
31 | #ifndef CONFIG_PPC_SUBPAGE_PROT | ||
32 | static inline void subpage_prot_free(pgd_t *pgd) {} | ||
33 | #endif | ||
34 | |||
31 | extern struct kmem_cache *pgtable_cache[]; | 35 | extern struct kmem_cache *pgtable_cache[]; |
32 | #define PGT_CACHE(shift) (pgtable_cache[(shift)-1]) | 36 | #define PGT_CACHE(shift) (pgtable_cache[(shift)-1]) |
33 | 37 | ||
@@ -38,6 +42,7 @@ static inline pgd_t *pgd_alloc(struct mm_struct *mm) | |||
38 | 42 | ||
39 | static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) | 43 | static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) |
40 | { | 44 | { |
45 | subpage_prot_free(pgd); | ||
41 | kmem_cache_free(PGT_CACHE(PGD_INDEX_SIZE), pgd); | 46 | kmem_cache_free(PGT_CACHE(PGD_INDEX_SIZE), pgd); |
42 | } | 47 | } |
43 | 48 | ||