/[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 36 by dpavlin, Mon Oct 8 16:21:34 2007 UTC revision 42 by dpavlin, Mon Oct 8 16:22:32 2007 UTC
# Line 1  Line 1 
1  $Id: HISTORY,v 1.1497 2007/03/18 03:41:36 debug Exp $  $Id: HISTORY,v 1.1613 2007/06/15 20:11:26 debug Exp $
2    
3  Changelog for GXemul:  Changelog for GXemul:
4  ---------------------  ---------------------
# Line 3343  Changelog for GXemul: Line 3343  Changelog for GXemul:
3343    
3344  ==============  RELEASE 0.4.4.1  ==============  ==============  RELEASE 0.4.4.1  ==============
3345    
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.
3391    
3392    ==============  RELEASE 0.4.5  ==============
3393    
3394    20070415        Landisk PCLOCK should be 33.33 MHz, not 50 MHz. (This makes
3395                    the clock run at correct speed.)
3396                    FINALLY found and fixed the bug which caused OpenBSD/landisk
3397                    to randomly bug out: an &-sign was missing in the special case
3398                    handling of FPSCR in the 'LDS.L @Rm+,FPSCR' instruction.
3399                    Adding similar special case handling for 'LDC.L @Rm+,SR'
3400                    (calling sh_update_sr() instead of just loading).
3401                    Implementing the 'FCNVSD FPUL,DRn' and 'FCNVDS DRm,FPUL'
3402                    SuperH instructions.
3403                    The 'LDC Rm,SR' instruction now immediately breaks out of the
3404                    dyntrans loop if an interrupt is to be triggered.
3405    20070416        In memory_rw.c, if mapping a page as writable, make sure to
3406                    invalidate code translations even if the data access was a
3407                    read.
3408                    Minor SuperH updates.
3409    20070418        Removing the dummy M68K emulation mode.
3410                    Minor SH update (turning unnecessary sts_mach_rn, sts_macl_rn,
3411                    and sts_pr_rn instruction handlers into mov_rm_rn).
3412    20070419        Beginning to add a skeleton for an M88K mode: Adding a hack to
3413                    allow OpenBSD/m88k a.out binaries to be loaded, and disassembly
3414                    of a few simple 88K instructions.
3415                    Commenting out the 'LDC Rm,SR' fix from a few days ago, because
3416                    it made Linux/dreamcast bug out.
3417                    Adding a hack to dev_sh4.c (an extra translation cache
3418                    invalidation), which allows OpenBSD/landisk to boot ok after
3419                    an install. Upgrading the Landisk machine mode to stable,
3420                    updating documentation, etc.
3421    20070420        Experimenting with adding a PCI controller (pcic) to dev_sh4.
3422                    Adding a dummy Realtek 8139C+ skeleton device (dev_rtl8139c).
3423                    Implementing the first M88K instructions (br, or[.u] imm), and
3424                    adding disassembly of some more instructions.
3425    20070421        Continuing a little on dev_rtl8139c.
3426    20070422        Implementing the 9346 EEPROM "read" command for dev_rtl8139c.
3427                    Finally found and fixed an old bug in the log n symbol search
3428                    (it sometimes missed symbols). Debug trace (-i, -t etc) should
3429                    now show more symbols. :-)
3430    20070423        Continuing a little on M88K disassembly.
3431    20070428        Fixing a memset arg order bug in src/net/net.c (thanks to
3432                    Nigel Horne for noticing the bug).
3433                    Applying parts of a patch from Carl van Schaik to clear out
3434                    bottom bits of MIPS addresses more correctly, when using large
3435                    page sizes, and doing some other minor cleanup/refactoring.
3436                    Fixing a couple of warnings given by gcc with the -W option (a
3437                    few more warnings than just plain -Wall).
3438                    Reducing SuperH dyntrans physical address space from 64-bit to
3439                    32-bit (since SH5/SH64 isn't imlemented yet anyway).
3440                    Adding address-to-symbol annotation to a few more instructions
3441                    in the SuperH instruction trace output.
3442                    Beginning regression testing for the next release.
3443                    Reverting the value of SCIF_DELAYED_TX_VALUE from 1 to 2,
3444                    because OpenBSD/landisk may otherwise hang randomly.
3445    20070429        The ugly hack/workaround to get OpenBSD/landisk booting without
3446                    crashing does NOT work anymore (with the April 21 snapshot
3447                    of OpenBSD/landisk). Strangely enough, removing the hack
3448                    completely causes OpenBSD/landisk to work (!).
3449                    More regression testing (re-testing everything SuperH-related,
3450                    and some other things).
3451                    Cobalt interrupts were actually broken; fixing by commenting
3452                    out the DEC21143s in the Cobalt machine.
3453    20070430        More regression testing.
3454    20070501        Updating the OpenBSD/landisk install instructions to use
3455                    4.1 instead of the current snapshot.
3456                    GAAAH! OpenBSD/landisk 4.1 _needs_ the ugly hack/workaround;
3457                    reintroducing it again. (The 4.1 kernel is actually from
3458                    2007-03-11.)
3459                    Simplifying the NetBSD/evbarm install instructions a bit.
3460                    More regression testing.
3461    
3462    ==============  RELEASE 0.4.5.1  ==============
3463    
3464    20070501        Continuing a little on m88k disassembly (control registers,
3465                    more instructions).
3466                    Adding a dummy mvme88k machine mode.
3467    20070502        Re-adding MIPS load/store alignment exceptions.
3468    20070503        Implementing more of the M88K disassembly code.
3469    20070504        Adding disassembly of some more M88K load/store instructions.
3470                    Implementing some relatively simple M88K instructions (br.n,
3471                    xor[.u] imm, and[.u] imm).
3472    20070505        Implementing M88K three-register and, or, xor, and jmp[.n],
3473                    bsr[.n] including function call trace stuff.
3474                    Applying a patch from Bruce M. Simpson which implements the
3475                    SYSCON_BOARD_CPU_CLOCK_FREQ_ID object of the syscon call in
3476                    the yamon PROM emulation.
3477    20070506        Implementing M88K bb0[.n] and bb1[.n], and skeletons for
3478                    ldcr and stcr (although no control regs are implemented yet).
3479    20070509        Found and fixed the bug which caused Linux for QEMU_MIPS to
3480                    stop working in 0.4.5.1: It was a faulty change to the MIPS
3481                    'sc' and 'scd' instructions I made while going through gcc -W
3482                    warnings on 20070428.
3483    20070510        Updating the Linux/QEMU_MIPS section in guestoses.html to
3484                    use mips-test-0.2.tar.gz instead of 0.1.
3485                    A big thank you to Miod Vallat for sending me M88K manuals.
3486                    Implementing more M88K instructions (addu, subu, div[u], mulu,
3487                    ext[u], clr, set, cmp).
3488    20070511        Fixing bugs in the M88K "and" and "and.u" instructions (found
3489                    by comparing against the manual).
3490                    Implementing more M88K instructions (mask[.u], mak, bcnd (auto-
3491                    generated)) and some more control register details.
3492                    Cleanup: Removing the experimental AVR emulation mode and
3493                    corresponding devices; AVR emulation wasn't really meaningful.
3494                    Implementing autogeneration of most M88K loads/stores. The
3495                    rectangle drawing demo (with -O0) for M88K runs :-)
3496                    Beginning on M88K exception handling.
3497                    More M88K instructions: tb0, tb1, rte, sub, jsr[.n].
3498                    Adding some skeleton MVME PROM ("BUG") emulation.
3499    20070512        Fixing a bug in the M88K cmp instruction.
3500                    Adding the M88K lda (scaled register) instruction.
3501                    Fixing bugs in 64-bit (32-bit pairs) M88K loads/stores.
3502                    Removing the unused tick_hz stuff from the machine struct.
3503                    Implementing the M88K xmem instruction. OpenBSD/mvme88k gets
3504                    far enough to display the Copyright banner :-)
3505                    Implementing subu.co (guess), addu.co, addu.ci, ff0, and ff1.
3506                    Adding a dev_mvme187, for MVME187-specific devices/registers.
3507                    OpenBSD/mvme88k prints more boot messages. :)
3508    20070515        Continuing on MVME187 emulation (adding more devices, beginning
3509                    on the CMMUs, etc).
3510                    Adding the M88K and.c, xor.c, and or.c instructions, and making
3511                    sure that mul, div, etc cause exceptions if executed when SFD1
3512                    is disabled.
3513    20070517        Continuing on M88K and MVME187 emulation in general; moving
3514                    the CMMU registers to the CPU struct, separating dev_pcc2 from
3515                    dev_mvme187, and beginning on memory_m88k.c (BATC and PATC).
3516                    Fixing a bug in 64-bit (32-bit pairs) M88K fast stores.
3517                    Implementing the clock part of dev_mk48txx.
3518                    Implementing the M88K fstcr and xcr instructions.
3519                    Implementing m88k_cpu_tlbdump().
3520                    Beginning on the implementation of a separate address space
3521                    for M88K .usr loads/stores.
3522    20070520        Removing the non-working (skeleton) Sandpoint, SonyNEWS, SHARK
3523                    Dnard, and Zaurus machine modes.
3524                    Experimenting with dyntrans to_be_translated read-ahead. It
3525                    seems to give a very small performance increase for MIPS
3526                    emulation, but a large performance degradation for SuperH. Hm.
3527    20070522        Disabling correct SuperH ITLB emulation; it does not seem to be
3528                    necessary in order to let SH4 guest OSes run, and it slows down
3529                    userspace code.
3530                    Implementing "samepage" branches for SuperH emulation, and some
3531                    other minor speed hacks.
3532    20070525        Continuing on M88K memory-related stuff: exceptions, memory
3533                    transaction register contents, etc.
3534                    Implementing the M88K subu.ci instruction.
3535                    Removing the non-working (skeleton) Iyonix machine mode.
3536                    OpenBSD/mvme88k reaches userland :-), starts executing
3537                    /sbin/init's instructions, and issues a few syscalls, before
3538                    crashing.
3539    20070526        Fixing bugs in dev_mk48txx, so that OpenBSD/mvme88k detects
3540                    the correct time-of-day.
3541                    Implementing a generic IRQ controller for the test machines
3542                    (dev_irqc), similar to a proposed patch from Petr Stepan.
3543                    Experimenting some more with translation read-ahead.
3544                    Adding an "expect" script for automated OpenBSD/landisk
3545                    install regression/performance tests.
3546    20070527        Adding a dummy mmEye (SH3) machine mode skeleton.
3547                    FINALLY found the strange M88K bug I have been hunting: I had
3548                    not emulated the SNIP value for exceptions occurring in
3549                    branch delay slots correctly.
3550                    Implementing correct exceptions for 64-bit M88K loads/stores.
3551                    Address to symbol lookups are now disabled when M88K is
3552                    running in usermode (because usermode addresses don't have
3553                    anything to do with supervisor addresses).
3554    20070531        Removing the mmEye machine mode skeleton.
3555    20070604        Some minor code cleanup.
3556    20070605        Moving src/useremul.c into a subdir (src/useremul/), and
3557                    cleaning up some more legacy constructs.
3558                    Adding -Wstrict-aliasing and -fstrict-aliasing detection to
3559                    the configure script.
3560    20070606        Adding a check for broken GCC on Solaris to the configure
3561                    script. (GCC 3.4.3 on Solaris cannot handle static variables
3562                    which are initialized to 0 or NULL. :-/)
3563                    Removing the old (non-working) ARC emulation modes: NEC RD94,
3564                    R94, R96, and R98, and the last traces of Olivetti M700 and
3565                    Deskstation Tyne.
3566                    Removing the non-working skeleton WDSC device (dev_wdsc).
3567    20070607        Thinking about how to use the host's cc + ld at runtime to
3568                    generate native code. (See experiments/native_cc_ld_test.i
3569                    for an example.)
3570    20070608        Adding a program counter sampling timer, which could be useful
3571                    for native code generation experiments.
3572                    The KN02_CSR_NRMMOD bit in the DECstation 5000/200 (KN02) CSR
3573                    should always be set, to allow a 5000/200 PROM to boot.
3574    20070609        Moving out breakpoint details from the machine struct into
3575                    a helper struct, and removing the limit on max nr of
3576                    breakpoints.
3577    20070610        Moving out tick functions into a helper struct as well (which
3578                    also gets rid of the max limit).
3579    20070612        FINALLY figured out why Debian/DECstation stopped working when
3580                    translation read-ahead was enabled: in src/memory_rw.c, the
3581                    call to invalidate_code_translation was made also if the
3582                    memory access was an instruction load (if the page was mapped
3583                    as writable); it shouldn't be called in that case.
3584    20070613        Implementing some more MIPS32/64 revision 2 instructions: di,
3585                    ei, ext, dext, dextm, dextu, and ins.
3586    20070614        Implementing an instruction combination for the NetBSD/arm
3587                    idle loop (making the host not use any cpu if NetBSD/arm
3588                    inside the emulator is not using any cpu).
3589                    Increasing the nr of ARM VPH entries from 128 to 384.
3590    20070615        Removing the ENABLE_arch stuff from the configure script, so
3591                    that all included architectures are included in both release
3592                    and development builds.
3593                    Moving memory related helper functions from misc.c to memory.c.
3594                    Adding preliminary instructions for netbooting NetBSD/pmppc to
3595                    guestoses.html; it doesn't work yet, there are weird timeouts.
3596                    Beginning a total rewrite of the userland emulation modes
3597                    (removing all emulation modes, beginning from scratch with
3598                    NetBSD/MIPS and FreeBSD/Alpha only).
3599    20070616        After fixing a bug in the DEC21143 NIC (the TDSTAT_OWN bit was
3600                    only cleared for the last segment when transmitting, not all
3601                    segments), NetBSD/pmppc boots with root-on-nfs without the
3602                    timeouts. Updating guestoses.html.
3603                    Removing the skeleton PSP (Playstation Portable) mode.
3604                    Moving X11-related stuff in the machine struct into a helper
3605                    struct.
3606                    Cleanup of out-of-memory checks, to use a new CHECK_ALLOCATION
3607                    macro (which prints a meaningful error message).
3608                    Adding a COMMENT to each machine and device (for automagic
3609                    .index comment generation).
3610                    Doing regression testing for the next release.
3611    
3612    ==============  RELEASE 0.4.6  ==============
3613    

Legend:
Removed from v.36  
changed lines
  Added in v.42

  ViewVC Help
Powered by ViewVC 1.1.26