summaryrefslogtreecommitdiff
path: root/system.c
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2010-09-11 15:04:18 -0400
committerDmitry V. Levin <ldv@altlinux.org>2010-09-15 15:36:00 +0000
commit260e571343b12221ad848a9c972fc5518d66ef2c (patch)
treed9214226545682340b30452a3ac82ed1e5610613 /system.c
parent1b30f4b7b73e6840ddfe299a84a5864074de66b7 (diff)
downloadstrace-260e571343b12221ad848a9c972fc5518d66ef2c.tar.gz
strace-260e571343b12221ad848a9c972fc5518d66ef2c.tar.bz2
strace-260e571343b12221ad848a9c972fc5518d66ef2c.tar.xz
Blackfin: decode new syscalls
* linux/bfin/syscallent.h: Add fanotify/prlimit/cacheflush syscalls. * linux/syscall.h: Add sys_cacheflush() decl. * system.c: Decode Blackfin's cacheflush syscall. Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Diffstat (limited to 'system.c')
-rw-r--r--system.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/system.c b/system.c
index 63a64b8..e16a6be 100644
--- a/system.c
+++ b/system.c
@@ -318,6 +318,29 @@ sys_sram_alloc(struct tcb *tcp)
return 1;
}
+#include <asm/cachectl.h>
+
+static const struct xlat cacheflush_flags[] = {
+ { ICACHE, "ICACHE" },
+ { DCACHE, "DCACHE" },
+ { BCACHE, "BCACHE" },
+ { 0, NULL },
+};
+
+int
+sys_cacheflush(struct tcb *tcp)
+{
+ if (entering(tcp)) {
+ /* start addr */
+ tprintf("%#lx, ", tcp->u_arg[0]);
+ /* length */
+ tprintf("%ld, ", tcp->u_arg[1]);
+ /* flags */
+ printxval(cacheflush_flags, tcp->u_arg[1], "?CACHE");
+ }
+ return 0;
+}
+
#endif
#endif /* LINUX */