summary refs log tree commit diff stats
path: root/linux-user
diff options
context:
space:
mode:
authorLluís Vilanova <vilanova@ac.upc.edu>2016-06-21 15:52:04 +0200
committerStefan Hajnoczi <stefanha@redhat.com>2016-06-28 21:14:12 +0100
commit9c15e70086f3343bd810c6150d92ebfd6f346fcf (patch)
treebdd17dcf3a603d844b208038f333f0bf8de6fe6f /linux-user
parent06a1e0c197ec631a2a3e47a803c52609a8405f69 (diff)
downloadfocaccia-qemu-9c15e70086f3343bd810c6150d92ebfd6f346fcf.tar.gz
focaccia-qemu-9c15e70086f3343bd810c6150d92ebfd6f346fcf.zip
trace: [*-user] Add events to trace guest syscalls in syscall emulation mode
Adds two events to trace syscalls in syscall emulation mode (*-user):

* guest_user_syscall: Emitted before the syscall is emulated; contains
  the syscall number and arguments.

* guest_user_syscall_ret: Emitted after the syscall is emulated;
  contains the syscall number and return value.

Signed-off-by: Lluís Vilanova <vilanova@ac.upc.edu>
Message-id: 146651712411.12388.10024905980452504938.stgit@fimbulvetr.bsc.es
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'linux-user')
-rw-r--r--linux-user/syscall.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/linux-user/syscall.c b/linux-user/syscall.c
index 1c17b741c2..e59f16d607 100644
--- a/linux-user/syscall.c
+++ b/linux-user/syscall.c
@@ -6690,6 +6690,7 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1,
 #ifdef DEBUG
     gemu_log("syscall %d", num);
 #endif
+    trace_guest_user_syscall(cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
     if(do_strace)
         print_syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
 
@@ -11182,6 +11183,7 @@ fail:
 #endif
     if(do_strace)
         print_syscall_ret(num, ret);
+    trace_guest_user_syscall_ret(cpu, num, ret);
     return ret;
 efault:
     ret = -TARGET_EFAULT;