hc
2024-05-10 37f49e37ab4cb5d0bc4c60eb5c6d4dd57db767bb
kernel/arch/nios2/include/asm/pgalloc.h
....@@ -12,6 +12,8 @@
1212
1313 #include <linux/mm.h>
1414
15
+#include <asm-generic/pgalloc.h>
16
+
1517 static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd,
1618 pte_t *pte)
1719 {
....@@ -32,54 +34,10 @@
3234
3335 extern pgd_t *pgd_alloc(struct mm_struct *mm);
3436
35
-static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd)
36
-{
37
- free_pages((unsigned long)pgd, PGD_ORDER);
38
-}
39
-
40
-static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm,
41
- unsigned long address)
42
-{
43
- pte_t *pte;
44
-
45
- pte = (pte_t *) __get_free_pages(GFP_KERNEL|__GFP_ZERO, PTE_ORDER);
46
-
47
- return pte;
48
-}
49
-
50
-static inline pgtable_t pte_alloc_one(struct mm_struct *mm,
51
- unsigned long address)
52
-{
53
- struct page *pte;
54
-
55
- pte = alloc_pages(GFP_KERNEL, PTE_ORDER);
56
- if (pte) {
57
- if (!pgtable_page_ctor(pte)) {
58
- __free_page(pte);
59
- return NULL;
60
- }
61
- clear_highpage(pte);
62
- }
63
- return pte;
64
-}
65
-
66
-static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte)
67
-{
68
- free_pages((unsigned long)pte, PTE_ORDER);
69
-}
70
-
71
-static inline void pte_free(struct mm_struct *mm, struct page *pte)
72
-{
73
- pgtable_page_dtor(pte);
74
- __free_pages(pte, PTE_ORDER);
75
-}
76
-
7737 #define __pte_free_tlb(tlb, pte, addr) \
7838 do { \
79
- pgtable_page_dtor(pte); \
39
+ pgtable_pte_page_dtor(pte); \
8040 tlb_remove_page((tlb), (pte)); \
8141 } while (0)
82
-
83
-#define check_pgt_cache() do { } while (0)
8442
8543 #endif /* _ASM_NIOS2_PGALLOC_H */