diff options
-rw-r--r-- | Documentation/nommu-mmap.txt | 10 | ||||
-rw-r--r-- | mm/nommu.c | 14 |
2 files changed, 19 insertions, 5 deletions
diff --git a/Documentation/nommu-mmap.txt b/Documentation/nommu-mmap.txt index 4db7c18bf68c..7714f57caad5 100644 --- a/Documentation/nommu-mmap.txt +++ b/Documentation/nommu-mmap.txt | |||
@@ -138,6 +138,16 @@ mode. The former through the usual mechanism, the latter through files created | |||
138 | on ramfs or tmpfs mounts. | 138 | on ramfs or tmpfs mounts. |
139 | 139 | ||
140 | 140 | ||
141 | ======= | ||
142 | FUTEXES | ||
143 | ======= | ||
144 | |||
145 | Futexes are supported in NOMMU mode if the arch supports them. An error will | ||
146 | be given if an address passed to the futex system call lies outside the | ||
147 | mappings made by a process or if the mapping in which the address lies does not | ||
148 | support futexes (such as an I/O chardev mapping). | ||
149 | |||
150 | |||
141 | ============= | 151 | ============= |
142 | NO-MMU MREMAP | 152 | NO-MMU MREMAP |
143 | ============= | 153 | ============= |
diff --git a/mm/nommu.c b/mm/nommu.c index 23cfa8ec914a..564540662192 100644 --- a/mm/nommu.c +++ b/mm/nommu.c | |||
@@ -350,6 +350,15 @@ struct vm_area_struct *find_vma(struct mm_struct *mm, unsigned long addr) | |||
350 | EXPORT_SYMBOL(find_vma); | 350 | EXPORT_SYMBOL(find_vma); |
351 | 351 | ||
352 | /* | 352 | /* |
353 | * find a VMA | ||
354 | * - we don't extend stack VMAs under NOMMU conditions | ||
355 | */ | ||
356 | struct vm_area_struct *find_extend_vma(struct mm_struct *mm, unsigned long addr) | ||
357 | { | ||
358 | return find_vma(mm, addr); | ||
359 | } | ||
360 | |||
361 | /* | ||
353 | * look up the first VMA exactly that exactly matches addr | 362 | * look up the first VMA exactly that exactly matches addr |
354 | * - should be called with mm->mmap_sem at least held readlocked | 363 | * - should be called with mm->mmap_sem at least held readlocked |
355 | */ | 364 | */ |
@@ -1153,11 +1162,6 @@ struct page *follow_page(struct vm_area_struct *vma, unsigned long address, | |||
1153 | return NULL; | 1162 | return NULL; |
1154 | } | 1163 | } |
1155 | 1164 | ||
1156 | struct vm_area_struct *find_extend_vma(struct mm_struct *mm, unsigned long addr) | ||
1157 | { | ||
1158 | return NULL; | ||
1159 | } | ||
1160 | |||
1161 | int remap_pfn_range(struct vm_area_struct *vma, unsigned long from, | 1165 | int remap_pfn_range(struct vm_area_struct *vma, unsigned long from, |
1162 | unsigned long to, unsigned long size, pgprot_t prot) | 1166 | unsigned long to, unsigned long size, pgprot_t prot) |
1163 | { | 1167 | { |