mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
[PATCH] NOMMU: Make SYSV IPC SHM use ramfs facilities on NOMMU
The attached patch makes the SYSV IPC shared memory facilities use the new ramfs facilities on a no-MMU kernel. The following changes are made: (1) There are now shmem_mmap() and shmem_get_unmapped_area() functions to allow the IPC SHM facilities to commune with the tiny-shmem and shmem code. (2) ramfs files now need resizing using do_truncate() rather than by modifying the inode size directly (see shmem_file_setup()). This causes ramfs to attempt to bind a block of pages of sufficient size to the inode. (3) CONFIG_SYSVIPC is no longer contingent on CONFIG_MMU. Signed-off-by: David Howells <dhowells@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
parent
642fb4d1f1
commit
b0e15190ea
6 changed files with 58 additions and 8 deletions
|
@ -654,9 +654,18 @@ static inline struct mempolicy *shmem_get_policy(struct vm_area_struct *vma,
|
|||
}
|
||||
#endif
|
||||
struct file *shmem_file_setup(char *name, loff_t size, unsigned long flags);
|
||||
extern int shmem_mmap(struct file *file, struct vm_area_struct *vma);
|
||||
|
||||
int shmem_zero_setup(struct vm_area_struct *);
|
||||
|
||||
#ifndef CONFIG_MMU
|
||||
extern unsigned long shmem_get_unmapped_area(struct file *file,
|
||||
unsigned long addr,
|
||||
unsigned long len,
|
||||
unsigned long pgoff,
|
||||
unsigned long flags);
|
||||
#endif
|
||||
|
||||
static inline int can_do_mlock(void)
|
||||
{
|
||||
if (capable(CAP_IPC_LOCK))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue