diff options
author | tsutsui <tsutsui@pkgsrc.org> | 2007-09-07 14:11:51 +0000 |
---|---|---|
committer | tsutsui <tsutsui@pkgsrc.org> | 2007-09-07 14:11:51 +0000 |
commit | 01822829fc85120a2011b6a949adcf0db42ccf39 (patch) | |
tree | 090c3bbbd31add642d72b3733b04ea9902606139 /emulators/tme | |
parent | 4ec0595b671cbdde0dcac956b378b161956a4308 (diff) | |
download | pkgsrc-01822829fc85120a2011b6a949adcf0db42ccf39.tar.gz |
Update tme to 0.6. Ok'ed by skrll@.
See fredette's annoucement for details:
http://mail-index.netbsd.org/port-sparc/2007/09/07/0000.html
>> The new version of tme, 0.6, fixes many bugs in the Sun 3 emulation,
>> and can also emulate a SPARCstation 2. NetBSD 3.x seems to run pretty
>> well on the different emulations.
Diffstat (limited to 'emulators/tme')
28 files changed, 27 insertions, 1654 deletions
diff --git a/emulators/tme/Makefile b/emulators/tme/Makefile index 482c850ed58..ecd15c64c9c 100644 --- a/emulators/tme/Makefile +++ b/emulators/tme/Makefile @@ -1,16 +1,16 @@ -# $NetBSD: Makefile,v 1.14 2007/03/17 13:44:17 tsutsui Exp $ +# $NetBSD: Makefile,v 1.15 2007/09/07 14:11:51 tsutsui Exp $ # -DISTNAME= tme-0.4 -PKGREVISION= 3 +DISTNAME= tme-0.6 +PKGREVISION= 0 CATEGORIES= emulators -MASTER_SITES= http://theory.lcs.mit.edu/~fredette/tme/ +MASTER_SITES= http://csail.mit.edu/~fredette/tme/ MAINTAINER= skrll@NetBSD.org # Please do not assign PR's for this package to skrll. # Instead, assign them to the package author, fredette. -HOMEPAGE= http://theory.lcs.mit.edu/~fredette/tme/ +HOMEPAGE= http://csail.mit.edu/~fredette/tme/ COMMENT= The Machine Emulator USE_PKGLOCALEDIR= yes @@ -19,9 +19,6 @@ GNU_CONFIGURE= yes USE_TOOLS+= gmake perl:run CONFIGURE_ARGS+= --disable-debug -CONFIGURE_ARGS+= ac_cv_shiftmax_int8_t=8 -CONFIGURE_ARGS+= ac_cv_shiftmax_int16_t=16 -CONFIGURE_ARGS+= ac_cv_shiftmax_int32_t=32 BUILDLINK_DEPMETHOD.libXt?= build diff --git a/emulators/tme/PLIST b/emulators/tme/PLIST index 07e65e0f9b3..a67593b2fce 100644 --- a/emulators/tme/PLIST +++ b/emulators/tme/PLIST @@ -1,8 +1,7 @@ -@comment $NetBSD: PLIST,v 1.3 2005/07/27 07:29:26 skrll Exp $ +@comment $NetBSD: PLIST,v 1.4 2007/09/07 14:11:51 tsutsui Exp $ bin/tme-sun-eeprom bin/tme-sun-idprom bin/tmesh -include/tme/atomics.h include/tme/common.h include/tme/connection.h include/tme/element.h @@ -20,19 +19,26 @@ include/tme/generic/serial.h include/tme/generic/tape.h include/tme/hash.h include/tme/ic/am9513.h +include/tme/ic/bt458.h include/tme/ic/i825x6.h include/tme/ic/ieee754-auto.h include/tme/ic/ieee754-ops-auto.h include/tme/ic/ieee754.h include/tme/ic/isil7170.h include/tme/ic/m68k.h +include/tme/ic/mk48txx.h include/tme/ic/mm58167.h +include/tme/ic/nec765.h +include/tme/ic/sparc.h include/tme/ic/z8530.h include/tme/log.h include/tme/machine/sun.h include/tme/misc.h include/tme/module.h +include/tme/memory-auto.h +include/tme/memory.h include/tme/scsi/scsi-cdb.h +include/tme/scsi/scsi-cdrom.h include/tme/scsi/scsi-device.h include/tme/scsi/scsi-disk.h include/tme/scsi/scsi-msg.h @@ -51,20 +57,30 @@ lib/tme/tme_generic.la lib/tme/tme_host_bsd.la lib/tme/tme_host_gtk.la lib/tme/tme_host_posix.la +lib/tme/tme_bus_sbus.la +lib/tme/tme_ic_am7930.la +lib/tme/tme_ic_am7990.la lib/tme/tme_ic_am9513.la lib/tme/tme_ic_i825x6.la lib/tme/tme_ic_isil7170.la +lib/tme/tme_ic_lsi64854.la lib/tme/tme_ic_m68k.la +lib/tme/tme_ic_mk48txx.la lib/tme/tme_ic_mm58167.la lib/tme/tme_ic_ncr5380.la +lib/tme/tme_ic_ncr53c9x.la +lib/tme/tme_ic_nec765.la +lib/tme/tme_ic_sparc.la lib/tme/tme_ic_z8530.la lib/tme/tme_machine_sun2.la lib/tme/tme_machine_sun3.la +lib/tme/tme_machine_sun4.la lib/tme/tme_scsi.la lib/tme/tme_serial_kb.la lib/tme/tmeconfig.h share/examples/tme/SUN2-MULTIBUS share/examples/tme/SUN3-CARRERA +share/examples/tme/SUN4-75 share/examples/tme/my-sun-macros.txt share/examples/tme/sun-keyboards.txt share/examples/tme/sun3-carrera-eeprom.txt diff --git a/emulators/tme/distinfo b/emulators/tme/distinfo index 86bc961502d..839d50b42f7 100644 --- a/emulators/tme/distinfo +++ b/emulators/tme/distinfo @@ -1,30 +1,5 @@ -$NetBSD: distinfo,v 1.8 2007/03/17 14:36:42 tsutsui Exp $ +$NetBSD: distinfo,v 1.9 2007/09/07 14:11:51 tsutsui Exp $ -SHA1 (tme-0.4.tar.gz) = 7a1a2c6aa05527b11f81925e4931e7250f5be308 -RMD160 (tme-0.4.tar.gz) = a5b5ac56c8247f94cd96c92a04a6cb132ba92931 -Size (tme-0.4.tar.gz) = 1448981 bytes -SHA1 (patch-aa) = 0fe6c37472caa876c253b9e8bb4e09cd278e5def -SHA1 (patch-ab) = ffadbe0a97737fb8c04913781c78b09f6ddc649b -SHA1 (patch-ac) = 94940e5f0a99c4c1e4e718ffc35fbb2117bceb21 -SHA1 (patch-ad) = 3f5adbaa94e5b97ded14e9a05cce912ed01f406f -SHA1 (patch-ae) = 2f472a55f5afd1c0079349ce49bd3eb251ea9d76 -SHA1 (patch-af) = 17bf5f0a52036b50533fdfb9f2b6d74ea9494186 -SHA1 (patch-ag) = 9b88bc76c34320e63f7aa4fda6804b7b2c432c5c -SHA1 (patch-ah) = c33a0dd4353aac9d7c01a0c9d5d54e5813e8382d -SHA1 (patch-ai) = 6f6be39f73542ef128824aaa969fa9e793c478a5 -SHA1 (patch-aj) = 63c804457fae8a3527532e5d6b1ab09a377d41e4 -SHA1 (patch-ak) = 29ededa7be17a570be7d5f38b9536ff725ece5dc -SHA1 (patch-al) = b36aecb7f3a89d80be4631bebaa3f3230ce7c8e7 -SHA1 (patch-am) = 2c216b3549ad02a81ba829e43dfa46dcd0525e24 -SHA1 (patch-an) = c6317d655348bb679f1ea6eef79e8743f3eb0158 -SHA1 (patch-ap) = 91d7b00791f90666728f85ebb940cbc2a75da2af -SHA1 (patch-aq) = c426d9576b2d6f460a7b290e9f3be69c98e1dfef -SHA1 (patch-ar) = 5d01194d1b3516ae387e21e54c861f6b5ec9e28e -SHA1 (patch-aw) = fed1d90d936eac53dbe5be9a505bd7171768cc37 -SHA1 (patch-ax) = b8f16847326e3599df4d73d1108f6815a9c46164 -SHA1 (patch-az) = ab4a4164b880ed1716e7fed0e269b40c85515973 -SHA1 (patch-ba) = 22a47dfbf0c494916e4e8f15aa1fc11b687feaa8 -SHA1 (patch-bb) = 6f98e9456581676e380c2724937a7fbcbf660c2b -SHA1 (patch-bc) = 52253ad742a4f1dd4c437cd7f8df3c9815483390 -SHA1 (patch-bd) = 69d00319ef82c1b274f56a61b5aa23a3770f5012 -SHA1 (patch-be) = b22f599b6c156f404f0d011cb692bb14bf8363e7 +SHA1 (tme-0.6.tar.gz) = bd5556eb2ae4a6999f46099166370491ee633a8b +RMD160 (tme-0.6.tar.gz) = b730faac06280c55c9355e375caf4f4b26365f50 +Size (tme-0.6.tar.gz) = 1700273 bytes diff --git a/emulators/tme/patches/patch-aa b/emulators/tme/patches/patch-aa deleted file mode 100644 index f1523dd5c06..00000000000 --- a/emulators/tme/patches/patch-aa +++ /dev/null @@ -1,12 +0,0 @@ -$NetBSD: patch-aa,v 1.3 2005/12/05 20:50:12 rillig Exp $ - ---- tme/threads.h.orig 2003-06-27 21:09:10.000000000 +0000 -+++ tme/threads.h -@@ -41,6 +41,7 @@ - - /* includes: */ - #include <errno.h> -+#include <sys/time.h> - - /* note that our locking model never allows recursive locking. */ - diff --git a/emulators/tme/patches/patch-ab b/emulators/tme/patches/patch-ab deleted file mode 100644 index 67e58c2a15d..00000000000 --- a/emulators/tme/patches/patch-ab +++ /dev/null @@ -1,28 +0,0 @@ -$NetBSD: patch-ab,v 1.3 2007/03/17 13:44:18 tsutsui Exp $ - ---- ic/i825x6.c.orig 2007-01-24 12:56:18.000000000 +0000 -+++ ic/i825x6.c -@@ -122,11 +122,19 @@ do { \ - /* an rx buffer: */ - struct tme_i825x6_rx_buffer { - -- /* the generic ethernet frame chunk. this must be first, since we -- abuse its tme_ethernet_frame_chunk_next for our own next pointer: */ -- struct tme_ethernet_frame_chunk tme_i825x6_rx_buffer_frame_chunk; -+ union { -+ struct tme_i825x6_rx_buffer *rx_buffer_next; -+ -+ /* the generic ethernet frame chunk. this must be first, since we -+ abuse its tme_ethernet_frame_chunk_next for our own next pointer: */ -+ struct tme_ethernet_frame_chunk buffer_frame_chunk; -+ } rx_un; -+ -+#define tme_i825x6_rx_buffer_next rx_un.rx_buffer_next -+#define tme_i825x6_rx_buffer_frame_chunk rx_un.buffer_frame_chunk -+ - #define TME_I825X6_RX_BUFFER_NEXT(rx_buffer) \ -- (*((struct tme_i825x6_rx_buffer **) &(rx_buffer)->tme_i825x6_rx_buffer_frame_chunk.tme_ethernet_frame_chunk_next)) -+ (rx_buffer->tme_i825x6_rx_buffer_next) - - /* when this is TME_I825X6_RU_ADDRESS_UNDEF, this rx buffer was made - from a fast-write TLB entry, and the generic ethernet frame chunk diff --git a/emulators/tme/patches/patch-ac b/emulators/tme/patches/patch-ac deleted file mode 100644 index f4a887b21d2..00000000000 --- a/emulators/tme/patches/patch-ac +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-ac,v 1.4 2007/03/17 13:44:18 tsutsui Exp $ - ---- libtme/module.c.orig 2005-01-26 21:59:24.000000000 +0900 -+++ libtme/module.c 2006-07-29 14:41:36.000000000 +0900 -@@ -214,7 +214,7 @@ - char *modules_dir; - char line_buffer[1024]; - char **tokens; -- unsigned int tokens_count; -+ int tokens_count; - char *module_basename; - char *module_pathname; - lt_dlhandle handle; -@@ -230,7 +230,7 @@ - for (p1 = module_raw_name; - (c = *p1) != '\0'; - p1++) { -- if (!isalnum(c)) { -+ if (!isalnum((unsigned char)c)) { - *p1 = '_'; - if (c == '/' - && first_slash == NULL) { diff --git a/emulators/tme/patches/patch-ad b/emulators/tme/patches/patch-ad deleted file mode 100644 index 48837131cff..00000000000 --- a/emulators/tme/patches/patch-ad +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-ad,v 1.2 2005/07/27 07:29:26 skrll Exp $ - ---- libtme/misc.c.orig 2004-05-11 12:03:47.000000000 +0000 -+++ libtme/misc.c -@@ -83,7 +83,7 @@ tme_misc_tokenize(const char *string, - - /* if this is a token delimiter: */ - if (c == '\0' -- || isspace(c) -+ || isspace((unsigned char)c) - || c == comment) { - - /* if we had been collecting a token, it's finished: */ -@@ -184,7 +184,7 @@ _tme_misc_number_parse(const char *strin - /* XXX parts of this might be ASCII-centric: */ - - /* skip leading whitespace: */ -- for (; (c = *string) != '\0' && isspace(c); string++); -+ for (; (c = *string) != '\0' && isspace((unsigned char)c); string++); - - /* check for a leading '-' or '+' character: */ - if ((negative = (c == '-')) diff --git a/emulators/tme/patches/patch-ae b/emulators/tme/patches/patch-ae deleted file mode 100644 index f9e97abd07d..00000000000 --- a/emulators/tme/patches/patch-ae +++ /dev/null @@ -1,22 +0,0 @@ -$NetBSD: patch-ae,v 1.1 2004/12/05 07:32:17 skrll Exp $ - ---- serial/serial-kb.c.orig 2003-10-16 03:48:25.000000000 +0100 -+++ serial/serial-kb.c -@@ -966,7 +966,7 @@ TME_ELEMENT_X_NEW_DECL(tme_serial_,kb,ke - } - for (p1 = line_buffer; - ((c = *(p1++)) != '\0' -- && isspace(c));); -+ && isspace((unsigned char)c));); - if (c == '\0' - || c == '#') { - continue; -@@ -1049,7 +1049,7 @@ TME_ELEMENT_X_NEW_DECL(tme_serial_,kb,ke - } - for (p1 = line_buffer; - ((c = *(p1++)) != '\0' -- && isspace(c));); -+ && isspace((unsigned char)c));); - if (c == '\0' - || c == '#') { - continue; diff --git a/emulators/tme/patches/patch-af b/emulators/tme/patches/patch-af deleted file mode 100644 index 494c1169e81..00000000000 --- a/emulators/tme/patches/patch-af +++ /dev/null @@ -1,101 +0,0 @@ -$NetBSD: patch-af,v 1.1 2006/09/24 15:20:28 joerg Exp $ - ---- libltdl/configure.orig 2006-09-24 16:19:12.000000000 +0000 -+++ libltdl/configure -@@ -3518,13 +3518,13 @@ darwin* | rhapsody*) - lt_cv_deplibs_check_method=pass_all - ;; - --freebsd*) -+freebsd* | dragonfly*) - if echo __ELF__ | $CC -E - | grep __ELF__ > /dev/null; then - case $host_cpu in - i*86 ) - # Not sure whether the presence of OpenBSD here was a mistake. - # Let's accept both of them until this is cleared up. -- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' -+ lt_cv_deplibs_check_method='file_magic (DragonFly|FreeBSD|OpenBSD)/i[3-9]86 (compact )?demand paged shared library' - lt_cv_file_magic_cmd=/usr/bin/file - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` - ;; -@@ -7289,7 +7289,7 @@ if test -z "$aix_libpath"; then aix_libp - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. -- freebsd*) -+ freebsd* | dragonfly*) - archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec='-R$libdir' - hardcode_direct=yes -@@ -7922,7 +7922,7 @@ freebsd1*) - dynamic_linker=no - ;; - --freebsd*) -+freebsd* | dragonfly*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in -@@ -10086,7 +10086,7 @@ if test -z "$aix_libpath"; then aix_libp - freebsd-elf*) - archive_cmds_need_lc_CXX=no - ;; -- freebsd*) -+ freebsd* | dragonfly*) - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF - # conventions - ld_shlibs_CXX=yes -@@ -10793,7 +10793,7 @@ echo $ECHO_N "checking for $compiler opt - ;; - esac - ;; -- freebsd*) -+ freebsd* | dragonfly*) - # FreeBSD uses GNU C++ - ;; - hpux9* | hpux10* | hpux11*) -@@ -11462,7 +11462,7 @@ freebsd1*) - dynamic_linker=no - ;; - --freebsd*) -+freebsd* | dragonfly*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in -@@ -13806,7 +13806,7 @@ if test -z "$aix_libpath"; then aix_libp - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. -- freebsd*) -+ freebsd* | dragonfly*) - archive_cmds_F77='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_F77='-R$libdir' - hardcode_direct_F77=yes -@@ -14439,7 +14439,7 @@ freebsd1*) - dynamic_linker=no - ;; - --freebsd*) -+freebsd* | dragonfly*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in -@@ -16067,7 +16067,7 @@ if test -z "$aix_libpath"; then aix_libp - ;; - - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. -- freebsd*) -+ freebsd* | dragonfly*) - archive_cmds_GCJ='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' - hardcode_libdir_flag_spec_GCJ='-R$libdir' - hardcode_direct_GCJ=yes -@@ -16700,7 +16700,7 @@ freebsd1*) - dynamic_linker=no - ;; - --freebsd*) -+freebsd* | dragonfly*) - objformat=`test -x /usr/bin/objformat && /usr/bin/objformat || echo aout` - version_type=freebsd-$objformat - case $version_type in diff --git a/emulators/tme/patches/patch-ag b/emulators/tme/patches/patch-ag deleted file mode 100644 index 784164624dc..00000000000 --- a/emulators/tme/patches/patch-ag +++ /dev/null @@ -1,16 +0,0 @@ -$NetBSD: patch-ag,v 1.1 2006/09/24 15:20:28 joerg Exp $ - ---- ic/ieee754/ieee754-misc-auto.sh.orig 2005-05-11 00:13:33.000000000 +0000 -+++ ic/ieee754/ieee754-misc-auto.sh -@@ -473,7 +473,10 @@ tme_ieee754_${precision}_value_from_buil - tme_uint32_t chunk; - - /* x must not be a NaN or an infinity: */ --#if (TME_FLOAT_FORMAT_IEEE754_${capprecision}_BUILTIN == TME_FLOAT_FORMAT_FLOAT) -+#if defined(isnan) && defined(__DragonFly__) -+ assert (!isnan(x_builtin)); -+ assert (!isinf(x_builtin)); -+#elif (TME_FLOAT_FORMAT_IEEE754_${capprecision}_BUILTIN == TME_FLOAT_FORMAT_FLOAT) - assert (!isnanf(x_builtin)); - assert (!isinff(x_builtin)); - #elif (TME_FLOAT_FORMAT_IEEE754_${capprecision}_BUILTIN == TME_FLOAT_FORMAT_DOUBLE) diff --git a/emulators/tme/patches/patch-ah b/emulators/tme/patches/patch-ah deleted file mode 100644 index 99b66ad34b9..00000000000 --- a/emulators/tme/patches/patch-ah +++ /dev/null @@ -1,71 +0,0 @@ -$NetBSD: patch-ah,v 1.1 2006/09/24 15:20:28 joerg Exp $ - ---- tme/generic/float.h.orig 2006-09-24 16:50:59.000000000 +0000 -+++ tme/generic/float.h -@@ -334,6 +334,27 @@ tme_float_assert_formats(_tme_const stru - | (x)->tme_float_value_ieee754_quad.tme_float_ieee754_quad_lo.tme_value64_uint32_lo) - - /* this evaluates to nonzero if the float is a NaN: */ -+#if defined(isnan) && defined(__DragonFly__) -+#define tme_float_is_nan(x, formats) \ -+ (tme_float_assert_formats(x, formats) \ -+ && (tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_SINGLE) \ -+ ? (tme_float_value_ieee754_exponent_single(x) == 0xff \ -+ && tme_float_value_ieee754_fracor_single(x) != 0) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_DOUBLE) \ -+ ? (tme_float_value_ieee754_exponent_double(x) == 0x7ff \ -+ && tme_float_value_ieee754_fracor_double(x) != 0) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_EXTENDED80) \ -+ ? (tme_float_value_ieee754_exponent_extended80(x) == 0x7fff \ -+ && tme_float_value_ieee754_fracor_extended80(x) != 0) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_QUAD) \ -+ ? (tme_float_value_ieee754_exponent_quad(x) == 0x7fff \ -+ && tme_float_value_ieee754_fracor_quad(x) != 0) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_FLOAT) \ -+ ? isnan((x)->tme_float_value_float) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_DOUBLE) \ -+ ? isnan((x)->tme_float_value_double) \ -+ : TME_FLOAT_IF_LONG_DOUBLE(isnan((x)->tme_float_value_long_double) ||) FALSE)) -+#else - #define tme_float_is_nan(x, formats) \ - (tme_float_assert_formats(x, formats) \ - && (tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_SINGLE) \ -@@ -353,8 +374,30 @@ tme_float_assert_formats(_tme_const stru - : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_DOUBLE) \ - ? isnan((x)->tme_float_value_double) \ - : TME_FLOAT_IF_LONG_DOUBLE(isnan((x)->tme_float_value_long_double) ||) FALSE)) -+#endif - - /* this evaluates to nonzero if the float is an infinity: */ -+#if defined(isinf) && defined(__DragonFly__) -+#define tme_float_is_inf(x, formats) \ -+ (tme_float_assert_formats(x, formats) \ -+ && (tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_SINGLE) \ -+ ? (tme_float_value_ieee754_exponent_single(x) == 0xff \ -+ && tme_float_value_ieee754_fracor_single(x) == 0) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_DOUBLE) \ -+ ? (tme_float_value_ieee754_exponent_double(x) == 0x7ff \ -+ && tme_float_value_ieee754_fracor_double(x) == 0) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_EXTENDED80) \ -+ ? (tme_float_value_ieee754_exponent_extended80(x) == 0x7fff \ -+ && tme_float_value_ieee754_fracor_extended80(x) == 0) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_QUAD) \ -+ ? (tme_float_value_ieee754_exponent_quad(x) == 0x7fff \ -+ && tme_float_value_ieee754_fracor_quad(x) == 0) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_FLOAT) \ -+ ? isinf((x)->tme_float_value_float) \ -+ : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_DOUBLE) \ -+ ? isinf((x)->tme_float_value_double) \ -+ : TME_FLOAT_IF_LONG_DOUBLE(isinf((x)->tme_float_value_long_double) ||) FALSE)) -+#else - #define tme_float_is_inf(x, formats) \ - (tme_float_assert_formats(x, formats) \ - && (tme_float_is_format(x, formats, TME_FLOAT_FORMAT_IEEE754_SINGLE) \ -@@ -374,6 +417,7 @@ tme_float_assert_formats(_tme_const stru - : tme_float_is_format(x, formats, TME_FLOAT_FORMAT_DOUBLE) \ - ? isinf((x)->tme_float_value_double) \ - : TME_FLOAT_IF_LONG_DOUBLE(isinf((x)->tme_float_value_long_double) ||) FALSE)) -+#endif - - /* this evaluates to nonzero if the float is a zero: */ - #define tme_float_is_zero(x, formats) \ diff --git a/emulators/tme/patches/patch-ai b/emulators/tme/patches/patch-ai deleted file mode 100644 index e0c536f9641..00000000000 --- a/emulators/tme/patches/patch-ai +++ /dev/null @@ -1,242 +0,0 @@ -$NetBSD: patch-ai,v 1.1 2007/03/17 13:44:18 tsutsui Exp $ - ---- bus/multibus/Makefile.in.orig 2005-05-15 10:26:15.000000000 +0900 -+++ bus/multibus/Makefile.in 2006-07-29 14:32:31.000000000 +0900 -@@ -221,9 +221,10 @@ - @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/3c400.Plo ./$(DEPDIR)/sun-mie.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/sun-sc.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- generic/Makefile.in.orig 2005-05-15 10:26:16.000000000 +0900 -+++ generic/Makefile.in 2006-07-29 14:30:19.000000000 +0900 -@@ -247,9 +247,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/scsi.Plo ./$(DEPDIR)/serial.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/tape.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- host/bsd/Makefile.in.orig 2005-05-15 10:26:17.000000000 +0900 -+++ host/bsd/Makefile.in 2006-07-29 14:32:41.000000000 +0900 -@@ -217,9 +217,10 @@ - am__depfiles_maybe = depfiles - @AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/bsd-bpf.Plo ./$(DEPDIR)/bsd-if.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- host/gtk/Makefile.in.orig 2005-05-15 10:26:17.000000000 +0900 -+++ host/gtk/Makefile.in 2006-07-29 14:32:52.000000000 +0900 -@@ -221,9 +221,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/gtk-mouse.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/gtk-screen.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- host/posix/Makefile.in.orig 2005-05-15 10:26:18.000000000 +0900 -+++ host/posix/Makefile.in 2006-07-29 14:33:04.000000000 +0900 -@@ -225,9 +225,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/posix-serial.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/posix-tape.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- ic/Makefile.in.orig 2005-05-15 10:26:19.000000000 +0900 -+++ ic/Makefile.in 2006-07-29 14:30:51.000000000 +0900 -@@ -280,9 +280,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/isil7170.Plo ./$(DEPDIR)/mm58167.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/ncr5380.Plo ./$(DEPDIR)/z8530.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- ic/ieee754/Makefile.in.orig 2005-05-15 10:26:19.000000000 +0900 -+++ ic/ieee754/Makefile.in 2006-07-29 14:33:17.000000000 +0900 -@@ -190,9 +190,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/ieee754-ops-auto.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/softfloat-tme.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- ic/m68k/Makefile.in.orig 2005-05-15 10:26:20.000000000 +0900 -+++ ic/m68k/Makefile.in 2006-07-29 14:33:27.000000000 +0900 -@@ -241,9 +241,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/m68k-misc.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/m68k-opmap.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- libltdl/Makefile.in.orig 2003-05-14 11:33:05.000000000 +0900 -+++ libltdl/Makefile.in 2006-07-29 14:31:04.000000000 +0900 -@@ -177,9 +177,10 @@ - depcomp = - am__depfiles_maybe = - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- libtme/Makefile.in.orig 2005-05-15 10:26:20.000000000 +0900 -+++ libtme/Makefile.in 2006-07-29 14:31:20.000000000 +0900 -@@ -195,9 +195,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/misc.Plo ./$(DEPDIR)/module.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/threads-sjlj.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ - ---- machine/sun/Makefile.in.orig 2005-05-15 10:26:22.000000000 +0900 -+++ machine/sun/Makefile.in 2006-07-29 14:33:37.000000000 +0900 -@@ -205,9 +205,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/sun-mmu.Plo ./$(DEPDIR)/sun-obie.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/sun-si.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ -+++ machine/sun2/Makefile.in 2006-07-29 14:33:45.000000000 +0900 -@@ -230,9 +230,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/sun2-mainbus.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/sun2-mmu.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- machine/sun3/Makefile.in.orig 2005-05-15 10:26:23.000000000 +0900 -+++ machine/sun3/Makefile.in 2006-07-29 14:33:54.000000000 +0900 -@@ -230,9 +230,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/sun3-mainbus.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/sun3-mmu.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- scsi/Makefile.in.orig 2005-05-15 10:26:23.000000000 +0900 -+++ scsi/Makefile.in 2006-07-29 14:31:42.000000000 +0900 -@@ -235,9 +235,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/scsi-disk.Plo ./$(DEPDIR)/scsi-msg.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/scsi-tape.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- serial/Makefile.in.orig 2005-05-15 10:26:24.000000000 +0900 -+++ serial/Makefile.in 2006-07-29 14:31:54.000000000 +0900 -@@ -228,9 +228,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/ms-mssystems.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/serial-kb.Plo ./$(DEPDIR)/serial-ms.Plo - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ ---- tmesh/Makefile.in.orig 2005-05-15 10:26:27.000000000 +0900 -+++ tmesh/Makefile.in 2006-07-29 14:32:10.000000000 +0900 -@@ -200,9 +200,10 @@ - @AMDEP_TRUE@ ./$(DEPDIR)/tmesh-input.Plo \ - @AMDEP_TRUE@ ./$(DEPDIR)/tmesh-util.Plo ./$(DEPDIR)/tmesh.Po - COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ -- $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) $(CFLAGS_NO_STRICT_ALIASING) - LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ -- $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -+ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) \ -+ $(CFLAGS_NO_STRICT_ALIASING) - CCLD = $(CC) - LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ - $(AM_LDFLAGS) $(LDFLAGS) -o $@ diff --git a/emulators/tme/patches/patch-aj b/emulators/tme/patches/patch-aj deleted file mode 100644 index bdef2ca3613..00000000000 --- a/emulators/tme/patches/patch-aj +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-aj,v 1.1 2007/03/17 13:44:18 tsutsui Exp $ - ---- dist/softfloat/softfloat/bits64/softfloat.c.orig 2005-05-11 09:06:30.000000000 +0900 -+++ dist/softfloat/softfloat/bits64/softfloat.c 2007-01-07 22:08:03.000000000 +0900 -@@ -4909,7 +4909,7 @@ - sub128( aSig0, aSig1, bSig0, bSig1, &aSig0, &aSig1 );
- } while ( 0 <= (sbits64) aSig0 );
- add128(
-- aSig0, aSig1, alternateASig0, alternateASig1, &sigMean0, &sigMean1 );
-+ aSig0, aSig1, alternateASig0, alternateASig1, (bits64 *)&sigMean0, &sigMean1 );
- if ( ( sigMean0 < 0 )
- || ( ( ( sigMean0 | sigMean1 ) == 0 ) && ( q & 1 ) ) ) {
- aSig0 = alternateASig0;
diff --git a/emulators/tme/patches/patch-ak b/emulators/tme/patches/patch-ak deleted file mode 100644 index bb589ed0b26..00000000000 --- a/emulators/tme/patches/patch-ak +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-ak,v 1.1 2007/03/17 13:44:18 tsutsui Exp $ - ---- scsi/scsi-cdb.c.orig 2004-12-06 12:40:33.000000000 +0900 -+++ scsi/scsi-cdb.c 2006-07-29 15:14:52.000000000 +0900 -@@ -187,7 +187,7 @@ - /* this adds one of the inquiry strings to the data: */ - static tme_uint8_t * - _tme_scsi_device_make_inquiry_string(tme_uint8_t *data, -- const tme_uint8_t *string, -+ char *string, - unsigned int size) - { - tme_uint8_t c; diff --git a/emulators/tme/patches/patch-al b/emulators/tme/patches/patch-al deleted file mode 100644 index 1a1f57ce02d..00000000000 --- a/emulators/tme/patches/patch-al +++ /dev/null @@ -1,30 +0,0 @@ -$NetBSD: patch-al,v 1.1 2007/03/17 13:44:18 tsutsui Exp $ - ---- host/gtk/gtk-mouse.c.orig 2003-07-31 10:41:48.000000000 +0900 -+++ host/gtk/gtk-mouse.c 2006-07-29 15:04:20.000000000 +0900 -@@ -312,8 +312,8 @@ - gdk_window_get_geometry(screen->tme_gtk_screen_gtkimage->window, - &junk, - &junk, -- &screen->tme_gtk_screen_mouse_warp_x, -- &screen->tme_gtk_screen_mouse_warp_y, -+ (gint *)&screen->tme_gtk_screen_mouse_warp_x, -+ (gint *)&screen->tme_gtk_screen_mouse_warp_y, - &junk); - screen->tme_gtk_screen_mouse_warp_x >>= 1; - screen->tme_gtk_screen_mouse_warp_y >>= 1; -@@ -626,12 +626,12 @@ - /* create the mouse cursor: */ - source - = gdk_bitmap_create_from_data(NULL, -- _tme_gtk_mouse_cursor_source, -+ (const gchar *)_tme_gtk_mouse_cursor_source, - TME_GTK_MOUSE_CURSOR_WIDTH, - TME_GTK_MOUSE_CURSOR_HEIGHT); - mask - = gdk_bitmap_create_from_data (NULL, -- _tme_gtk_mouse_cursor_mask, -+ (const gchar *)_tme_gtk_mouse_cursor_mask, - TME_GTK_MOUSE_CURSOR_WIDTH, - TME_GTK_MOUSE_CURSOR_HEIGHT); - display->tme_gtk_display_mouse_cursor diff --git a/emulators/tme/patches/patch-am b/emulators/tme/patches/patch-am deleted file mode 100644 index 2c630de6059..00000000000 --- a/emulators/tme/patches/patch-am +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-am,v 1.1 2007/03/17 13:44:18 tsutsui Exp $ - ---- ic/m68k/m68k-bus-auto.c.orig 2005-03-23 11:24:55.000000000 +0900 -+++ ic/m68k/m68k-bus-auto.c 2006-07-29 14:46:47.000000000 +0900 -@@ -156,7 +156,7 @@ - }; - - /* the 32-bit bus router used on the 68020 and 68030: */ --static const tme_bus_lane_t tme_m68k_router_32[TME_M68K_BUS_ROUTER_SIZE(TME_BUS32_LOG2)] = { -+const tme_bus_lane_t tme_m68k_router_32[TME_M68K_BUS_ROUTER_SIZE(TME_BUS32_LOG2)] = { - - /* [m68k] initiator maximum cycle size: 8 bits - [m68k] initiator A1,A0: 00 diff --git a/emulators/tme/patches/patch-an b/emulators/tme/patches/patch-an deleted file mode 100644 index eaea60ac50f..00000000000 --- a/emulators/tme/patches/patch-an +++ /dev/null @@ -1,30 +0,0 @@ -$NetBSD: patch-an,v 1.1 2007/03/17 13:44:19 tsutsui Exp $ - ---- machine/sun/sun-si.c.orig 2005-02-17 21:19:17.000000000 +0900 -+++ machine/sun/sun-si.c 2006-07-29 14:59:24.000000000 +0900 -@@ -475,7 +475,6 @@ - tme_uint32_t csr_old, csr_new, csr_diff, csr_mask; - tme_bus_addr_t address; - tme_uint8_t cycle_size; -- tme_uint32_t csr; - tme_uint32_t dma_count; - int new_callouts; - -@@ -561,7 +560,7 @@ - case TME_SUN_SI_TYPE_VME: - TME_SUN_SI_REG16_PUT(sun_si, TME_SUN_SI_REG_FIFO_COUNT_L, 0); - TME_SUN_SI_REG16_PUT(sun_si, TME_SUN_SI_REG_VME_FIFO_COUNT_H, 0); -- csr &= ~TME_SUN_SI_CSR_VME_LOB_MASK; -+ csr_new &= ~TME_SUN_SI_CSR_VME_LOB_MASK; - break; - case TME_SUN_SI_TYPE_COBRA: - abort(); -@@ -1428,7 +1427,7 @@ - sun_si = tme_new0(struct tme_sun_si, 1); - sun_si->tme_sun_si_type = si_type; - sun_si->tme_sun_si_3e_dma = (si_type == TME_SUN_SI_TYPE_3E -- ? tme_new(char, TME_SUN_SI_3E_SIZ_DMA) -+ ? tme_new(unsigned char, TME_SUN_SI_3E_SIZ_DMA) - : NULL); - sun_si->tme_sun_si_element = element; - TME_SUN_SI_CSR_PUT(sun_si, diff --git a/emulators/tme/patches/patch-ap b/emulators/tme/patches/patch-ap deleted file mode 100644 index f983a7f2c6c..00000000000 --- a/emulators/tme/patches/patch-ap +++ /dev/null @@ -1,20 +0,0 @@ -$NetBSD: patch-ap,v 1.1 2007/03/17 13:44:19 tsutsui Exp $ - ---- host/gtk/gtk-keyboard.c.orig 2006-10-19 10:39:26.000000000 -0400 -+++ host/gtk/gtk-keyboard.c 2006-10-19 10:39:50.000000000 -0400 -@@ -399,6 +399,7 @@ - = display->tme_gtk_display_keyboard_keysyms_bad; - - /* log the complaint: */ -+#ifndef NDEBUG - tme_log(&display->tme_gtk_display_element->tme_element_log_handle, 0, ENOENT, - (&display->tme_gtk_display_element->tme_element_log_handle, - _("cannot generate keysym '%s' directly%s"), -@@ -407,6 +408,7 @@ - == TME_KEYBOARD_LOOKUP_FLAG_OK_DIRECT - ? "" - : _(", or through a macro")))); -+#endif - - /* free this record: */ - display->tme_gtk_display_keyboard_keysyms_bad diff --git a/emulators/tme/patches/patch-aq b/emulators/tme/patches/patch-aq deleted file mode 100644 index f180e4d6fb3..00000000000 --- a/emulators/tme/patches/patch-aq +++ /dev/null @@ -1,169 +0,0 @@ -$NetBSD: patch-aq,v 1.1 2007/03/17 13:44:19 tsutsui Exp $ - ---- ic/m68k/m68k-insns.c.orig 2005-03-23 20:53:02.000000000 +0900 -+++ ic/m68k/m68k-insns.c 2007-03-14 20:28:31.000000000 +0900 -@@ -485,9 +485,8 @@ - TME_M68K_INSN(tme_m68k_cmp2_chk2) - { - tme_uint32_t ireg; -- unsigned int size_bytes, size_name, size_ireg; -+ unsigned int size_bytes, size_ireg; - tme_uint32_t uvalue, ulower, uupper; -- tme_int32_t value, lower, upper; - - TME_M68K_INSN_CANFAULT; - -@@ -495,60 +494,109 @@ - ireg = TME_M68K_IREG_D0 + TME_FIELD_EXTRACTU(TME_M68K_INSN_SPECOP, 12, 4); - size_bytes = TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE, 9, 2); - size_ireg = 2 - size_bytes; -- size_name = TME_M68K_SIZE_8 + size_bytes; -+ -+ /* size comes back from cp2 instruction as: -+ 0 : byte -+ 1 : word -+ 2 : long -+ we convert to -+ 0 : byte -+ 1 : word -+ 4 : long -+ */ - size_bytes = 1 << size_bytes; - - /* read in the two bounds: */ -- (*_tme_m68k_read_mem[size_name])(ic, TME_M68K_IREG_MEMX32 << size_ireg); -+ (*_tme_m68k_read_mem[size_bytes])(ic, TME_M68K_IREG_MEMX32 << size_ireg); - if (!TME_M68K_SEQUENCE_RESTARTING) { - ic->_tme_m68k_ea_address += size_bytes; - } -- (*_tme_m68k_read_mem[size_name])(ic, TME_M68K_IREG_MEMY32 << size_ireg); -+ (*_tme_m68k_read_mem[size_bytes])(ic, TME_M68K_IREG_MEMY32 << size_ireg); - -- /* if we have an address register, sign-extend the bounds to 32 -- bits: */ -+ /* if value is an address register, sign-extend the bounds to 32 bits, -+ then set size of bounds and value to 32 bits (so we check entire -+ longword value) -+ */ - if (ireg >= TME_M68K_IREG_A0) { -- if (size_name == TME_M68K_SIZE_8) { -+ if (size_bytes == TME_M68K_SIZE_8) { - ic->tme_m68k_ireg_int32(TME_M68K_IREG_MEMX32) = TME_EXT_S8_S32(ic->tme_m68k_ireg_int8(TME_M68K_IREG_MEMX8)); - ic->tme_m68k_ireg_int32(TME_M68K_IREG_MEMY32) = TME_EXT_S8_S32(ic->tme_m68k_ireg_int8(TME_M68K_IREG_MEMY8)); - } -- else if (size_name == TME_M68K_SIZE_16) { -+ else if (size_bytes == TME_M68K_SIZE_16) { - ic->tme_m68k_ireg_int32(TME_M68K_IREG_MEMX32) = TME_EXT_S16_S32(ic->tme_m68k_ireg_int16(TME_M68K_IREG_MEMX16)); - ic->tme_m68k_ireg_int32(TME_M68K_IREG_MEMY32) = TME_EXT_S16_S32(ic->tme_m68k_ireg_int16(TME_M68K_IREG_MEMY16)); - } -- size_bytes = sizeof(tme_uint32_t); -- size_name = TME_M68K_SIZE_32; -+ size_bytes = TME_M68K_SIZE_32; - } - -- /* get the values to check: */ -- switch (size_name) { -+ /* get the bounds and value */ -+ switch (size_bytes) { - case TME_M68K_SIZE_8: -- uvalue = ic->tme_m68k_ireg_uint8(ireg); - ulower = ic->tme_m68k_ireg_uint8(TME_M68K_IREG_MEMX8); - uupper = ic->tme_m68k_ireg_uint8(TME_M68K_IREG_MEMY8); -- value = ic->tme_m68k_ireg_int8(ireg); -- lower = ic->tme_m68k_ireg_int8(TME_M68K_IREG_MEMX8); -- upper = ic->tme_m68k_ireg_int8(TME_M68K_IREG_MEMY8); -+ -+ /* if value is a data register, read the entire register, extract -+ the appropriate number of bytes, and sign extend to our own -+ longword size for comparison. -+ if value is an address register, just use the entire register as is -+ */ -+ if (ireg < TME_M68K_IREG_A0) -+ uvalue = (tme_uint32_t)TME_EXT_S8_S32 -+ ((tme_int32_t)(ic->tme_m68k_ireg_uint32(ireg) & 0xFF)); -+ else -+ uvalue = ic->tme_m68k_ireg_uint32(ireg); -+ - break; - case TME_M68K_SIZE_16: -- uvalue = ic->tme_m68k_ireg_uint16(ireg); - ulower = ic->tme_m68k_ireg_uint16(TME_M68K_IREG_MEMX16); - uupper = ic->tme_m68k_ireg_uint16(TME_M68K_IREG_MEMY16); -- value = ic->tme_m68k_ireg_int16(ireg); -- lower = ic->tme_m68k_ireg_int16(TME_M68K_IREG_MEMX16); -- upper = ic->tme_m68k_ireg_int16(TME_M68K_IREG_MEMY16); -+ -+ /* if value is a data register, read the entire register, extract -+ the appropriate number of bytes, and sign extend to our own -+ longword size for comparison. -+ if value is an address register, just use the entire register as is -+ */ -+ if (ireg < TME_M68K_IREG_A0) -+ uvalue = (tme_uint32_t)TME_EXT_S16_S32 -+ ((tme_int32_t)(ic->tme_m68k_ireg_uint32(ireg) & 0xFFFF)); -+ else -+ uvalue = ic->tme_m68k_ireg_uint32(ireg); -+ - break; - case TME_M68K_SIZE_32: -- uvalue = ic->tme_m68k_ireg_uint32(ireg); - ulower = ic->tme_m68k_ireg_uint32(TME_M68K_IREG_MEMX32); - uupper = ic->tme_m68k_ireg_uint32(TME_M68K_IREG_MEMY32); -- value = ic->tme_m68k_ireg_int32(ireg); -- lower = ic->tme_m68k_ireg_int32(TME_M68K_IREG_MEMX32); -- upper = ic->tme_m68k_ireg_int32(TME_M68K_IREG_MEMY32); -+ -+ uvalue = ic->tme_m68k_ireg_uint32(ireg); -+ - break; - default: abort(); - } - -+ /* cmp2 / chk2 can be used for unsigned, or signed. -+ for either type, the lower bound "should be" <= upper bound -+ (per m68000 family programmer's reference manual) -+ -+ cmp2 instruction doesn't know if signed or unsigned -+ if bound 250 250 then bound is the one value, check unsigned or signed -+ -+ if bound 253 255 could be unsigned 253 255 -+ or signed -3 -1 -+ either way, ok to check. -+ -+ if bound 255 5 then only makes sense to check signed -1 5 -+ -+ if bound 255 253 then doesn't make sense either way! -+ its either 255 253 unsigned or -1 -3 signed. -+ -+ reverse engineering the code, by running many test cases shows that -+ the motorola 68020 microcode does the following. -+ -+ Always check unsigned. -+ if low <= high, then out of bounds if either < low or > high. -+ if high > low, then out of bounds if BOTH < low AND > high. -+ */ -+ - /* do the comparison. if the value is out-of-bounds and this is - a chk2 instruction, trap: */ - ic->tme_m68k_ireg_ccr = (ic->tme_m68k_ireg_ccr & TME_M68K_FLAG_X); -@@ -556,13 +604,14 @@ - || uvalue == uupper) { - ic->tme_m68k_ireg_ccr |= TME_M68K_FLAG_Z; - } -- else if ((ulower > uupper) -- /* signed comparison: */ -- ? (value < lower || value > upper) -- /* unsigned comparison: */ -- : (uvalue < ulower || uvalue > uupper)) { -+ else if (((ulower <= uupper) && (uvalue < ulower || uvalue > uupper)) || -+ ((ulower > uupper) && (uvalue < ulower && uvalue > uupper))) { - ic->tme_m68k_ireg_ccr |= TME_M68K_FLAG_C; -- if (TME_M68K_INSN_OPCODE & TME_BIT(11)) { -+ -+ /* if chk2 instruction, -+ also cause a CHK instruction exception (vector number 6) -+ */ -+ if (TME_FIELD_EXTRACTU(TME_M68K_INSN_SPECOP, 11, 1)) { - ic->tme_m68k_ireg_pc_last = ic->tme_m68k_ireg_pc; - ic->tme_m68k_ireg_pc = ic->tme_m68k_ireg_pc_next; - TME_M68K_INSN_EXCEPTION(TME_M68K_EXCEPTION_INST(TME_M68K_VECTOR_CHK)); diff --git a/emulators/tme/patches/patch-ar b/emulators/tme/patches/patch-ar deleted file mode 100644 index f55af0f75aa..00000000000 --- a/emulators/tme/patches/patch-ar +++ /dev/null @@ -1,23 +0,0 @@ -$NetBSD: patch-ar,v 1.1 2007/03/17 13:44:19 tsutsui Exp $ - ---- ic/m68k/m68k-execute.c.orig 2006-10-01 08:23:58.000000000 -0400 -+++ ic/m68k/m68k-execute.c 2006-10-01 08:27:17.000000000 -0400 -@@ -591,6 +591,18 @@ - _TME_M68K_EXECUTE_FETCH_S16(ea_bd); - /* XXX simulates preincremented pc: */ - ea_address = ic->tme_m68k_ireg_pc + first_ea_extword_offset + ea_bd; -+ -+ /* if instruction has immediate, then we need to add either 2 bytes -+ (for byte or word) or 4 bytes (for lword) to get the effective -+ address -+ */ -+ if (TME_M68K_OPCODE_HAS_IMM(params)) { -+ if (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,6,2) == 2) -+ ea_address = ea_address + 4; -+ else -+ ea_address = ea_address + 2; -+ } -+ - ea_function_code = function_code_program; - break; - } diff --git a/emulators/tme/patches/patch-aw b/emulators/tme/patches/patch-aw deleted file mode 100644 index 1489dac125f..00000000000 --- a/emulators/tme/patches/patch-aw +++ /dev/null @@ -1,84 +0,0 @@ -$NetBSD: patch-aw,v 1.1 2007/03/17 13:44:19 tsutsui Exp $ - ---- host/posix/posix-serial.c.orig 2006-11-07 06:29:39.000000000 -0500 -+++ host/posix/posix-serial.c 2006-11-07 08:23:59.000000000 -0500 -@@ -839,6 +839,8 @@ - int saved_errno; - int emulate_break; - -+ int ignore_fd_in = FALSE; -+ - /* initialize: */ - filename_in = NULL; - filename_out = NULL; -@@ -915,24 +917,32 @@ - - /* open the devices: */ - fd_in = fd_out = -1; -- if (fd_in < 0 -- && !strcmp(filename_in, "-")) { -- fd_in = STDIN_FILENO; -+ -+ ignore_fd_in = (strcmp(filename_in,"NONE") == 0); -+ -+ if (!ignore_fd_in) { -+ if (fd_in < 0 -+ && !strcmp(filename_in, "-")) { -+ fd_in = STDIN_FILENO; -+ } - } - if (fd_out < 0 - && !strcmp(filename_out, "-")) { - fd_out = STDOUT_FILENO; - } -- if (fd_in < 0) { -- if (strcmp(filename_in, filename_out) == 0) { -- fd_in = fd_out = open(filename_in, O_RDWR | O_NONBLOCK); -- } -- else { -- fd_in = open(filename_in, O_RDONLY | O_NONBLOCK); -- } -+ -+ if (!ignore_fd_in) { - if (fd_in < 0) { -- tme_output_append_error(_output, "%s", filename_in); -- return (errno); -+ if (strcmp(filename_in, filename_out) == 0) { -+ fd_in = fd_out = open(filename_in, O_RDWR | O_NONBLOCK); -+ } -+ else { -+ fd_in = open(filename_in, O_RDONLY | O_NONBLOCK); -+ } -+ if (fd_in < 0) { -+ tme_output_append_error(_output, "%s", filename_in); -+ return (errno); -+ } - } - } - if (fd_out < 0) { -@@ -962,7 +972,11 @@ - tme_mutex_init(&serial->tme_posix_serial_mutex); - tme_cond_init(&serial->tme_posix_serial_cond_writer); - tme_thread_create((tme_thread_t) _tme_posix_serial_th_writer, serial); -- tme_thread_create((tme_thread_t) _tme_posix_serial_th_reader, serial); -+ -+ if (!ignore_fd_in) { -+ tme_thread_create((tme_thread_t) _tme_posix_serial_th_reader, serial); -+ } -+ - tme_thread_create((tme_thread_t) _tme_posix_serial_th_ctrl, serial); - - /* fill the element: */ ---- libtme/threads-sjlj.c.orig 2006-11-07 06:50:22.000000000 -0500 -+++ libtme/threads-sjlj.c 2006-11-07 07:54:07.000000000 -0500 -@@ -833,7 +833,9 @@ - if (fd_condition_new != 0) { - - /* this thread is now blocking on this fd: */ -- assert(tme_sjlj_fd_thread[fd] == NULL); -+ -+ /* assert if this fd is already used - unless its stdin */ -+ assert(tme_sjlj_fd_thread[fd] == NULL || fd == STDIN_FILENO); - tme_sjlj_fd_thread[fd] = thread; - - #ifdef HAVE_GTK diff --git a/emulators/tme/patches/patch-ax b/emulators/tme/patches/patch-ax deleted file mode 100644 index b57b1eff3a6..00000000000 --- a/emulators/tme/patches/patch-ax +++ /dev/null @@ -1,19 +0,0 @@ -$NetBSD: patch-ax,v 1.1 2007/03/17 13:44:19 tsutsui Exp $ - ---- host/bsd/bsd-bpf.c.orig 2007-03-14 20:49:03.000000000 +0900 -+++ host/bsd/bsd-bpf.c 2007-03-14 20:51:14.000000000 +0900 -@@ -694,6 +701,14 @@ - < the_bpf_header.bh_tstamp.tv_usec))) { - - /* set the sleep time: */ -+ -+ /* if asserting, print likely description first */ -+ if (! ((bpf->tme_bsd_bpf_delay_release.tv_sec -+ == the_bpf_header.bh_tstamp.tv_sec) -+ || ((bpf->tme_bsd_bpf_delay_release.tv_sec + 1) -+ == the_bpf_header.bh_tstamp.tv_sec))) { -+ printf("someone started a second tmesh without this tmesh first configuring ie0\n"); -+ } - assert ((bpf->tme_bsd_bpf_delay_release.tv_sec - == the_bpf_header.bh_tstamp.tv_sec) - || ((bpf->tme_bsd_bpf_delay_release.tv_sec + 1) diff --git a/emulators/tme/patches/patch-az b/emulators/tme/patches/patch-az deleted file mode 100644 index cec0cdb38cd..00000000000 --- a/emulators/tme/patches/patch-az +++ /dev/null @@ -1,343 +0,0 @@ -$NetBSD: patch-az,v 1.1 2007/03/17 13:44:19 tsutsui Exp $ - ---- ic/i825x6.c.orig 2007-03-15 20:29:47.000000000 +0900 -+++ ic/i825x6.c 2007-03-17 22:07:48.000000000 +0900 -@@ -809,6 +809,9 @@ - | TME_I825X6_SCB_CUS_IDLE - | TME_I825X6_SCB_RUS_IDLE); - -+ /* clears the SCB command word": */ -+ /* [this is done at end of this routine] */ -+ - /* "The 82596 ... sends an interrupt to the CPU": */ - i825x6->tme_i825x6_callout_flags = TME_I825X6_CALLOUTS_RUNNING | TME_I825X6_CALLOUT_INT; - } -@@ -1258,8 +1261,10 @@ - break; - - case TME_I825X6_CB_CMD_DUMP: -- case TME_I825X6_CB_CMD_DIAGNOSE: - abort(); -+ -+ case TME_I825X6_CB_CMD_DIAGNOSE: -+ break; - } - - /* add to the callouts and return the current status: */ -@@ -1898,7 +1903,7 @@ - tme_uint16_t c_b_ok_a; - tme_uint16_t value16; - tme_uint32_t value32; -- int rc, err; -+ int rc, err, tot_length; - - /* recover our data structures: */ - i825x6 = conn_eth->tme_ethernet_connection.tme_connection_element->tme_element_private; -@@ -1919,7 +1924,7 @@ - tme_mutex_lock(&i825x6->tme_i825x6_mutex); - - /* assume that we will have no packet to transmit: */ -- rc = 0; -+ tot_length = 0; - - /* if we have a packet to transmit: */ - if ((i825x6->tme_i825x6_el_s_i_cmd -@@ -1934,10 +1939,10 @@ - #define CHUNKS_DMA_TX(addr, size) \ - err = _tme_i825x6_chunks_dma_tx(i825x6, frame_chunks, (addr), (size)); \ - if (err != TME_OK) break; \ -- rc += size -+ tot_length += size - #define CHUNKS_MEM_TX(data, size) \ - _tme_i825x6_chunks_mem_tx(frame_chunks, (data), (size)); \ -- rc += size -+ tot_length += size - - /* if AL-LOC is set to zero, add the Ethernet/802.3 MAC header: */ - if (i825x6->tme_i825x6_al_loc == 0) { -@@ -1973,7 +1978,7 @@ - CHUNKS_DMA_TX(tb_address, - (eof_size & TME_I82586_TBD_SIZE_MASK)); - -- /* the next transmit buffer: */ -+ /* get out if no next transmit buffer: */ - if (eof_size & TME_I82586_TBD_EOF) { - break; - } -@@ -2022,7 +2027,7 @@ - tme_mutex_unlock(&i825x6->tme_i825x6_mutex); - - /* done: */ -- return (rc); -+ return (tot_length); - } - - /* this makes a new Ethernet connection: */ ---- host/bsd/bsd-bpf.c.orig2 2006-12-13 08:07:09.000000000 -0500 -+++ host/bsd/bsd-bpf.c 2006-12-13 11:38:27.000000000 -0500 -@@ -292,7 +292,7 @@ - struct tme_ethernet_connection *conn_eth; - int callouts, later_callouts; - unsigned int ctrl; -- int rc; -+ int rc, status; - tme_ethernet_fid_t frame_id; - struct tme_ethernet_frame_chunk frame_chunk_buffer; - tme_uint8_t frame[TME_ETHERNET_FRAME_MAX]; -@@ -372,6 +372,9 @@ - &frame_id, - &frame_chunk_buffer, - TME_ETHERNET_READ_NEXT))); -+ -+ /* ensure don't get back bad length from i825x6 */ -+ assert(rc <= sizeof(frame)); - - /* lock the mutex: */ - tme_mutex_lock(&bpf->tme_bsd_bpf_mutex); -@@ -380,7 +383,11 @@ - if (rc > 0) { - - /* do the write: */ -- tme_thread_write(bpf->tme_bsd_bpf_fd, frame, rc); -+ status = tme_thread_write(bpf->tme_bsd_bpf_fd, frame, rc); -+ -+ /* assert if write failed. also assert if we wrote less bytes -+ than we commanded */ -+ assert (status == rc); - - /* mark that we need to loop to callout to read more frames: */ - bpf->tme_bsd_bpf_callout_flags |= TME_BSD_BPF_CALLOUT_READ; ---- machine/sun/sun-obie.c.orig 2005-02-17 07:37:25.000000000 -0500 -+++ machine/sun/sun-obie.c 2006-12-19 05:34:13.000000000 -0500 -@@ -78,7 +78,6 @@ - #define TME_SUN_OBIE_CALLOUT_RUNNING TME_BIT(0) - #define TME_SUN_OBIE_CALLOUTS_MASK (-2) - #define TME_SUN_OBIE_CALLOUT_SIGNALS TME_BIT(1) --#define TME_SUN_OBIE_CALLOUT_INT TME_BIT(2) - - /* structures: */ - -@@ -106,8 +105,15 @@ - /* the callout flags: */ - int tme_sun_obie_callout_flags; - -- /* if our interrupt line is currently asserted: */ -- int tme_sun_obie_int_asserted; -+ /* the obie CSR interrupt enable bit has been set since powerup */ -+ int csr_ie_has_been_set; -+ -+ /* the i825x6 interrupt is currently active to the obie */ -+ int i825x6_interrupt_is_active; -+ -+ /* the obie interrupt (forward of the i825x6 interrupt) is currently active -+ to the bus */ -+ int obie_interrupt_is_active; - - /* it's easiest to just model the board registers as a chunk of memory: */ - tme_uint8_t tme_sun_obie_regs[TME_SUN_OBIE_SIZ_REGS]; -@@ -137,17 +143,67 @@ - static const struct tme_bus_signals _tme_sun_obie_bus_signals_generic = TME_BUS_SIGNALS_GENERIC; - static const struct tme_bus_signals _tme_sun_obie_bus_signals_i825x6 = TME_BUS_SIGNALS_I825X6; - -+ -+/* TME originally never set or cleared TME_SUN_OBIE_CSR_INTR in the obie CSR. -+ * This worked fine for running NetBSD inside the emulator, as the NetBSD ie0 -+ * driver never checked that bit. But SunOS 4.1.1 does. -+ * Following is the logic that makes NetBSD and SunOS work inside the -+ * emulator (and therefore is likely close to the logic of the actual OBIE -+ * hardware: The Sun-2 MultiBus Ethernet Controller, part 501-1004). -+ * -+ * When i825x6 chip asserts/deasserts an interrupt to OBIE: -+ * 1) set or clear TME_SUN_OBIE_CSR_INTR as appropriate -+ * and, if the TME_SUN_OBIE_IE (interrupt enable) has ever been set: -+ * 2) pass along signal to main bus. -+ * -+ * Note: -+ * When correcting the TME code to work with SunOS, I originally only -+ * forwarded the interrupt when IE was active, but SunOS fails five minutes -+ * after bootup (complaining about level 3 interrupt) with this arrangement. -+ * -+ * So the actual use of the IE bit remains a mystery. It is likely sufficient -+ * to ignore the IE bit and always pass along the i825x6 interrupt to the main -+ * bus. But the current "has been set" IE logic allows NetBSD and SunOS to -+ * fully run ethernet correctly inside the emulator, and that's good enough -+ * for me. ART -+ */ -+ -+static void -+_possibly_set_csr_intr_bit(struct tme_sun_obie *sun_obie) -+{ -+ tme_uint16_t csr; -+ -+ csr = TME_SUN_OBIE_CSR_GET(sun_obie); -+ sun_obie->csr_ie_has_been_set |= -+ ((csr & TME_SUN_OBIE_CSR_IE) == TME_SUN_OBIE_CSR_IE); -+ -+ /* if a change in interrupt status */ -+ if (sun_obie->obie_interrupt_is_active != sun_obie->i825x6_interrupt_is_active) { -+ -+ /* transition to assert */ -+ if (!sun_obie->obie_interrupt_is_active) { -+ csr = (csr | TME_SUN_OBIE_CSR_INTR); -+ } -+ -+ /* transition to deassert */ -+ else { -+ csr = (csr & ~TME_SUN_OBIE_CSR_INTR); -+ } -+ -+ TME_SUN_OBIE_CSR_PUT(sun_obie, csr); -+ sun_obie->obie_interrupt_is_active = sun_obie->i825x6_interrupt_is_active; -+ } -+} -+ - /* the sun_obie callout function. it must be called with the mutex locked: */ - static void - _tme_sun_obie_callout(struct tme_sun_obie *sun_obie, int new_callouts) - { - struct tme_bus_connection *conn_i825x6; -- struct tme_bus_connection *conn_bus; - tme_uint16_t csr, csr_diff; - unsigned int signal, level; - int callouts, later_callouts; - int rc; -- int int_asserted; - - /* add in any new callouts: */ - sun_obie->tme_sun_obie_callout_flags |= new_callouts; -@@ -176,6 +232,8 @@ - - /* get the current CSR value: */ - csr = TME_SUN_OBIE_CSR_GET(sun_obie); -+ sun_obie->csr_ie_has_been_set |= -+ ((csr & TME_SUN_OBIE_CSR_IE) == TME_SUN_OBIE_CSR_IE); - - /* get the next signal to call out to the i825x6: */ - csr_diff = ((csr -@@ -230,7 +288,10 @@ - (conn_i825x6, - signal | level)) - : TME_OK); -- -+ -+ /* possibly update status of INTR bit in CSR */ -+ _possibly_set_csr_intr_bit(sun_obie); -+ - /* lock the mutex: */ - tme_mutex_lock(&sun_obie->tme_sun_obie_mutex); - -@@ -254,55 +315,6 @@ - } - } - } -- -- /* if we need to call out a possible change to our interrupt -- signal: */ -- if (callouts & TME_SUN_OBIE_CALLOUT_INT) { -- -- /* get the current CSR value: */ -- csr = TME_SUN_OBIE_CSR_GET(sun_obie); -- -- /* see if the interrupt signal should be asserted or negated: */ -- int_asserted = ((csr & (TME_SUN_OBIE_CSR_IE -- | TME_SUN_OBIE_CSR_INTR)) -- == (TME_SUN_OBIE_CSR_IE -- | TME_SUN_OBIE_CSR_INTR)); -- -- /* if the interrupt signal doesn't already have the right state: */ -- if (!int_asserted != !sun_obie->tme_sun_obie_int_asserted) { -- -- /* get our bus connection: */ -- conn_bus = sun_obie->tme_sun_obie_conn_regs; -- -- /* unlock our mutex: */ -- tme_mutex_unlock(&sun_obie->tme_sun_obie_mutex); -- -- /* call out the bus interrupt signal edge: */ -- rc = (conn_bus != NULL -- ? ((*conn_bus->tme_bus_signal) -- (conn_bus, -- TME_BUS_SIGNAL_INT_UNSPEC -- | (int_asserted -- ? TME_BUS_SIGNAL_LEVEL_ASSERTED -- : TME_BUS_SIGNAL_LEVEL_NEGATED))) -- : TME_OK); -- -- /* lock our mutex: */ -- tme_mutex_lock(&sun_obie->tme_sun_obie_mutex); -- -- /* if this callout was successful, note the new state of the -- interrupt signal: */ -- if (rc == TME_OK) { -- sun_obie->tme_sun_obie_int_asserted = int_asserted; -- } -- -- /* otherwise, remember that at some later time this callout -- should be attempted again: */ -- else { -- later_callouts |= TME_SUN_OBIE_CALLOUT_INT; -- } -- } -- } - } - - /* put in any later callouts, and clear that callouts are running: */ -@@ -321,6 +333,9 @@ - /* recover our data structure: */ - sun_obie = (struct tme_sun_obie *) _sun_obie; - -+ /* possibly update status of INTR bit in CSR */ -+ _possibly_set_csr_intr_bit(sun_obie); -+ - /* assume we won't need any new callouts: */ - new_callouts = 0; - -@@ -329,6 +344,8 @@ - - /* get the previous CSR value: */ - csr_old = TME_SUN_OBIE_CSR_GET(sun_obie); -+ sun_obie->csr_ie_has_been_set |= -+ ((csr_old & TME_SUN_OBIE_CSR_IE) == TME_SUN_OBIE_CSR_IE); - - /* run the cycle: */ - tme_bus_cycle_xfer_memory(cycle_init, -@@ -354,12 +371,6 @@ - new_callouts |= TME_SUN_OBIE_CALLOUT_SIGNALS; - } - -- /* if this is an interrupt mask change, possibly call out an -- interrupt signal change to the bus: */ -- if (csr_diff & TME_SUN_OBIE_CSR_IE) { -- new_callouts |= TME_SUN_OBIE_CALLOUT_INT; -- } -- - #ifndef TME_NO_LOG - if (csr_new != sun_obie->tme_sun_obie_last_log_csr) { - sun_obie->tme_sun_obie_last_log_csr = csr_new; -@@ -397,6 +408,15 @@ - /* recover our data structures: */ - sun_obie = conn_bus->tme_bus_connection.tme_connection_element->tme_element_private; - -+ /* save this information so we'll know it later */ -+ sun_obie->i825x6_interrupt_is_active = -+ ((signal & TME_BUS_SIGNAL_LEVEL_ASSERTED) == TME_BUS_SIGNAL_LEVEL_ASSERTED); -+ -+ /* return now if interrupt enable has never been set in CSR */ -+ if (!sun_obie->csr_ie_has_been_set) { -+ return (TME_OK); -+ } -+ - /* pass the i825x6's signal through to the obio bus: */ - conn_bus = sun_obie->tme_sun_obie_conn_regs; - return (conn_bus != NULL ---- ic/i825x6reg.h.orig 2006-12-13 08:27:48.000000000 -0500 -+++ ic/i825x6reg.h 2006-12-13 08:28:27.000000000 -0500 -@@ -156,7 +156,7 @@ - /* the i82586 and 32-bit segmented i82586 Transmit Buffer: */ - #define TME_I82586_TBD_EOF_SIZE (0) - #define TME_I82586_TBD_EOF (0x8000) --#define TME_I82586_TBD_SIZE_MASK (0x7fff) -+#define TME_I82586_TBD_SIZE_MASK (0x3fff) - #define TME_I82586_TBD_TBD_OFFSET (2) - #define TME_I82586_TBD_TB_ADDRESS (4) - diff --git a/emulators/tme/patches/patch-ba b/emulators/tme/patches/patch-ba deleted file mode 100644 index f29573da6ca..00000000000 --- a/emulators/tme/patches/patch-ba +++ /dev/null @@ -1,13 +0,0 @@ -$NetBSD: patch-ba,v 1.1 2007/03/17 13:44:19 tsutsui Exp $ - ---- host/gtk/gtk-screen.c.orig 2006-12-18 09:35:14.000000000 -0500 -+++ host/gtk/gtk-screen.c 2006-12-18 09:36:18.000000000 -0500 -@@ -537,6 +537,8 @@ - and auto-shrink: */ - screen->tme_gtk_screen_window - = gtk_window_new(GTK_WINDOW_TOPLEVEL); -+ gtk_window_set_position(GTK_WINDOW(screen->tme_gtk_screen_window), -+ GTK_WIN_POS_CENTER); - gtk_window_set_policy(GTK_WINDOW(screen->tme_gtk_screen_window), - TRUE, TRUE, TRUE); - diff --git a/emulators/tme/patches/patch-bb b/emulators/tme/patches/patch-bb deleted file mode 100644 index b3eedabf805..00000000000 --- a/emulators/tme/patches/patch-bb +++ /dev/null @@ -1,195 +0,0 @@ -$NetBSD: patch-bb,v 1.2 2007/03/17 14:36:42 tsutsui Exp $ - ---- ic/m68k/m68k-insns-auto.sh.orig 2005-03-23 11:09:33.000000000 +0900 -+++ ic/m68k/m68k-insns-auto.sh 2007-03-17 23:25:24.000000000 +0900 -@@ -58,6 +58,96 @@ - EOF - fi - -+if $header; then -+ cat <<EOF -+ -+/* following are to fix the movel sp,-(sp) problem (of the value being pushed -+ on the stack being off by four) and to warn if there are other possible -+ problems that haven't been tested */ -+ -+#define PREDEC_POSTINC_CONCERN ( \\ -+ \\ -+/* if source and destination register are the same number */ \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,0,3) == \\ -+ TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,9,3)) && \\ -+ \\ -+/* and both are address registers */ \\ -+ ( \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,3) >= 1) && \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,3) <= 6) && \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,6,3) >= 1) && \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,6,3) <= 6) \\ -+ ) && \\ -+ \\ -+/* and there is a predec or postinc in the src, or a predec in dest */ \\ -+ ( \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,3) == 3) || \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,3) == 4) || \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,6,3) == 4) \\ -+ ) \\ -+ ) -+ -+ -+#define DEST_IS_PREDEC_SRC_IS_REG_BOTH_SP ( \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,6,3) == 4) && \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,3) == 1) && \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,0,3) == 7) && \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,9,3) == 7) \\ -+ ) -+ -+/* following modes test ok */ -+#define MODE35_MODE24_OR_MODE54 ( \\ -+ \\ -+/* src/dest mode 3,5 : this is move.l (a5)+,(028,a5) */ \\ -+ ( \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,3) == 3) && \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,6,3) == 5) \\ -+ ) || \\ -+ \\ -+/* or src/dest mode 2,4 : this is move.l (a5),-(a5) */ \\ -+ ( \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,3) == 2) && \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,6,3) == 4) \\ -+ ) || \\ -+ \\ -+/* or src/dest mode 5,4 : this is move.l (028,a5),-(a5) */ \\ -+ ( \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,3) == 5) && \\ -+ (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,6,3) == 4) \\ -+ ) \\ -+ ) -+ -+ -+#define PRINT_WEIRD_SRC_DST_REG_MODE(msg) \\ -+ printf("%s\nsrc reg: %x src mode: %x dest reg: %x dest mode %x at pc:%x\n", \\ -+ msg, \\ -+ TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,0,3), \\ -+ TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,3), \\ -+ TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,9,3), \\ -+ TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,6,3), \\ -+ ic->tme_m68k_ireg_pc) -+ -+ -+#define HITRETURN(msg) do { \\ -+ printf("%s, pc:0x%08x, insn:0x%08x: please", \\ -+ msg, ic->tme_m68k_ireg_pc, TME_M68K_INSN_OPCODE); \\ -+ printf(" analyze M68K instruction.\n"); \\ -+ printf(" generate test case.\n"); \\ -+ printf(" if TME emulation is incorrect, correct problem.\n"); \\ -+ printf(" modify source to avoid this message in the future.\n"); \\ -+ printf("press any to continue:"); \\ -+ (void)getchar(); \\ -+ printf("continuing\n"); \\ -+} while (0) -+ -+EOF -+else -+ cat <<EOF -+#include <stdio.h> -+ -+EOF -+fi -+ - # permute for the three different operand sizes we need to handle: - for size in 8 16 32; do - -@@ -162,16 +252,16 @@ - echo "" - echo " if (!TME_M68K_SEQUENCE_RESTARTING) {" - echo " ic->_tme_m68k_ea_function_code = function_code;" -- echo " ic->_tme_m68k_ea_address = ic->tme_m68k_ireg_uint32(TME_M68K_IREG_A0 + ireg_dst);" -- echo " ic->tme_m68k_ireg_uint32(TME_M68K_IREG_A0 + ireg_dst) += ireg_dst_adjust;" -- echo " }" -- echo " tme_m68k_read_memx${size}(ic);" -- echo " if (!TME_M68K_SEQUENCE_RESTARTING) {" -- echo " ic->_tme_m68k_ea_function_code = function_code;" - echo " ic->_tme_m68k_ea_address = ic->tme_m68k_ireg_uint32(TME_M68K_IREG_A0 + ireg_src);" - echo " ic->tme_m68k_ireg_uint32(TME_M68K_IREG_A0 + ireg_src) += ireg_src_adjust;" - echo " }" - echo " tme_m68k_read_mem${size}(ic, TME_M68K_IREG_MEMY${size});" -+ echo " if (!TME_M68K_SEQUENCE_RESTARTING) {" -+ echo " ic->_tme_m68k_ea_function_code = function_code;" -+ echo " ic->_tme_m68k_ea_address = ic->tme_m68k_ireg_uint32(TME_M68K_IREG_A0 + ireg_dst);" -+ echo " ic->tme_m68k_ireg_uint32(TME_M68K_IREG_A0 + ireg_dst) += ireg_dst_adjust;" -+ echo " }" -+ echo " tme_m68k_read_memx${size}(ic);" - echo " ${dst} = ic->tme_m68k_ireg_memx${size};" - echo " ${src} = ic->tme_m68k_ireg_memy${size};" - ;; -@@ -181,6 +271,12 @@ - addx|subx) - echo " tme_uint16_t memory;" - echo "" -+ # sanity checks for addx/subx -+ echo " if ((ireg_src == ireg_dst) &&" -+ echo " (TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,3,1) == 1)) {" -+ echo " HITRETURN(\"weird ${name}${size}\");" -+ echo " }" -+ echo "" - echo " memory = (TME_M68K_INSN_OPCODE & TME_BIT(3));" - echo " if (memory) {" - echo " TME_M68K_INSN_CANFAULT;" -@@ -239,6 +335,35 @@ - fi - echo ";" - -+ # check "moveX sp,-(sp)" and adjust res -+ if test ${name} = move; then -+ echo "" -+ echo " if (PREDEC_POSTINC_CONCERN) {" -+ echo " if (DEST_IS_PREDEC_SRC_IS_REG_BOTH_SP) {" -+ if test ${size} = 8; then -+ echo " printf(\"ERROR: ${name}${size}: how can addr/addr be 8 bits? at pc:%x\\n\"," -+ echo " ic->tme_m68k_ireg_pc);" -+ else -+ echo "#if 0" -+ echo " printf(\"${name}${size}: chg predec dest res from:%x to %x for register %d at pc %x\\n\"," -+ echo " res, res + (${size} / 8), TME_FIELD_EXTRACTU(TME_M68K_INSN_OPCODE,0,3), ic->tme_m68k_ireg_pc);" -+ echo "#endif" -+ echo " res = res + (${size} / 8);" -+ fi -+ echo " } else if (!(MODE35_MODE24_OR_MODE54)) {" -+ echo " PRINT_WEIRD_SRC_DST_REG_MODE(\"WEIRD: ${name}${size}\");" -+ echo " }" -+ echo " }" -+ fi -+ -+ # sanity check for cmpa16 -+ if test ${name} = cmpa; then -+ echo "" -+ echo " if PREDEC_POSTINC_CONCERN {" -+ echo " PRINT_WEIRD_SRC_DST_REG_MODE(\"weird ${name}${size}\");" -+ echo " }" -+ fi -+ - # store the result: - if $store_res; then - echo "" -@@ -362,6 +487,10 @@ - adda) op='+' ; src="_op0" ; dst="_op1" ;; - movea) op='' ; src="_op1" ; dst="_op0" ;; - esac -+ echo " if (PREDEC_POSTINC_CONCERN) {" -+ echo " PRINT_WEIRD_SRC_DST_REG_MODE(\"weird ${name}${size}\");" -+ echo " }" -+ echo "" - echo " *((tme_int32_t *) ${dst}) ${op}= *((tme_int${size}_t *) ${src});" - echo " TME_M68K_INSN_OK;" - echo "}" -@@ -801,6 +930,10 @@ - echo " tme_uint16_t specopy = TME_M68K_INSN_OP0(tme_uint16_t);" - echo " tme_uint32_t addrx;" - echo " tme_uint32_t addry;" -+ fi -+ echo "" -+ echo " TME_M68K_INSN_CANFAULT;" -+ if test $name = cas2_; then - echo "" - echo " /* get the function code and addresses we'll be dealing with: */" - echo " ic->_tme_m68k_ea_function_code = TME_M68K_FUNCTION_CODE_DATA(ic);" diff --git a/emulators/tme/patches/patch-bc b/emulators/tme/patches/patch-bc deleted file mode 100644 index 34f3d585455..00000000000 --- a/emulators/tme/patches/patch-bc +++ /dev/null @@ -1,65 +0,0 @@ -$NetBSD: patch-bc,v 1.1 2007/03/17 13:44:20 tsutsui Exp $ - ---- ic/ieee754/ieee754-ops-auto.sh.orig 2005-03-23 20:47:37.000000000 +0900 -+++ ic/ieee754/ieee754-ops-auto.sh 2007-03-14 22:00:59.000000000 +0900 -@@ -126,7 +126,7 @@ - - # generate the operations: - # -- for name in add sub mul div \ -+ for name in add cmp sub mul div \ - rem sqrt abs neg move \ - rint \ - cos acos cosh \ -@@ -144,7 +144,7 @@ - # - monadic=true - case "${name}" in -- add | sub | mul | div | rem | pow | scale) -+ add | cmp | sub | mul | div | rem | pow | scale) - monadic=false - ;; - esac -@@ -243,13 +243,14 @@ - func_softfloat="${name}" - ;; - *-add) op_builtin='+' ;; -+ *-cmp) op_builtin='-' ;; - *-sub) op_builtin='-' ;; - *-mul) op_builtin='*' ;; - *-div) op_builtin='/' ;; - *-sqrt) func_libm=sqrt ;; - partial-abs | unknown-abs) func_libm=fabs ;; - strict-neg) op0=0 ; func_softfloat=sub ; op1=src0 ;; -- partial-neg | unknown-neg) op0=0 ; op_builtin='-'; op1=src0 ;; -+ partial-neg | unknown-neg) op0=-1.0 ; op_builtin='*'; op1=src0 ;; - strict-move) func_softfloat=add ; op1=0 ;; - *-move) type="${level_stricter}-move" ; src0_buffer=false ;; - strict-rint) func_softfloat=round_to_int ;; -@@ -547,6 +548,15 @@ - # a builtin operation: - # - builtin) -+ if test ${name} = "cmp"; then -+ -+ echo " if (tme_float_is_inf(src0, TME_FLOAT_FORMAT_IEEE754_${capprecision} ) &" -+ echo " tme_float_is_inf(src1, TME_FLOAT_FORMAT_IEEE754_${capprecision}) &" -+ echo " (tme_float_is_negative(src0, TME_FLOAT_FORMAT_IEEE754_${capprecision}) ==" -+ echo " tme_float_is_negative(src1, TME_FLOAT_FORMAT_IEEE754_${capprecision})))" -+ echo " tme_ieee754_${precision}_value_builtin_set(dst, TME_FLOAT_FORMAT_IEEE754_${capprecision}_BUILTIN, 0.0);" -+ echo " else" -+ fi; - echo " tme_ieee754_${precision}_value_builtin_set(dst, TME_FLOAT_FORMAT_IEEE754_${capprecision}_BUILTIN, ${op0} ${op_builtin} ${op1});" - ;; - ---- ic/m68k/m6888x-auto.sh.orig 2006-10-01 08:22:49.000000000 -0400 -+++ ic/m68k/m6888x-auto.sh 2006-10-01 08:22:56.000000000 -0400 -@@ -136,7 +136,7 @@ - 12) name=asin ; fpu_types=TME_M68K_FPU_M6888X ;; # fasin pp 315 - 10) name=atan ; fpu_types=TME_M68K_FPU_M6888X ;; # fatan pp 318 - 13) name=atanh ; fpu_types=TME_M68K_FPU_M6888X ;; # fatanh pp 321 -- 56) name=cmp ; name_ieee754=sub ; optype=DST_SRC ;; # fcmp pp 326 -+ 56) name=cmp ; optype=DST_SRC ;; # fcmp pp 326 - 29) name=cos ; fpu_types=TME_M68K_FPU_M6888X ;; # fcos pp 329 - 25) name=cosh ; fpu_types=TME_M68K_FPU_M6888X ;; # fcosh pp 332 - diff --git a/emulators/tme/patches/patch-bd b/emulators/tme/patches/patch-bd deleted file mode 100644 index 0fd68e606c8..00000000000 --- a/emulators/tme/patches/patch-bd +++ /dev/null @@ -1,32 +0,0 @@ -$NetBSD: patch-bd,v 1.1 2007/03/17 13:44:20 tsutsui Exp $ - ---- generic/fb-xlat-auto.sh.orig 2005-05-15 04:02:20.000000000 +0900 -+++ generic/fb-xlat-auto.sh 2007-03-11 18:06:24.000000000 +0900 -@@ -458,11 +458,11 @@ - if (bits < 32) { \\ - if (order == TME_ENDIAN_BIG) { \\ - fifo |= (next >> bits); \\ -- next <<= (32 - bits); \\ -+ next = (bits == 0) ? 0 : (next << (32 - bits)); \\ - } \\ - else { \\ - fifo |= (next << bits); \\ -- next >>= (32 - bits); \\ -+ next = (bits == 0) ? 0 : (next >> (32 - bits)); \\ - } \\ - } \\ - \\ -@@ -506,11 +506,12 @@ - /* shift the FIFO: */ \\ - if (order == TME_ENDIAN_BIG) { \\ - next |= (fifo >> bits); \\ -- fifo <<= (32 - bits); \\ -+ fifo = (bits == 0) ? 0 : (fifo << (32 - bits)); \\ - } \\ - else { \\ - next |= (fifo << bits); \\ - fifo >>= (32 - bits); \\ -+ fifo = (bits == 0) ? 0 : (fifo >> (32 - bits)); \\ - } \\ - bits += (shift); \\ - \\ diff --git a/emulators/tme/patches/patch-be b/emulators/tme/patches/patch-be deleted file mode 100644 index ccfc6d03f92..00000000000 --- a/emulators/tme/patches/patch-be +++ /dev/null @@ -1,17 +0,0 @@ -$NetBSD: patch-be,v 1.1 2007/03/17 13:44:20 tsutsui Exp $ - ---- ic/m68k/m68k-iset.txt.orig 2005-03-23 20:55:34.000000000 +0900 -+++ ic/m68k/m68k-iset.txt 2007-03-14 01:31:57.000000000 +0900 -@@ -59,8 +59,10 @@ - .if m68020 || m68030 - specop specop16 cmp2_chk2 - 0000 0ss0 11xx xxxx cmp2_chk2 X, x0/control ! chk2 pp 174, cmp2 pp 185 --specop specop16 cas --0000 1SS0 11xx xxxx cas.S X, x0/memalt/un ! cas pp 169 -+specop specop16 cas8 cas16 cas32 -+0000 1010 11xx xxxx cas8 X, x0/memalt/un ! cas pp 169 -+0000 1100 11xx xxxx cas16 X, x0/memalt/un ! cas pp 169 -+0000 1110 11xx xxxx cas32 X, x0/memalt/un ! cas pp 169 - specop specop16 cas2_16 cas2_32 - 0000 1100 1111 1100 cas2_16 #16 ! cas2 pp 169 - 0000 1110 1111 1100 cas2_32 #16 ! cas2 pp 169 |