diff options
| author | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-05-24 03:06:26 -0400 |
|---|---|---|
| committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2011-05-24 03:06:26 -0400 |
| commit | b73077eb03f510a84b102fb97640e595a958403c (patch) | |
| tree | 8b639000418e2756bf6baece4e00e07d2534bccc /include/linux/vmalloc.h | |
| parent | 28350e330cfab46b60a1dbf763b678d859f9f3d9 (diff) | |
| parent | 9d2e173644bb5c42ff1b280fbdda3f195a7cf1f7 (diff) | |
Merge branch 'next' into for-linus
Diffstat (limited to 'include/linux/vmalloc.h')
| -rw-r--r-- | include/linux/vmalloc.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/linux/vmalloc.h b/include/linux/vmalloc.h index 4ed6fcd6b726..9332e52ea8c2 100644 --- a/include/linux/vmalloc.h +++ b/include/linux/vmalloc.h | |||
| @@ -95,10 +95,27 @@ extern struct vm_struct *remove_vm_area(const void *addr); | |||
| 95 | 95 | ||
| 96 | extern int map_vm_area(struct vm_struct *area, pgprot_t prot, | 96 | extern int map_vm_area(struct vm_struct *area, pgprot_t prot, |
| 97 | struct page ***pages); | 97 | struct page ***pages); |
| 98 | #ifdef CONFIG_MMU | ||
| 98 | extern int map_kernel_range_noflush(unsigned long start, unsigned long size, | 99 | extern int map_kernel_range_noflush(unsigned long start, unsigned long size, |
| 99 | pgprot_t prot, struct page **pages); | 100 | pgprot_t prot, struct page **pages); |
| 100 | extern void unmap_kernel_range_noflush(unsigned long addr, unsigned long size); | 101 | extern void unmap_kernel_range_noflush(unsigned long addr, unsigned long size); |
| 101 | extern void unmap_kernel_range(unsigned long addr, unsigned long size); | 102 | extern void unmap_kernel_range(unsigned long addr, unsigned long size); |
| 103 | #else | ||
| 104 | static inline int | ||
| 105 | map_kernel_range_noflush(unsigned long start, unsigned long size, | ||
| 106 | pgprot_t prot, struct page **pages) | ||
| 107 | { | ||
| 108 | return size >> PAGE_SHIFT; | ||
| 109 | } | ||
| 110 | static inline void | ||
| 111 | unmap_kernel_range_noflush(unsigned long addr, unsigned long size) | ||
| 112 | { | ||
| 113 | } | ||
| 114 | static inline void | ||
| 115 | unmap_kernel_range(unsigned long addr, unsigned long size) | ||
| 116 | { | ||
| 117 | } | ||
| 118 | #endif | ||
| 102 | 119 | ||
| 103 | /* Allocate/destroy a 'vmalloc' VM area. */ | 120 | /* Allocate/destroy a 'vmalloc' VM area. */ |
| 104 | extern struct vm_struct *alloc_vm_area(size_t size); | 121 | extern struct vm_struct *alloc_vm_area(size_t size); |
| @@ -116,11 +133,26 @@ extern struct vm_struct *vmlist; | |||
| 116 | extern __init void vm_area_register_early(struct vm_struct *vm, size_t align); | 133 | extern __init void vm_area_register_early(struct vm_struct *vm, size_t align); |
| 117 | 134 | ||
| 118 | #ifdef CONFIG_SMP | 135 | #ifdef CONFIG_SMP |
| 136 | # ifdef CONFIG_MMU | ||
| 119 | struct vm_struct **pcpu_get_vm_areas(const unsigned long *offsets, | 137 | struct vm_struct **pcpu_get_vm_areas(const unsigned long *offsets, |
| 120 | const size_t *sizes, int nr_vms, | 138 | const size_t *sizes, int nr_vms, |
| 121 | size_t align); | 139 | size_t align); |
| 122 | 140 | ||
| 123 | void pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms); | 141 | void pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms); |
| 142 | # else | ||
| 143 | static inline struct vm_struct ** | ||
| 144 | pcpu_get_vm_areas(const unsigned long *offsets, | ||
| 145 | const size_t *sizes, int nr_vms, | ||
| 146 | size_t align) | ||
| 147 | { | ||
| 148 | return NULL; | ||
| 149 | } | ||
| 150 | |||
| 151 | static inline void | ||
| 152 | pcpu_free_vm_areas(struct vm_struct **vms, int nr_vms) | ||
| 153 | { | ||
| 154 | } | ||
| 155 | # endif | ||
| 124 | #endif | 156 | #endif |
| 125 | 157 | ||
| 126 | #endif /* _LINUX_VMALLOC_H */ | 158 | #endif /* _LINUX_VMALLOC_H */ |
