1#ifndef VMREGION_H 2#define VMREGION_H 3 4#include <linux/spinlock.h> 5#include <linux/list.h> 6 7struct page; 8 9struct arm_vmregion_head { 10 spinlock_t vm_lock; 11 struct list_head vm_list; 12 unsigned long vm_start; 13 unsigned long vm_end; 14}; 15 16struct arm_vmregion { 17 struct list_head vm_list; 18 unsigned long vm_start; 19 unsigned long vm_end; 20 struct page *vm_pages; 21 int vm_active; 22}; 23 24struct arm_vmregion *arm_vmregion_alloc(struct arm_vmregion_head *, size_t, size_t, gfp_t); 25struct arm_vmregion *arm_vmregion_find(struct arm_vmregion_head *, unsigned long); 26struct arm_vmregion *arm_vmregion_find_remove(struct arm_vmregion_head *, unsigned long); 27void arm_vmregion_free(struct arm_vmregion_head *, struct arm_vmregion *); 28 29#endif 30