qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
To: qemu-devel@nongnu.org
Cc: "Edgar E. Iglesias" <edgar.iglesias@gmail.com>
Subject: [Qemu-devel] [PATCH 02/13] microblaze: Add syscall, signal and termbits defs for linux-user.
Date: Wed, 20 May 2009 22:56:04 +0200	[thread overview]
Message-ID: <1242852975-31043-2-git-send-email-edgar.iglesias@gmail.com> (raw)
In-Reply-To: <1242852975-31043-1-git-send-email-edgar.iglesias@gmail.com>

Signed-off-by: Edgar E. Iglesias <edgar.iglesias@gmail.com>
---
 linux-user/microblaze/syscall.h       |   44 ++++
 linux-user/microblaze/syscall_nr.h    |  369 +++++++++++++++++++++++++++++++++
 linux-user/microblaze/target_signal.h |   29 +++
 linux-user/microblaze/termbits.h      |  213 +++++++++++++++++++
 4 files changed, 655 insertions(+), 0 deletions(-)
 create mode 100644 linux-user/microblaze/syscall.h
 create mode 100644 linux-user/microblaze/syscall_nr.h
 create mode 100644 linux-user/microblaze/target_signal.h
 create mode 100644 linux-user/microblaze/termbits.h

diff --git a/linux-user/microblaze/syscall.h b/linux-user/microblaze/syscall.h
new file mode 100644
index 0000000..9863503
--- /dev/null
+++ b/linux-user/microblaze/syscall.h
@@ -0,0 +1,44 @@
+#define UNAME_MACHINE "microblaze"
+
+typedef uint32_t microblaze_reg_t;
+
+struct target_pt_regs {
+        microblaze_reg_t r0;
+        microblaze_reg_t r1;
+        microblaze_reg_t r2;
+        microblaze_reg_t r3;
+        microblaze_reg_t r4;
+        microblaze_reg_t r5;
+        microblaze_reg_t r6;
+        microblaze_reg_t r7;
+        microblaze_reg_t r8;
+        microblaze_reg_t r9;
+        microblaze_reg_t r10;
+        microblaze_reg_t r11;
+        microblaze_reg_t r12;
+        microblaze_reg_t r13;
+        microblaze_reg_t r14;
+        microblaze_reg_t r15;
+        microblaze_reg_t r16;
+        microblaze_reg_t r17;
+        microblaze_reg_t r18;
+        microblaze_reg_t r19;
+        microblaze_reg_t r20;
+        microblaze_reg_t r21;
+        microblaze_reg_t r22;
+        microblaze_reg_t r23;
+        microblaze_reg_t r24;
+        microblaze_reg_t r25;
+        microblaze_reg_t r26;
+        microblaze_reg_t r27;
+        microblaze_reg_t r28;
+        microblaze_reg_t r29;
+        microblaze_reg_t r30;
+        microblaze_reg_t r31;
+        microblaze_reg_t pc;
+        microblaze_reg_t msr;
+        microblaze_reg_t ear;
+        microblaze_reg_t esr;
+        microblaze_reg_t fsr;
+        uint32_t kernel_mode;
+};
diff --git a/linux-user/microblaze/syscall_nr.h b/linux-user/microblaze/syscall_nr.h
new file mode 100644
index 0000000..3e641cd
--- /dev/null
+++ b/linux-user/microblaze/syscall_nr.h
@@ -0,0 +1,369 @@
+#define TARGET_NR_restart_syscall	0 /* ok */
+#define TARGET_NR_exit		1 /* ok */
+#define TARGET_NR_fork		2 /* not for no MMU - weird */
+#define TARGET_NR_read		3 /* ok */
+#define TARGET_NR_write		4 /* ok */
+#define TARGET_NR_open		5 /* openat */
+#define TARGET_NR_close		6 /* ok */
+#define TARGET_NR_waitpid		7 /* waitid */
+#define TARGET_NR_creat		8 /* openat */
+#define TARGET_NR_link		9 /* linkat */
+#define TARGET_NR_unlink		10 /* unlinkat */
+#define TARGET_NR_execve		11 /* ok */
+#define TARGET_NR_chdir		12 /* ok */
+#define TARGET_NR_time		13 /* obsolete -> sys_gettimeofday */
+#define TARGET_NR_mknod		14 /* mknodat */
+#define TARGET_NR_chmod		15 /* fchmodat */
+#define TARGET_NR_lchown		16 /* ok */
+#define TARGET_NR_break		17 /* don't know */
+#define TARGET_NR_oldstat		18 /* remove */
+#define TARGET_NR_lseek		19 /* ok */
+#define TARGET_NR_getpid		20 /* ok */
+#define TARGET_NR_mount		21 /* ok */
+#define TARGET_NR_umount		22 /* ok */  /* use only umount2 */
+#define TARGET_NR_setuid		23 /* ok */
+#define TARGET_NR_getuid		24 /* ok */
+#define TARGET_NR_stime		25 /* obsolete -> sys_settimeofday */
+#define TARGET_NR_ptrace		26 /* ok */
+#define TARGET_NR_alarm		27 /* obsolete -> sys_setitimer */
+#define TARGET_NR_oldfstat		28 /* remove */
+#define TARGET_NR_pause		29 /* obsolete -> sys_rt_sigtimedwait */
+#define TARGET_NR_utime		30 /* obsolete -> sys_utimesat */
+#define TARGET_NR_stty		31 /* remove */
+#define TARGET_NR_gtty		32 /* remove */
+#define TARGET_NR_access		33 /* faccessat */
+#define TARGET_NR_nice		34 /* can be implemented by sys_setpriority */
+#define TARGET_NR_ftime		35 /* remove */
+#define TARGET_NR_sync		36 /* ok */
+#define TARGET_NR_kill		37 /* ok */
+#define TARGET_NR_rename		38 /* renameat */
+#define TARGET_NR_mkdir		39 /* mkdirat */
+#define TARGET_NR_rmdir		40 /* unlinkat */
+#define TARGET_NR_dup		41 /* ok */
+#define TARGET_NR_pipe		42 /* ok */
+#define TARGET_NR_times		43 /* ok */
+#define TARGET_NR_prof		44 /* remove */
+#define TARGET_NR_brk		45 /* ok -mmu, nommu specific */
+#define TARGET_NR_setgid		46 /* ok */
+#define TARGET_NR_getgid		47 /* ok */
+#define TARGET_NR_signal		48 /* obsolete -> sys_rt_sigaction */
+#define TARGET_NR_geteuid		49 /* ok */
+#define TARGET_NR_getegid		50 /* ok */
+#define TARGET_NR_acct		51 /* add it and then I can disable it */
+#define TARGET_NR_umount2		52 /* remove */
+#define TARGET_NR_lock		53 /* remove */
+#define TARGET_NR_ioctl		54 /* ok */
+#define TARGET_NR_fcntl		55 /* ok -> 64bit version*/
+#define TARGET_NR_mpx		56 /* remove */
+#define TARGET_NR_setpgid		57 /* ok */
+#define TARGET_NR_ulimit		58 /* remove */
+#define TARGET_NR_oldolduname	59 /* remove */
+#define TARGET_NR_umask		60 /* ok */
+#define TARGET_NR_chroot		61 /* ok */
+#define TARGET_NR_ustat		62 /* obsolete -> statfs64 */
+#define TARGET_NR_dup2		63 /* ok */
+#define TARGET_NR_getppid		64 /* ok */
+#define TARGET_NR_getpgrp		65 /* obsolete -> sys_getpgid */
+#define TARGET_NR_setsid		66 /* ok */
+#define TARGET_NR_sigaction		67 /* obsolete -> rt_sigaction */
+#define TARGET_NR_sgetmask		68 /* obsolete -> sys_rt_sigprocmask */
+#define TARGET_NR_ssetmask		69 /* obsolete ->sys_rt_sigprocmask */
+#define TARGET_NR_setreuid		70 /* ok */
+#define TARGET_NR_setregid		71 /* ok */
+#define TARGET_NR_sigsuspend		72 /* obsolete -> rt_sigsuspend */
+#define TARGET_NR_sigpending		73 /* obsolete -> sys_rt_sigpending */
+#define TARGET_NR_sethostname	74 /* ok */
+#define TARGET_NR_setrlimit		75 /* ok */
+#define TARGET_NR_getrlimit		76 /* ok Back compatible 2Gig limited rlimit */
+#define TARGET_NR_getrusage		77 /* ok */
+#define TARGET_NR_gettimeofday	78 /* ok */
+#define TARGET_NR_settimeofday	79 /* ok */
+#define TARGET_NR_getgroups		80 /* ok */
+#define TARGET_NR_setgroups		81 /* ok */
+#define TARGET_NR_select		82 /* obsolete -> sys_pselect7 */
+#define TARGET_NR_symlink		83 /* symlinkat */
+#define TARGET_NR_oldlstat		84 /* remove */
+#define TARGET_NR_readlink		85 /* obsolete -> sys_readlinkat */
+#define TARGET_NR_uselib		86 /* remove */
+#define TARGET_NR_swapon		87 /* ok */
+#define TARGET_NR_reboot		88 /* ok */
+#define TARGET_NR_readdir		89 /* remove ? */
+#define TARGET_NR_mmap		90 /* obsolete -> sys_mmap2 */
+#define TARGET_NR_munmap		91 /* ok - mmu and nommu */
+#define TARGET_NR_truncate		92 /* ok or truncate64 */
+#define TARGET_NR_ftruncate		93 /* ok or ftruncate64 */
+#define TARGET_NR_fchmod		94 /* ok */
+#define TARGET_NR_fchown		95 /* ok */
+#define TARGET_NR_getpriority	96 /* ok */
+#define TARGET_NR_setpriority	97 /* ok */
+#define TARGET_NR_profil		98 /* remove */
+#define TARGET_NR_statfs		99 /* ok or statfs64 */
+#define TARGET_NR_fstatfs		100  /* ok or fstatfs64 */
+#define TARGET_NR_ioperm		101 /* remove */
+#define TARGET_NR_socketcall		102 /* remove */
+#define TARGET_NR_syslog		103 /* ok */
+#define TARGET_NR_setitimer		104 /* ok */
+#define TARGET_NR_getitimer		105 /* ok */
+#define TARGET_NR_stat		106 /* remove */
+#define TARGET_NR_lstat		107 /* remove */
+#define TARGET_NR_fstat		108 /* remove */
+#define TARGET_NR_olduname		109 /* remove */
+#define TARGET_NR_iopl		110 /* remove */
+#define TARGET_NR_vhangup		111 /* ok */
+#define TARGET_NR_idle		112 /* remove */
+#define TARGET_NR_vm86old		113 /* remove */
+#define TARGET_NR_wait4		114 /* obsolete -> waitid */
+#define TARGET_NR_swapoff		115 /* ok */
+#define TARGET_NR_sysinfo		116 /* ok */
+#define TARGET_NR_ipc		117 /* remove - direct call */
+#define TARGET_NR_fsync		118 /* ok */
+#define TARGET_NR_sigreturn		119 /* obsolete -> sys_rt_sigreturn */
+#define TARGET_NR_clone		120 /* ok */
+#define TARGET_NR_setdomainname	121 /* ok */
+#define TARGET_NR_uname		122 /* remove */
+#define TARGET_NR_modify_ldt		123 /* remove */
+#define TARGET_NR_adjtimex		124 /* ok */
+#define TARGET_NR_mprotect		125 /* remove */
+#define TARGET_NR_sigprocmask	126 /* obsolete -> sys_rt_sigprocmask */
+#define TARGET_NR_create_module	127 /* remove */
+#define TARGET_NR_init_module	128 /* ok */
+#define TARGET_NR_delete_module	129 /* ok */
+#define TARGET_NR_get_kernel_syms	130 /* remove */
+#define TARGET_NR_quotactl		131 /* ok */
+#define TARGET_NR_getpgid		132 /* ok */
+#define TARGET_NR_fchdir		133 /* ok */
+#define TARGET_NR_bdflush		134 /* remove */
+#define TARGET_NR_sysfs		135 /* needed for busybox */
+#define TARGET_NR_personality	136 /* ok */
+#define TARGET_NR_afs_syscall	137 /* Syscall for Andrew File System */
+#define TARGET_NR_setfsuid		138 /* ok */
+#define TARGET_NR_setfsgid		139 /* ok */
+#define TARGET_NR__llseek		140 /* remove only lseek */
+#define TARGET_NR_getdents		141 /* ok or getdents64 */
+#define TARGET_NR__newselect		142 /* remove */
+#define TARGET_NR_flock		143 /* ok */
+#define TARGET_NR_msync		144 /* remove */
+#define TARGET_NR_readv		145 /* ok */
+#define TARGET_NR_writev		146 /* ok */
+#define TARGET_NR_getsid		147 /* ok */
+#define TARGET_NR_fdatasync		148 /* ok */
+#define TARGET_NR__sysctl		149 /* remove */
+#define TARGET_NR_mlock		150 /* ok - nommu or mmu */
+#define TARGET_NR_munlock		151 /* ok - nommu or mmu */
+#define TARGET_NR_mlockall		152 /* ok - nommu or mmu */
+#define TARGET_NR_munlockall		153 /* ok - nommu or mmu */
+#define TARGET_NR_sched_setparam		154 /* ok */
+#define TARGET_NR_sched_getparam		155 /* ok */
+#define TARGET_NR_sched_setscheduler		156 /* ok */
+#define TARGET_NR_sched_getscheduler		157 /* ok */
+#define TARGET_NR_sched_yield		158 /* ok */
+#define TARGET_NR_sched_get_priority_max	159 /* ok */
+#define TARGET_NR_sched_get_priority_min	160 /* ok */
+#define TARGET_NR_sched_rr_get_interval	161 /* ok */
+#define TARGET_NR_nanosleep		162 /* ok */
+#define TARGET_NR_mremap		163 /* ok - nommu or mmu */
+#define TARGET_NR_setresuid		164 /* ok */
+#define TARGET_NR_getresuid		165 /* ok */
+#define TARGET_NR_vm86		166 /* remove */
+#define TARGET_NR_query_module	167 /* ok */
+#define TARGET_NR_poll		168 /* obsolete -> sys_ppoll */
+#define TARGET_NR_nfsservctl		169 /* ok */
+#define TARGET_NR_setresgid		170 /* ok */
+#define TARGET_NR_getresgid		171 /* ok */
+#define TARGET_NR_prctl		172 /* ok */
+#define TARGET_NR_rt_sigreturn	173 /* ok */
+#define TARGET_NR_rt_sigaction	174 /* ok */
+#define TARGET_NR_rt_sigprocmask	175 /* ok */
+#define TARGET_NR_rt_sigpending	176 /* ok */
+#define TARGET_NR_rt_sigtimedwait	177 /* ok */
+#define TARGET_NR_rt_sigqueueinfo	178 /* ok */
+#define TARGET_NR_rt_sigsuspend	179 /* ok */
+#define TARGET_NR_pread64		180 /* ok */
+#define TARGET_NR_pwrite64		181 /* ok */
+#define TARGET_NR_chown		182 /* obsolete -> fchownat */
+#define TARGET_NR_getcwd		183 /* ok */
+#define TARGET_NR_capget		184 /* ok */
+#define TARGET_NR_capset		185 /* ok */
+#define TARGET_NR_sigaltstack	186 /* remove */
+#define TARGET_NR_sendfile		187 /* ok -> exist 64bit version*/
+#define TARGET_NR_getpmsg		188 /* remove - some people actually want streams */
+#define TARGET_NR_putpmsg		189 /* remove - some people actually want streams */
+#define TARGET_NR_vfork		190 /* for noMMU - group with clone -> maybe remove */
+#define TARGET_NR_ugetrlimit		191 /* remove - SuS compliant getrlimit */
+#define TARGET_NR_mmap2		192 /* ok */
+#define TARGET_NR_truncate64		193 /* ok */
+#define TARGET_NR_ftruncate64	194 /* ok */
+#define TARGET_NR_stat64		195 /* remove _ARCH_WANT_STAT64 */
+#define TARGET_NR_lstat64		196 /* remove _ARCH_WANT_STAT64 */
+#define TARGET_NR_fstat64		197 /* remove _ARCH_WANT_STAT64 */
+#define TARGET_NR_lchown32		198 /* ok - without 32 */
+#define TARGET_NR_getuid32		199 /* ok - without 32 */
+#define TARGET_NR_getgid32		200 /* ok - without 32 */
+#define TARGET_NR_geteuid32		201 /* ok - without 32 */
+#define TARGET_NR_getegid32		202 /* ok - without 32 */
+#define TARGET_NR_setreuid32		203 /* ok - without 32 */
+#define TARGET_NR_setregid32		204 /* ok - without 32 */
+#define TARGET_NR_getgroups32	205 /* ok - without 32 */
+#define TARGET_NR_setgroups32	206 /* ok - without 32 */
+#define TARGET_NR_fchown32		207 /* ok - without 32 */
+#define TARGET_NR_setresuid32	208 /* ok - without 32 */
+#define TARGET_NR_getresuid32	209 /* ok - without 32 */
+#define TARGET_NR_setresgid32	210 /* ok - without 32 */
+#define TARGET_NR_getresgid32	211 /* ok - without 32 */
+#define TARGET_NR_chown32		212 /* ok - without 32 -obsolete -> fchownat */
+#define TARGET_NR_setuid32		213 /* ok - without 32 */
+#define TARGET_NR_setgid32		214 /* ok - without 32 */
+#define TARGET_NR_setfsuid32		215 /* ok - without 32 */
+#define TARGET_NR_setfsgid32		216 /* ok - without 32 */
+#define TARGET_NR_pivot_root		217 /* ok */
+#define TARGET_NR_mincore		218 /* ok */
+#define TARGET_NR_madvise		219 /* ok */
+//#define TARGET_NR_madvise1		219 /* remove delete when C lib stub is removed */
+#define TARGET_NR_getdents64		220 /* ok */
+#define TARGET_NR_fcntl64		221 /* ok */
+/* 223 is unused */
+#define TARGET_NR_gettid		224 /* ok */
+#define TARGET_NR_readahead		225 /* ok */
+#define TARGET_NR_setxattr		226 /* ok */
+#define TARGET_NR_lsetxattr		227 /* ok */
+#define TARGET_NR_fsetxattr		228 /* ok */
+#define TARGET_NR_getxattr		229 /* ok */
+#define TARGET_NR_lgetxattr		230 /* ok */
+#define TARGET_NR_fgetxattr		231 /* ok */
+#define TARGET_NR_listxattr		232 /* ok */
+#define TARGET_NR_llistxattr		233 /* ok */
+#define TARGET_NR_flistxattr		234 /* ok */
+#define TARGET_NR_removexattr	235 /* ok */
+#define TARGET_NR_lremovexattr	236 /* ok */
+#define TARGET_NR_fremovexattr	237 /* ok */
+#define TARGET_NR_tkill		238 /* ok */
+#define TARGET_NR_sendfile64		239 /* ok */
+#define TARGET_NR_futex		240 /* ok */
+#define TARGET_NR_sched_setaffinity	241 /* ok */
+#define TARGET_NR_sched_getaffinity	242 /* ok */
+#define TARGET_NR_set_thread_area	243 /* remove */
+#define TARGET_NR_get_thread_area	244 /* remove */
+#define TARGET_NR_io_setup		245 /* ok */
+#define TARGET_NR_io_destroy		246 /* ok */
+#define TARGET_NR_io_getevents	247 /* ok */
+#define TARGET_NR_io_submit		248 /* ok */
+#define TARGET_NR_io_cancel		249 /* ok */
+#define TARGET_NR_fadvise64		250 /* remove -> sys_fadvise64_64 */
+/* 251 is available for reuse (was briefly sys_set_zone_reclaim) */
+#define TARGET_NR_exit_group		252 /* ok */
+#define TARGET_NR_lookup_dcookie	253 /* ok */
+#define TARGET_NR_epoll_create	254 /* ok */
+#define TARGET_NR_epoll_ctl		255 /* ok */
+#define TARGET_NR_epoll_wait		256 /* obsolete -> sys_epoll_pwait */
+#define TARGET_NR_remap_file_pages	257 /* only for mmu */
+#define TARGET_NR_set_tid_address	258 /* ok */
+#define TARGET_NR_timer_create	259 /* ok */
+#define TARGET_NR_timer_settime	(TARGET_NR_timer_create+1) /* 260 */ /* ok */
+#define TARGET_NR_timer_gettime	(TARGET_NR_timer_create+2) /* 261 */ /* ok */
+#define TARGET_NR_timer_getoverrun	(TARGET_NR_timer_create+3) /* 262 */ /* ok */
+#define TARGET_NR_timer_delete	(TARGET_NR_timer_create+4) /* 263 */ /* ok */
+#define TARGET_NR_clock_settime	(TARGET_NR_timer_create+5) /* 264 */ /* ok */
+#define TARGET_NR_clock_gettime	(TARGET_NR_timer_create+6) /* 265 */ /* ok */
+#define TARGET_NR_clock_getres	(TARGET_NR_timer_create+7) /* 266 */ /* ok */
+#define TARGET_NR_clock_nanosleep	(TARGET_NR_timer_create+8) /* 267 */ /* ok */
+#define TARGET_NR_statfs64		268 /* ok */
+#define TARGET_NR_fstatfs64		269 /* ok */
+#define TARGET_NR_tgkill		270 /* ok */
+#define TARGET_NR_utimes		271 /* obsolete -> sys_futimesat */
+#define TARGET_NR_fadvise64_64	272 /* ok */
+#define TARGET_NR_vserver		273 /* ok */
+#define TARGET_NR_mbind		274 /* only for mmu */
+#define TARGET_NR_get_mempolicy	275 /* only for mmu */
+#define TARGET_NR_set_mempolicy	276 /* only for mmu */
+#define TARGET_NR_mq_open		277 /* ok */
+#define TARGET_NR_mq_unlink		(TARGET_NR_mq_open+1) /* 278 */ /* ok */
+#define TARGET_NR_mq_timedsend	(TARGET_NR_mq_open+2) /* 279 */ /* ok */
+#define TARGET_NR_mq_timedreceive	(TARGET_NR_mq_open+3) /* 280 */ /* ok */
+#define TARGET_NR_mq_notify		(TARGET_NR_mq_open+4) /* 281 */ /* ok */
+#define TARGET_NR_mq_getsetattr	(TARGET_NR_mq_open+5) /* 282 */ /* ok */
+#define TARGET_NR_kexec_load		283 /* ok */
+#define TARGET_NR_waitid		284 /* ok */
+/* #define TARGET_NR_sys_setaltroot	285 */
+#define TARGET_NR_add_key		286 /* ok */
+#define TARGET_NR_request_key	287 /* ok */
+#define TARGET_NR_keyctl		288 /* ok */
+#define TARGET_NR_ioprio_set		289 /* ok */
+#define TARGET_NR_ioprio_get		290 /* ok */
+#define TARGET_NR_inotify_init	291 /* ok */
+#define TARGET_NR_inotify_add_watch	292 /* ok */
+#define TARGET_NR_inotify_rm_watch	293 /* ok */
+#define TARGET_NR_migrate_pages	294 /* mmu */
+#define TARGET_NR_openat		295 /* ok */
+#define TARGET_NR_mkdirat		296 /* ok */
+#define TARGET_NR_mknodat		297 /* ok */
+#define TARGET_NR_fchownat		298 /* ok */
+#define TARGET_NR_futimesat		299 /* obsolete -> sys_utimesat */
+#define TARGET_NR_fstatat64		300 /* stat64 */
+#define TARGET_NR_unlinkat		301 /* ok */
+#define TARGET_NR_renameat		302 /* ok */
+#define TARGET_NR_linkat		303 /* ok */
+#define TARGET_NR_symlinkat		304 /* ok */
+#define TARGET_NR_readlinkat		305 /* ok */
+#define TARGET_NR_fchmodat		306 /* ok */
+#define TARGET_NR_faccessat		307 /* ok */
+#define TARGET_NR_pselect6		308 /* obsolete -> sys_pselect7 */
+#define TARGET_NR_ppoll		309 /* ok */
+#define TARGET_NR_unshare		310 /* ok */
+#define TARGET_NR_set_robust_list	311 /* ok */
+#define TARGET_NR_get_robust_list	312 /* ok */
+#define TARGET_NR_splice		313 /* ok */
+#define TARGET_NR_sync_file_range	314 /* ok */
+#define TARGET_NR_tee		315 /* ok */
+#define TARGET_NR_vmsplice		316 /* ok */
+#define TARGET_NR_move_pages		317 /* mmu */
+#define TARGET_NR_getcpu		318 /* ok */
+#define TARGET_NR_epoll_pwait	319 /* ok */
+#define TARGET_NR_utimensat		320 /* ok */
+#define TARGET_NR_signalfd		321 /* ok */
+#define TARGET_NR_timerfd_create	322 /* ok */
+#define TARGET_NR_eventfd		323 /* ok */
+#define TARGET_NR_fallocate		324 /* ok */
+#define TARGET_NR_semtimedop		325 /* ok - semaphore group */
+#define TARGET_NR_timerfd_settime	326 /* ok */
+#define TARGET_NR_timerfd_gettime	327 /* ok */
+/* sysv ipc syscalls */
+#define TARGET_NR_semctl		328 /* ok */
+#define TARGET_NR_semget		329 /* ok */
+#define TARGET_NR_semop		330 /* ok */
+#define TARGET_NR_msgctl		331 /* ok */
+#define TARGET_NR_msgget		332 /* ok */
+#define TARGET_NR_msgrcv		333 /* ok */
+#define TARGET_NR_msgsnd		334 /* ok */
+#define TARGET_NR_shmat		335 /* ok */
+#define TARGET_NR_shmctl		336 /* ok */
+#define TARGET_NR_shmdt		337 /* ok */
+#define TARGET_NR_shmget		338 /* ok */
+
+
+#define TARGET_NR_signalfd4		339 /* new */
+#define TARGET_NR_eventfd2		340 /* new */
+#define TARGET_NR_epoll_create1	341 /* new */
+#define TARGET_NR_dup3		342 /* new */
+#define TARGET_NR_pipe2		343 /* new */
+#define TARGET_NR_inotify_init1	344 /* new */
+#define TARGET_NR_socket		345 /* new */
+#define TARGET_NR_socketpair		346 /* new */
+#define TARGET_NR_bind		347 /* new */
+#define TARGET_NR_listen		348 /* new */
+#define TARGET_NR_accept		349 /* new */
+#define TARGET_NR_connect		350 /* new */
+#define TARGET_NR_getsockname	351 /* new */
+#define TARGET_NR_getpeername	352 /* new */
+#define TARGET_NR_sendto		353 /* new */
+#define TARGET_NR_send		354 /* new */
+#define TARGET_NR_recvfrom		355 /* new */
+#define TARGET_NR_recv		356 /* new */
+#define TARGET_NR_setsockopt		357 /* new */
+#define TARGET_NR_getsockopt		358 /* new */
+#define TARGET_NR_shutdown		359 /* new */
+#define TARGET_NR_sendmsg		360 /* new */
+#define TARGET_NR_recvmsg		361 /* new */
+#define TARGET_NR_accept04		362 /* new */
+
+#define TARGET_NR_syscalls		363
+
diff --git a/linux-user/microblaze/target_signal.h b/linux-user/microblaze/target_signal.h
new file mode 100644
index 0000000..3d1f7a7
--- /dev/null
+++ b/linux-user/microblaze/target_signal.h
@@ -0,0 +1,29 @@
+#ifndef TARGET_SIGNAL_H
+#define TARGET_SIGNAL_H
+
+#include "cpu.h"
+
+/* this struct defines a stack used during syscall handling */
+
+typedef struct target_sigaltstack {
+	abi_ulong ss_sp;
+	abi_ulong ss_size;
+	abi_long ss_flags;
+} target_stack_t;
+
+
+/*
+ * sigaltstack controls
+ */
+#define TARGET_SS_ONSTACK     1
+#define TARGET_SS_DISABLE     2
+
+#define TARGET_MINSIGSTKSZ    2048
+#define TARGET_SIGSTKSZ       8192
+
+static inline abi_ulong get_sp_from_cpustate(CPUMBState *state)
+{
+    return state->regs[14];
+}
+
+#endif /* TARGET_SIGNAL_H */
diff --git a/linux-user/microblaze/termbits.h b/linux-user/microblaze/termbits.h
new file mode 100644
index 0000000..fc82ca0
--- /dev/null
+++ b/linux-user/microblaze/termbits.h
@@ -0,0 +1,213 @@
+/* from asm/termbits.h */
+
+#define TARGET_NCCS 19
+
+struct target_termios {
+    unsigned int c_iflag;               /* input mode flags */
+    unsigned int c_oflag;               /* output mode flags */
+    unsigned int c_cflag;               /* control mode flags */
+    unsigned int c_lflag;               /* local mode flags */
+    unsigned char c_line;                    /* line discipline */
+    unsigned char c_cc[TARGET_NCCS];                /* control characters */
+};
+
+/* c_iflag bits */
+#define TARGET_IGNBRK  0000001
+#define TARGET_BRKINT  0000002
+#define TARGET_IGNPAR  0000004
+#define TARGET_PARMRK  0000010
+#define TARGET_INPCK   0000020
+#define TARGET_ISTRIP  0000040
+#define TARGET_INLCR   0000100
+#define TARGET_IGNCR   0000200
+#define TARGET_ICRNL   0000400
+#define TARGET_IUCLC   0001000
+#define TARGET_IXON    0002000
+#define TARGET_IXANY   0004000
+#define TARGET_IXOFF   0010000
+#define TARGET_IMAXBEL 0020000
+
+/* c_oflag bits */
+#define TARGET_OPOST   0000001
+#define TARGET_OLCUC   0000002
+#define TARGET_ONLCR   0000004
+#define TARGET_OCRNL   0000010
+#define TARGET_ONOCR   0000020
+#define TARGET_ONLRET  0000040
+#define TARGET_OFILL   0000100
+#define TARGET_OFDEL   0000200
+#define TARGET_NLDLY   0000400
+#define   TARGET_NL0   0000000
+#define   TARGET_NL1   0000400
+#define TARGET_CRDLY   0003000
+#define   TARGET_CR0   0000000
+#define   TARGET_CR1   0001000
+#define   TARGET_CR2   0002000
+#define   TARGET_CR3   0003000
+#define TARGET_TABDLY  0014000
+#define   TARGET_TAB0  0000000
+#define   TARGET_TAB1  0004000
+#define   TARGET_TAB2  0010000
+#define   TARGET_TAB3  0014000
+#define   TARGET_XTABS 0014000
+#define TARGET_BSDLY   0020000
+#define   TARGET_BS0   0000000
+#define   TARGET_BS1   0020000
+#define TARGET_VTDLY   0040000
+#define   TARGET_VT0   0000000
+#define   TARGET_VT1   0040000
+#define TARGET_FFDLY   0100000
+#define   TARGET_FF0   0000000
+#define   TARGET_FF1   0100000
+
+/* c_cflag bit meaning */
+#define TARGET_CBAUD   0010017
+#define  TARGET_B0     0000000         /* hang up */
+#define  TARGET_B50    0000001
+#define  TARGET_B75    0000002
+#define  TARGET_B110   0000003
+#define  TARGET_B134   0000004
+#define  TARGET_B150   0000005
+#define  TARGET_B200   0000006
+#define  TARGET_B300   0000007
+#define  TARGET_B600   0000010
+#define  TARGET_B1200  0000011
+#define  TARGET_B1800  0000012
+#define  TARGET_B2400  0000013
+#define  TARGET_B4800  0000014
+#define  TARGET_B9600  0000015
+#define  TARGET_B19200 0000016
+#define  TARGET_B38400 0000017
+#define TARGET_EXTA B19200
+#define TARGET_EXTB B38400
+#define TARGET_CSIZE   0000060
+#define   TARGET_CS5   0000000
+#define   TARGET_CS6   0000020
+#define   TARGET_CS7   0000040
+#define   TARGET_CS8   0000060
+#define TARGET_CSTOPB  0000100
+#define TARGET_CREAD   0000200
+#define TARGET_PARENB  0000400
+#define TARGET_PARODD  0001000
+#define TARGET_HUPCL   0002000
+#define TARGET_CLOCAL  0004000
+#define TARGET_CBAUDEX 0010000
+#define  TARGET_B57600  0010001
+#define  TARGET_B115200 0010002
+#define  TARGET_B230400 0010003
+#define  TARGET_B460800 0010004
+#define TARGET_CIBAUD    002003600000  /* input baud rate (not used) */
+#define TARGET_CRTSCTS   020000000000          /* flow control */
+
+/* c_lflag bits */
+#define TARGET_ISIG    0000001
+#define TARGET_ICANON  0000002
+#define TARGET_XCASE   0000004
+#define TARGET_ECHO    0000010
+#define TARGET_ECHOE   0000020
+#define TARGET_ECHOK   0000040
+#define TARGET_ECHONL  0000100
+#define TARGET_NOFLSH  0000200
+#define TARGET_TOSTOP  0000400
+#define TARGET_ECHOCTL 0001000
+#define TARGET_ECHOPRT 0002000
+#define TARGET_ECHOKE  0004000
+#define TARGET_FLUSHO  0010000
+#define TARGET_PENDIN  0040000
+#define TARGET_IEXTEN  0100000
+
+/* c_cc character offsets */
+#define TARGET_VINTR	0
+#define TARGET_VQUIT	1
+#define TARGET_VERASE	2
+#define TARGET_VKILL	3
+#define TARGET_VEOF	4
+#define TARGET_VTIME	5
+#define TARGET_VMIN	6
+#define TARGET_VSWTC	7
+#define TARGET_VSTART	8
+#define TARGET_VSTOP	9
+#define TARGET_VSUSP	10
+#define TARGET_VEOL	11
+#define TARGET_VREPRINT	12
+#define TARGET_VDISCARD	13
+#define TARGET_VWERASE	14
+#define TARGET_VLNEXT	15
+#define TARGET_VEOL2	16
+
+/* ioctls */
+
+#define TARGET_TCGETS		0x5401
+#define TARGET_TCSETS		0x5402
+#define TARGET_TCSETSW		0x5403
+#define TARGET_TCSETSF		0x5404
+#define TARGET_TCGETA		0x5405
+#define TARGET_TCSETA		0x5406
+#define TARGET_TCSETAW		0x5407
+#define TARGET_TCSETAF		0x5408
+#define TARGET_TCSBRK		0x5409
+#define TARGET_TCXONC		0x540A
+#define TARGET_TCFLSH		0x540B
+
+#define TARGET_TIOCEXCL	0x540C
+#define TARGET_TIOCNXCL	0x540D
+#define TARGET_TIOCSCTTY	0x540E
+#define TARGET_TIOCGPGRP	0x540F
+#define TARGET_TIOCSPGRP	0x5410
+#define TARGET_TIOCOUTQ	0x5411
+#define TARGET_TIOCSTI		0x5412
+#define TARGET_TIOCGWINSZ	0x5413
+#define TARGET_TIOCSWINSZ	0x5414
+#define TARGET_TIOCMGET	0x5415
+#define TARGET_TIOCMBIS	0x5416
+#define TARGET_TIOCMBIC	0x5417
+#define TARGET_TIOCMSET	0x5418
+#define TARGET_TIOCGSOFTCAR	0x5419
+#define TARGET_TIOCSSOFTCAR	0x541A
+#define TARGET_FIONREAD	0x541B
+#define TARGET_TIOCINQ		TARGET_FIONREAD
+#define TARGET_TIOCLINUX	0x541C
+#define TARGET_TIOCCONS	0x541D
+#define TARGET_TIOCGSERIAL	0x541E
+#define TARGET_TIOCSSERIAL	0x541F
+#define TARGET_TIOCPKT		0x5420
+#define TARGET_FIONBIO		0x5421
+#define TARGET_TIOCNOTTY	0x5422
+#define TARGET_TIOCSETD	0x5423
+#define TARGET_TIOCGETD	0x5424
+#define TARGET_TCSBRKP		0x5425	/* Needed for POSIX tcsendbreak() */
+#define TARGET_TIOCTTYGSTRUCT	0x5426  /* For debugging only */
+#define TARGET_TIOCSBRK	0x5427  /* BSD compatibility */
+#define TARGET_TIOCCBRK	0x5428  /* BSD compatibility */
+#define TARGET_TIOCGSID	0x5429  /* Return the session ID of FD */
+#define TARGET_TIOCGPTN	TARGET_IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
+#define TARGET_TIOCSPTLCK	TARGET_IOW('T',0x31, int)  /* Lock/unlock Pty */
+
+#define TARGET_FIONCLEX	0x5450  /* these numbers need to be adjusted. */
+#define TARGET_FIOCLEX		0x5451
+#define TARGET_FIOASYNC	0x5452
+#define TARGET_TIOCSERCONFIG	0x5453
+#define TARGET_TIOCSERGWILD	0x5454
+#define TARGET_TIOCSERSWILD	0x5455
+#define TARGET_TIOCGLCKTRMIOS	0x5456
+#define TARGET_TIOCSLCKTRMIOS	0x5457
+#define TARGET_TIOCSERGSTRUCT	0x5458 /* For debugging only */
+#define TARGET_TIOCSERGETLSR   0x5459 /* Get line status register */
+#define TARGET_TIOCSERGETMULTI 0x545A /* Get multiport config  */
+#define TARGET_TIOCSERSETMULTI 0x545B /* Set multiport config */
+
+#define TARGET_TIOCMIWAIT	0x545C	/* wait for a change on serial input line(s) */
+#define TARGET_TIOCGICOUNT	0x545D	/* read serial port inline interrupt counts */
+#define TARGET_TIOCGHAYESESP   0x545E  /* Get Hayes ESP configuration */
+#define TARGET_TIOCSHAYESESP   0x545F  /* Set Hayes ESP configuration */
+
+/* Used for packet mode */
+#define TARGET_TIOCPKT_DATA		 0
+#define TARGET_TIOCPKT_FLUSHREAD	 1
+#define TARGET_TIOCPKT_FLUSHWRITE	 2
+#define TARGET_TIOCPKT_STOP		 4
+#define TARGET_TIOCPKT_START		 8
+#define TARGET_TIOCPKT_NOSTOP		16
+#define TARGET_TIOCPKT_DOSTOP		32
+
+#define TARGET_TIOCSER_TEMT    0x01	/* Transmitter physically empty */
-- 
1.6.0.6

  reply	other threads:[~2009-05-20 20:57 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-20 20:56 [Qemu-devel] [PATCH 01/13] microblaze: Add translation routines Edgar E. Iglesias
2009-05-20 20:56 ` Edgar E. Iglesias [this message]
2009-05-20 20:56   ` [Qemu-devel] [PATCH 03/13] microblaze: linux-user support Edgar E. Iglesias
2009-05-20 20:56     ` [Qemu-devel] [PATCH 04/13] microblaze: Add disassembler Edgar E. Iglesias
2009-05-20 20:56       ` [Qemu-devel] [PATCH 05/13] microblaze: Add MMU emulation Edgar E. Iglesias
2009-05-20 20:56         ` [Qemu-devel] [PATCH 06/13] microblaze: Add CPU interrupt wrapper logic Edgar E. Iglesias
2009-05-20 20:56           ` [Qemu-devel] [PATCH 07/13] xilinx: Add interrupt controller Edgar E. Iglesias
2009-05-20 20:56             ` [Qemu-devel] [PATCH 08/13] xilinx: Add OPB timer Edgar E. Iglesias
2009-05-20 20:56               ` [Qemu-devel] [PATCH 09/13] xilinx: Add uartlite emulation Edgar E. Iglesias
2009-05-20 20:56                 ` [Qemu-devel] [PATCH 10/13] xilinx: Add ethlite emulation Edgar E. Iglesias
2009-05-20 20:56                   ` [Qemu-devel] [PATCH 11/13] microblaze: Add petalogix s3a1800dsp MMU linux ref-design Edgar E. Iglesias
2009-05-20 20:56                     ` [Qemu-devel] [PATCH 12/13] microblaze: Add GDB stub support Edgar E. Iglesias
2009-05-20 20:56                       ` [Qemu-devel] [PATCH 13/13] microblaze: Hook into the build-system Edgar E. Iglesias

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1242852975-31043-2-git-send-email-edgar.iglesias@gmail.com \
    --to=edgar.iglesias@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).