summaryrefslogtreecommitdiff
path: root/linux-user/syscall.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-07-09 17:12:39 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-07-09 17:12:39 +0000
commit6fb883e8e3ce8fc661e4bb9f068565b4ccd97abf (patch)
tree1b1621284b3be094f99ba00478e7e54749a30259 /linux-user/syscall.c
parent6e295807acbaf7eb3200a685376fb968ebdb8571 (diff)
downloadqemu-6fb883e8e3ce8fc661e4bb9f068565b4ccd97abf.tar.gz
qemu-6fb883e8e3ce8fc661e4bb9f068565b4ccd97abf.tar.bz2
qemu-6fb883e8e3ce8fc661e4bb9f068565b4ccd97abf.zip
ARM fix: mmap
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@315 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'linux-user/syscall.c')
-rw-r--r--linux-user/syscall.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index cd3fdf5535..932fe4658d 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -1791,8 +1791,8 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
goto unimplemented;
case TARGET_NR_readdir:
goto unimplemented;
-#ifdef TARGET_I386
case TARGET_NR_mmap:
+#if defined(TARGET_I386) || defined(TARGET_ARM)
{
uint32_t v1, v2, v3, v4, v5, v6, *vptr;
vptr = (uint32_t *)arg1;
@@ -1806,13 +1806,14 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
target_to_host_bitmask(v4, mmap_flags_tbl),
v5, v6));
}
- break;
-#endif
-#ifdef TARGET_I386
- case TARGET_NR_mmap2:
#else
- case TARGET_NR_mmap:
+ ret = get_errno(target_mmap(arg1, arg2, arg3,
+ target_to_host_bitmask(arg4, mmap_flags_tbl),
+ arg5,
+ arg6));
#endif
+ break;
+ case TARGET_NR_mmap2:
ret = get_errno(target_mmap(arg1, arg2, arg3,
target_to_host_bitmask(arg4, mmap_flags_tbl),
arg5,