提交 24836689 编写于 作者: P pbrook

Implement acct and pretend to implement madvise.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1819 c046a42c-6fe2-441c-8c8c-71466251a162
上级 d4b8f039
...@@ -2145,7 +2145,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, ...@@ -2145,7 +2145,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
goto unimplemented; goto unimplemented;
case TARGET_NR_acct: case TARGET_NR_acct:
goto unimplemented; p = lock_user_string(arg1);
ret = get_errno(acct(path(p)));
unlock_user(p, arg1, 0);
break;
case TARGET_NR_umount2: case TARGET_NR_umount2:
p = lock_user_string(arg1); p = lock_user_string(arg1);
ret = get_errno(umount2(p, arg2)); ret = get_errno(umount2(p, arg2));
...@@ -3547,7 +3550,12 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, ...@@ -3547,7 +3550,12 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
#endif #endif
#ifdef TARGET_NR_madvise #ifdef TARGET_NR_madvise
case TARGET_NR_madvise: case TARGET_NR_madvise:
goto unimplemented; /* A straight passthrough may not be safe because qemu sometimes
turns private flie-backed mappings into anonymous mappings.
This will break MADV_DONTNEED.
This is a hint, so ignoring and returning success is ok. */
ret = get_errno(0);
break;
#endif #endif
#if TARGET_LONG_BITS == 32 #if TARGET_LONG_BITS == 32
case TARGET_NR_fcntl64: case TARGET_NR_fcntl64:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册