/[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 40 by dpavlin, Mon Oct 8 16:22:11 2007 UTC revision 44 by dpavlin, Mon Oct 8 16:22:56 2007 UTC
# Line 1  Line 1 
1  $Id: HISTORY,v 1.1539 2007/05/01 04:03:51 debug Exp $  $Id: HISTORY,v 1.1632 2007/09/11 21:46:35 debug Exp $
2    
3  Changelog for GXemul:  Changelog for GXemul:
4  ---------------------  ---------------------
# Line 3461  Changelog for GXemul: Line 3461  Changelog for GXemul:
3461    
3462  ==============  RELEASE 0.4.5.1  ==============  ==============  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    
3614    20070616        Implementing the MIPS32/64 revision 2 "ror" instruction.
3615    20070617        Adding a struct for each physpage which keeps track of which
3616                    ranges within that page (base offset, length) that are
3617                    continuously translatable. When running with native code
3618                    generation enabled (-b), a range is added after each read-
3619                    ahead loop.
3620                    Experimenting with using the physical program counter sample
3621                    data (implemented 20070608) together with the "translatable
3622                    range" information, to figure out which physical address ranges
3623                    would be worth translating to native code (if the number of
3624                    samples falling within a range is above a certain threshold).
3625    20070618        Adding automagic building of .index comment files for
3626                    src/file/, src/promemul/, src src/useremul/ as well.
3627                    Adding a "has been translated" bit to the ranges, so that only
3628                    not-yet-translated ranges will be sampled.
3629    20070619        Moving src/cpu.c and src/memory_rw.c into src/cpus/,
3630                    src/device.c into src/devices/, and src/machine.c into
3631                    src/machines/.
3632                    Creating a skeleton cc/ld native backend module; beginning on
3633                    the function which will detect cc command line, etc.
3634    20070620        Continuing on the native code generation infrastructure.
3635    20070621        Moving src/x11.c and src/console.c into a new src/console/
3636                    subdir (for everything that is console or framebuffer related).
3637                    Moving src/symbol*.c into a new src/symbol/, which should
3638                    contain anything that is symbol handling related.
3639    20070624        Making the program counter sampling threshold a "settings
3640                    variable" (sampling_threshold), i.e. it can now be changed
3641                    during runtime.
3642                    Switching the RELEASE notes format from plain text to HTML.
3643                    If the TMPDIR environment variable is set, it is used instead
3644                    of "/tmp" for temporary files.
3645                    Continuing on the cc/ld backend: simple .c code is generated,
3646                    the compiler and linker are called, etc.
3647                    Adding detection of host architecture to the configure script
3648                    (again), and adding icache invalidation support (only
3649                    implemented for Alpha hosts so far).
3650    20070625        Simplifying the program counter sampling mechanism.
3651    20070626        Removing the cc/ld native code generation stuff, program
3652                    counter sampling, etc; it would not have worked well in the
3653                    general case.
3654    20070627        Removing everything related to native code generation.
3655    20070629        Removing the (practically unusable) support for multiple
3656                    emulations. (The single emulation allowed now still supports
3657                    multiple simultaneous machines, as before.)
3658                    Beginning on PCCTWO and M88K interrupts.
3659    20070723        Adding a dummy skeleton for emulation of M32R processors.
3660    20070901        Fixing a warning found by "gcc version 4.3.0 20070817
3661                    (experimental)" on amd64.
3662    20070905        Removing some more traces of the old "multiple emulations"
3663                    code.
3664                    Also looking in /usr/local/include and /usr/local/lib for
3665                    X11 libs, when running configure.
3666    20070909        Minor updates to the guest OS install instructions, in
3667                    preparation for the NetBSD 4.0 release.
3668    20070918        More testing of NetBSD 4.0 RC1.

Legend:
Removed from v.40  
changed lines
  Added in v.44

  ViewVC Help
Powered by ViewVC 1.1.26