Fix fstat for MIPS userland emulation, and add support for a cacheflush
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 8 Dec 2006 01:32:58 +0000 (01:32 +0000)
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>
Fri, 8 Dec 2006 01:32:58 +0000 (01:32 +0000)
syscall, thanks to Dave Denholm.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@2234 c046a42c-6fe2-441c-8c8c-71466251a162

linux-user/syscall.c

index e952128..075460b 100644 (file)
@@ -2933,7 +2933,7 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
                 lock_user_struct(target_st, arg2, 0);
                 target_st->st_dev = tswap16(st.st_dev);
                 target_st->st_ino = tswapl(st.st_ino);
-#if defined(TARGET_PPC)
+#if defined(TARGET_PPC) || defined(TARGET_MIPS)
                 target_st->st_mode = tswapl(st.st_mode); /* XXX: check this */
                 target_st->st_uid = tswap32(st.st_uid);
                 target_st->st_gid = tswap32(st.st_gid);
@@ -3829,6 +3829,12 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3,
        break;
     }
 #endif
+#ifdef TARGET_NR_cacheflush
+    case TARGET_NR_cacheflush:
+        /* self-modifying code is handled automatically, so nothing needed */
+        ret = 0;
+        break;
+#endif
 #ifdef TARGET_NR_security
     case TARGET_NR_security:
         goto unimplemented;