Lines Matching full:mm
18 #include <linux/mm.h>
26 struct ptdesc *page_table_alloc_pgste(struct mm_struct *mm);
36 int crst_table_upgrade(struct mm_struct *mm, unsigned long limit);
38 static inline unsigned long check_asce_limit(struct mm_struct *mm, unsigned long addr, in check_asce_limit() argument
43 if (addr + len > mm->context.asce_limit && in check_asce_limit()
45 rc = crst_table_upgrade(mm, addr + len); in check_asce_limit()
52 static inline p4d_t *p4d_alloc_one(struct mm_struct *mm, unsigned long address) in p4d_alloc_one() argument
54 unsigned long *table = crst_table_alloc(mm); in p4d_alloc_one()
61 static inline void p4d_free(struct mm_struct *mm, p4d_t *p4d) in p4d_free() argument
63 if (!mm_p4d_folded(mm)) in p4d_free()
64 crst_table_free(mm, (unsigned long *) p4d); in p4d_free()
67 static inline pud_t *pud_alloc_one(struct mm_struct *mm, unsigned long address) in pud_alloc_one() argument
69 unsigned long *table = crst_table_alloc(mm); in pud_alloc_one()
75 static inline void pud_free(struct mm_struct *mm, pud_t *pud) in pud_free() argument
77 if (!mm_pud_folded(mm)) in pud_free()
78 crst_table_free(mm, (unsigned long *) pud); in pud_free()
81 static inline pmd_t *pmd_alloc_one(struct mm_struct *mm, unsigned long vmaddr) in pmd_alloc_one() argument
83 unsigned long *table = crst_table_alloc(mm); in pmd_alloc_one()
89 crst_table_free(mm, table); in pmd_alloc_one()
95 static inline void pmd_free(struct mm_struct *mm, pmd_t *pmd) in pmd_free() argument
97 if (mm_pmd_folded(mm)) in pmd_free()
100 crst_table_free(mm, (unsigned long *) pmd); in pmd_free()
103 static inline void pgd_populate(struct mm_struct *mm, pgd_t *pgd, p4d_t *p4d) in pgd_populate() argument
108 static inline void p4d_populate(struct mm_struct *mm, p4d_t *p4d, pud_t *pud) in p4d_populate() argument
113 static inline void pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd) in pud_populate() argument
118 static inline pgd_t *pgd_alloc(struct mm_struct *mm) in pgd_alloc() argument
120 return (pgd_t *) crst_table_alloc(mm); in pgd_alloc()
123 static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) in pgd_free() argument
125 crst_table_free(mm, (unsigned long *) pgd); in pgd_free()
128 static inline void pmd_populate(struct mm_struct *mm, in pmd_populate() argument
134 #define pmd_populate_kernel(mm, pmd, pte) pmd_populate(mm, pmd, pte) argument
139 #define pte_alloc_one_kernel(mm) ((pte_t *)page_table_alloc(mm)) argument
140 #define pte_alloc_one(mm) ((pte_t *)page_table_alloc(mm)) argument
142 #define pte_free_kernel(mm, pte) page_table_free(mm, (unsigned long *) pte) argument
143 #define pte_free(mm, pte) page_table_free(mm, (unsigned long *) pte) argument
145 /* arch use pte_free_defer() implementation in arch/s390/mm/pgalloc.c */
147 void pte_free_defer(struct mm_struct *mm, pgtable_t pgtable);