This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/HISTORY

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 20 by dpavlin, Mon Oct 8 16:19:23 2007 UTC revision 38 by dpavlin, Mon Oct 8 16:21:53 2007 UTC
# Line 1  Line 1 
1  $Id: HISTORY,v 1.1055 2005/11/25 22:48:36 debug Exp $  $Id: HISTORY,v 1.1515 2007/04/14 05:39:46 debug Exp $
3  Changelog for GXemul:  Changelog for GXemul:
4  ---------------------  ---------------------
# Line 2469  Changelog for GXemul: Line 2469  Changelog for GXemul:
2470  ==============  RELEASE 0.3.7  ==============  ==============  RELEASE 0.3.7  ==============
2472    20051126        Cobalt and PReP now work with the 21143 NIC.
2473                    Continuing on Alpha dyntrans things.
2474                    Fixing some more left-shift-by-24 to unsigned.
2475    20051127        Working on OpenFirmware emulation; major cleanup/redesign.
2476                    Progress on MacPPC emulation: NetBSD detects two CPUs (when
2477                    running with -n 2), framebuffer output (for text) works.
2478                    Adding quick-hack Bandit PCI controller and "gc" interrupt
2479                    controller for MacPPC.
2480    20051128        Changing from a Bandit to a Uni-North controller for macppc.
2481                    Continuing on OpenFirmware and MacPPC emulation in general
2482                    (obio controller, and wdc attached to the obio seems to work).
2483    20051129        More work on MacPPC emulation (adding a dummy ADB controller).
2484                    Continuing the PCI bus cleanup (endianness and tag composition)
2485                    and rewriting all PCI controllers' access functions.
2486    20051130        Various minor PPC dyntrans optimizations.
2487                    Manually inlining some parts of the framebuffer redraw routine.
2488                    Slowly beginning the conversion of the old MIPS emulation into
2489                    dyntrans (but this will take quite some time to get right).
2490                    Generalizing quick_pc_to_pointers.
2491    20051201        Documentation update (David Muse has made available a kernel
2492                    which simplifies Debian/DECstation installation).
2493                    Continuing on the ADB bus controller.
2494    20051202        Beginning a rewrite of the Zilog serial controller (dev_zs).
2495    20051203        Continuing on the zs rewrite (now called dev_z8530); conversion
2496                    to devinit style.
2497                    Reworking some of the input-only vs output-only vs input-output
2498                    details of src/console.c, better warning messages, and adding
2499                    a debug dump.
2500                    Removing the concept of "device state"; it wasn't really used.
2501                    Changing some debug output (-vv should now be used to show all
2502                    details about devices and busses; not shown during normal
2503                    startup anymore).
2504                    Beginning on some SPARC instruction disassembly support.
2505    20051204        Minor PPC updates (WALNUT skeleton stuff).
2506                    Continuing on the MIPS dyntrans rewrite.
2507                    More progress on the ADB controller (a keyboard is "detected"
2508                    by NetBSD and OpenBSD).
2509                    Downgrading OpenBSD/arc as a guest OS from "working" to
2510                    "almost working" in the documentation.
2511                    Progress on Algor emulation ("v3" PCI controller).
2512    20051205        Minor updates.
2513    20051207        Sorting devices according to address; this reduces complexity
2514                    of device lookups from O(n) to O(log n) in memory_rw (but no
2515                    real performance increase (yet) in experiments).
2516    20051210        Beginning the work on native dyntrans backends (by making a
2517                    simple skeleton; so far only for Alpha hosts).
2518    20051211        Some very minor SPARC updates.
2519    20051215        Fixing a bug in the MIPS mul (note: not mult) instruction,
2520                    so it also works with non-64-bit emulation. (Thanks to Alec
2521                    Voropay for noticing the problem.)
2522    20051216        More work on the fake/empty/simple/skeleton/whatever backend;
2523                    performance doesn't increase, so this isn't really worth it,
2524                    but it was probably worth it to prepare for a real backend
2525                    later.
2526    20051219        More instr call statistics gathering and analysis stuff.
2527    20051220        Another fix for MIPS 'mul'. Also converting mul and {d,}cl{o,z}
2528                    to dyntrans.
2529                    memory_ppc.c syntax error fix (noticed by Peter Valchev).
2530                    Beginning to move out machines from src/machine.c into
2531                    individual files in src/machines (in a way similar to the
2532                    autodev system for devices).
2533    20051222        Updating the documentation regarding NetBSD/pmax 3.0.
2534    20051223        - " - NetBSD/cats 3.0.
2535    20051225        - " - NetBSD/hpcmips 3.0.
2536    20051226        Continuing on the machine registry redesign.
2537                    Adding support for ARM rrx (33-bit rotate).
2538                    Fixing some signed/unsigned issues (exposed by gcc -W).
2539    20051227        Fixing the bug which prevented a NetBSD/prep 3.0 install kernel
2540                    from starting (triggered when an mtmsr was the last instruction
2541                    on a page). Unfortunately not enough to get the kernel to run
2542                    as well as the 2.1 kernels did.
2543    20051230        Some dyntrans refactoring.
2544    20051231        Continuing on the machine registry redesign.
2545    20060101-10     Continuing... moving more machines. Moving MD interrupt stuff
2546                    from machine.c into a new src/machines/interrupts.c.
2547    20060114        Adding various mvmeppc machine skeletons.
2548    20060115        Continuing on mvme* stuff. NetBSD/mvmeppc prints boot messages
2549                    (for MVME1600) and reaches the root device prompt, but no
2550                    specific hardware devices are emulated yet.
2551    20060116        Minor updates to the mvme1600 emulation mode; the Eagle PCI bus
2552                    seems to work without much modification, and a 21143 can be
2553                    detected, interrupts might work (but untested so far).
2554                    Adding a fake MK48Txx (mkclock) device, for NetBSD/mvmeppc.
2555    20060121        Adding an aux control register for ARM. (A BIG thank you to
2556                    Olivier Houchard for tracking down this bug.)
2557    20060122        Adding more ARM instructions (smulXY), and dev_iq80321_7seg.
2558    20060124        Adding disassembly of more ARM instructions (mia*, mra/mar),
2559                    and some semi-bogus XScale and i80321 registers.
2560    20060201-02     Various minor updates. Moving the last machines out of
2561                    machine.c.
2562    20060204        Adding a -c command line option, for running debugger commands
2563                    before the simulation starts, but after all files have been
2564                    loaded.
2565                    Minor iq80321-related updates.
2566    20060209        Minor hacks (DEVINIT macro, etc).
2567                    Preparing for the generalization of the 64-bit dyntrans address
2568                    translation subsystem.
2569    20060216        Adding ARM ldrd (double-register load).
2570    20060217        Continuing on various ARM-related stuff.
2571    20060218        More progress on the ATA/wdc emulation for NetBSD/iq80321.
2572                    NetBSD/evbarm can now be installed :-)  Updating the docs, etc.
2573                    Continuing on Algor emulation.
2575    ==============  RELEASE 0.3.8  ==============
2577    20060219        Various minor updates. Removing the old MIPS16 skeleton code,
2578                    because it will need to be rewritten for dyntrans anyway.
2579    20060220-22     Removing the non-working dyntrans backend support.
2580                    Continuing on the 64-bit dyntrans virtual memory generalization.
2581    20060223        More work on the 64-bit vm generalization.
2582    20060225        Beginning on MIPS dyntrans load/store instructions.
2583                    Minor PPC updates (64-bit load/store, etc).
2584                    Fixes for the variable-instruction-length framework, some
2585                    minor AVR updates (a simple Hello World program works!).
2586                    Beginning on a skeleton for automatically generating documen-
2587                    tation (for devices etc.).
2588    20060226        PPC updates (adding some more 64-bit instructions, etc).
2589                    AVR updates (more instructions).
2590                    FINALLY found and fixed the zs bug, making NetBSD/macppc
2591                    accept the serial console.
2592    20060301        Adding more AVR instructions.
2593    20060304        Continuing on AVR-related stuff. Beginning on a framework for
2594                    cycle-accurate device emulation. Adding an experimental "PAL
2595                    TV" device (just a dummy so far).
2596    20060305        Adding more AVR instructions.
2597                    Adding a dummy epcom serial controller (for TS7200 emulation).
2598    20060310        Removing the emul() command from configuration files, so only
2599                    net() and machine() are supported.
2600                    Minor progress on the MIPS dyntrans rewrite.
2601    20060311        Continuing on the MIPS dyntrans rewrite (adding more
2602                    instructions, etc).
2603    20060315        Adding more instructions (sllv, srav, srlv, bgtz[l], blez[l],
2604                    beql, bnel, slti[u], various loads and stores).
2605    20060316        Removing the ALWAYS_SIGNEXTEND_32 option, since it was rarely
2606                    used.
2607                    Adding more MIPS dyntrans instructions, and fixing bugs.
2608    20060318        Implementing fast loads/stores for MIPS dyntrans (big/little
2609                    endian, 32-bit and 64-bit modes).
2610    20060320        Making MIPS dyntrans the default configure option; use
2611                    "--enable-oldmips" to use the old bintrans system.
2612                    Adding MIPS dyntrans dmult[u]; minor updates.
2613    20060322        Continuing... adding some more instructions.
2614                    Adding a simple skeleton for demangling C++ "_ZN" symbols.
2615    20060323        Moving src/debugger.c into a new directory (src/debugger/).
2616    20060324        Fixing the hack used to load PPC ELFs (useful for relocated
2617                    Linux/ppc kernels), and adding a dummy G3 machine mode.
2618    20060325-26     Beginning to experiment with GDB remote serial protocol
2619                    connections; adding a -G command line option for selecting
2620                    which TCP port to listen to.
2621    20060330        Beginning a major cleanup to replace things like "0x%016llx"
2622                    with more correct "0x%016"PRIx64, etc.
2623                    Continuing on the GDB remote serial protocol support.
2624    20060331        More cleanup, and some minor GDB remote progress.
2625    20060402        Adding a hack to the configure script, to allow compilation
2626                    on systems that lack PRIx64 etc.
2627    20060406        Removing the temporary FreeBSD/arm hack in dev_ns16550.c and
2628                    replacing it with a better fix from Olivier Houchard.
2629    20060407        A remote debugger (gdb or ddd) can now start and stop the
2630                    emulator using the GDB remote serial protocol, and registers
2631                    and memory can be read. MIPS only for now.
2632    20060408        More GDB progress: single-stepping also works, and also adding
2633                    support for ARM, PowerPC, and Alpha targets.
2634                    Continuing on the delay-slot-across-page-boundary issue.
2635    20060412        Minor update: beginning to add support for the SPARC target
2636                    to the remote GDB functionality.
2637    20060414        Various MIPS updates: adding more instructions for dyntrans
2638                    (eret, add), and making some exceptions work. Fixing a bug
2639                    in dmult[u].
2640                    Implementing the first SPARC instructions (sethi, or).
2641    20060415        Adding "magic trap" instructions so that PROM calls can be
2642                    software emulated in MIPS dyntrans.
2643                    Adding more MIPS dyntrans instructions (ddiv, dadd) and
2644                    fixing another bug in dmult.
2645    20060416        More MIPS dyntrans progress: adding [d]addi, movn, movz, dsllv,
2646                    rfi, an ugly hack for supporting R2000/R3000 style faked caches,
2647                    preliminary interrupt support, and various other updates and
2648                    bugfixes.
2649    20060417        Adding more SPARC instructions (add, sub, sll[x], sra[x],
2650                    srl[x]), and useful SPARC header definitions.
2651                    Adding the first (trivial) x86/AMD64 dyntrans instructions (nop,
2652                    cli/sti, stc/clc, std/cld, simple mov, inc ax). Various other
2653                    x86 updates related to variable instruction length stuff.
2654                    Adding unaligned loads/stores to the MIPS dyntrans mode (but
2655                    still using the pre-dyntrans (slow) imlementation).
2656    20060419        Fixing a MIPS dyntrans exception-in-delay-slot bug.
2657                    Removing the old "show opcode statistics" functionality, since
2658                    it wasn't really useful and isn't implemented for dyntrans.
2659                    Single-stepping (or running with instruction trace) now looks
2660                    ok with dyntrans with delay-slot architectures.
2661    20060420        Minor hacks (removing the -B command line option when compiled
2662                    for non-bintrans, and some other very minor updates).
2663                    Adding (slow) MIPS dyntrans load-linked/store-conditional.
2664    20060422        Applying fixes for bugs discovered by Nils Weller's nwcc
2665                    (static DEC memmap => now per machine, and adding an extern
2666                    keyword in cpu_arm_instr.c).
2667                    Finally found one of the MIPS dyntrans bugs that I've been
2668                    looking for (copy/paste spelling error BIG vs LITTLE endian in
2669                    cpu_mips_instr_loadstore.c for 16-bit fast stores).
2670                    FINALLY found the major MIPS dyntrans bug: slti vs sltiu
2671                    signed/unsigned code in cpu_mips_instr.c. :-)
2672                    Adding more MIPS dyntrans instructions (lwc1, swc1, bgezal[l],
2673                    ctc1, tlt[u], tge[u], tne, beginning on rdhwr).
2674                    NetBSD/hpcmips can now reach userland when using dyntrans :-)
2675                    Adding some more x86 dyntrans instructions.
2676                    Finally removed the old Alpha-specific virtual memory code,
2677                    and replaced it with the generic 64-bit version.
2678                    Beginning to add disassembly support for SPECIAL3 MIPS opcodes.
2679    20060423        Continuing on the delay-slot-across-page-boundary issue;
2680                    adding an end_of_page2 ic slot (like I had planned before, but
2681                    had removed for some reason).
2682                    Adding a quick-and-dirty fallback to legacy coprocessor 1
2683                    code (i.e. skipping dyntrans implementation for now).
2684                    NetBSD/hpcmips and NetBSD/pmax (when running on an emulated
2685                    R4400) can now be installed and run. :-)  (Many bugs left
2686                    to fix, though.)
2687                    Adding more MIPS dyntrans instructions: madd[u], msub[u].
2688                    Cleaning up the SPECIAL2 vs R5900/TX79/C790 "MMI" opcode
2689                    maps somewhat (disassembly and dyntrans instruction decoding).
2690    20060424        Adding an isa_revision field to mips_cpu_types.h, and making
2691                    sure that SPECIAL3 opcodes cause Reserved Instruction
2692                    exceptions on MIPS32/64 revisions lower than 2.
2693                    Adding the SPARC 'ba', 'call', 'jmpl/retl', 'and', and 'xor'
2694                    instructions.
2695    20060425        Removing the -m command line option ("run at most x
2696                    instructions") and -T ("single_step_on_bad_addr"), because
2697                    they never worked correctly with dyntrans anyway.
2698                    Freshening up the man page.
2699    20060428        Adding more MIPS dyntrans instructions: bltzal[l], idle.
2700                    Enabling MIPS dyntrans compare interrupts.
2701    20060429        FINALLY found the weird dyntrans bug, causing NetBSD etc. to
2702                    behave strangely: some floating point code (conditional
2703                    coprocessor branches) could not be reused from the old
2704                    non-dyntrans code. The "quick-and-dirty fallback" only appeared
2705                    to work. Fixing by implementing bc1* for MIPS dyntrans.
2706                    More MIPS instructions: [d]sub, sdc1, ldc1, dmtc1, dmfc1, cfc0.
2707                    Freshening up MIPS floating point disassembly appearance.
2708    20060430        Continuing on C790/R5900/TX79 disassembly; implementing 128-bit
2709                    "por" and "pextlw".
2710    20060504        Disabling -u (userland emulation) unless compiled as unstable
2711                    development version.
2712                    Beginning on freshening up the testmachine include files,
2713                    to make it easier to reuse those files (placing them in
2714                    src/include/testmachine/), and beginning on a set of "demos"
2715                    or "tutorials" for the testmachine functionality.
2716                    Minor updates to the MIPS GDB remote protocol stub.
2717                    Refreshing doc/experiments.html and gdb_remote.html.
2718                    Enabling Alpha emulation in the stable release configuration,
2719                    even though no guest OSes for Alpha can run yet.
2720    20060505        Adding a generic 'settings' object, which will contain
2721                    references to settable variables (which will later be possible
2722                    to access using the debugger).
2723    20060506        Updating dev_disk and corresponding demo/documentation (and
2724                    switching from SCSI to IDE disk types, so it actually works
2725                    with current test machines :-).
2726    20060510        Adding a -D_LARGEFILE_SOURCE hack for 64-bit Linux hosts,
2727                    so that fseeko() doesn't give a warning.
2728                    Updating the section about how dyntrans works (the "runnable
2729                    IR") in doc/intro.html.
2730                    Instruction updates (some x64=1 checks, some more R5900
2731                    dyntrans stuff: better mul/mult separation from MIPS32/64,
2732                    adding ei and di).
2733                    Updating MIPS cpuregs.h to a newer one (from NetBSD).
2734                    Adding more MIPS dyntrans instructions: deret, ehb.
2735    20060514        Adding disassembly and beginning implementation of SPARC wr
2736                    and wrpr instructions.
2737    20060515        Adding a SUN SPARC machine mode, with dummy SS20 and Ultra1
2738                    machines. Adding the 32-bit "rd psr" instruction.
2739    20060517        Disassembly support for the general SPARC rd instruction.
2740                    Partial implementation of the cmp (subcc) instruction.
2741                    Some other minor updates (making sure that R5900 processors
2742                    start up with the EIE bit enabled, otherwise Linux/playstation2
2743                    receives no interrupts).
2744    20060519        Minor MIPS updates/cleanups.
2745    20060521        Moving the MeshCube machine into evbmips; this seems to work
2746                    reasonably well with a snapshot of a NetBSD MeshCube kernel.
2747                    Cleanup/fix of MIPS config0 register initialization.
2748    20060529        Minor MIPS fixes, including a sign-extension fix to the
2749                    unaligned load/store code, which makes NetBSD/pmax on R3000
2750                    work better with dyntrans. (Ultrix and Linux/DECstation still
2751                    don't work, though.)
2752    20060530        Minor updates to the Alpha machine mode: adding an AlphaBook
2753                    mode, an LCA bus (forwarding accesses to an ISA bus), etc.
2754    20060531        Applying a bugfix for the MIPS dyntrans sc[d] instruction from
2755                    Ondrej Palkovsky. (Many thanks.)
2756    20060601        Minifix to allow ARM immediate msr instruction to not give
2757                    an error for some valid values.
2758                    More Alpha updates.
2759    20060602        Some minor Alpha updates.
2760    20060603        Adding the Alpha cmpbge instruction. NetBSD/alpha prints its
2761                    first boot messages :-) on an emulated Alphabook 1.
2762    20060612        Minor updates; adding a dev_ether.h include file for the
2763                    testmachine ether device. Continuing the hunt for the dyntrans
2764                    bug which makes Linux and Ultrix on DECstation behave
2765                    strangely... FINALLY found it! It seems to be related to
2766                    invalidation of the translation cache, on tlbw{r,i}. There
2767                    also seems to be some remaining interrupt-related problems.
2768    20060614        Correcting the implementation of ldc1/sdc1 for MIPS dyntrans
2769                    (so that it uses 16 32-bit registers if the FR bit in the
2770                    status register is not set).
2771    20060616        REMOVING BINTRANS COMPLETELY!
2772                    Removing the old MIPS interpretation mode.
2773                    Removing the MFHILO_DELAY and instruction delay stuff, because
2774                    they wouldn't work with dyntrans anyway.
2775    20060617        Some documentation updates (adding "NetBSD-archive" to some
2776                    URLs, and new Debian/DECstation installation screenshots).
2777                    Removing the "tracenull" and "enable-caches" configure options.
2778                    Improving MIPS dyntrans performance somewhat (only invalidate
2779                    translations if necessary, on writes to the entryhi register,
2780                    instead of doing it for all cop0 writes).
2781    20060618        More cleanup after the removal of the old MIPS emulation.
2782                    Trying to fix the MIPS dyntrans performance bugs/bottlenecks;
2783                    only semi-successful so far (for R3000).
2784    20060620        Minor update to allow clean compilation again on Tru64/Alpha.
2785    20060622        MIPS cleanup and fixes (removing the pc_last stuff, which
2786                    doesn't make sense with dyntrans anyway, and fixing a cross-
2787                    page-delay-slot-with-exception case in end_of_page).
2788                    Removing the old max_random_cycles_per_chunk stuff, and the
2789                    concept of cycles vs instructions for MIPS emulation.
2790                    FINALLY found and fixed the bug which caused NetBSD/pmax
2791                    clocks to behave strangely (it was a load to the zero register,
2792                    which was treated as a NOP; now it is treated as a load to a
2793                    dummy scratch register).
2794    20060623        Increasing the dyntrans chunk size back to
2795                    N_SAFE_DYNTRANS_LIMIT, instead of N_SAFE_DYNTRANS_LIMIT/2.
2796                    Preparing for a quick release, even though there are known
2797                    bugs, and performance for non-R3000 MIPS emulation is very
2798                    poor. :-/
2799                    Reverting to half the dyntrans chunk size again, because
2800                    NetBSD/cats seemed less stable with full size chunks. :(
2801                    NetBSD/sgimips 3.0 can now run :-)  (With release 0.3.8, only
2802                    NetBSD/sgimips 2.1 worked, not 3.0.)
2804    ==============  RELEASE 0.4.0  ==============
2806    20060624        Replacing the error-prone machine type initialization stuff
2807                    with something more reasonable.
2808                    Finally removing the old "cpu_run" kludge; moving around stuff
2809                    in machine.c and emul.c to better suit the dyntrans system.
2810                    Various minor dyntrans cleanups (renaming translate_address to
2811                    translate_v2p, and experimenting with template physpages).
2812    20060625        Removing the speed hack which separated the vph entries into
2813                    two halves (code vs data); things seem a lot more stable now.
2814                    Minor performance hack: R2000/R3000 cache isolation now only
2815                    clears address translations when going into isolation, not
2816                    when going out of it.
2817                    Fixing the MIPS interrupt problems by letting mtc0 immediately
2818                    cause interrupts.
2820    ==============  RELEASE  ==============
2822    20060626        Continuing on SPARC emulation (beginning on the 'save'
2823                    instruction, register windows, etc).
2824    20060629        Planning statistics gathering (new -s command line option),
2825                    and renaming speed_tricks to allow_instruction_combinations.
2826    20060630        Some minor manual page updates.
2827                    Various cleanups.
2828                    Implementing the -s command line option.
2829    20060701        FINALLY found the bug which prevented Linux and Ultrix from
2830                    running without the ugly hack in the R2000/R3000 cache isol
2831                    code; it was the phystranslation hint array which was buggy.
2832                    Removing the phystranslation hint code completely, for now.
2833    20060702        Minor dyntrans cleanups; invalidation of physpages now only
2834                    invalidate those parts of a page that have actually been
2835                    translated. (32 parts per page.)
2836                    Some MIPS non-R3000 speed fixes.
2837                    Experimenting with MIPS instruction combination for some
2838                    addiu+bne+sw loops, and sw+sw+sw.
2839                    Adding support (again) for larger-than-4KB pages in MIPS tlbw*.
2840                    Continuing on SPARC emulation: adding load/store instructions.
2841    20060704        Fixing a virtual vs physical page shift bug in the new tlbw*
2842                    implementation. Problem noticed by Jakub Jermar. (Many thanks.)
2843                    Moving rfe and eret to cpu_mips_instr.c, since that is the
2844                    only place that uses them nowadays.
2845    20060705        Removing the BSD license from the "testmachine" include files,
2846                    placing them in the public domain instead; this enables the
2847                    testmachine stuff to be used from projects which are
2848                    incompatible with the BSD license for some reason.
2849    20060707        Adding instruction combinations for the R2000/R3000 L1
2850                    I-cache invalidation code used by NetBSD/pmax 3.0, lui+addiu,
2851                    various branches followed by addiu or nop, and jr ra followed
2852                    by addiu. The time it takes to perform a full NetBSD/pmax R3000
2853                    install on the laptop has dropped from 573 seconds to 539. :-)
2854    20060708        Adding a framebuffer controller device (dev_fbctrl), which so
2855                    far can be used to change the fb resolution during runtime, but
2856                    in the future will also be useful for accelerated block fill/
2857                    copy, and possibly also simplified character output.
2858                    Adding an instruction combination for NetBSD/pmax' strlen.
2859    20060709        Minor fixes: reading raw files in src/file.c wasn't memblock
2860                    aligned, removing buggy multi_sw MIPS instruction combination,
2861                    etc.
2862    20060711        Adding a machine_qemu.c, which contains a "qemu_mips" machine.
2863                    (It mimics QEMU's MIPS machine mode, so that a test kernel
2864                    made for QEMU_MIPS also can run in GXemul... at least to some
2865                    extent.)  Adding a short section about how to run this mode to
2866                    doc/guestoses.html.
2867    20060714        Misc. minor code cleanups.
2868    20060715        Applying a patch which adds getchar() to promemul/yamon.c
2869                    (from Oleksandr Tymoshenko).
2870                    Adding yamon.h from NetBSD, and rewriting yamon.c to use it
2871                    (instead of ugly hardcoded numbers) + some cleanup.
2872    20060716        Found and fixed the bug which broke single-stepping of 64-bit
2873                    programs between 0.4.0 and (caused by too quick
2874                    refactoring and no testing). Hopefully this fix will not
2875                    break too many other things.
2876    20060718        Continuing on the 8253 PIT; it now works with Linux/QEMU_MIPS.
2877                    Re-adding the sw+sw+sw instr comb (the problem was that I had
2878                    ignored endian issues); however, it doesn't seem to give any
2879                    big performance gain.
2880    20060720        Adding a dummy Transputer mode (T414, T800 etc) skeleton (only
2881                    the 'j' and 'ldc' instructions are implemented so far). :-}
2882    20060721        Adding gtreg.h from NetBSD, updating dev_gt.c to use it, plus
2883                    misc. other updates to get Linux 2.6 for evbmips/malta working
2884                    (thanks to Alec Voropay for the details).
2885                    FINALLY found and fixed the bug which made tlbw* for non-R3000
2886                    buggy; it was a reference count problem in the dyntrans core.
2887    20060722        Testing stuff; things seem stable enough for a new release.
2889    ==============  RELEASE 0.4.1  ==============
2891    20060723        More Transputer instructions (pfix, nfix, opr, mint, ldl, ldlp,
2892                    eqc, rev, ajw, stl, stlf, sthf, sub, ldnl, ldnlp, ldpi, move,
2893                    wcnt, add, bcnt).
2894                    Adding more SPARC instructions (andcc, addcc, bl, rdpr).
2895                    Progress on the igsfb framebuffer used by NetBSD/netwinder.
2896                    Enabling 8-bit fills in dev_fb.
2897                    NetBSD/netwinder 3.0.1 can now run from a disk image :-)
2898    20060724        Cleanup/performance fix for 64-bit virtual translation table
2899                    updates (by removing the "timestamp" stuff). A full NetBSD/pmax
2900                    3.0.1 install for R4400 has dropped from 667 seconds to 584 :)
2901                    Fixing the igsfb "almost vga" color (it is 24-bit, not 18-bit).
2902                    Adding some MIPS instruction combinations (3*lw, and 3*addu).
2903                    The 8048 keyboard now turns off interrupt enable between the
2904                    KBR_ACK and the KBR_RSTDONE, to work better with Linux 2.6.
2905                    Not causing PPC DEC interrupts if PPC_NO_DEC is set for a
2906                    specific CPU; NetBSD/bebox gets slightly further than before.
2907                    Adding some more SPARC instructions: branches, udiv.
2908    20060725        Refreshing dev_pckbc.c a little.
2909                    Cleanups for the SH emulation mode, and adding the first
2910                    "compact" (16-bit) instructions: various simple movs, nop,
2911                    shll, stc, or, ldc.
2912    20060726        Adding dummy "pcn" (AMD PCnet NIC) PCI glue.
2913    20060727        Various cleanups; removing stuff from cpu.h, such as
2914                    running_translated (not really meaningful anymore), and
2915                    page flags (breaking into the debugger clears all translations
2916                    anyway).
2917                    Minor MIPS instruction combination updates.
2918    20060807        Expanding the 3*sw and 3*lw MIPS instruction combinations to
2919                    work with 2* and 4* too, resulting in a minor performance gain.
2920                    Implementing a usleep hack for the RM52xx/MIPS32/MIPS64 "wait"
2921                    instruction (when emulating 1 cpu).
2922    20060808        Experimenting with some more MIPS instruction combinations.
2923                    Implementing support for showing a (hardcoded 12x22) text
2924                    cursor in igsfb.
2925    20060809        Simplifying the NetBSD/evbmips (Malta) install instructions
2926                    somewhat (by using a NetBSD/pmax ramdisk install kernel).
2927    20060812        Experimenting more with the MIPS 'wait' instruction.
2928                    PCI configuration register writes can now be handled, which
2929                    allow PCI IDE controllers to work with NetBSD/Malta 3.0.1 and
2930                    NetBSD/cobalt 3.0.1. (Previously only NetBSD 2.1 worked.)
2931    20060813        Updating dev_gt.c based on numbers from Alec Voropay, to enable
2932                    Linux 2.6 to use PCI on Malta.
2933                    Continuing on Algor interrupt stuff.
2934    20060814        Adding support for routing ISA interrupts to two different
2935                    interrupts, making it possible to run NetBSD/algor :-)
2936    20060814-15     Testing for the release.
2938    ==============  RELEASE 0.4.2  ==============
2940    20060816        Adding a framework for emulated/virtual timers (src/timer.c),
2941                    using only setitimer().
2942                    Rewriting the mc146818 to use the new timer framework.
2943    20060817        Adding a call to gettimeofday() every now and then (once every
2944                    second, at the moment) to resynch the timer if it drifts.
2945                    Beginning to convert the ISA timer interrupt mechanism (8253
2946                    and 8259) to use the new timer framework.
2947                    Removing the -I command line option.
2948    20060819        Adding the -I command line option again, with new semantics.
2949                    Working on Footbridge timer interrupts; NetBSD/NetWinder and
2950                    NetBSD/CATS now run at correct speed, but unfortunately with
2951                    HUGE delays during bootup.
2952    20060821        Some minor m68k updates. Adding the first instruction: nop. :)
2953                    Minor Alpha emulation updates.
2954    20060822        Adding a FreeBSD development specific YAMON environment
2955                    variable ("khz") (as suggested by Bruce M. Simpson).
2956                    Moving YAMON environment variable initialization from
2957                    machine_evbmips.c into promemul/yamon.c, and adding some more
2958                    variables.
2959                    Continuing on the LCA PCI bus controller (for Alpha machines).
2960    20060823        Continuing on the timer stuff: experimenting with MIPS count/
2961                    compare interrupts connected to the timer framework.
2962    20060825        Adding bogus SCSI commands 0x51 (SCSICDROM_READ_DISCINFO) and
2963                    0x52 (SCSICDROM_READ_TRACKINFO) to the SCSI emulation layer,
2964                    to allow NetBSD/pmax 4.0_BETA to be installed from CDROM.
2965                    Minor updates to the LCA PCI controller.
2966    20060827        Implementing a CHIP8 cpu mode, and a corresponding CHIP8
2967                    machine, for fun. Disassembly support for all instructions,
2968                    and most of the common instructions have been implemented: mvi,
2969                    mov_imm, add_imm, jmp, rand, cls, sprite, skeq_imm, jsr,
2970                    skne_imm, bcd, rts, ldr, str, mov, or, and, xor, add, sub,
2971                    font, ssound, sdelay, gdelay, bogus skup/skpr, skeq, skne.
2972    20060828        Beginning to convert the CHIP8 cpu in the CHIP8 machine to a
2973                    (more correct) RCA 180x cpu. (Disassembly for all 1802
2974                    instructions has been implemented, but no execution yet, and
2975                    no 1805 extended instructions.)
2976    20060829        Minor Alpha emulation updates.
2977    20060830        Beginning to experiment a little with PCI IDE for SGI O2.
2978                    Fixing the cursor key mappings for MobilePro 770 emulation.
2979                    Fixing the LK201 warning caused by recent NetBSD/pmax.
2980                    The MIPS R41xx standby, suspend, and hibernate instructions now
2981                    behave like the RM52xx/MIPS32/MIPS64 wait instruction.
2982                    Fixing dev_wdc so it calculates correct (64-bit) offsets before
2983                    giving them to diskimage_access().
2984    20060831        Continuing on Alpha emulation (OSF1 PALcode).
2985    20060901        Minor Alpha updates; beginning on virtual memory pagetables.
2986                    Removed the limit for max nr of devices (in preparation for
2987                    allowing devices' base addresses to be changed during runtime).
2988                    Adding a hack for MIPS [d]mfc0 select 0 (except the count
2989                    register), so that the coproc register is simply copied.
2990                    The MIPS suspend instruction now exits the emulator, instead
2991                    of being treated as a wait instruction (this causes NetBSD/
2992                    hpcmips to get correct 'halt' behavior).
2993                    The VR41xx RTC now returns correct time.
2994                    Connecting the VR41xx timer to the timer framework (fixed at
2995                    128 Hz, for now).
2996                    Continuing on SPARC emulation, adding more instructions:
2997                    restore, ba_xcc, ble. The rectangle drawing demo works :)
2998                    Removing the last traces of the old ENABLE_CACHE_EMULATION
2999                    MIPS stuff (not usable with dyntrans anyway).
3000    20060902        Splitting up src/net.c into several smaller files in its own
3001                    subdirectory (src/net/).
3002    20060903        Cleanup of the files in src/net/, to make them less ugly.
3003    20060904        Continuing on the 'settings' subsystem.
3004                    Minor progress on the SPARC emulation mode.
3005    20060905        Cleanup of various things, and connecting the settings
3006                    infrastructure to various subsystems (emul, machine, cpu, etc).
3007                    Changing the lk201 mouse update routine to not rely on any
3008                    emulated hardware framebuffer cursor coordinates, but instead
3009                    always do (semi-usable) relative movements.
3010    20060906        Continuing on the lk201 mouse stuff. Mouse behaviour with
3011                    multiple framebuffers (which was working in Ultrix) is now
3012                    semi-broken (but it still works, in a way).
3013                    Moving the documentation about networking into its own file
3014                    (networking.html), and refreshing it a bit. Adding an example
3015                    of how to use ethernet frame direct-access (udp_snoop).
3016    20060907        Continuing on the settings infrastructure.
3017    20060908        Minor updates to SH emulation: for 32-bit emulation: delay
3018                    slots and the 'jsr @Rn' instruction. I'm putting 64-bit SH5 on
3019                    ice, for now.
3020    20060909-10     Implementing some more 32-bit SH instructions. Removing the
3021                    64-bit mode completely. Enough has now been implemented to run
3022                    the rectangle drawing demo. :-)
3023    20060912        Adding more SH instructions.
3024    20060916        Continuing on SH emulation (some more instructions: div0u,
3025                    div1, rotcl/rotcr, more mov instructions, dt, braf, sets, sett,
3026                    tst_imm, dmuls.l, subc, ldc_rm_vbr, movt, clrt, clrs, clrmac).
3027                    Continuing on the settings subsystem (beginning on reading/
3028                    writing settings, removing bugs, and connecting more cpus to
3029                    the framework).
3030    20060919        More work on SH emulation; adding an ldc banked instruction,
3031                    and attaching a 640x480 framebuffer to the Dreamcast machine
3032                    mode (NetBSD/dreamcast prints the NetBSD copyright banner :-),
3033                    and then panics).
3034    20060920        Continuing on the settings subsystem.
3035    20060921        Fixing the Footbridge timer stuff so that NetBSD/cats and
3036                    NetBSD/netwinder boot up without the delays.
3037    20060922        Temporarily hardcoding MIPS timer interrupt to 100 Hz. With
3038                    'wait' support disabled, NetBSD/malta and Linux/malta run at
3039                    correct speed.
3040    20060923        Connecting dev_gt to the timer framework, so that NetBSD/cobalt
3041                    runs at correct speed.
3042                    Moving SH4-specific memory mapped registers into its own
3043                    device (dev_sh4.c).
3044                    Running with -N now prints "idling" instead of bogus nr of
3045                    instrs/second (which isn't valid anyway) while idling.
3046    20060924        Algor emulation should now run at correct speed.
3047                    Adding disassembly support for some MIPS64 revision 2
3048                    instructions: ext, dext, dextm, dextu.
3049    20060926        The timer framework now works also when the MIPS wait
3050                    instruction is used.
3051    20060928        Re-implementing checks for coprocessor availability for MIPS
3052                    cop0 instructions. (Thanks to Carl van Schaik for noticing the
3053                    lack of cop0 availability checks.)
3054    20060929        Implementing an instruction combination hack which treats
3055                    NetBSD/pmax' idle loop as a wait-like instruction.
3056    20060930        The ENTRYHI_R_MASK was missing in (at least) memory_mips_v2p.c,
3057                    causing TLB lookups to sometimes succeed when they should have
3058                    failed. (A big thank you to Juli Mallett for noticing the
3059                    problem.)
3060                    Adding disassembly support for more MIPS64 revision 2 opcodes
3061                    (seb, seh, wsbh, jalr.hb, jr.hb, synci, ins, dins, dinsu,
3062                    dinsm, dsbh, dshd, ror, dror, rorv, drorv, dror32). Also
3063                    implementing seb, seh, dsbh, dshd, and wsbh.
3064                    Implementing an instruction combination hack for Linux/pmax'
3065                    idle loop, similar to the NetBSD/pmax case.
3066    20061001        Changing the NetBSD/sgimips install instructions to extract
3067                    files from an iso image, instead of downloading them via ftp.
3068    20061002        More-than-31-bit userland addresses in memory_mips_v2p.c were
3069                    not actually working; applying a fix from Carl van Schaik to
3070                    enable them to work + making some other updates (adding kuseg
3071                    support).
3072                    Fixing hpcmips (vr41xx) timer initialization.
3073                    Experimenting with O(n)->O(1) reduction in the MIPS TLB lookup
3074                    loop. Seems to work both for R3000 and non-R3000.
3075    20061003        Continuing a little on SH emulation (adding more control
3076                    registers; mini-cleanup of memory_sh.c).
3077    20061004        Beginning on a dev_rtc, a clock/timer device for the test
3078                    machines; also adding a demo, and some documentation.
3079                    Fixing a bug in SH "mov.w @(disp,pc),Rn" (the result wasn't
3080                    sign-extended), and adding the addc and ldtlb instructions.
3081    20061005        Contining on SH emulation: virtual to physical address
3082                    translation, and a skeleton exception mechanism.
3083    20061006        Adding more SH instructions (various loads and stores, rte,
3084                    negc, muls.w, various privileged register-move instructions).
3085    20061007        More SH instructions: various move instructions, trapa, div0s,
3086                    float, fdiv, ftrc.
3087                    Continuing on dev_rtc; removing the rtc demo.
3088    20061008        Adding a dummy Dreamcast PROM module. (Homebrew Dreamcast
3089                    programs using KOS libs need this.)
3090                    Adding more SH instructions: "stc vbr,rn", rotl, rotr, fsca,
3091                    fmul, fadd, various floating-point moves, etc. A 256-byte
3092                    demo for Dreamcast runs :-)
3093    20061012        Adding the SH "lds Rm,pr" and bsr instructions.
3094    20061013        More SH instructions: "sts fpscr,rn", tas.b, and some more
3095                    floating point instructions, cmp/str, and more moves.
3096                    Adding a dummy dev_pvr (Dreamcast graphics controller).
3097    20061014        Generalizing the expression evaluator (used in the built-in
3098                    debugger) to support parentheses and +-*/%^&|.
3099    20061015        Removing the experimental tlb index hint code in
3100                    mips_memory_v2p.c, since it didn't really have any effect.
3101    20061017        Minor SH updates; adding the "sts pr,Rn", fcmp/gt, fneg,
3102                    frchg, and some other instructions. Fixing missing sign-
3103                    extension in an 8-bit load instruction.
3104    20061019        Adding a simple dev_dreamcast_rtc.
3105                    Implementing memory-mapped access to the SH ITLB/UTLB arrays.
3106    20061021        Continuing on various SH and Dreamcast things: sh4 timers,
3107                    debug messages for dev_pvr, fixing some virtual address
3108                    translation bugs, adding the bsrf instruction.
3109                    The NetBSD/dreamcast GENERIC_MD kernel now reaches userland :)
3110                    Adding a dummy dev_dreamcast_asic.c (not really useful yet).
3111                    Implementing simple support for Store Queues.
3112                    Beginning on the PVR Tile Accelerator.
3113    20061022        Generalizing the PVR framebuffer to support off-screen drawing,
3114                    multiple bit-depths, etc. (A small speed penalty, but most
3115                    likely worth it.)
3116                    Adding more SH instructions (mulu.w, fcmp/eq, fsub, fmac,
3117                    fschg, and some more); correcting bugs in "fsca" and "float".
3118    20061024        Adding the SH ftrv (matrix * vector) instruction. Marcus
3119                    Comstedt's "tatest" example runs :) (wireframe only).
3120                    Correcting disassembly for SH floating point instructions that
3121                    use the xd* registers.
3122                    Adding the SH fsts instruction.
3123                    In memory_device_dyntrans_access(), only the currently used
3124                    range is now invalidated, and not the entire device range.
3125    20061025        Adding a dummy AVR32 cpu mode skeleton.
3126    20061026        Various Dreamcast updates; beginning on a Maple bus controller.
3127    20061027        Continuing on the Maple bus. A bogus Controller, Keyboard, and
3128                    Mouse can now be detected by NetBSD and KOS homebrew programs.
3129                    Cleaning up the SH4 Timer Management Unit, and beginning on
3130                    SH4 interrupts.
3131                    Implementing the Dreamcast SYSASIC.
3132    20061028        Continuing on the SYSASIC.
3133                    Adding the SH fsqrt instruction.
3134                    memory_sh.c now actually scans the ITLB.
3135                    Fixing a bug in dev_sh4.c, related to associative writes into
3136                    the memory-mapped UTLB array. NetBSD/dreamcast now reaches
3137                    userland stably, and prints the "Terminal type?" message :-]
3138                    Implementing enough of the Dreamcast keyboard to make NetBSD
3139                    accept it for input.
3140                    Enabling SuperH for stable (non-development) builds.
3141                    Adding NetBSD/dreamcast to the documentation, although it
3142                    doesn't support root-on-nfs yet.
3143    20061029        Changing usleep(1) calls in the debugger to usleep(10000)
3144                    (according to Brian Foley, this makes GXemul run better on
3145                    MacOS X).
3146                    Making the Maple "Controller" do something (enough to barely
3147                    interact with dcircus.elf).
3148    20061030-31     Some progress on the PVR. More test programs start running (but
3149                    with strange output).
3150                    Various other SH4-related updates.
3151    20061102        Various Dreamcast and SH4 updates; more KOS demos run now.
3152    20061104        Adding a skeleton dev_mb8696x.c (the Dreamcast's LAN adapter).
3153    20061105        Continuing on the MB8696x; NetBSD/dreamcast detects it as mbe0.
3154                    Testing for the release.
3156    ==============  RELEASE 0.4.3  ==============
3158    20061107        Adding a new disk image option (-d o...) which sets the ISO9660
3159                    filesystem base offset; also making some other hacks to allow
3160                    NetBSD/dreamcast and homebrew demos/games to boot directly
3161                    from a filesystem image.
3162                    Moving Dreamcast-specific stuff in the documentation to its
3163                    own page (dreamcast.html).
3164                    Adding a border to the Dreamcast PVR framebuffer.
3165    20061108        Adding a -T command line option (again?), for halting the
3166                    emulator on unimplemented memory accesses.
3167    20061109        Continuing on various SH4 and Dreamcast related things.
3168                    The emulator should now halt on more unimplemented device
3169                    accesses, instead of just printing a warning, forcing me to
3170                    actually implement missing stuff :)
3171    20061111        Continuing on SH4 and Dreamcast stuff.
3172                    Adding a bogus Landisk (SH4) machine mode.
3173    20061112        Implementing some parts of the Dreamcast GDROM device. With
3174                    some ugly hacks, NetBSD can (barely) mount an ISO image.
3175    20061113        NetBSD/dreamcast now starts booting from the Live CD image,
3176                    but crashes randomly quite early on in the boot process.
3177    20061122        Beginning on a skeleton interrupt.h and interrupt.c for the
3178                    new interrupt subsystem.
3179    20061124        Continuing on the new interrupt system; taking the first steps
3180                    to attempt to connect CPUs (SuperH and MIPS) and devices
3181                    (dev_cons and SH4 timer interrupts) to it. Many things will
3182                    probably break from now on.
3183    20061125        Converting dev_ns16550, dev_8253 to the new interrupt system.
3184                    Attempting to begin to convert the ISA bus.
3185    20061130        Incorporating a patch from Brian Foley for the configure
3186                    script, which checks for X11 libs in /usr/X11R6/lib64 (which
3187                    is used on some Linux systems).
3188    20061227        Adding a note in the man page about booting from Dreamcast
3189                    CDROM images (i.e. that no external kernel is needed).
3190    20061229        Continuing on the interrupt system rewrite: beginning to
3191                    convert more devices, adding abort() calls for legacy interrupt
3192                    system calls so that everything now _has_ to be rewritten!
3193                    Almost all machine modes are now completely broken.
3194    20061230        More progress on removing old interrupt code, mostly related
3195                    to the ISA bus + devices, the LCA bus (on AlphaBook1), and
3196                    the Footbridge bus (for CATS). And some minor PCI stuff.
3197                    Connecting the ARM cpu to the new interrupt system.
3198                    The CATS, NetWinder, and QEMU_MIPS machine modes now work with
3199                    the new interrupt system :)
3200    20061231        Connecting PowerPC CPUs to the new interrupt system.
3201                    Making PReP machines (IBM 6050) work again.
3202                    Beginning to convert the GT PCI controller (for e.g. Malta
3203                    and Cobalt emulation). Some things work, but not everything.
3204                    Updating Copyright notices for 2007.
3205    20070101        Converting dev_kn02 from legacy style to devinit; the 3max
3206                    machine mode now works with the new interrupt system :-]
3207    20070105        Beginning to convert the SGI O2 machine to the new interrupt
3208                    system; finally converting O2 (IP32) devices to devinit, etc.
3209    20070106        Continuing on the interrupt system redesign/rewrite; KN01
3210                    (PMAX), KN230, and Dreamcast ASIC interrupts should work again,
3211                    moving out stuff from machine.h and devices.h into the
3212                    corresponding devices, beginning the rewrite of i80321
3213                    interrupts, etc.
3214    20070107        Beginning on the rewrite of Eagle interrupt stuff (PReP, etc).
3215    20070117        Beginning the rewrite of Algor (V3) interrupts (finally
3216                    changing dev_v3 into devinit style).
3217    20070118        Removing the "bus" registry concept from machine.h, because
3218                    it was practically meaningless.
3219                    Continuing on the rewrite of Algor V3 ISA interrupts.
3220    20070121        More work on Algor interrupts; they are now working again,
3221                    well enough to run NetBSD/algor. :-)
3222    20070122        Converting VR41xx (HPCmips) interrupts. NetBSD/hpcmips
3223                    can be installed using the new interrupt system :-)
3224    20070123        Making the testmips mode work with the new interrupt system.
3225    20070127        Beginning to convert DEC5800 devices to devinit, and to the
3226                    new interrupt system.
3227                    Converting Playstation 2 devices to devinit, and converting
3228                    the interrupt system. Also fixing a severe bug: the interrupt
3229                    mask register on Playstation 2 is bitwise _toggled_ on writes.
3230    20070128        Removing the dummy NetGear machine mode and the 8250 device
3231                    (which was only used by the NetGear machine).
3232                    Beginning to convert the MacPPC GC (Grand Central) interrupt
3233                    controller to the new interrupt system.
3234                    Converting Jazz interrupts (PICA61 etc.) to the new interrupt
3235                    system. NetBSD/arc can be installed again :-)
3236                    Fixing the JAZZ timer (hardcoding it at 100 Hz, works with
3237                    NetBSD and it is better than a completely dummy timer as it
3238                    was before).
3239                    Converting dev_mp to the new interrupt system, although I
3240                    haven't had time to actually test it yet.
3241                    Completely removing src/machines/interrupts.c, cpu_interrupt
3242                    and cpu_interrupt_ack in src/cpu.c, and
3243                    src/include/machine_interrupts.h! Adding fatal error messages
3244                    + abort() in the few places that are left to fix.
3245                    Converting dev_z8530 to the new interrupt system.
3246                    FINALLY removing the md_int struct completely from the
3247                    machine struct.
3248                    SH4 fixes (adding a PADDR invalidation in the ITLB replacement
3249                    code in memory_sh.c); the NetBSD/dreamcast LiveCD now runs
3250                    all the way to the login prompt, and can be interacted with :-)
3251                    Converting the CPC700 controller (PCI and interrupt controller
3252                    for PM/PPC) to the new interrupt system.
3253    20070129        Fixing MACE ISA interrupts (SGI IP32 emulation). Both NetBSD/
3254                    sgimips' and OpenBSD/sgi's ramdisk kernels can now be
3255                    interacted with again.
3256    20070130        Moving out the MIPS multi_lw and _sw instruction combinations
3257                    so that they are auto-generated at compile time instead.
3258    20070131        Adding detection of amd64/x86_64 hosts in the configure script,
3259                    for doing initial experiments (again :-) with native code
3260                    generation.
3261                    Adding a -k command line option to set the size of the dyntrans
3262                    cache, and a -B command line option to disable native code
3263                    generation, even if GXemul was compiled with support for
3264                    native code generation for the specific host CPU architecture.
3265    20070201        Experimenting with a skeleton for native code generation.
3266                    Changing the default behaviour, so that native code generation
3267                    is now disabled by default, and has to be enabled by using
3268                    -b on the command line.
3269    20070202        Continuing the native code generation experiments.
3270                    Making PCI interrupts work for Footbridge again.
3271    20070203        More native code generation experiments.
3272                    Removing most of the native code generation experimental code,
3273                    it does not make sense to include any quick hacks like this.
3274                    Minor cleanup/removal of some more legacy MIPS interrupt code.
3275    20070204        Making i80321 interrupts work again (for NetBSD/evbarm etc.),
3276                    and fixing the timer at 100 Hz.
3277    20070206        Experimenting with removing the wdc interrupt slowness hack.
3278    20070207        Lowering the number of dyntrans TLB entries for MIPS from
3279                    192 to 128, resulting in a minor speed improvement.
3280                    Minor optimization to the code invalidation routine in
3281                    cpu_dyntrans.c.
3282    20070208        Increasing (experimentally) the nr of dyntrans instructions per
3283                    loop from 60 to 120.
3284    20070210        Commenting out (experimentally) the dyntrans_device_danger
3285                    detection in memory_rw.c.
3286                    Changing the testmips and baremips machines to use a revision 2
3287                    MIPS64 CPU by default, instead of revision 1.
3288                    Removing the dummy i960, IA64, x86, AVR32, and HP PA-RISC
3289                    files, the PC bios emulation, and the Olivetti M700 (ARC) and
3290                    db64360 emulation modes.
3291    20070211        Adding an "mp" demo to the demos directory, which tests the
3292                    SMP functionality of the testmips machine.
3293                    Fixing PReP interrupts some more. NetBSD/prep now boots again.
3294    20070216        Adding a "nop workaround" for booting Mach/PMAX to the
3295                    documentation; thanks to Artur Bujdoso for the values.
3296                    Converting more of the MacPPC interrupt stuff to the new
3297                    system.
3298                    Beginning to convert BeBox interrupts to the new system.
3299                    PPC603e should NOT have the PPC_NO_DEC flag! Removing it.
3300                    Correcting BeBox clock speed (it was set to 100 in the NetBSD
3301                    bootinfo block, but should be 33000000/4), allowing NetBSD
3302                    to start without using the (incorrect) PPC_NO_DEC hack.
3303    20070217        Implementing (slow) AltiVec vector loads and stores, allowing
3304                    NetBSD/macppc to finally boot using the GENERIC kernel :-)
3305                    Updating the documentation with install instructions for
3306                    NetBSD/macppc.
3307    20070218-19     Regression testing for the release.
3309    ==============  RELEASE 0.4.4  ==============
3311    20070224        Minor update to the initialization of the ns16550 in
3312                    machine_walnut.c, to allow that machine type to boot with the
3313                    new interrupt system (although it is still a dummy machine).
3314                    Adding a wdc at 0x14000000 to machine_landisk.c, and fixing
3315                    the SCIF serial interrupts of the SH4 cpu enough to get
3316                    NetBSD/landisk booting from a disk image :-)  Adding a
3317                    preliminary install instruction skeleton to guestoses.html.
3318    20070306        Adding SH-IPL+G PROM emulation, and also passing the "end"
3319                    symbol in r5 on bootup, for Landisk emulation. This is enough
3320                    to get OpenBSD/landisk to install :)  Adding a preliminary
3321                    install instruction skeleton to the documentation. SuperH
3322                    emulation is still shaky, though :-/
3323    20070307        Fixed a strangeness in memory_sh.c (read/write was never
3324                    returned for any page). (Unknown whether this fixes any actual
3325                    problems, though.)
3326    20070308        dev_ram.c fix: invalidate code translations on writes to
3327                    RAM, emulated as separate devices. Linux/dreamcast gets
3328                    further in the boot process than before, but still bugs out
3329                    in userland.
3330                    Fixing bugs in the "stc.l gbr,@-rN" and "ldc.l @rN+,gbr" SuperH
3331                    instructions (they should NOT check the MD bit), allowing the
3332                    Linux/dreamcast Live CD to reach userland correctly :-)
3333    20070310        Changing the cpu name "Alpha" in src/useremul.c to "21364" to
3334                    unbreak userland syscall emulation of FreeBSD/Alpha binaries.
3335    20070314        Applying a patch from Michael Yaroslavtsev which fixes the
3336                    previous Linux lib64 patch to the configure script.
3337    20070315        Adding a (dummy) sun4v machine type, and SPARC T1 cpu type.
3338    20070316        Creating a new directory, src/disk, and moving diskimage.c
3339                    to it. Separating out bootblock loading stuff from emul.c into
3340                    new files in src/disk.
3341                    Adding some more SPARC registers.
3342    20070318        Preparing/testing for a minirelease,
3344    ==============  RELEASE  ==============
3346    20070324        Adding a "--debug" option to the configure script, to disable
3347                    optimizations in unstable development builds.
3348                    Moving out SCSI-specific stuff from diskimage.c into a new
3349                    diskimage_scsicmd.c.
3350                    Applying Håvard Eidnes' patch for SCSICDROM_READ_DISKINFO and
3351                    SCSICDROM_READ_TRACKINFO. (Not really tested yet.)
3352                    Implementing disk image "overlays" (to allow simple roll-back
3353                    to previous disk state). Adding a 'V' disk flag for this, and
3354                    updating the man page and misc.html.
3355    20070325        Stability fix to cpu_dyntrans.c, when multiple physical pages
3356                    share the same initial table entry. (The ppp == NULL check
3357                    should be physpage_ofs == 0.) Bug found by analysing GXemul
3358                    against a version patched for Godson.
3359                    Fixing a second occurance of the same problem (also in
3360                    cpu_dyntrans.c).
3361                    Fixing a MAJOR physical page leak in cpu_dyntrans.c; pages
3362                    weren't _added_ to the set of translated pages, they _replaced_
3363                    all previous pages. It's amazing that this bug has been able
3364                    to live for this long. (Triggered when emulating >128MB RAM.)
3365    20070326        Removing the GDB debugging stub support; it was too hackish
3366                    and ugly.
3367    20070328        Moving around some native code generation skeleton code.
3368    20070329        The -lm check in the configure script now also checks for sin()
3369                    in addition to sqrt(). (Thanks to Nigel Horne for noticing that
3370                    sqrt was not enough on Fedora Core 6.) (Not verified yet.)
3371    20070330        Fixing an indexing bug in dev_sh4.c, found by using gcc version
3372                    4.3.0 20070323.
3373    20070331        Some more experimentation with native code generation.
3374    20070404        Attempting to fix some more SH4 SCIF interrupt bugs; rewriting
3375                    the SH interrupt assertion/deassertion code somewhat.
3376    20070410        Splitting src/file.c into separate files in src/file/.
3377                    Cleanup: Removing the dummy TS7200, Walnut, PB1000, and
3378                    Meshcube emulation modes, and dev_epcom and dev_au1x00.
3379                    Removing the experimental CHIP8/RCA180x code; it wasn't really
3380                    working much lately, anyway. It was fun while it lasted.
3381                    Also removing the experimental Transputer CPU support.
3382    20070412        Moving the section about how the dynamic translation system
3383                    works from intro.html to a separate translation.html file.
3384                    Minor SH fixes; attempting to get OpenBSD/landisk to run
3385                    without randomly bugging out, but no success yet.
3386    20070413        SH SCI (serial bit interface) should now work together with a
3387                    (new) RS5C313 clock device (for Landisk emulation).
3388    20070414        Moving Redhat/MIPS down from supported to experimental, in
3389                    guestoses.html.
3390                    Preparing for a new release; doing some regression testing etc.
3392    ==============  RELEASE 0.4.5  ==============

Removed from v.20  
changed lines
  Added in v.38

  ViewVC Help
Powered by ViewVC 1.1.26