You can subscribe to this list here.
2007 |
Jan
|
Feb
(3) |
Mar
(60) |
Apr
(4) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2008 |
Jan
|
Feb
(56) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2009 |
Jan
|
Feb
(37) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:34
|
Update of /cvsroot/hppaqemu/hppaqemu/pc-bios In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/pc-bios Modified Files: Makefile README bios.diff Added Files: openbios-sparc64 Removed Files: linux_boot.S linux_boot.bin Log Message: Update to QEMU CVS from 2007-06-01. Index: bios.diff =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/pc-bios/bios.diff,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- bios.diff 23 Feb 2007 21:44:27 -0000 1.1.1.1 +++ bios.diff 18 Feb 2008 00:13:57 -0000 1.2 @@ -1,10 +1,32 @@ +Index: rombios.c +=================================================================== +RCS file: /cvsroot/bochs/bochs/bios/rombios.c,v +retrieving revision 1.174 +diff -u -w -r1.174 rombios.c +--- rombios.c 17 Oct 2006 16:48:05 -0000 1.174 ++++ rombios.c 8 Feb 2007 21:57:48 -0000 +@@ -9472,6 +9472,14 @@ + mov eax, #0x00040000 + call eax + ++ ;; reset the memory (some boot loaders such as syslinux suppose ++ ;; that the memory is set to zero) ++ mov edi, #0x00040000 ++ mov ecx, #0x40000 / 4 ++ xor eax, eax ++ rep ++ stosd ++ + ;; return to 16 bit protected mode first + db 0xea + dd rombios32_10 Index: rombios.h =================================================================== RCS file: /cvsroot/bochs/bochs/bios/rombios.h,v retrieving revision 1.3 diff -u -w -r1.3 rombios.h --- rombios.h 3 Oct 2006 20:27:30 -0000 1.3 -+++ rombios.h 1 Nov 2006 19:16:34 -0000 ++++ rombios.h 8 Feb 2007 21:57:48 -0000 @@ -19,7 +19,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA @@ -20,7 +42,7 @@ retrieving revision 1.8 diff -u -w -r1.8 rombios32.c --- rombios32.c 3 Oct 2006 20:27:30 -0000 1.8 -+++ rombios32.c 1 Nov 2006 19:16:34 -0000 ++++ rombios32.c 8 Feb 2007 21:57:48 -0000 @@ -852,6 +852,11 @@ int ioapic_id, i, len; int mp_config_table_size; Index: Makefile =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/pc-bios/Makefile,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Makefile 23 Feb 2007 21:44:26 -0000 1.1.1.1 +++ Makefile 18 Feb 2008 00:13:57 -0000 1.2 @@ -6,16 +6,9 @@ DEFINES= TARGETS= -ifeq ($(ARCH),i386) -TARGETS+=linux_boot.bin -endif all: $(TARGETS) -linux_boot.bin: linux_boot.o - ld --oformat binary -Ttext 0 -o $@ $< - chmod a-x $@ - %.o: %.S $(CC) $(DEFINES) -c -o $@ $< --- NEW FILE: openbios-sparc64 --- (This appears to be a binary file; contents omitted.) --- linux_boot.S DELETED --- --- linux_boot.bin DELETED --- Index: README =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/pc-bios/README,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- README 23 Feb 2007 21:44:26 -0000 1.1.1.1 +++ README 18 Feb 2008 00:13:57 -0000 1.2 @@ -14,6 +14,8 @@ - OpenBIOS (http://www.openbios.org/) is a free (GPL v2) portable firmware implementation. The goal is to implement a 100% IEEE 1275-1994 (referred to as Open Firmware) compliant firmware. + The included Sparc32 image is built from SVN version 149 and Sparc64 + image from version 125. - The PXE roms come from Rom-o-Matic etherboot 5.4.2. pcnet32:pcnet32 -- [0x1022,0x2000] |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:33
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user/ppc In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/linux-user/ppc Modified Files: termbits.h Log Message: Update to QEMU CVS from 2007-06-01. Index: termbits.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/linux-user/ppc/termbits.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- termbits.h 23 Feb 2007 21:44:26 -0000 1.1.1.1 +++ termbits.h 18 Feb 2008 00:13:56 -0000 1.2 @@ -7,8 +7,8 @@ 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 */ + unsigned char c_line; /* line discipline */ unsigned int c_ispeed; /* input speed */ unsigned int c_ospeed; /* output speed */ }; |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:33
|
Update of /cvsroot/hppaqemu/hppaqemu/target-hppa In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/target-hppa Modified Files: helper.c Log Message: Update to QEMU CVS from 2007-06-01. Index: helper.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/helper.c,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- helper.c 9 Mar 2007 15:57:31 -0000 1.3 +++ helper.c 18 Feb 2008 00:13:57 -0000 1.4 @@ -20,7 +20,7 @@ return 1; } -target_ulong cpu_get_phys_page_debug(CPUState *env, target_ulong addr) +target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr) { return addr; } |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:33
|
Update of /cvsroot/hppaqemu/hppaqemu/slirp In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/slirp Modified Files: bootp.c tftp.c tftp.h Log Message: Update to QEMU CVS from 2007-06-01. Index: tftp.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/slirp/tftp.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- tftp.c 23 Feb 2007 21:44:35 -0000 1.1.1.1 +++ tftp.c 18 Feb 2008 00:13:57 -0000 1.2 @@ -102,8 +102,15 @@ { int fd; int bytes_read = 0; + char buffer[1024]; + int n; - fd = open(spt->filename, O_RDONLY | O_BINARY); + n = snprintf(buffer, sizeof(buffer), "%s/%s", + tftp_prefix, spt->filename); + if (n >= sizeof(buffer)) + return -1; + + fd = open(buffer, O_RDONLY | O_BINARY); if (fd < 0) { return -1; @@ -120,6 +127,45 @@ return bytes_read; } +static int tftp_send_oack(struct tftp_session *spt, + const char *key, uint32_t value, + struct tftp_t *recv_tp) +{ + struct sockaddr_in saddr, daddr; + struct mbuf *m; + struct tftp_t *tp; + int n = 0; + + m = m_get(); + + if (!m) + return -1; + + memset(m->m_data, 0, m->m_size); + + m->m_data += if_maxlinkhdr; + tp = (void *)m->m_data; + m->m_data += sizeof(struct udpiphdr); + + tp->tp_op = htons(TFTP_OACK); + n += sprintf(tp->x.tp_buf + n, "%s", key) + 1; + n += sprintf(tp->x.tp_buf + n, "%u", value) + 1; + + saddr.sin_addr = recv_tp->ip.ip_dst; + saddr.sin_port = recv_tp->udp.uh_dport; + + daddr.sin_addr = spt->client_ip; + daddr.sin_port = spt->client_port; + + m->m_len = sizeof(struct tftp_t) - 514 + n - + sizeof(struct ip) - sizeof(struct udphdr); + udp_output2(NULL, m, &saddr, &daddr, IPTOS_LOWDELAY); + + return 0; +} + + + static int tftp_send_error(struct tftp_session *spt, u_int16_t errorcode, const char *msg, struct tftp_t *recv_tp) @@ -273,6 +319,8 @@ return; } + k += 6; /* skipping octet */ + /* do sanity checks on the filename */ if ((spt->filename[0] != '/') @@ -284,8 +332,7 @@ /* only allow exported prefixes */ - if (!tftp_prefix - || (strncmp(spt->filename, tftp_prefix, strlen(tftp_prefix)) != 0)) { + if (!tftp_prefix) { tftp_send_error(spt, 2, "Access violation", tp); return; } @@ -297,6 +344,48 @@ return; } + if (src[n - 1] != 0) { + tftp_send_error(spt, 2, "Access violation", tp); + return; + } + + while (k < n) { + const char *key, *value; + + key = src + k; + k += strlen(key) + 1; + + if (k >= n) { + tftp_send_error(spt, 2, "Access violation", tp); + return; + } + + value = src + k; + k += strlen(value) + 1; + + if (strcmp(key, "tsize") == 0) { + int tsize = atoi(value); + struct stat stat_p; + + if (tsize == 0 && tftp_prefix) { + char buffer[1024]; + int len; + + len = snprintf(buffer, sizeof(buffer), "%s/%s", + tftp_prefix, spt->filename); + + if (stat(buffer, &stat_p) == 0) + tsize = stat_p.st_size; + else { + tftp_send_error(spt, 1, "File not found", tp); + return; + } + } + + tftp_send_oack(spt, "tsize", tsize, tp); + } + } + tftp_send_data(spt, 1, tp); } Index: tftp.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/slirp/tftp.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- tftp.h 23 Feb 2007 21:44:35 -0000 1.1.1.1 +++ tftp.h 18 Feb 2008 00:13:57 -0000 1.2 @@ -9,6 +9,7 @@ #define TFTP_DATA 3 #define TFTP_ACK 4 #define TFTP_ERROR 5 +#define TFTP_OACK 6 #define TFTP_FILENAME_MAX 512 Index: bootp.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/slirp/bootp.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- bootp.c 23 Feb 2007 21:44:34 -0000 1.1.1.1 +++ bootp.c 18 Feb 2008 00:13:57 -0000 1.2 @@ -38,6 +38,8 @@ BOOTPClient bootp_clients[NB_ADDR]; +const char *bootp_filename; + static const uint8_t rfc1533_cookie[] = { RFC1533_COOKIE }; #ifdef DEBUG @@ -168,6 +170,10 @@ goto new_addr; } } + + if (bootp_filename) + snprintf(rbp->bp_file, sizeof(rbp->bp_file), "%s", bootp_filename); + dprintf("offered addr=%08x\n", ntohl(daddr.sin_addr.s_addr)); saddr.sin_addr.s_addr = htonl(ntohl(special_addr.s_addr) | CTL_ALIAS); |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:33
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user/mips In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/linux-user/mips Modified Files: syscall_nr.h Log Message: Update to QEMU CVS from 2007-06-01. Index: syscall_nr.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/linux-user/mips/syscall_nr.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- syscall_nr.h 23 Feb 2007 21:44:25 -0000 1.1.1.1 +++ syscall_nr.h 18 Feb 2008 00:13:56 -0000 1.2 @@ -2,45 +2,45 @@ * Linux o32 style syscalls are in the range from 4000 to 4999. */ #define TARGET_NR_Linux 4000 -#define TARGET_NR_syscall (TARGET_NR_Linux + 0) +#define TARGET_NR_syscall (TARGET_NR_Linux + 0) #define TARGET_NR_exit (TARGET_NR_Linux + 1) #define TARGET_NR_fork (TARGET_NR_Linux + 2) #define TARGET_NR_read (TARGET_NR_Linux + 3) #define TARGET_NR_write (TARGET_NR_Linux + 4) #define TARGET_NR_open (TARGET_NR_Linux + 5) #define TARGET_NR_close (TARGET_NR_Linux + 6) -#define TARGET_NR_waitpid (TARGET_NR_Linux + 7) +#define TARGET_NR_waitpid (TARGET_NR_Linux + 7) #define TARGET_NR_creat (TARGET_NR_Linux + 8) #define TARGET_NR_link (TARGET_NR_Linux + 9) -#define TARGET_NR_unlink (TARGET_NR_Linux + 10) -#define TARGET_NR_execve (TARGET_NR_Linux + 11) +#define TARGET_NR_unlink (TARGET_NR_Linux + 10) +#define TARGET_NR_execve (TARGET_NR_Linux + 11) #define TARGET_NR_chdir (TARGET_NR_Linux + 12) #define TARGET_NR_time (TARGET_NR_Linux + 13) #define TARGET_NR_mknod (TARGET_NR_Linux + 14) #define TARGET_NR_chmod (TARGET_NR_Linux + 15) -#define TARGET_NR_lchown32 (TARGET_NR_Linux + 16) +#define TARGET_NR_lchown32 (TARGET_NR_Linux + 16) #define TARGET_NR_break (TARGET_NR_Linux + 17) -#define TARGET_NR_unused18 (TARGET_NR_Linux + 18) +#define TARGET_NR_unused18 (TARGET_NR_Linux + 18) #define TARGET_NR_lseek (TARGET_NR_Linux + 19) -#define TARGET_NR_getpid (TARGET_NR_Linux + 20) +#define TARGET_NR_getpid (TARGET_NR_Linux + 20) #define TARGET_NR_mount (TARGET_NR_Linux + 21) -#define TARGET_NR_umount (TARGET_NR_Linux + 22) -#define TARGET_NR_setuid32 (TARGET_NR_Linux + 23) -#define TARGET_NR_getuid32 (TARGET_NR_Linux + 24) +#define TARGET_NR_umount (TARGET_NR_Linux + 22) +#define TARGET_NR_setuid32 (TARGET_NR_Linux + 23) +#define TARGET_NR_getuid32 (TARGET_NR_Linux + 24) #define TARGET_NR_stime (TARGET_NR_Linux + 25) -#define TARGET_NR_ptrace (TARGET_NR_Linux + 26) +#define TARGET_NR_ptrace (TARGET_NR_Linux + 26) #define TARGET_NR_alarm (TARGET_NR_Linux + 27) -#define TARGET_NR_unused28 (TARGET_NR_Linux + 28) +#define TARGET_NR_unused28 (TARGET_NR_Linux + 28) #define TARGET_NR_pause (TARGET_NR_Linux + 29) #define TARGET_NR_utime (TARGET_NR_Linux + 30) #define TARGET_NR_stty (TARGET_NR_Linux + 31) #define TARGET_NR_gtty (TARGET_NR_Linux + 32) -#define TARGET_NR_access (TARGET_NR_Linux + 33) +#define TARGET_NR_access (TARGET_NR_Linux + 33) #define TARGET_NR_nice (TARGET_NR_Linux + 34) #define TARGET_NR_ftime (TARGET_NR_Linux + 35) #define TARGET_NR_sync (TARGET_NR_Linux + 36) #define TARGET_NR_kill (TARGET_NR_Linux + 37) -#define TARGET_NR_rename (TARGET_NR_Linux + 38) +#define TARGET_NR_rename (TARGET_NR_Linux + 38) #define TARGET_NR_mkdir (TARGET_NR_Linux + 39) #define TARGET_NR_rmdir (TARGET_NR_Linux + 40) #define TARGET_NR_dup (TARGET_NR_Linux + 41) @@ -48,241 +48,273 @@ #define TARGET_NR_times (TARGET_NR_Linux + 43) #define TARGET_NR_prof (TARGET_NR_Linux + 44) #define TARGET_NR_brk (TARGET_NR_Linux + 45) -#define TARGET_NR_setgid32 (TARGET_NR_Linux + 46) -#define TARGET_NR_getgid32 (TARGET_NR_Linux + 47) -#define TARGET_NR_signal (TARGET_NR_Linux + 48) -#define TARGET_NR_geteuid32 (TARGET_NR_Linux + 49) -#define TARGET_NR_getegid32 (TARGET_NR_Linux + 50) +#define TARGET_NR_setgid32 (TARGET_NR_Linux + 46) +#define TARGET_NR_getgid32 (TARGET_NR_Linux + 47) +#define TARGET_NR_signal (TARGET_NR_Linux + 48) +#define TARGET_NR_geteuid32 (TARGET_NR_Linux + 49) +#define TARGET_NR_getegid32 (TARGET_NR_Linux + 50) #define TARGET_NR_acct (TARGET_NR_Linux + 51) -#define TARGET_NR_umount2 (TARGET_NR_Linux + 52) +#define TARGET_NR_umount2 (TARGET_NR_Linux + 52) #define TARGET_NR_lock (TARGET_NR_Linux + 53) #define TARGET_NR_ioctl (TARGET_NR_Linux + 54) #define TARGET_NR_fcntl (TARGET_NR_Linux + 55) #define TARGET_NR_mpx (TARGET_NR_Linux + 56) -#define TARGET_NR_setpgid (TARGET_NR_Linux + 57) -#define TARGET_NR_ulimit (TARGET_NR_Linux + 58) -#define TARGET_NR_unused59 (TARGET_NR_Linux + 59) +#define TARGET_NR_setpgid (TARGET_NR_Linux + 57) +#define TARGET_NR_ulimit (TARGET_NR_Linux + 58) +#define TARGET_NR_unused59 (TARGET_NR_Linux + 59) #define TARGET_NR_umask (TARGET_NR_Linux + 60) -#define TARGET_NR_chroot (TARGET_NR_Linux + 61) +#define TARGET_NR_chroot (TARGET_NR_Linux + 61) #define TARGET_NR_ustat (TARGET_NR_Linux + 62) #define TARGET_NR_dup2 (TARGET_NR_Linux + 63) -#define TARGET_NR_getppid (TARGET_NR_Linux + 64) -#define TARGET_NR_getpgrp (TARGET_NR_Linux + 65) -#define TARGET_NR_setsid (TARGET_NR_Linux + 66) -#define TARGET_NR_sigaction (TARGET_NR_Linux + 67) -#define TARGET_NR_sgetmask (TARGET_NR_Linux + 68) -#define TARGET_NR_ssetmask (TARGET_NR_Linux + 69) -#define TARGET_NR_setreuid32 (TARGET_NR_Linux + 70) -#define TARGET_NR_setregid32 (TARGET_NR_Linux + 71) -#define TARGET_NR_sigsuspend (TARGET_NR_Linux + 72) -#define TARGET_NR_sigpending (TARGET_NR_Linux + 73) +#define TARGET_NR_getppid (TARGET_NR_Linux + 64) +#define TARGET_NR_getpgrp (TARGET_NR_Linux + 65) +#define TARGET_NR_setsid (TARGET_NR_Linux + 66) +#define TARGET_NR_sigaction (TARGET_NR_Linux + 67) +#define TARGET_NR_sgetmask (TARGET_NR_Linux + 68) +#define TARGET_NR_ssetmask (TARGET_NR_Linux + 69) +#define TARGET_NR_setreuid32 (TARGET_NR_Linux + 70) +#define TARGET_NR_setregid32 (TARGET_NR_Linux + 71) +#define TARGET_NR_sigsuspend (TARGET_NR_Linux + 72) +#define TARGET_NR_sigpending (TARGET_NR_Linux + 73) #define TARGET_NR_sethostname (TARGET_NR_Linux + 74) -#define TARGET_NR_setrlimit (TARGET_NR_Linux + 75) -#define TARGET_NR_getrlimit (TARGET_NR_Linux + 76) -#define TARGET_NR_getrusage (TARGET_NR_Linux + 77) +#define TARGET_NR_setrlimit (TARGET_NR_Linux + 75) +#define TARGET_NR_getrlimit (TARGET_NR_Linux + 76) +#define TARGET_NR_getrusage (TARGET_NR_Linux + 77) #define TARGET_NR_gettimeofday (TARGET_NR_Linux + 78) #define TARGET_NR_settimeofday (TARGET_NR_Linux + 79) -#define TARGET_NR_getgroups32 (TARGET_NR_Linux + 80) -#define TARGET_NR_setgroups32 (TARGET_NR_Linux + 81) -#define TARGET_NR_reserved82 (TARGET_NR_Linux + 82) -#define TARGET_NR_symlink (TARGET_NR_Linux + 83) -#define TARGET_NR_unused84 (TARGET_NR_Linux + 84) -#define TARGET_NR_readlink (TARGET_NR_Linux + 85) -#define TARGET_NR_uselib (TARGET_NR_Linux + 86) -#define TARGET_NR_swapon (TARGET_NR_Linux + 87) -#define TARGET_NR_reboot (TARGET_NR_Linux + 88) -#define TARGET_NR_readdir (TARGET_NR_Linux + 89) +#define TARGET_NR_getgroups32 (TARGET_NR_Linux + 80) +#define TARGET_NR_setgroups32 (TARGET_NR_Linux + 81) +#define TARGET_NR_reserved82 (TARGET_NR_Linux + 82) +#define TARGET_NR_symlink (TARGET_NR_Linux + 83) +#define TARGET_NR_unused84 (TARGET_NR_Linux + 84) +#define TARGET_NR_readlink (TARGET_NR_Linux + 85) +#define TARGET_NR_uselib (TARGET_NR_Linux + 86) +#define TARGET_NR_swapon (TARGET_NR_Linux + 87) +#define TARGET_NR_reboot (TARGET_NR_Linux + 88) +#define TARGET_NR_readdir (TARGET_NR_Linux + 89) #define TARGET_NR_mmap (TARGET_NR_Linux + 90) -#define TARGET_NR_munmap (TARGET_NR_Linux + 91) -#define TARGET_NR_truncate (TARGET_NR_Linux + 92) -#define TARGET_NR_ftruncate (TARGET_NR_Linux + 93) -#define TARGET_NR_fchmod (TARGET_NR_Linux + 94) -#define TARGET_NR_fchown32 (TARGET_NR_Linux + 95) +#define TARGET_NR_munmap (TARGET_NR_Linux + 91) +#define TARGET_NR_truncate (TARGET_NR_Linux + 92) +#define TARGET_NR_ftruncate (TARGET_NR_Linux + 93) +#define TARGET_NR_fchmod (TARGET_NR_Linux + 94) +#define TARGET_NR_fchown32 (TARGET_NR_Linux + 95) #define TARGET_NR_getpriority (TARGET_NR_Linux + 96) #define TARGET_NR_setpriority (TARGET_NR_Linux + 97) -#define TARGET_NR_profil (TARGET_NR_Linux + 98) -#define TARGET_NR_statfs (TARGET_NR_Linux + 99) -#define TARGET_NR_fstatfs (TARGET_NR_Linux + 100) -#define TARGET_NR_ioperm (TARGET_NR_Linux + 101) -#define TARGET_NR_socketcall (TARGET_NR_Linux + 102) -#define TARGET_NR_syslog (TARGET_NR_Linux + 103) -#define TARGET_NR_setitimer (TARGET_NR_Linux + 104) -#define TARGET_NR_getitimer (TARGET_NR_Linux + 105) +#define TARGET_NR_profil (TARGET_NR_Linux + 98) +#define TARGET_NR_statfs (TARGET_NR_Linux + 99) +#define TARGET_NR_fstatfs (TARGET_NR_Linux + 100) +#define TARGET_NR_ioperm (TARGET_NR_Linux + 101) +#define TARGET_NR_socketcall (TARGET_NR_Linux + 102) +#define TARGET_NR_syslog (TARGET_NR_Linux + 103) +#define TARGET_NR_setitimer (TARGET_NR_Linux + 104) +#define TARGET_NR_getitimer (TARGET_NR_Linux + 105) #define TARGET_NR_stat (TARGET_NR_Linux + 106) #define TARGET_NR_lstat (TARGET_NR_Linux + 107) #define TARGET_NR_fstat (TARGET_NR_Linux + 108) -#define TARGET_NR_unused109 (TARGET_NR_Linux + 109) +#define TARGET_NR_unused109 (TARGET_NR_Linux + 109) #define TARGET_NR_iopl (TARGET_NR_Linux + 110) -#define TARGET_NR_vhangup (TARGET_NR_Linux + 111) +#define TARGET_NR_vhangup (TARGET_NR_Linux + 111) #define TARGET_NR_idle (TARGET_NR_Linux + 112) #define TARGET_NR_vm86 (TARGET_NR_Linux + 113) #define TARGET_NR_wait4 (TARGET_NR_Linux + 114) -#define TARGET_NR_swapoff (TARGET_NR_Linux + 115) -#define TARGET_NR_sysinfo (TARGET_NR_Linux + 116) +#define TARGET_NR_swapoff (TARGET_NR_Linux + 115) +#define TARGET_NR_sysinfo (TARGET_NR_Linux + 116) #define TARGET_NR_ipc (TARGET_NR_Linux + 117) #define TARGET_NR_fsync (TARGET_NR_Linux + 118) -#define TARGET_NR_sigreturn (TARGET_NR_Linux + 119) +#define TARGET_NR_sigreturn (TARGET_NR_Linux + 119) #define TARGET_NR_clone (TARGET_NR_Linux + 120) #define TARGET_NR_setdomainname (TARGET_NR_Linux + 121) #define TARGET_NR_uname (TARGET_NR_Linux + 122) -#define TARGET_NR_modify_ldt (TARGET_NR_Linux + 123) -#define TARGET_NR_adjtimex (TARGET_NR_Linux + 124) -#define TARGET_NR_mprotect (TARGET_NR_Linux + 125) +#define TARGET_NR_modify_ldt (TARGET_NR_Linux + 123) +#define TARGET_NR_adjtimex (TARGET_NR_Linux + 124) +#define TARGET_NR_mprotect (TARGET_NR_Linux + 125) #define TARGET_NR_sigprocmask (TARGET_NR_Linux + 126) #define TARGET_NR_create_module (TARGET_NR_Linux + 127) #define TARGET_NR_init_module (TARGET_NR_Linux + 128) #define TARGET_NR_delete_module (TARGET_NR_Linux + 129) -#define TARGET_NR_get_kernel_syms (TARGET_NR_Linux + 130) -#define TARGET_NR_quotactl (TARGET_NR_Linux + 131) -#define TARGET_NR_getpgid (TARGET_NR_Linux + 132) -#define TARGET_NR_fchdir (TARGET_NR_Linux + 133) -#define TARGET_NR_bdflush (TARGET_NR_Linux + 134) +#define TARGET_NR_get_kernel_syms (TARGET_NR_Linux + 130) +#define TARGET_NR_quotactl (TARGET_NR_Linux + 131) +#define TARGET_NR_getpgid (TARGET_NR_Linux + 132) +#define TARGET_NR_fchdir (TARGET_NR_Linux + 133) +#define TARGET_NR_bdflush (TARGET_NR_Linux + 134) #define TARGET_NR_sysfs (TARGET_NR_Linux + 135) #define TARGET_NR_personality (TARGET_NR_Linux + 136) #define TARGET_NR_afs_syscall (TARGET_NR_Linux + 137) /* Syscall for Andrew File System */ -#define TARGET_NR_setfsuid32 (TARGET_NR_Linux + 138) -#define TARGET_NR_setfsgid32 (TARGET_NR_Linux + 139) -#define TARGET_NR__llseek (TARGET_NR_Linux + 140) -#define TARGET_NR_getdents (TARGET_NR_Linux + 141) -#define TARGET_NR__newselect (TARGET_NR_Linux + 142) +#define TARGET_NR_setfsuid32 (TARGET_NR_Linux + 138) +#define TARGET_NR_setfsgid32 (TARGET_NR_Linux + 139) +#define TARGET_NR__llseek (TARGET_NR_Linux + 140) +#define TARGET_NR_getdents (TARGET_NR_Linux + 141) +#define TARGET_NR__newselect (TARGET_NR_Linux + 142) #define TARGET_NR_flock (TARGET_NR_Linux + 143) #define TARGET_NR_msync (TARGET_NR_Linux + 144) #define TARGET_NR_readv (TARGET_NR_Linux + 145) -#define TARGET_NR_writev (TARGET_NR_Linux + 146) -#define TARGET_NR_cacheflush (TARGET_NR_Linux + 147) -#define TARGET_NR_cachectl (TARGET_NR_Linux + 148) -#define TARGET_NR_sysmips (TARGET_NR_Linux + 149) -#define TARGET_NR_unused150 (TARGET_NR_Linux + 150) -#define TARGET_NR_getsid (TARGET_NR_Linux + 151) -#define TARGET_NR_fdatasync (TARGET_NR_Linux + 152) -#define TARGET_NR__sysctl (TARGET_NR_Linux + 153) +#define TARGET_NR_writev (TARGET_NR_Linux + 146) +#define TARGET_NR_cacheflush (TARGET_NR_Linux + 147) +#define TARGET_NR_cachectl (TARGET_NR_Linux + 148) +#define TARGET_NR_sysmips (TARGET_NR_Linux + 149) +#define TARGET_NR_unused150 (TARGET_NR_Linux + 150) +#define TARGET_NR_getsid (TARGET_NR_Linux + 151) +#define TARGET_NR_fdatasync (TARGET_NR_Linux + 152) +#define TARGET_NR__sysctl (TARGET_NR_Linux + 153) #define TARGET_NR_mlock (TARGET_NR_Linux + 154) -#define TARGET_NR_munlock (TARGET_NR_Linux + 155) -#define TARGET_NR_mlockall (TARGET_NR_Linux + 156) -#define TARGET_NR_munlockall (TARGET_NR_Linux + 157) -#define TARGET_NR_sched_setparam (TARGET_NR_Linux + 158) -#define TARGET_NR_sched_getparam (TARGET_NR_Linux + 159) -#define TARGET_NR_sched_setscheduler (TARGET_NR_Linux + 160) -#define TARGET_NR_sched_getscheduler (TARGET_NR_Linux + 161) +#define TARGET_NR_munlock (TARGET_NR_Linux + 155) +#define TARGET_NR_mlockall (TARGET_NR_Linux + 156) +#define TARGET_NR_munlockall (TARGET_NR_Linux + 157) +#define TARGET_NR_sched_setparam (TARGET_NR_Linux + 158) +#define TARGET_NR_sched_getparam (TARGET_NR_Linux + 159) +#define TARGET_NR_sched_setscheduler (TARGET_NR_Linux + 160) +#define TARGET_NR_sched_getscheduler (TARGET_NR_Linux + 161) #define TARGET_NR_sched_yield (TARGET_NR_Linux + 162) #define TARGET_NR_sched_get_priority_max (TARGET_NR_Linux + 163) #define TARGET_NR_sched_get_priority_min (TARGET_NR_Linux + 164) #define TARGET_NR_sched_rr_get_interval (TARGET_NR_Linux + 165) -#define TARGET_NR_nanosleep (TARGET_NR_Linux + 166) -#define TARGET_NR_mremap (TARGET_NR_Linux + 167) -#define TARGET_NR_accept (TARGET_NR_Linux + 168) +#define TARGET_NR_nanosleep (TARGET_NR_Linux + 166) +#define TARGET_NR_mremap (TARGET_NR_Linux + 167) +#define TARGET_NR_accept (TARGET_NR_Linux + 168) #define TARGET_NR_bind (TARGET_NR_Linux + 169) -#define TARGET_NR_connect (TARGET_NR_Linux + 170) +#define TARGET_NR_connect (TARGET_NR_Linux + 170) #define TARGET_NR_getpeername (TARGET_NR_Linux + 171) #define TARGET_NR_getsockname (TARGET_NR_Linux + 172) -#define TARGET_NR_getsockopt (TARGET_NR_Linux + 173) -#define TARGET_NR_listen (TARGET_NR_Linux + 174) +#define TARGET_NR_getsockopt (TARGET_NR_Linux + 173) +#define TARGET_NR_listen (TARGET_NR_Linux + 174) #define TARGET_NR_recv (TARGET_NR_Linux + 175) -#define TARGET_NR_recvfrom (TARGET_NR_Linux + 176) -#define TARGET_NR_recvmsg (TARGET_NR_Linux + 177) +#define TARGET_NR_recvfrom (TARGET_NR_Linux + 176) +#define TARGET_NR_recvmsg (TARGET_NR_Linux + 177) #define TARGET_NR_send (TARGET_NR_Linux + 178) -#define TARGET_NR_sendmsg (TARGET_NR_Linux + 179) -#define TARGET_NR_sendto (TARGET_NR_Linux + 180) -#define TARGET_NR_setsockopt (TARGET_NR_Linux + 181) -#define TARGET_NR_shutdown (TARGET_NR_Linux + 182) -#define TARGET_NR_socket (TARGET_NR_Linux + 183) -#define TARGET_NR_socketpair (TARGET_NR_Linux + 184) -#define TARGET_NR_setresuid32 (TARGET_NR_Linux + 185) -#define TARGET_NR_getresuid32 (TARGET_NR_Linux + 186) +#define TARGET_NR_sendmsg (TARGET_NR_Linux + 179) +#define TARGET_NR_sendto (TARGET_NR_Linux + 180) +#define TARGET_NR_setsockopt (TARGET_NR_Linux + 181) +#define TARGET_NR_shutdown (TARGET_NR_Linux + 182) +#define TARGET_NR_socket (TARGET_NR_Linux + 183) +#define TARGET_NR_socketpair (TARGET_NR_Linux + 184) +#define TARGET_NR_setresuid32 (TARGET_NR_Linux + 185) +#define TARGET_NR_getresuid32 (TARGET_NR_Linux + 186) #define TARGET_NR_query_module (TARGET_NR_Linux + 187) #define TARGET_NR_poll (TARGET_NR_Linux + 188) -#define TARGET_NR_nfsservctl (TARGET_NR_Linux + 189) -#define TARGET_NR_setresgid32 (TARGET_NR_Linux + 190) -#define TARGET_NR_getresgid32 (TARGET_NR_Linux + 191) +#define TARGET_NR_nfsservctl (TARGET_NR_Linux + 189) +#define TARGET_NR_setresgid32 (TARGET_NR_Linux + 190) +#define TARGET_NR_getresgid32 (TARGET_NR_Linux + 191) #define TARGET_NR_prctl (TARGET_NR_Linux + 192) #define TARGET_NR_rt_sigreturn (TARGET_NR_Linux + 193) #define TARGET_NR_rt_sigaction (TARGET_NR_Linux + 194) -#define TARGET_NR_rt_sigprocmask (TARGET_NR_Linux + 195) +#define TARGET_NR_rt_sigprocmask (TARGET_NR_Linux + 195) #define TARGET_NR_rt_sigpending (TARGET_NR_Linux + 196) -#define TARGET_NR_rt_sigtimedwait (TARGET_NR_Linux + 197) -#define TARGET_NR_rt_sigqueueinfo (TARGET_NR_Linux + 198) +#define TARGET_NR_rt_sigtimedwait (TARGET_NR_Linux + 197) +#define TARGET_NR_rt_sigqueueinfo (TARGET_NR_Linux + 198) #define TARGET_NR_rt_sigsuspend (TARGET_NR_Linux + 199) -#define TARGET_NR_pread64 (TARGET_NR_Linux + 200) -#define TARGET_NR_pwrite64 (TARGET_NR_Linux + 201) -#define TARGET_NR_chown32 (TARGET_NR_Linux + 202) -#define TARGET_NR_getcwd (TARGET_NR_Linux + 203) -#define TARGET_NR_capget (TARGET_NR_Linux + 204) -#define TARGET_NR_capset (TARGET_NR_Linux + 205) +#define TARGET_NR_pread64 (TARGET_NR_Linux + 200) +#define TARGET_NR_pwrite64 (TARGET_NR_Linux + 201) +#define TARGET_NR_chown32 (TARGET_NR_Linux + 202) +#define TARGET_NR_getcwd (TARGET_NR_Linux + 203) +#define TARGET_NR_capget (TARGET_NR_Linux + 204) +#define TARGET_NR_capset (TARGET_NR_Linux + 205) #define TARGET_NR_sigaltstack (TARGET_NR_Linux + 206) -#define TARGET_NR_sendfile (TARGET_NR_Linux + 207) -#define TARGET_NR_getpmsg (TARGET_NR_Linux + 208) -#define TARGET_NR_putpmsg (TARGET_NR_Linux + 209) +#define TARGET_NR_sendfile (TARGET_NR_Linux + 207) +#define TARGET_NR_getpmsg (TARGET_NR_Linux + 208) +#define TARGET_NR_putpmsg (TARGET_NR_Linux + 209) #define TARGET_NR_mmap2 (TARGET_NR_Linux + 210) -#define TARGET_NR_truncate64 (TARGET_NR_Linux + 211) +#define TARGET_NR_truncate64 (TARGET_NR_Linux + 211) #define TARGET_NR_ftruncate64 (TARGET_NR_Linux + 212) -#define TARGET_NR_stat64 (TARGET_NR_Linux + 213) -#define TARGET_NR_lstat64 (TARGET_NR_Linux + 214) -#define TARGET_NR_fstat64 (TARGET_NR_Linux + 215) -#define TARGET_NR_pivot_root (TARGET_NR_Linux + 216) -#define TARGET_NR_mincore (TARGET_NR_Linux + 217) -#define TARGET_NR_madvise (TARGET_NR_Linux + 218) -#define TARGET_NR_getdents64 (TARGET_NR_Linux + 219) -#define TARGET_NR_fcntl64 (TARGET_NR_Linux + 220) +#define TARGET_NR_stat64 (TARGET_NR_Linux + 213) +#define TARGET_NR_lstat64 (TARGET_NR_Linux + 214) +#define TARGET_NR_fstat64 (TARGET_NR_Linux + 215) +#define TARGET_NR_pivot_root (TARGET_NR_Linux + 216) +#define TARGET_NR_mincore (TARGET_NR_Linux + 217) +#define TARGET_NR_madvise (TARGET_NR_Linux + 218) +#define TARGET_NR_getdents64 (TARGET_NR_Linux + 219) +#define TARGET_NR_fcntl64 (TARGET_NR_Linux + 220) #define TARGET_NR_reserved221 (TARGET_NR_Linux + 221) -#define TARGET_NR_gettid (TARGET_NR_Linux + 222) -#define TARGET_NR_readahead (TARGET_NR_Linux + 223) -#define TARGET_NR_setxattr (TARGET_NR_Linux + 224) -#define TARGET_NR_lsetxattr (TARGET_NR_Linux + 225) -#define TARGET_NR_fsetxattr (TARGET_NR_Linux + 226) -#define TARGET_NR_getxattr (TARGET_NR_Linux + 227) -#define TARGET_NR_lgetxattr (TARGET_NR_Linux + 228) -#define TARGET_NR_fgetxattr (TARGET_NR_Linux + 229) -#define TARGET_NR_listxattr (TARGET_NR_Linux + 230) -#define TARGET_NR_llistxattr (TARGET_NR_Linux + 231) -#define TARGET_NR_flistxattr (TARGET_NR_Linux + 232) +#define TARGET_NR_gettid (TARGET_NR_Linux + 222) +#define TARGET_NR_readahead (TARGET_NR_Linux + 223) +#define TARGET_NR_setxattr (TARGET_NR_Linux + 224) +#define TARGET_NR_lsetxattr (TARGET_NR_Linux + 225) +#define TARGET_NR_fsetxattr (TARGET_NR_Linux + 226) +#define TARGET_NR_getxattr (TARGET_NR_Linux + 227) +#define TARGET_NR_lgetxattr (TARGET_NR_Linux + 228) +#define TARGET_NR_fgetxattr (TARGET_NR_Linux + 229) +#define TARGET_NR_listxattr (TARGET_NR_Linux + 230) +#define TARGET_NR_llistxattr (TARGET_NR_Linux + 231) +#define TARGET_NR_flistxattr (TARGET_NR_Linux + 232) #define TARGET_NR_removexattr (TARGET_NR_Linux + 233) #define TARGET_NR_lremovexattr (TARGET_NR_Linux + 234) #define TARGET_NR_fremovexattr (TARGET_NR_Linux + 235) #define TARGET_NR_tkill (TARGET_NR_Linux + 236) -#define TARGET_NR_sendfile64 (TARGET_NR_Linux + 237) +#define TARGET_NR_sendfile64 (TARGET_NR_Linux + 237) #define TARGET_NR_futex (TARGET_NR_Linux + 238) -#define TARGET_NR_sched_setaffinity (TARGET_NR_Linux + 239) -#define TARGET_NR_sched_getaffinity (TARGET_NR_Linux + 240) -#define TARGET_NR_io_setup (TARGET_NR_Linux + 241) -#define TARGET_NR_io_destroy (TARGET_NR_Linux + 242) +#define TARGET_NR_sched_setaffinity (TARGET_NR_Linux + 239) +#define TARGET_NR_sched_getaffinity (TARGET_NR_Linux + 240) +#define TARGET_NR_io_setup (TARGET_NR_Linux + 241) +#define TARGET_NR_io_destroy (TARGET_NR_Linux + 242) #define TARGET_NR_io_getevents (TARGET_NR_Linux + 243) -#define TARGET_NR_io_submit (TARGET_NR_Linux + 244) -#define TARGET_NR_io_cancel (TARGET_NR_Linux + 245) -#define TARGET_NR_exit_group (TARGET_NR_Linux + 246) -#define TARGET_NR_lookup_dcookie (TARGET_NR_Linux + 247) +#define TARGET_NR_io_submit (TARGET_NR_Linux + 244) +#define TARGET_NR_io_cancel (TARGET_NR_Linux + 245) +#define TARGET_NR_exit_group (TARGET_NR_Linux + 246) +#define TARGET_NR_lookup_dcookie (TARGET_NR_Linux + 247) #define TARGET_NR_epoll_create (TARGET_NR_Linux + 248) -#define TARGET_NR_epoll_ctl (TARGET_NR_Linux + 249) -#define TARGET_NR_epoll_wait (TARGET_NR_Linux + 250) -#define TARGET_NR_remap_file_pages (TARGET_NR_Linux + 251) -#define TARGET_NR_set_tid_address (TARGET_NR_Linux + 252) -#define TARGET_NR_restart_syscall (TARGET_NR_Linux + 253) -#define TARGET_NR_fadvise64 (TARGET_NR_Linux + 254) -#define TARGET_NR_statfs64 (TARGET_NR_Linux + 255) -#define TARGET_NR_fstatfs64 (TARGET_NR_Linux + 256) +#define TARGET_NR_epoll_ctl (TARGET_NR_Linux + 249) +#define TARGET_NR_epoll_wait (TARGET_NR_Linux + 250) +#define TARGET_NR_remap_file_pages (TARGET_NR_Linux + 251) +#define TARGET_NR_set_tid_address (TARGET_NR_Linux + 252) +#define TARGET_NR_restart_syscall (TARGET_NR_Linux + 253) +#define TARGET_NR_fadvise64 (TARGET_NR_Linux + 254) +#define TARGET_NR_statfs64 (TARGET_NR_Linux + 255) +#define TARGET_NR_fstatfs64 (TARGET_NR_Linux + 256) #define TARGET_NR_timer_create (TARGET_NR_Linux + 257) #define TARGET_NR_timer_settime (TARGET_NR_Linux + 258) #define TARGET_NR_timer_gettime (TARGET_NR_Linux + 259) -#define TARGET_NR_timer_getoverrun (TARGET_NR_Linux + 260) +#define TARGET_NR_timer_getoverrun (TARGET_NR_Linux + 260) #define TARGET_NR_timer_delete (TARGET_NR_Linux + 261) #define TARGET_NR_clock_settime (TARGET_NR_Linux + 262) #define TARGET_NR_clock_gettime (TARGET_NR_Linux + 263) #define TARGET_NR_clock_getres (TARGET_NR_Linux + 264) -#define TARGET_NR_clock_nanosleep (TARGET_NR_Linux + 265) -#define TARGET_NR_tgkill (TARGET_NR_Linux + 266) -#define TARGET_NR_utimes (TARGET_NR_Linux + 267) +#define TARGET_NR_clock_nanosleep (TARGET_NR_Linux + 265) +#define TARGET_NR_tgkill (TARGET_NR_Linux + 266) +#define TARGET_NR_utimes (TARGET_NR_Linux + 267) #define TARGET_NR_mbind (TARGET_NR_Linux + 268) #define TARGET_NR_get_mempolicy (TARGET_NR_Linux + 269) #define TARGET_NR_set_mempolicy (TARGET_NR_Linux + 270) -#define TARGET_NR_mq_open (TARGET_NR_Linux + 271) -#define TARGET_NR_mq_unlink (TARGET_NR_Linux + 272) +#define TARGET_NR_mq_open (TARGET_NR_Linux + 271) +#define TARGET_NR_mq_unlink (TARGET_NR_Linux + 272) #define TARGET_NR_mq_timedsend (TARGET_NR_Linux + 273) -#define TARGET_NR_mq_timedreceive (TARGET_NR_Linux + 274) -#define TARGET_NR_mq_notify (TARGET_NR_Linux + 275) +#define TARGET_NR_mq_timedreceive (TARGET_NR_Linux + 274) +#define TARGET_NR_mq_notify (TARGET_NR_Linux + 275) #define TARGET_NR_mq_getsetattr (TARGET_NR_Linux + 276) -#define TARGET_NR_vserver (TARGET_NR_Linux + 277) -#define TARGET_NR_waitid (TARGET_NR_Linux + 278) -/* #define TARGET_NR_sys_setaltroot (TARGET_NR_Linux + 279) */ -#define TARGET_NR_add_key (TARGET_NR_Linux + 280) +#define TARGET_NR_vserver (TARGET_NR_Linux + 277) +#define TARGET_NR_waitid (TARGET_NR_Linux + 278) +/* #define TARGET_NR_sys_setaltroot (TARGET_NR_Linux + 279) */ +#define TARGET_NR_add_key (TARGET_NR_Linux + 280) #define TARGET_NR_request_key (TARGET_NR_Linux + 281) -#define TARGET_NR_keyctl (TARGET_NR_Linux + 282) - +#define TARGET_NR_keyctl (TARGET_NR_Linux + 282) +#define TARGET_NR_set_thread_area (TARGET_NR_Linux + 283) +#define TARGET_NR_inotify_init (TARGET_NR_Linux + 284) +#define TARGET_NR_inotify_add_watch (TARGET_NR_Linux + 285) +#define TARGET_NR_inotify_rm_watch (TARGET_NR_Linux + 286) +#define TARGET_NR_migrate_pages (TARGET_NR_Linux + 287) +#define TARGET_NR_openat (TARGET_NR_Linux + 288) +#define TARGET_NR_mkdirat (TARGET_NR_Linux + 289) +#define TARGET_NR_mknodat (TARGET_NR_Linux + 290) +#define TARGET_NR_fchownat (TARGET_NR_Linux + 291) +#define TARGET_NR_futimesat (TARGET_NR_Linux + 292) +#define TARGET_NR_fstatat64 (TARGET_NR_Linux + 293) +#define TARGET_NR_unlinkat (TARGET_NR_Linux + 294) +#define TARGET_NR_renameat (TARGET_NR_Linux + 295) +#define TARGET_NR_linkat (TARGET_NR_Linux + 296) +#define TARGET_NR_symlinkat (TARGET_NR_Linux + 297) +#define TARGET_NR_readlinkat (TARGET_NR_Linux + 298) +#define TARGET_NR_fchmodat (TARGET_NR_Linux + 299) +#define TARGET_NR_faccessat (TARGET_NR_Linux + 300) +#define TARGET_NR_pselect6 (TARGET_NR_Linux + 301) +#define TARGET_NR_ppoll (TARGET_NR_Linux + 302) +#define TARGET_NR_unshare (TARGET_NR_Linux + 303) +#define TARGET_NR_splice (TARGET_NR_Linux + 304) +#define TARGET_NR_sync_file_range (TARGET_NR_Linux + 305) +#define TARGET_NR_tee (TARGET_NR_Linux + 306) +#define TARGET_NR_vmsplice (TARGET_NR_Linux + 307) +#define TARGET_NR_move_pages (TARGET_NR_Linux + 308) +#define TARGET_NR_set_robust_list (TARGET_NR_Linux + 309) +#define TARGET_NR_get_robust_list (TARGET_NR_Linux + 310) +#define TARGET_NR_kexec_load (TARGET_NR_Linux + 311) +#define TARGET_NR_getcpu (TARGET_NR_Linux + 312) +#define TARGET_NR_epoll_pwait (TARGET_NR_Linux + 313) +#define TARGET_NR_ioprio_set (TARGET_NR_Linux + 314) +#define TARGET_NR_ioprio_get (TARGET_NR_Linux + 315) |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:29
|
Update of /cvsroot/hppaqemu/hppaqemu/audio In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/audio Modified Files: alsaaudio.c audio.c audio.h audio_template.h coreaudio.c mixeng.c mixeng.h ossaudio.c wavaudio.c wavcapture.c Log Message: Update to QEMU CVS from 2007-06-01. Index: audio_template.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/audio_template.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- audio_template.h 23 Feb 2007 21:44:12 -0000 1.1.1.1 +++ audio_template.h 18 Feb 2008 00:13:51 -0000 1.2 @@ -164,7 +164,7 @@ [sw->info.nchannels == 2] [sw->info.sign] [sw->info.swap_endianness] - [sw->info.bits == 16]; + [audio_bits_to_index (sw->info.bits)]; sw->name = qemu_strdup (name); err = glue (audio_pcm_sw_alloc_resources_, TYPE) (sw); @@ -288,7 +288,7 @@ [hw->info.nchannels == 2] [hw->info.sign] [hw->info.swap_endianness] - [hw->info.bits == 16]; + [audio_bits_to_index (hw->info.bits)]; if (glue (audio_pcm_hw_alloc_resources_, TYPE) (hw)) { goto err1; Index: audio.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/audio.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- audio.h 23 Feb 2007 21:44:12 -0000 1.1.1.1 +++ audio.h 18 Feb 2008 00:13:51 -0000 1.2 @@ -33,7 +33,9 @@ AUD_FMT_U8, AUD_FMT_S8, AUD_FMT_U16, - AUD_FMT_S16 + AUD_FMT_S16, + AUD_FMT_U32, + AUD_FMT_S32 } audfmt_e; #ifdef WORDS_BIGENDIAN Index: alsaaudio.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/alsaaudio.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- alsaaudio.c 23 Feb 2007 21:44:12 -0000 1.1.1.1 +++ alsaaudio.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -57,6 +57,8 @@ int period_size_out_overriden; int verbose; } conf = { +#define DEFAULT_BUFFER_SIZE 1024 +#define DEFAULT_PERIOD_SIZE 256 #ifdef HIGH_LATENCY .size_in_usec_in = 1, .size_in_usec_out = 1, @@ -69,8 +71,6 @@ .buffer_size_out = 400000, .period_size_out = 400000 / 4, #else -#define DEFAULT_BUFFER_SIZE 1024 -#define DEFAULT_PERIOD_SIZE 256 .buffer_size_in = DEFAULT_BUFFER_SIZE * 4, .period_size_in = DEFAULT_PERIOD_SIZE * 4, .buffer_size_out = DEFAULT_BUFFER_SIZE, @@ -157,6 +157,12 @@ case AUD_FMT_U16: return SND_PCM_FORMAT_U16_LE; + case AUD_FMT_S32: + return SND_PCM_FORMAT_S32_LE; + + case AUD_FMT_U32: + return SND_PCM_FORMAT_U32_LE; + default: dolog ("Internal logic error: Bad audio format %d\n", fmt); #ifdef DEBUG_AUDIO @@ -199,6 +205,26 @@ *fmt = AUD_FMT_U16; break; + case SND_PCM_FORMAT_S32_LE: + *endianness = 0; + *fmt = AUD_FMT_S32; + break; + + case SND_PCM_FORMAT_U32_LE: + *endianness = 0; + *fmt = AUD_FMT_U32; + break; + + case SND_PCM_FORMAT_S32_BE: + *endianness = 1; + *fmt = AUD_FMT_S32; + break; + + case SND_PCM_FORMAT_U32_BE: + *endianness = 1; + *fmt = AUD_FMT_U32; + break; + default: dolog ("Unrecognized audio format %d\n", alsafmt); return -1; Index: wavaudio.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/wavaudio.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- wavaudio.c 23 Feb 2007 21:44:13 -0000 1.1.1.1 +++ wavaudio.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -41,7 +41,8 @@ { 44100, 2, - AUD_FMT_S16 + AUD_FMT_S16, + AUDIO_HOST_ENDIANNESS }, "qemu.wav" }; @@ -131,6 +132,11 @@ case AUD_FMT_U16: bits16 = 1; break; + + case AUD_FMT_S32: + case AUD_FMT_U32: + dolog ("WAVE files can not handle 32bit formats\n"); + return -1; } hdr[34] = bits16 ? 0x10 : 0x08; Index: audio.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/audio.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- audio.c 23 Feb 2007 21:44:12 -0000 1.1.1.1 +++ audio.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -80,7 +80,8 @@ { 44100, /* freq */ 2, /* nchannels */ - AUD_FMT_S16 /* fmt */ + AUD_FMT_S16, /* fmt */ + AUDIO_HOST_ENDIANNESS } }, @@ -91,7 +92,8 @@ { 44100, /* freq */ 2, /* nchannels */ - AUD_FMT_S16 /* fmt */ + AUD_FMT_S16, /* fmt */ + AUDIO_HOST_ENDIANNESS } }, @@ -166,6 +168,25 @@ } #endif +static inline int audio_bits_to_index (int bits) +{ + switch (bits) { + case 8: + return 0; + + case 16: + return 1; + + case 32: + return 2; + + default: + audio_bug ("bits_to_index", 1); + AUD_log (NULL, "invalid bits %d\n", bits); + return 0; + } +} + void *audio_calloc (const char *funcname, int nmemb, size_t size) { int cond; @@ -227,6 +248,12 @@ case AUD_FMT_S16: return "S16"; + + case AUD_FMT_U32: + return "U32"; + + case AUD_FMT_S32: + return "S32"; } dolog ("Bogus audfmt %d returning S16\n", fmt); @@ -243,6 +270,10 @@ *defaultp = 0; return AUD_FMT_U16; } + else if (!strcasecmp (s, "u32")) { + *defaultp = 0; + return AUD_FMT_U32; + } else if (!strcasecmp (s, "s8")) { *defaultp = 0; return AUD_FMT_S8; @@ -251,6 +282,10 @@ *defaultp = 0; return AUD_FMT_S16; } + else if (!strcasecmp (s, "s32")) { + *defaultp = 0; + return AUD_FMT_S32; + } else { dolog ("Bogus audio format `%s' using %s\n", s, audio_audfmt_to_string (defval)); @@ -538,6 +573,8 @@ case AUD_FMT_U8: case AUD_FMT_S16: case AUD_FMT_U16: + case AUD_FMT_S32: + case AUD_FMT_U32: break; default: invalid = 1; @@ -563,6 +600,12 @@ case AUD_FMT_U16: bits = 16; break; + + case AUD_FMT_S32: + sign = 1; + case AUD_FMT_U32: + bits = 32; + break; } return info->freq == as->freq && info->nchannels == as->nchannels @@ -573,7 +616,7 @@ void audio_pcm_init_info (struct audio_pcm_info *info, audsettings_t *as) { - int bits = 8, sign = 0; + int bits = 8, sign = 0, shift = 0; switch (as->fmt) { case AUD_FMT_S8: @@ -585,6 +628,14 @@ sign = 1; case AUD_FMT_U16: bits = 16; + shift = 1; + break; + + case AUD_FMT_S32: + sign = 1; + case AUD_FMT_U32: + bits = 32; + shift = 2; break; } @@ -592,7 +643,7 @@ info->bits = bits; info->sign = sign; info->nchannels = as->nchannels; - info->shift = (as->nchannels == 2) + (bits == 16); + info->shift = (as->nchannels == 2) + shift; info->align = (1 << info->shift) - 1; info->bytes_per_second = info->freq << info->shift; info->swap_endianness = (as->endianness != AUDIO_HOST_ENDIANNESS); @@ -608,22 +659,49 @@ memset (buf, 0x00, len << info->shift); } else { - if (info->bits == 8) { + switch (info->bits) { + case 8: memset (buf, 0x80, len << info->shift); - } - else { - int i; - uint16_t *p = buf; - int shift = info->nchannels - 1; - short s = INT16_MAX; + break; - if (info->swap_endianness) { - s = bswap16 (s); + case 16: + { + int i; + uint16_t *p = buf; + int shift = info->nchannels - 1; + short s = INT16_MAX; + + if (info->swap_endianness) { + s = bswap16 (s); + } + + for (i = 0; i < len << shift; i++) { + p[i] = s; + } } + break; - for (i = 0; i < len << shift; i++) { - p[i] = s; + case 32: + { + int i; + uint32_t *p = buf; + int shift = info->nchannels - 1; + int32_t s = INT32_MAX; + + if (info->swap_endianness) { + s = bswap32 (s); + } + + for (i = 0; i < len << shift; i++) { + p[i] = s; + } } + break; + + default: + AUD_log (NULL, "audio_pcm_info_clear_buf: invalid bits %d\n", + info->bits); + break; } } } @@ -1811,7 +1889,7 @@ [hw->info.nchannels == 2] [hw->info.sign] [hw->info.swap_endianness] - [hw->info.bits == 16]; + [audio_bits_to_index (hw->info.bits)]; LIST_INSERT_HEAD (&s->cap_head, cap, entries); LIST_INSERT_HEAD (&cap->cb_head, cb, entries); Index: ossaudio.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/ossaudio.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- ossaudio.c 23 Feb 2007 21:44:12 -0000 1.1.1.1 +++ ossaudio.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -21,10 +21,15 @@ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ +#include <stdlib.h> #include <sys/mman.h> #include <sys/types.h> #include <sys/ioctl.h> +#ifdef __OpenBSD__ +#include <soundcard.h> +#else #include <sys/soundcard.h> +#endif #include "vl.h" #define AUDIO_CAP "oss" Index: mixeng.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/mixeng.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- mixeng.c 23 Feb 2007 21:44:12 -0000 1.1.1.1 +++ mixeng.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -82,6 +82,7 @@ #undef IN_T #undef SHIFT +/* Unsigned 16 bit */ #define IN_T uint16_t #define IN_MIN 0 #define IN_MAX USHRT_MAX @@ -101,26 +102,72 @@ #undef IN_T #undef SHIFT -t_sample *mixeng_conv[2][2][2][2] = { +/* Signed 32 bit */ +#define IN_T int32_t +#define IN_MIN INT32_MIN +#define IN_MAX INT32_MAX +#define SIGNED +#define SHIFT 32 +#define ENDIAN_CONVERSION natural +#define ENDIAN_CONVERT(v) (v) +#include "mixeng_template.h" +#undef ENDIAN_CONVERT +#undef ENDIAN_CONVERSION +#define ENDIAN_CONVERSION swap +#define ENDIAN_CONVERT(v) bswap32 (v) +#include "mixeng_template.h" +#undef ENDIAN_CONVERT +#undef ENDIAN_CONVERSION +#undef SIGNED +#undef IN_MAX +#undef IN_MIN +#undef IN_T +#undef SHIFT + +/* Unsigned 16 bit */ +#define IN_T uint32_t +#define IN_MIN 0 +#define IN_MAX UINT32_MAX +#define SHIFT 32 +#define ENDIAN_CONVERSION natural +#define ENDIAN_CONVERT(v) (v) +#include "mixeng_template.h" +#undef ENDIAN_CONVERT +#undef ENDIAN_CONVERSION +#define ENDIAN_CONVERSION swap +#define ENDIAN_CONVERT(v) bswap32 (v) +#include "mixeng_template.h" +#undef ENDIAN_CONVERT +#undef ENDIAN_CONVERSION +#undef IN_MAX +#undef IN_MIN +#undef IN_T +#undef SHIFT + +t_sample *mixeng_conv[2][2][2][3] = { { { { conv_natural_uint8_t_to_mono, - conv_natural_uint16_t_to_mono + conv_natural_uint16_t_to_mono, + conv_natural_uint32_t_to_mono }, { conv_natural_uint8_t_to_mono, - conv_swap_uint16_t_to_mono + conv_swap_uint16_t_to_mono, + conv_swap_uint32_t_to_mono, } }, { { conv_natural_int8_t_to_mono, - conv_natural_int16_t_to_mono + conv_natural_int16_t_to_mono, + conv_natural_int32_t_to_mono }, { conv_natural_int8_t_to_mono, - conv_swap_int16_t_to_mono + conv_swap_int16_t_to_mono, + conv_swap_int32_t_to_mono } } }, @@ -128,46 +175,54 @@ { { conv_natural_uint8_t_to_stereo, - conv_natural_uint16_t_to_stereo + conv_natural_uint16_t_to_stereo, + conv_natural_uint32_t_to_stereo }, { conv_natural_uint8_t_to_stereo, - conv_swap_uint16_t_to_stereo + conv_swap_uint16_t_to_stereo, + conv_swap_uint32_t_to_stereo } }, { { conv_natural_int8_t_to_stereo, - conv_natural_int16_t_to_stereo + conv_natural_int16_t_to_stereo, + conv_natural_int32_t_to_stereo }, { conv_natural_int8_t_to_stereo, - conv_swap_int16_t_to_stereo + conv_swap_int16_t_to_stereo, + conv_swap_int32_t_to_stereo, } } } }; -f_sample *mixeng_clip[2][2][2][2] = { +f_sample *mixeng_clip[2][2][2][3] = { { { { clip_natural_uint8_t_from_mono, - clip_natural_uint16_t_from_mono + clip_natural_uint16_t_from_mono, + clip_natural_uint32_t_from_mono }, { clip_natural_uint8_t_from_mono, - clip_swap_uint16_t_from_mono + clip_swap_uint16_t_from_mono, + clip_swap_uint32_t_from_mono } }, { { clip_natural_int8_t_from_mono, - clip_natural_int16_t_from_mono + clip_natural_int16_t_from_mono, + clip_natural_int32_t_from_mono }, { clip_natural_int8_t_from_mono, - clip_swap_int16_t_from_mono + clip_swap_int16_t_from_mono, + clip_swap_int32_t_from_mono } } }, @@ -175,21 +230,25 @@ { { clip_natural_uint8_t_from_stereo, - clip_natural_uint16_t_from_stereo + clip_natural_uint16_t_from_stereo, + clip_natural_uint32_t_from_stereo }, { clip_natural_uint8_t_from_stereo, - clip_swap_uint16_t_from_stereo + clip_swap_uint16_t_from_stereo, + clip_swap_uint32_t_from_stereo } }, { { clip_natural_int8_t_from_stereo, - clip_natural_int16_t_from_stereo + clip_natural_int16_t_from_stereo, + clip_natural_int32_t_from_stereo }, { clip_natural_int8_t_from_stereo, - clip_swap_int16_t_from_stereo + clip_swap_int16_t_from_stereo, + clip_swap_int32_t_from_stereo } } } Index: coreaudio.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/coreaudio.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- coreaudio.c 23 Feb 2007 21:44:12 -0000 1.1.1.1 +++ coreaudio.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -294,7 +294,6 @@ coreaudioVoiceOut *core = (coreaudioVoiceOut *) hw; UInt32 propertySize; int err; - int bits = 8; const char *typ = "playback"; AudioValueRange frameRange; @@ -305,10 +304,6 @@ return -1; } - if (as->fmt == AUD_FMT_S16 || as->fmt == AUD_FMT_U16) { - bits = 16; - } - audio_pcm_init_info (&hw->info, as); /* open default output device */ Index: mixeng.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/mixeng.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- mixeng.h 23 Feb 2007 21:44:12 -0000 1.1.1.1 +++ mixeng.h 18 Feb 2008 00:13:51 -0000 1.2 @@ -37,8 +37,8 @@ int samples, volume_t *vol); typedef void (f_sample) (void *dst, const st_sample_t *src, int samples); -extern t_sample *mixeng_conv[2][2][2][2]; -extern f_sample *mixeng_clip[2][2][2][2]; +extern t_sample *mixeng_conv[2][2][2][3]; +extern f_sample *mixeng_clip[2][2][2][3]; void *st_rate_start (int inrate, int outrate); void st_rate_flow (void *opaque, st_sample_t *ibuf, st_sample_t *obuf, Index: wavcapture.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/audio/wavcapture.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- wavcapture.c 23 Feb 2007 21:44:13 -0000 1.1.1.1 +++ wavcapture.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -37,15 +37,15 @@ if (wav->f) { le_store (rlen, rifflen, 4); le_store (dlen, datalen, 4); - + qemu_fseek (wav->f, 4, SEEK_SET); qemu_put_buffer (wav->f, rlen, 4); - + qemu_fseek (wav->f, 32, SEEK_CUR); qemu_put_buffer (wav->f, dlen, 4); qemu_fclose (wav->f); } - + qemu_free (wav->path); } |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:29
|
Update of /cvsroot/hppaqemu/hppaqemu/darwin-user In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/darwin-user Modified Files: syscall.c syscalls.h Log Message: Update to QEMU CVS from 2007-06-01. Index: syscall.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/darwin-user/syscall.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- syscall.c 23 Feb 2007 21:44:14 -0000 1.1.1.1 +++ syscall.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -53,6 +53,8 @@ #include <mach/ndr.h> #include <mach/mig_errors.h> +#include <sys/xattr.h> + #include "qemu.h" //#define DEBUG_SYSCALL @@ -367,7 +369,14 @@ case 200: /* host_info */ { mig_reply_error_t *err = (mig_reply_error_t *)hdr; - struct host_basic_info *data = (void *)(err+1); + struct { + uint32_t unknow1; + uint32_t max_cpus; + uint32_t avail_cpus; + uint32_t memory_size; + uint32_t cpu_type; + uint32_t cpu_subtype; + } *data = (void *)(err+1); DPRINTF("maxcpu = 0x%x\n", data->max_cpus); DPRINTF("numcpu = 0x%x\n", data->avail_cpus); @@ -444,21 +453,49 @@ case -31: DPRINTF("mach_msg_trap(0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x)\n", arg1, arg2, arg3, arg4, arg5, arg6, arg7); - ret = target_mach_msg_trap((mach_msg_header_t *)arg1, arg2, arg3, arg4, arg5, arg6, arg7); - break; +/* may need more translation if target arch is different from host */ +#if (defined(TARGET_I386) && defined(__i386__)) || (defined(TARGET_PPC) && defined(__ppc__)) + case -33: + DPRINTF("semaphore_signal_trap(0x%x)\n", arg1); + ret = semaphore_signal_trap(arg1); + break; + case -34: + DPRINTF("semaphore_signal_all_trap(0x%x)\n", arg1); + ret = semaphore_signal_all_trap(arg1); + break; + case -35: + DPRINTF("semaphore_signal_thread_trap(0x%x)\n", arg1, arg2); + ret = semaphore_signal_thread_trap(arg1,arg2); + break; +#endif case -36: DPRINTF("semaphore_wait_trap(0x%x)\n", arg1); extern int semaphore_wait_trap(int); // XXX: is there any header for that? ret = semaphore_wait_trap(arg1); break; +/* may need more translation if target arch is different from host */ +#if (defined(TARGET_I386) && defined(__i386__)) || (defined(TARGET_PPC) && defined(__ppc__)) + case -37: + DPRINTF("semaphore_wait_signal_trap(0x%x, 0x%x)\n", arg1, arg2); + ret = semaphore_wait_signal_trap(arg1,arg2); + break; +#endif case -43: DPRINTF("map_fd(0x%x, 0x%x, 0x%x, 0x%x, 0x%x)\n", arg1, arg2, arg3, arg4, arg5); ret = map_fd(arg1, arg2, (void*)arg3, arg4, arg5); tswap32s((uint32_t*)arg3); break; +/* may need more translation if target arch is different from host */ +#if (defined(TARGET_I386) && defined(__i386__)) || (defined(TARGET_PPC) && defined(__ppc__)) + case -61: + DPRINTF("syscall_thread_switch(0x%x, 0x%x, 0x%x)\n", + arg1, arg2, arg3); + ret = syscall_thread_switch(arg1, arg2, arg3); // just a hint to the scheduler; can drop? + break; +#endif case -89: DPRINTF("mach_timebase_info(0x%x)\n", arg1); struct mach_timebase_info info; @@ -1342,9 +1379,12 @@ if(name) /* Sometimes sysctl is called with no arg1, ignore */ ret = get_errno(sysctl(name, namelen, oldp, oldlenp, newp, newlen)); +#if defined(TARGET_I386) ^ defined(__i386__) || defined(TARGET_PPC) ^ defined(__ppc__) if (!is_error(ret) && bswap_syctl(name, namelen, oldp, *oldlenp) != 0) { return -ENOTDIR; } +#endif + if(name) { //bswap_syctl(name, namelen, newp, newlen); tswap32s((uint32_t*)oldlenp); Index: syscalls.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/darwin-user/syscalls.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- syscalls.h 23 Feb 2007 21:44:14 -0000 1.1.1.1 +++ syscalls.h 18 Feb 2008 00:13:51 -0000 1.2 @@ -42,7 +42,7 @@ ENTRY("getppid", SYS_getppid, getppid, 0, CALL_DIRECT, VOID) /* 39 */ ENTRY("", 40, no_syscall, 0, CALL_INDIRECT, VOID) /* 40 old lstat */ ENTRY("dup", SYS_dup, dup, 1, CALL_DIRECT, INT) /* 41 */ - ENTRY("pipe", SYS_pipe, unimpl_unix_syscall, 0, CALL_INDIRECT, PTR) /* 42 */ + ENTRY("pipe", SYS_pipe, pipe, 0, CALL_INDIRECT, PTR) /* 42 */ ENTRY("getegid", SYS_getegid, getegid, 0, CALL_NOERRNO, VOID) /* 43 */ ENTRY("profil", SYS_profil, profil, 4, CALL_DIRECT, PTR, SIZE, INT, INT) /* 44 */ ENTRY("ktrace", SYS_ktrace, no_syscall, 4, CALL_INDIRECT, VOID) /* 45 */ @@ -247,7 +247,7 @@ ENTRY("fsetxattr", SYS_fsetxattr, no_syscall, 6, CALL_INDIRECT, VOID) /* 237 */ ENTRY("removexattr", SYS_removexattr, no_syscall, 3, CALL_INDIRECT, VOID) /* 238 */ ENTRY("fremovexattr", SYS_fremovexattr, no_syscall, 3, CALL_INDIRECT, VOID) /* 239 */ - ENTRY("listxattr", SYS_listxattr, no_syscall, 4, CALL_INDIRECT, VOID) /* 240 */ + ENTRY("listxattr", SYS_listxattr, listxattr, 4, CALL_INDIRECT, VOID) /* 240 */ ENTRY("flistxattr", SYS_flistxattr, no_syscall, 4, CALL_INDIRECT, VOID) /* 241 */ ENTRY("fsctl", SYS_fsctl, fsctl, 4, CALL_DIRECT, PTR, UINT, PTR, UINT) /* 242 */ ENTRY("initgroups", SYS_initgroups, unimpl_unix_syscall, 3, CALL_INDIRECT, UINT, PTR, INT) /* 243 */ |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:27
|
Update of /cvsroot/hppaqemu/hppaqemu/fpu In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/fpu Modified Files: softfloat-native.c softfloat-native.h softfloat-specialize.h softfloat.c softfloat.h Log Message: Update to QEMU CVS from 2007-06-01. Index: softfloat-specialize.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/fpu/softfloat-specialize.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- softfloat-specialize.h 23 Feb 2007 21:44:14 -0000 1.1.1.1 +++ softfloat-specialize.h 18 Feb 2008 00:13:51 -0000 1.2 @@ -61,7 +61,11 @@ /*---------------------------------------------------------------------------- | The pattern for a default generated single-precision NaN. *----------------------------------------------------------------------------*/ +#if defined(TARGET_MIPS) || defined(TARGET_HPPA) +#define float32_default_nan 0xFF800000 +#else #define float32_default_nan 0xFFC00000 +#endif /*---------------------------------------------------------------------------- | Returns 1 if the single-precision floating-point value `a' is a NaN; @@ -70,9 +74,11 @@ int float32_is_nan( float32 a ) { - - return ( 0xFF000000 < (bits32) ( a<<1 ) ); - +#if defined(TARGET_MIPS) || defined(TARGET_HPPA) + return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF ); +#else + return ( 0xFF800000 <= (bits32) ( a<<1 ) ); +#endif } /*---------------------------------------------------------------------------- @@ -82,9 +88,11 @@ int float32_is_signaling_nan( float32 a ) { - +#if defined(TARGET_MIPS) || defined(TARGET_HPPA) + return ( 0xFF800000 <= (bits32) ( a<<1 ) ); +#else return ( ( ( a>>22 ) & 0x1FF ) == 0x1FE ) && ( a & 0x003FFFFF ); - +#endif } /*---------------------------------------------------------------------------- @@ -131,8 +139,13 @@ aIsSignalingNaN = float32_is_signaling_nan( a ); bIsNaN = float32_is_nan( b ); bIsSignalingNaN = float32_is_signaling_nan( b ); +#if defined(TARGET_MIPS) || defined(TARGET_HPPA) + a &= ~0x00400000; + b &= ~0x00400000; +#else a |= 0x00400000; b |= 0x00400000; +#endif if ( aIsSignalingNaN | bIsSignalingNaN ) float_raise( float_flag_invalid STATUS_VAR); if ( aIsSignalingNaN ) { if ( bIsSignalingNaN ) goto returnLargerSignificand; @@ -154,7 +167,11 @@ /*---------------------------------------------------------------------------- | The pattern for a default generated double-precision NaN. *----------------------------------------------------------------------------*/ +#if defined(TARGET_MIPS) || defined(TARGET_HPPA) +#define float64_default_nan LIT64( 0xFFF0000000000000 ) +#else #define float64_default_nan LIT64( 0xFFF8000000000000 ) +#endif /*---------------------------------------------------------------------------- | Returns 1 if the double-precision floating-point value `a' is a NaN; @@ -163,9 +180,13 @@ int float64_is_nan( float64 a ) { - - return ( LIT64( 0xFFE0000000000000 ) < (bits64) ( a<<1 ) ); - +#if defined(TARGET_MIPS) || defined(TARGET_HPPA) + return + ( ( ( a>>51 ) & 0xFFF ) == 0xFFE ) + && ( a & LIT64( 0x0007FFFFFFFFFFFF ) ); +#else + return ( LIT64( 0xFFF0000000000000 ) <= (bits64) ( a<<1 ) ); +#endif } /*---------------------------------------------------------------------------- @@ -175,11 +196,13 @@ int float64_is_signaling_nan( float64 a ) { - +#if defined(TARGET_MIPS) || defined(TARGET_HPPA) + return ( LIT64( 0xFFF0000000000000 ) <= (bits64) ( a<<1 ) ); +#else return ( ( ( a>>51 ) & 0xFFF ) == 0xFFE ) && ( a & LIT64( 0x0007FFFFFFFFFFFF ) ); - +#endif } /*---------------------------------------------------------------------------- @@ -229,8 +252,13 @@ aIsSignalingNaN = float64_is_signaling_nan( a ); bIsNaN = float64_is_nan( b ); bIsSignalingNaN = float64_is_signaling_nan( b ); +#if defined(TARGET_MIPS) || defined(TARGET_HPPA) + a &= ~LIT64( 0x0008000000000000 ); + b &= ~LIT64( 0x0008000000000000 ); +#else a |= LIT64( 0x0008000000000000 ); b |= LIT64( 0x0008000000000000 ); +#endif if ( aIsSignalingNaN | bIsSignalingNaN ) float_raise( float_flag_invalid STATUS_VAR); if ( aIsSignalingNaN ) { if ( bIsSignalingNaN ) goto returnLargerSignificand; Index: softfloat.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/fpu/softfloat.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- softfloat.c 23 Feb 2007 21:44:15 -0000 1.1.1.1 +++ softfloat.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -1164,6 +1164,27 @@ } +float32 uint64_to_float32( uint64 a STATUS_PARAM ) +{ + int8 shiftCount; + + if ( a == 0 ) return 0; + shiftCount = countLeadingZeros64( a ) - 40; + if ( 0 <= shiftCount ) { + return packFloat32( 1 > 0, 0x95 - shiftCount, a<<shiftCount ); + } + else { + shiftCount += 7; + if ( shiftCount < 0 ) { + shift64RightJamming( a, - shiftCount, &a ); + } + else { + a <<= shiftCount; + } + return roundAndPackFloat32( 1 > 0, 0x9C - shiftCount, a STATUS_VAR ); + } +} + /*---------------------------------------------------------------------------- | Returns the result of converting the 64-bit two's complement integer `a' | to the double-precision floating-point format. The conversion is performed @@ -1183,6 +1204,13 @@ } +float64 uint64_to_float64( uint64 a STATUS_PARAM ) +{ + if ( a == 0 ) return 0; + return normalizeRoundAndPackFloat64( 0, 0x43C, a STATUS_VAR ); + +} + #ifdef FLOATX80 /*---------------------------------------------------------------------------- @@ -5282,6 +5310,26 @@ return res; } +uint64_t float64_to_uint64 (float64 a STATUS_PARAM) +{ + int64_t v; + + v = int64_to_float64(INT64_MIN STATUS_VAR); + v = float64_to_int64((a + v) STATUS_VAR); + + return v - INT64_MIN; +} + +uint64_t float64_to_uint64_round_to_zero (float64 a STATUS_PARAM) +{ + int64_t v; + + v = int64_to_float64(INT64_MIN STATUS_VAR); + v = float64_to_int64_round_to_zero((a + v) STATUS_VAR); + + return v - INT64_MIN; +} + #define COMPARE(s, nan_exp) \ INLINE int float ## s ## _compare_internal( float ## s a, float ## s b, \ int is_quiet STATUS_PARAM ) \ Index: softfloat-native.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/fpu/softfloat-native.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- softfloat-native.c 23 Feb 2007 21:44:14 -0000 1.1.1.1 +++ softfloat-native.c 18 Feb 2008 00:13:51 -0000 1.2 @@ -30,6 +30,25 @@ #define sqrtf(f) ((float)sqrt(f)) #define remainderf(fa, fb) ((float)remainder(fa, fb)) #define rintf(f) ((float)rint(f)) +#if !defined(__sparc__) && defined(HOST_SOLARIS) && HOST_SOLARIS < 10 +extern long double rintl(long double); +extern long double scalbnl(long double, int); + +long long +llrintl(long double x) { + return ((long long) rintl(x)); +} + +long +lrintl(long double x) { + return ((long) rintl(x)); +} + +long double +ldexpl(long double x, int n) { + return (scalbnl(x, n)); +} +#endif #endif #if defined(__powerpc__) @@ -59,11 +78,21 @@ return (float32)v; } +float32 uint32_to_float32(unsigned int v STATUS_PARAM) +{ + return (float32)v; +} + float64 int32_to_float64(int v STATUS_PARAM) { return (float64)v; } +float64 uint32_to_float64(unsigned int v STATUS_PARAM) +{ + return (float64)v; +} + #ifdef FLOATX80 floatx80 int32_to_floatx80(int v STATUS_PARAM) { @@ -74,10 +103,18 @@ { return (float32)v; } +float32 uint64_to_float32( uint64_t v STATUS_PARAM) +{ + return (float32)v; +} float64 int64_to_float64( int64_t v STATUS_PARAM) { return (float64)v; } +float64 uint64_to_float64( uint64_t v STATUS_PARAM) +{ + return (float64)v; +} #ifdef FLOATX80 floatx80 int64_to_floatx80( int64_t v STATUS_PARAM) { @@ -132,6 +169,37 @@ } #endif +unsigned int float32_to_uint32( float32 a STATUS_PARAM) +{ + int64_t v; + unsigned int res; + + v = llrintf(a); + if (v < 0) { + res = 0; + } else if (v > 0xffffffff) { + res = 0xffffffff; + } else { + res = v; + } + return res; +} +unsigned int float32_to_uint32_round_to_zero( float32 a STATUS_PARAM) +{ + int64_t v; + unsigned int res; + + v = (int64_t)a; + if (v < 0) { + res = 0; + } else if (v > 0xffffffff) { + res = 0xffffffff; + } else { + res = v; + } + return res; +} + /*---------------------------------------------------------------------------- | Software IEC/IEEE single-precision operations. *----------------------------------------------------------------------------*/ @@ -218,9 +286,62 @@ } #endif +unsigned int float64_to_uint32( float64 a STATUS_PARAM) +{ + int64_t v; + unsigned int res; + + v = llrint(a); + if (v < 0) { + res = 0; + } else if (v > 0xffffffff) { + res = 0xffffffff; + } else { + res = v; + } + return res; +} +unsigned int float64_to_uint32_round_to_zero( float64 a STATUS_PARAM) +{ + int64_t v; + unsigned int res; + + v = (int64_t)a; + if (v < 0) { + res = 0; + } else if (v > 0xffffffff) { + res = 0xffffffff; + } else { + res = v; + } + return res; +} +uint64_t float64_to_uint64 (float64 a STATUS_PARAM) +{ + int64_t v; + + v = llrint(a + (float64)INT64_MIN); + + return v - INT64_MIN; +} +uint64_t float64_to_uint64_round_to_zero (float64 a STATUS_PARAM) +{ + int64_t v; + + v = (int64_t)(a + (float64)INT64_MIN); + + return v - INT64_MIN; +} + /*---------------------------------------------------------------------------- | Software IEC/IEEE double-precision operations. *----------------------------------------------------------------------------*/ +#if defined(__sun__) && defined(HOST_SOLARIS) && HOST_SOLARIS < 10 +static inline float64 trunc(float64 x) +{ + return x < 0 ? -floor(-x) : floor(x); +} +#endif float64 float64_trunc_to_int( float64 a STATUS_PARAM ) { return trunc(a); Index: softfloat-native.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/fpu/softfloat-native.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- softfloat-native.h 23 Feb 2007 21:44:14 -0000 1.1.1.1 +++ softfloat-native.h 18 Feb 2008 00:13:51 -0000 1.2 @@ -15,7 +15,7 @@ * Solaris 10 with GCC4 does not need these macros as they * are defined in <iso/math_c99.h> with a compiler directive */ -#if defined(HOST_SOLARIS) && (( HOST_SOLARIS <= 9 ) || ( ( HOST_SOLARIS >= 10 ) && ( __GNUC__ <= 4) )) +#if defined(HOST_SOLARIS) && (( HOST_SOLARIS <= 9 ) || ((HOST_SOLARIS >= 10) && (__GNUC__ <= 4))) /* * C99 7.12.3 classification macros * and @@ -33,6 +33,29 @@ #define isunordered(x,y) unordered(x, y) #endif +#if defined(__sun__) && !defined(NEED_LIBSUNMATH) + +#ifndef isnan +# define isnan(x) \ + (sizeof (x) == sizeof (long double) ? isnan_ld (x) \ + : sizeof (x) == sizeof (double) ? isnan_d (x) \ + : isnan_f (x)) +static inline int isnan_f (float x) { return x != x; } +static inline int isnan_d (double x) { return x != x; } +static inline int isnan_ld (long double x) { return x != x; } +#endif + +#ifndef isinf +# define isinf(x) \ + (sizeof (x) == sizeof (long double) ? isinf_ld (x) \ + : sizeof (x) == sizeof (double) ? isinf_d (x) \ + : isinf_f (x)) +static inline int isinf_f (float x) { return isnan (x - x); } +static inline int isinf_d (double x) { return isnan (x - x); } +static inline int isinf_ld (long double x) { return isnan (x - x); } +#endif +#endif + typedef float float32; typedef double float64; #ifdef FLOATX80 @@ -99,7 +122,9 @@ | Software IEC/IEEE integer-to-floating-point conversion routines. *----------------------------------------------------------------------------*/ float32 int32_to_float32( int STATUS_PARAM); +float32 uint32_to_float32( unsigned int STATUS_PARAM); float64 int32_to_float64( int STATUS_PARAM); +float64 uint32_to_float64( unsigned int STATUS_PARAM); #ifdef FLOATX80 floatx80 int32_to_floatx80( int STATUS_PARAM); #endif @@ -107,7 +132,9 @@ float128 int32_to_float128( int STATUS_PARAM); #endif float32 int64_to_float32( int64_t STATUS_PARAM); +float32 uint64_to_float32( uint64_t STATUS_PARAM); float64 int64_to_float64( int64_t STATUS_PARAM); +float64 uint64_to_float64( uint64_t v STATUS_PARAM); #ifdef FLOATX80 floatx80 int64_to_floatx80( int64_t STATUS_PARAM); #endif @@ -120,6 +147,8 @@ *----------------------------------------------------------------------------*/ int float32_to_int32( float32 STATUS_PARAM); int float32_to_int32_round_to_zero( float32 STATUS_PARAM); +unsigned int float32_to_uint32( float32 a STATUS_PARAM); +unsigned int float32_to_uint32_round_to_zero( float32 a STATUS_PARAM); int64_t float32_to_int64( float32 STATUS_PARAM); int64_t float32_to_int64_round_to_zero( float32 STATUS_PARAM); float64 float32_to_float64( float32 STATUS_PARAM); @@ -200,8 +229,12 @@ *----------------------------------------------------------------------------*/ int float64_to_int32( float64 STATUS_PARAM ); int float64_to_int32_round_to_zero( float64 STATUS_PARAM ); +unsigned int float64_to_uint32( float64 STATUS_PARAM ); +unsigned int float64_to_uint32_round_to_zero( float64 STATUS_PARAM ); int64_t float64_to_int64( float64 STATUS_PARAM ); int64_t float64_to_int64_round_to_zero( float64 STATUS_PARAM ); +uint64_t float64_to_uint64( float64 STATUS_PARAM ); +uint64_t float64_to_uint64_round_to_zero( float64 STATUS_PARAM ); float32 float64_to_float32( float64 STATUS_PARAM ); #ifdef FLOATX80 floatx80 float64_to_floatx80( float64 STATUS_PARAM ); Index: softfloat.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/fpu/softfloat.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- softfloat.h 23 Feb 2007 21:44:15 -0000 1.1.1.1 +++ softfloat.h 18 Feb 2008 00:13:51 -0000 1.2 @@ -32,6 +32,10 @@ #ifndef SOFTFLOAT_H #define SOFTFLOAT_H +#if defined(HOST_SOLARIS) && defined(NEEDS_LIBSUNMATH) +#include <sunmath.h> +#endif + #include <inttypes.h> #include "config.h" @@ -193,7 +197,9 @@ float128 int32_to_float128( int STATUS_PARAM ); #endif float32 int64_to_float32( int64_t STATUS_PARAM ); +float32 uint64_to_float32( uint64_t STATUS_PARAM ); float64 int64_to_float64( int64_t STATUS_PARAM ); +float64 uint64_to_float64( uint64_t STATUS_PARAM ); #ifdef FLOATX80 floatx80 int64_to_floatx80( int64_t STATUS_PARAM ); #endif @@ -236,8 +242,8 @@ int float32_lt_quiet( float32, float32 STATUS_PARAM ); int float32_compare( float32, float32 STATUS_PARAM ); int float32_compare_quiet( float32, float32 STATUS_PARAM ); +int float32_is_nan( float32 ); int float32_is_signaling_nan( float32 ); -int float64_is_nan( float64 a ); INLINE float32 float32_abs(float32 a) { @@ -258,6 +264,8 @@ unsigned int float64_to_uint32_round_to_zero( float64 STATUS_PARAM ); int64_t float64_to_int64( float64 STATUS_PARAM ); int64_t float64_to_int64_round_to_zero( float64 STATUS_PARAM ); +uint64_t float64_to_uint64 (float64 a STATUS_PARAM); +uint64_t float64_to_uint64_round_to_zero (float64 a STATUS_PARAM); float32 float64_to_float32( float64 STATUS_PARAM ); #ifdef FLOATX80 floatx80 float64_to_floatx80( float64 STATUS_PARAM ); @@ -285,6 +293,7 @@ int float64_lt_quiet( float64, float64 STATUS_PARAM ); int float64_compare( float64, float64 STATUS_PARAM ); int float64_compare_quiet( float64, float64 STATUS_PARAM ); +int float64_is_nan( float64 a ); int float64_is_signaling_nan( float64 ); INLINE float64 float64_abs(float64 a) @@ -328,6 +337,7 @@ int floatx80_eq_signaling( floatx80, floatx80 STATUS_PARAM ); int floatx80_le_quiet( floatx80, floatx80 STATUS_PARAM ); int floatx80_lt_quiet( floatx80, floatx80 STATUS_PARAM ); +int floatx80_is_nan( floatx80 ); int floatx80_is_signaling_nan( floatx80 ); INLINE floatx80 floatx80_abs(floatx80 a) @@ -375,6 +385,7 @@ int float128_eq_signaling( float128, float128 STATUS_PARAM ); int float128_le_quiet( float128, float128 STATUS_PARAM ); int float128_lt_quiet( float128, float128 STATUS_PARAM ); +int float128_is_nan( float128 ); int float128_is_signaling_nan( float128 ); INLINE float128 float128_abs(float128 a) |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:05
|
Update of /cvsroot/hppaqemu/hppaqemu/target-sparc In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/target-sparc Modified Files: cpu.h exec.h helper.c op.c op_helper.c translate.c Log Message: Update to QEMU CVS from 2007-06-01. Index: translate.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-sparc/translate.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- translate.c 23 Feb 2007 21:44:42 -0000 1.1.1.1 +++ translate.c 18 Feb 2008 00:14:00 -0000 1.2 @@ -25,9 +25,7 @@ Rest of V9 instructions, VIS instructions NPC/PC static optimisations (use JUMP_TB when possible) Optimize synthetic instructions - Optional alignment check 128-bit float - Tagged add/sub */ #include <stdarg.h> @@ -56,6 +54,13 @@ struct TranslationBlock *tb; [...1389 lines suppressed...] return addr; } @@ -2826,7 +3489,7 @@ int *access_index, target_ulong address, int rw, int is_user); -target_ulong cpu_get_phys_page_debug(CPUState *env, target_ulong addr) +target_phys_addr_t cpu_get_phys_page_debug(CPUState *env, target_ulong addr) { target_phys_addr_t phys_addr; int prot, access_index; @@ -2834,6 +3497,8 @@ if (get_physical_address(env, &phys_addr, &prot, &access_index, addr, 2, 0) != 0) if (get_physical_address(env, &phys_addr, &prot, &access_index, addr, 0, 0) != 0) return -1; + if (cpu_get_physical_page_desc(phys_addr) == IO_MEM_UNASSIGNED) + return -1; return phys_addr; } #endif Index: helper.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-sparc/helper.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- helper.c 23 Feb 2007 21:44:41 -0000 1.1.1.1 +++ helper.c 18 Feb 2008 00:14:00 -0000 1.2 @@ -117,7 +117,7 @@ } *access_index = ((rw & 1) << 2) | (rw & 2) | (is_user? 0 : 1); - *physical = 0xfffff000; + *physical = 0xffffffffffff0000ULL; /* SPARC reference MMU table walk: Context table->L1->L2->PTE */ /* Context base + context number */ @@ -203,7 +203,7 @@ /* Even if large ptes, we map only one 4KB page in the cache to avoid filling it too fast */ - *physical = ((pde & PTE_ADDR_MASK) << 4) + page_offset; + *physical = ((target_phys_addr_t)(pde & PTE_ADDR_MASK) << 4) + page_offset; return error_code; } @@ -212,7 +212,7 @@ int is_user, int is_softmmu) { target_phys_addr_t paddr; - unsigned long vaddr; + target_ulong vaddr; int error_code = 0, prot, ret = 0, access_index; error_code = get_physical_address(env, &paddr, &prot, &access_index, address, rw, is_user); @@ -220,7 +220,8 @@ vaddr = address & TARGET_PAGE_MASK; paddr &= TARGET_PAGE_MASK; #ifdef DEBUG_MMU - printf("Translate at 0x%lx -> 0x%lx, vaddr 0x%lx\n", (long)address, (long)paddr, (long)vaddr); + printf("Translate at " TARGET_FMT_lx " -> " TARGET_FMT_plx ", vaddr " + TARGET_FMT_lx "\n", address, paddr, vaddr); #endif ret = tlb_set_page_exec(env, vaddr, paddr, prot, is_user, is_softmmu); return ret; @@ -255,7 +256,8 @@ uint32_t pde; /* Context base + context number */ - pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 2); + pde_ptr = (target_phys_addr_t)(env->mmuregs[1] << 4) + + (env->mmuregs[2] << 2); pde = ldl_phys(pde_ptr); switch (pde & PTE_ENTRYTYPE_MASK) { @@ -314,30 +316,35 @@ #ifdef DEBUG_MMU void dump_mmu(CPUState *env) { - target_ulong va, va1, va2; - unsigned int n, m, o; - target_phys_addr_t pde_ptr, pa; + target_ulong va, va1, va2; + unsigned int n, m, o; + target_phys_addr_t pde_ptr, pa; uint32_t pde; printf("MMU dump:\n"); pde_ptr = (env->mmuregs[1] << 4) + (env->mmuregs[2] << 2); pde = ldl_phys(pde_ptr); - printf("Root ptr: " TARGET_FMT_lx ", ctx: %d\n", env->mmuregs[1] << 4, env->mmuregs[2]); + printf("Root ptr: " TARGET_FMT_plx ", ctx: %d\n", + (target_phys_addr_t)env->mmuregs[1] << 4, env->mmuregs[2]); for (n = 0, va = 0; n < 256; n++, va += 16 * 1024 * 1024) { - pde_ptr = mmu_probe(env, va, 2); - if (pde_ptr) { + pde = mmu_probe(env, va, 2); + if (pde) { pa = cpu_get_phys_page_debug(env, va); - printf("VA: " TARGET_FMT_lx ", PA: " TARGET_FMT_lx " PDE: " TARGET_FMT_lx "\n", va, pa, pde_ptr); + printf("VA: " TARGET_FMT_lx ", PA: " TARGET_FMT_plx + " PDE: " TARGET_FMT_lx "\n", va, pa, pde); for (m = 0, va1 = va; m < 64; m++, va1 += 256 * 1024) { - pde_ptr = mmu_probe(env, va1, 1); - if (pde_ptr) { + pde = mmu_probe(env, va1, 1); + if (pde) { pa = cpu_get_phys_page_debug(env, va1); - printf(" VA: " TARGET_FMT_lx ", PA: " TARGET_FMT_lx " PDE: " TARGET_FMT_lx "\n", va1, pa, pde_ptr); + printf(" VA: " TARGET_FMT_lx ", PA: " TARGET_FMT_plx + " PDE: " TARGET_FMT_lx "\n", va1, pa, pde); for (o = 0, va2 = va1; o < 64; o++, va2 += 4 * 1024) { - pde_ptr = mmu_probe(env, va2, 0); - if (pde_ptr) { + pde = mmu_probe(env, va2, 0); + if (pde) { pa = cpu_get_phys_page_debug(env, va2); - printf(" VA: " TARGET_FMT_lx ", PA: " TARGET_FMT_lx " PTE: " TARGET_FMT_lx "\n", va2, pa, pde_ptr); + printf(" VA: " TARGET_FMT_lx ", PA: " + TARGET_FMT_plx " PTE: " TARGET_FMT_lx "\n", + va2, pa, pde); } } } Index: op_helper.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-sparc/op_helper.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- op_helper.c 23 Feb 2007 21:44:42 -0000 1.1.1.1 +++ op_helper.c 18 Feb 2008 00:14:00 -0000 1.2 @@ -2,6 +2,8 @@ //#define DEBUG_PCALL //#define DEBUG_MMU +//#define DEBUG_UNALIGNED +//#define DEBUG_UNASSIGNED void raise_exception(int tt) { @@ -9,10 +11,43 @@ cpu_loop_exit(); } +void check_ieee_exceptions() +{ + T0 = get_float_exception_flags(&env->fp_status); + if (T0) + { + /* Copy IEEE 754 flags into FSR */ + if (T0 & float_flag_invalid) + env->fsr |= FSR_NVC; + if (T0 & float_flag_overflow) + env->fsr |= FSR_OFC; + if (T0 & float_flag_underflow) + env->fsr |= FSR_UFC; + if (T0 & float_flag_divbyzero) + env->fsr |= FSR_DZC; + if (T0 & float_flag_inexact) + env->fsr |= FSR_NXC; + + if ((env->fsr & FSR_CEXC_MASK) & ((env->fsr & FSR_TEM_MASK) >> 23)) + { + /* Unmasked exception, generate a trap */ + env->fsr |= FSR_FTT_IEEE_EXCP; + raise_exception(TT_FP_EXCP); + } + else + { + /* Accumulate exceptions */ + env->fsr |= (env->fsr & FSR_CEXC_MASK) << 5; + } + } +} + #ifdef USE_INT_TO_FLOAT_HELPERS void do_fitos(void) { + set_float_exception_flags(0, &env->fp_status); FT0 = int32_to_float32(*((int32_t *)&FT1), &env->fp_status); + check_ieee_exceptions(); } void do_fitod(void) @@ -35,23 +70,29 @@ void do_fsqrts(void) { + set_float_exception_flags(0, &env->fp_status); FT0 = float32_sqrt(FT1, &env->fp_status); + check_ieee_exceptions(); } void do_fsqrtd(void) { + set_float_exception_flags(0, &env->fp_status); DT0 = float64_sqrt(DT1, &env->fp_status); + check_ieee_exceptions(); } -#define GEN_FCMP(name, size, reg1, reg2, FS) \ +#define GEN_FCMP(name, size, reg1, reg2, FS, TRAP) \ void glue(do_, name) (void) \ { \ env->fsr &= ~((FSR_FCC1 | FSR_FCC0) << FS); \ switch (glue(size, _compare) (reg1, reg2, &env->fp_status)) { \ case float_relation_unordered: \ T0 = (FSR_FCC1 | FSR_FCC0) << FS; \ - if (env->fsr & FSR_NVM) { \ + if ((env->fsr & FSR_NVM) || TRAP) { \ env->fsr |= T0; \ + env->fsr |= FSR_NVC; \ + env->fsr |= FSR_FTT_IEEE_EXCP; \ raise_exception(TT_FP_EXCP); \ } else { \ env->fsr |= FSR_NVA; \ @@ -70,18 +111,30 @@ env->fsr |= T0; \ } -GEN_FCMP(fcmps, float32, FT0, FT1, 0); -GEN_FCMP(fcmpd, float64, DT0, DT1, 0); +GEN_FCMP(fcmps, float32, FT0, FT1, 0, 0); +GEN_FCMP(fcmpd, float64, DT0, DT1, 0, 0); + +GEN_FCMP(fcmpes, float32, FT0, FT1, 0, 1); +GEN_FCMP(fcmped, float64, DT0, DT1, 0, 1); #ifdef TARGET_SPARC64 -GEN_FCMP(fcmps_fcc1, float32, FT0, FT1, 22); -GEN_FCMP(fcmpd_fcc1, float64, DT0, DT1, 22); +GEN_FCMP(fcmps_fcc1, float32, FT0, FT1, 22, 0); +GEN_FCMP(fcmpd_fcc1, float64, DT0, DT1, 22, 0); -GEN_FCMP(fcmps_fcc2, float32, FT0, FT1, 24); -GEN_FCMP(fcmpd_fcc2, float64, DT0, DT1, 24); +GEN_FCMP(fcmps_fcc2, float32, FT0, FT1, 24, 0); +GEN_FCMP(fcmpd_fcc2, float64, DT0, DT1, 24, 0); -GEN_FCMP(fcmps_fcc3, float32, FT0, FT1, 26); -GEN_FCMP(fcmpd_fcc3, float64, DT0, DT1, 26); +GEN_FCMP(fcmps_fcc3, float32, FT0, FT1, 26, 0); +GEN_FCMP(fcmpd_fcc3, float64, DT0, DT1, 26, 0); + +GEN_FCMP(fcmpes_fcc1, float32, FT0, FT1, 22, 1); +GEN_FCMP(fcmped_fcc1, float64, DT0, DT1, 22, 1); + +GEN_FCMP(fcmpes_fcc2, float32, FT0, FT1, 24, 1); +GEN_FCMP(fcmped_fcc2, float64, DT0, DT1, 24, 1); + +GEN_FCMP(fcmpes_fcc3, float32, FT0, FT1, 26, 1); +GEN_FCMP(fcmped_fcc3, float64, DT0, DT1, 26, 1); #endif #if defined(CONFIG_USER_ONLY) @@ -99,6 +152,8 @@ uint32_t ret = 0; switch (asi) { + case 2: /* SuperSparc MXCC registers */ + break; case 3: /* MMU probe */ { int mmulev; @@ -127,7 +182,30 @@ #endif } break; - case 0x20 ... 0x2f: /* MMU passthrough */ + case 9: /* Supervisor code access */ + switch(size) { + case 1: + ret = ldub_code(T0); + break; + case 2: + ret = lduw_code(T0 & ~1); + break; + default: + case 4: + ret = ldl_code(T0 & ~3); + break; + case 8: + ret = ldl_code(T0 & ~3); + T0 = ldl_code((T0 + 4) & ~3); + break; + } + break; + case 0xc: /* I-cache tag */ + case 0xd: /* I-cache data */ + case 0xe: /* D-cache tag */ + case 0xf: /* D-cache data */ + break; + case 0x20: /* MMU passthrough */ switch(size) { case 1: ret = ldub_phys(T0); @@ -145,7 +223,33 @@ break; } break; + case 0x2e: /* MMU passthrough, 0xexxxxxxxx */ + case 0x2f: /* MMU passthrough, 0xfxxxxxxxx */ + switch(size) { + case 1: + ret = ldub_phys((target_phys_addr_t)T0 + | ((target_phys_addr_t)(asi & 0xf) << 32)); + break; + case 2: + ret = lduw_phys((target_phys_addr_t)(T0 & ~1) + | ((target_phys_addr_t)(asi & 0xf) << 32)); + break; + default: + case 4: + ret = ldl_phys((target_phys_addr_t)(T0 & ~3) + | ((target_phys_addr_t)(asi & 0xf) << 32)); + break; + case 8: + ret = ldl_phys((target_phys_addr_t)(T0 & ~3) + | ((target_phys_addr_t)(asi & 0xf) << 32)); + T0 = ldl_phys((target_phys_addr_t)((T0 + 4) & ~3) + | ((target_phys_addr_t)(asi & 0xf) << 32)); + break; + } + break; + case 0x21 ... 0x2d: /* MMU passthrough, unassigned */ default: + do_unassigned_access(T0, 0, 0, 1); ret = 0; break; } @@ -155,6 +259,8 @@ void helper_st_asi(int asi, int size, int sign) { switch(asi) { + case 2: /* SuperSparc MXCC registers */ + break; case 3: /* MMU flush */ { int mmulev; @@ -219,18 +325,28 @@ #endif return; } + case 0xc: /* I-cache tag */ + case 0xd: /* I-cache data */ + case 0xe: /* D-cache tag */ + case 0xf: /* D-cache data */ + case 0x10: /* I/D-cache flush page */ + case 0x11: /* I/D-cache flush segment */ + case 0x12: /* I/D-cache flush region */ + case 0x13: /* I/D-cache flush context */ + case 0x14: /* I/D-cache flush user */ + break; case 0x17: /* Block copy, sta access */ { // value (T1) = src // address (T0) = dst // copy 32 bytes - uint32_t src = T1, dst = T0; - uint8_t temp[32]; + unsigned int i; + uint32_t src = T1 & ~3, dst = T0 & ~3, temp; - tswap32s(&src); - - cpu_physical_memory_read(src, (void *) &temp, 32); - cpu_physical_memory_write(dst, (void *) &temp, 32); + for (i = 0; i < 32; i += 4, src += 4, dst += 4) { + temp = ldl_kernel(src); + stl_kernel(dst, temp); + } } return; case 0x1f: /* Block fill, stda access */ @@ -238,19 +354,17 @@ // value (T1, T2) // address (T0) = dst // fill 32 bytes - int i; - uint32_t dst = T0; - uint64_t val; - - val = (((uint64_t)T1) << 32) | T2; - tswap64s(&val); + unsigned int i; + uint32_t dst = T0 & 7; + uint64_t val; - for (i = 0; i < 32; i += 8, dst += 8) { - cpu_physical_memory_write(dst, (void *) &val, 8); - } + val = (((uint64_t)T1) << 32) | T2; + + for (i = 0; i < 32; i += 8, dst += 8) + stq_kernel(dst, val); } return; - case 0x20 ... 0x2f: /* MMU passthrough */ + case 0x20: /* MMU passthrough */ { switch(size) { case 1: @@ -270,7 +384,40 @@ } } return; + case 0x2e: /* MMU passthrough, 0xexxxxxxxx */ + case 0x2f: /* MMU passthrough, 0xfxxxxxxxx */ + { + switch(size) { + case 1: + stb_phys((target_phys_addr_t)T0 + | ((target_phys_addr_t)(asi & 0xf) << 32), T1); + break; + case 2: + stw_phys((target_phys_addr_t)(T0 & ~1) + | ((target_phys_addr_t)(asi & 0xf) << 32), T1); + break; + case 4: + default: + stl_phys((target_phys_addr_t)(T0 & ~3) + | ((target_phys_addr_t)(asi & 0xf) << 32), T1); + break; + case 8: + stl_phys((target_phys_addr_t)(T0 & ~3) + | ((target_phys_addr_t)(asi & 0xf) << 32), T1); + stl_phys((target_phys_addr_t)((T0 + 4) & ~3) + | ((target_phys_addr_t)(asi & 0xf) << 32), T1); + break; + } + } + return; + case 0x31: /* Ross RT620 I-cache flush */ + case 0x36: /* I-cache flash clear */ + case 0x37: /* D-cache flash clear */ + break; + case 9: /* Supervisor code access, XXX */ + case 0x21 ... 0x2d: /* MMU passthrough, unassigned */ default: + do_unassigned_access(T0, 1, 0, 1); return; } } @@ -389,6 +536,7 @@ case 0x5f: // D-MMU demap, WO case 0x77: // Interrupt vector, WO default: + do_unassigned_access(T0, 0, 0, 1); ret = 0; break; } @@ -604,6 +752,7 @@ case 0x8a: // Primary no-fault LE, RO case 0x8b: // Secondary no-fault LE, RO default: + do_unassigned_access(T0, 1, 0, 1); return; } } @@ -615,6 +764,9 @@ { unsigned int cwp; + if (env->psret == 1) + raise_exception(TT_ILL_INSN); + env->psret = 1; cwp = (env->cwp + 1) & (NWINDOWS - 1); if (env->wim & (1 << cwp)) { @@ -655,7 +807,10 @@ #ifndef TARGET_SPARC64 void do_wrpsr() { - PUT_PSR(env, T0); + if ((T0 & PSR_CWP) >= NWINDOWS) + raise_exception(TT_ILL_INSN); + else + PUT_PSR(env, T0); } void do_rdpsr() @@ -866,7 +1021,11 @@ #if !defined(CONFIG_USER_ONLY) +static void do_unaligned_access(target_ulong addr, int is_write, int is_user, + void *retaddr); + #define MMUSUFFIX _mmu +#define ALIGNED_ONLY #define GETPC() (__builtin_return_address(0)) #define SHIFT 0 @@ -881,6 +1040,14 @@ #define SHIFT 3 #include "softmmu_template.h" +static void do_unaligned_access(target_ulong addr, int is_write, int is_user, + void *retaddr) +{ +#ifdef DEBUG_UNALIGNED + printf("Unaligned access to 0x%x from 0x%x\n", addr, env->pc); +#endif + raise_exception(TT_UNALIGNED); +} /* try to fill the TLB and return an exception if error. If retaddr is NULL, it means that the function was called in C code (i.e. not @@ -916,3 +1083,76 @@ } #endif + +#ifndef TARGET_SPARC64 +void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec, + int is_asi) +{ + CPUState *saved_env; + + /* XXX: hack to restore env in all cases, even if not called from + generated code */ + saved_env = env; + env = cpu_single_env; + if (env->mmuregs[3]) /* Fault status register */ + env->mmuregs[3] = 1; /* overflow (not read before another fault) */ + if (is_asi) + env->mmuregs[3] |= 1 << 16; + if (env->psrs) + env->mmuregs[3] |= 1 << 5; + if (is_exec) + env->mmuregs[3] |= 1 << 6; + if (is_write) + env->mmuregs[3] |= 1 << 7; + env->mmuregs[3] |= (5 << 2) | 2; + env->mmuregs[4] = addr; /* Fault address register */ + if ((env->mmuregs[0] & MMU_E) && !(env->mmuregs[0] & MMU_NF)) { +#ifdef DEBUG_UNASSIGNED + printf("Unassigned mem access to " TARGET_FMT_plx " from " TARGET_FMT_lx + "\n", addr, env->pc); +#endif + if (is_exec) + raise_exception(TT_CODE_ACCESS); + else + raise_exception(TT_DATA_ACCESS); + } + env = saved_env; +} +#else +void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec, + int is_asi) +{ +#ifdef DEBUG_UNASSIGNED + CPUState *saved_env; + + /* XXX: hack to restore env in all cases, even if not called from + generated code */ + saved_env = env; + env = cpu_single_env; + printf("Unassigned mem access to " TARGET_FMT_plx " from " TARGET_FMT_lx "\n", + addr, env->pc); + env = saved_env; +#endif + if (is_exec) + raise_exception(TT_CODE_ACCESS); + else + raise_exception(TT_DATA_ACCESS); +} +#endif + +#ifdef TARGET_SPARC64 +void do_tick_set_count(void *opaque, uint64_t count) +{ + ptimer_set_count(opaque, -count); +} + +uint64_t do_tick_get_count(void *opaque) +{ + return -ptimer_get_count(opaque); +} + +void do_tick_set_limit(void *opaque, uint64_t limit) +{ + ptimer_set_limit(opaque, -limit, 0); +} +#endif Index: op.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-sparc/op.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- op.c 23 Feb 2007 21:44:41 -0000 1.1.1.1 +++ op.c 18 Feb 2008 00:14:00 -0000 1.2 @@ -472,6 +472,96 @@ FORCE_RET(); } +void OPPROTO op_tadd_T1_T0_cc(void) +{ + target_ulong src1; + + src1 = T0; + T0 += T1; + env->psr = 0; +#ifdef TARGET_SPARC64 [...973 lines suppressed...] + s.d = DT0; \ + d.d = DT1; \ + \ + d.VIS_L64(0) = F(d.VIS_L64(0), s.VIS_L64(0))? 1: 0; \ + d.VIS_L64(0) |= F(d.VIS_L64(1), s.VIS_L64(1))? 2: 0; \ + \ + DT0 = d.d; \ + } + +#define FCMPGT(a, b) ((a) > (b)) +#define FCMPEQ(a, b) ((a) == (b)) +#define FCMPLE(a, b) ((a) <= (b)) +#define FCMPNE(a, b) ((a) != (b)) + +VIS_CMPOP(op_fcmpgt, FCMPGT) +VIS_CMPOP(op_fcmpeq, FCMPEQ) +VIS_CMPOP(op_fcmple, FCMPLE) +VIS_CMPOP(op_fcmpne, FCMPNE) + #endif Index: cpu.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-sparc/cpu.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- cpu.h 23 Feb 2007 21:44:41 -0000 1.1.1.1 +++ cpu.h 18 Feb 2008 00:14:00 -0000 1.2 @@ -35,23 +35,32 @@ #define TT_NFPU_INSN 0x04 #define TT_WIN_OVF 0x05 #define TT_WIN_UNF 0x06 +#define TT_UNALIGNED 0x07 #define TT_FP_EXCP 0x08 #define TT_DFAULT 0x09 +#define TT_TOVF 0x0a #define TT_EXTINT 0x10 +#define TT_CODE_ACCESS 0x21 +#define TT_DATA_ACCESS 0x29 #define TT_DIV_ZERO 0x2a +#define TT_NCP_INSN 0x24 #define TT_TRAP 0x80 #else #define TT_TFAULT 0x08 #define TT_TMISS 0x09 +#define TT_CODE_ACCESS 0x0a #define TT_ILL_INSN 0x10 #define TT_PRIV_INSN 0x11 #define TT_NFPU_INSN 0x20 #define TT_FP_EXCP 0x21 +#define TT_TOVF 0x23 #define TT_CLRWIN 0x24 #define TT_DIV_ZERO 0x28 #define TT_DFAULT 0x30 #define TT_DMISS 0x31 -#define TT_DPROT 0x32 +#define TT_DATA_ACCESS 0x32 +#define TT_DPROT 0x33 +#define TT_UNALIGNED 0x34 #define TT_PRIV_ACT 0x37 #define TT_EXTINT 0x40 #define TT_SPILL 0x80 @@ -124,6 +133,7 @@ #define FSR_FTT_MASK (FSR_FTT2 | FSR_FTT1 | FSR_FTT0) #define FSR_FTT_IEEE_EXCP (1 << 14) #define FSR_FTT_UNIMPFPOP (3 << 14) +#define FSR_FTT_SEQ_ERROR (4 << 14) #define FSR_FTT_INVAL_FPR (6 << 14) #define FSR_FCC1 (1<<11) @@ -150,6 +160,8 @@ /* 2 <= NWINDOWS <= 32. In QEMU it must also be a power of two. */ #define NWINDOWS 8 +typedef struct sparc_def_t sparc_def_t; + typedef struct CPUSPARCState { target_ulong gregs[8]; /* general registers */ target_ulong *regwptr; /* pointer to current register window */ @@ -168,6 +180,7 @@ int psret; /* enable traps */ uint32_t psrpil; /* interrupt level */ int psref; /* enable fpu */ + target_ulong version; jmp_buf jmp_env; int user_mode_only; int exception_index; @@ -213,10 +226,14 @@ uint64_t bgregs[8]; /* backup for normal global registers */ uint64_t igregs[8]; /* interrupt general registers */ uint64_t mgregs[8]; /* mmu general registers */ - uint64_t version; uint64_t fprs; uint64_t tick_cmpr, stick_cmpr; + void *tick, *stick; uint64_t gsr; + uint32_t gl; // UA2005 + /* UA 2005 hyperprivileged registers */ + uint64_t hpstate, htstate[MAXTL], hintp, htba, hver, hstick_cmpr, ssr; + void *hstick; // UA 2005 #endif #if !defined(TARGET_SPARC64) && !defined(reg_T2) target_ulong t2; @@ -231,22 +248,22 @@ #define PUT_FSR64(env, val) do { uint64_t _tmp = val; \ env->fsr = _tmp & 0x3fcfc1c3ffULL; \ } while (0) -// Manuf 0x17, version 0x11, mask 0 (UltraSparc-II) -#define GET_VER(env) ((0x17ULL << 48) | (0x11ULL << 32) | \ - (0 << 24) | (MAXTL << 8) | (NWINDOWS - 1)) #else #define GET_FSR32(env) (env->fsr) -#define PUT_FSR32(env, val) do { uint32_t _tmp = val; \ - env->fsr = _tmp & 0xcfc1ffff; \ +#define PUT_FSR32(env, val) do { uint32_t _tmp = val; \ + env->fsr = (_tmp & 0xcfc1dfff) | (env->fsr & 0x000e0000); \ } while (0) #endif CPUSPARCState *cpu_sparc_init(void); int cpu_sparc_exec(CPUSPARCState *s); int cpu_sparc_close(CPUSPARCState *s); +int sparc_find_by_name (const unsigned char *name, const sparc_def_t **def); +void sparc_cpu_list (FILE *f, int (*cpu_fprintf)(FILE *f, const char *fmt, + ...)); +int cpu_sparc_register (CPUSPARCState *env, const sparc_def_t *def); -/* Fake impl 0, version 4 */ -#define GET_PSR(env) ((0 << 28) | (4 << 24) | (env->psr & PSR_ICC) | \ +#define GET_PSR(env) (env->version | (env->psr & PSR_ICC) | \ (env->psref? PSR_EF : 0) | \ (env->psrpil << 8) | \ (env->psrs? PSR_S : 0) | \ @@ -264,7 +281,7 @@ env->psrs = (_tmp & PSR_S)? 1 : 0; \ env->psrps = (_tmp & PSR_PS)? 1 : 0; \ env->psret = (_tmp & PSR_ET)? 1 : 0; \ - cpu_set_cwp(env, _tmp & PSR_CWP & (NWINDOWS - 1)); \ + cpu_set_cwp(env, _tmp & PSR_CWP); \ } while (0) #ifdef TARGET_SPARC64 @@ -276,6 +293,12 @@ #endif int cpu_sparc_signal_handler(int host_signum, void *pinfo, void *puc); +void raise_exception(int tt); +void do_unassigned_access(target_phys_addr_t addr, int is_write, int is_exec, + int is_asi); +void do_tick_set_count(void *opaque, uint64_t count); +uint64_t do_tick_get_count(void *opaque); +void do_tick_set_limit(void *opaque, uint64_t limit); #include "cpu-all.h" Index: exec.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-sparc/exec.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- exec.h 23 Feb 2007 21:44:41 -0000 1.1.1.1 +++ exec.h 18 Feb 2008 00:14:00 -0000 1.2 @@ -1,13 +1,9 @@ #ifndef EXEC_SPARC_H #define EXEC_SPARC_H 1 -#include "dyngen-exec.h" #include "config.h" +#include "dyngen-exec.h" -#if defined(__sparc__) -struct CPUSPARCState *env; -#else register struct CPUSPARCState *env asm(AREG0); -#endif #ifdef TARGET_SPARC64 #define T0 (env->t0) @@ -15,13 +11,8 @@ #define T2 (env->t2) #define REGWPTR env->regwptr #else -#if defined(__sparc__) -register uint32_t T0 asm(AREG3); -register uint32_t T1 asm(AREG2); -#else register uint32_t T0 asm(AREG1); register uint32_t T1 asm(AREG2); -#endif #undef REG_REGWPTR // Broken #ifdef REG_REGWPTR @@ -33,11 +24,7 @@ #define reg_REGWPTR #ifdef AREG4 -#if defined(__sparc__) -register uint32_t T2 asm(AREG0); -#else register uint32_t T2 asm(AREG4); -#endif #define reg_T2 #else #define T2 (env->t2) @@ -45,14 +32,10 @@ #else #define REGWPTR env->regwptr -#if defined(__sparc__) -register uint32_t T2 asm(AREG0); -#else register uint32_t T2 asm(AREG3); #endif #define reg_T2 #endif -#endif #define FT0 (env->ft0) #define FT1 (env->ft1) @@ -78,6 +61,8 @@ void do_fsqrtd(void); void do_fcmps(void); void do_fcmpd(void); +void do_fcmpes(void); +void do_fcmped(void); #ifdef TARGET_SPARC64 void do_fabsd(void); void do_fcmps_fcc1(void); @@ -86,6 +71,12 @@ void do_fcmpd_fcc2(void); void do_fcmps_fcc3(void); void do_fcmpd_fcc3(void); +void do_fcmpes_fcc1(void); +void do_fcmped_fcc1(void); +void do_fcmpes_fcc2(void); +void do_fcmped_fcc2(void); +void do_fcmpes_fcc3(void); +void do_fcmped_fcc3(void); void do_popc(); void do_wrpstate(); void do_done(); @@ -96,6 +87,7 @@ void do_ldd_raw(target_ulong addr); void do_interrupt(int intno); void raise_exception(int tt); +void check_ieee_exceptions(); void memcpy32(target_ulong *dst, const target_ulong *src); target_ulong mmu_probe(CPUState *env, target_ulong address, int mmulev); void dump_mmu(CPUState *env); |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:05
|
Update of /cvsroot/hppaqemu/hppaqemu/target-sh4 In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/target-sh4 Modified Files: helper.c op.c translate.c Log Message: Update to QEMU CVS from 2007-06-01. Index: translate.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-sh4/translate.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- translate.c 23 Feb 2007 21:44:41 -0000 1.1.1.1 +++ translate.c 18 Feb 2008 00:14:00 -0000 1.2 @@ -236,7 +236,7 @@ ? (x) + 16 : (x)) #define FREG(x) (ctx->fpscr & FPSCR_FR ? (x) ^ 0x10 : (x)) -#define XHACK(x) (((x) & 1 ) << 4 | ((x) & 0xe ) << 1) +#define XHACK(x) ((((x) & 1 ) << 4) | ((x) & 0xe)) #define XREG(x) (ctx->fpscr & FPSCR_FR ? XHACK(x) ^ 0x10 : XHACK(x)) #define CHECK_NOT_DELAY_SLOT \ @@ -685,7 +685,7 @@ } else { gen_op_movl_rN_T0(REG(B7_4)); gen_op_ldfl_T0_FT0(ctx); - gen_op_fmov_FT0_frN(XREG(B11_8)); + gen_op_fmov_FT0_frN(FREG(B11_8)); } return; case 0xf009: /* fmov @Rm+,{F,D,X}Rn */ @@ -704,7 +704,7 @@ } else { gen_op_movl_rN_T0(REG(B7_4)); gen_op_ldfl_T0_FT0(ctx); - gen_op_fmov_FT0_frN(XREG(B11_8)); + gen_op_fmov_FT0_frN(FREG(B11_8)); gen_op_inc4_rN(REG(B7_4)); } return; @@ -745,7 +745,7 @@ gen_op_movl_rN_T0(REG(B7_4)); gen_op_add_rN_T0(REG(0)); gen_op_ldfl_T0_FT0(ctx); - gen_op_fmov_FT0_frN(XREG(B11_8)); + gen_op_fmov_FT0_frN(FREG(B11_8)); } return; case 0xf007: /* fmov {F,D,X}Rn,@(R0,Rn) */ @@ -1003,8 +1003,8 @@ LDST(mach, 0x400a, 0x4006, lds, 0x000a, 0x4002, sts,) LDST(macl, 0x401a, 0x4016, lds, 0x001a, 0x4012, sts,) LDST(pr, 0x402a, 0x4026, lds, 0x002a, 0x4022, sts,) - LDST(fpul, 0x405a, 0x4056, lds, 0x005a, 0x0052, sts,) - LDST(fpscr, 0x406a, 0x4066, lds, 0x006a, 0x0062, sts, ctx->flags |= + LDST(fpul, 0x405a, 0x4056, lds, 0x005a, 0x4052, sts,) + LDST(fpscr, 0x406a, 0x4066, lds, 0x006a, 0x4062, sts, ctx->flags |= MODE_CHANGE;) case 0x00c3: /* movca.l R0,@Rm */ gen_op_movl_rN_T0(REG(0)); @@ -1087,8 +1087,9 @@ ctx->flags |= BRANCH_EXCEPTION; } -int gen_intermediate_code_internal(CPUState * env, TranslationBlock * tb, - int search_pc) +static inline int +gen_intermediate_code_internal(CPUState * env, TranslationBlock * tb, + int search_pc) { DisasContext ctx; target_ulong pc_start; Index: helper.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-sh4/helper.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- helper.c 23 Feb 2007 21:44:41 -0000 1.1.1.1 +++ helper.c 18 Feb 2008 00:14:00 -0000 1.2 @@ -53,7 +53,7 @@ return 1; } -target_ulong cpu_get_phys_page_debug(CPUState * env, target_ulong addr) +target_phys_addr_t cpu_get_phys_page_debug(CPUState * env, target_ulong addr) { return addr; } @@ -429,7 +429,7 @@ return tlb_set_page(env, address, physical, prot, is_user, is_softmmu); } -target_ulong cpu_get_phys_page_debug(CPUState * env, target_ulong addr) +target_phys_addr_t cpu_get_phys_page_debug(CPUState * env, target_ulong addr) { target_ulong physical; int prot; Index: op.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-sh4/op.c,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- op.c 23 Feb 2007 21:44:41 -0000 1.1.1.1 +++ op.c 18 Feb 2008 00:14:00 -0000 1.2 @@ -561,14 +561,14 @@ void OPPROTO op_shar_Rn(void) { cond_t(env->gregs[PARAM1] & 1); - *(int32_t *) & env->gregs[PARAM1] >>= 1; + env->gregs[PARAM1] >>= 1; RETURN(); } void OPPROTO op_shlr_Rn(void) { cond_t(env->gregs[PARAM1] & 1); - *(uint32_t *) & env->gregs[PARAM1] >>= 1; + env->gregs[PARAM1] >>= 1; RETURN(); } @@ -592,19 +592,19 @@ void OPPROTO op_shlr2_Rn(void) { - *(uint32_t *) & env->gregs[PARAM1] >>= 2; + env->gregs[PARAM1] >>= 2; RETURN(); } void OPPROTO op_shlr8_Rn(void) { - *(uint32_t *) & env->gregs[PARAM1] >>= 8; + env->gregs[PARAM1] >>= 8; RETURN(); } void OPPROTO op_shlr16_Rn(void) { - *(uint32_t *) & env->gregs[PARAM1] >>= 16; + env->gregs[PARAM1] >>= 16; RETURN(); } @@ -737,7 +737,7 @@ void OPPROTO op_dec8_rN(void) { - env->gregs[PARAM1] -= 4; + env->gregs[PARAM1] -= 8; RETURN(); } @@ -761,7 +761,7 @@ void OPPROTO op_inc8_rN(void) { - env->gregs[PARAM1] += 4; + env->gregs[PARAM1] += 8; RETURN(); } |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:05
|
Update of /cvsroot/hppaqemu/hppaqemu/tests In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/tests Modified Files: Makefile Added Files: test-arm-iwmmxt.s Log Message: Update to QEMU CVS from 2007-06-01. Index: Makefile =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/tests/Makefile,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Makefile 23 Feb 2007 21:44:42 -0000 1.1.1.1 +++ Makefile 18 Feb 2008 00:14:01 -0000 1.2 @@ -82,6 +82,9 @@ hello-arm.o: hello-arm.c arm-linux-gcc -Wall -g -O2 -c -o $@ $< +test-arm-iwmmxt: test-arm-iwmmxt.s + cpp < $< | arm-linux-gnu-gcc -Wall -static -march=iwmmxt -mabi=aapcs -x assembler - -o $@ + # MIPS test hello-mips: hello-mips.c mips-linux-gnu-gcc -nostdlib -static -mno-abicalls -fno-PIC -mabi=32 -Wall -Wextra -g -O2 -o $@ $< --- NEW FILE: test-arm-iwmmxt.s --- @ Checks whether iwMMXt is functional. .code 32 .globl main main: ldr r0, =data0 ldr r1, =data1 ldr r2, =data2 #ifndef FPA wldrd wr0, [r0, #0] wldrd wr1, [r0, #8] wldrd wr2, [r1, #0] wldrd wr3, [r1, #8] wsubb wr2, wr2, wr0 wsubb wr3, wr3, wr1 wldrd wr0, [r2, #0] wldrd wr1, [r2, #8] waddb wr0, wr0, wr2 waddb wr1, wr1, wr3 wstrd wr0, [r2, #0] wstrd wr1, [r2, #8] #else ldfe f0, [r0, #0] ldfe f1, [r0, #8] ldfe f2, [r1, #0] ldfe f3, [r1, #8] adfdp f2, f2, f0 adfdp f3, f3, f1 ldfe f0, [r2, #0] ldfe f1, [r2, #8] adfd f0, f0, f2 adfd f1, f1, f3 stfe f0, [r2, #0] stfe f1, [r2, #8] #endif mov r0, #1 mov r1, r2 mov r2, #0x11 swi #0x900004 mov r0, #0 swi #0x900001 .data data0: .string "aaaabbbbccccdddd" data1: .string "bbbbccccddddeeee" data2: .string "hvLLWs\x1fsdrs9\x1fNJ-\n" |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:01
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user/x86_64 In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/linux-user/x86_64 Added Files: syscall.h syscall_nr.h termbits.h Log Message: Update to QEMU CVS from 2007-06-01. --- NEW FILE: syscall.h --- #define __USER_CS (0x33) #define __USER_DS (0x2B) struct target_pt_regs { target_ulong r15; target_ulong r14; target_ulong r13; target_ulong r12; target_ulong rbp; target_ulong rbx; /* arguments: non interrupts/non tracing syscalls only save upto here*/ target_ulong r11; target_ulong r10; target_ulong r9; target_ulong r8; target_ulong rax; target_ulong rcx; target_ulong rdx; target_ulong rsi; target_ulong rdi; target_ulong orig_rax; /* end of arguments */ /* cpu exception frame or undefined */ target_ulong rip; target_ulong cs; target_ulong eflags; target_ulong rsp; target_ulong ss; /* top of stack page */ }; /* Maximum number of LDT entries supported. */ #define TARGET_LDT_ENTRIES 8192 /* The size of each LDT entry. */ #define TARGET_LDT_ENTRY_SIZE 8 #define TARGET_GDT_ENTRY_TLS_ENTRIES 3 #define TARGET_GDT_ENTRY_TLS_MIN 12 #define TARGET_GDT_ENTRY_TLS_MAX 14 #if 0 // Redefine this struct target_modify_ldt_ldt_s { unsigned int entry_number; target_ulong base_addr; unsigned int limit; unsigned int seg_32bit:1; unsigned int contents:2; unsigned int read_exec_only:1; unsigned int limit_in_pages:1; unsigned int seg_not_present:1; unsigned int useable:1; unsigned int lm:1; }; #else struct target_modify_ldt_ldt_s { unsigned int entry_number; target_ulong base_addr; unsigned int limit; unsigned int flags; }; #endif struct target_ipc64_perm { int key; uint32_t uid; uint32_t gid; uint32_t cuid; uint32_t cgid; unsigned short mode; unsigned short __pad1; unsigned short seq; unsigned short __pad2; target_ulong __unused1; target_ulong __unused2; }; struct target_msqid64_ds { struct target_ipc64_perm msg_perm; unsigned int msg_stime; /* last msgsnd time */ unsigned int msg_rtime; /* last msgrcv time */ unsigned int msg_ctime; /* last change time */ target_ulong msg_cbytes; /* current number of bytes on queue */ target_ulong msg_qnum; /* number of messages in queue */ target_ulong msg_qbytes; /* max number of bytes on queue */ unsigned int msg_lspid; /* pid of last msgsnd */ unsigned int msg_lrpid; /* last receive pid */ target_ulong __unused4; target_ulong __unused5; }; #define UNAME_MACHINE "x86_64" --- NEW FILE: syscall_nr.h --- #define TARGET_NR_read 0 #define TARGET_NR_write 1 #define TARGET_NR_open 2 #define TARGET_NR_close 3 #define TARGET_NR_stat 4 #define TARGET_NR_fstat 5 #define TARGET_NR_lstat 6 #define TARGET_NR_poll 7 #define TARGET_NR_lseek 8 #define TARGET_NR_mmap 9 #define TARGET_NR_mprotect 10 #define TARGET_NR_munmap 11 #define TARGET_NR_brk 12 #define TARGET_NR_rt_sigaction 13 #define TARGET_NR_rt_sigprocmask 14 #define TARGET_NR_rt_sigreturn 15 #define TARGET_NR_ioctl 16 #define TARGET_NR_pread64 17 #define TARGET_NR_pwrite64 18 #define TARGET_NR_readv 19 #define TARGET_NR_writev 20 #define TARGET_NR_access 21 #define TARGET_NR_pipe 22 #define TARGET_NR_select 23 #define TARGET_NR_sched_yield 24 #define TARGET_NR_mremap 25 #define TARGET_NR_msync 26 #define TARGET_NR_mincore 27 #define TARGET_NR_madvise 28 #define TARGET_NR_shmget 29 #define TARGET_NR_shmat 30 #define TARGET_NR_shmctl 31 #define TARGET_NR_dup 32 #define TARGET_NR_dup2 33 #define TARGET_NR_pause 34 #define TARGET_NR_nanosleep 35 #define TARGET_NR_getitimer 36 #define TARGET_NR_alarm 37 #define TARGET_NR_setitimer 38 #define TARGET_NR_getpid 39 #define TARGET_NR_sendfile 40 #define TARGET_NR_socket 41 #define TARGET_NR_connect 42 #define TARGET_NR_accept 43 #define TARGET_NR_sendto 44 #define TARGET_NR_recvfrom 45 #define TARGET_NR_sendmsg 46 #define TARGET_NR_recvmsg 47 #define TARGET_NR_shutdown 48 #define TARGET_NR_bind 49 #define TARGET_NR_listen 50 #define TARGET_NR_getsockname 51 #define TARGET_NR_getpeername 52 #define TARGET_NR_socketpair 53 #define TARGET_NR_setsockopt 54 #define TARGET_NR_getsockopt 55 #define TARGET_NR_clone 56 #define TARGET_NR_fork 57 #define TARGET_NR_vfork 58 #define TARGET_NR_execve 59 #define TARGET_NR_exit 60 #define TARGET_NR_wait4 61 #define TARGET_NR_kill 62 #define TARGET_NR_uname 63 #define TARGET_NR_semget 64 #define TARGET_NR_semop 65 #define TARGET_NR_semctl 66 #define TARGET_NR_shmdt 67 #define TARGET_NR_msgget 68 #define TARGET_NR_msgsnd 69 #define TARGET_NR_msgrcv 70 #define TARGET_NR_msgctl 71 #define TARGET_NR_fcntl 72 #define TARGET_NR_flock 73 #define TARGET_NR_fsync 74 #define TARGET_NR_fdatasync 75 #define TARGET_NR_truncate 76 #define TARGET_NR_ftruncate 77 #define TARGET_NR_getdents 78 #define TARGET_NR_getcwd 79 #define TARGET_NR_chdir 80 #define TARGET_NR_fchdir 81 #define TARGET_NR_rename 82 #define TARGET_NR_mkdir 83 #define TARGET_NR_rmdir 84 #define TARGET_NR_creat 85 #define TARGET_NR_link 86 #define TARGET_NR_unlink 87 #define TARGET_NR_symlink 88 #define TARGET_NR_readlink 89 #define TARGET_NR_chmod 90 #define TARGET_NR_fchmod 91 #define TARGET_NR_chown 92 #define TARGET_NR_fchown 93 #define TARGET_NR_lchown 94 #define TARGET_NR_umask 95 #define TARGET_NR_gettimeofday 96 #define TARGET_NR_getrlimit 97 #define TARGET_NR_getrusage 98 #define TARGET_NR_sysinfo 99 #define TARGET_NR_times 100 #define TARGET_NR_ptrace 101 #define TARGET_NR_getuid 102 #define TARGET_NR_syslog 103 #define TARGET_NR_getgid 104 #define TARGET_NR_setuid 105 #define TARGET_NR_setgid 106 #define TARGET_NR_geteuid 107 #define TARGET_NR_getegid 108 #define TARGET_NR_setpgid 109 #define TARGET_NR_getppid 110 #define TARGET_NR_getpgrp 111 #define TARGET_NR_setsid 112 #define TARGET_NR_setreuid 113 #define TARGET_NR_setregid 114 #define TARGET_NR_getgroups 115 #define TARGET_NR_setgroups 116 #define TARGET_NR_setresuid 117 #define TARGET_NR_getresuid 118 #define TARGET_NR_setresgid 119 #define TARGET_NR_getresgid 120 #define TARGET_NR_getpgid 121 #define TARGET_NR_setfsuid 122 #define TARGET_NR_setfsgid 123 #define TARGET_NR_getsid 124 #define TARGET_NR_capget 125 #define TARGET_NR_capset 126 #define TARGET_NR_rt_sigpending 127 #define TARGET_NR_rt_sigtimedwait 128 #define TARGET_NR_rt_sigqueueinfo 129 #define TARGET_NR_rt_sigsuspend 130 #define TARGET_NR_sigaltstack 131 #define TARGET_NR_utime 132 #define TARGET_NR_mknod 133 #define TARGET_NR_uselib 134 #define TARGET_NR_personality 135 #define TARGET_NR_ustat 136 #define TARGET_NR_statfs 137 #define TARGET_NR_fstatfs 138 #define TARGET_NR_sysfs 139 #define TARGET_NR_getpriority 140 #define TARGET_NR_setpriority 141 #define TARGET_NR_sched_setparam 142 #define TARGET_NR_sched_getparam 143 #define TARGET_NR_sched_setscheduler 144 #define TARGET_NR_sched_getscheduler 145 #define TARGET_NR_sched_get_priority_max 146 #define TARGET_NR_sched_get_priority_min 147 #define TARGET_NR_sched_rr_get_interval 148 #define TARGET_NR_mlock 149 #define TARGET_NR_munlock 150 #define TARGET_NR_mlockall 151 #define TARGET_NR_munlockall 152 #define TARGET_NR_vhangup 153 #define TARGET_NR_modify_ldt 154 #define TARGET_NR_pivot_root 155 #define TARGET_NR__sysctl 156 #define TARGET_NR_prctl 157 #define TARGET_NR_arch_prctl 158 #define TARGET_NR_adjtimex 159 #define TARGET_NR_setrlimit 160 #define TARGET_NR_chroot 161 #define TARGET_NR_sync 162 #define TARGET_NR_acct 163 #define TARGET_NR_settimeofday 164 #define TARGET_NR_mount 165 #define TARGET_NR_umount2 166 #define TARGET_NR_swapon 167 #define TARGET_NR_swapoff 168 #define TARGET_NR_reboot 169 #define TARGET_NR_sethostname 170 #define TARGET_NR_setdomainname 171 #define TARGET_NR_iopl 172 #define TARGET_NR_ioperm 173 #define TARGET_NR_create_module 174 #define TARGET_NR_init_module 175 #define TARGET_NR_delete_module 176 #define TARGET_NR_get_kernel_syms 177 #define TARGET_NR_query_module 178 #define TARGET_NR_quotactl 179 #define TARGET_NR_nfsservctl 180 #define TARGET_NR_getpmsg 181 /* reserved for LiS/STREAMS */ #define TARGET_NR_putpmsg 182 /* reserved for LiS/STREAMS */ #define TARGET_NR_afs_syscall 183 /* reserved for AFS */ #define TARGET_NR_tuxcall 184 /* reserved for tux */ #define TARGET_NR_security 185 #define TARGET_NR_gettid 186 #define TARGET_NR_readahead 187 #define TARGET_NR_setxattr 188 #define TARGET_NR_lsetxattr 189 #define TARGET_NR_fsetxattr 190 #define TARGET_NR_getxattr 191 #define TARGET_NR_lgetxattr 192 #define TARGET_NR_fgetxattr 193 #define TARGET_NR_listxattr 194 #define TARGET_NR_llistxattr 195 #define TARGET_NR_flistxattr 196 #define TARGET_NR_removexattr 197 #define TARGET_NR_lremovexattr 198 #define TARGET_NR_fremovexattr 199 #define TARGET_NR_tkill 200 #define TARGET_NR_time 201 #define TARGET_NR_futex 202 #define TARGET_NR_sched_setaffinity 203 #define TARGET_NR_sched_getaffinity 204 #define TARGET_NR_set_thread_area 205 #define TARGET_NR_io_setup 206 #define TARGET_NR_io_destroy 207 #define TARGET_NR_io_getevents 208 #define TARGET_NR_io_submit 209 #define TARGET_NR_io_cancel 210 #define TARGET_NR_get_thread_area 211 #define TARGET_NR_lookup_dcookie 212 #define TARGET_NR_epoll_create 213 #define TARGET_NR_epoll_ctl_old 214 #define TARGET_NR_epoll_wait_old 215 #define TARGET_NR_remap_file_pages 216 #define TARGET_NR_getdents64 217 #define TARGET_NR_set_tid_address 218 #define TARGET_NR_restart_syscall 219 #define TARGET_NR_semtimedop 220 #define TARGET_NR_fadvise64 221 #define TARGET_NR_timer_create 222 #define TARGET_NR_timer_settime 223 #define TARGET_NR_timer_gettime 224 #define TARGET_NR_timer_getoverrun 225 #define TARGET_NR_timer_delete 226 #define TARGET_NR_clock_settime 227 #define TARGET_NR_clock_gettime 228 #define TARGET_NR_clock_getres 229 #define TARGET_NR_clock_nanosleep 230 #define TARGET_NR_exit_group 231 #define TARGET_NR_epoll_wait 232 #define TARGET_NR_epoll_ctl 233 #define TARGET_NR_tgkill 234 #define TARGET_NR_utimes 235 #define TARGET_NR_vserver 236 #define TARGET_NR_mbind 237 #define TARGET_NR_set_mempolicy 238 #define TARGET_NR_get_mempolicy 239 #define TARGET_NR_mq_open 240 #define TARGET_NR_mq_unlink 241 #define TARGET_NR_mq_timedsend 242 #define TARGET_NR_mq_timedreceive 243 #define TARGET_NR_mq_notify 244 #define TARGET_NR_mq_getsetattr 245 #define TARGET_NR_kexec_load 246 #define TARGET_NR_waitid 247 #define TARGET_NR_add_key 248 #define TARGET_NR_request_key 249 #define TARGET_NR_keyctl 250 #define TARGET_NR_ioprio_set 251 #define TARGET_NR_ioprio_get 252 #define TARGET_NR_inotify_init 253 #define TARGET_NR_inotify_add_watch 254 #define TARGET_NR_inotify_rm_watch 255 #define TARGET_NR_migrate_pages 256 #define TARGET_NR_openat 257 #define TARGET_NR_mkdirat 258 #define TARGET_NR_mknodat 259 #define TARGET_NR_fchownat 260 #define TARGET_NR_futimesat 261 #define TARGET_NR_newfstatat 262 #define TARGET_NR_unlinkat 263 #define TARGET_NR_renameat 264 #define TARGET_NR_linkat 265 #define TARGET_NR_symlinkat 266 #define TARGET_NR_readlinkat 267 #define TARGET_NR_fchmodat 268 #define TARGET_NR_faccessat 269 #define TARGET_NR_pselect6 270 #define TARGET_NR_ppoll 271 #define TARGET_NR_unshare 272 #define TARGET_NR_set_robust_list 273 #define TARGET_NR_get_robust_list 274 #define TARGET_NR_splice 275 #define TARGET_NR_tee 276 #define TARGET_NR_sync_file_range 277 #define TARGET_NR_vmsplice 278 #define TARGET_NR_move_pages 279 --- NEW FILE: termbits.h --- #define TARGET_NCCS 19 typedef unsigned char target_cc_t; typedef unsigned int target_speed_t; typedef unsigned int target_tcflag_t; struct target_termios { target_tcflag_t c_iflag; /* input mode flags */ target_tcflag_t c_oflag; /* output mode flags */ target_tcflag_t c_cflag; /* control mode flags */ target_tcflag_t c_lflag; /* local mode flags */ target_cc_t c_line; /* line discipline */ target_cc_t c_cc[TARGET_NCCS]; /* control characters */ }; /* c_cc characters */ #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 /* 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 #define TARGET_IUTF8 0040000 /* 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_BOTHER 0010000 /* non standard rate */ #define TARGET_B57600 0010001 #define TARGET_B115200 0010002 #define TARGET_B230400 0010003 #define TARGET_B460800 0010004 #define TARGET_B500000 0010005 #define TARGET_B576000 0010006 #define TARGET_B921600 0010007 #define TARGET_B1000000 0010010 #define TARGET_B1152000 0010011 #define TARGET_B1500000 0010012 #define TARGET_B2000000 0010013 #define TARGET_B2500000 0010014 #define TARGET_B3000000 0010015 #define TARGET_B3500000 0010016 #define TARGET_B4000000 0010017 #define TARGET_CIBAUD 002003600000 /* input baud rate */ #define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */ #define TARGET_CRTSCTS 020000000000 /* flow control */ #define TARGET_IBSHIFT 8 /* Shift from CBAUD to CIBAUD */ /* 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 /* tcflow() and TCXONC use these */ #define TARGET_TCOOFF 0 #define TARGET_TCOON 1 #define TARGET_TCIOFF 2 #define TARGET_TCION 3 /* tcflush() and TCFLSH use these */ #define TARGET_TCIFLUSH 0 #define TARGET_TCOFLUSH 1 #define TARGET_TCIOFLUSH 2 /* tcsetattr uses these */ #define TARGET_TCSANOW 0 #define TARGET_TCSADRAIN 1 #define TARGET_TCSAFLUSH 2 #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 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_TIOCSBRK 0x5427 /* BSD compatibility */ #define TARGET_TIOCCBRK 0x5428 /* BSD compatibility */ #define TARGET_TIOCGSID 0x5429 /* Return the session ID of FD */ #define TARGET_TCGETS2 _IOR('T',0x2A, struct termios2) #define TARGET_TCSETS2 _IOW('T',0x2B, struct termios2) #define TARGET_TCSETSW2 _IOW('T',0x2C, struct termios2) #define TARGET_TCSETSF2 _IOW('T',0x2D, struct termios2) #define TARGET_TIOCGPTN _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ #define TARGET_TIOCSPTLCK _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 */ #define TARGET_FIOQSIZE 0x5460 /* 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 */ |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:01
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user/alpha In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/linux-user/alpha Added Files: syscall.h syscall_nr.h termbits.h Log Message: Update to QEMU CVS from 2007-06-01. --- NEW FILE: syscall.h --- /* default linux values for the selectors */ #define __USER_DS (1) struct target_pt_regs { target_ulong r0; target_ulong r1; target_ulong r2; target_ulong r3; target_ulong r4; target_ulong r5; target_ulong r6; target_ulong r7; target_ulong r8; target_ulong r19; target_ulong r20; target_ulong r21; target_ulong r22; target_ulong r23; target_ulong r24; target_ulong r25; target_ulong r26; target_ulong r27; target_ulong r28; target_ulong hae; /* JRP - These are the values provided to a0-a2 by PALcode */ target_ulong trap_a0; target_ulong trap_a1; target_ulong trap_a2; /* These are saved by PAL-code: */ target_ulong ps; target_ulong pc; target_ulong gp; target_ulong r16; target_ulong r17; target_ulong r18; /* Those is needed by qemu to temporary store the user stack pointer */ target_ulong usp; target_ulong unique; }; #define TARGET_SEMOP 1 #define TARGET_SEMGET 2 #define TARGET_SEMCTL 3 #define TARGET_MSGSND 11 #define TARGET_MSGRCV 12 #define TARGET_MSGGET 13 #define TARGET_MSGCTL 14 #define TARGET_SHMAT 21 #define TARGET_SHMDT 22 #define TARGET_SHMGET 23 #define TARGET_SHMCTL 24 struct target_msgbuf { int mtype; char mtext[1]; }; struct target_ipc_kludge { unsigned int msgp; /* Really (struct msgbuf *) */ int msgtyp; }; struct target_ipc_perm { int key; unsigned short uid; unsigned short gid; unsigned short cuid; unsigned short cgid; unsigned short mode; unsigned short seq; }; struct target_msqid_ds { struct target_ipc_perm msg_perm; unsigned int msg_first; /* really struct target_msg* */ unsigned int msg_last; /* really struct target_msg* */ unsigned int msg_stime; /* really target_time_t */ unsigned int msg_rtime; /* really target_time_t */ unsigned int msg_ctime; /* really target_time_t */ unsigned int wwait; /* really struct wait_queue* */ unsigned int rwait; /* really struct wait_queue* */ unsigned short msg_cbytes; unsigned short msg_qnum; unsigned short msg_qbytes; unsigned short msg_lspid; unsigned short msg_lrpid; }; struct target_shmid_ds { struct target_ipc_perm shm_perm; int shm_segsz; unsigned int shm_atime; /* really target_time_t */ unsigned int shm_dtime; /* really target_time_t */ unsigned int shm_ctime; /* really target_time_t */ unsigned short shm_cpid; unsigned short shm_lpid; short shm_nattch; unsigned short shm_npages; unsigned long *shm_pages; void *attaches; /* really struct shm_desc * */ }; #define TARGET_IPC_RMID 0 #define TARGET_IPC_SET 1 #define TARGET_IPC_STAT 2 union target_semun { int val; unsigned int buf; /* really struct semid_ds * */ unsigned int array; /* really unsigned short * */ unsigned int __buf; /* really struct seminfo * */ unsigned int __pad; /* really void* */ }; #define UNAME_MACHINE "alpha" --- NEW FILE: syscall_nr.h --- #define TARGET_NR_osf_syscall 0 /* not implemented */ #define TARGET_NR_exit 1 #define TARGET_NR_fork 2 #define TARGET_NR_read 3 #define TARGET_NR_write 4 #define TARGET_NR_osf_old_open 5 /* not implemented */ #define TARGET_NR_close 6 #define TARGET_NR_osf_wait4 7 #define TARGET_NR_osf_old_creat 8 /* not implemented */ #define TARGET_NR_link 9 #define TARGET_NR_unlink 10 #define TARGET_NR_osf_execve 11 /* not implemented */ #define TARGET_NR_chdir 12 #define TARGET_NR_fchdir 13 #define TARGET_NR_mknod 14 #define TARGET_NR_chmod 15 #define TARGET_NR_chown 16 #define TARGET_NR_brk 17 #define TARGET_NR_osf_getfsstat 18 /* not implemented */ #define TARGET_NR_lseek 19 #define TARGET_NR_getxpid 20 #define TARGET_NR_osf_mount 21 #define TARGET_NR_umount 22 #define TARGET_NR_setuid 23 #define TARGET_NR_getxuid 24 #define TARGET_NR_exec_with_loader 25 /* not implemented */ #define TARGET_NR_ptrace 26 #define TARGET_NR_osf_nrecvmsg 27 /* not implemented */ #define TARGET_NR_osf_nsendmsg 28 /* not implemented */ #define TARGET_NR_osf_nrecvfrom 29 /* not implemented */ #define TARGET_NR_osf_naccept 30 /* not implemented */ #define TARGET_NR_osf_ngetpeername 31 /* not implemented */ #define TARGET_NR_osf_ngetsockname 32 /* not implemented */ #define TARGET_NR_access 33 #define TARGET_NR_osf_chflags 34 /* not implemented */ #define TARGET_NR_osf_fchflags 35 /* not implemented */ #define TARGET_NR_sync 36 #define TARGET_NR_kill 37 #define TARGET_NR_osf_old_stat 38 /* not implemented */ #define TARGET_NR_setpgid 39 #define TARGET_NR_osf_old_lstat 40 /* not implemented */ #define TARGET_NR_dup 41 #define TARGET_NR_pipe 42 #define TARGET_NR_osf_set_program_attributes 43 #define TARGET_NR_osf_profil 44 /* not implemented */ #define TARGET_NR_open 45 #define TARGET_NR_osf_old_sigaction 46 /* not implemented */ #define TARGET_NR_getxgid 47 #define TARGET_NR_osf_sigprocmask 48 #define TARGET_NR_osf_getlogin 49 /* not implemented */ #define TARGET_NR_osf_setlogin 50 /* not implemented */ #define TARGET_NR_acct 51 #define TARGET_NR_sigpending 52 #define TARGET_NR_ioctl 54 #define TARGET_NR_osf_reboot 55 /* not implemented */ #define TARGET_NR_osf_revoke 56 /* not implemented */ #define TARGET_NR_symlink 57 #define TARGET_NR_readlink 58 #define TARGET_NR_execve 59 #define TARGET_NR_umask 60 #define TARGET_NR_chroot 61 #define TARGET_NR_osf_old_fstat 62 /* not implemented */ #define TARGET_NR_getpgrp 63 #define TARGET_NR_getpagesize 64 #define TARGET_NR_osf_mremap 65 /* not implemented */ #define TARGET_NR_vfork 66 #define TARGET_NR_stat 67 #define TARGET_NR_lstat 68 #define TARGET_NR_osf_sbrk 69 /* not implemented */ #define TARGET_NR_osf_sstk 70 /* not implemented */ #define TARGET_NR_mmap 71 /* OSF/1 mmap is superset of Linux */ #define TARGET_NR_osf_old_vadvise 72 /* not implemented */ #define TARGET_NR_munmap 73 #define TARGET_NR_mprotect 74 #define TARGET_NR_madvise 75 #define TARGET_NR_vhangup 76 #define TARGET_NR_osf_kmodcall 77 /* not implemented */ #define TARGET_NR_osf_mincore 78 /* not implemented */ #define TARGET_NR_getgroups 79 #define TARGET_NR_setgroups 80 #define TARGET_NR_osf_old_getpgrp 81 /* not implemented */ #define TARGET_NR_setpgrp 82 /* BSD alias for setpgid */ #define TARGET_NR_osf_setitimer 83 #define TARGET_NR_osf_old_wait 84 /* not implemented */ #define TARGET_NR_osf_table 85 /* not implemented */ #define TARGET_NR_osf_getitimer 86 #define TARGET_NR_gethostname 87 #define TARGET_NR_sethostname 88 #define TARGET_NR_getdtablesize 89 #define TARGET_NR_dup2 90 #define TARGET_NR_fstat 91 #define TARGET_NR_fcntl 92 #define TARGET_NR_osf_select 93 #define TARGET_NR_poll 94 #define TARGET_NR_fsync 95 #define TARGET_NR_setpriority 96 #define TARGET_NR_socket 97 #define TARGET_NR_connect 98 #define TARGET_NR_accept 99 #define TARGET_NR_getpriority 100 #define TARGET_NR_send 101 #define TARGET_NR_recv 102 #define TARGET_NR_sigreturn 103 #define TARGET_NR_bind 104 #define TARGET_NR_setsockopt 105 #define TARGET_NR_listen 106 #define TARGET_NR_osf_plock 107 /* not implemented */ #define TARGET_NR_osf_old_sigvec 108 /* not implemented */ #define TARGET_NR_osf_old_sigblock 109 /* not implemented */ #define TARGET_NR_osf_old_sigsetmask 110 /* not implemented */ #define TARGET_NR_sigsuspend 111 #define TARGET_NR_osf_sigstack 112 #define TARGET_NR_recvmsg 113 #define TARGET_NR_sendmsg 114 #define TARGET_NR_osf_old_vtrace 115 /* not implemented */ #define TARGET_NR_osf_gettimeofday 116 #define TARGET_NR_osf_getrusage 117 #define TARGET_NR_getsockopt 118 #define TARGET_NR_readv 120 #define TARGET_NR_writev 121 #define TARGET_NR_osf_settimeofday 122 #define TARGET_NR_fchown 123 #define TARGET_NR_fchmod 124 #define TARGET_NR_recvfrom 125 #define TARGET_NR_setreuid 126 #define TARGET_NR_setregid 127 #define TARGET_NR_rename 128 #define TARGET_NR_truncate 129 #define TARGET_NR_ftruncate 130 #define TARGET_NR_flock 131 #define TARGET_NR_setgid 132 #define TARGET_NR_sendto 133 #define TARGET_NR_shutdown 134 #define TARGET_NR_socketpair 135 #define TARGET_NR_mkdir 136 #define TARGET_NR_rmdir 137 #define TARGET_NR_osf_utimes 138 #define TARGET_NR_osf_old_sigreturn 139 /* not implemented */ #define TARGET_NR_osf_adjtime 140 /* not implemented */ #define TARGET_NR_getpeername 141 #define TARGET_NR_osf_gethostid 142 /* not implemented */ #define TARGET_NR_osf_sethostid 143 /* not implemented */ #define TARGET_NR_getrlimit 144 #define TARGET_NR_setrlimit 145 #define TARGET_NR_osf_old_killpg 146 /* not implemented */ #define TARGET_NR_setsid 147 #define TARGET_NR_quotactl 148 #define TARGET_NR_osf_oldquota 149 /* not implemented */ #define TARGET_NR_getsockname 150 #define TARGET_NR_osf_pid_block 153 /* not implemented */ #define TARGET_NR_osf_pid_unblock 154 /* not implemented */ #define TARGET_NR_sigaction 156 #define TARGET_NR_osf_sigwaitprim 157 /* not implemented */ #define TARGET_NR_osf_nfssvc 158 /* not implemented */ #define TARGET_NR_osf_getdirentries 159 #define TARGET_NR_osf_statfs 160 #define TARGET_NR_osf_fstatfs 161 #define TARGET_NR_osf_asynch_daemon 163 /* not implemented */ #define TARGET_NR_osf_getfh 164 /* not implemented */ #define TARGET_NR_osf_getdomainname 165 #define TARGET_NR_setdomainname 166 #define TARGET_NR_osf_exportfs 169 /* not implemented */ #define TARGET_NR_osf_alt_plock 181 /* not implemented */ #define TARGET_NR_osf_getmnt 184 /* not implemented */ #define TARGET_NR_osf_alt_sigpending 187 /* not implemented */ #define TARGET_NR_osf_alt_setsid 188 /* not implemented */ #define TARGET_NR_osf_swapon 199 #define TARGET_NR_msgctl 200 #define TARGET_NR_msgget 201 #define TARGET_NR_msgrcv 202 #define TARGET_NR_msgsnd 203 #define TARGET_NR_semctl 204 #define TARGET_NR_semget 205 #define TARGET_NR_semop 206 #define TARGET_NR_osf_utsname 207 #define TARGET_NR_lchown 208 #define TARGET_NR_osf_shmat 209 #define TARGET_NR_shmctl 210 #define TARGET_NR_shmdt 211 #define TARGET_NR_shmget 212 #define TARGET_NR_osf_mvalid 213 /* not implemented */ #define TARGET_NR_osf_getaddressconf 214 /* not implemented */ #define TARGET_NR_osf_msleep 215 /* not implemented */ #define TARGET_NR_osf_mwakeup 216 /* not implemented */ #define TARGET_NR_msync 217 #define TARGET_NR_osf_signal 218 /* not implemented */ #define TARGET_NR_osf_utc_gettime 219 /* not implemented */ #define TARGET_NR_osf_utc_adjtime 220 /* not implemented */ #define TARGET_NR_osf_security 222 /* not implemented */ #define TARGET_NR_osf_kloadcall 223 /* not implemented */ #define TARGET_NR_getpgid 233 #define TARGET_NR_getsid 234 #define TARGET_NR_sigaltstack 235 #define TARGET_NR_osf_waitid 236 /* not implemented */ #define TARGET_NR_osf_priocntlset 237 /* not implemented */ #define TARGET_NR_osf_sigsendset 238 /* not implemented */ #define TARGET_NR_osf_set_speculative 239 /* not implemented */ #define TARGET_NR_osf_msfs_syscall 240 /* not implemented */ #define TARGET_NR_osf_sysinfo 241 #define TARGET_NR_osf_uadmin 242 /* not implemented */ #define TARGET_NR_osf_fuser 243 /* not implemented */ #define TARGET_NR_osf_proplist_syscall 244 #define TARGET_NR_osf_ntp_adjtime 245 /* not implemented */ #define TARGET_NR_osf_ntp_gettime 246 /* not implemented */ #define TARGET_NR_osf_pathconf 247 /* not implemented */ #define TARGET_NR_osf_fpathconf 248 /* not implemented */ #define TARGET_NR_osf_uswitch 250 /* not implemented */ #define TARGET_NR_osf_usleep_thread 251 #define TARGET_NR_osf_audcntl 252 /* not implemented */ #define TARGET_NR_osf_audgen 253 /* not implemented */ #define TARGET_NR_sysfs 254 #define TARGET_NR_osf_subsys_info 255 /* not implemented */ #define TARGET_NR_osf_getsysinfo 256 #define TARGET_NR_osf_setsysinfo 257 #define TARGET_NR_osf_afs_syscall 258 /* not implemented */ #define TARGET_NR_osf_swapctl 259 /* not implemented */ #define TARGET_NR_osf_memcntl 260 /* not implemented */ #define TARGET_NR_osf_fdatasync 261 /* not implemented */ /* * Linux-specific system calls begin at 300 */ #define TARGET_NR_bdflush 300 #define TARGET_NR_sethae 301 #define TARGET_NR_mount 302 #define TARGET_NR_old_adjtimex 303 #define TARGET_NR_swapoff 304 #define TARGET_NR_getdents 305 #define TARGET_NR_create_module 306 #define TARGET_NR_init_module 307 #define TARGET_NR_delete_module 308 #define TARGET_NR_get_kernel_syms 309 #define TARGET_NR_syslog 310 #define TARGET_NR_reboot 311 #define TARGET_NR_clone 312 #define TARGET_NR_uselib 313 #define TARGET_NR_mlock 314 #define TARGET_NR_munlock 315 #define TARGET_NR_mlockall 316 #define TARGET_NR_munlockall 317 #define TARGET_NR_sysinfo 318 #define TARGET_NR__sysctl 319 /* 320 was sys_idle. */ #define TARGET_NR_oldumount 321 #define TARGET_NR_swapon 322 #define TARGET_NR_times 323 #define TARGET_NR_personality 324 #define TARGET_NR_setfsuid 325 #define TARGET_NR_setfsgid 326 #define TARGET_NR_ustat 327 #define TARGET_NR_statfs 328 #define TARGET_NR_fstatfs 329 #define TARGET_NR_sched_setparam 330 #define TARGET_NR_sched_getparam 331 #define TARGET_NR_sched_setscheduler 332 #define TARGET_NR_sched_getscheduler 333 #define TARGET_NR_sched_yield 334 #define TARGET_NR_sched_get_priority_max 335 #define TARGET_NR_sched_get_priority_min 336 #define TARGET_NR_sched_rr_get_interval 337 #define TARGET_NR_afs_syscall 338 #define TARGET_NR_uname 339 #define TARGET_NR_nanosleep 340 #define TARGET_NR_mremap 341 #define TARGET_NR_nfsservctl 342 #define TARGET_NR_setresuid 343 #define TARGET_NR_getresuid 344 #define TARGET_NR_pciconfig_read 345 #define TARGET_NR_pciconfig_write 346 #define TARGET_NR_query_module 347 #define TARGET_NR_prctl 348 #define TARGET_NR_pread64 349 #define TARGET_NR_pwrite64 350 #define TARGET_NR_rt_sigreturn 351 #define TARGET_NR_rt_sigaction 352 #define TARGET_NR_rt_sigprocmask 353 #define TARGET_NR_rt_sigpending 354 #define TARGET_NR_rt_sigtimedwait 355 #define TARGET_NR_rt_sigqueueinfo 356 #define TARGET_NR_rt_sigsuspend 357 #define TARGET_NR_select 358 #define TARGET_NR_gettimeofday 359 #define TARGET_NR_settimeofday 360 #define TARGET_NR_getitimer 361 #define TARGET_NR_setitimer 362 #define TARGET_NR_utimes 363 #define TARGET_NR_getrusage 364 #define TARGET_NR_wait4 365 #define TARGET_NR_adjtimex 366 #define TARGET_NR_getcwd 367 #define TARGET_NR_capget 368 #define TARGET_NR_capset 369 #define TARGET_NR_sendfile 370 #define TARGET_NR_setresgid 371 #define TARGET_NR_getresgid 372 #define TARGET_NR_dipc 373 #define TARGET_NR_pivot_root 374 #define TARGET_NR_mincore 375 #define TARGET_NR_pciconfig_iobase 376 #define TARGET_NR_getdents64 377 #define TARGET_NR_gettid 378 #define TARGET_NR_readahead 379 /* 380 is unused */ #define TARGET_NR_tkill 381 #define TARGET_NR_setxattr 382 #define TARGET_NR_lsetxattr 383 #define TARGET_NR_fsetxattr 384 #define TARGET_NR_getxattr 385 #define TARGET_NR_lgetxattr 386 #define TARGET_NR_fgetxattr 387 #define TARGET_NR_listxattr 388 #define TARGET_NR_llistxattr 389 #define TARGET_NR_flistxattr 390 #define TARGET_NR_removexattr 391 #define TARGET_NR_lremovexattr 392 #define TARGET_NR_fremovexattr 393 #define TARGET_NR_futex 394 #define TARGET_NR_sched_setaffinity 395 #define TARGET_NR_sched_getaffinity 396 #define TARGET_NR_tuxcall 397 #define TARGET_NR_io_setup 398 #define TARGET_NR_io_destroy 399 #define TARGET_NR_io_getevents 400 #define TARGET_NR_io_submit 401 #define TARGET_NR_io_cancel 402 #define TARGET_NR_exit_group 405 #define TARGET_NR_lookup_dcookie 406 #define TARGET_NR_sys_epoll_create 407 #define TARGET_NR_sys_epoll_ctl 408 #define TARGET_NR_sys_epoll_wait 409 #define TARGET_NR_remap_file_pages 410 #define TARGET_NR_set_tid_address 411 #define TARGET_NR_restart_syscall 412 #define TARGET_NR_fadvise64 413 #define TARGET_NR_timer_create 414 #define TARGET_NR_timer_settime 415 #define TARGET_NR_timer_gettime 416 #define TARGET_NR_timer_getoverrun 417 #define TARGET_NR_timer_delete 418 #define TARGET_NR_clock_settime 419 #define TARGET_NR_clock_gettime 420 #define TARGET_NR_clock_getres 421 #define TARGET_NR_clock_nanosleep 422 #define TARGET_NR_semtimedop 423 #define TARGET_NR_tgkill 424 #define TARGET_NR_stat64 425 #define TARGET_NR_lstat64 426 #define TARGET_NR_fstat64 427 #define TARGET_NR_vserver 428 #define TARGET_NR_mbind 429 #define TARGET_NR_get_mempolicy 430 #define TARGET_NR_set_mempolicy 431 #define TARGET_NR_mq_open 432 #define TARGET_NR_mq_unlink 433 #define TARGET_NR_mq_timedsend 434 #define TARGET_NR_mq_timedreceive 435 #define TARGET_NR_mq_notify 436 #define TARGET_NR_mq_getsetattr 437 #define TARGET_NR_waitid 438 #define TARGET_NR_add_key 439 #define TARGET_NR_request_key 440 #define TARGET_NR_keyctl 441 #define TARGET_NR_ioprio_set 442 #define TARGET_NR_ioprio_get 443 #define TARGET_NR_inotify_init 444 #define TARGET_NR_inotify_add_watch 445 #define TARGET_NR_inotify_rm_watch 446 --- NEW FILE: termbits.h --- typedef unsigned char cc_t; typedef unsigned int speed_t; typedef unsigned int tcflag_t; #define TARGET_NCCS 19 struct target_termios { tcflag_t c_iflag; /* input mode flags */ tcflag_t c_oflag; /* output mode flags */ tcflag_t c_cflag; /* control mode flags */ tcflag_t c_lflag; /* local mode flags */ cc_t c_cc[TARGET_NCCS]; /* control characters */ cc_t c_line; /* line discipline (== c_cc[19]) */ speed_t c_ispeed; /* input speed */ speed_t c_ospeed; /* output speed */ }; /* c_cc characters */ #define TARGET_VEOF 0 #define TARGET_VEOL 1 #define TARGET_VEOL2 2 #define TARGET_VERASE 3 #define TARGET_VWERASE 4 #define TARGET_VKILL 5 #define TARGET_VREPRINT 6 #define TARGET_VSWTC 7 #define TARGET_VINTR 8 #define TARGET_VQUIT 9 #define TARGET_VSUSP 10 #define TARGET_VSTART 12 #define TARGET_VSTOP 13 #define TARGET_VLNEXT 14 #define TARGET_VDISCARD 15 #define TARGET_VMIN 16 #define TARGET_VTIME 17 /* 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_IXON 0001000 #define TARGET_IXOFF 0002000 #define TARGET_IXANY 0004000 #define TARGET_IUCLC 0010000 #define TARGET_IMAXBEL 0020000 #define TARGET_IUTF8 0040000 /* c_oflag bits */ #define TARGET_OPOST 0000001 #define TARGET_ONLCR 0000002 #define TARGET_OLCUC 0000004 #define TARGET_OCRNL 0000010 #define TARGET_ONOCR 0000020 #define TARGET_ONLRET 0000040 #define TARGET_OFILL 00000100 #define TARGET_OFDEL 00000200 #define TARGET_NLDLY 00001400 #define TARGET_NL0 00000000 #define TARGET_NL1 00000400 #define TARGET_NL2 00001000 #define TARGET_NL3 00001400 #define TARGET_TABDLY 00006000 #define TARGET_TAB0 00000000 #define TARGET_TAB1 00002000 #define TARGET_TAB2 00004000 #define TARGET_TAB3 00006000 #define TARGET_CRDLY 00030000 #define TARGET_CR0 00000000 #define TARGET_CR1 00010000 #define TARGET_CR2 00020000 #define TARGET_CR3 00030000 #define TARGET_FFDLY 00040000 #define TARGET_FF0 00000000 #define TARGET_FF1 00040000 #define TARGET_BSDLY 00100000 #define TARGET_BS0 00000000 #define TARGET_BS1 00100000 #define TARGET_VTDLY 00200000 #define TARGET_VT0 00000000 #define TARGET_VT1 00200000 #define TARGET_XTABS 01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. */ /* c_cflag bit meaning */ #define TARGET_CBAUD 0000037 #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_CBAUDEX 0000000 #define TARGET_B57600 00020 #define TARGET_B115200 00021 #define TARGET_B230400 00022 #define TARGET_B460800 00023 #define TARGET_B500000 00024 #define TARGET_B576000 00025 #define TARGET_B921600 00026 #define TARGET_B1000000 00027 #define TARGET_B1152000 00030 #define TARGET_B1500000 00031 #define TARGET_B2000000 00032 #define TARGET_B2500000 00033 #define TARGET_B3000000 00034 #define TARGET_B3500000 00035 #define TARGET_B4000000 00036 #define TARGET_CSIZE 00001400 #define TARGET_CS5 00000000 #define TARGET_CS6 00000400 #define TARGET_CS7 00001000 #define TARGET_CS8 00001400 #define TARGET_CSTOPB 00002000 #define TARGET_CREAD 00004000 #define TARGET_PARENB 00010000 #define TARGET_PARODD 00020000 #define TARGET_HUPCL 00040000 #define TARGET_CLOCAL 00100000 #define TARGET_CMSPAR 010000000000 /* mark or space (stick) parity */ #define TARGET_CRTSCTS 020000000000 /* flow control */ /* c_lflag bits */ #define TARGET_ISIG 0x00000080 #define TARGET_ICANON 0x00000100 #define TARGET_XCASE 0x00004000 #define TARGET_ECHO 0x00000008 #define TARGET_ECHOE 0x00000002 #define TARGET_ECHOK 0x00000004 #define TARGET_ECHONL 0x00000010 #define TARGET_NOFLSH 0x80000000 #define TARGET_TOSTOP 0x00400000 #define TARGET_ECHOCTL 0x00000040 #define TARGET_ECHOPRT 0x00000020 #define TARGET_ECHOKE 0x00000001 #define TARGET_FLUSHO 0x00800000 #define TARGET_PENDIN 0x20000000 #define TARGET_IEXTEN 0x00000400 #define TARGET_FIOCLEX _IO('f', 1) #define TARGET_FIONCLEX _IO('f', 2) #define TARGET_FIOASYNC _IOW('f', 125, int) #define TARGET_FIONBIO _IOW('f', 126, int) #define TARGET_FIONREAD _IOR('f', 127, int) #define TARGET_TIOCINQ FIONREAD #define TARGET_FIOQSIZE _IOR('f', 128, loff_t) #define TARGET_TIOCGETP _IOR('t', 8, struct sgttyb) #define TARGET_TIOCSETP _IOW('t', 9, struct sgttyb) #define TARGET_TIOCSETN _IOW('t', 10, struct sgttyb) /* TIOCSETP wo flush */ #define TARGET_TIOCSETC _IOW('t', 17, struct tchars) #define TARGET_TIOCGETC _IOR('t', 18, struct tchars) #define TARGET_TCGETS _IOR('t', 19, struct termios) #define TARGET_TCSETS _IOW('t', 20, struct termios) #define TARGET_TCSETSW _IOW('t', 21, struct termios) #define TARGET_TCSETSF _IOW('t', 22, struct termios) #define TARGET_TCGETA _IOR('t', 23, struct termio) #define TARGET_TCSETA _IOW('t', 24, struct termio) #define TARGET_TCSETAW _IOW('t', 25, struct termio) #define TARGET_TCSETAF _IOW('t', 28, struct termio) #define TARGET_TCSBRK _IO('t', 29) #define TARGET_TCXONC _IO('t', 30) #define TARGET_TCFLSH _IO('t', 31) #define TARGET_TIOCSWINSZ _IOW('t', 103, struct winsize) #define TARGET_TIOCGWINSZ _IOR('t', 104, struct winsize) #define TARGET_TIOCSTART _IO('t', 110) /* start output, like ^Q */ #define TARGET_TIOCSTOP _IO('t', 111) /* stop output, like ^S */ #define TARGET_TIOCOUTQ _IOR('t', 115, int) /* output queue size */ #define TARGET_TIOCGLTC _IOR('t', 116, struct ltchars) #define TARGET_TIOCSLTC _IOW('t', 117, struct ltchars) #define TARGET_TIOCSPGRP _IOW('t', 118, int) #define TARGET_TIOCGPGRP _IOR('t', 119, int) #define TARGET_TIOCEXCL 0x540C #define TARGET_TIOCNXCL 0x540D #define TARGET_TIOCSCTTY 0x540E #define TARGET_TIOCSTI 0x5412 #define TARGET_TIOCMGET 0x5415 #define TARGET_TIOCMBIS 0x5416 #define TARGET_TIOCMBIC 0x5417 #define TARGET_TIOCMSET 0x5418 # define TARGET_TIOCM_LE 0x001 # define TARGET_TIOCM_DTR 0x002 # define TARGET_TIOCM_RTS 0x004 # define TARGET_TIOCM_ST 0x008 # define TARGET_TIOCM_SR 0x010 # define TARGET_TIOCM_CTS 0x020 # define TARGET_TIOCM_CAR 0x040 # define TARGET_TIOCM_RNG 0x080 # define TARGET_TIOCM_DSR 0x100 # define TARGET_TIOCM_CD TIOCM_CAR # define TARGET_TIOCM_RI TIOCM_RNG # define TARGET_TIOCM_OUT1 0x2000 # define TARGET_TIOCM_OUT2 0x4000 # define TARGET_TIOCM_LOOP 0x8000 #define TARGET_TIOCGSOFTCAR 0x5419 #define TARGET_TIOCSSOFTCAR 0x541A #define TARGET_TIOCLINUX 0x541C #define TARGET_TIOCCONS 0x541D #define TARGET_TIOCGSERIAL 0x541E #define TARGET_TIOCSSERIAL 0x541F #define TARGET_TIOCPKT 0x5420 # 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_TIOCNOTTY 0x5422 #define TARGET_TIOCSETD 0x5423 #define TARGET_TIOCGETD 0x5424 #define TARGET_TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */ #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 _IOR('T',0x30, unsigned int) /* Get Pty Number (of pty-mux device) */ #define TARGET_TIOCSPTLCK _IOW('T',0x31, int) /* Lock/unlock Pty */ #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 */ /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ # define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */ #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 */ |
From: Stuart B. <zu...@us...> - 2008-02-18 00:14:01
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user/ppc64 In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv24609/linux-user/ppc64 Added Files: syscall.h syscall_nr.h termbits.h Log Message: Update to QEMU CVS from 2007-06-01. --- NEW FILE: syscall.h --- /* * PPC emulation for qemu: syscall definitions. * * Copyright (c) 2003 Jocelyn Mayer * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /* XXX: ABSOLUTELY BUGGY: * for now, this is quite just a cut-and-paste from i386 target... */ /* default linux values for the selectors */ #define __USER_DS (1) struct target_pt_regs { unsigned long gpr[32]; unsigned long nip; unsigned long msr; unsigned long orig_gpr3; /* Used for restarting system calls */ unsigned long ctr; unsigned long link; unsigned long xer; unsigned long ccr; unsigned long mq; /* 601 only (not used at present) */ /* Used on APUS to hold IPL value. */ unsigned long trap; /* Reason for being here */ unsigned long dar; /* Fault registers */ unsigned long dsisr; unsigned long result; /* Result of a system call */ }; /* ioctls */ struct target_revectored_struct { target_ulong __map[8]; /* 256 bits */ }; /* * flags masks */ /* ipcs */ #define TARGET_SEMOP 1 #define TARGET_SEMGET 2 #define TARGET_SEMCTL 3 #define TARGET_MSGSND 11 #define TARGET_MSGRCV 12 #define TARGET_MSGGET 13 #define TARGET_MSGCTL 14 #define TARGET_SHMAT 21 #define TARGET_SHMDT 22 #define TARGET_SHMGET 23 #define TARGET_SHMCTL 24 struct target_msgbuf { int mtype; char mtext[1]; }; struct target_ipc_kludge { unsigned int msgp; /* Really (struct msgbuf *) */ int msgtyp; }; struct target_ipc_perm { int key; unsigned short uid; unsigned short gid; unsigned short cuid; unsigned short cgid; unsigned short mode; unsigned short seq; }; struct target_msqid_ds { struct target_ipc_perm msg_perm; unsigned int msg_first; /* really struct target_msg* */ unsigned int msg_last; /* really struct target_msg* */ unsigned int msg_stime; /* really target_time_t */ unsigned int msg_rtime; /* really target_time_t */ unsigned int msg_ctime; /* really target_time_t */ unsigned int wwait; /* really struct wait_queue* */ unsigned int rwait; /* really struct wait_queue* */ unsigned short msg_cbytes; unsigned short msg_qnum; unsigned short msg_qbytes; unsigned short msg_lspid; unsigned short msg_lrpid; }; struct target_shmid_ds { struct target_ipc_perm shm_perm; int shm_segsz; unsigned int shm_atime; /* really target_time_t */ unsigned int shm_dtime; /* really target_time_t */ unsigned int shm_ctime; /* really target_time_t */ unsigned short shm_cpid; unsigned short shm_lpid; short shm_nattch; unsigned short shm_npages; unsigned long *shm_pages; void *attaches; /* really struct shm_desc * */ }; #define TARGET_IPC_RMID 0 #define TARGET_IPC_SET 1 #define TARGET_IPC_STAT 2 union target_semun { int val; unsigned int buf; /* really struct semid_ds * */ unsigned int array; /* really unsigned short * */ unsigned int __buf; /* really struct seminfo * */ unsigned int __pad; /* really void* */ }; #define UNAME_MACHINE "ppc" --- NEW FILE: syscall_nr.h --- /* * This file contains the system call numbers. */ #define TARGET_NR_restart_syscall 0 #define TARGET_NR_exit 1 #define TARGET_NR_fork 2 #define TARGET_NR_read 3 #define TARGET_NR_write 4 #define TARGET_NR_open 5 #define TARGET_NR_close 6 #define TARGET_NR_waitpid 7 #define TARGET_NR_creat 8 #define TARGET_NR_link 9 #define TARGET_NR_unlink 10 #define TARGET_NR_execve 11 #define TARGET_NR_chdir 12 #define TARGET_NR_time 13 #define TARGET_NR_mknod 14 #define TARGET_NR_chmod 15 #define TARGET_NR_lchown32 16 #define TARGET_NR_break 17 #define TARGET_NR_oldstat 18 #define TARGET_NR_lseek 19 #define TARGET_NR_getpid 20 #define TARGET_NR_mount 21 #define TARGET_NR_umount 22 #define TARGET_NR_setuid32 23 #define TARGET_NR_getuid32 24 #define TARGET_NR_stime 25 #define TARGET_NR_ptrace 26 #define TARGET_NR_alarm 27 #define TARGET_NR_oldfstat 28 #define TARGET_NR_pause 29 #define TARGET_NR_utime 30 #define TARGET_NR_stty 31 #define TARGET_NR_gtty 32 #define TARGET_NR_access 33 #define TARGET_NR_nice 34 #define TARGET_NR_ftime 35 #define TARGET_NR_sync 36 #define TARGET_NR_kill 37 #define TARGET_NR_rename 38 #define TARGET_NR_mkdir 39 #define TARGET_NR_rmdir 40 #define TARGET_NR_dup 41 #define TARGET_NR_pipe 42 #define TARGET_NR_times 43 #define TARGET_NR_prof 44 #define TARGET_NR_brk 45 #define TARGET_NR_setgid32 46 #define TARGET_NR_getgid32 47 #define TARGET_NR_signal 48 #define TARGET_NR_geteuid32 49 #define TARGET_NR_getegid32 50 #define TARGET_NR_acct 51 #define TARGET_NR_umount2 52 #define TARGET_NR_lock 53 #define TARGET_NR_ioctl 54 #define TARGET_NR_fcntl 55 #define TARGET_NR_mpx 56 #define TARGET_NR_setpgid 57 #define TARGET_NR_ulimit 58 #define TARGET_NR_oldolduname 59 #define TARGET_NR_umask 60 #define TARGET_NR_chroot 61 #define TARGET_NR_ustat 62 #define TARGET_NR_dup2 63 #define TARGET_NR_getppid 64 #define TARGET_NR_getpgrp 65 #define TARGET_NR_setsid 66 #define TARGET_NR_sigaction 67 #define TARGET_NR_sgetmask 68 #define TARGET_NR_ssetmask 69 #define TARGET_NR_setreuid32 70 #define TARGET_NR_setregid32 71 #define TARGET_NR_sigsuspend 72 #define TARGET_NR_sigpending 73 #define TARGET_NR_sethostname 74 #define TARGET_NR_setrlimit 75 #define TARGET_NR_getrlimit 76 #define TARGET_NR_getrusage 77 #define TARGET_NR_gettimeofday 78 #define TARGET_NR_settimeofday 79 #define TARGET_NR_getgroups32 80 #define TARGET_NR_setgroups32 81 #define TARGET_NR_select 82 #define TARGET_NR_symlink 83 #define TARGET_NR_oldlstat 84 #define TARGET_NR_readlink 85 #define TARGET_NR_uselib 86 #define TARGET_NR_swapon 87 #define TARGET_NR_reboot 88 #define TARGET_NR_readdir 89 #define TARGET_NR_mmap 90 #define TARGET_NR_munmap 91 #define TARGET_NR_truncate 92 #define TARGET_NR_ftruncate 93 #define TARGET_NR_fchmod 94 #define TARGET_NR_fchown32 95 #define TARGET_NR_getpriority 96 #define TARGET_NR_setpriority 97 #define TARGET_NR_profil 98 #define TARGET_NR_statfs 99 #define TARGET_NR_fstatfs 100 #define TARGET_NR_ioperm 101 #define TARGET_NR_socketcall 102 #define TARGET_NR_syslog 103 #define TARGET_NR_setitimer 104 #define TARGET_NR_getitimer 105 #define TARGET_NR_stat 106 #define TARGET_NR_lstat 107 #define TARGET_NR_fstat 108 #define TARGET_NR_olduname 109 #define TARGET_NR_iopl 110 #define TARGET_NR_vhangup 111 #define TARGET_NR_idle 112 #define TARGET_NR_vm86 113 #define TARGET_NR_wait4 114 #define TARGET_NR_swapoff 115 #define TARGET_NR_sysinfo 116 #define TARGET_NR_ipc 117 #define TARGET_NR_fsync 118 #define TARGET_NR_sigreturn 119 #define TARGET_NR_clone 120 #define TARGET_NR_setdomainname 121 #define TARGET_NR_uname 122 #define TARGET_NR_modify_ldt 123 #define TARGET_NR_adjtimex 124 #define TARGET_NR_mprotect 125 #define TARGET_NR_sigprocmask 126 #define TARGET_NR_create_module 127 #define TARGET_NR_init_module 128 #define TARGET_NR_delete_module 129 #define TARGET_NR_get_kernel_syms 130 #define TARGET_NR_quotactl 131 #define TARGET_NR_getpgid 132 #define TARGET_NR_fchdir 133 #define TARGET_NR_bdflush 134 #define TARGET_NR_sysfs 135 #define TARGET_NR_personality 136 #define TARGET_NR_afs_syscall 137 /* Syscall for Andrew File System */ #define TARGET_NR_setfsuid32 138 #define TARGET_NR_setfsgid32 139 #define TARGET_NR__llseek 140 #define TARGET_NR_getdents 141 #define TARGET_NR__newselect 142 #define TARGET_NR_flock 143 #define TARGET_NR_msync 144 #define TARGET_NR_readv 145 #define TARGET_NR_writev 146 #define TARGET_NR_getsid 147 #define TARGET_NR_fdatasync 148 #define TARGET_NR__sysctl 149 #define TARGET_NR_mlock 150 #define TARGET_NR_munlock 151 #define TARGET_NR_mlockall 152 #define TARGET_NR_munlockall 153 #define TARGET_NR_sched_setparam 154 #define TARGET_NR_sched_getparam 155 #define TARGET_NR_sched_setscheduler 156 #define TARGET_NR_sched_getscheduler 157 #define TARGET_NR_sched_yield 158 #define TARGET_NR_sched_get_priority_max 159 #define TARGET_NR_sched_get_priority_min 160 #define TARGET_NR_sched_rr_get_interval 161 #define TARGET_NR_nanosleep 162 #define TARGET_NR_mremap 163 #define TARGET_NR_setresuid32 164 #define TARGET_NR_getresuid32 165 #define TARGET_NR_query_module 166 #define TARGET_NR_poll 167 #define TARGET_NR_nfsservctl 168 #define TARGET_NR_setresgid32 169 #define TARGET_NR_getresgid32 170 #define TARGET_NR_prctl 171 #define TARGET_NR_rt_sigreturn 172 #define TARGET_NR_rt_sigaction 173 #define TARGET_NR_rt_sigprocmask 174 #define TARGET_NR_rt_sigpending 175 #define TARGET_NR_rt_sigtimedwait 176 #define TARGET_NR_rt_sigqueueinfo 177 #define TARGET_NR_rt_sigsuspend 178 #define TARGET_NR_pread64 179 #define TARGET_NR_pwrite64 180 #define TARGET_NR_chown32 181 #define TARGET_NR_getcwd 182 #define TARGET_NR_capget 183 #define TARGET_NR_capset 184 #define TARGET_NR_sigaltstack 185 #define TARGET_NR_sendfile 186 #define TARGET_NR_getpmsg 187 /* some people actually want streams */ #define TARGET_NR_putpmsg 188 /* some people actually want streams */ #define TARGET_NR_vfork 189 #define TARGET_NR_ugetrlimit 190 /* SuS compliant getrlimit */ #define TARGET_NR_readahead 191 #define TARGET_NR_mmap2 192 #define TARGET_NR_truncate64 193 #define TARGET_NR_ftruncate64 194 #define TARGET_NR_stat64 195 #define TARGET_NR_lstat64 196 #define TARGET_NR_fstat64 197 #define TARGET_NR_pciconfig_read 198 #define TARGET_NR_pciconfig_write 199 #define TARGET_NR_pciconfig_iobase 200 #define TARGET_NR_multiplexer 201 #define TARGET_NR_getdents64 202 #define TARGET_NR_pivot_root 203 #define TARGET_NR_fcntl64 204 #define TARGET_NR_madvise 205 #define TARGET_NR_mincore 206 #define TARGET_NR_gettid 207 #define TARGET_NR_tkill 208 #define TARGET_NR_setxattr 209 #define TARGET_NR_lsetxattr 210 #define TARGET_NR_fsetxattr 211 #define TARGET_NR_getxattr 212 #define TARGET_NR_lgetxattr 213 #define TARGET_NR_fgetxattr 214 #define TARGET_NR_listxattr 215 #define TARGET_NR_llistxattr 216 #define TARGET_NR_flistxattr 217 #define TARGET_NR_removexattr 218 #define TARGET_NR_lremovexattr 219 #define TARGET_NR_fremovexattr 220 #define TARGET_NR_futex 221 #define TARGET_NR_sched_setaffinity 222 #define TARGET_NR_sched_getaffinity 223 /* 224 currently unused */ #define TARGET_NR_tuxcall 225 #define TARGET_NR_sendfile64 226 #define TARGET_NR_io_setup 227 #define TARGET_NR_io_destroy 228 #define TARGET_NR_io_getevents 229 #define TARGET_NR_io_submit 230 #define TARGET_NR_io_cancel 231 #define TARGET_NR_set_tid_address 232 #define TARGET_NR_fadvise64 233 #define TARGET_NR_exit_group 234 #define TARGET_NR_lookup_dcookie 235 #define TARGET_NR_epoll_create 236 #define TARGET_NR_epoll_ctl 237 #define TARGET_NR_epoll_wait 238 #define TARGET_NR_remap_file_pages 239 #define TARGET_NR_timer_create 240 #define TARGET_NR_timer_settime 241 #define TARGET_NR_timer_gettime 242 #define TARGET_NR_timer_getoverrun 243 #define TARGET_NR_timer_delete 244 #define TARGET_NR_clock_settime 245 #define TARGET_NR_clock_gettime 246 #define TARGET_NR_clock_getres 247 #define TARGET_NR_clock_nanosleep 248 #define TARGET_NR_swapcontext 249 #define TARGET_NR_tgkill 250 #define TARGET_NR_utimes 251 #define TARGET_NR_statfs64 252 #define TARGET_NR_fstatfs64 253 #define TARGET_NR_fadvise64_64 254 --- NEW FILE: termbits.h --- /* 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_cc[TARGET_NCCS]; /* control characters */ unsigned char c_line; /* line discipline */ unsigned int c_ispeed; /* input speed */ unsigned int c_ospeed; /* output speed */ }; /* 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_VMIN 5 #define TARGET_VEOL 6 #define TARGET_VTIME 7 #define TARGET_VEOL2 8 #define TARGET_VSWTC 9 #define TARGET_VWERASE 10 #define TARGET_VREPRINT 11 #define TARGET_VSUSP 12 #define TARGET_VSTART 13 #define TARGET_VSTOP 14 #define TARGET_VLNEXT 15 #define TARGET_VDISCARD 16 #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_IXON 0001000 #define TARGET_IXOFF 0002000 #define TARGET_IXANY 0004000 #define TARGET_IUCLC 0010000 #define TARGET_IMAXBEL 0020000 /* c_oflag bits */ #define TARGET_OPOST 0000001 #define TARGET_ONLCR 0000002 #define TARGET_OLCUC 0000004 #define TARGET_OCRNL 0000010 #define TARGET_ONOCR 0000020 #define TARGET_ONLRET 0000040 #define TARGET_OFILL 00000100 #define TARGET_OFDEL 00000200 #define TARGET_NLDLY 00001400 #define TARGET_NL0 00000000 #define TARGET_NL1 00000400 #define TARGET_NL2 00001000 #define TARGET_NL3 00001400 #define TARGET_TABDLY 00006000 #define TARGET_TAB0 00000000 #define TARGET_TAB1 00002000 #define TARGET_TAB2 00004000 #define TARGET_TAB3 00006000 #define TARGET_CRDLY 00030000 #define TARGET_CR0 00000000 #define TARGET_CR1 00010000 #define TARGET_CR2 00020000 #define TARGET_CR3 00030000 #define TARGET_FFDLY 00040000 #define TARGET_FF0 00000000 #define TARGET_FF1 00040000 #define TARGET_BSDLY 00100000 #define TARGET_BS0 00000000 #define TARGET_BS1 00100000 #define TARGET_VTDLY 00200000 #define TARGET_VT0 00000000 #define TARGET_VT1 00200000 #define TARGET_XTABS 01000000 /* Hmm.. Linux/i386 considers this part of TABDLY.. */ /* c_cflag bit meaning */ #define TARGET_CBAUD 0000377 #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_CBAUDEX 0000000 #define TARGET_B57600 00020 #define TARGET_B115200 00021 #define TARGET_B230400 00022 #define TARGET_B460800 00023 #define TARGET_B500000 00024 #define TARGET_B576000 00025 #define TARGET_B921600 00026 #define TARGET_B1000000 00027 #define TARGET_B1152000 00030 #define TARGET_B1500000 00031 #define TARGET_B2000000 00032 #define TARGET_B2500000 00033 #define TARGET_B3000000 00034 #define TARGET_B3500000 00035 #define TARGET_B4000000 00036 #define TARGET_CSIZE 00001400 #define TARGET_CS5 00000000 #define TARGET_CS6 00000400 #define TARGET_CS7 00001000 #define TARGET_CS8 00001400 #define TARGET_CSTOPB 00002000 #define TARGET_CREAD 00004000 #define TARGET_PARENB 00010000 #define TARGET_PARODD 00020000 #define TARGET_HUPCL 00040000 #define TARGET_CLOCAL 00100000 #define TARGET_CRTSCTS 020000000000 /* flow control */ /* c_lflag bits */ #define TARGET_ISIG 0x00000080 #define TARGET_ICANON 0x00000100 #define TARGET_XCASE 0x00004000 #define TARGET_ECHO 0x00000008 #define TARGET_ECHOE 0x00000002 #define TARGET_ECHOK 0x00000004 #define TARGET_ECHONL 0x00000010 #define TARGET_NOFLSH 0x80000000 #define TARGET_TOSTOP 0x00400000 #define TARGET_ECHOCTL 0x00000040 #define TARGET_ECHOPRT 0x00000020 #define TARGET_ECHOKE 0x00000001 #define TARGET_FLUSHO 0x00800000 #define TARGET_PENDIN 0x20000000 #define TARGET_IEXTEN 0x00000400 /* ioctls */ #define TARGET_FIOCLEX TARGET_IO('f', 1) #define TARGET_FIONCLEX TARGET_IO('f', 2) #define TARGET_FIOASYNC TARGET_IOW('f', 125, int) #define TARGET_FIONBIO TARGET_IOW('f', 126, int) #define TARGET_FIONREAD TARGET_IOR('f', 127, int) #define TARGET_TIOCINQ TARGET_FIONREAD //#define TARGET_FIOQSIZE TARGET_IOR('f', 128, loff_t) #define TARGET_TCGETS TARGET_IOR('t', 19, struct target_termios) #define TARGET_TCSETS TARGET_IOW('t', 20, struct target_termios) #define TARGET_TCSETSW TARGET_IOW('t', 21, struct target_termios) #define TARGET_TCSETSF TARGET_IOW('t', 22, struct target_termios) #define TARGET_TCGETA TARGET_IOR('t', 23, struct target_termio) #define TARGET_TCSETA TARGET_IOW('t', 24, struct target_termio) #define TARGET_TCSETAW TARGET_IOW('t', 25, struct target_termio) #define TARGET_TCSETAF TARGET_IOW('t', 28, struct target_termio) #define TARGET_TCSBRK TARGET_IO('t', 29) #define TARGET_TCXONC TARGET_IO('t', 30) #define TARGET_TCFLSH TARGET_IO('t', 31) #define TARGET_TIOCSWINSZ TARGET_IOW('t', 103, struct target_winsize) #define TARGET_TIOCGWINSZ TARGET_IOR('t', 104, struct target_winsize) #define TARGET_TIOCSTART TARGET_IO('t', 110) /* start output, like ^Q */ #define TARGET_TIOCSTOP TARGET_IO('t', 111) /* stop output, like ^S */ #define TARGET_TIOCOUTQ TARGET_IOR('t', 115, int) /* output queue size */ #define TARGET_TIOCGLTC TARGET_IOR('t', 116, struct target_ltchars) #define TARGET_TIOCSLTC TARGET_IOW('t', 117, struct target_ltchars) #define TARGET_TIOCSPGRP TARGET_IOW('t', 118, int) #define TARGET_TIOCGPGRP TARGET_IOR('t', 119, int) #define TARGET_TIOCEXCL 0x540C #define TARGET_TIOCNXCL 0x540D #define TARGET_TIOCSCTTY 0x540E #define TARGET_TIOCSTI 0x5412 #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_TIOCLINUX 0x541C #define TARGET_TIOCCONS 0x541D #define TARGET_TIOCGSERIAL 0x541E #define TARGET_TIOCSSERIAL 0x541F #define TARGET_TIOCPKT 0x5420 #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_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 */ /* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */ # define TARGET_TIOCSER_TEMT 0x01 /* Transmitter physically empty */ #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 */ |
From: Stuart B. <zu...@us...> - 2008-02-17 23:56:17
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user/x86_64 In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv17927/x86_64 Log Message: Directory /cvsroot/hppaqemu/hppaqemu/linux-user/x86_64 added to the repository |
From: Stuart B. <zu...@us...> - 2008-02-17 23:56:16
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user/ppc64 In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv17927/ppc64 Log Message: Directory /cvsroot/hppaqemu/hppaqemu/linux-user/ppc64 added to the repository |
From: Stuart B. <zu...@us...> - 2008-02-17 23:56:16
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user/alpha In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv17927/alpha Log Message: Directory /cvsroot/hppaqemu/hppaqemu/linux-user/alpha added to the repository |
From: Stuart B. <zu...@us...> - 2008-02-17 19:52:29
|
Update of /cvsroot/hppaqemu/hppaqemu In directory sc8-pr-cvs17.sourceforge.net:/tmp/cvs-serv16142 Modified Files: .cvsignore Log Message: Ignore hppa-linux-user and hppa-softmmu directories. Index: .cvsignore =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/.cvsignore,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- .cvsignore 27 Feb 2007 22:57:20 -0000 1.1.1.1 +++ .cvsignore 17 Feb 2008 19:52:16 -0000 1.2 @@ -33,6 +33,8 @@ .gdbinit sh4-linux-user sh4-softmmu +hppa-linux-user +hppa-softmmu *.aux *.cp *.dvi |
From: Stuart B. <zu...@us...> - 2007-04-20 15:08:09
|
Update of /cvsroot/hppaqemu/hppaqemu/target-hppa In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv6479 Modified Files: op.c Log Message: Avoid undefined behaviour of 32-bit left shifts in op_shrpw_cc(), based on a patch by Tomonori Yamane. Index: op.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/op.c,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- op.c 20 Apr 2007 14:53:06 -0000 1.30 +++ op.c 20 Apr 2007 15:08:05 -0000 1.31 @@ -701,7 +701,12 @@ /* INPUT: T0 = shift amount, T1 and T2 = register pair values */ /* OUTPUT: T0 */ T0 &= 0x1f; - T0 = (T1 << (32 - T0)) | (T2 >> T0); + + if (T0 == 0) + T0 = T2; /* avoid "<< 32" with undefined result */ + else + T0 = (T1 << (32 - T0)) | (T2 >> T0); + FORCE_RET(); } void OPPROTO op_extrw_cc(void) |
From: Stuart B. <zu...@us...> - 2007-04-20 14:53:12
|
Update of /cvsroot/hppaqemu/hppaqemu/target-hppa In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv749 Modified Files: op.c Log Message: dcor/idcor fixes, based on a patch by Tomonori Yamane. Index: op.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/op.c,v retrieving revision 1.29 retrieving revision 1.30 diff -u -d -r1.29 -r1.30 --- op.c 20 Apr 2007 14:44:38 -0000 1.29 +++ op.c 20 Apr 2007 14:53:06 -0000 1.30 @@ -673,26 +673,26 @@ void OPPROTO op_dcor_T0(void) { - T0 -= (((0x6 * (1 - (env->psw & PSW_CB7))) << 4) | - (((0x6 * (1 - (env->psw & PSW_CB6))) << 4) | - (((0x6 * (1 - (env->psw & PSW_CB5))) << 4) | - (((0x6 * (1 - (env->psw & PSW_CB4))) << 4) | - (((0x6 * (1 - (env->psw & PSW_CB3))) << 4) | - (((0x6 * (1 - (env->psw & PSW_CB2))) << 4) | - (((0x6 * (1 - (env->psw & PSW_CB1))) << 4) | - (((0x6 * (1 - (env->psw & PSW_CB0)))))))))))); + T0 -= ((((env->psw & PSW_CB7) ? 0 : 6) << 4) | + ((((env->psw & PSW_CB6) ? 0 : 6) << 4) | + ((((env->psw & PSW_CB5) ? 0 : 6) << 4) | + ((((env->psw & PSW_CB4) ? 0 : 6) << 4) | + ((((env->psw & PSW_CB3) ? 0 : 6) << 4) | + ((((env->psw & PSW_CB2) ? 0 : 6) << 4) | + ((((env->psw & PSW_CB1) ? 0 : 6) << 4) | + ((((env->psw & PSW_CB0) ? 0 : 6)))))))))); } void OPPROTO op_idcor_T0(void) { - T0 += (((0x6 * (env->psw & PSW_CB7)) << 4) | - (((0x6 * (env->psw & PSW_CB6)) << 4) | - (((0x6 * (env->psw & PSW_CB5)) << 4) | - (((0x6 * (env->psw & PSW_CB4)) << 4) | - (((0x6 * (env->psw & PSW_CB3)) << 4) | - (((0x6 * (env->psw & PSW_CB2)) << 4) | - (((0x6 * (env->psw & PSW_CB1)) << 4) | - (((0x6 * (env->psw & PSW_CB0))))))))))); + T0 += ((((env->psw & PSW_CB7) ? 6 : 0) << 4) | + ((((env->psw & PSW_CB6) ? 6 : 0) << 4) | + ((((env->psw & PSW_CB5) ? 6 : 0) << 4) | + ((((env->psw & PSW_CB4) ? 6 : 0) << 4) | + ((((env->psw & PSW_CB3) ? 6 : 0) << 4) | + ((((env->psw & PSW_CB2) ? 6 : 0) << 4) | + ((((env->psw & PSW_CB1) ? 6 : 0) << 4) | + ((((env->psw & PSW_CB0) ? 6 : 0)))))))))); } /* Shift/deposit insns */ |
From: Stuart B. <zu...@us...> - 2007-04-20 14:44:44
|
Update of /cvsroot/hppaqemu/hppaqemu/target-hppa In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv29892 Modified Files: op.c Log Message: ssm/rsm/mtsm fixes, by Tomonori Yamane. Index: op.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/op.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- op.c 20 Apr 2007 14:21:57 -0000 1.28 +++ op.c 20 Apr 2007 14:44:38 -0000 1.29 @@ -378,56 +378,44 @@ void OPPROTO op_ssm(void) { - T0 = env->psw & (PSW_W | PSW_E | PSW_O | PSW_G | PSW_F | PSW_R | PSW_Q | PSW_P | PSW_D | PSW_I); + T0 = env->psw & (PSW_G | PSW_F | PSW_R | PSW_Q | PSW_P | PSW_D | PSW_I); if (PARAM1 & (1 << 0)) - env->psw |= PSW_W; + env->psw |= PSW_I; if (PARAM1 & (1 << 1)) - env->psw |= PSW_E; + env->psw |= PSW_D; if (PARAM1 & (1 << 2)) - env->psw |= PSW_O; - if (PARAM1 & (1 << 3)) - env->psw |= PSW_G; + env->psw |= PSW_P; if (PARAM1 & (1 << 4)) - env->psw |= PSW_F; - if (PARAM1 & (1 << 5)) env->psw |= PSW_R; - if (PARAM1 & (1 << 7)) - env->psw |= PSW_P; - if (PARAM1 & (1 << 8)) - env->psw |= PSW_D; - if (PARAM1 & (1 << 9)) - env->psw |= PSW_I; + if (PARAM1 & (1 << 5)) + env->psw |= PSW_F; + if (PARAM1 & (1 << 6)) + env->psw |= PSW_G; } void OPPROTO op_rsm(void) { - T0 = env->psw & (PSW_W | PSW_E | PSW_O | PSW_G | PSW_F | PSW_R | PSW_Q | PSW_P | PSW_D | PSW_I); + T0 = env->psw & (PSW_G | PSW_F | PSW_R | PSW_Q | PSW_P | PSW_D | PSW_I); if (PARAM1 & (1 << 0)) - env->psw &= ~PSW_W; + env->psw &= ~PSW_I; if (PARAM1 & (1 << 1)) - env->psw &= ~PSW_E; + env->psw &= ~PSW_D; if (PARAM1 & (1 << 2)) - env->psw &= ~PSW_O; - if (PARAM1 & (1 << 3)) - env->psw &= ~PSW_G; + env->psw &= ~PSW_P; if (PARAM1 & (1 << 4)) - env->psw &= ~PSW_F; - if (PARAM1 & (1 << 5)) env->psw &= ~PSW_R; - if (PARAM1 & (1 << 7)) - env->psw &= ~PSW_P; - if (PARAM1 & (1 << 8)) - env->psw &= ~PSW_D; - if (PARAM1 & (1 << 9)) - env->psw &= ~PSW_I; + if (PARAM1 & (1 << 5)) + env->psw &= ~PSW_F; + if (PARAM1 & (1 << 6)) + env->psw &= ~PSW_G; } void OPPROTO op_mtsm(void) { - env->psw = env->psw & ~(PSW_W | PSW_E | PSW_O | PSW_G | PSW_F | PSW_R | PSW_Q | PSW_P | PSW_D | PSW_I); - env->psw |= T0 & (PSW_W | PSW_E | PSW_O | PSW_G | PSW_F | PSW_R | PSW_Q | PSW_P | PSW_D | PSW_I); + env->psw = env->psw & ~(PSW_G | PSW_F | PSW_R | PSW_Q | PSW_P | PSW_D | PSW_I); + env->psw |= T0 & (PSW_G | PSW_F | PSW_R | PSW_Q | PSW_P | PSW_D | PSW_I); } /* computation instructions... page 169 PA1.1 specification */ |
From: Stuart B. <zu...@us...> - 2007-04-20 14:22:06
|
Update of /cvsroot/hppaqemu/hppaqemu/target-hppa In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv20577 Modified Files: cpu.h op.c Log Message: Fix PSW definitions, based on a patch by Tomonori Yamane. Index: cpu.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/cpu.h,v retrieving revision 1.5 retrieving revision 1.6 diff -u -d -r1.5 -r1.6 --- cpu.h 9 Mar 2007 15:57:31 -0000 1.5 +++ cpu.h 20 Apr 2007 14:21:57 -0000 1.6 @@ -68,39 +68,39 @@ /* the shadow registers map to the following general registers */ // int shrmap[] = { 1, 6, 9, 16, 17, 24, 25 }; -#define PSW_Y 0x00000001 -#define PSW_Z 0x00000002 -#define PSW_W 0x00000010 -#define PSW_E 0x00000020 -#define PSW_S 0x00000040 -#define PSW_T 0x00000080 -#define PSW_H 0x00000100 -#define PSW_L 0x00000200 -#define PSW_N 0x00000400 -#define PSW_X 0x00000800 -#define PSW_B 0x00001000 -#define PSW_C 0x00002000 -#define PSW_V 0x00004000 -#define PSW_M 0x00008000 -#define PSW_CB 0x00ff0000 -#define PSW_CB0 0x00010000 -#define PSW_CB1 0x00020000 -#define PSW_CB2 0x00040000 -#define PSW_CB3 0x00080000 -#define PSW_CB4 0x00100000 -#define PSW_CB5 0x00200000 -#define PSW_CB6 0x00400000 -#define PSW_CB7 0x00800000 -#define PSW_O 0x01000000 -#define PSW_G 0x02000000 -#define PSW_F 0x04000000 -#define PSW_R 0x08000000 -#define PSW_Q 0x10000000 -#define PSW_P 0x20000000 -#define PSW_D 0x40000000 -#define PSW_I 0x80000000 +#define PSW_I 0x00000001 +#define PSW_D 0x00000002 +#define PSW_P 0x00000004 +#define PSW_Q 0x00000008 +#define PSW_R 0x00000010 +#define PSW_F 0x00000020 +#define PSW_G 0x00000040 +#define PSW_O 0x00000080 +#define PSW_CB 0x0000ff00 +#define PSW_CB0 0x00000100 +#define PSW_CB1 0x00000200 +#define PSW_CB2 0x00000400 +#define PSW_CB3 0x00000800 +#define PSW_CB4 0x00001000 +#define PSW_CB5 0x00002000 +#define PSW_CB6 0x00004000 +#define PSW_CB7 0x00008000 +#define PSW_M 0x00010000 +#define PSW_V 0x00020000 +#define PSW_C 0x00040000 +#define PSW_B 0x00080000 +#define PSW_X 0x00100000 +#define PSW_N 0x00200000 +#define PSW_L 0x00400000 +#define PSW_H 0x00800000 +#define PSW_T 0x01000000 +#define PSW_S 0x02000000 +#define PSW_E 0x04000000 +#define PSW_W 0x08000000 +#define PSW_Z 0x40000000 +#define PSW_Y 0x80000000 -#define PSW_CB7_SHIFT 8 /* CHECK */ +#define PSW_CB_SHIFT 8 typedef struct CPUHPPAState { target_ulong gr[32]; /* General Registers */ Index: op.c =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/target-hppa/op.c,v retrieving revision 1.27 retrieving revision 1.28 diff -u -d -r1.27 -r1.28 --- op.c 21 Mar 2007 21:17:50 -0000 1.27 +++ op.c 20 Apr 2007 14:21:57 -0000 1.28 @@ -455,7 +455,7 @@ carry &= 0x000000ff; /* 000000000000000000000000abcdefgh */ env->psw &= ~PSW_CB; - env->psw |= carry << PSW_CB7_SHIFT; + env->psw |= carry << PSW_CB_SHIFT; } void OPPROTO op_add_T1_T0(void) @@ -490,7 +490,7 @@ carry &= 0x000000ff; /* 000000000000000000000000abcdefgh */ env->psw &= ~PSW_CB; - env->psw |= carry << PSW_CB7_SHIFT; + env->psw |= carry << PSW_CB_SHIFT; } /* gen_op_add_T1_imm(1) -- for ADDC and ADDCO */ @@ -624,7 +624,7 @@ borrow &= 0x000000ff; /* 000000000000000000000000abcdefgh */ env->psw &= ~PSW_CB; - env->psw |= ~borrow << PSW_CB7_SHIFT; + env->psw |= ~borrow << PSW_CB_SHIFT; } void OPPROTO op_sub_T1_T0(void) @@ -659,7 +659,7 @@ borrow &= 0x000000ff; /* 000000000000000000000000abcdefgh */ env->psw &= ~PSW_CB; - env->psw |= ~borrow << PSW_CB7_SHIFT; + env->psw |= ~borrow << PSW_CB_SHIFT; } void OPPROTO op_ds_T1_T0(void) |
From: Stuart B. <zu...@us...> - 2007-03-30 00:06:59
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv31134 Modified Files: syscall_defs.h Log Message: Fix the IOC definitions to make them coherent with the kernel include files, based on a patch by Aurelien Jarno. Index: syscall_defs.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/linux-user/syscall_defs.h,v retrieving revision 1.3 retrieving revision 1.4 diff -u -d -r1.3 -r1.4 --- syscall_defs.h 5 Mar 2007 02:27:42 -0000 1.3 +++ syscall_defs.h 30 Mar 2007 00:06:56 -0000 1.4 @@ -49,7 +49,7 @@ #define TARGET_IOC_TYPEBITS 8 #if defined(TARGET_I386) || defined(TARGET_ARM) || defined(TARGET_SH4) \ - || defined(TARGET_M68K) || defined(TARGET_HPPA) + || defined(TARGET_M68K) #define TARGET_IOC_SIZEBITS 14 #define TARGET_IOC_DIRBITS 2 @@ -68,6 +68,15 @@ #define TARGET_IOC_READ 2U #define TARGET_IOC_WRITE 4U +#elif defined(TARGET_HPPA) + +#define TARGET_IOC_SIZEBITS 14 +#define TARGET_IOC_DIRBITS 2 + +#define TARGET_IOC_NONE 0U +#define TARGET_IOC_WRITE 2U +#define TARGET_IOC_READ 1U + #else #error unsupported CPU #endif |
From: Stuart B. <zu...@us...> - 2007-03-29 23:38:18
|
Update of /cvsroot/hppaqemu/hppaqemu/linux-user/hppa In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv20015 Modified Files: termbits.h Log Message: Add a few missing definitions to termbits.h taken from the kernel include files, by Aurelien Jarno. Index: termbits.h =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/linux-user/hppa/termbits.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- termbits.h 5 Mar 2007 02:27:42 -0000 1.2 +++ termbits.h 29 Mar 2007 23:37:50 -0000 1.3 @@ -217,3 +217,14 @@ #define TARGET_TIOCSTART 0x5461 #define TARGET_TIOCSTOP 0x5462 #define TARGET_TIOCSLTC 0x5462 + +/* 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 */ |
From: Stuart B. <zu...@us...> - 2007-03-29 23:24:42
|
Update of /cvsroot/hppaqemu/hppaqemu In directory sc8-pr-cvs5.sourceforge.net:/tmp/cvs-serv14575 Modified Files: Makefile Log Message: Add the hppa binaries to the tarball target, by Aurelien Jarno. Index: Makefile =================================================================== RCS file: /cvsroot/hppaqemu/hppaqemu/Makefile,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -u -d -r1.1.1.1 -r1.2 --- Makefile 23 Feb 2007 21:43:58 -0000 1.1.1.1 +++ Makefile 29 Mar 2007 23:24:33 -0000 1.2 @@ -147,6 +147,7 @@ $(bindir)/qemu-system-x86_64 \ $(bindir)/qemu-system-mips \ $(bindir)/qemu-system-mipsel \ + $(bindir)/qemu-system-hppa \ $(bindir)/qemu-system-arm \ $(bindir)/qemu-i386 \ $(bindir)/qemu-arm \ @@ -155,6 +156,7 @@ $(bindir)/qemu-ppc \ $(bindir)/qemu-mips \ $(bindir)/qemu-mipsel \ + $(bindir)/qemu-hppa \ $(bindir)/qemu-img \ $(datadir)/bios.bin \ $(datadir)/vgabios.bin \ |