Annotation of tme/ChangeLog, revision 1.1.1.2

1.1.1.2 ! root        1: Wed Oct 29 02:03:26 2003  Matthew Fredette  <[email protected].>
        !             2:  
        !             3:        * Release 0.2 out.
1.1       root        4: 
1.1.1.2 ! root        5:        * host/gtk/gtk-screen.c: Some quick changes for GTK 2 compatibility. 
1.1       root        6: 
1.1.1.2 ! root        7: Sat Oct 25 17:08:02 2003  Matthew Fredette  <[email protected]>
        !             8: 
        !             9:        * ic/am9513.c ic/mm58167.c ic/z8530.c ic/z8530reg.h
        !            10:          ic/m68k/m68k-execute.c ic/m68k/m68k-insns.c ic/m68k/m68k-iset.txt
        !            11:          ic/m68k/m68k-misc.c ic/m68k/m68k-verify.c tmesh/tmesh-cmds.c
        !            12:          tmesh/tmesh-util.c:
        !            13: 
        !            14:          RCS Id, header comment, and license sweep. 
        !            15: 
        !            16: Thu Oct 16 03:02:11 2003  Matthew Fredette  <[email protected]>
        !            17: 
        !            18:        * configure.in: Now check for size_t. 
        !            19:        Now make sure that <net/bpf.h> defines BIOCSHDRCMPLT before deciding
        !            20:        that bpf support is present. 
        !            21: 
        !            22:        * generic/bus.c generic/keyboard.c host/bsd/bsd-bpf.c
        !            23:          host/bsd/bsd-if.c host/gtk/gtk-display.h host/gtk/gtk-keyboard.c
        !            24:          host/posix/posix-tape.c ic/am9513.c ic/m68k/m68k-impl.h
        !            25:          libtme/log-prf.c machine/sun2/sun2-mmu.c scsi/scsi-cdb.c
        !            26:          scsi/scsi-tape.c serial/kb-sun.c serial/serial-kb.c
        !            27:          serial/serial-ms.c tme/generic/keyboard.h tme/scsi/scsi-device.h
        !            28:          tmesh/tmesh-cmds.c tmesh/tmesh.c:
        !            29: 
        !            30:          Fixed many small bugs caught by the gcc3 -Wall -Wuninitialized. 
        !            31: 
        !            32:        * host/posix/posix-disk.c: Fixed various type problems found by gcc3. 
        !            33: 
        !            34:        * scsi/acb4000.c (_tme_acb4000_cdb_bad): Fixed a bug where we set the
        !            35:        amount of valid sense to TRUE instead of to a byte count. 
        !            36: 
        !            37:        * scsi/scsi-bus.c (_tme_scsi_bus_cycle): Work around an aliasing
        !            38:        warning. 
        !            39: 
        !            40:        * tme/common.h: Fixed a bug where tme_value64_set had a conditional
        !            41:        with two different result types. 
        !            42:        When included by the implementation, now try to bring in standard
        !            43:        headers to get string and memory function prototypes.  Added an
        !            44:        incomplete list of prototypes for when standard headers aren't
        !            45:        available. 
        !            46: 
        !            47: Mon Sep 29 11:42:56 2003  Matthew Fredette  <[email protected]>
        !            48: 
        !            49:        * generic/fb-xlat-auto.sh: Added many comments, clarified some obscure
        !            50:        code, and fixed a bug where unoptimized halving translators wouldn't
        !            51:        shift the source FIFOs by two pixels when they had to. 
        !            52: 
        !            53: Wed Sep 10 01:49:22 2003  Matthew Fredette  <[email protected]>
        !            54: 
        !            55:        * generic/fb-xlat-auto.sh: Fixed various bugs when the destination
        !            56:        FIFOs may not be aligned, and when doubling.  These bugs were mostly
        !            57:        found by inspection, and the fixes haven't been tested. 
        !            58: 
        !            59: Mon Sep 01 14:58:57 2003  Matthew Fredette  <[email protected]>
        !            60: 
        !            61:        * configure.in: Changed the version number. 
        !            62:        Now only build the bsd host modules on BSD-like systems. 
        !            63: 
        !            64:        * generic/keyboard.c (_tme_keyboard_buffer_in0): Now examine any
        !            65:        keycode on the user's event to determine if an earlier press of a
        !            66:        different keysym from the same keycode has actually released. 
        !            67: 
        !            68:        * host/gtk/gtk-display.h: Now keep a mapping from keysym to keycode,
        !            69:        for those keysyms that can only be generated by one keycode. 
        !            70: 
        !            71:        * host/gtk/gtk-keyboard.c (_tme_gtk_keyboard_x11_new):
        !            72:        (_tme_gtk_keyboard_key_event):
        !            73:        (_tme_gtk_keyboard_new): Now keep a mapping from keysym to keycode,
        !            74:        for those keysyms that can only be generated by one keycode, and add
        !            75:        that keycode to key events. 
        !            76: 
        !            77:        * host/posix/posix-tape.c: Some changes to silence gcc
        !            78:        -Wuninitialized. 
        !            79: 
        !            80:        * host/posix/posix-tape.c (_tme_posix_tape_xfer1): When we hit the end
        !            81:        of the media, don't try to skip ahead to a nonexistent next segment. 
        !            82: 
        !            83:        * libtme/hash.c (_tme_hash_lookup_internal): When the lookup succeeds,
        !            84:        be sure to return the handle the bucket. 
        !            85: 
        !            86:        * libtme/log.c: Fixed many of the non-stdarg declarations of the
        !            87:        variable-argument functions. 
        !            88: 
        !            89:        * machine/sun2/SUN2-MULTIBUS: Now set a fixed key rate on kbd0, to
        !            90:        work around a bug in NetBSD where only the first of simultaneously
        !            91:        received keycodes will be processed. 
        !            92: 
        !            93:        * serial/serial-kb.c (_tme_serial_kb_callout): Cleaned up the code
        !            94:        that translates keyboard events into serial data, and added support
        !            95:        for rate-limiting. 
        !            96:        (_tme_serial_kb_th_rate): Added. 
        !            97:        (_tme_serial_kb_serial_read):
        !            98:        ((tme_serial_,kb,keyboard): Added support for rate-limiting. 
        !            99: 
        !           100:        * serial/serial-kb.h: Added various members to control rate-limiting. 
        !           101: 
        !           102:        * tme/generic/keyboard.h: A keyboard event for a keysym can now
        !           103:        include the related keycode.  This is for handling the case of a key
        !           104:        release giving a different keysym than the key press did because
        !           105:        modifiers changed in between. 
        !           106: 
        !           107: Sat Aug 23 13:50:34 2003  Matthew Fredette  <[email protected]>
        !           108: 
        !           109:        * generic/Makefile.am: Be sure to distribute fb-xlat-auto.sh. 
        !           110:        * generic/keyboard.c (_tme_keyboard_debug):
        !           111:        (tme_keyboard_buffer_new): Changes to support logging debug messages. 
        !           112: 
        !           113:        * host/gtk/Makefile.am:
        !           114:        * serial/Makefile.am:
        !           115:        * tme/generic/Makefile.am: Added some headers that weren't getting
        !           116:        distributed. 
        !           117: 
        !           118:        * host/gtk/gtk-keyboard.c (_tme_gtk_keyboard_new): Allow the keyboard
        !           119:        buffer to log messages using our log handle. 
        !           120: 
        !           121:        * host/posix/posix-tape.c: Changes to silence various gcc warnings. 
        !           122: 
        !           123:        * libtme/module.c: Added a hack to support older installed libltdls
        !           124:        that don't define lt_ptr. 
        !           125: 
        !           126:        * libtme/threads-sjlj.c: Fixed uses of struct fd_set. 
        !           127: 
        !           128:        * tme/common.h: Now include <netinet/in.h> for the byteswapping
        !           129:        functions. 
        !           130: 
        !           131:        * tme/generic/keyboard.h: Users can now give a log handle to the
        !           132:        keyboard buffer, for logging debug messages. 
        !           133: 
        !           134: Fri Aug 22 16:39:30 2003  Matthew Fredette  <[email protected]>
        !           135: 
        !           136:        * serial/serial-kb.c (tme_serial_,kb,keyboard): Give the element's log
        !           137:        handle to the keyboard buffer, to enable debugging. 
        !           138: 
        !           139: Tue Aug 12 23:00:40 2003  Matthew Fredette  <[email protected]>
        !           140: 
        !           141:        * machine/sun/Makefile.am: Now install sun-keyboards.txt and
        !           142:        my-sun-macros.txt. 
        !           143: 
        !           144:        * machine/sun/my-sun-macros.txt:
        !           145:        * machine/sun/sun-keyboards.txt: Added. 
        !           146: 
        !           147:        * machine/sun2/Makefile.am: Removed some old targets and dependencies. 
        !           148: 
        !           149:        * machine/sun2/SUN2-MULTIBUS: Reorganized and added more comments. 
        !           150:        As-is, this now represents the common case of local disk, no network. 
        !           151: 
        !           152: Fri Aug 08 13:33:45 2003  Matthew Fredette  <[email protected]>
        !           153: 
        !           154:        * tmesh/tmesh.c (main): Added support for the --noninteractive option. 
        !           155:        Fixed a bug where we wouldn't report meaningful file and line number
        !           156:        information on early errors. 
        !           157: 
        !           158: Thu Aug 07 22:14:46 2003  Matthew Fredette  <[email protected]>
        !           159: 
        !           160:        * bus/multibus/sun-sc.c (_tme_sun_sc_bus_cycle_data_reg): Added. 
        !           161:        (_tme_sun_sc_bus_cycle_data):
        !           162:        (_tme_sun_sc_bus_cycle_cmd_stat): Now use
        !           163:        _tme_sun_sc_bus_cycle_data_reg to run the bus cycle. 
        !           164:        (_tme_sun_sc_tlb_fill): The data register can't allow fast reading. 
        !           165: 
        !           166:        * host/posix/posix-disk.c (_tme_posix_disk_buffer_get): Now honor a
        !           167:        device's block size. 
        !           168:        (tme_host_posix,disk): If the disk image is a character device, see if
        !           169:        it has a minimum block size. 
        !           170: 
        !           171:        * host/posix/posix-tape.c (__tme_posix_tape_command): Fixed a bug
        !           172:        where an error return value wouldn't get returned.  Fixed a bug where
        !           173:        a LOAD control would get called out even when an error occured during
        !           174:        loading. 
        !           175: 
        !           176:        * scsi/emulexmt02.c: Replaced blocksize with block_size for
        !           177:        consistency. 
        !           178:        (_tme_emulexmt02_cdb_block_limits): Added. 
        !           179:        (tme_scsi,tape): Now handle the BLOCK LIMITS command. 
        !           180: 
        !           181:        * scsi/scsi-cdb.c (tme_scsi_device_cdb_illegal): Added. 
        !           182:        (_tme_scsi_device_make_inquiry_string): Added. 
        !           183:        (tme_scsi_device_make_inquiry_data): Added. 
        !           184:        (tme_scsi_device_cdb_inquiry): Removed. 
        !           185: 
        !           186:        * scsi/scsi-device.c (tme_scsi_device_address_lun_aware): Always allow
        !           187:        an INQUIRY command, even for a LUN that isn't defined. 
        !           188:        (tme_scsi_device_new): Set a NULL handler for the INQUIRY command by
        !           189:        default. 
        !           190: 
        !           191:        * scsi/scsi-disk.c: Renamed the tme-scsi-2 disk type to tme-scsi-1, to
        !           192:        reflect that it's a SCSI-1 disk. 
        !           193:        (tme_scsi_disk_cdb_inquiry): Added. 
        !           194:        (tme_scsi_disk_cdb_mode_sense):
        !           195:        (tme_scsi_disk_cdb_start_stop):
        !           196:        (tme_scsi_disk_cdb_prevent_allow):
        !           197:        (tme_scsi_disk_cdb_read_capacity): Crudely implemented these commands. 
        !           198:        (tme_scsi_disk_cdb_read1):
        !           199:        (tme_scsi_disk_cdb_write1): Implemented these commands. 
        !           200:        (_tme_scsi_disk_control): Made public. 
        !           201:        (_tme_scsi_disk_connection_break): Made public. 
        !           202:        (_tme_scsi_disk_connection_make): Made public. 
        !           203:        (_tme_scsi_disk_connections_new): Made public. 
        !           204:        (tme_scsi,disk): Install the disk handler for the INQUIRY command. 
        !           205: 
        !           206:        * scsi/scsi-tape.c (tme_scsi_tape_cdb_inquiry): Added. 
        !           207:        (tme_scsi_tape_cdb_load_unload):
        !           208:        ((tme_scsi_tape_cdb_prevent_allow): Made these command handlers do
        !           209:        nothing, for now. 
        !           210:        (tme_scsi,tape): Install the tape handler for the INQUIRY command. 
        !           211: 
        !           212:        * tme/generic/disk.h: Define some disk controls. 
        !           213: 
        !           214:        * tme/scsi/scsi-cdb.h: Define various macros, types, and prototypes
        !           215:        for generating INQUIRY response data. 
        !           216: 
        !           217:        * tme/scsi/scsi-disk.h: Added some prototypes for some now-public
        !           218:        functions. 
        !           219: 
        !           220:        * tme/scsi/scsi-tape.h: Added a prototype for
        !           221:        tme_scsi_tape_cdb_inquiry. 
        !           222: 
        !           223: Tue Aug 05 03:41:31 2003  Matthew Fredette  <[email protected]>
        !           224: 
        !           225:        * bus/multibus/sun-sc.c (_tme_sun_sc_scsi_cycle): If we're not
        !           226:        starting DMA, be sure to call out a wait-change cycle instead,
        !           227:        otherwise we can miss SCSI bus transitions. 
        !           228: 
        !           229:        * generic/Makefile.am: Now compile tape.c
        !           230: 
        !           231:        * generic/tape.c host/posix/posix-tape.c scsi/emulexmt02.c
        !           232:          scsi/scsi-tape.c tme/generic/tape.h tme/scsi/scsi-tape.h:
        !           233: 
        !           234:          Added. 
        !           235: 
        !           236:        * host/posix/Makefile.am: Now compile posix-tape.c. 
        !           237: 
        !           238:        * ic/z8530.c (_tme_z8530_bus_cycle): Added support for the WR0 reset
        !           239:        Rx interrupt command. 
        !           240: 
        !           241:        * ic/m68k/m68k-impl.h: Now always declare tme_m68k_verify_hook. 
        !           242: 
        !           243:        * ic/m68k/m68k-insns-auto.sh: Fixed a bug in the V bit calculation in
        !           244:        the asl insns. 
        !           245: 
        !           246:        * ic/m68k/m68k-misc.c (tme_m68k_verify_hook): Now always compile this
        !           247:        function. 
        !           248: 
        !           249:        * ic/m68k/m68k-verify.c (_tme_m68k_verify_end): Ignore the T bits when
        !           250:        verifying %sr. 
        !           251: 
        !           252:        * machine/sun2/SUN2-MULTIBUS: Updated. 
        !           253: 
        !           254:        * scsi/Makefile.am: Now compile emulexmt02.c and scsi-tape.c. 
        !           255: 
        !           256:        * scsi/acb4000.c (_tme_acb4000_address_lun): When marking a
        !           257:        nonextended sense as valid we now have to indicate how many bytes it
        !           258:        contains. 
        !           259: 
        !           260:        * scsi/acb4000.c:
        !           261:        * tme/scsi/scsi-device.h: Fixed a comment. 
        !           262: 
        !           263:        * scsi/scsi-bus.c (_tme_scsi_bus_cycle): Now be more universal about
        !           264:        remembering the last SCSI bus state we called out to each connection,
        !           265:        and call out whenever that state changes and the connection wants a
        !           266:        callout.  When a connection gives us an empty DMA sequence, instead of
        !           267:        aborting just immediately call out.  When a connection is in a DMA
        !           268:        sequence and the bus gets reset, try to reset on behalf of the
        !           269:        connection. 
        !           270: 
        !           271:        * scsi/scsi-cdb.c (tme_scsi_device_cdb_request_sense): Now require
        !           272:        that the valid marker for nonextended senses give the length of the
        !           273:        sense. 
        !           274: 
        !           275:        * scsi/scsi-device.c (tme_scsi_device_target_phase): Now log up to 128
        !           276:        bytes of output in various phases. 
        !           277:        (_tme_scsi_device_cycle): Now log short transfers. 
        !           278:        (tme_scsi_device_target_dsmf): Fixed a comment. 
        !           279: 
        !           280:        * scsi/scsi-disk.c (_tme_scsi_disk_connections_new): Fixed a usage
        !           281:        string. 
        !           282:        (tme_disk,new): Fixed a comment. 
        !           283: 
        !           284:        * serial/ms-mssystems.c: Removed the 3-byte packet support, since it's
        !           285:        apparently only found on the Tadpole SPARCbooks. 
        !           286: 
        !           287:        * serial/serial-ms.c (_tme_serial_ms_serial_config): Now store the
        !           288:        peer's serial configuration. 
        !           289: 
        !           290:        * serial/serial-ms.h: Now store the peer's serial configuration. 
        !           291: 
        !           292:        * tme/connection.h: Now define TME_CONNECTION_TAPE. 
        !           293: 
        !           294:        * tme/generic/Makefile.am: Now install tape.h. 
        !           295: 
        !           296:        * tme/scsi/Makefile.am: Now install scsi-tape.h. 
        !           297: 
        !           298: Thu Jul 31 19:03:16 2003  Matthew Fredette  <[email protected]>
        !           299: 
        !           300:        * scsi/scsi-bus.c (_tme_scsi_bus_cycle): Fixed some uses of dma_in to
        !           301:        dma; caught by gcc -Wuninitialized. 
        !           302: 
        !           303:        * tmesh/tmesh-cmds.c (_tmesh_command_log): Wrapped some otherwise
        !           304:        unused declarations in !TME_NO_LOG. 
        !           305: 
        !           306: Thu Jul 31 01:47:46 2003  Matthew Fredette  <[email protected]>
        !           307: 
        !           308:        * generic/Makefile.am: Now compile mouse.c. 
        !           309: 
        !           310:        * generic/fb.c (tme_fb_xlat_best): Fixed a bug where we wouldn't
        !           311:        reject translation functions that don't match the question. 
        !           312: 
        !           313:        * generic/keyboard.c: Fixed a comment. 
        !           314: 
        !           315:        * generic/mouse.c host/gtk/gtk-mouse.c serial/ms-mssystems.c
        !           316:          serial/serial-ms.c serial/serial-ms.h tme/generic/mouse.h:
        !           317: 
        !           318:          Added. 
        !           319: 
        !           320:        * host/gtk/Makefile.am: Now compile gtk-mouse.c. 
        !           321: 
        !           322:        * host/gtk/gtk-display.c:
        !           323:        * host/gtk/gtk-display.h:
        !           324:        * host/gtk/gtk-keyboard.c: Many changes to add mouse support. 
        !           325: 
        !           326:        * host/gtk/gtk-screen.c: Many changes to improve the user interface. 
        !           327:        Now include a menu for changing the scaling factor.  Fixed bugs with
        !           328:        respect to event masks, mostly by adding an event box. 
        !           329: 
        !           330:        * ic/z8530.c (_tme_z8530_callout): Fixed a bug that caused us to never
        !           331:        check the callouts on channel B. 
        !           332: 
        !           333:        * ic/m68k/m68k-insns.c (tme_m68k_reset): Added a crude implementation
        !           334:        of the reset instruction. 
        !           335: 
        !           336:        * machine/sun2/SUN2-MULTIBUS: Updated. 
        !           337: 
        !           338:        * machine/sun2/sun2-mainbus.c (_tme_sun2_bus_signal): Instead of
        !           339:        aborting, just ignore the RESET signal from the CPU for now. 
        !           340: 
        !           341:        * serial/Makefile.am: Now compile serial-ms.c and ms-mssystems.c. 
        !           342: 
        !           343:        * tme/connection.h: Now define TME_CONNECTION_MOUSE. 
        !           344: 
        !           345: Tue Jul 29 18:33:14 2003  Matthew Fredette  <[email protected]>
        !           346: 
        !           347:        * Makefile.am:
        !           348:        * tme/Makefile.am: Added scsi to SUBDIRS. 
        !           349: 
        !           350:        * configure.in: If long on the target is 64-bits, use it as our 64-bit
        !           351:        type.  Substitute the scsi Makefiles. 
        !           352: 
        !           353:        * bus/multibus/3c400.c (TME_3C400_CSR_PUT_3c400): Corrected a
        !           354:        tme_betoh_u16 into a tme_htobe_u16. 
        !           355: 
        !           356:        * bus/multibus/Makefile.am: Now compile sun-sc.c. 
        !           357: 
        !           358:        * bus/multibus/sun-sc.c generic/disk.c generic/scsi.c
        !           359:          host/posix/posix-disk.c scsi/Makefile.am scsi/acb4000.c
        !           360:          scsi/disk-tme.c scsi/scsi-bus.c scsi/scsi-cdb.c scsi/scsi-device.c
        !           361:          scsi/scsi-disk.c scsi/scsi-msg.c tme/generic/disk.h
        !           362:          tme/generic/scsi.h tme/scsi/Makefile.am tme/scsi/scsi-cdb.h
        !           363:          tme/scsi/scsi-device.h tme/scsi/scsi-disk.h tme/scsi/scsi-msg.h:
        !           364: 
        !           365:          Added. 
        !           366: 
        !           367:        * generic/Makefile.am: Now compile disk.c and scsi.c. 
        !           368: 
        !           369:        * generic/bus-device.c:
        !           370:        * generic/bus-el.c: Fixed a comment. 
        !           371: 
        !           372:        * host/posix/Makefile.am: Now compile posix-disk.c. 
        !           373: 
        !           374:        * host/posix/posix-memory.c:
        !           375:        * host/posix/posix-serial.c: Fixed comments. 
        !           376: 
        !           377:        * ic/mm58167.c: Fixed many significant problems with this emulation,
        !           378:        most notably that the size of the chip was not calculated correctly at
        !           379:        all.  We now report with microsecond resolution, since SunOS's probe
        !           380:        routine requires this. 
        !           381: 
        !           382:        * ic/z8530.c (_tme_z8530_intack): Simplified and fixed bugs in how
        !           383:        variable interrupt vectors are computed.  For now, since there's no
        !           384:        emulation of the IEI pin, we just behave as if it's always tied low,
        !           385:        so we never put any vector on the bus during a hard interrupt
        !           386:        acknowledge. 
        !           387:        (_tme_z8530_bus_cycle): Now ignore all WR0 CRC reset commands.  Now
        !           388:        support the WR0 transmitter reset command.  Now support reads of RR10
        !           389:        and RR14. 
        !           390: 
        !           391:        * ic/m68k/m68k-insns-auto.sh: The movem instructions cannot fault when
        !           392:        the register mask is zero.  Now that we generally have a 64-bit type
        !           393:        available, fixed various bugs in the 64-bit multiply and divide
        !           394:        instructions. 
        !           395: 
        !           396:        * ic/m68k/m68k-insns.c (tme_m68k_movec): Now appropriately mask values
        !           397:        loaded into control registers.  movec only has a long version, and
        !           398:        SunOS on the Sun-2 doesn't necessarily clear the remainder of the data
        !           399:        register it uses to load %sfc and %dfc. 
        !           400: 
        !           401:        * ic/m68k/m68k-misc.c (tme_m68k_exception_process_start): Fixed a bug
        !           402:        where the T bits weren't cleared.  This bug was found by SunOS on the
        !           403:        sun2, which starts at least init in usermode with tracing enabled. 
        !           404: 
        !           405:        * ic/m68k/m68k-verify.c (tme_m68k_verify_init): Now assume that the
        !           406:        CPU generates 28-bit addresses.  SunOS 3 on the Sun-2 does this. 
        !           407: 
        !           408:        * machine/sun/tme-sun-idprom.pl: Added support for the obscure
        !           409:        Roadrunner-MB1. 
        !           410: 
        !           411:        * machine/sun2/sun2-bwtwo.c: Fixed various comments. 
        !           412:        Because SunOS's probe routine fails otherwise, added support for the
        !           413:        entire 2KB page starting at the CSR to appear undecoded, i.e., to look
        !           414:        like the CSR repeated 1024 times. 
        !           415: 
        !           416:        * machine/sun2/sun2-impl.h: Now define TME_SUN2_DVMA_SIZE_MBMEM and
        !           417:        TME_SUN2_DVMA_SIZE_VME. 
        !           418:        Now make struct tme_sun2_bus_connection public, since the bus DVMA TLB
        !           419:        filler needs to know which bus it's filling for. 
        !           420: 
        !           421:        * machine/sun2/sun2-mainbus.c (_tme_sun2_connections_new): When making
        !           422:        the connections for the mbmem or vme buses, be sure to set the last
        !           423:        address that we decode on the bus, for DVMA purposes. 
        !           424: 
        !           425:        * machine/sun2/sun2-mmu.c (_tme_sun2_bus_tlb_fill): Fixed many bugs
        !           426:        involving filling TLB entries for bus's DVMA regions. 
        !           427:        (_tme_sun2_mmu_pte_set): Added a missing protection. 
        !           428: 
        !           429:        * tme/common.h: Added some crude support for 64-bit math, even for
        !           430:        compilers that offer no 64-bit type at all. 
        !           431: 
        !           432:        * tme/connection.h: Now define TME_CONNECTION_SCSI and
        !           433:        TME_CONNECTION_DISK. 
        !           434: 
        !           435:        * tme/generic/Makefile.am: Added more headers. 
        !           436: 
        !           437:        * tme/generic/bus-device.h: Corrected a comment. 
        !           438: 
        !           439:        * tme/generic/ic.h: Corrected the 64-bit support. 
        !           440: 
        !           441:        * tmesh/tmesh-cmds.c (_tmesh_command_log): Added. 
        !           442: 
        !           443:        * tmesh/tmesh-impl.h: Now define TMESH_COMMAND_LOG. 
        !           444: 
        !           445:        * tmesh/tmesh-input.y: Added support for parsing the `log' command. 
        !           446: 
        !           447: Tue Jul 22 18:30:31 2003  Matthew Fredette  <[email protected]>
        !           448: 
        !           449:        * generic/fb-xlat-auto.sh: Changes to silence gcc -Wuninitialized. 
        !           450:        * host/gtk/gtk-keyboard.c (_tme_gtk_keyboard_lookup): Changes to
        !           451:        silence gcc -Wuninitialized. 
        !           452: 
        !           453:        * libtme/module.c (tme_module_open): Changes to silence gcc
        !           454:        -Wuninitialized. 
        !           455: 
        !           456:        * libtme/threads-sjlj.c (tme_sjlj_dispatch): Declared some locals
        !           457:        volatile to silence gcc's setjmp-related warning. 
        !           458: 
        !           459: Fri Jun 27 21:30:37 2003  Matthew Fredette  <[email protected]>
        !           460: 
        !           461:        * Makefile.am: Added the serial directory to SUBDIRS. 
        !           462:        * configure.in: Many changes to support framebuffer emulation and X11
        !           463:        and gtk elements.  Also added some serial elements support. 
        !           464: 
        !           465:        * generic/Makefile.am: Now create fb-xlat-auto.c and build fb.c and
        !           466:        keyboard.c. 
        !           467: 
        !           468:        * generic/bus-device.c:
        !           469:        * generic/bus-el.c:
        !           470:        * generic/bus.c: Although I hate doing this, various changes to
        !           471:        support a single bus connection connecting to a bus region sparsely. 
        !           472: 
        !           473:        * generic/fb-xlat-auto.sh: Now declare src_bypb to include one more
        !           474:        extra line of data, to make a total of two. 
        !           475:        Fixed a bug where translating and halving would really translate every
        !           476:        line twice.  Now when we reach the end of a line we skip the next
        !           477:        line, to move to the next pair of lines. 
        !           478: 
        !           479:        * generic/fb.c generic/keyboard.c host/gtk/Makefile.am
        !           480:          host/gtk/gtk-display.c host/gtk/gtk-display.h
        !           481:          host/gtk/gtk-keyboard.c host/gtk/gtk-screen.c libtme/hash.c
        !           482:          machine/sun2/sun2-bwtwo.c serial/Makefile.am serial/kb-sun.c
        !           483:          serial/serial-kb.c serial/serial-kb.h tme/hash.h tme/misc.h
        !           484:          tme/generic/fb.h tme/generic/keyboard.h:
        !           485: 
        !           486:          Added. 
        !           487: 
        !           488:        * generic/keyboard.c: Disabled debug output. 
        !           489: 
        !           490:        * host/Makefile.am: Added gtk to DIST_SUBDIRS. 
        !           491: 
        !           492:        * ic/am9513.c (_tme_am9513_th_timer): Removed a newline from a log
        !           493:        statement. 
        !           494: 
        !           495:        * ic/z8530.c (_tme_z8530_channel_reset): Fixed an incorrect reset
        !           496:        value for RR3. 
        !           497:        (_tme_z8530_config): Simply ignore a peer's request to change the
        !           498:        serial configuration. 
        !           499: 
        !           500:        * ic/m68k/m68k-execute.c: To fix a problem where m68k execution could
        !           501:        possibly never yield (by oscillating back and forth between fast and
        !           502:        slow execution, for example) we make sure that we never run more than
        !           503:        _tme_m68k_instruction_burst before checking for external interrupts
        !           504:        and yielding. 
        !           505: 
        !           506:        * ic/m68k/m68k-impl.h: Now in addition to _tme_m68k_instruction_burst,
        !           507:        the maximum burst length, there is
        !           508:        _tme_m68k_instruction_burst_remaining, which is the maximum number of
        !           509:        instructions remaining in the current burst. 
        !           510: 
        !           511:        * ic/m68k/m68k-iset-expand.pl:
        !           512:        * ic/m68k/m68k-opmap-make.pl: Made the RCS keywords, copyright and
        !           513:        license like other files. 
        !           514: 
        !           515:        * ic/m68k/m68k-misc.c (tme_m68k_new): Now initialize the new
        !           516:        _tme_m68k_instruction_burst_remaining struct member. 
        !           517: 
        !           518:        * libtme/Makefile.am: Now compile hash.c, and use the GTK CFLAGS. 
        !           519: 
        !           520:        * libtme/misc.c (tme_misc_tokenize):
        !           521:        (tme_free_string_array): Added. 
        !           522: 
        !           523:        * libtme/module.c (tme_module_open): Now use tme_misc_tokenize to
        !           524:        tokenize. 
        !           525: 
        !           526:        * libtme/threads-sjlj.c: Although I hate doing this, many changes to
        !           527:        support using the GTK event loop. 
        !           528: 
        !           529:        * machine/sun2/Makefile.am: Now build sun2-bwtwo.c. 
        !           530: 
        !           531:        * machine/sun2/SUN2-MULTIBUS: Added commands to create a real physical
        !           532:        console. 
        !           533: 
        !           534:        * machine/sun2/sun2-mainbus.c (_tme_sun2_bus_intack): Now acknowledge
        !           535:        interrupts on the obmem bus too, since the bwtwo z8530s are there. 
        !           536: 
        !           537:        * tme/Makefile.am: Now install misc.h and hash.h. 
        !           538: 
        !           539:        * tme/common.h: Now define tme_letoh_u16() and tme_letoh_u32(x). 
        !           540:        Declare tme_free_string_array(). 
        !           541: 
        !           542:        * tme/connection.h: Add connection types for keyboards and
        !           543:        framebuffers. 
        !           544: 
        !           545:        * tme/threads.h: Under _TME_HAVE_GTK, declare tme_threads_gtk_init. 
        !           546: 
        !           547:        * tme/tme.h: Now include <tme/hash.h> and <tme/misc.h>. 
        !           548: 
        !           549:        * tme/generic/Makefile.am: Now install fb.h and keyboard.h. 
        !           550: 
        !           551:        * tme/generic/bus-device.h:
        !           552:        * tme/generic/bus.h: Changes to support a single bus connection
        !           553:        connecting to a bus region sparsely. 
        !           554: 
        !           555:        * tmesh/Makefile.am: Now link with the GTK libraries. 
        !           556: 
        !           557: Fri Jun 27 01:37:57 2003  Matthew Fredette  <[email protected]>
        !           558: 
        !           559:        * generic/fb-xlat-auto.sh: Added. 
        !           560: 
        !           561: Thu Jun 26 13:16:12 2003  Matthew Fredette  <[email protected]>
        !           562: 
        !           563:        * tme/generic/ic.h: Fixed grammar in a comment. 
        !           564: 
        !           565: Sun May 18 02:40:56 2003  Matthew Fredette  <[email protected]>
        !           566: 
        !           567:        * configure.in: Changed the version number to 0.0; this is very alpha. 
        !           568:        There are now fewer include directories under tme/; many unnecessary
        !           569:        headers that belonged to modules were removed. 
        !           570: 
        !           571:        * bus/multibus/3c400.c: No longer include <tme/bus/multibus/3c400.h>. 
        !           572: 
        !           573:        * bus/multibus/Makefile.am generic/Makefile.am host/bsd/Makefile.am
        !           574:          host/posix/Makefile.am ic/Makefile.am ic/m68k/Makefile.am
        !           575:          libtme/Makefile.am machine/sun/Makefile.am machine/sun2/Makefile.am
        !           576:          tmesh/Makefile.am:
        !           577: 
        !           578:          Added library and module versioning. 
        !           579: 
        !           580:        * host/bsd/bsd-bpf.c:
        !           581:        * host/bsd/bsd-if.c: Now include "bsd-impl.h" instead of
        !           582:        <tme/host/bsd.h>. 
        !           583: 
        !           584:        * host/bsd/bsd-impl.h:
        !           585:        * machine/sun/tme-sun-idprom.pl: Added. 
        !           586: 
        !           587:        * machine/sun2/SUN2-MULTIBUS: Changed the extension on the PROM and
        !           588:        IDPROM files from .dat to .bin. 
        !           589: 
        !           590:        * machine/sun2/SUN2-MULTIBUS: Changed the name of the PROM filename to
        !           591:        match the documentation. 
        !           592: 
        !           593:        * tme/Makefile.am: Removed the host and bus include directories; they
        !           594:        don't exist anymore. 
        !           595: 
        !           596: Sat May 17 20:34:07 2003  Matthew Fredette  <[email protected]>
        !           597: 
        !           598:        * acinclude.m4: Added an RCS Id and a short comment. 
        !           599:        * configure.in: Added an RCS Id, the copyright, and license.  Do a
        !           600:        real path search for perl. 
        !           601: 
        !           602:        * libtme/log-prf.c:
        !           603:        * libtme/module.c:
        !           604:        * machine/sun2/sun2-mainbus.c: Changes to silence gcc -Wuninitialized. 
1.1       root      605: 
                    606: Fri May 16 21:48:16 2003  Matthew Fredette  <[email protected]>
                    607: 
1.1.1.2 ! root      608:        * Makefile.am TODO acconfig.h configure.in modules bus/Makefile.am
        !           609:          bus/multibus/3c400.c bus/multibus/Makefile.am generic/Makefile.am
        !           610:          generic/bus-device.c generic/bus-el.c generic/bus.c
        !           611:          host/bsd/Makefile.am host/bsd/bsd-bpf.c host/posix/Makefile.am
        !           612:          host/posix/posix-memory.c host/posix/posix-serial.c ic/Makefile.am
        !           613:          ic/am9513.c ic/mm58167.c ic/z8530.c ic/m68k/Makefile.am
        !           614:          ic/m68k/m68010.c ic/m68k/m68k-impl.h ic/m68k/m68k-insns-auto.sh
        !           615:          ic/m68k/m68k-misc.c libtme/Makefile.am libtme/alloc.c
        !           616:          libtme/element.c libtme/log-prf.c libtme/log.c libtme/misc.c
        !           617:          libtme/module.c libtme/threads-sjlj.c machine/Makefile.am
        !           618:          machine/sun/Makefile.am machine/sun/sun-mmu.c
        !           619:          machine/sun2/Makefile.am machine/sun2/SUN2-MULTIBUS
        !           620:          machine/sun2/sun2-impl.h machine/sun2/sun2-mainbus.c
        !           621:          machine/sun2/sun2-mmu.c tme/Makefile.am tme/common.h
        !           622:          tme/connection.h tme/element.h tme/log.h tme/module.h tme/tme.h
        !           623:          tme/tmesh.h tme/generic/bus-device.h tme/generic/bus.h
        !           624:          tme/ic/am9513.h tme/ic/m68k.h tme/ic/mm58167.h tme/ic/z8530.h
        !           625:          tmesh/Makefile.am tmesh/tmesh-cmds.c tmesh/tmesh-impl.h
        !           626:          tmesh/tmesh-input.y tmesh/tmesh-util.c tmesh/tmesh.c:
        !           627: 
        !           628:          By far, this is the worst bulk commit I've ever done.  Many changes
        !           629:          to simplify the element interface as much as possible, to do modules
        !           630:          better, and to do logging better.  Fixed a small number of actual
        !           631:          bugs.  Also converted to modern autoconf and automake, because the
        !           632:          module support requires modern libtool.  Also added the main libtme,
        !           633:          libtmesh, and tmesh itself. 
        !           634: 
        !           635:        * ic/m68k/m68k-verify.c: Now include <stdio.h>. 
1.1       root      636: 
                    637: Fri May 16 17:50:17 2003  Matthew Fredette  <[email protected]>
                    638: 
1.1.1.2 ! root      639:        * acinclude.m4 (AC_CHECK_ALIGNOF): Now takes only a size, in bits, to
        !           640:        check the alignment for.  Before, it used to take a string of the form
        !           641:        intN_t, which wouldn't work on systems that don't define an intN_t
        !           642:        type.  When cross-compiling, assume the target requires alignment
        !           643:        equal to the size.  Now use AC_DEFINE_UNQUOTED's third argument to
        !           644:        specify the config.h.in comment. 
        !           645:        (AC_CHECK_SHIFTMAX): Added. 
        !           646:        (AC_SYS_SOCKADDR_SA_LEN): Now use AC_DEFINE_UNQUOTED's third argument
        !           647:        to specify the config.h.in comment. 
1.1       root      648: 
                    649: Thu May 15 15:52:08 2003  Matthew Fredette  <[email protected]>
                    650: 
1.1.1.2 ! root      651:        * ic/m68k/m68k-insns-auto.sh: Fixed bugs in the shift and rotate
        !           652:        insns, where we might try to shift by an amount greater than the
        !           653:        maximum meaningful shift for a given size. 
        !           654: 
        !           655: Sat May 10 15:41:23 2003  Matthew Fredette  <[email protected]>
        !           656: 
        !           657:        * acinclude.m4 (AC_CHECK_ALIGNOF): Fixed a bug where this would stop
        !           658:        on the first misalignment, instead of continuing to find the true
        !           659:        minimum alignment.  For example, this would have found the minimum
        !           660:        32-bit alignment to be 4 instead of 2 on a 68000 or 68010, stopping on
        !           661:        the misaligned address 3. 
        !           662: 
        !           663:        * configure.in ic/Makefile.am ic/m68k/Makefile.am machine/Makefile.am
        !           664:          machine/sun2/Makefile.am tme/Makefile.am:
        !           665: 
        !           666:          Some early distribution work. 
        !           667: 
        !           668:        * ic/m68k/m68k-insns-auto.sh:
        !           669:        * ic/m68k/m68k-misc-auto.sh: Fixed some bad macro and type name
        !           670:        references. 
        !           671: 
        !           672:        * ic/m68k/m68k-insns-auto.sh:
        !           673:        * ic/m68k/m68k-misc-auto.sh: Handled the rename of the aligned and
        !           674:        unaligned memory access rwlocking macros, and use the new
        !           675:        tme_memory_sequence_ rwlocking macros.  Generally made things a little
        !           676:        easier to read, although we do rely on the optimizer to do the right
        !           677:        thing somewhat more. 
        !           678: 
1.1       root      679:        * tme/threads.h: Renamed the memory-access locking functions to be
1.1.1.2 ! root      680:        tme_memory_HOW_WHATlock, where HOW is aligned or unaligned, and WHAT
        !           681:        is rd or wr.  Now define the tme_memory_sequence_WHATlock macros, used
        !           682:        when doing a sequence of memory accesses that must appear to be
        !           683:        atomic. 
        !           684:        Now define TME_SEQUENCE_ACCESS_NOT_COSTLIER as TRUE if locking for a
        !           685:        sequence and locking for an aligned access have the same cost, else
        !           686:        define it as FALSE. 
1.1       root      687: 
                    688: Sat May 10 00:31:32 2003  Matthew Fredette  <[email protected]>
                    689: 
1.1.1.2 ! root      690:        * ic/m68k/m68k-insns-auto.sh: Overhauled the shift instructions to not
        !           691:        use loops. 
        !           692: 
        !           693: Fri May 09 17:45:06 2003  Matthew Fredette  <[email protected]>
        !           694: 
        !           695:        * ic/m68k/m68k-execute.c: As an optimization, now require the
        !           696:        individual insn functions to use TME_M68K_INSN_CANFAULT if they may
        !           697:        fault, instead of figuring out every time if an insn can fault or not. 
        !           698:        Check that insn functions have set it if they need it, and left it
        !           699:        unset if they do not need it. 
        !           700: 
        !           701:        * ic/m68k/m68k-execute.c: Made some changes to somewhat optimize
        !           702:        certain effective address calculations. 
        !           703: 
        !           704:        * ic/m68k/m68k-impl.h: Now define TME_M68K_INSN_CANFAULT. 
        !           705: 
        !           706:        * ic/m68k/m68k-impl.h: Renumbered the TME_M68K_SIZE_ macros slightly
        !           707:        to enable an optimization on effective address
        !           708:        predecrement/postincrement calculation.  Grew the memory transfer
        !           709:        function arrays to match. 
        !           710:        Moved the generic IC data structure to the top of the m68k structure,
        !           711:        to enable register indexing to happen without an offset. 
        !           712:        Removed _tme_m68k_areg_increment, it's no longer needed. 
        !           713: 
        !           714:        * ic/m68k/m68k-insns-auto.sh:
        !           715:        * ic/m68k/m68k-insns.c: Now use TME_M68K_INSN_CANFAULT where it's
        !           716:        needed.  Also fixed some random restarting bugs in some insns. 
1.1       root      717: 
1.1.1.2 ! root      718:        * ic/m68k/m68k-misc.c: Removed _tme_m68k_areg_increment, it's no
        !           719:        longer needed.  Grew the memory transfer function arrays to match the
        !           720:        renumbering of the TME_M68K_SIZE_ macros, and added some preprocessor
        !           721:        error checking on those macros. 
1.1       root      722: 
1.1.1.2 ! root      723: Fri May 09 14:36:16 2003  Matthew Fredette  <[email protected]>
1.1       root      724: 
1.1.1.2 ! root      725:        * bus/multibus/3c400.c generic/bus-device.c generic/bus-el.c
        !           726:          generic/bus.c host/posix/posix-memory.c ic/am9513.c ic/mm58167.c
        !           727:          ic/z8530.c tme/generic/bus-device.h tme/generic/bus.h:
        !           728: 
        !           729:          Bulk change to no longer require bus connections to have a
        !           730:          power-of-two width.  This is largely a name change, renaming
        !           731:          address_mask to address_last, as nothing depended on the
        !           732:          address_mask being all-bits-one. 
        !           733: 
        !           734:        * bus/multibus/3c400.c (_tme_3c400_callout): Make buffer status values
        !           735:        have the minimum Ethernet frame size. 
        !           736: 
        !           737:        * ic/am9513.c: Now include <stdio.h>, in case
        !           738:        TME_AM9513_TRACK_INT_RATE is defined. 
        !           739: 
        !           740:        * ic/am9513.c: Under TME_AM9513_TRACK_INT_RATE, periodically report
        !           741:        the interrupt rates achieved by the various timers. 
        !           742: 
        !           743:        * machine/sun2/sun2-mmu.c (_tme_sun2_m68k_tlb_fill): Because
        !           744:        supervisor and user accesses go through different context registers,
        !           745:        TLBs are generally only ever valid for the supervisor or the user, but
        !           746:        not both.  Fixed a bug where a TLB for a user-visible page would be
        !           747:        marked as good for the supervisor even if the mapping isn't the same
        !           748:        in the system context. 
        !           749: 
        !           750:        * tme/generic/ethernet.h: Now define TME_ETHERNET_CRC_SIZE. 
        !           751: 
        !           752: Thu May 08 23:37:55 2003  Matthew Fredette  <[email protected]>
        !           753: 
        !           754:        * ic/m68k/m68k-insns-auto.sh: Fixed bugs, found by the verifier, in
        !           755:        the SR and CCR immediate instructions. 
        !           756: 
        !           757:        * ic/m68k/m68k-verify.c: Now keep a short ring of PCs verified. 
        !           758: 
        !           759: Thu May 08 19:22:10 2003  Matthew Fredette  <[email protected]>
        !           760: 
        !           761:        * ic/z8530.c (_tme_z8530_intack): Changes to silence -Wuninitialized. 
        !           762:        * ic/m68k/Makefile.am: No longer define _TME_M68K_OPW_OK. 
        !           763:        * ic/m68k/m68k-execute.c: Changes to support verifying restarted
        !           764:        instructions. 
        !           765: 
        !           766:        * ic/m68k/m68k-impl.h: Fixed the definitions of the dummy
        !           767:        tme_m68k_verify_ macros. 
        !           768: 
        !           769:        * ic/m68k/m68k-impl.h: Now call tme_m68k_verify_end_branch inside
        !           770:        TME_M68K_INSN_BRANCH.  Added a unique identifier member to the
        !           771:        sequence structure.  Made a few functions take a const struct tme_m68k
        !           772:        *.  Made changes to the verifier to support verifying restarted
        !           773:        instructions. 
        !           774: 
        !           775:        * ic/m68k/m68k-insns-auto.sh: Fixed a bug found by the verifier, where
        !           776:        the movem instructions weren't following the EA discipline correctly
        !           777:        and so would transfer to the wrong addresses after a restart. 
        !           778: 
        !           779:        * ic/m68k/m68k-misc.c (tme_m68k_go_slow): Now take a const struct
        !           780:        tme_m68k *. 
1.1       root      781:        (tme_m68k_sequence_empty):
1.1.1.2 ! root      782:        (tme_m68k_sequence_fill): Made the argument that's supposed to be
        !           783:        read-only const.  Under _TME_M68K_VERIFY, save and restore the
        !           784:        sequence unique identifier. 
        !           785: 
        !           786:        * ic/m68k/m68k-verify.c: Many changes to support verifying
        !           787:        instructions that ended only after they were restarted because of one
        !           788:        or more bus faults. 
1.1       root      789: 
                    790: Thu May 08 13:35:43 2003  Matthew Fredette  <[email protected]>
                    791: 
1.1.1.2 ! root      792:        * ic/m68k/m68k-execute.c:
        !           793:        * ic/m68k/m68k-impl.h:
        !           794:        * ic/m68k/m68k-misc.c: Replaced _TME_M68K_OPW_OK bits with new
        !           795:        _TME_M68K_VERIFY bits. 
        !           796: 
        !           797:        * ic/m68k/m68k-insns-auto.sh: In all memory access functions, added
        !           798:        calls to the verifier.  Fixed a bug in the divide routines, found by
        !           799:        the verifier - the N flag in set based on the final small quotient,
        !           800:        not on the big one. 
        !           801: 
        !           802:        * ic/m68k/m68k-misc-auto.sh: Now define TME_M68K_IREG32_COUNT. 
1.1       root      803: 
1.1.1.2 ! root      804:        * ic/m68k/m68k-verify.c: Added. 
1.1       root      805: 
1.1.1.2 ! root      806: Wed May 07 02:37:05 2003  Matthew Fredette  <[email protected]>
        !           807: 
        !           808:        * generic/bus-el.c (_tme_bus_connections_new): Store the final bus
        !           809:        interrupt signal number, not the raw ipl. 
1.1       root      810: 
                    811:        * ic/z8530.c: Although I hate doing this, too many changes to go into
1.1.1.2 ! root      812:        detail.  Much work to support interrupt driven operation. 
        !           813: 
        !           814:        * ic/z8530reg.h: Added definitions for RR3. 
        !           815: 
        !           816:        * ic/m68k/m68k-impl.h: Fixed a serious bug in the TME_M68K_FLAG_SR
        !           817:        definition that would zero part of the interrupt mask. 
        !           818: 
        !           819:        * ic/m68k/m68k-insns-auto.sh: Fixed a bug where negx wasn't preserving
        !           820:        the Z flag if the result was zero. 
        !           821: 
        !           822:        * machine/sun2/sun2-test.c (main): Fixed a bug where the zs0 ipl arg
        !           823:        was getting lost. 
1.1       root      824: 
1.1.1.2 ! root      825: Mon May 05 23:20:11 2003  Matthew Fredette  <[email protected]>
1.1       root      826: 
1.1.1.2 ! root      827:        * TODO: Updated. 
1.1       root      828: 
1.1.1.2 ! root      829:        * generic/serial.c (tme_serial_buffer_copyout): Fixed a bug where if
        !           830:        we were copying to a NULL buffer and the copyout wrapped in the ring
        !           831:        buffer, we would do pointer arithmetic on the NULL. 
1.1       root      832: 
1.1.1.2 ! root      833:        * ic/m68k/m68010.c (_tme_m68010_rte): Fixed a bug where we forgot to
        !           834:        recover the group 0 function code and address for the cycle restart. 
        !           835:        Fixed a bug where we wouldn't reset to extract our internal state from
        !           836:        the stack buffer. 
1.1       root      837: 
1.1.1.2 ! root      838:        * ic/m68k/m68k-insns-auto.sh: Fixed several instructions that trap or
        !           839:        do trap-like things to update PC to be the PC of the following
        !           840:        instruction before trapping. 
        !           841:        (tme_m68k_read_mem): Fixed a memcpy direction bug. 
1.1       root      842: 
1.1.1.2 ! root      843:        * ic/m68k/m68k-insns.c: Fixed several instructions that trap or do
        !           844:        trap-like things to update PC to be the PC of the following
        !           845:        instruction before trapping. 
1.1       root      846: 
1.1.1.2 ! root      847:        * libtme/threads-sjlj.c (tme_sjlj_cond_notify): Fixed a bug where we
        !           848:        would cancel a thread's wait condition instead of notifying the
        !           849:        thread. 
1.1       root      850: 
1.1.1.2 ! root      851:        * machine/sun/sun-mmu.c (tme_sun_mmu_tlb_fill): Support the new
        !           852:        expansive MMU PTE protections. 
1.1       root      853: 
1.1.1.2 ! root      854:        * machine/sun2/sun2-mainbus.c (_tme_sun2_bus_intack): Now acknowledge
        !           855:        soft interrupts. 
        !           856:        (tme_machine_sun2_clock_new): Fixed a bug where we had the Timer 2
        !           857:        output miswired. 
1.1       root      858: 
1.1.1.2 ! root      859:        * machine/sun2/sun2-mmu.c: Many changes to support the new full
        !           860:        understanding of sun2 PTE protections. 
1.1       root      861: 
1.1.1.2 ! root      862:        * tme/machine/sun.h: Expanded on the generic PTE protections, to
        !           863:        support the more expressive sun2 protections. 
1.1       root      864: 
1.1.1.2 ! root      865: Sun May 04 22:46:12 2003  Matthew Fredette  <[email protected]>
1.1       root      866: 
1.1.1.2 ! root      867:        * ic/am9513.c (_tme_am9513_counters_disarm): Added. 
        !           868:        (_tme_am9513_th_timer): Try to avoid 32-bit integer overflow when
        !           869:        calculating the sleep time. 
        !           870:        (_tme_am9513_bus_cycle): Now support the disarm timers command. 
1.1       root      871: 
1.1.1.2 ! root      872:        * ic/mm58167.c: Changes to silence -Wuninitialized. 
1.1       root      873: 
1.1.1.2 ! root      874:        * ic/mm58167.c:
        !           875:        * tme/ic/mm58167.h: Added. 
1.1       root      876: 
1.1.1.2 ! root      877:        * ic/z8530.c: Although I hate doing this, too much work to go into
        !           878:        detail.  Did more groundwork for eventually generating interrupts. 
1.1       root      879: 
1.1.1.2 ! root      880:        * ic/m68k/m68k-execute.c: Now wrap the execute hook call in
        !           881:        _TME_M68K_OPW_OK. 
1.1       root      882: 
1.1.1.2 ! root      883:        * ic/m68k/m68k-misc.c (tme_m68k_exception_process_start): Fixed a bug
        !           884:        where the new ipl mask was put into the sr at the wrong position. 
        !           885: 
        !           886:        * machine/sun2/sun2-mainbus.c (tme_machine_sun2_tod_new): Added. 
        !           887: 
        !           888:        * machine/sun2/sun2-mmu.c (_tme_sun2_obbus_fault_handler): Removed. 
1.1       root      889:        (_tme_sun2_bus_fault_handler):
                    890:        (_tme_sun2_obio_fault_handler):
1.1.1.2 ! root      891:        (_tme_sun2_obmem_fault_handler): Added. 
1.1       root      892:        (_tme_sun2_multibus_fault_handler): Now just call
1.1.1.2 ! root      893:        _tme_sun2_bus_fault_handler. 
        !           894:        (_tme_sun2_tlb_fill_mmu): Use the new bus-specific fault handlers. 
        !           895: 
        !           896:        * machine/sun2/sun2-test.c: Now create and connect the TOD chip. 
        !           897: 
        !           898:        * tme/ic/Makefile.am: Updated. 
1.1       root      899: 
                    900: Sat May 03 19:27:07 2003  Matthew Fredette  <[email protected]>
                    901: 
1.1.1.2 ! root      902:        * TODO: Updated. 
        !           903: 
        !           904:        * ic/m68k/m68k-execute.c: Fixed multiple bugs in the handling of brief
        !           905:        EA extension words. 
        !           906: 
        !           907:        * ic/m68k/m68k-insns-auto.sh: Fixed a bug where subx and addx didn't
        !           908:        take the (previous) X flag into account when calculating flags. 
        !           909: 
        !           910:        * machine/sun2/sun2-control.c (_tme_sun2_control_cycle_handler): Now
        !           911:        call _tme_sun2_ipl_check whenever the enable register is written. 
        !           912: 
        !           913:        * machine/sun2/sun2-impl.h: Added macros for the enable register bits. 
        !           914: 
        !           915:        * machine/sun2/sun2-mainbus.c (_tme_sun2_ipl_check): Added. 
        !           916:        (_tme_sun2_bus_signal): Now call _tme_sun2_ipl_check to update the ipl
        !           917:        driven to the CPU. 
        !           918: 
        !           919: Fri May 02 17:37:10 2003  Matthew Fredette  <[email protected]>
        !           920: 
        !           921:        * TODO: Updated. 
        !           922: 
        !           923:        * acconfig.h acinclude.m4 bus/multibus/3c400.c
        !           924:          bus/multibus/Makefile.am generic/ethernet.c host/bsd/Makefile.am
        !           925:          host/bsd/bsd-bpf.c host/bsd/bsd-if.c tme/generic/ethernet.h:
        !           926: 
        !           927:          Added. 
        !           928: 
        !           929:        * configure.in: Now check for minimum alignments.  Now check for
        !           930:        various headers and other things needed by the BSD code. 
        !           931: 
        !           932:        * bus/Makefile.am:
        !           933:        * generic/Makefile.am:
        !           934:        * host/Makefile.am:
        !           935:        * tme/generic/Makefile.am: Added support for new components. 
        !           936: 
        !           937:        * bus/multibus/3c400.c (_tme_3c400): Some changes to silence
        !           938:        -Wuninitialized. 
        !           939: 
        !           940:        * host/posix/posix-serial.c: Fixed some indentation, and one 0 to a
        !           941:        TME_OK. 
        !           942: 
1.1       root      943:        * ic/am9513.c (_tme_am9513_counters_load):
1.1.1.2 ! root      944:        (_tme_am9513_counters_arm): Added. 
        !           945:        (_tme_am9513_th_timer): Try to avoid multiplication overflow when
        !           946:        calculating the number of basic ticks that have elapsed.  Try to
        !           947:        handle armed and unarmed counters correctly. 
        !           948:        (_tme_am9513_bus_cycle): Now load and arm counters correctly. 
        !           949:        (tme_ic_am9513_new): Calculate the number of basic ticks in a
        !           950:        millisecond for the benefit of the timer thread. 
        !           951: 
        !           952:        * ic/m68k/m68010.c (_tme_m68010_rte): tme_m68k_rte_finish no longer
        !           953:        touches the sequence at all, so before calling it make sure the
        !           954:        sequence is exactly what it's supposed to be. 
        !           955: 
        !           956:        * ic/m68k/m68k-execute.c: In the fast executor, assert that the ITLB
        !           957:        entry allows fast reading for the current PC or that the PC is one
        !           958:        greater than the last address covered by the entry.  Fixed the
        !           959:        fast-fetch-failed code to more correctly simulate a group 0 exception
        !           960:        and associated RTE. 
        !           961: 
        !           962:        * ic/m68k/m68k-insns-auto.sh: Cleaned up and fixed the code generated
        !           963:        for cmpm, addx, and subx.  At least, cmpm wasn't getting its address
        !           964:        registers postincremented, and addx and subx weren't treating the Z
        !           965:        flag properly.  In the fetch insns, take the address to fetch from as
        !           966:        an argument, instead of using the real ic->tme_m68k_ireg_pc with
        !           967:        tme_m68k_read
1.1       root      968:        (which could actually update it, if recovering from a group 0
                    969:        exception!)
                    970: 
1.1.1.2 ! root      971:        * ic/m68k/m68k-misc-auto.sh: The slow-executor fetch macros now call
        !           972:        the fetch insns with the PC to fetch from. 
1.1       root      973: 
1.1.1.2 ! root      974:        * ic/m68k/m68k-misc.c (tme_m68k_rte_finish): No longer do anything
        !           975:        with the sequence at all, just redispatch it. 
        !           976:        (tme_m68k_sequence_fill): Now set the sequence next-transfer to one,
        !           977:        to force a restart in case later code doesn't. 
        !           978:        (tme_m68k_insn_buffer_xfer): The insn buffer is kept in host byte
        !           979:        order, not big-endian byte order. 
        !           980: 
        !           981:        * libtme/threads-sjlj.c: No longer track and relock a mutex that was
        !           982:        held when tme_sjlj_cond_wait_yield was called; the thread itself will
        !           983:        relock the mutex when it is restarted. 
        !           984: 
        !           985:        * machine/sun2/Makefile.am: Now build and link against the Multibus
        !           986:        and BSD libraries. 
        !           987: 
        !           988:        * machine/sun2/sun2-test.c (tme_memdup): Added. 
        !           989:        (connect_elements): Now start the new convention of initializing the
        !           990:        new-connections lists to NULL and letting the new-connections
        !           991:        functions add elements incrementally. 
1.1       root      992:        (main): Now create the ec0 and bpf0 elements and add them to the
1.1.1.2 ! root      993:        machine. 
1.1       root      994: 
1.1.1.2 ! root      995:        * tme/common.h: Added a macro for tme_dup and a prototype for
        !           996:        tme_memdup. 
1.1       root      997: 
1.1.1.2 ! root      998:        * tme/connection.h: Now define TME_CONNECTION_ETHERNET. 
        !           999: 
        !          1000:        * tme/threads.h: Fixed a bug where the tme_thread_write macro was
        !          1001:        defined to be the read syscall. 
1.1       root     1002: 
                   1003: Tue Apr 29 20:28:05 2003  Matthew Fredette  <[email protected]>
                   1004: 
1.1.1.2 ! root     1005:        * AUTHORS:
        !          1006:        * COPYING:
        !          1007:        * NEWS:
        !          1008:        * README: Added. 
        !          1009: 
        !          1010:        * generic/bus-device.c generic/bus-el.c host/posix/posix-serial.c
        !          1011:          ic/z8530.c ic/m68k/m68k-misc.c machine/sun2/sun2-mainbus.c:
        !          1012: 
        !          1013:          In all connections_new functions, add the new connection
        !          1014:          possibilities to the list rooted at *_conns, instead of always
        !          1015:          replacing the list. 
        !          1016: 
        !          1017:        * generic/bus-el.c host/posix/posix-memory.c ic/am9513.c
        !          1018:          ic/m68k/m68k-execute.c ic/m68k/m68k-insns-auto.sh
        !          1019:          ic/m68k/m68k-insns.c machine/sun2/sun2-mainbus.c:
1.1       root     1020: 
1.1.1.2 ! root     1021:          Changes to silence -Wuninitialized. 
        !          1022: 
        !          1023:        * generic/serial.c:
        !          1024:        * tme/generic/serial.h: Removed all instances of gen- in comments. 
        !          1025: 
        !          1026:        * host/posix/posix-serial.c (_tme_posix_serial_th_reader): Fixed bugs
        !          1027:        in scanning the input for various escape-like sequences, especially
        !          1028:        for the escaped break signal. 
        !          1029: 
        !          1030:        * host/posix/posix-serial.c (_tme_posix_serial_th_reader): Simplified
        !          1031:        the code that decides to call out that we are readable. 
1.1       root     1032:        (_tme_posix_serial_ctrl): Always try to call out reads if the
1.1.1.2 ! root     1033:        connection says it's readable, even if we already knew that. 
        !          1034:        (_tme_posix_serial_read): Fixed a bug where we would clear everything
        !          1035:        *except* TME_SERIAL_CTRL_OK_READ, instead of clearing only that bit. 
        !          1036:        (tme_host_posix_serial_new): Return EINVAL on bad arguments. 
        !          1037: 
        !          1038:        * ic/Makefile.am: Now define DIST_SUBDIRS. 
        !          1039: 
        !          1040:        * ic/z8530.c (_tme_z8530_callout): Fixed a bug where we would use an
        !          1041:        uninitialized chan variable to find WR9, which actually only exists in
        !          1042:        channel A anyways. 
1.1       root     1043:        (_tme_z8530_ctrl): Now always try to call out reads if the connection
1.1.1.2 ! root     1044:        says it's readable. 
        !          1045: 
        !          1046:        * libtme/threads-sjlj.c: Wrap all of the rwlock operations in
        !          1047:        !TME_NO_DEBUG_LOCKS. 
        !          1048:        (tme_sjlj_threads_run): Changes to silence -Wuninitialized. 
1.1       root     1049: 
1.1.1.2 ! root     1050:        * tme/Makefile.am:
        !          1051:        * tme/generic/Makefile.am: Now install roughly the correct files into
        !          1052:        the correct place. 
1.1       root     1053: 
1.1.1.2 ! root     1054:        * tme/atomics.h: Fixed a bug where TME_ATOMIC_POINTER_TYPE was adding
        !          1055:        an extra *. 
1.1       root     1056: 
1.1.1.2 ! root     1057:        * tme/element.h: Fixed bugs in the TME_NO_LOG versions of TME_LOG_X
        !          1058:        and TME_LOG_FINISH. 
        !          1059: 
        !          1060: Tue Apr 29 03:24:17 2003  Matthew Fredette  <[email protected]>
        !          1061: 
        !          1062:        * TODO:
        !          1063:        * machine/sun2/sun2-test.c: Updated. 
        !          1064: 
        !          1065:        * generic/bus-device.c: Support the new generic bus signal interface. 
1.1       root     1066:        (tme_bus_device_connection_score):
                   1067:        (tme_bus_device_connection_make):
1.1.1.2 ! root     1068:        (tme_bus_device_connection_break): These are now public. 
1.1       root     1069: 
1.1.1.2 ! root     1070:        * generic/bus-el.c: Added support for the new generic bus signal
        !          1071:        interface. 
        !          1072:        (_tme_bus_line_raise): Removed. 
1.1       root     1073:        (_tme_bus_signal):
1.1.1.2 ! root     1074:        (_tme_bus_intack): Added. 
1.1       root     1075: 
1.1.1.2 ! root     1076:        * generic/serial.c: Removed all uses of TME_ATOMIC. 
        !          1077:        (tme_serial_buffer_copyout): Fixed a bug where we would overwrite
        !          1078:        data_flags with -1 early, resulting in our returning no data. 
1.1       root     1079: 
1.1.1.2 ! root     1080:        * host/posix/posix-serial.c: Too much work to go into detail. 
        !          1081:        Everything is at least sketched out. 
1.1       root     1082: 
                   1083:        * ic/am9513.c (_tme_am9513_callout):
1.1.1.2 ! root     1084:        (_tme_am9513_th_timer): Added. 
        !          1085:        (_tme_am9513_bus_cycle): Now properly handle the Clear Toggle Output
        !          1086:        command, and log it correctly.  Lock the new mutex on entry, call
        !          1087:        _tme_am9513_callout if needed before exit, and unlock the mutex on
        !          1088:        exit. 
        !          1089:        (tme_ic_am9513_new): Start the new timer thread. 
1.1       root     1090: 
                   1091:        * ic/z8530.c: Too many changes to go into detail.  Highlights include
1.1.1.2 ! root     1092:        a real bus cycle handler, real channels, real serial connections, real
        !          1093:        threads.  Everything seems to be at least sketched out. 
        !          1094: 
        !          1095:        * ic/z8530reg.h: Added. 
        !          1096: 
        !          1097:        * ic/m68k/m68k-execute.c: Fixed a bug where we were using the return
        !          1098:        value of tme_mutex_trylock as a truth value. 
        !          1099: 
        !          1100:        * ic/m68k/m68k-misc.c: Changed to support the new generic bus signal
        !          1101:        interface and the new m68k bus interrupt interface. 
        !          1102: 
        !          1103:        * libtme/threads-sjlj.c (tme_sjlj_threads_run): Fixed a bug where we
        !          1104:        wouldn't lock the mutex before returning from a condition wait.  Fixed
        !          1105:        a bug where we would block in select(2) instead of calling it with a
        !          1106:        zero timeout. 
        !          1107:        (tme_sjlj_cond_wait_yield): Remember the mutex the thread had locked
        !          1108:        so it can be relocked when the thread resumes. 
        !          1109:        (tme_sjlj_select_yield): Fixed bugs where we would treat the nfds
        !          1110:        argument as the maximum fd, instead of the maximum fd plus one.  Fixed
        !          1111:        a bug where we couldn't handle NULL descriptor sets. 
1.1       root     1112:        (tme_sjlj_read_yield):
                   1113:        (tme_sjlj_write_yield):
                   1114:        (tme_sjlj_read_yield):
                   1115:        (tme_sjlj_rwlock_init):
                   1116:        (tme_sjlj_rwlock_lock):
1.1.1.2 ! root     1117:        (tme_sjlj_rwlock_unlock): Added. 
1.1       root     1118: 
1.1.1.2 ! root     1119:        * machine/sun2/sun2-impl.h: Now track the interrupts asserted in the
        !          1120:        system, and the last ipl asserted to the CPU. 
1.1       root     1121: 
                   1122:        * machine/sun2/sun2-mainbus.c (_tme_sun2_line_reset):
                   1123:        (_tme_sun2_line_halt):
1.1.1.2 ! root     1124:        (_tme_sun2_line_interrupt): Removed. 
1.1       root     1125:        (_tme_sun2_bus_signal):
1.1.1.2 ! root     1126:        (_tme_sun2_bus_intack): Added. 
        !          1127:        (_tme_sun2_power): Use the generic bus signal interface to reset
        !          1128:        everything. 
        !          1129:        (tme_machine_sun2_clock_new): Store how the Am9513 output pins are
        !          1130:        connected to bus interrupt lines. 
        !          1131: 
        !          1132:        * machine/sun2/sun2-mmu.c (_tme_sun2_multibus_fault_handler): Added a
        !          1133:        hack to avoid an mbmem bus error when accessed through virtual
        !          1134:        0xffffffff, which apparently happens in the PROM NMI routine when it
        !          1135:        polls the keyboard, even if it didn't probe a keyboard. 
        !          1136: 
        !          1137:        * tme/element.h: Fixed various const to _tme_const. 
        !          1138: 
        !          1139:        * tme/threads.h: Redid the setjmp/longjmp rwlock operations.  Added
        !          1140:        various new function prototypes and macros. 
        !          1141: 
        !          1142:        * tme/generic/bus-device.h: Support the new generic bus signal
        !          1143:        interface.  The tme_bus_device_connection_score,
        !          1144:        tme_bus_device_connection_make, and tme_bus_device_connection_break
        !          1145:        functions are now public.  Fixed a const to _tme_const. 
        !          1146: 
        !          1147:        * tme/generic/bus.h: Added the new generic bus signal and interrupt
        !          1148:        acknowledge interfaces.  Fixed various const to _tme_const. 
        !          1149: 
        !          1150:        * tme/generic/serial.h: Now define TME_SERIAL_CTRL_OK_READ.  Removed
        !          1151:        the write method from a serial connection.  All data transfer happens
        !          1152:        with reads, with control signals to indicate when reads are OK. 
        !          1153:        Removed the TME_ATOMIC use in struct tme_serial_buffer. 
1.1       root     1154:        (tme_serial_buffer_is_empty):
1.1.1.2 ! root     1155:        (tme_serial_buffer_is_full): Added. 
        !          1156: 
        !          1157:        * tme/ic/am9513.h: struct tme_am9513_socket now holds the basic clock
        !          1158:        provided to the chip, and a mapping of its output pins to bus signals. 
        !          1159:        Fixed a const to _tme_const. 
        !          1160: 
        !          1161:        * tme/ic/m68k.h: Now define some m68k IPL constant macros.  Add the
        !          1162:        new m68k bus interrupt method.  Fixed various const to _tme_const. 
        !          1163: 
        !          1164:        * tme/ic/z8530.h: Made the channel letters lowercase in structure
        !          1165:        member names.  Fixed a const to _tme_const. 
        !          1166: 
        !          1167: Sat Apr 26 21:46:16 2003  Matthew Fredette  <[email protected]>
        !          1168: 
        !          1169:        * Makefile.am TODO configure.in generic/Makefile.am
        !          1170:          generic/bus-device.c generic/bus-el.c generic/bus.c generic/serial.c
        !          1171:          host/posix/posix-memory.c host/posix/posix-serial.c ic/am9513.c
        !          1172:          ic/z8530.c ic/i386/i386-decode.c ic/i386/i386-misc-auto-make.sh
        !          1173:          ic/i386/i386-opmaps-make.sh ic/i386/i386-save.c
        !          1174:          ic/i386/i386-uinsns-auto-make.sh ic/i386/i386-uinsns.c
        !          1175:          ic/i386/i386.h tme/generic/Makefile.am tme/generic/bus-device.h
        !          1176:          tme/generic/bus.h tme/generic/ic.h tme/generic/serial.h
        !          1177:          tme/ic/am9513.h tme/ic/z8530.h:
        !          1178: 
        !          1179:          Added. 
        !          1180: 
        !          1181:        * bus/Makefile.am host/posix/Makefile.am ic/m68k/Makefile.am
        !          1182:          machine/Makefile.am machine/sun/Makefile.am machine/sun2/Makefile.am
        !          1183:          machine/sun2/sun2-test.c:
1.1       root     1184: 
1.1.1.2 ! root     1185:          Updated. 
1.1       root     1186: 
1.1.1.2 ! root     1187:        * bus/bus-device.c bus/bus.c tme/bus-device.h tme/bus.h tme/ic.h:
        !          1188: 
        !          1189:          Removed. 
        !          1190: 
        !          1191:        * host/posix/memory.c: Renamed to posix-memory.c. 
        !          1192: 
        !          1193:        * ic/m68k/m68k-execute.c: Under _TME_M68K_EXECUTE_FAST, at the
        !          1194:        beginning of each instruction we do have to check if our ITLB has been
        !          1195:        invalidated, as it might have been by some random (control) memory
        !          1196:        cycle we just did. 
        !          1197:        Fixed bugs in the predecrement and postincrement EA handlers. 
        !          1198: 
        !          1199:        * ic/m68k/m68k-impl.h:
        !          1200:        * machine/sun2/sun2-impl.h: Now include <tme/generic/ic.h>. 
        !          1201: 
        !          1202:        * ic/m68k/m68k-impl.h: Added support for logging. 
        !          1203: 
        !          1204:        * ic/m68k/m68k-insns-auto.sh: Fixed a serious movem bug where we would
        !          1205:        start at bit 1 in the mask, and not bit 0. 
        !          1206:        In all memory transfer functions, log the transfer.  Made the bus
        !          1207:        cycle functions "work correctly".  Fixed bugs in the generated divide
        !          1208:        instructions. 
        !          1209: 
        !          1210:        * ic/m68k/m68k-insns.c (tme_m68k_swap): Fixed a bug where this
        !          1211:        wouldn't work on big-endian systems. 
1.1       root     1212:        (tme_m68k_link):
1.1.1.2 ! root     1213:        (tme_m68k_unlk): Fixed serious bugs where we simply didn't do what
        !          1214:        these instructions are supposed to do. 
1.1       root     1215: 
1.1.1.2 ! root     1216:        * ic/m68k/m68k-iset.txt: On the 68010 and up, the move_from_sr and
        !          1217:        move_from_ccr instructions don't read memory before writing it.  Fixed
        !          1218:        bugs in the encoding of the register bit-shifting with a register
        !          1219:        count instructions. 
        !          1220: 
        !          1221:        * ic/m68k/m68k-misc.c (tme_m68k_idle): Use the renamed
        !          1222:        tme_cond_wait_yield function. 
        !          1223:        (tme_m68k_new): Store the element in the IC. 
        !          1224:        (tme_m68k_go_slow): Use the TME_M68K_TLB_OK_FAST_READ to check for a
        !          1225:        bad TLB entry. 
        !          1226:        (tme_m68k_exception_process): Don't insist on there being exceptions
        !          1227:        to process.  CPU-specific exception processors may handle them all,
        !          1228:        yet still use this function to redispatch. 
        !          1229:        (_tme_m68k_execute_hook): Added. 
1.1       root     1230: 
                   1231:        * libtme/threads-sjlj.c (_tme_sjlj_then):
                   1232:        (_tme_sjlj_timeout):
                   1233:        (tme_sjlj_sleep_yield):
1.1.1.2 ! root     1234:        (tme_sjlj_select_yield): Added. 
        !          1235:        (tme_sjlj_threads_run): Cleaned up the threads dispatcher to support
        !          1236:        threads waiting on classic select(2) fd sets,
        !          1237:        (tme_sjlj_cond_wait_yield): Renamed from tme_sjlj_cond_wait. 
        !          1238:        (tme_sjlj_sleep): This function no longer yields. 
        !          1239: 
        !          1240:        * machine/sun/sun-mmu.c: Added some logging. 
        !          1241:        Disabled the explicit SEGINV support, for now.  It appears that the
        !          1242:        hardware MMU doesn't have a notion of an invalid PMEG.  Now call the
        !          1243:        post-MMU TLB fillers with the PTE struct and the virtual address. 
        !          1244: 
        !          1245:        * machine/sun2/sun2-control.c (_tme_sun2_control_cycle_handler): Don't
        !          1246:        bother to fill the segmap register unless this is a read. 
1.1       root     1247: 
1.1.1.2 ! root     1248:        * machine/sun2/sun2-impl.h: Now include <tme/generic/bus.h>.  Added
        !          1249:        some support for logging. 
        !          1250: 
        !          1251:        * machine/sun2/sun2-mainbus.c: Added some support for logging. 
1.1       root     1252:        (tme_machine_sun2_clock_new):
1.1.1.2 ! root     1253:        (tme_machine_sun2_zs_new): Added. 
1.1       root     1254: 
                   1255:        * machine/sun2/sun2-mmu.c: Too much to go into detail.  Highlights:
1.1.1.2 ! root     1256:        Added some logging support. 
        !          1257:        Made the bus error behavior more correct.  On the sun2, obio and obmem
        !          1258:        don't generate bus errors.  Now the post-MMU TLB filler takes the
        !          1259:        original PTE entry and the original virtual address. 
        !          1260: 
        !          1261:        * tme/connection.h: Now define TME_CONNECTION_SERIAL. 
        !          1262: 
        !          1263:        * tme/element.h: Added logging support. 
        !          1264: 
1.1       root     1265:        * tme/ic.h: Now include <tme/generic/bus.h>
1.1.1.2 ! root     1266: 
        !          1267:        * tme/threads.h: Defined more of the tme threads API. 
        !          1268: 
        !          1269:        * tme/ic/m68k.h: Now include <tme/generic/bus.h>. 
        !          1270: 
        !          1271:        * tme/machine/sun.h: Added support for logging. 
        !          1272:        Changed the interface to pass the whole PTE struct to the post-MMU TLB
        !          1273:        fillers. 
1.1       root     1274: 
                   1275: Sat Apr 26 14:44:07 2003  Matthew Fredette  <[email protected]>
                   1276: 
1.1.1.2 ! root     1277:        * bus/bus.c (tme_bus_cycle_xfer): Fixed a bug where we used
        !          1278:        cycle_writer to get the reader's port size.  When indexing bus router
        !          1279:        arrays, we have to subtract out the participant's least port lane,
        !          1280:        since the arrays don't include information for lanes not connected to
        !          1281:        the participant. 
        !          1282: 
        !          1283: Wed Apr 23 19:31:01 2003  Matthew Fredette  <[email protected]>
        !          1284: 
        !          1285:        * bus/Makefile.am bus/bus-device.c bus/bus.c host/Makefile.am
        !          1286:          host/posix/Makefile.am host/posix/memory.c ic/Makefile.am
        !          1287:          ic/m68k/m68k-impl.h libtme/Makefile.am libtme/threads-sjlj.c
        !          1288:          machine/sun/Makefile.am machine/sun/sun-mmu.c
        !          1289:          machine/sun2/Makefile.am machine/sun2/sun2-control.c
        !          1290:          machine/sun2/sun2-impl.h machine/sun2/sun2-mainbus.c
        !          1291:          machine/sun2/sun2-mmu.c machine/sun2/sun2-test.c tme/Makefile.am
        !          1292:          tme/atomics.h tme/bus-device.h tme/bus.h tme/common.h
        !          1293:          tme/connection.h tme/element.h tme/ic.h tme/threads.h
        !          1294:          tme/ic/Makefile.am tme/ic/m68k.h tme/machine/Makefile.am
        !          1295:          tme/machine/sun.h:
        !          1296: 
        !          1297:          Added. 
        !          1298: 
1.1       root     1299:        * ic/m68k/m68010.c (_tme_m68010_exception):
1.1.1.2 ! root     1300:        (_tme_m68010_rte): Added. 
1.1       root     1301: 
1.1.1.2 ! root     1302:        * ic/m68k/m68k-bus-auto.sh: Now generates the combined input/output
        !          1303:        bus routers. 
        !          1304: 
        !          1305:        * ic/m68k/m68k-execute.c:
        !          1306:        * ic/m68k/m68k-insns.c:
        !          1307:        * ic/m68k/m68k-misc.c: Although I hate doing this, "too many changes
        !          1308:        to list."
        !          1309: 
        !          1310:        * ic/m68k/m68k-insns-auto.sh: Some minor copyright and cosmetic fixes. 
        !          1311:        Updated the bus cycle functions to support the latest generic bus
        !          1312:        cycle idea. 
        !          1313: 
        !          1314:        * ic/m68k/m68k-iset-expand.pl: When the EA is an immediate, just emit
        !          1315:        the immediate information and skip the EA information - we don't want
        !          1316:        to use the EA path in this case. 
        !          1317: 
        !          1318:        * ic/m68k/m68k-iset.txt: moveq is now its own insn. 
        !          1319: 
        !          1320:        * ic/m68k/m68k-misc-auto.sh: Copyright sweep. 
        !          1321: 
        !          1322:        * ic/m68k/m68k-opmap-make.pl: Fixed some random bugs, and correctly
        !          1323:        handle the case where EA and immediate operand must be undefined for a
        !          1324:        pattern, to avoid using the EA and immediate operand in any root
        !          1325:        entry. 
        !          1326: 
        !          1327:        * ic/m68k/m68k.h: Removed. 
1.1       root     1328: 
                   1329: Sun Apr 20 21:33:05 2003  Matthew Fredette  <[email protected]>
                   1330: 
1.1.1.2 ! root     1331:        * ic/m68k/m68k-bus-auto.sh: Added. 
1.1       root     1332: 
                   1333: Fri Apr 18 04:56:36 2003  Matthew Fredette  <[email protected]>
                   1334: 
1.1.1.2 ! root     1335:        * ic/m68k/m68k-insns-auto.sh: Added support for generating the moveq32
        !          1336:        insn.  Cleaned up and fixed some bugs in the bus cycle functions. 
1.1       root     1337: 
1.1.1.2 ! root     1338:        * ic/m68k/m68k-misc-auto.sh: Cleaned up the set of registers that we
        !          1339:        define.  Added better locking support to the instruction fetch macros. 
1.1       root     1340: 
                   1341: Tue Apr 15 13:32:37 2003  Matthew Fredette  <[email protected]>
                   1342: 
1.1.1.2 ! root     1343:        * ic/m68k/m68k-insns-auto.sh: Unfortunately, too much work to list in
        !          1344:        detail.  Improved the arithmetic function flag-setting code to compile
        !          1345:        well on i386 with gcc -O2.  Added many special-purpose memory read and
        !          1346:        write functions, and finally introduced the general bus-cycle read and
        !          1347:        write functions.  Added many new instructions, including multiply and
        !          1348:        divide. 
1.1       root     1349: 
                   1350: Sat Apr 05 18:47:38 2003  Matthew Fredette  <[email protected]>
                   1351: 
1.1.1.2 ! root     1352:        * machine/Makefile.am: Added. 
1.1       root     1353: 
1.1.1.2 ! root     1354: Tue Apr 01 20:13:40 2003  Matthew Fredette  <[email protected]>
1.1       root     1355: 
1.1.1.2 ! root     1356:        * ic/m68k/Makefile.am: Build decoders for the 68000, 68010, and 68020. 
        !          1357:        * ic/m68k/m68k-iset-expand.pl: Added a very basic preprocessor to
        !          1358:        support generating different instruction sets for different CPUs.  Now
        !          1359:        whenever an instruction wants the EA, its operand is eax.32 even if
        !          1360:        the known EA is address register indirect. 
1.1       root     1361: 
1.1.1.2 ! root     1362:        * ic/m68k/m68k-iset.txt: This should be the complete integer
        !          1363:        instruction set for the 68000, 68010, 68020, and 68030. 
1.1       root     1364: 
1.1.1.2 ! root     1365:        * ic/m68k/m68k-opmap-make.pl: Added comments, and reworked to support
        !          1366:        compiling instruction sets for different CPUs together, reusing
        !          1367:        submaps and opcode maps whenever possible. 
1.1       root     1368: 
1.1.1.2 ! root     1369:        * ic/m68k/m68k.h: Before the -impl.h split. 
1.1       root     1370: 
                   1371: Sun Mar 30 22:04:15 2003  Matthew Fredette  <[email protected]>
                   1372: 
1.1.1.2 ! root     1373:        * ic/m68k/Makefile.am ic/m68k/m68010.c ic/m68k/m68k-execute.c
        !          1374:          ic/m68k/m68k-insns-auto.sh ic/m68k/m68k-insns.c
        !          1375:          ic/m68k/m68k-iset-expand.pl ic/m68k/m68k-iset.txt
        !          1376:          ic/m68k/m68k-misc-auto.sh ic/m68k/m68k-misc.c
        !          1377:          ic/m68k/m68k-opmap-make.pl ic/m68k/m68k.h:
1.1       root     1378: 
1.1.1.2 ! root     1379:          Added. 

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.