]> granicus.if.org Git - strace/commitdiff
Implement migrate_pages syscall decoder
authorDmitry V. Levin <ldv@altlinux.org>
Sun, 11 Mar 2012 22:44:14 +0000 (22:44 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Sun, 11 Mar 2012 22:44:14 +0000 (22:44 +0000)
* linux/dummy.h (sys_migrate_pages): Remove.
* linux/syscall.h (sys_migrate_pages): New prototype.
* mem.c (sys_migrate_pages): New function.

linux/dummy.h
linux/syscall.h
mem.c

index 8477015e6fc80966ac86c4d90b595b208158d27f..03191ecd155773df11aab42a60d9eca7e9e0831f 100644 (file)
@@ -39,7 +39,6 @@
 #define        sys_kexec_load          printargs
 #define        sys_keyctl              printargs
 #define        sys_lookup_dcookie      printargs
-#define        sys_migrate_pages       printargs
 #define        sys_name_to_handle_at   printargs
 #define        sys_open_by_handle_at   printargs
 #define        sys_perf_event_open     printargs
index c565776e809e0ebe94a83e896259782ff4b7e864..7abc4cf792348960f1906ec3fb7ab13e6ae54f7d 100644 (file)
@@ -132,6 +132,7 @@ int sys_lstat();
 int sys_lstat64();
 int sys_madvise();
 int sys_mbind();
+int sys_migrate_pages();
 int sys_mincore();
 int sys_mkdir();
 int sys_mkdirat();
diff --git a/mem.c b/mem.c
index 6432a35e95b00dd37fbc8bf73db7d49e648f5fa1..88b3a2b477d660897f2a0ce0f2b365e0c7e9cf4a 100644 (file)
--- a/mem.c
+++ b/mem.c
@@ -828,6 +828,18 @@ sys_get_mempolicy(struct tcb *tcp)
        return 0;
 }
 
+int
+sys_migrate_pages(struct tcb *tcp)
+{
+       if (entering(tcp)) {
+               tprintf("%ld, ", (long) (pid_t) tcp->u_arg[0]);
+               get_nodes(tcp, tcp->u_arg[2], tcp->u_arg[1], 0);
+               tprints(", ");
+               get_nodes(tcp, tcp->u_arg[3], tcp->u_arg[1], 0);
+       }
+       return 0;
+}
+
 int
 sys_move_pages(struct tcb *tcp)
 {