Support for the OpenRISC 1000 platform.

Christian Svensson blue at cmd.nu
Mon Feb 11 20:37:43 UTC 2013


The following patch adds support for the or1k architecture.
This architecture has been in mainline Linux since 3.1.

Feel free to give harsh feedback and other comments :-).

Support for the OpenRISC 1000 platform.

    * configure.ac: Added or1k.
    * defs.h: Added or1k to use _regs system.
    * linux/or1k/ioctlent.h.in: Use i386 ioctls.
    * linux/or1k/syscallent.h: New.
    * process.c: Added or1k.
    * syscall.c: Added or1k handlers.
      (or1k_io) iovec for or1k GETREGSET.
      (or1k_regs) regset structure for or1k.
    * util.c: Added or1k handler for change_syscall.
---
 configure.ac             |    5 +
 defs.h                   |    8 +-
 linux/or1k/ioctlent.h.in |    1 +
 linux/or1k/syscallent.h  | 1080 ++++++++++++++++++++++++++++++++++++++++++++++
 process.c                |   41 +-
 syscall.c                |   34 +-
 util.c                   |    6 +
 7 files changed, 1170 insertions(+), 5 deletions(-)
 create mode 100644 linux/or1k/ioctlent.h.in
 create mode 100644 linux/or1k/syscallent.h

diff --git a/configure.ac b/configure.ac
index 80be383..8703f7c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -111,6 +111,11 @@ microblaze*)
 	arch=microblaze
 	AC_DEFINE([MICROBLAZE], 1, [Define for the MicroBlaze architecture.])
 	;;
+or1k*)
+	arch=or1k
+	AC_DEFINE([OR1K], 1, [Define for the OpenRISC 1000 architecture.])
+	;;
+
 *)
 	AC_MSG_RESULT([NO!])
 	AC_MSG_ERROR([architecture $host_cpu is not supported by strace])
diff --git a/defs.h b/defs.h
index 9756179..bfa765e 100644
--- a/defs.h
+++ b/defs.h
@@ -375,6 +375,12 @@ extern struct pt_regs arm_regs;
 #if defined(TILE)
 extern struct pt_regs tile_regs;
 #endif
+#if defined(OR1K)
+extern struct user_regs_struct or1k_regs;
+extern struct iovec or1k_io;
+#endif
+
+

 /* Trace Control Block */
 struct tcb {
@@ -561,7 +567,7 @@ extern void call_summary(FILE *);
  || defined(AARCH64) \
  || defined(ARM) \
  || defined(SPARC) || defined(SPARC64) \
- || defined(TILE)
+ || defined(TILE) || defined(OR1K)
 extern long get_regs_error;
 # define clear_regs()  (get_regs_error = -1)
 extern void get_regs(pid_t pid);
diff --git a/linux/or1k/ioctlent.h.in b/linux/or1k/ioctlent.h.in
new file mode 100644
index 0000000..52ac99b
--- /dev/null
+++ b/linux/or1k/ioctlent.h.in
@@ -0,0 +1 @@
+#include "../i386/ioctlent.h.in"
diff --git a/linux/or1k/syscallent.h b/linux/or1k/syscallent.h
new file mode 100644
index 0000000..a2305b3
--- /dev/null
+++ b/linux/or1k/syscallent.h
@@ -0,0 +1,1080 @@
+	{  2, 	0, 	sys_io_setup,			"io_setup"		}, /* 0 */
+	{  1, 	0, 	sys_io_destroy, 		"io_destroy"		}, /* 1 */
+	{  3, 	0, 	sys_io_submit, 			"io_submit"		}, /* 2 */
+	{  3, 	0, 	sys_io_cancel, 			"io_cancel"		}, /* 3 */
+	{  5, 	0, 	sys_io_getevents, 		"io_getevents"		}, /* 4 */
+	{  5, 	TF, 	sys_setxattr, 			"setxattr"		}, /* 5 */
+	{  5, 	TF, 	sys_setxattr, 			"lsetxattr"		}, /* 6 */
+	{  5, 	TD, 	sys_fsetxattr, 			"fsetxattr"		}, /* 7 */
+	{  4, 	TF, 	sys_getxattr, 			"getxattr"		}, /* 8 */
+	{  4, 	TF, 	sys_getxattr, 			"lgetxattr"		}, /* 9 */
+	{  4, 	TD, 	sys_fgetxattr, 			"fgetxattr"		}, /* 10 */
+	{  3, 	TF, 	sys_listxattr, 			"listxattr"		}, /* 11 */
+	{  3, 	TF, 	sys_listxattr, 			"llistxattr"		}, /* 12 */
+	{  3, 	TD, 	sys_flistxattr, 		"flistxattr"		}, /* 13 */
+	{  2, 	TF, 	sys_removexattr, 		"removexattr"		}, /* 14 */
+	{  2, 	TF, 	sys_removexattr, 		"lremovexattr"		}, /* 15 */
+	{  2, 	TD, 	sys_fremovexattr, 		"fremovexattr"		}, /* 16 */
+	{  2, 	TF, 	sys_getcwd, 			"getcwd"		}, /* 17 */
+	{  4, 	0, 	sys_lookup_dcookie, 		"lookup_dcookie"	}, /* 18 */
+	{  2, 	TD, 	sys_eventfd2, 			"eventfd2"		}, /* 19 */
+	{  1, 	TD, 	sys_epoll_create1, 		"epoll_create1"		}, /* 20 */
+	{  4, 	TD, 	sys_epoll_ctl, 			"epoll_ctl"		}, /* 21 */
+	{  6, 	TD, 	sys_epoll_pwait, 		"epoll_pwait"		}, /* 22 */
+	{  1, 	TD, 	sys_dup, 			"dup"			}, /* 23 */
+	{  3, 	TD, 	sys_dup3, 			"dup3"			}, /* 24 */
+	{  3, 	TD, 	sys_fcntl, 			"fcntl64"		}, /* 25 */
+	{  1, 	TD, 	sys_inotify_init1, 		"inotify_init1"		}, /* 26 */
+	{  3, 	TD, 	sys_inotify_add_watch, 		"inotify_add_watch"	}, /* 27 */
+	{  2, 	TD, 	sys_inotify_rm_watch, 		"inotify_rm_watch"	}, /* 28 */
+	{  3, 	TD, 	sys_ioctl, 			"ioctl"			}, /* 29 */
+	{  3, 	0, 	sys_ioprio_set, 		"ioprio_set"		}, /* 30 */
+	{  2, 	0, 	sys_ioprio_get, 		"ioprio_get"		}, /* 31 */
+	{  2, 	TD, 	sys_flock, 			"flock"			}, /* 32 */
+	{  4, 	TD|TF, 	sys_mknodat, 			"mknodat"		}, /* 33 */
+	{  3, 	TD|TF, 	sys_mkdirat, 			"mkdirat"		}, /* 34 */
+	{  3, 	TD|TF, 	sys_unlinkat, 			"unlinkat"		}, /* 35 */
+	{  3, 	TD|TF, 	sys_symlinkat, 			"symlinkat"		}, /* 36 */
+	{  5, 	TD|TF, 	sys_linkat, 			"linkat"		}, /* 37 */
+	{  4, 	TD|TF, 	sys_renameat, 			"renameat"		}, /* 38 */
+	{  2, 	TF, 	sys_umount2, 			"umount"		}, /* 39 */
+	{  5, 	TF, 	sys_mount, 			"mount"			}, /* 40 */
+	{  2, 	TF, 	sys_pivotroot, 			"pivot_root"		}, /* 41 */
+	{  3, 	0, 	sys_nfsservctl, 		"nfsservctl"		}, /* 42 */
+	{  3, 	TF, 	sys_statfs64, 			"statfs64"		}, /* 43 */
+	{  3, 	TD, 	sys_fstatfs64, 			"fstatfs64"		}, /* 44 */
+	{  4, 	TF, 	sys_truncate64, 		"truncate64"		}, /* 45 */
+	{  4, 	TD, 	sys_ftruncate64, 		"ftruncate64"		}, /* 46 */
+	{  6, 	TD, 	sys_fallocate, 			"fallocate"		}, /* 47 */
+	{  3, 	TD|TF, 	sys_faccessat, 			"faccessat"		}, /* 48 */
+	{  1, 	TF, 	sys_chdir, 			"chdir"			}, /* 49 */
+	{  1, 	TF, 	sys_fchdir, 			"fchdir"		}, /* 50 */
+	{  1, 	TF, 	sys_chroot, 			"chroot"		}, /* 51 */
+	{  2, 	TD, 	sys_fchmod, 			"fchmod"		}, /* 52 */
+	{  3, 	TD|TF, 	sys_fchmodat, 			"fchmodat"		}, /* 53 */
+	{  5, 	TD|TF, 	sys_fchownat, 			"fchownat"		}, /* 54 */
+	{  3, 	TD, 	sys_fchown, 			"fchown"		}, /* 55 */
+	{  4, 	TD|TF, 	sys_openat, 			"openat"		}, /* 56 */
+	{  1, 	TD, 	sys_close, 			"close"			}, /* 57 */
+	{  0, 	0, 	sys_vhangup, 			"vhangup"		}, /* 58 */
+	{  2, 	TD, 	sys_pipe2, 			"pipe2"			}, /* 59 */
+	{  4, 	0, 	sys_quotactl, 			"quotactl"		}, /* 60 */
+	{  3, 	TD, 	sys_getdents64, 		"getdents64"		}, /* 61 */
+	{  5, 	TF, 	sys_llseek, 			"_llseek"		}, /* 62 */
+	{  3, 	TD, 	sys_read, 			"read"			}, /* 63 */
+	{  3, 	TD, 	sys_write, 			"write"			}, /* 64 */
+	{  3, 	TD, 	sys_readv, 			"readv"			}, /* 65 */
+	{  3, 	TD, 	sys_writev, 			"writev"		}, /* 66 */
+	{  6, 	TD, 	sys_pread, 			"pread64"		}, /* 67 */
+	{  6, 	TD, 	sys_pwrite, 			"pwrite64"		}, /* 68 */
+	{  5, 	TD, 	sys_preadv, 			"preadv"		}, /* 69 */
+	{  5, 	TD, 	sys_pwritev, 			"pwritev"		}, /* 70 */
+	{  4, 	TD|TN, 	sys_sendfile64, 		"sendfile64"		}, /* 71 */
+	{  6, 	TD, 	sys_pselect6, 			"pselect6"		}, /* 72 */
+	{  5, 	TD, 	sys_ppoll, 			"ppoll"			}, /* 73 */
+	{  4, 	TD|TS, 	sys_signalfd4, 			"signalfd4"		}, /* 74 */
+	{  4, 	TD, 	sys_vmsplice, 			"vmsplice"		}, /* 75 */
+	{  6, 	TD, 	sys_splice, 			"splice"		}, /* 76 */
+	{  4, 	TD, 	sys_tee, 			"tee"			}, /* 77 */
+	{  4, 	TD|TF, 	sys_readlinkat, 		"readlinkat"		}, /* 78 */
+	{  4, 	TD|TF, 	sys_newfstatat, 		"fstatat64"		}, /* 79 */
+	{  2, 	TD, 	sys_fstat64, 			"fstat64"		}, /* 80 */
+	{  0, 	0, 	sys_sync, 			"sync"			}, /* 81 */
+	{  1, 	TD, 	sys_fsync, 			"fsync"			}, /* 82 */
+	{  1, 	TD, 	sys_fdatasync, 			"fdatasync"		}, /* 83 */
+	{  4, 	TD, 	sys_sync_file_range, 		"sync_file_range"	}, /* 84 */
+	{  4, 	TD, 	sys_timerfd_create, 		"timerfd_create"	}, /* 85 */
+	{  4, 	TD, 	sys_timerfd_settime, 		"timerfd_settime"	}, /* 86 */
+	{  2, 	TD, 	sys_timerfd_gettime, 		"timerfd_gettime"	}, /* 87 */
+	{  4, 	TD|TF, 	sys_utimensat, 			"utimensat"		}, /* 88 */
+	{  1, 	TF, 	sys_acct, 			"acct"			}, /* 89 */
+	{  2, 	0, 	sys_capget, 			"capget"		}, /* 90 */
+	{  2, 	0, 	sys_capset, 			"capset"		}, /* 91 */
+	{  1, 	0, 	sys_personality, 		"personality"		}, /* 92 */
+	{  1, 	TP, 	sys_exit, 			"exit"			}, /* 93 */
+	{  1, 	TP, 	sys_exit, 			"exit_group"		}, /* 94 */
+	{  5, 	TP, 	sys_waitid, 			"waitid"		}, /* 95 */
+	{  1, 	0, 	sys_set_tid_address, 		"set_tid_address"	}, /* 96 */
+	{  1, 	TP, 	sys_unshare, 			"unshare"		}, /* 97 */
+	{  6, 	0, 	sys_futex, 			"futex"			}, /* 98 */
+	{  2, 	0, 	sys_set_robust_list, 		"set_robust_list"	}, /* 99 */
+	{  3, 	0, 	sys_get_robust_list, 		"get_robust_list"	}, /* 100 */
+	{  2, 	0, 	sys_nanosleep, 			"nanosleep"		}, /* 101 */
+	{  2, 	0, 	sys_getitimer, 			"getitimer"		}, /* 102 */
+	{  3, 	0, 	sys_setitimer, 			"setitimer"		}, /* 103 */
+	{  4, 	0, 	sys_kexec_load, 		"kexec_load"		}, /* 104 */
+	{  3, 	0, 	sys_init_module, 		"init_module"		}, /* 105 */
+	{  2, 	0, 	sys_delete_module, 		"delete_module"		}, /* 106 */
+	{  3, 	0, 	sys_timer_create, 		"timer_create"		}, /* 107 */
+	{  2, 	0, 	sys_timer_gettime, 		"timer_gettime"		}, /* 108 */
+	{  1, 	0, 	sys_timer_getoverrun, 		"timer_getoverrun"	}, /* 109 */
+	{  4, 	0, 	sys_timer_settime, 		"timer_settime"		}, /* 110 */
+	{  1, 	0, 	sys_timer_delete, 		"timer_delete"		}, /* 111 */
+	{  2, 	0, 	sys_clock_settime, 		"clock_settime"		}, /* 112 */
+	{  2, 	0, 	sys_clock_gettime, 		"clock_gettime"		}, /* 113 */
+	{  2, 	0, 	sys_clock_getres, 		"clock_getres"		}, /* 114 */
+	{  4, 	0, 	sys_clock_nanosleep, 		"clock_nanosleep"	}, /* 115 */
+	{  3, 	0, 	sys_syslog, 			"syslog"		}, /* 116 */
+	{  4, 	0, 	sys_ptrace, 			"ptrace"		}, /* 117 */
+	{  2, 	0, 	sys_sched_setparam, 		"sched_setparam"	}, /* 118 */
+	{  3, 	0, 	sys_sched_setscheduler, 	"sched_setscheduler"	}, /* 119 */
+	{  1, 	0, 	sys_sched_getscheduler, 	"sched_getscheduler"	}, /* 120 */
+	{  2, 	0, 	sys_sched_getparam, 		"sched_getparam"	}, /* 121 */
+	{  3, 	0, 	sys_sched_setaffinity, 		"sched_setaffinity"	}, /* 122 */
+	{  3, 	0, 	sys_sched_getaffinity, 		"sched_getaffinity"	}, /* 123 */
+	{  0, 	0, 	sys_sched_yield, 		"sched_yield"		}, /* 124 */
+	{  1, 	0, 	sys_sched_get_priority_max,	"sched_get_priority_max"}, /* 125 */
+	{  1, 	0, 	sys_sched_get_priority_min,	"sched_get_priority_min"}, /* 126 */
+	{  2, 	0, 	sys_sched_rr_get_interval,	"sched_rr_get_interval" }, /* 127 */
+	{  0, 	0, 	sys_restart_syscall,		"restart_syscall"	}, /* 128 */
+	{  2, 	TS, 	sys_kill, 			"kill"			}, /* 129 */
+	{  2, 	TS, 	sys_kill, 			"tkill"			}, /* 130 */
+	{  3, 	TS, 	sys_tgkill, 			"tgkill"		}, /* 131 */
+	{  2, 	TS, 	sys_sigaltstack, 		"sigaltstack"		}, /* 132 */
+	{  2, 	TS, 	sys_rt_sigsuspend, 		"rt_sigsuspend"		}, /* 133 */
+	{  4, 	TS, 	sys_rt_sigaction, 		"rt_sigaction"		}, /* 134 */
+	{  4, 	TS, 	sys_rt_sigprocmask, 		"rt_sigprocmask"	}, /* 135 */
+	{  2, 	TS, 	sys_rt_sigpending, 		"rt_sigpending"		}, /* 136 */
+	{  4, 	TS, 	sys_rt_sigtimedwait, 		"rt_sigtimedwait"	}, /* 137 */
+	{  3, 	TS, 	sys_rt_sigqueueinfo, 		"rt_sigqueueinfo"	}, /* 138 */
+	{  0, 	TS, 	sys_rt_sigreturn, 		"rt_sigreturn"		}, /* 139 */
+	{  3, 	0, 	sys_setpriority, 		"setpriority"		}, /* 140 */
+	{  2, 	0, 	sys_getpriority, 		"getpriority"		}, /* 141 */
+	{  4, 	0, 	sys_reboot, 			"reboot"		}, /* 142 */
+	{  2, 	0, 	sys_setregid, 			"setregid"		}, /* 143 */
+	{  1, 	0, 	sys_setgid, 			"setgid"		}, /* 144 */
+	{  2, 	0, 	sys_setreuid, 			"setreuid"		}, /* 145 */
+	{  1, 	0, 	sys_setuid, 			"setuid"		}, /* 146 */
+	{  3, 	0, 	sys_setresuid, 			"setresuid"		}, /* 147 */
+	{  3, 	0, 	sys_getresuid, 			"getresuid"		}, /* 148 */
+	{  3, 	0, 	sys_setresgid, 			"setresgid"		}, /* 149 */
+	{  3, 	0, 	sys_getresgid, 			"getresgid"		}, /* 150 */
+	{  1, 	NF, 	sys_setfsuid, 			"setfsuid"		}, /* 151 */
+	{  1, 	NF, 	sys_setfsgid, 			"setfsgid"		}, /* 152 */
+	{  1, 	0, 	sys_times, 			"times"			}, /* 153 */
+	{  2, 	0, 	sys_setpgid, 			"setpgid"		}, /* 154 */
+	{  1, 	0, 	sys_getpgid, 			"getpgid"		}, /* 155 */
+	{  1, 	0, 	sys_getsid, 			"getsid"		}, /* 156 */
+	{  0, 	0, 	sys_setsid, 			"setsid"		}, /* 157 */
+	{  2, 	0, 	sys_getgroups, 			"getgroups"		}, /* 158 */
+	{  2, 	0, 	sys_setgroups, 			"setgroups"		}, /* 159 */
+	{  1, 	0, 	sys_uname, 			"uname"			}, /* 160 */
+	{  2, 	0, 	sys_sethostname, 		"sethostname"		}, /* 161 */
+	{  2, 	0, 	sys_setdomainname, 		"setdomainname"		}, /* 162 */
+	{  2, 	0, 	sys_getrlimit, 			"oldgetrlimit"		}, /* 163 */
+	{  2, 	0, 	sys_setrlimit, 			"setrlimit"		}, /* 164 */
+	{  2, 	0, 	sys_getrusage, 			"getrusage"		}, /* 165 */
+	{  1, 	0, 	sys_umask, 			"umask"			}, /* 166 */
+	{  5, 	0, 	sys_prctl, 			"prctl"			}, /* 167 */
+	{  3, 	0, 	sys_getcpu, 			"getcpu"		}, /* 168 */
+	{  2, 	0, 	sys_gettimeofday, 		"gettimeofday"		}, /* 169 */
+	{  2, 	0, 	sys_settimeofday, 		"settimeofday"		}, /* 170 */
+	{  1, 	0, 	sys_adjtimex, 			"adjtimex"		}, /* 171 */
+	{  0, 	0, 	sys_getpid, 			"getpid"		}, /* 172 */
+	{  0, 	0, 	sys_getppid, 			"getppid"		}, /* 173 */
+	{  0, 	NF, 	sys_getuid, 			"getuid"		}, /* 174 */
+	{  0, 	NF, 	sys_geteuid, 			"geteuid"		}, /* 175 */
+	{  0, 	NF, 	sys_getgid, 			"getgid"		}, /* 176 */
+	{  0, 	NF, 	sys_getegid, 			"getegid"		}, /* 177 */
+	{  0, 	0, 	sys_gettid, 			"gettid"		}, /* 178 */
+	{  1, 	0, 	sys_sysinfo, 			"sysinfo"		}, /* 179 */
+	{  4, 	0, 	sys_mq_open, 			"mq_open"		}, /* 180 */
+	{  1, 	0, 	sys_mq_unlink, 			"mq_unlink"		}, /* 181 */
+	{  5, 	0, 	sys_mq_timedsend, 		"mq_timedsend"		}, /* 182 */
+	{  5, 	0, 	sys_mq_timedreceive, 		"mq_timedreceive"	}, /* 183 */
+	{  2, 	0, 	sys_mq_notify, 			"mq_notify"		}, /* 184 */
+	{  3, 	0, 	sys_mq_getsetattr, 		"mq_getsetattr"		}, /* 185 */
+	{  4, 	TI, 	sys_msgget, 			"msgget"		}, /* 186 */
+	{  4, 	TI, 	sys_msgctl, 			"msgctl"		}, /* 187 */
+	{  4, 	TI, 	sys_msgrcv, 			"msgrcv"		}, /* 188 */
+	{  4, 	TI, 	sys_msgsnd, 			"msgsnd"		}, /* 189 */
+	{  4, 	TI, 	sys_semget, 			"semget"		}, /* 190 */
+	{  4, 	TI, 	sys_semctl, 			"semctl"		}, /* 191 */
+	{  5, 	TI, 	sys_semtimedop, 		"semtimedop"		}, /* 192 */
+	{  4, 	TI, 	sys_semop, 			"semop"			}, /* 193 */
+	{  4, 	TI, 	sys_shmget, 			"shmget"		}, /* 194 */
+	{  4, 	TI, 	sys_shmctl, 			"shmctl"		}, /* 195 */
+	{  4, 	TI, 	sys_shmat, 			"shmat"			}, /* 196 */
+	{  4, 	TI, 	sys_shmdt, 			"shmdt"			}, /* 197 */
+	{  3, 	TN, 	sys_socket, 			"socket"		}, /* 198 */
+	{  4, 	TN, 	sys_socketpair, 		"socketpair"		}, /* 199 */
+	{  3, 	TN, 	sys_bind, 			"bind"			}, /* 200 */
+	{  2, 	TN, 	sys_listen, 			"listen"		}, /* 201 */
+	{  3, 	TN, 	sys_accept, 			"accept"		}, /* 202 */
+	{  3, 	TN, 	sys_connect, 			"connect"		}, /* 203 */
+	{  3, 	TN, 	sys_getsockname, 		"getsockname"		}, /* 204 */
+	{  3, 	TN, 	sys_getpeername, 		"getpeername"		}, /* 205 */
+	{  6, 	TN, 	sys_sendto, 			"sendto"		}, /* 206 */
+	{  6, 	TN, 	sys_recvfrom, 			"recvfrom"		}, /* 207 */
+	{  5, 	TN, 	sys_setsockopt, 		"setsockopt"		}, /* 208 */
+	{  5, 	TN, 	sys_getsockopt, 		"getsockopt"		}, /* 209 */
+	{  2, 	TN, 	sys_shutdown, 			"shutdown"		}, /* 210 */
+	{  3, 	TN, 	sys_sendmsg, 			"sendmsg"		}, /* 211 */
+	{  5, 	TN, 	sys_recvmsg, 			"recvmsg"		}, /* 212 */
+	{  5, 	TD, 	sys_readahead, 			"readahead"		}, /* 213 */
+	{  1, 	0, 	sys_brk, 			"brk"			}, /* 214 */
+	{  2, 	0, 	sys_munmap, 			"munmap"		}, /* 215 */
+	{  5, 	0, 	sys_mremap, 			"mremap"		}, /* 216 */
+	{  5, 	0, 	sys_add_key, 			"add_key"		}, /* 217 */
+	{  4, 	0, 	sys_request_key, 		"request_key"		}, /* 218 */
+	{  5, 	0, 	sys_keyctl, 			"keyctl"		}, /* 219 */
+	{  5, 	TP, 	sys_clone, 			"clone"			}, /* 220 */
+	{  3, 	TF|TP, 	sys_execve, 			"execve"		}, /* 221 */
+	{  6, 	TD, 	sys_mmap, 			"mmap2"			}, /* 222 */
+	{  6, 	TD, 	sys_fadvise64_64, 		"fadvise64_64"		}, /* 223 */
+	{  2, 	TF, 	sys_swapon, 			"swapon"		}, /* 224 */
+	{  1, 	TF, 	sys_swapoff, 			"swapoff"		}, /* 225 */
+	{  3, 	0, 	sys_mprotect, 			"mprotect"		}, /* 226 */
+	{  3, 	0, 	sys_msync, 			"msync"			}, /* 227 */
+	{  2, 	0, 	sys_mlock, 			"mlock"			}, /* 228 */
+	{  2, 	0, 	sys_munlock, 			"munlock"		}, /* 229 */
+	{  1, 	0, 	sys_mlockall, 			"mlockall"		}, /* 230 */
+	{  0, 	0, 	sys_munlockall, 		"munlockall"		}, /* 231 */
+	{  3, 	0, 	sys_mincore, 			"mincore"		}, /* 232 */
+	{  3, 	0, 	sys_madvise, 			"madvise"		}, /* 233 */
+	{  5, 	0, 	sys_remap_file_pages, 		"remap_file_pages"	}, /* 234 */
+	{  6, 	0, 	sys_mbind, 			"mbind"			}, /* 235 */
+	{  5, 	0, 	sys_get_mempolicy, 		"get_mempolicy"		}, /* 236 */
+	{  3, 	0, 	sys_set_mempolicy, 		"set_mempolicy"		}, /* 237 */
+	{  5, 	0, 	sys_migrate_pages, 		"migrate_pages"		}, /* 238 */
+	{  6, 	0, 	sys_move_pages, 		"move_pages"		}, /* 239 */
+	{  4, 	TP|TS, 	sys_rt_tgsigqueueinfo, 		"rt_tgsigqueueinfo"	}, /* 240 */
+	{  5, 	TD, 	sys_perf_event_open, 		"perf_event_open"	}, /* 241 */
+	{  4, 	TN, 	sys_accept4, 			"accept4"		}, /* 242 */
+	{  5, 	TN, 	sys_recvmmsg, 			"recvmmsg"		}, /* 243 */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 244 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 245 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 246 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 247 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 248 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 249 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 250 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 251 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 252 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 253 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 254 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 255 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 256 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 257 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 258 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 259 (unused) */
+	{  4, 	TP, 	sys_wait4, 			"wait4"			}, /* 260 */
+	{  4, 	0, 	sys_prlimit64, 			"prlimit64"		}, /* 261 */
+	{  2, 	TD, 	sys_fanotify_init, 		"fanotify_init"		}, /* 262 */
+	{  5, 	TD|TF, 	sys_fanotify_mark, 		"fanotify_mark"		}, /* 263 */
+	{  5, 	TD|TF, 	sys_name_to_handle_at, 		"name_to_handle_at"	}, /* 264 */
+	{  3, 	TD, 	sys_open_by_handle_at, 		"open_by_handle_at"	}, /* 265 */
+	{  2, 	0, 	sys_clock_adjtime, 		"clock_adjtime"		}, /* 266 */
+	{  1, 	TD, 	sys_syncfs, 			"syncfs"		}, /* 267 */
+	{  2, 	TD, 	sys_setns, 			"setns"			}, /* 268 */
+	{  4, 	TN, 	sys_sendmmsg, 			"sendmmsg"		}, /* 269 */
+	{  6, 	0, 	sys_process_vm_readv, 		"process_vm_readv"	}, /* 270 */
+	{  6, 	0, 	sys_process_vm_writev, 		"process_vm_writev"	}, /* 271 */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 272 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 273 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 274 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 275 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 276 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 277 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 278 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 279 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 280 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 281 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 282 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 283 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 284 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 285 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 286 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 287 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 288 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 289 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 290 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 291 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 292 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 293 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 294 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 295 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 296 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 297 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 298 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 299 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 300 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 301 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 302 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 303 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 304 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 305 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 306 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 307 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 308 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 309 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 310 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 311 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 312 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 313 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 314 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 315 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 316 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 317 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 318 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 319 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 320 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 321 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 322 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 323 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 324 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 325 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 326 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 327 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 328 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 329 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 330 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 331 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 332 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 333 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 334 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 335 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 336 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 337 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 338 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 339 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 340 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 341 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 342 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 343 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 344 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 345 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 346 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 347 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 348 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 349 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 350 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 351 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 352 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 353 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 354 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 355 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 356 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 357 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 358 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 359 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 360 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 361 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 362 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 363 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 364 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 365 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 366 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 367 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 368 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 369 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 370 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 371 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 372 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 373 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 374 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 375 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 376 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 377 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 378 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 379 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 380 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 381 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 382 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 383 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 384 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 385 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 386 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 387 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 388 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 389 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 390 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 391 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 392 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 393 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 394 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 395 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 396 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 397 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 398 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 399 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 400 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 401 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 402 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 403 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 404 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 405 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 406 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 407 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 408 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 409 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 410 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 411 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 412 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 413 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 414 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 415 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 416 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 417 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 418 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 419 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 420 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 421 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 422 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 423 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 424 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 425 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 426 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 427 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 428 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 429 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 430 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 431 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 432 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 433 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 434 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 435 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 436 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 437 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 438 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 439 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 440 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 441 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 442 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 443 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 444 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 445 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 446 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 447 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 448 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 449 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 450 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 451 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 452 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 453 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 454 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 455 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 456 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 457 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 458 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 459 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 460 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 461 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 462 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 463 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 464 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 465 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 466 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 467 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 468 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 469 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 470 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 471 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 472 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 473 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 474 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 475 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 476 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 477 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 478 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 479 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 480 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 481 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 482 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 483 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 484 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 485 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 486 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 487 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 488 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 489 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 490 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 491 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 492 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 493 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 494 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 495 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 496 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 497 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 498 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 499 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 500 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 501 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 502 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 503 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 504 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 505 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 506 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 507 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 508 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 509 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 510 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 511 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 512 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 513 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 514 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 515 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 516 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 517 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 518 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 519 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 520 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 521 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 522 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 523 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 524 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 525 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 526 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 527 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 528 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 529 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 530 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 531 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 532 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 533 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 534 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 535 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 536 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 537 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 538 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 539 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 540 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 541 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 542 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 543 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 544 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 545 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 546 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 547 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 548 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 549 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 550 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 551 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 552 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 553 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 554 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 555 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 556 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 557 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 558 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 559 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 560 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 561 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 562 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 563 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 564 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 565 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 566 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 567 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 568 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 569 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 570 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 571 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 572 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 573 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 574 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 575 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 576 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 577 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 578 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 579 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 580 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 581 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 582 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 583 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 584 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 585 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 586 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 587 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 588 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 589 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 590 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 591 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 592 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 593 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 594 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 595 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 596 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 597 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 598 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 599 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 600 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 601 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 602 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 603 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 604 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 605 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 606 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 607 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 608 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 609 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 610 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 611 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 612 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 613 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 614 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 615 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 616 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 617 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 618 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 619 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 620 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 621 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 622 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 623 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 624 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 625 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 626 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 627 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 628 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 629 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 630 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 631 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 632 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 633 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 634 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 635 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 636 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 637 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 638 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 639 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 640 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 641 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 642 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 643 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 644 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 645 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 646 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 647 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 648 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 649 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 650 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 651 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 652 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 653 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 654 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 655 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 656 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 657 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 658 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 659 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 660 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 661 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 662 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 663 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 664 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 665 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 666 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 667 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 668 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 669 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 670 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 671 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 672 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 673 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 674 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 675 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 676 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 677 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 678 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 679 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 680 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 681 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 682 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 683 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 684 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 685 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 686 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 687 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 688 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 689 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 690 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 691 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 692 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 693 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 694 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 695 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 696 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 697 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 698 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 699 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 700 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 701 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 702 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 703 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 704 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 705 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 706 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 707 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 708 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 709 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 710 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 711 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 712 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 713 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 714 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 715 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 716 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 717 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 718 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 719 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 720 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 721 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 722 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 723 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 724 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 725 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 726 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 727 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 728 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 729 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 730 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 731 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 732 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 733 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 734 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 735 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 736 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 737 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 738 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 739 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 740 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 741 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 742 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 743 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 744 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 745 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 746 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 747 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 748 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 749 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 750 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 751 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 752 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 753 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 754 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 755 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 756 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 757 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 758 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 759 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 760 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 761 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 762 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 763 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 764 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 765 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 766 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 767 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 768 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 769 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 770 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 771 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 772 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 773 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 774 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 775 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 776 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 777 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 778 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 779 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 780 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 781 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 782 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 783 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 784 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 785 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 786 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 787 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 788 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 789 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 790 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 791 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 792 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 793 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 794 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 795 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 796 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 797 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 798 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 799 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 800 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 801 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 802 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 803 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 804 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 805 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 806 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 807 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 808 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 809 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 810 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 811 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 812 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 813 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 814 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 815 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 816 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 817 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 818 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 819 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 820 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 821 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 822 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 823 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 824 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 825 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 826 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 827 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 828 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 829 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 830 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 831 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 832 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 833 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 834 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 835 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 836 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 837 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 838 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 839 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 840 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 841 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 842 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 843 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 844 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 845 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 846 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 847 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 848 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 849 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 850 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 851 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 852 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 853 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 854 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 855 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 856 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 857 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 858 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 859 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 860 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 861 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 862 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 863 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 864 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 865 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 866 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 867 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 868 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 869 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 870 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 871 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 872 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 873 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 874 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 875 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 876 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 877 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 878 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 879 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 880 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 881 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 882 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 883 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 884 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 885 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 886 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 887 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 888 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 889 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 890 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 891 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 892 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 893 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 894 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 895 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 896 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 897 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 898 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 899 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 900 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 901 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 902 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 903 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 904 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 905 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 906 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 907 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 908 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 909 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 910 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 911 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 912 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 913 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 914 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 915 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 916 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 917 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 918 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 919 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 920 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 921 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 922 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 923 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 924 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 925 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 926 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 927 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 928 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 929 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 930 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 931 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 932 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 933 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 934 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 935 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 936 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 937 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 938 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 939 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 940 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 941 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 942 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 943 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 944 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 945 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 946 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 947 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 948 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 949 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 950 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 951 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 952 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 953 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 954 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 955 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 956 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 957 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 958 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 959 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 960 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 961 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 962 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 963 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 964 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 965 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 966 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 967 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 968 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 969 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 970 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 971 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 972 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 973 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 974 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 975 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 976 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 977 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 978 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 979 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 980 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 981 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 982 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 983 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 984 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 985 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 986 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 987 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 988 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 989 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 990 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 991 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 992 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 993 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 994 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 995 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 996 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 997 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 998 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 999 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1000 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1001 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1002 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1003 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1004 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1005 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1006 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1007 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1008 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1009 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1010 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1011 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1012 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1013 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1014 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1015 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1016 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1017 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1018 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1019 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1020 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1021 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1022 (unused) */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1023 (unused) */
+	{  3, 	TD|TF, 	sys_open, 			"open"			}, /* 1024 */
+	{  2, 	TF, 	sys_link, 			"link"			}, /* 1025 */
+	{  1, 	TF, 	sys_unlink, 			"unlink"		}, /* 1026 */
+	{  3, 	TF, 	sys_mknod, 			"mknod"			}, /* 1027 */
+	{  2, 	TF, 	sys_chmod, 			"chmod"			}, /* 1028 */
+	{  3, 	TF, 	sys_chown, 			"lchown"		}, /* 1029 */
+	{  2, 	TF, 	sys_mkdir, 			"mkdir"			}, /* 1030 */
+	{  1, 	TF, 	sys_rmdir, 			"rmdir"			}, /* 1031 */
+	{  3, 	TF, 	sys_chown, 			"lchown"		}, /* 1032 */
+	{  2, 	TF, 	sys_access, 			"access"		}, /* 1033 */
+	{  2, 	TF, 	sys_rename, 			"rename"		}, /* 1034 */
+	{  3, 	TF, 	sys_readlink, 			"readlink"		}, /* 1035 */
+	{  2, 	TF, 	sys_symlink, 			"symlink"		}, /* 1036 */
+	{  2, 	TF, 	sys_utimes, 			"utimes"		}, /* 1037 */
+	{  2, 	TF, 	sys_stat64, 			"stat64"		}, /* 1038 */
+	{  2, 	TF, 	sys_lstat64, 			"lstat64"		}, /* 1039 */
+	{  1, 	TD, 	sys_pipe, 			"pipe"			}, /* 1040 */
+	{  2, 	TD, 	sys_dup2, 			"dup2"			}, /* 1041 */
+	{  1, 	TD, 	sys_epoll_create, 		"epoll_create"		}, /* 1042 */
+	{  0, 	TD, 	sys_inotify_init, 		"inotify_init"		}, /* 1043 */
+	{  1, 	TD, 	sys_eventfd, 			"eventfd"		}, /* 1044 */
+	{  3, 	TD|TS, 	sys_signalfd, 			"signalfd"		}, /* 1045 */
+	{  4, 	TD|TN, 	sys_sendfile, 			"sendfile"		}, /* 1046 */
+	{  2, 	TD, 	sys_ftruncate, 			"ftruncate"		}, /* 1047 */
+	{  2, 	TF, 	sys_truncate, 			"truncate"		}, /* 1048 */
+	{  2, 	TF, 	sys_stat, 			"stat"			}, /* 1049 */
+	{  2, 	TF, 	sys_lstat, 			"lstat"			}, /* 1050 */
+	{  2, 	TD, 	sys_fstat, 			"fstat"			}, /* 1051 */
+	{  3, 	TD, 	sys_fcntl, 			"fcntl"			}, /* 1052 */
+	{  6, 	TD, 	sys_fadvise64, 			"fadvise64"		}, /* 1053 */
+	{  4, 	TD|TF, 	sys_newfstatat, 		"newfstatat"		}, /* 1054 */
+	{  2, 	TD, 	sys_fstatfs, 			"fstatfs"		}, /* 1055 */
+	{  2, 	TF, 	sys_statfs, 			"statfs"		}, /* 1056 */
+	{  3, 	TF, 	sys_lseek, 			"lseek"			}, /* 1057 */
+	{  6, 	TD, 	sys_mmap, 			"mmap"			}, /* 1058 */
+	{  1, 	0, 	sys_alarm, 			"alarm"			}, /* 1059 */
+	{  0, 	0, 	sys_getpgrp, 			"getpgrp"		}, /* 1060 */
+	{  0, 	TS, 	sys_pause, 			"pause"			}, /* 1061 */
+	{  1, 	0, 	sys_time, 			"time"			}, /* 1062 */
+	{  2, 	TF, 	sys_utime, 			"utime"			}, /* 1063 */
+	{  2, 	TD|TF, 	sys_creat, 			"creat"			}, /* 1064 */
+	{  3, 	TD, 	sys_getdents, 			"getdents"		}, /* 1065 */
+	{  3, 	TD|TF, 	sys_futimesat, 			"futimesat"		}, /* 1066 */
+	{  5, 	TD, 	sys_select, 			"select"		}, /* 1067 */
+	{  3, 	TD, 	sys_poll, 			"poll"			}, /* 1068 */
+	{  4, 	TD, 	sys_epoll_wait, 		"epoll_wait"		}, /* 1069 */
+	{  2, 	0, 	sys_ustat, 			"ustat"			}, /* 1070 */
+	{  0, 	TP, 	sys_vfork, 			"vfork"			}, /* 1071 */
+	{ MA, 	0, 	NULL, 				NULL 			}, /* 1072 (unused) */
+	{  4, 	TN, 	sys_recv, 			"recv"			}, /* 1073 */
+	{  4, 	TN, 	sys_send, 			"send"			}, /* 1074 */
+	{  0, 	0, 	sys_bdflush, 			"bdflush"		}, /* 1075 */
+	{  1, 	TF, 	sys_umount, 			"oldumount"		}, /* 1076 */
+	{  1, 	TF, 	sys_uselib, 			"uselib"		}, /* 1077 */
+	{  1, 	0, 	sys_sysctl, 			"_sysctl"		}, /* 1078 */
+	{  0, 	TP, 	sys_fork, 			"fork"			}, /* 1079 */
diff --git a/process.c b/process.c
index 6cf296c..3e92d84 100644
--- a/process.c
+++ b/process.c
@@ -2116,11 +2116,48 @@ const struct xlat struct_user_offsets[] = {
 	{ PT_FSR,		"rfsr",					},
 	{ PT_KERNEL_MODE,	"kernel_mode",				},
 #endif
+#ifdef OR1K
+	{ 4*0,  "r0" },
+	{ 4*1,  "r1" },
+	{ 4*2,  "r2" },
+	{ 4*3,  "r3" },
+	{ 4*4,  "r4" },
+	{ 4*5,  "r5" },
+	{ 4*6,  "r6" },
+	{ 4*7,  "r7" },
+	{ 4*8,  "r8" },
+	{ 4*9,  "r9" },
+	{ 4*10, "r10" },
+	{ 4*11, "r11" },
+	{ 4*12, "r12" },
+	{ 4*13, "r13" },
+	{ 4*14, "r14" },
+	{ 4*15, "r15" },
+	{ 4*16, "r16" },
+	{ 4*17, "r17" },
+	{ 4*18, "r18" },
+	{ 4*19, "r19" },
+	{ 4*20, "r20" },
+	{ 4*21, "r21" },
+	{ 4*22, "r22" },
+	{ 4*23, "r23" },
+	{ 4*24, "r24" },
+	{ 4*25, "r25" },
+	{ 4*26, "r26" },
+	{ 4*27, "r27" },
+	{ 4*28, "r28" },
+	{ 4*29, "r29" },
+	{ 4*30, "r30" },
+	{ 4*31, "r31" },
+	{ 4*32, "pc" },
+	{ 4*33, "sr" },
+#endif

 #if !defined(SPARC) && !defined(HPPA) && !defined(POWERPC) \
 		&& !defined(ALPHA) && !defined(IA64) \
 		&& !defined(CRISV10) && !defined(CRISV32) \
-		&& !defined(MICROBLAZE) && !defined(AARCH64) && !defined(TILE)
+		&& !defined(MICROBLAZE) && !defined(AARCH64) \
+		&& !defined(TILE) && !defined(OR1K)
 # if !defined(S390) && !defined(S390X) && !defined(MIPS) &&
!defined(SPARC64) && !defined(AVR32) && !defined(BFIN)
 	{ uoff(u_fpvalid),	"offsetof(struct user, u_fpvalid)"	},
 # endif
@@ -2159,7 +2196,7 @@ const struct xlat struct_user_offsets[] = {
 # endif
 #endif /* !defined(many arches) */

-#if !defined(HPPA) && !defined(AARCH64) && !defined(TILE)
+#if !defined(HPPA) && !defined(AARCH64) && !defined(TILE) && !defined(OR1K)
 	{ sizeof(struct user),	"sizeof(struct user)"			},
 #endif
 	{ 0,			NULL					},
diff --git a/syscall.c b/syscall.c
index f403c44..053a8e5 100644
--- a/syscall.c
+++ b/syscall.c
@@ -35,6 +35,10 @@
 #include <sys/user.h>
 #include <sys/param.h>

+#if HAVE_SYS_UIO_H
+# include <sys/uio.h>
+#endif
+
 #ifdef HAVE_SYS_REG_H
 # include <sys/reg.h>
 # ifndef PTRACE_PEEKUSR
@@ -65,9 +69,8 @@
 # include <asm/rse.h>
 #endif

-#if defined(AARCH64)
+#if defined(AARCH64) || defined(OR1K)
 # include <asm/ptrace.h>
-# include <sys/uio.h>
 # include <elf.h>
 #endif

@@ -712,6 +715,12 @@ static long cris_r10;
 struct pt_regs tile_regs;
 #elif defined(MICROBLAZE)
 static long microblaze_r3;
+#elif defined(OR1K)
+struct user_regs_struct or1k_regs;
+struct iovec or1k_io = {
+	.iov_base = &or1k_regs,
+	.iov_len = sizeof(or1k_regs)
+};
 #endif

 void
@@ -847,6 +856,8 @@ printcall(struct tcb *tcp)
 # else
 	tprintf("[%08lx] ", (unsigned long) tile_regs.pc);
 # endif
+#elif defined(OR1K)
+	tprintf("[%08lx] ", or1k_regs.pc);
 #endif /* architecture */
 }

@@ -886,6 +897,9 @@ void get_regs(pid_t pid)
 	get_regs_error = ptrace(PTRACE_GETREGS, pid, (char *)&regs, 0);
 # elif defined(TILE)
 	get_regs_error = ptrace(PTRACE_GETREGS, pid, NULL, (long) &tile_regs);
+# elif defined(OR1K)
+	get_regs_error = ptrace(PTRACE_GETREGSET, pid, (void *)NT_PRSTATUS,
+	    (long)&or1k_io);
 # endif
 }
 #endif
@@ -1328,6 +1342,8 @@ get_scno(struct tcb *tcp)
 #elif defined(MICROBLAZE)
 	if (upeek(tcp, 0, &scno) < 0)
 		return -1;
+#elif defined(OR1K)
+	scno = or1k_regs.gpr[11];
 #endif

 #if defined(SH)
@@ -1712,6 +1728,10 @@ get_syscall_args(struct tcb *tcp)
 	tcp->u_arg[3] = i386_regs.esi;
 	tcp->u_arg[4] = i386_regs.edi;
 	tcp->u_arg[5] = i386_regs.ebp;
+#elif defined(OR1K)
+	(void)nargs;
+	for (i = 0; i < 6; ++i)
+		tcp->u_arg[i] = or1k_regs.gpr[3 + i];
 #else /* Other architecture (32bits specific) */
 	for (i = 0; i < nargs; ++i)
 		if (upeek(tcp, i*4, &tcp->u_arg[i]) < 0)
@@ -1906,6 +1926,8 @@ get_syscall_result(struct tcb *tcp)
 #elif defined(MICROBLAZE)
 	if (upeek(tcp, 3 * 4, &microblaze_r3) < 0)
 		return -1;
+#elif defined(OR1K)
+	/* already done by get_regs */
 #endif
 	return 1;
 }
@@ -2147,6 +2169,14 @@ get_error(struct tcb *tcp)
 	else {
 		tcp->u_rval = microblaze_r3;
 	}
+#elif defined(OR1K)
+	if (check_errno && is_negated_errno(or1k_regs.gpr[11])) {
+		tcp->u_rval = -1;
+		u_error = -or1k_regs.gpr[11];
+	}
+	else {
+		tcp->u_rval = or1k_regs.gpr[11];
+	}
 #endif
 	tcp->u_error = u_error;
 	return 1;
diff --git a/util.c b/util.c
index 93a98f6..2798350 100644
--- a/util.c
+++ b/util.c
@@ -1291,6 +1291,12 @@ change_syscall(struct tcb *tcp, arg_setup_state
*state, int new)
 	if (ptrace(PTRACE_POKEUSER, tcp->pid, (char*)(PT_GPR(0)), new) < 0)
 		return -1;
 	return 0;
+#elif defined(OR1K)
+	if (ptrace(PTRACE_GETREGSET, tcp->pid, (void*)1, (long)&or1k_regs) < 0)
+		return -1;
+	or1k_regs.gpr[11] = new;
+	if (ptrace(PTRACE_SETREGSET, tcp->pid, (void*)1, (long)&or1k_regs) < 0)
+		return -1;
 #else
 #warning Do not know how to handle change_syscall for this architecture
 #endif /* architecture */
-- 
1.8.1.2




More information about the Strace-devel mailing list