support shared anonymous mapping
mmap(..., MAP_SHARED|MAP_ANONYMOUS, ...) is possible now. shared mapped file is still not implemented.
This commit is contained in:
@@ -316,6 +316,7 @@ out:
|
||||
SYSCALL_DECLARE(mmap)
|
||||
{
|
||||
const int supported_flags = 0
|
||||
| MAP_SHARED // 01
|
||||
| MAP_PRIVATE // 02
|
||||
| MAP_FIXED // 10
|
||||
| MAP_ANONYMOUS // 20
|
||||
@@ -329,7 +330,6 @@ SYSCALL_DECLARE(mmap)
|
||||
| MAP_STACK // 00020000
|
||||
;
|
||||
const int error_flags = 0
|
||||
| MAP_SHARED // 01
|
||||
#ifndef USE_NOCACHE_MMAP
|
||||
| MAP_32BIT // 40
|
||||
#endif /* ndef USE_NOCACHE_MMAP */
|
||||
@@ -410,6 +410,14 @@ SYSCALL_DECLARE(mmap)
|
||||
goto out;
|
||||
}
|
||||
|
||||
if ((flags & MAP_SHARED) && !(flags & MAP_ANONYMOUS)) {
|
||||
ekprintf("sys_mmap(%lx,%lx,%x,%x,%x,%lx):NYI:shared mapped file%lx\n",
|
||||
addr0, len0, prot, flags, fd, off,
|
||||
(flags & ~(supported_flags | ignored_flags)));
|
||||
error = -EINVAL;
|
||||
goto out;
|
||||
}
|
||||
|
||||
ihk_mc_spinlock_lock_noirq(&proc->vm->memory_range_lock);
|
||||
|
||||
if (flags & MAP_FIXED) {
|
||||
|
||||
Reference in New Issue
Block a user