hc
2024-05-10 10ebd8556b7990499c896a550e3d416b444211e6
kernel/arch/alpha/include/asm/pgalloc.h
....@@ -5,6 +5,8 @@
55 #include <linux/mm.h>
66 #include <linux/mmzone.h>
77
8
+#include <asm-generic/pgalloc.h>
9
+
810 /*
911 * Allocate and free page tables. The xxx_kernel() versions are
1012 * used to allocate a kernel page table - this turns on ASN bits
....@@ -25,68 +27,11 @@
2527 }
2628
2729 static inline void
28
-pgd_populate(struct mm_struct *mm, pgd_t *pgd, pmd_t *pmd)
30
+pud_populate(struct mm_struct *mm, pud_t *pud, pmd_t *pmd)
2931 {
30
- pgd_set(pgd, pmd);
32
+ pud_set(pud, pmd);
3133 }
3234
3335 extern pgd_t *pgd_alloc(struct mm_struct *mm);
34
-
35
-static inline void
36
-pgd_free(struct mm_struct *mm, pgd_t *pgd)
37
-{
38
- free_page((unsigned long)pgd);
39
-}
40
-
41
-static inline pmd_t *
42
-pmd_alloc_one(struct mm_struct *mm, unsigned long address)
43
-{
44
- pmd_t *ret = (pmd_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO);
45
- return ret;
46
-}
47
-
48
-static inline void
49
-pmd_free(struct mm_struct *mm, pmd_t *pmd)
50
-{
51
- free_page((unsigned long)pmd);
52
-}
53
-
54
-static inline pte_t *
55
-pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
56
-{
57
- pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_ZERO);
58
- return pte;
59
-}
60
-
61
-static inline void
62
-pte_free_kernel(struct mm_struct *mm, pte_t *pte)
63
-{
64
- free_page((unsigned long)pte);
65
-}
66
-
67
-static inline pgtable_t
68
-pte_alloc_one(struct mm_struct *mm, unsigned long address)
69
-{
70
- pte_t *pte = pte_alloc_one_kernel(mm, address);
71
- struct page *page;
72
-
73
- if (!pte)
74
- return NULL;
75
- page = virt_to_page(pte);
76
- if (!pgtable_page_ctor(page)) {
77
- __free_page(page);
78
- return NULL;
79
- }
80
- return page;
81
-}
82
-
83
-static inline void
84
-pte_free(struct mm_struct *mm, pgtable_t page)
85
-{
86
- pgtable_page_dtor(page);
87
- __free_page(page);
88
-}
89
-
90
-#define check_pgt_cache() do { } while (0)
9136
9237 #endif /* _ALPHA_PGALLOC_H */