aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/pgalloc-64.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/powerpc/include/asm/pgalloc-64.h')
-rw-r--r--arch/powerpc/include/asm/pgalloc-64.h5
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
32static inline void subpage_prot_free(pgd_t *pgd) {}
33#endif
34
31extern struct kmem_cache *pgtable_cache[]; 35extern 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
39static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) 43static 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