| 1 |
|
| 2 | |
| 3 | * mm-internal APIs for vmalloc
|
| 4 |
|
| 5 | #ifndef __MM_VMALLOC_H
|
| 6 | #define __MM_VMALLOC_H
|
| 7 |
|
| 8 | #include <linux/vmalloc.h>
|
| 9 |
|
| 10 | #ifdef CONFIG_MMU
|
| 11 | void __init vmalloc_init(void);
|
| 12 | int __must_check vmap_pages_range_noflush(unsigned long addr, unsigned long end,
|
| 13 | pgprot_t prot, struct page **pages,
|
| 14 | unsigned int page_shift, gfp_t gfp_mask);
|
| 15 | unsigned int get_vm_area_page_order(struct vm_struct *vm);
|
| 16 | #else
|
| 17 | static inline void vmalloc_init(void) {}
|
| 18 |
|
| 19 | static inline
|
| 20 | int __must_check vmap_pages_range_noflush(unsigned long addr, unsigned long end,
|
| 21 | pgprot_t prot, struct page **pages,
|
| 22 | unsigned int page_shift, gfp_t gfp_mask)
|
| 23 | {
|
| 24 | return -EINVAL;
|
| 25 | }
|
| 26 |
|
| 27 | static inline void vunmap_range_noflush(unsigned long start, unsigned long end)
|
| 28 | {
|
| 29 | }
|
| 30 | #endif
|
| 31 |
|
| 32 | struct vm_struct *__get_vm_area_node(unsigned long size,
|
| 33 | unsigned long align, unsigned long shift,
|
| 34 | unsigned long vm_flags, unsigned long start,
|
| 35 | unsigned long end, int node, gfp_t gfp_mask,
|
| 36 | const void *caller);
|
| 37 |
|
| 38 | void clear_vm_uninitialized_flag(struct vm_struct *vm);
|
| 39 |
|
| 40 | int __must_check __vmap_pages_range_noflush(unsigned long addr,
|
| 41 | unsigned long end, pgprot_t prot,
|
| 42 | struct page **pages, unsigned int page_shift);
|
| 43 |
|
| 44 | void vunmap_range_noflush(unsigned long start, unsigned long end);
|
| 45 |
|
| 46 | void __vunmap_range_noflush(unsigned long start, unsigned long end);
|
| 47 |
|
| 48 | #endif
|