1
2
3
4
5
6
7
8
9
10#ifndef _ASM_NIOS2_PGALLOC_H
11#define _ASM_NIOS2_PGALLOC_H
12
13#include <linux/mm.h>
14
15#include <asm-generic/pgalloc.h>
16
17static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd,
18 pte_t *pte)
19{
20 set_pmd(pmd, __pmd((unsigned long)pte));
21}
22
23static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd,
24 pgtable_t pte)
25{
26 set_pmd(pmd, __pmd((unsigned long)page_address(pte)));
27}
28
29
30
31
32extern void pmd_init(unsigned long page, unsigned long pagetable);
33
34extern pgd_t *pgd_alloc(struct mm_struct *mm);
35
36#define __pte_free_tlb(tlb, pte, addr) \
37 do { \
38 pgtable_pte_page_dtor(pte); \
39 tlb_remove_page((tlb), (pte)); \
40 } while (0)
41
42#endif
43