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