Commit e69b406510a7267b79d4ba7e8a1c8d4b28af2fb1

Authored by ths
1 parent dd43edf4

CRIS Linux usermode emulation, part 1. By Edgar E. Iglesias.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3366 c046a42c-6fe2-441c-8c8c-71466251a162
linux-user/cris/syscall.h 0 → 100644
  1 +
  2 +#define UNAME_MACHINE "cris"
  3 +
  4 +/* pt_regs not only specifices the format in the user-struct during
  5 + * ptrace but is also the frame format used in the kernel prologue/epilogues
  6 + * themselves
  7 + */
  8 +
  9 +struct target_pt_regs {
  10 + unsigned long orig_r10;
  11 + /* pushed by movem r13, [sp] in SAVE_ALL. */
  12 + unsigned long r0;
  13 + unsigned long r1;
  14 + unsigned long r2;
  15 + unsigned long r3;
  16 + unsigned long r4;
  17 + unsigned long r5;
  18 + unsigned long r6;
  19 + unsigned long r7;
  20 + unsigned long r8;
  21 + unsigned long r9;
  22 + unsigned long r10;
  23 + unsigned long r11;
  24 + unsigned long r12;
  25 + unsigned long r13;
  26 + unsigned long acr;
  27 + unsigned long srs;
  28 + unsigned long mof;
  29 + unsigned long spc;
  30 + unsigned long ccs;
  31 + unsigned long srp;
  32 + unsigned long erp; /* This is actually the debugged process' PC */
  33 + /* For debugging purposes; saved only when needed. */
  34 + unsigned long exs;
  35 + unsigned long eda;
  36 +};
  37 +
... ...
linux-user/cris/syscall_nr.h 0 → 100644
  1 +/*
  2 + * This file contains the system call numbers, and stub macros for libc.
  3 + */
  4 +
  5 +#define TARGET_NR_restart_syscall 0
  6 +#define TARGET_NR_exit 1
  7 +#define TARGET_NR_fork 2
  8 +#define TARGET_NR_read 3
  9 +#define TARGET_NR_write 4
  10 +#define TARGET_NR_open 5
  11 +#define TARGET_NR_close 6
  12 +#define TARGET_NR_waitpid 7
  13 +#define TARGET_NR_creat 8
  14 +#define TARGET_NR_link 9
  15 +#define TARGET_NR_unlink 10
  16 +#define TARGET_NR_execve 11
  17 +#define TARGET_NR_chdir 12
  18 +#define TARGET_NR_time 13
  19 +#define TARGET_NR_mknod 14
  20 +#define TARGET_NR_chmod 15
  21 +#define TARGET_NR_lchown 16
  22 +#define TARGET_NR_break 17
  23 +#define TARGET_NR_oldstat 18
  24 +#define TARGET_NR_lseek 19
  25 +#define TARGET_NR_getpid 20
  26 +#define TARGET_NR_mount 21
  27 +#define TARGET_NR_umount 22
  28 +#define TARGET_NR_setuid 23
  29 +#define TARGET_NR_getuid 24
  30 +#define TARGET_NR_stime 25
  31 +#define TARGET_NR_ptrace 26
  32 +#define TARGET_NR_alarm 27
  33 +#define TARGET_NR_oldfstat 28
  34 +#define TARGET_NR_pause 29
  35 +#define TARGET_NR_utime 30
  36 +#define TARGET_NR_stty 31
  37 +#define TARGET_NR_gtty 32
  38 +#define TARGET_NR_access 33
  39 +#define TARGET_NR_nice 34
  40 +#define TARGET_NR_ftime 35
  41 +#define TARGET_NR_sync 36
  42 +#define TARGET_NR_kill 37
  43 +#define TARGET_NR_rename 38
  44 +#define TARGET_NR_mkdir 39
  45 +#define TARGET_NR_rmdir 40
  46 +#define TARGET_NR_dup 41
  47 +#define TARGET_NR_pipe 42
  48 +#define TARGET_NR_times 43
  49 +#define TARGET_NR_prof 44
  50 +#define TARGET_NR_brk 45
  51 +#define TARGET_NR_setgid 46
  52 +#define TARGET_NR_getgid 47
  53 +#define TARGET_NR_signal 48
  54 +#define TARGET_NR_geteuid 49
  55 +#define TARGET_NR_getegid 50
  56 +#define TARGET_NR_acct 51
  57 +#define TARGET_NR_umount2 52
  58 +#define TARGET_NR_lock 53
  59 +#define TARGET_NR_ioctl 54
  60 +#define TARGET_NR_fcntl 55
  61 +#define TARGET_NR_mpx 56
  62 +#define TARGET_NR_setpgid 57
  63 +#define TARGET_NR_ulimit 58
  64 +#define TARGET_NR_oldolduname 59
  65 +#define TARGET_NR_umask 60
  66 +#define TARGET_NR_chroot 61
  67 +#define TARGET_NR_ustat 62
  68 +#define TARGET_NR_dup2 63
  69 +#define TARGET_NR_getppid 64
  70 +#define TARGET_NR_getpgrp 65
  71 +#define TARGET_NR_setsid 66
  72 +#define TARGET_NR_sigaction 67
  73 +#define TARGET_NR_sgetmask 68
  74 +#define TARGET_NR_ssetmask 69
  75 +#define TARGET_NR_setreuid 70
  76 +#define TARGET_NR_setregid 71
  77 +#define TARGET_NR_sigsuspend 72
  78 +#define TARGET_NR_sigpending 73
  79 +#define TARGET_NR_sethostname 74
  80 +#define TARGET_NR_setrlimit 75
  81 +#define TARGET_NR_getrlimit 76
  82 +#define TARGET_NR_getrusage 77
  83 +#define TARGET_NR_gettimeofday 78
  84 +#define TARGET_NR_settimeofday 79
  85 +#define TARGET_NR_getgroups 80
  86 +#define TARGET_NR_setgroups 81
  87 +#define TARGET_NR_select 82
  88 +#define TARGET_NR_symlink 83
  89 +#define TARGET_NR_oldlstat 84
  90 +#define TARGET_NR_readlink 85
  91 +#define TARGET_NR_uselib 86
  92 +#define TARGET_NR_swapon 87
  93 +#define TARGET_NR_reboot 88
  94 +#define TARGET_NR_readdir 89
  95 +#define TARGET_NR_mmap 90
  96 +#define TARGET_NR_munmap 91
  97 +#define TARGET_NR_truncate 92
  98 +#define TARGET_NR_ftruncate 93
  99 +#define TARGET_NR_fchmod 94
  100 +#define TARGET_NR_fchown 95
  101 +#define TARGET_NR_getpriority 96
  102 +#define TARGET_NR_setpriority 97
  103 +#define TARGET_NR_profil 98
  104 +#define TARGET_NR_statfs 99
  105 +#define TARGET_NR_fstatfs 100
  106 +#define TARGET_NR_ioperm 101
  107 +#define TARGET_NR_socketcall 102
  108 +#define TARGET_NR_syslog 103
  109 +#define TARGET_NR_setitimer 104
  110 +#define TARGET_NR_getitimer 105
  111 +#define TARGET_NR_stat 106
  112 +#define TARGET_NR_lstat 107
  113 +#define TARGET_NR_fstat 108
  114 +#define TARGET_NR_olduname 109
  115 +#define TARGET_NR_iopl 110
  116 +#define TARGET_NR_vhangup 111
  117 +#define TARGET_NR_idle 112
  118 +#define TARGET_NR_vm86 113
  119 +#define TARGET_NR_wait4 114
  120 +#define TARGET_NR_swapoff 115
  121 +#define TARGET_NR_sysinfo 116
  122 +#define TARGET_NR_ipc 117
  123 +#define TARGET_NR_fsync 118
  124 +#define TARGET_NR_sigreturn 119
  125 +#define TARGET_NR_clone 120
  126 +#define TARGET_NR_setdomainname 121
  127 +#define TARGET_NR_uname 122
  128 +#define TARGET_NR_modify_ldt 123
  129 +#define TARGET_NR_adjtimex 124
  130 +#define TARGET_NR_mprotect 125
  131 +#define TARGET_NR_sigprocmask 126
  132 +#define TARGET_NR_create_module 127
  133 +#define TARGET_NR_init_module 128
  134 +#define TARGET_NR_delete_module 129
  135 +#define TARGET_NR_get_kernel_syms 130
  136 +#define TARGET_NR_quotactl 131
  137 +#define TARGET_NR_getpgid 132
  138 +#define TARGET_NR_fchdir 133
  139 +#define TARGET_NR_bdflush 134
  140 +#define TARGET_NR_sysfs 135
  141 +#define TARGET_NR_personality 136
  142 +#define TARGET_NR_afs_syscall 137 /* Syscall for Andrew File System */
  143 +#define TARGET_NR_setfsuid 138
  144 +#define TARGET_NR_setfsgid 139
  145 +#define TARGET_NR__llseek 140
  146 +#define TARGET_NR_getdents 141
  147 +#define TARGET_NR__newselect 142
  148 +#define TARGET_NR_flock 143
  149 +#define TARGET_NR_msync 144
  150 +#define TARGET_NR_readv 145
  151 +#define TARGET_NR_writev 146
  152 +#define TARGET_NR_getsid 147
  153 +#define TARGET_NR_fdatasync 148
  154 +#define TARGET_NR__sysctl 149
  155 +#define TARGET_NR_mlock 150
  156 +#define TARGET_NR_munlock 151
  157 +#define TARGET_NR_mlockall 152
  158 +#define TARGET_NR_munlockall 153
  159 +#define TARGET_NR_sched_setparam 154
  160 +#define TARGET_NR_sched_getparam 155
  161 +#define TARGET_NR_sched_setscheduler 156
  162 +#define TARGET_NR_sched_getscheduler 157
  163 +#define TARGET_NR_sched_yield 158
  164 +#define TARGET_NR_sched_get_priority_max 159
  165 +#define TARGET_NR_sched_get_priority_min 160
  166 +#define TARGET_NR_sched_rr_get_interval 161
  167 +#define TARGET_NR_nanosleep 162
  168 +#define TARGET_NR_mremap 163
  169 +#define TARGET_NR_setresuid 164
  170 +#define TARGET_NR_getresuid 165
  171 +
  172 +#define TARGET_NR_query_module 167
  173 +#define TARGET_NR_poll 168
  174 +#define TARGET_NR_nfsservctl 169
  175 +#define TARGET_NR_setresgid 170
  176 +#define TARGET_NR_getresgid 171
  177 +#define TARGET_NR_prctl 172
  178 +#define TARGET_NR_rt_sigreturn 173
  179 +#define TARGET_NR_rt_sigaction 174
  180 +#define TARGET_NR_rt_sigprocmask 175
  181 +#define TARGET_NR_rt_sigpending 176
  182 +#define TARGET_NR_rt_sigtimedwait 177
  183 +#define TARGET_NR_rt_sigqueueinfo 178
  184 +#define TARGET_NR_rt_sigsuspend 179
  185 +#define TARGET_NR_pread64 180
  186 +#define TARGET_NR_pwrite64 181
  187 +#define TARGET_NR_chown 182
  188 +#define TARGET_NR_getcwd 183
  189 +#define TARGET_NR_capget 184
  190 +#define TARGET_NR_capset 185
  191 +#define TARGET_NR_sigaltstack 186
  192 +#define TARGET_NR_sendfile 187
  193 +#define TARGET_NR_getpmsg 188 /* some people actually want streams */
  194 +#define TARGET_NR_putpmsg 189 /* some people actually want streams */
  195 +#define TARGET_NR_vfork 190
  196 +#define TARGET_NR_ugetrlimit 191 /* SuS compliant getrlimit */
  197 +#define TARGET_NR_mmap2 192
  198 +#define TARGET_NR_truncate64 193
  199 +#define TARGET_NR_ftruncate64 194
  200 +#define TARGET_NR_stat64 195
  201 +#define TARGET_NR_lstat64 196
  202 +#define TARGET_NR_fstat64 197
  203 +#define TARGET_NR_lchown32 198
  204 +#define TARGET_NR_getuid32 199
  205 +#define TARGET_NR_getgid32 200
  206 +#define TARGET_NR_geteuid32 201
  207 +#define TARGET_NR_getegid32 202
  208 +#define TARGET_NR_setreuid32 203
  209 +#define TARGET_NR_setregid32 204
  210 +#define TARGET_NR_getgroups32 205
  211 +#define TARGET_NR_setgroups32 206
  212 +#define TARGET_NR_fchown32 207
  213 +#define TARGET_NR_setresuid32 208
  214 +#define TARGET_NR_getresuid32 209
  215 +#define TARGET_NR_setresgid32 210
  216 +#define TARGET_NR_getresgid32 211
  217 +#define TARGET_NR_chown32 212
  218 +#define TARGET_NR_setuid32 213
  219 +#define TARGET_NR_setgid32 214
  220 +#define TARGET_NR_setfsuid32 215
  221 +#define TARGET_NR_setfsgid32 216
  222 +#define TARGET_NR_pivot_root 217
  223 +#define TARGET_NR_mincore 218
  224 +#define TARGET_NR_madvise 219
  225 +#define TARGET_NR_getdents64 220
  226 +#define TARGET_NR_fcntl64 221
  227 +/* 223 is unused */
  228 +#define TARGET_NR_gettid 224
  229 +#define TARGET_NR_readahead 225
  230 +#define TARGET_NR_setxattr 226
  231 +#define TARGET_NR_lsetxattr 227
  232 +#define TARGET_NR_fsetxattr 228
  233 +#define TARGET_NR_getxattr 229
  234 +#define TARGET_NR_lgetxattr 230
  235 +#define TARGET_NR_fgetxattr 231
  236 +#define TARGET_NR_listxattr 232
  237 +#define TARGET_NR_llistxattr 233
  238 +#define TARGET_NR_flistxattr 234
  239 +#define TARGET_NR_removexattr 235
  240 +#define TARGET_NR_lremovexattr 236
  241 +#define TARGET_NR_fremovexattr 237
  242 +#define TARGET_NR_tkill 238
  243 +#define TARGET_NR_sendfile64 239
  244 +#define TARGET_NR_futex 240
  245 +#define TARGET_NR_sched_setaffinity 241
  246 +#define TARGET_NR_sched_getaffinity 242
  247 +#define TARGET_NR_set_thread_area 243
  248 +#define TARGET_NR_get_thread_area 244
  249 +#define TARGET_NR_io_setup 245
  250 +#define TARGET_NR_io_destroy 246
  251 +#define TARGET_NR_io_getevents 247
  252 +#define TARGET_NR_io_submit 248
  253 +#define TARGET_NR_io_cancel 249
  254 +#define TARGET_NR_fadvise64 250
  255 +#define TARGET_NR_exit_group 252
  256 +#define TARGET_NR_lookup_dcookie 253
  257 +#define TARGET_NR_epoll_create 254
  258 +#define TARGET_NR_epoll_ctl 255
  259 +#define TARGET_NR_epoll_wait 256
  260 +#define TARGET_NR_remap_file_pages 257
  261 +#define TARGET_NR_set_tid_address 258
  262 +#define TARGET_NR_timer_create 259
  263 +#define TARGET_NR_timer_settime (TARGET_NR_timer_create+1)
  264 +#define TARGET_NR_timer_gettime (TARGET_NR_timer_create+2)
  265 +#define TARGET_NR_timer_getoverrun (TARGET_NR_timer_create+3)
  266 +#define TARGET_NR_timer_delete (TARGET_NR_timer_create+4)
  267 +#define TARGET_NR_clock_settime (TARGET_NR_timer_create+5)
  268 +#define TARGET_NR_clock_gettime (TARGET_NR_timer_create+6)
  269 +#define TARGET_NR_clock_getres (TARGET_NR_timer_create+7)
  270 +#define TARGET_NR_clock_nanosleep (TARGET_NR_timer_create+8)
  271 +#define TARGET_NR_statfs64 268
  272 +#define TARGET_NR_fstatfs64 269
  273 +#define TARGET_NR_tgkill 270
  274 +#define TARGET_NR_utimes 271
  275 +#define TARGET_NR_fadvise64_64 272
  276 +#define TARGET_NR_vserver 273
  277 +#define TARGET_NR_mbind 274
  278 +#define TARGET_NR_get_mempolicy 275
  279 +#define TARGET_NR_set_mempolicy 276
  280 +#define TARGET_NR_mq_open 277
  281 +#define TARGET_NR_mq_unlink (TARGET_NR_mq_open+1)
  282 +#define TARGET_NR_mq_timedsend (TARGET_NR_mq_open+2)
  283 +#define TARGET_NR_mq_timedreceive (TARGET_NR_mq_open+3)
  284 +#define TARGET_NR_mq_notify (TARGET_NR_mq_open+4)
  285 +#define TARGET_NR_mq_getsetattr (TARGET_NR_mq_open+5)
  286 +#define TARGET_NR_kexec_load 283
  287 +#define TARGET_NR_waitid 284
  288 +/* #define TARGET_NR_sys_setaltroot 285 */
  289 +#define TARGET_NR_add_key 286
  290 +#define TARGET_NR_request_key 287
  291 +#define TARGET_NR_keyctl 288
... ...
linux-user/cris/target_signal.h 0 → 100644
  1 +#ifndef TARGET_SIGNAL_H
  2 +#define TARGET_SIGNAL_H
  3 +
  4 +#include "cpu.h"
  5 +
  6 +/* this struct defines a stack used during syscall handling */
  7 +
  8 +typedef struct target_sigaltstack {
  9 + target_ulong ss_sp;
  10 + target_ulong ss_size;
  11 + target_long ss_flags;
  12 +} target_stack_t;
  13 +
  14 +
  15 +/*
  16 + * sigaltstack controls
  17 + */
  18 +#define TARGET_SS_ONSTACK 1
  19 +#define TARGET_SS_DISABLE 2
  20 +
  21 +#define TARGET_MINSIGSTKSZ 2048
  22 +#define TARGET_SIGSTKSZ 8192
  23 +
  24 +static inline target_ulong get_sp_from_cpustate(CPUCRISState *state)
  25 +{
  26 + return state->regs[14];
  27 +}
  28 +
  29 +#endif /* TARGET_SIGNAL_H */
... ...
linux-user/cris/termbits.h 0 → 100644
  1 +/* from asm/termbits.h */
  2 +
  3 +#define TARGET_NCCS 19
  4 +
  5 +struct target_termios {
  6 + unsigned int c_iflag; /* input mode flags */
  7 + unsigned int c_oflag; /* output mode flags */
  8 + unsigned int c_cflag; /* control mode flags */
  9 + unsigned int c_lflag; /* local mode flags */
  10 + unsigned char c_line; /* line discipline */
  11 + unsigned char c_cc[TARGET_NCCS]; /* control characters */
  12 +};
  13 +
  14 +/* c_iflag bits */
  15 +#define TARGET_IGNBRK 0000001
  16 +#define TARGET_BRKINT 0000002
  17 +#define TARGET_IGNPAR 0000004
  18 +#define TARGET_PARMRK 0000010
  19 +#define TARGET_INPCK 0000020
  20 +#define TARGET_ISTRIP 0000040
  21 +#define TARGET_INLCR 0000100
  22 +#define TARGET_IGNCR 0000200
  23 +#define TARGET_ICRNL 0000400
  24 +#define TARGET_IUCLC 0001000
  25 +#define TARGET_IXON 0002000
  26 +#define TARGET_IXANY 0004000
  27 +#define TARGET_IXOFF 0010000
  28 +#define TARGET_IMAXBEL 0020000
  29 +
  30 +/* c_oflag bits */
  31 +#define TARGET_OPOST 0000001
  32 +#define TARGET_OLCUC 0000002
  33 +#define TARGET_ONLCR 0000004
  34 +#define TARGET_OCRNL 0000010
  35 +#define TARGET_ONOCR 0000020
  36 +#define TARGET_ONLRET 0000040
  37 +#define TARGET_OFILL 0000100
  38 +#define TARGET_OFDEL 0000200
  39 +#define TARGET_NLDLY 0000400
  40 +#define TARGET_NL0 0000000
  41 +#define TARGET_NL1 0000400
  42 +#define TARGET_CRDLY 0003000
  43 +#define TARGET_CR0 0000000
  44 +#define TARGET_CR1 0001000
  45 +#define TARGET_CR2 0002000
  46 +#define TARGET_CR3 0003000
  47 +#define TARGET_TABDLY 0014000
  48 +#define TARGET_TAB0 0000000
  49 +#define TARGET_TAB1 0004000
  50 +#define TARGET_TAB2 0010000
  51 +#define TARGET_TAB3 0014000
  52 +#define TARGET_XTABS 0014000
  53 +#define TARGET_BSDLY 0020000
  54 +#define TARGET_BS0 0000000
  55 +#define TARGET_BS1 0020000
  56 +#define TARGET_VTDLY 0040000
  57 +#define TARGET_VT0 0000000
  58 +#define TARGET_VT1 0040000
  59 +#define TARGET_FFDLY 0100000
  60 +#define TARGET_FF0 0000000
  61 +#define TARGET_FF1 0100000
  62 +
  63 +/* c_cflag bit meaning */
  64 +#define TARGET_CBAUD 0010017
  65 +#define TARGET_B0 0000000 /* hang up */
  66 +#define TARGET_B50 0000001
  67 +#define TARGET_B75 0000002
  68 +#define TARGET_B110 0000003
  69 +#define TARGET_B134 0000004
  70 +#define TARGET_B150 0000005
  71 +#define TARGET_B200 0000006
  72 +#define TARGET_B300 0000007
  73 +#define TARGET_B600 0000010
  74 +#define TARGET_B1200 0000011
  75 +#define TARGET_B1800 0000012
  76 +#define TARGET_B2400 0000013
  77 +#define TARGET_B4800 0000014
  78 +#define TARGET_B9600 0000015
  79 +#define TARGET_B19200 0000016
  80 +#define TARGET_B38400 0000017
  81 +#define TARGET_EXTA B19200
  82 +#define TARGET_EXTB B38400
  83 +#define TARGET_CSIZE 0000060
  84 +#define TARGET_CS5 0000000
  85 +#define TARGET_CS6 0000020
  86 +#define TARGET_CS7 0000040
  87 +#define TARGET_CS8 0000060
  88 +#define TARGET_CSTOPB 0000100
  89 +#define TARGET_CREAD 0000200
  90 +#define TARGET_PARENB 0000400
  91 +#define TARGET_PARODD 0001000
  92 +#define TARGET_HUPCL 0002000
  93 +#define TARGET_CLOCAL 0004000
  94 +#define TARGET_CBAUDEX 0010000
  95 +#define TARGET_B57600 0010001
  96 +#define TARGET_B115200 0010002
  97 +#define TARGET_B230400 0010003
  98 +#define TARGET_B460800 0010004
  99 +#define TARGET_CIBAUD 002003600000 /* input baud rate (not used) */
  100 +#define TARGET_CRTSCTS 020000000000 /* flow control */
  101 +
  102 +/* c_lflag bits */
  103 +#define TARGET_ISIG 0000001
  104 +#define TARGET_ICANON 0000002
  105 +#define TARGET_XCASE 0000004
  106 +#define TARGET_ECHO 0000010
  107 +#define TARGET_ECHOE 0000020
  108 +#define TARGET_ECHOK 0000040
  109 +#define TARGET_ECHONL 0000100
  110 +#define TARGET_NOFLSH 0000200
  111 +#define TARGET_TOSTOP 0000400
  112 +#define TARGET_ECHOCTL 0001000
  113 +#define TARGET_ECHOPRT 0002000
  114 +#define TARGET_ECHOKE 0004000
  115 +#define TARGET_FLUSHO 0010000
  116 +#define TARGET_PENDIN 0040000
  117 +#define TARGET_IEXTEN 0100000
  118 +
  119 +/* c_cc character offsets */
  120 +#define TARGET_VINTR 0
  121 +#define TARGET_VQUIT 1
  122 +#define TARGET_VERASE 2
  123 +#define TARGET_VKILL 3
  124 +#define TARGET_VEOF 4
  125 +#define TARGET_VTIME 5
  126 +#define TARGET_VMIN 6
  127 +#define TARGET_VSWTC 7
  128 +#define TARGET_VSTART 8
  129 +#define TARGET_VSTOP 9
  130 +#define TARGET_VSUSP 10
  131 +#define TARGET_VEOL 11
  132 +#define TARGET_VREPRINT 12
  133 +#define TARGET_VDISCARD 13
  134 +#define TARGET_VWERASE 14
  135 +#define TARGET_VLNEXT 15
  136 +#define TARGET_VEOL2 16
  137 +
  138 +/* ioctls */
  139 +
  140 +#define TARGET_TCGETS 0x5401
  141 +#define TARGET_TCSETS 0x5402
  142 +#define TARGET_TCSETSW 0x5403
  143 +#define TARGET_TCSETSF 0x5404
  144 +#define TARGET_TCGETA 0x5405
  145 +#define TARGET_TCSETA 0x5406
  146 +#define TARGET_TCSETAW 0x5407
  147 +#define TARGET_TCSETAF 0x5408
  148 +#define TARGET_TCSBRK 0x5409
  149 +#define TARGET_TCXONC 0x540A
  150 +#define TARGET_TCFLSH 0x540B
  151 +
  152 +#define TARGET_TIOCEXCL 0x540C
  153 +#define TARGET_TIOCNXCL 0x540D
  154 +#define TARGET_TIOCSCTTY 0x540E
  155 +#define TARGET_TIOCGPGRP 0x540F
  156 +#define TARGET_TIOCSPGRP 0x5410
  157 +#define TARGET_TIOCOUTQ 0x5411
  158 +#define TARGET_TIOCSTI 0x5412
  159 +#define TARGET_TIOCGWINSZ 0x5413
  160 +#define TARGET_TIOCSWINSZ 0x5414
  161 +#define TARGET_TIOCMGET 0x5415
  162 +#define TARGET_TIOCMBIS 0x5416
  163 +#define TARGET_TIOCMBIC 0x5417
  164 +#define TARGET_TIOCMSET 0x5418
  165 +#define TARGET_TIOCGSOFTCAR 0x5419
  166 +#define TARGET_TIOCSSOFTCAR 0x541A
  167 +#define TARGET_FIONREAD 0x541B
  168 +#define TARGET_TIOCINQ TARGET_FIONREAD
  169 +#define TARGET_TIOCLINUX 0x541C
  170 +#define TARGET_TIOCCONS 0x541D
  171 +#define TARGET_TIOCGSERIAL 0x541E
  172 +#define TARGET_TIOCSSERIAL 0x541F
  173 +#define TARGET_TIOCPKT 0x5420
  174 +#define TARGET_FIONBIO 0x5421
  175 +#define TARGET_TIOCNOTTY 0x5422
  176 +#define TARGET_TIOCSETD 0x5423
  177 +#define TARGET_TIOCGETD 0x5424
  178 +#define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
  179 +#define TARGET_TIOCTTYGSTRUCT 0x5426 /* For debugging only */
  180 +#define TARGET_TIOCSBRK 0x5427 /* BSD compatibility */
  181 +#define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */
  182 +#define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */
  183 +#define TARGET_TIOCGPTN TARGET_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
  184 +#define TARGET_TIOCSPTLCK TARGET_IOW('T',0x31, int) /* Lock/unlock Pty */
  185 +
  186 +#define TARGET_FIONCLEX 0x5450 /* these numbers need to be adjusted. */
  187 +#define TARGET_FIOCLEX 0x5451
  188 +#define TARGET_FIOASYNC 0x5452
  189 +#define TARGET_TIOCSERCONFIG 0x5453
  190 +#define TARGET_TIOCSERGWILD 0x5454
  191 +#define TARGET_TIOCSERSWILD 0x5455
  192 +#define TARGET_TIOCGLCKTRMIOS 0x5456
  193 +#define TARGET_TIOCSLCKTRMIOS 0x5457
  194 +#define TARGET_TIOCSERGSTRUCT 0x5458 /* For debugging only */
  195 +#define TARGET_TIOCSERGETLSR 0x5459 /* Get line status register */
  196 +#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config */
  197 +#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
  198 +
  199 +#define TARGET_TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
  200 +#define TARGET_TIOCGICOUNT 0x545D /* read serial port inline interrupt counts */
  201 +#define TARGET_TIOCGHAYESESP 0x545E /* Get Hayes ESP configuration */
  202 +#define TARGET_TIOCSHAYESESP 0x545F /* Set Hayes ESP configuration */
  203 +
  204 +/* Used for packet mode */
  205 +#define TARGET_TIOCPKT_DATA 0
  206 +#define TARGET_TIOCPKT_FLUSHREAD 1
  207 +#define TARGET_TIOCPKT_FLUSHWRITE 2
  208 +#define TARGET_TIOCPKT_STOP 4
  209 +#define TARGET_TIOCPKT_START 8
  210 +#define TARGET_TIOCPKT_NOSTOP 16
  211 +#define TARGET_TIOCPKT_DOSTOP 32
  212 +
  213 +#define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */
  214 +
... ...