Skip to contentSkip to conversation

ARM EABI pread/pwrite fix

PATCH New Kirill A. Shutemov 1 participant 1 message Apr 8, 2007

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ARM EABI pread/pwrite fix

Add ARM EABI syscall interface support for pread/pwrite. Patch in the=20 atachement.

Signature · 4 lines
Regards,  Kirill A. Shutemov
 + Belarus, Minsk
 + Velesys LLC, http://www.velesys.com/
 + ALT Linux Team, http://www.altlinux.com/
qemu.spec +0 -0
qemu/linux-user/syscall.c +12 -0
index 33778aa..8b0f845 100644
@@ -3528,12 +3528,24 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
         break;
 #ifdef TARGET_NR_pread
     case TARGET_NR_pread:
+#ifdef TARGET_ARM
+        if (((CPUARMState *)cpu_env)->eabi)
+        {
+            arg4 = arg5;
+        }
+#endif
         page_unprotect_range(arg2, arg3);
         p = lock_user(arg2, arg3, 0);
         ret = get_errno(pread(arg1, p, arg3, arg4));
         unlock_user(p, arg2, ret);
         break;
     case TARGET_NR_pwrite:
+#ifdef TARGET_ARM
+        if (((CPUARMState *)cpu_env)->eabi)
+        {
+            arg4 = arg5;
+        }
+#endif
         p = lock_user(arg2, arg3, 1);
         ret = get_errno(pwrite(arg1, p, arg3, arg4));
         unlock_user(p, arg2, 0);