diff options
Diffstat (limited to 'patches/TraceToolkit-0.9.5/TraceToolkit-0.9.5a-gds1.diff')
-rw-r--r-- | patches/TraceToolkit-0.9.5/TraceToolkit-0.9.5a-gds1.diff | 1006 |
1 files changed, 1006 insertions, 0 deletions
diff --git a/patches/TraceToolkit-0.9.5/TraceToolkit-0.9.5a-gds1.diff b/patches/TraceToolkit-0.9.5/TraceToolkit-0.9.5a-gds1.diff new file mode 100644 index 000000000..64385ccc0 --- /dev/null +++ b/patches/TraceToolkit-0.9.5/TraceToolkit-0.9.5a-gds1.diff @@ -0,0 +1,1006 @@ +diff -ru --new-file TraceToolkit-0.9.5/Daemon/TraceDaemon.c /home/kub/src/TraceToolkit-0.9.5/Daemon/TraceDaemon.c +--- TraceToolkit-0.9.5/Daemon/TraceDaemon.c Mon Apr 15 22:49:10 2002 ++++ /home/kub/src/TraceToolkit-0.9.5/Daemon/TraceDaemon.c Wed Aug 20 12:58:21 2003 +@@ -1039,6 +1039,7 @@ + return; + } + ++#if 0 + /* The first line is the column header, usually just CPU0, CPU1, etc. + Count the number of CPUs based on "CPUn" occurences. I didn't + see anything else in /proc that would have been any easier +@@ -1076,6 +1077,9 @@ + fclose(pIntFile); + return; + } ++#else ++ lNbCPU = 1; ++#endif + + /* At the beginning of each valid IRQ line is a digit. Scan for + it, skip through the CPU hit fields, skip the IRQ supplier (or +@@ -1104,6 +1108,7 @@ + return; + } + ++#if 0 + /* The trailing space is crucial in the next format because + it gets rid of all whitespace after the supplier field. + That sets it up for the final fgets() */ +@@ -1115,6 +1120,7 @@ + fclose(pIntFile); + return; + } ++#endif + + /* Get the rest of the line */ + fgets(lName, 100, pIntFile); +diff -ru --new-file TraceToolkit-0.9.5/Include/LinuxEvents.h /home/kub/src/TraceToolkit-0.9.5/Include/LinuxEvents.h +--- TraceToolkit-0.9.5/Include/LinuxEvents.h Tue Mar 19 06:54:55 2002 ++++ /home/kub/src/TraceToolkit-0.9.5/Include/LinuxEvents.h Wed Aug 20 12:19:09 2003 +@@ -52,6 +52,7 @@ + #define TRACE_ARCH_TYPE_SH 3 /* SH system */ + #define TRACE_ARCH_TYPE_S390 4 /* S/390 system */ + #define TRACE_ARCH_TYPE_MIPS 5 /* MIPS system */ ++#define TRACE_ARCH_TYPE_ARM 6 /* ARM system */ + + /* Standard definitions for variants */ + #define TRACE_ARCH_VARIANT_NONE 0 /* Main architecture implementation */ +diff -ru --new-file TraceToolkit-0.9.5/LibLTT/EventDB.c /home/kub/src/TraceToolkit-0.9.5/LibLTT/EventDB.c +--- TraceToolkit-0.9.5/LibLTT/EventDB.c Mon Apr 15 18:10:13 2002 ++++ /home/kub/src/TraceToolkit-0.9.5/LibLTT/EventDB.c Wed Aug 20 12:22:15 2003 +@@ -384,6 +384,11 @@ + "SYSCALL : %s; IP : 0x%08X", + pmDB->SyscallString(pmDB, RFT8(pmDB, SYSCALL_EVENT(pEventStruct)->syscall_id)), + RFT32(pmDB, SYSCALL_EVENT(pEventStruct)->address)); ++ else if (pmDB->ArchType == TRACE_ARCH_TYPE_ARM) ++ sprintf(pmString, ++ "SYSCALL : %s; PC : 0x%08X", ++ pmDB->SyscallString(pmDB, RFT8(pmDB, SYSCALL_EVENT(pEventStruct)->syscall_id)), ++ RFT32(pmDB, SYSCALL_EVENT(pEventStruct)->address)); + break; + + /* TRACE_TRAP_ENTRY */ +@@ -414,6 +419,11 @@ + "TRAP : %s; IP : 0x%08X", + pmDB->TrapString(pmDB, RFT16(pmDB, TRAP_EVENT(pEventStruct)->trap_id)), + RFT32(pmDB, TRAP_EVENT(pEventStruct)->address)); ++ else if (pmDB->ArchType == TRACE_ARCH_TYPE_ARM) ++ sprintf(pmString, ++ "TRAP : %s; PC : 0x%08X", ++ pmDB->TrapString(pmDB, RFT16(pmDB, TRAP_EVENT(pEventStruct)->trap_id)), ++ RFT32(pmDB, TRAP_EVENT(pEventStruct)->address)); + break; + + /* TRACE_IRQ_ENTRY */ +diff -ru --new-file TraceToolkit-0.9.5/LibLTT/LinuxTables.c /home/kub/src/TraceToolkit-0.9.5/LibLTT/LinuxTables.c +--- TraceToolkit-0.9.5/LibLTT/LinuxTables.c Tue Apr 16 03:08:49 2002 ++++ /home/kub/src/TraceToolkit-0.9.5/LibLTT/LinuxTables.c Wed Aug 20 12:17:27 2003 +@@ -1,6 +1,6 @@ + /* + LinuxTables.c : Data tables for Linux. +- Copyright (C) 2000, 2001 Karim Yaghmour (karym@opersys.com). ++ Copyright (C) 2000, 2001 Karim Yaghmour (karim@opersys.com). + Portions contributed by T. Halloran: (C) Copyright 2002 IBM Poughkeepsie, IBM Corporation + + This program is free software; you can redistribute it and/or modify +@@ -49,7 +49,7 @@ + 0 /* TRACE_BUFFER_END */, + sizeof(trace_new_event) /* TRACE_NEW_EVENT */, + sizeof(trace_custom) /* TRACE_CUSTOM */, +- sizeof(trace_change_mask) /* TRACE_CHANGE_MASK */ ++ sizeof(trace_change_mask) /* TRACE_CHANGE_MASK */, + }; + + /* The default table could have been modified to take care of the S/390's particularities +@@ -96,7 +96,7 @@ + "", + "Event creation", + "Custom event", +-"Change trace mask" ++"Change trace mask", + }; + + char* LinuxEventString(db* pmDB, int pmEventID, event* pmEvent) +@@ -146,7 +146,7 @@ + "", /* Buffer end */ + "", /* New event */ + "", /* Custom event */ +-"" /* Change mask */ ++"", /* Change mask */ + }; + + /* "Maximum" number of system calls on a linux box */ +@@ -161,7 +161,8 @@ + #define NB_SYSCALLS_PPC 208 + #define NB_SYSCALLS_SH 221 + #define NB_SYSCALLS_390 225 +-#define NB_SYSCALLS_MIPS 221 ++#define NB_SYSCALLS_MIPS 220 ++#define NB_SYSCALLS_ARM 226 + + /* System call name according to it's ID for i386 */ + char *LinuxI386SyscallID[NB_SYSCALLS_I386 + 1] = +@@ -1070,234 +1071,466 @@ + /* System call name according to it's ID for MIPS */ + char *LinuxMIPSSyscallID[NB_SYSCALLS_MIPS + 1] = + { +-"syscall", // 0 -- does not exit in x86 nor in arm +-"exit", // 1 +-"fork", // 2 +-"read", // 3 +-"write", // 4 +-"open", // 5 +-"close", // 6 +-"waitpid", // 7 +-"creat", // 8 +-"link", // 9 +-"unlink", // 10 +-"execve", // 11 +-"chdir", // 12 +-"time", // 13 +-"mknod", // 14 +-"chmod", // 15 +-"lchown", // 16 +-"break", // 17 +-"oldstat", // 18 +-"lseek", // 19 +-"getpid", // 20 +-"mount", // 21 +-"umount", // 22 +-"setuid", // 23 +-"getuid", // 24 +-"stime", // 25 +-"ptrace", // 26 +-"alarm", // 27 +-"oldfstat", // 28 +-"pause", // 29 +-"utime", // 30 +-"stty", // 31 +-"gtty", // 32 +-"access", // 33 +-"nice", // 34 +-"ftime", // 35 +-"sync", // 36 +-"kill", // 37 +-"rename", // 38 +-"mkdir", // 39 +-"rmdir", // 40 +-"dup", // 41 +-"pipe", // 42 +-"times", // 43 +-"prof", // 44 +-"brk", // 45 +-"setgid", // 46 +-"getgid", // 47 +-"signal", // 48 +-"geteuid", // 49 +-"getegid", // 50 +-"acct", // 51 +-"umount2", // 52 +-"lock", // 53 +-"ioctl", // 54 +-"fcntl", // 55 +-"mpx", // 56 +-"setpgid", // 57 +-"ulimit", // 58 +-"unused59", // 59 +-"umask", // 60 +-"chroot", // 61 +-"ustat", // 62 +-"dup2", // 63 +-"getppid", // 64 +-"getpgrp", // 65 +-"setsid", // 66 +-"sigaction", // 67 +-"sgetmask", // 68 +-"ssetmask", // 69 +-"setreuid", // 70 +-"setregid", // 71 +-"sigsuspend", // 72 +-"sigpending", // 73 +-"sethostname", // 74 +-"setrlimit", // 75 +-"getrlimit", // 76 +-"getrusage", // 77 +-"gettimeofday", // 78 +-"settimeofday", // 79 +-"getgroups", // 80 +-"setgroups", // 81 +-"reserved82", // 82 +-"symlink", // 83 +-"oldlstat", // 84 +-"readlink", // 85 +-"uselib", // 86 +-"swapon", // 87 +-"reboot", // 88 +-"readdir", // 89 +-"mmap", // 90 +-"munmap", // 91 +-"truncate", // 92 +-"ftruncate", // 93 +-"fchmod", // 94 +-"fchown", // 95 +-"getpriority", // 96 +-"setpriority", // 97 +-"profil", // 98 +-"statfs", // 99 +-"fstatfs", // 100 +-"ioperm", // 101 +-"socketcall", // 102 +-"syslog", // 103 +-"setitimer", // 104 +-"getitimer", // 105 +-"stat", // 106 +-"lstat", // 107 +-"fstat", // 108 +-"unused109", // 109 +-"iopl", // 110 +-"vhangup", // 111 +-"idle", // 112 +-"vm86", // 113 +-"wait4", // 114 +-"swapoff", // 115 +-"sysinfo", // 116 +-"ipc", // 117 +-"fsync", // 118 +-"sigreturn", // 119 +-"clone", // 120 +-"setdomainname", // 121 +-"uname", // 122 +-"modify_ldt", // 123 +-"adjtimex", // 124 +-"mprotect", // 125 +-"sigprocmask", // 126 +-"create_module", // 127 +-"init_module", // 128 +-"delete_module", // 129 +-"get_kernel_syms", // 130 +-"quotactl", // 131 +-"getpgid", // 132 +-"fchdir", // 133 +-"bdflush", // 134 +-"sysfs", // 135 +-"personality", // 136 +-"afs_syscall", // 137 /* Syscall for Andrew File System */ +-"setfsuid", // 138 +-"setfsgid", // 139 +-"_llseek", // 140 +-"getdents", // 141 +-"_newselect", // 142 +-"flock", // 143 +-"msync", // 144 +-"readv", // 145 +-"writev", // 146 +-"cacheflush", // 147 +-"cachectl", // 148 +-"sysmips", // 149 +-"unused150", // 150 +-"getsid", // 151 +-"fdatasync", // 152 +-"_sysctl", // 153 +-"mlock", // 154 +-"munlock", // 155 +-"mlockall", // 156 +-"munlockall", // 157 +-"sched_setparam", // 158 +-"sched_getparam", // 159 +-"sched_setscheduler", // 160 +-"sched_getscheduler", // 161 +-"sched_yield", // 162 +-"sched_get_priority_max", // 163 +-"sched_get_priority_min", // 164 +-"sched_rr_get_interval", // 165 +-"nanosleep", // 166 +-"mremap", // 167 +-"accept", // 168 +-"bind", // 169 +-"connect", // 170 +-"getpeername", // 171 +-"getsockname", // 172 +-"getsockopt", // 173 +-"listen", // 174 +-"recv", // 175 +-"recvfrom", // 176 +-"recvmsg", // 177 +-"send", // 178 +-"sendmsg", // 179 +-"sendto", // 180 +-"setsockopt", // 181 +-"shutdown", // 182 +-"socket", // 183 +-"socketpair", // 184 +-"setresuid", // 185 +-"getresuid", // 186 +-"query_module", // 187 +-"poll", // 188 +-"nfsservctl", // 189 +-"setresgid", // 190 +-"getresgid", // 191 +-"prctl", // 192 +-"rt_sigreturn", // 193 +-"rt_sigaction", // 194 +-"rt_sigprocmask", // 195 +-"rt_sigpending", // 196 +-"rt_sigtimedwait", // 197 +-"rt_sigqueueinfo", // 198 +-"rt_sigsuspend", // 199 +-"pread", // 200 +-"pwrite", // 201 +-"chown", // 202 +-"getcwd", // 203 +-"capget", // 204 +-"capset", // 205 +-"sigaltstack", // 206 +-"sendfile", // 207 +-"getpmsg", // 208 +-"putpmsg", // 209 +-"mmap2", // 210 +-"truncate64", // 211 +-"ftruncate64", // 212 +-"stat64", // 213 +-"lstat64", // 214 +-"fstat64", // 215 +-"pivot_root", // 216 +-"mincore", // 217 +-"madvise", // 218 +-"getdents64", // 219 +-"fcntl64", // 220 ++"syscall", /* 0 */ ++"exit", ++"fork", ++"read", ++"write", ++"open", /* 5 */ ++"close", ++"waitpid", ++"creat", ++"link", ++"unlink", /* 10 */ ++"execve", ++"chdir", ++"time", ++"mknod", ++"chmod", /* 15 */ ++"lchown", ++"ni_syscall 17", ++"stat", ++"lseek", ++"getpid", /* 20 */ ++"mount", ++"oldumount", ++"setuid", ++"getuid", ++"stime", /* 25 */ ++"ptrace", ++"alarm", ++"fstat", ++"pause", ++"utime", /* 30 */ ++"ni_syscall 31", ++"ni_syscall 32", ++"access", ++"nice", ++"ni_syscall 35", /* 35 */ ++"sync", ++"kill", ++"rename", ++"mkdir", ++"rmdir", /* 40 */ ++"dup", ++"pipe", ++"times", ++"ni_syscall 44", ++"brk", /* 45 */ ++"setgid", ++"getgid", ++"ni_syscall 48", ++"geteuid", ++"getegid", /* 50 */ ++"acct", ++"umount", ++"ni_syscall 53", ++"ioctl", ++"fcntl", /* 55 */ ++"ni_syscall 56", ++"setpgid", ++"ni_syscall 58", ++"olduname", ++"umask", /* 60 */ ++"chroot", ++"ustat", ++"dup2", ++"getppid", ++"getpgrp", /* 65 */ ++"setsid", ++"sigaction", ++"sgetmask", ++"ssetmask", ++"setreuid", /* 70 */ ++"setregid", ++"sigsuspend", ++"sigpending", ++"sethostname", ++"setrlimit", /* 75 */ ++"getrlimit", ++"getrusage", ++"gettimeofday", ++"settimeofday", ++"getgroups", /* 80 */ ++"setgroups", ++"ni_syscall 82", ++"symlink", ++"lstat", ++"readlink", /* 85 */ ++"uselib", ++"swapon", ++"reboot", ++"old_readdir", ++"old_mmap", /* 90 */ ++"munmap", ++"truncate", ++"ftruncate", ++"fchmod", ++"fchown", /* 95 */ ++"getpriority", ++"setpriority", ++"ni_syscall 98", ++"statfs", ++"fstatfs", /* 100 */ ++"ioperm", ++"socketcall", ++"syslog", ++"setitimer", ++"getitimer", /* 105 */ ++"newstat", ++"newlstat", ++"newfstat", ++"uname", ++"iopl", /* 110 */ ++"vhangup", ++"ni_syscall 112", ++"vm86", ++"wait4", ++"swapoff", /* 115 */ ++"sysinfo", ++"ipc", ++"fsync", ++"sigreturn", ++"clone", /* 120 */ ++"setdomainname", ++"newuname", ++"sys_ni_syscall 123", ++"adjtimex", ++"mprotect", /* 125 */ ++"sigprocmask", ++"create_module", ++"init_module", ++"delete_module", ++"get_kernel_syms", /* 130 */ ++"quotactl", ++"getpgid", ++"fchdir", ++"bdflush", ++"sysfs", /* 135 */ ++"personality", ++"ni_syscall 137", /* for afs_syscall */ ++"setfsuid", ++"setfsgid", ++"llseek", /* 140 */ ++"getdents", ++"select", ++"flock", ++"msync", ++"readv", /* 145 */ ++"writev", ++"cacheflush", ++"cachectl", ++"sysmips", ++"ni_syscall 150", /* 150 */ ++"getsid", ++"fdatasync", ++"sysctl", ++"mlock", ++"munlock", /* 155 */ ++"mlockall", ++"munlockall", ++"sched_setparam", ++"sched_getparam", ++"sched_setscheduler", /* 160 */ ++"sched_getscheduler", ++"sched_yield", ++"sched_get_priority_max", ++"sched_get_priority_min", ++"sched_rr_get_interval", /* 165 */ ++"nanosleep", ++"mremap", ++"accept", ++"bind", ++"connect", /* 170 */ ++"getpeername", ++"getsockname", ++"getsockopt", ++"listen", ++"recv", /* 175 */ ++"recvfrom", ++"recvmsg", ++"send", ++"sendmsg", ++"sendto", /* 180 */ ++"setsockopt", ++"shutdown", ++"socket", ++"socketpair", ++"setresuid", /* 185 */ ++"getresuid", ++"query_module", ++"poll", ++"nfsservctl", ++"setresgid", /* 190 */ ++"getresgid", ++"prctl", ++"rt_sigreturn", ++"rt_sigaction", ++"rt_sigprocmask", /* 195 */ ++"rt_sigpending", ++"rt_sigtimedwait", ++"rt_sigqueueinfo", ++"rt_sigsuspend", ++"pread", /* 200 */ ++"pwrite", ++"chown", ++"getcwd", ++"capget", ++"capset", /* 205 */ ++"sigaltstack", ++"sendfile", ++"ni_syscall 208", ++"ni_syscall 209", ++"mmap2", /* 210 */ ++"truncate64", ++"ftruncate64", ++"stat64", ++"lstat64", ++"fstat64", /* 215 */ ++"pivot_root", ++"mincore", ++"madvise", ++"getdents64", ++"fcntl64", /* 220 */ ++}; ++ ++/* System call name according to its ID for ARM */ ++char *LinuxARMSyscallID[NB_SYSCALLS_ARM + 1] = ++{ ++"ni_syscall 0", /* 0 */ ++"exit", ++"fork", ++"read", ++"write", ++"open", /* 5 */ ++"close", ++"ni_syscall 7", /* was sys_waitpid */ ++"creat", ++"link", ++"unlink", /* 10 */ ++"execve", ++"chdir", ++"time", /* used by libc4 */ ++"mknod", ++"chmod", /* 15 */ ++"lchown16", ++"ni_syscall 17", /* was sys_break */ ++"ni_syscall 18", /* was sys_stat */ ++"lseek", ++"getpid", /* 20 */ ++"mount", ++"oldumount", /* used by libc4 */ ++"setuid16", ++"getuid16", ++"stime", /* 25 */ ++"ptrace", ++"alarm", /* used by libc4 */ ++"ni_syscall 28", /* was sys_fstat */ ++"pause", ++"utime", /* 30 */ /* used by libc4 */ ++"ni_syscall 31", /* was sys_stty */ ++"ni_syscall 32", /* was sys_getty */ ++"access", ++"nice", ++"ni_syscall 35", /* 35 */ /* was sys_ftime */ ++"sync", ++"kill", ++"rename", ++"mkdir", ++"rmdir", /* 40 */ ++"dup", ++"pipe", ++"times", ++"ni_syscall 44", /* was sys_prof */ ++"brk", /* 45 */ ++"setgid16", ++"getgid16", ++"ni_syscall 48", /* was sys_signal */ ++"geteuid16", ++"getegid16", /* 50 */ ++"acct", ++"umount", ++"ni_syscall 53", /* was sys_lock */ ++"ioctl", ++"fcntl", /* 55 */ ++"ni_syscall 56", /* was sys_mpx */ ++"setpgid", ++"ni_syscall 58", /* was sys_ulimit */ ++"ni_syscall 59", /* was sys_olduname */ ++"umask", /* 60 */ ++"chroot", ++"ustat", ++"dup2", ++"getppid", ++"getpgrp", /* 65 */ ++"setsid", ++"sigaction", ++"ni_syscall 68", /* was sys_sgetmask */ ++"ni_syscall 69", /* was sys_ssetmask */ ++"setreuid16", /* 70 */ ++"setregid16", ++"sigsuspend", ++"sigpending", ++"sethostname", ++"setrlimit", /* 75 */ ++"old_getrlimit", /* used by libc4 */ ++"getrusage", ++"gettimeofday", ++"settimeofday", ++"getgroups16", /* 80 */ ++"setgroups16", ++"old_select", /* used by libc4 */ ++"symlink", ++"ni_syscall 84", /* was sys_lstat */ ++"readlink", /* 85 */ ++"uselib", ++"swapon", ++"reboot", ++"old_readdir", /* used by libc4 */ ++"old_mmap", /* 90 */ /* used by libc4 */ ++"munmap", ++"truncate", ++"ftruncate", ++"fchmod", ++"fchown16", /* 95 */ ++"getpriority", ++"setpriority", ++"ni_syscall 98", /* was sys_profil */ ++"statfs", ++"fstatfs", /* 100 */ ++"ni_syscall 101", ++"socketcall", ++"syslog", ++"setitimer", ++"getitimer", /* 105 */ ++"newstat", ++"newlstat", ++"newfstat", ++"ni_syscall 109", /* was sys_uname */ ++"ni_syscall 110", /* 110 */ /* was sys_iopl */ ++"vhangup", ++"ni_syscall 112", ++"syscall", /* call a syscall */ ++"wait4", ++"swapoff", /* 115 */ ++"sysinfo", ++"ipc", ++"fsync", ++"sigreturn", ++"clone", /* 120 */ ++"setdomainname", ++"newuname", ++"ni_syscall 123", ++"adjtimex", ++"mprotect", /* 125 */ ++"sigprocmask", ++"create_module", ++"init_module", ++"delete_module", ++"get_kernel_syms", /* 130 */ ++"quotactl", ++"getpgid", ++"fchdir", ++"bdflush", ++"sysfs", /* 135 */ ++"personality", ++"ni_syscall 137", /* _sys_afs_syscall */ ++"setfsuid16", ++"setfsgid16", ++"llseek", /* 140 */ ++"getdents", ++"select", ++"flock", ++"msync", ++"readv", /* 145 */ ++"writev", ++"getsid", ++"fdatasync", ++"sysctl", ++"mlock", /* 150 */ ++"munlock", ++"mlockall", ++"munlockall", ++"sched_setparam", ++"sched_getparam", /* 155 */ ++"sched_setscheduler", ++"sched_getscheduler", ++"sched_yield", ++"sched_get_priority_max", ++"sched_get_priority_min", /* 160 */ ++"sched_rr_get_interval", ++"nanosleep", ++"mremap", ++"setresuid16", ++"getresuid16", /* 165 */ ++"ni_syscall 166", ++"query_module", ++"poll", ++"nfsservctl", ++"setresgid16", /* 170 */ ++"getresgid16", ++"prctl", ++"rt_sigreturn", ++"rt_sigaction", ++"rt_sigpending", /* 175 */ ++"rt_sigprocmask", ++"rt_sigtimedwait", ++"rt_sigqueueinfo", ++"rt_sigsuspend", ++"pread", /* 180 */ ++"pwrite", ++"chown16", ++"getcwd", ++"capget", ++"capset", /* 185 */ ++"sigaltstack", ++"sendfile", ++"ni_syscall 188", ++"ni_syscall 189", ++"vfork", /* 190 */ ++"getrlimit", ++"mmap2", ++"truncate64", ++"ftruncate64", ++"stat64", /* 195 */ ++"lstat64", ++"fstat64", ++"lchown", ++"getuid", ++"getgid", /* 200 */ ++"geteuid", ++"getegid", ++"setreuid", ++"setregid", ++"getgroups", /* 205 */ ++"setgroups", ++"fchown", ++"setresuid", ++"getresuid", ++"setresgid", /* 210 */ ++"getresgid", ++"chown", ++"setuid", ++"setgid", ++"setfsuid", /* 215 */ ++"setfsgid", ++"getdents64", ++"pivot_root", ++"mincore", ++"madvise", /* 220 */ ++"fcntl64", ++"ni_syscall 222", /* TUX */ ++"ni_syscall 223", /* Security */ ++"gettid", ++"readahead", /* 225 */ ++"", + }; + + + /* Number of traps possible on i386 */ + #define NB_TRAPS_I386 19 + +-/* Trap according to it's ID on i386 */ ++/* Trap according to its ID on i386 */ + char *LinuxI386TrapID[NB_TRAPS_I386] = + { + "divide error", +@@ -1382,7 +1615,7 @@ + "0x2F00" + }; + +-/* Trap according to it's ID on PPC 6xx/7xx/74xx/8260/POWER3 (see PowerPC manual for more details) */ ++/* Trap according to its ID on PPC 6xx/7xx/74xx/8260/POWER3 (see PowerPC manual for more details) */ + char *LinuxPPC6xxTrapID[NB_TRAPS_PPC] = + { + "0x0000", /* Nothing for the first one */ +@@ -1435,7 +1668,7 @@ + "0x2F00" + }; + +-/* Trap according to it's ID on PPC 8xx (see PowerPC manual for more details) */ ++/* Trap according to its ID on PPC 8xx (see PowerPC manual for more details) */ + char *LinuxPPC8xxTrapID[NB_TRAPS_PPC] = + { + "0x0000", /* Nothing for the first one */ +@@ -1488,7 +1721,7 @@ + "0x2F00" + }; + +-/* Trap according to it's ID on PPC iSeries (see PowerPC manual for more details) */ ++/* Trap according to its ID on PPC iSeries (see PowerPC manual for more details) */ + char *LinuxPPCiSeriesTrapID[NB_TRAPS_PPC] = + { + "0x0000", /* Nothing for the first one */ +@@ -1545,7 +1778,7 @@ + /* Number of traps possible on SuperH (see arch/sh/kernel/entry.S for details) */ + #define NB_TRAPS_SH 48 + +-/* Trap according to it's EXPEVT/INTEVT ID>>5 (see SuperH manual for more details) */ ++/* Trap according to its EXPEVT/INTEVT ID>>5 (see SuperH manual for more details) */ + char *LinuxSHTrapID[NB_TRAPS_SH] = + { + "Reset", /* 0x000 */ +@@ -1579,7 +1812,7 @@ + + #define NB_TRAPS_390 65 + +-/* Trap according to it's ID on 390 */ ++/* Trap according to its ID on 390 */ + char *Linux390TrapID[NB_TRAPS_390] = + { + "0x00000000", /* Nothing for the first one */ +@@ -1649,27 +1882,75 @@ + "Monitor event" + }; + +-#define NB_TRAPS_MIPS 16 ++#define NB_TRAPS_MIPS 32 + +-/* Trap according to it's ID on MIPS */ ++/* Trap according to its ID on MIPS */ ++/* ++ Maximum string length is 30 -- see hardcoded value of lString[] in ++ EGIDrawLinuxEvents(). ++ 123456789012345678901234567890 ++ */ + char *LinuxMIPSTrapID[NB_TRAPS_MIPS] = + { +-"INT", // 0, (never called) External Interrupt +-"MOD", // 1, TLB Modified +-"TLBL", // 2, TLB Load +-"TLBS", // 3, TLB Store +-"ADEL", // 4, (never called) Address Error in Load or instruction fetch +-"ADES", // 5, (never called) Address Error in data Store +-"IBE", // 6, (never called) Bus Error in Instrufction fetch +-"DBE", // 7, (never called) Bus Error in Data load/store +-"SYS", // 8, (never called) Syscall +-"BP", // 9, (never called) Breakpoint +-"RI", // 10, (never called) Reserved Instruction +-"CPU", // 11, (never called) Coprocessor unusable +-"OVF", // 12, (never called) arithmatic OverFlow +-"", // 13, not used +-"", // 14, not used +-"", // 15, not used ++"External Interrupt", ++"TLB Modification", ++"TLB Load", ++"TLB Store", ++"Address Error on Load", ++"Address Error on Store", ++"Bus Error on Instruction fetch", ++"Bus Error on Data Load", ++"Syscall", ++"Breakpoint", ++"Reserved Instruction", ++"Coprocessor Unusable", ++"Arithmetic Overflow", ++"Trap", ++"Virtual Coherency Error Icache", /* future: MC */ ++"Floating Point", /* future: NDC */ ++"Coprocessor 2", ++"reserved 17", ++"reserved 18", ++"reserved 19", ++"reserved 20", ++"reserved 21", ++"reserved 22", ++"Watch", ++"Machine Check", ++"reserved 25", ++"reserved 26", ++"reserved 27", ++"reserved 28", ++"reserved 29", ++"reserved 30", ++"Virtual Coherency Error Dcache" ++}; ++ ++/* Number of traps possible on ARM */ ++#define NB_TRAPS_ARM 19 ++ ++/* Trap according to its ID on ARM */ ++char *LinuxARMTrapID[NB_TRAPS_ARM] = ++{ ++"reserved 0", ++"debug", ++"reserved 2", ++"reserved 3", ++"reserved 4", ++"reserved 5", ++"undefined instruction", /* invalidop */ ++"reserved 7", ++"reserved 8", ++"reserved 9", ++"reserved 10", ++"segment not present", ++"reserved 12", ++"reserved 13", ++"page fault", ++"reserved 15", ++"reserved 16", ++"reserved 17", ++"data abort" /* machine check */ + }; + + static char* NullString = ""; +@@ -1716,6 +1997,13 @@ + return LinuxMIPSSyscallID[pmID]; + else + return NullString; ++ ++ case TRACE_ARCH_TYPE_ARM: ++ if(pmID <= NB_SYSCALLS_ARM) ++ return LinuxARMSyscallID[pmID]; ++ else ++ return NullString; ++ break; + }; + + /* Just in case */ +@@ -1783,6 +2071,13 @@ + return LinuxMIPSTrapID[lID]; + else + return NullString; ++ ++ case TRACE_ARCH_TYPE_ARM: ++ if(lID < NB_TRAPS_ARM) ++ return LinuxARMTrapID[lID]; ++ else ++ return NullString; ++ break; + }; + + /* Just in case */ +diff -ru --new-file TraceToolkit-0.9.5/Visualizer/EventGraph.c /home/kub/src/TraceToolkit-0.9.5/Visualizer/EventGraph.c +--- TraceToolkit-0.9.5/Visualizer/EventGraph.c Tue Apr 16 03:57:28 2002 ++++ /home/kub/src/TraceToolkit-0.9.5/Visualizer/EventGraph.c Wed Aug 20 12:23:55 2003 +@@ -899,6 +899,7 @@ + case TRACE_ARCH_TYPE_PPC : + case TRACE_ARCH_TYPE_SH : + case TRACE_ARCH_TYPE_MIPS : ++ case TRACE_ARCH_TYPE_ARM : + snprintf(lString, EGRAPH_DEFAULT_STRLEN, "%s", + pmEventDB->TrapString(pmEventDB, + RFT16(pmEventDB, TRAP_EVENT(lEventDesc.Struct)->trap_id))); +@@ -1020,6 +1021,7 @@ + case TRACE_ARCH_TYPE_PPC : + case TRACE_ARCH_TYPE_SH : + case TRACE_ARCH_TYPE_MIPS : ++ case TRACE_ARCH_TYPE_ARM : + snprintf(lString, EGRAPH_DEFAULT_STRLEN, "%s", + pmEventDB->TrapString(pmEventDB, + RFT16(pmEventDB, TRAP_EVENT(lEventDesc.Struct)->trap_id))); +@@ -1512,6 +1514,7 @@ + case TRACE_ARCH_TYPE_PPC : + case TRACE_ARCH_TYPE_SH : + case TRACE_ARCH_TYPE_MIPS : ++ case TRACE_ARCH_TYPE_ARM : + snprintf(lString, EGRAPH_DEFAULT_STRLEN, "%s", + pmEventGraph->EventDB->TrapString(pmEventGraph->EventDB, + RFT16(pEventDB, TRAP_EVENT(pmEventDesc->Struct)->trap_id))); |