diff options
author | Dmitry V. Levin <ldv@altlinux.org> | 2008-11-10 22:21:41 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2008-11-10 22:21:41 +0000 |
commit | 87ea1f4fe68c6110a96a76f8601b3e204200082d (patch) | |
tree | a49153df4979f3624901eed35b57682339c0bf97 /system.c | |
parent | d915c802ef929956e29be921f388be39a4d209a8 (diff) | |
download | strace-87ea1f4fe68c6110a96a76f8601b3e204200082d.tar.gz strace-87ea1f4fe68c6110a96a76f8601b3e204200082d.tar.bz2 strace-87ea1f4fe68c6110a96a76f8601b3e204200082d.tar.xz |
2008-10-23 Mike Frysinger <vapier@gentoo.org>
Port strace to the Blackfin architecture.
* configure.ac: Add bfin to supported architectures.
* process.c: Skip u_fpvalid/u_fpstate for Blackfin architecture.
(change_syscall): Support Blackfin architecture.
* syscall.c: Declare r0 for Blackfin architecture.
(get_scno): Decode Blackfin syscall number.
(syscall_fixup): Extract Blackfin return value.
(get_error): Decode Blackfin return value.
(force_result): Poke Blackfin return value.
(syscall_enter): Extract Blackfin syscall arguments.
* defs.h: Define TCB_WAITEXECVE for Blackfin architecture.
* linux/syscall.h (sys_sram_alloc): Declare for Blackfin
architecture.
* system.c (sys_sram_alloc): Decode Blackfin sram_alloc() syscall.
* util.c (getpc): Handle PC on Blackfin architecture.
(printcall): Likewise.
* linux/bfin/ioctlent.h, linux/bfin/syscallent.h: New Blackfin
headers.
* Makefile.am (EXTRA_DIST): Add linux/bfin/ioctlent.h and
linux/bfin/syscallent.h.
Diffstat (limited to 'system.c')
-rw-r--r-- | system.c | 27 |
1 files changed, 27 insertions, 0 deletions
@@ -293,6 +293,33 @@ struct tcb *tcp; } #endif /* M68K */ +#ifdef BFIN + +#include <bfin_sram.h> + +static const struct xlat sram_alloc_flags[] = { + { L1_INST_SRAM, "L1_INST_SRAM" }, + { L1_DATA_A_SRAM, "L1_DATA_A_SRAM" }, + { L1_DATA_B_SRAM, "L1_DATA_B_SRAM" }, + { L1_DATA_SRAM, "L1_DATA_SRAM" }, + { 0, NULL }, +}; + +int +sys_sram_alloc(tcp) +struct tcb *tcp; +{ + if (entering(tcp)) { + /* size */ + tprintf("%zu, ", tcp->u_arg[0]); + /* flags */ + printxval(sram_alloc_flags, tcp->u_arg[1], "L1_???_SRAM"); + } + return 1; +} + +#endif + #endif /* LINUX */ #ifdef SUNOS4 |