/[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 32 by dpavlin, Mon Oct 8 16:20:58 2007 UTC revision 40 by dpavlin, Mon Oct 8 16:22:11 2007 UTC
# Line 1  Line 1 
1  $Id: HISTORY,v 1.1421 2006/11/06 05:32:37 debug Exp $  $Id: HISTORY,v 1.1539 2007/05/01 04:03:51 debug Exp $
2    
3  Changelog for GXemul:  Changelog for GXemul:
4  ---------------------  ---------------------
# Line 3140  Changelog for GXemul: Line 3140  Changelog for GXemul:
3140                  Enabling SuperH for stable (non-development) builds.                  Enabling SuperH for stable (non-development) builds.
3141                  Adding NetBSD/dreamcast to the documentation, although it                  Adding NetBSD/dreamcast to the documentation, although it
3142                  doesn't support root-on-nfs yet.                  doesn't support root-on-nfs yet.
3143  20061029        Changing usleep(1) calls in the debugger to to usleep(10000)  20061029        Changing usleep(1) calls in the debugger to usleep(10000)
3144                  (according to Brian Foley, this makes GXemul run better on                  (according to Brian Foley, this makes GXemul run better on
3145                  MacOS X).                  MacOS X).
3146                  Making the Maple "Controller" do something (enough to barely                  Making the Maple "Controller" do something (enough to barely
# Line 3155  Changelog for GXemul: Line 3155  Changelog for GXemul:
3155    
3156  ==============  RELEASE 0.4.3  ==============  ==============  RELEASE 0.4.3  ==============
3157    
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.
3308    
3309    ==============  RELEASE 0.4.4  ==============
3310    
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, 0.4.4.1.
3343    
3344    ==============  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    

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

  ViewVC Help
Powered by ViewVC 1.1.26