Commit 2054ac9baf27ecec52acde96881c9f0278ce04da
1 parent
34c9dd8e
linux-user: Add readahead syscall
Signed-off-by: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5479 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
1 changed file
with
14 additions
and
1 deletions
linux-user/syscall.c
@@ -5761,7 +5761,20 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, | @@ -5761,7 +5761,20 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, | ||
5761 | break; | 5761 | break; |
5762 | #ifdef TARGET_NR_readahead | 5762 | #ifdef TARGET_NR_readahead |
5763 | case TARGET_NR_readahead: | 5763 | case TARGET_NR_readahead: |
5764 | - goto unimplemented; | 5764 | +#if TARGET_ABI_BITS == 32 |
5765 | +#ifdef TARGET_ARM | ||
5766 | + if (((CPUARMState *)cpu_env)->eabi) | ||
5767 | + { | ||
5768 | + arg2 = arg3; | ||
5769 | + arg3 = arg4; | ||
5770 | + arg4 = arg5; | ||
5771 | + } | ||
5772 | +#endif | ||
5773 | + ret = get_errno(readahead(arg1, ((off64_t)arg3 << 32) | arg2, arg4)); | ||
5774 | +#else | ||
5775 | + ret = get_errno(readahead(arg1, arg2, arg3)); | ||
5776 | +#endif | ||
5777 | + break; | ||
5765 | #endif | 5778 | #endif |
5766 | #ifdef TARGET_NR_setxattr | 5779 | #ifdef TARGET_NR_setxattr |
5767 | case TARGET_NR_setxattr: | 5780 | case TARGET_NR_setxattr: |