/[gxemul]/trunk/HISTORY
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 22 by dpavlin, Mon Oct 8 16:19:37 2007 UTC revision 24 by dpavlin, Mon Oct 8 16:19:56 2007 UTC
# Line 1  Line 1 
1  $Id: HISTORY,v 1.1121 2006/02/18 21:03:08 debug Exp $  $Id: HISTORY,v 1.1256 2006/06/23 20:43:44 debug Exp $
2    
3  Changelog for GXemul:  Changelog for GXemul:
4  ---------------------  ---------------------
# Line 2574  Changelog for GXemul: Line 2574  Changelog for GXemul:
2574    
2575  ==============  RELEASE 0.3.8  ==============  ==============  RELEASE 0.3.8  ==============
2576    
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.)
2803    
2804    ==============  RELEASE 0.4.0  ==============
2805    

Legend:
Removed from v.22  
changed lines
  Added in v.24

  ViewVC Help
Powered by ViewVC 1.1.26