diff options
Diffstat (limited to 'include/linux/vmalloc.h')
| -rw-r--r-- | include/linux/vmalloc.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 132b260aef1e..89338b468d0d 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h | |||
| @@ -58,6 +58,13 @@ void vmalloc_sync_all(void); | |||
| 58 | /* | 58 | /* |
| 59 | * Lowlevel-APIs (not for driver use!) | 59 | * Lowlevel-APIs (not for driver use!) |
| 60 | */ | 60 | */ |
| 61 | |||
| 62 | static inline size_t get_vm_area_size(const struct vm_struct *area) | ||
| 63 | { | ||
| 64 | /* return actual size without guard page */ | ||
| 65 | return area->size - PAGE_SIZE; | ||
| 66 | } | ||
| 67 | |||
| 61 | extern struct vm_struct *get_vm_area(unsigned long size, unsigned long flags); | 68 | extern struct vm_struct *get_vm_area(unsigned long size, unsigned long flags); |
| 62 | extern struct vm_struct *__get_vm_area(unsigned long size, unsigned long flags, | 69 | extern struct vm_struct *__get_vm_area(unsigned long size, unsigned long flags, |
| 63 | unsigned long start, unsigned long end); | 70 | unsigned long start, unsigned long end); |
| @@ -70,6 +77,10 @@ extern int map_vm_area(struct vm_struct *area, pgprot_t prot, | |||
| 70 | struct page ***pages); | 77 | struct page ***pages); |
| 71 | extern void unmap_kernel_range(unsigned long addr, unsigned long size); | 78 | extern void unmap_kernel_range(unsigned long addr, unsigned long size); |
| 72 | 79 | ||
| 80 | /* Allocate/destroy a 'vmalloc' VM area. */ | ||
| 81 | extern struct vm_struct *alloc_vm_area(size_t size); | ||
| 82 | extern void free_vm_area(struct vm_struct *area); | ||
| 83 | |||
| 73 | /* | 84 | /* |
| 74 | * Internals. Dont't use.. | 85 | * Internals. Dont't use.. |
| 75 | */ | 86 | */ |
