* On nommu, vmalloc/vfree wrap through kmalloc/kfree directly, so there
* is no special casing required.
*/
-
+static inline bool is_vmalloc_addr(const void *x)
+{
#ifdef CONFIG_MMU
-extern int is_vmalloc_addr(const void *x);
+ unsigned long addr = (unsigned long)x;
+
+ return addr >= VMALLOC_START && addr < VMALLOC_END;
#else
-static inline int is_vmalloc_addr(const void *x)
-{
- return 0;
-}
+ return false;
#endif
-
+}
#ifdef CONFIG_MMU
extern int is_vmalloc_or_module_addr(const void *x);
#else
extern __init void vm_area_add_early(struct vm_struct *vm);
extern __init void vm_area_register_early(struct vm_struct *vm, size_t align);
extern __init int vm_area_check_early(struct vm_struct *vm);
-#ifdef CONFIG_ENABLE_VMALLOC_SAVING
-extern void mark_vmalloc_reserved_area(void *addr, unsigned long size);
-#else
-static inline void mark_vmalloc_reserved_area(void *addr, unsigned long size)
-{ };
-#endif
#ifdef CONFIG_SMP
# ifdef CONFIG_MMU
#endif
#ifdef CONFIG_MMU
-#ifdef CONFIG_ENABLE_VMALLOC_SAVING
-extern unsigned long total_vmalloc_size;
-#define VMALLOC_TOTAL total_vmalloc_size
-#else
#define VMALLOC_TOTAL (VMALLOC_END - VMALLOC_START)
-#endif
#else
#define VMALLOC_TOTAL 0UL
#endif
static unsigned long vmap_area_pcpu_hole;
-#ifdef CONFIG_ENABLE_VMALLOC_SAVING
-#define POSSIBLE_VMALLOC_START PAGE_OFFSET
-
-#define VMALLOC_BITMAP_SIZE ((VMALLOC_END - PAGE_OFFSET) >> \
- PAGE_SHIFT)
-#define VMALLOC_TO_BIT(addr) ((addr - PAGE_OFFSET) >> PAGE_SHIFT)
-#define BIT_TO_VMALLOC(i) (PAGE_OFFSET + i * PAGE_SIZE)
-
-unsigned long total_vmalloc_size;
-unsigned long vmalloc_reserved;
-
-DECLARE_BITMAP(possible_areas, VMALLOC_BITMAP_SIZE);
-
-void mark_vmalloc_reserved_area(void *x, unsigned long size)
-{
- unsigned long addr = (unsigned long)x;
-
- bitmap_set(possible_areas, VMALLOC_TO_BIT(addr), size >> PAGE_SHIFT);
- vmalloc_reserved += size;
-}
-
-int is_vmalloc_addr(const void *x)
-{
- unsigned long addr = (unsigned long)x;
-
- if (addr < POSSIBLE_VMALLOC_START || addr >= VMALLOC_END)
- return 0;
-
- if (test_bit(VMALLOC_TO_BIT(addr), possible_areas))
- return 0;
-
- return 1;
-}
-
-static void calc_total_vmalloc_size(void)
-{
- total_vmalloc_size = VMALLOC_END - POSSIBLE_VMALLOC_START -
- vmalloc_reserved;
-}
-#else
-int is_vmalloc_addr(const void *x)
-{
- unsigned long addr = (unsigned long)x;
-
- return addr >= VMALLOC_START && addr < VMALLOC_END;
-}
-
-static void calc_total_vmalloc_size(void) { }
-#endif
-EXPORT_SYMBOL(is_vmalloc_addr);
-
static struct vmap_area *__find_vmap_area(unsigned long addr)
{
struct rb_node *n = vmap_area_root.rb_node;
}
vmap_area_pcpu_hole = VMALLOC_END;
- calc_total_vmalloc_size();
+
vmap_initialized = true;
}
if (is_vmalloc_addr(v->pages))
seq_puts(m, " vpages");
- if (v->flags & VM_LOWMEM)
- seq_puts(m, " lowmem");
-
show_numa_info(m, v);
seq_putc(m, '\n');
return 0;