--- trunk/HISTORY 2007/10/08 16:20:58 32 +++ trunk/HISTORY 2007/10/08 16:21:53 38 @@ -1,4 +1,4 @@ -$Id: HISTORY,v 1.1421 2006/11/06 05:32:37 debug Exp $ +$Id: HISTORY,v 1.1515 2007/04/14 05:39:46 debug Exp $ Changelog for GXemul: --------------------- @@ -3140,7 +3140,7 @@ Enabling SuperH for stable (non-development) builds. Adding NetBSD/dreamcast to the documentation, although it doesn't support root-on-nfs yet. -20061029 Changing usleep(1) calls in the debugger to to usleep(10000) +20061029 Changing usleep(1) calls in the debugger to usleep(10000) (according to Brian Foley, this makes GXemul run better on MacOS X). Making the Maple "Controller" do something (enough to barely @@ -3155,3 +3155,239 @@ ============== RELEASE 0.4.3 ============== +20061107 Adding a new disk image option (-d o...) which sets the ISO9660 + filesystem base offset; also making some other hacks to allow + NetBSD/dreamcast and homebrew demos/games to boot directly + from a filesystem image. + Moving Dreamcast-specific stuff in the documentation to its + own page (dreamcast.html). + Adding a border to the Dreamcast PVR framebuffer. +20061108 Adding a -T command line option (again?), for halting the + emulator on unimplemented memory accesses. +20061109 Continuing on various SH4 and Dreamcast related things. + The emulator should now halt on more unimplemented device + accesses, instead of just printing a warning, forcing me to + actually implement missing stuff :) +20061111 Continuing on SH4 and Dreamcast stuff. + Adding a bogus Landisk (SH4) machine mode. +20061112 Implementing some parts of the Dreamcast GDROM device. With + some ugly hacks, NetBSD can (barely) mount an ISO image. +20061113 NetBSD/dreamcast now starts booting from the Live CD image, + but crashes randomly quite early on in the boot process. +20061122 Beginning on a skeleton interrupt.h and interrupt.c for the + new interrupt subsystem. +20061124 Continuing on the new interrupt system; taking the first steps + to attempt to connect CPUs (SuperH and MIPS) and devices + (dev_cons and SH4 timer interrupts) to it. Many things will + probably break from now on. +20061125 Converting dev_ns16550, dev_8253 to the new interrupt system. + Attempting to begin to convert the ISA bus. +20061130 Incorporating a patch from Brian Foley for the configure + script, which checks for X11 libs in /usr/X11R6/lib64 (which + is used on some Linux systems). +20061227 Adding a note in the man page about booting from Dreamcast + CDROM images (i.e. that no external kernel is needed). +20061229 Continuing on the interrupt system rewrite: beginning to + convert more devices, adding abort() calls for legacy interrupt + system calls so that everything now _has_ to be rewritten! + Almost all machine modes are now completely broken. +20061230 More progress on removing old interrupt code, mostly related + to the ISA bus + devices, the LCA bus (on AlphaBook1), and + the Footbridge bus (for CATS). And some minor PCI stuff. + Connecting the ARM cpu to the new interrupt system. + The CATS, NetWinder, and QEMU_MIPS machine modes now work with + the new interrupt system :) +20061231 Connecting PowerPC CPUs to the new interrupt system. + Making PReP machines (IBM 6050) work again. + Beginning to convert the GT PCI controller (for e.g. Malta + and Cobalt emulation). Some things work, but not everything. + Updating Copyright notices for 2007. +20070101 Converting dev_kn02 from legacy style to devinit; the 3max + machine mode now works with the new interrupt system :-] +20070105 Beginning to convert the SGI O2 machine to the new interrupt + system; finally converting O2 (IP32) devices to devinit, etc. +20070106 Continuing on the interrupt system redesign/rewrite; KN01 + (PMAX), KN230, and Dreamcast ASIC interrupts should work again, + moving out stuff from machine.h and devices.h into the + corresponding devices, beginning the rewrite of i80321 + interrupts, etc. +20070107 Beginning on the rewrite of Eagle interrupt stuff (PReP, etc). +20070117 Beginning the rewrite of Algor (V3) interrupts (finally + changing dev_v3 into devinit style). +20070118 Removing the "bus" registry concept from machine.h, because + it was practically meaningless. + Continuing on the rewrite of Algor V3 ISA interrupts. +20070121 More work on Algor interrupts; they are now working again, + well enough to run NetBSD/algor. :-) +20070122 Converting VR41xx (HPCmips) interrupts. NetBSD/hpcmips + can be installed using the new interrupt system :-) +20070123 Making the testmips mode work with the new interrupt system. +20070127 Beginning to convert DEC5800 devices to devinit, and to the + new interrupt system. + Converting Playstation 2 devices to devinit, and converting + the interrupt system. Also fixing a severe bug: the interrupt + mask register on Playstation 2 is bitwise _toggled_ on writes. +20070128 Removing the dummy NetGear machine mode and the 8250 device + (which was only used by the NetGear machine). + Beginning to convert the MacPPC GC (Grand Central) interrupt + controller to the new interrupt system. + Converting Jazz interrupts (PICA61 etc.) to the new interrupt + system. NetBSD/arc can be installed again :-) + Fixing the JAZZ timer (hardcoding it at 100 Hz, works with + NetBSD and it is better than a completely dummy timer as it + was before). + Converting dev_mp to the new interrupt system, although I + haven't had time to actually test it yet. + Completely removing src/machines/interrupts.c, cpu_interrupt + and cpu_interrupt_ack in src/cpu.c, and + src/include/machine_interrupts.h! Adding fatal error messages + + abort() in the few places that are left to fix. + Converting dev_z8530 to the new interrupt system. + FINALLY removing the md_int struct completely from the + machine struct. + SH4 fixes (adding a PADDR invalidation in the ITLB replacement + code in memory_sh.c); the NetBSD/dreamcast LiveCD now runs + all the way to the login prompt, and can be interacted with :-) + Converting the CPC700 controller (PCI and interrupt controller + for PM/PPC) to the new interrupt system. +20070129 Fixing MACE ISA interrupts (SGI IP32 emulation). Both NetBSD/ + sgimips' and OpenBSD/sgi's ramdisk kernels can now be + interacted with again. +20070130 Moving out the MIPS multi_lw and _sw instruction combinations + so that they are auto-generated at compile time instead. +20070131 Adding detection of amd64/x86_64 hosts in the configure script, + for doing initial experiments (again :-) with native code + generation. + Adding a -k command line option to set the size of the dyntrans + cache, and a -B command line option to disable native code + generation, even if GXemul was compiled with support for + native code generation for the specific host CPU architecture. +20070201 Experimenting with a skeleton for native code generation. + Changing the default behaviour, so that native code generation + is now disabled by default, and has to be enabled by using + -b on the command line. +20070202 Continuing the native code generation experiments. + Making PCI interrupts work for Footbridge again. +20070203 More native code generation experiments. + Removing most of the native code generation experimental code, + it does not make sense to include any quick hacks like this. + Minor cleanup/removal of some more legacy MIPS interrupt code. +20070204 Making i80321 interrupts work again (for NetBSD/evbarm etc.), + and fixing the timer at 100 Hz. +20070206 Experimenting with removing the wdc interrupt slowness hack. +20070207 Lowering the number of dyntrans TLB entries for MIPS from + 192 to 128, resulting in a minor speed improvement. + Minor optimization to the code invalidation routine in + cpu_dyntrans.c. +20070208 Increasing (experimentally) the nr of dyntrans instructions per + loop from 60 to 120. +20070210 Commenting out (experimentally) the dyntrans_device_danger + detection in memory_rw.c. + Changing the testmips and baremips machines to use a revision 2 + MIPS64 CPU by default, instead of revision 1. + Removing the dummy i960, IA64, x86, AVR32, and HP PA-RISC + files, the PC bios emulation, and the Olivetti M700 (ARC) and + db64360 emulation modes. +20070211 Adding an "mp" demo to the demos directory, which tests the + SMP functionality of the testmips machine. + Fixing PReP interrupts some more. NetBSD/prep now boots again. +20070216 Adding a "nop workaround" for booting Mach/PMAX to the + documentation; thanks to Artur Bujdoso for the values. + Converting more of the MacPPC interrupt stuff to the new + system. + Beginning to convert BeBox interrupts to the new system. + PPC603e should NOT have the PPC_NO_DEC flag! Removing it. + Correcting BeBox clock speed (it was set to 100 in the NetBSD + bootinfo block, but should be 33000000/4), allowing NetBSD + to start without using the (incorrect) PPC_NO_DEC hack. +20070217 Implementing (slow) AltiVec vector loads and stores, allowing + NetBSD/macppc to finally boot using the GENERIC kernel :-) + Updating the documentation with install instructions for + NetBSD/macppc. +20070218-19 Regression testing for the release. + +============== RELEASE 0.4.4 ============== + +20070224 Minor update to the initialization of the ns16550 in + machine_walnut.c, to allow that machine type to boot with the + new interrupt system (although it is still a dummy machine). + Adding a wdc at 0x14000000 to machine_landisk.c, and fixing + the SCIF serial interrupts of the SH4 cpu enough to get + NetBSD/landisk booting from a disk image :-) Adding a + preliminary install instruction skeleton to guestoses.html. +20070306 Adding SH-IPL+G PROM emulation, and also passing the "end" + symbol in r5 on bootup, for Landisk emulation. This is enough + to get OpenBSD/landisk to install :) Adding a preliminary + install instruction skeleton to the documentation. SuperH + emulation is still shaky, though :-/ +20070307 Fixed a strangeness in memory_sh.c (read/write was never + returned for any page). (Unknown whether this fixes any actual + problems, though.) +20070308 dev_ram.c fix: invalidate code translations on writes to + RAM, emulated as separate devices. Linux/dreamcast gets + further in the boot process than before, but still bugs out + in userland. + Fixing bugs in the "stc.l gbr,@-rN" and "ldc.l @rN+,gbr" SuperH + instructions (they should NOT check the MD bit), allowing the + Linux/dreamcast Live CD to reach userland correctly :-) +20070310 Changing the cpu name "Alpha" in src/useremul.c to "21364" to + unbreak userland syscall emulation of FreeBSD/Alpha binaries. +20070314 Applying a patch from Michael Yaroslavtsev which fixes the + previous Linux lib64 patch to the configure script. +20070315 Adding a (dummy) sun4v machine type, and SPARC T1 cpu type. +20070316 Creating a new directory, src/disk, and moving diskimage.c + to it. Separating out bootblock loading stuff from emul.c into + new files in src/disk. + Adding some more SPARC registers. +20070318 Preparing/testing for a minirelease, 0.4.4.1. + +============== RELEASE 0.4.4.1 ============== + +20070324 Adding a "--debug" option to the configure script, to disable + optimizations in unstable development builds. + Moving out SCSI-specific stuff from diskimage.c into a new + diskimage_scsicmd.c. + Applying Håvard Eidnes' patch for SCSICDROM_READ_DISKINFO and + SCSICDROM_READ_TRACKINFO. (Not really tested yet.) + Implementing disk image "overlays" (to allow simple roll-back + to previous disk state). Adding a 'V' disk flag for this, and + updating the man page and misc.html. +20070325 Stability fix to cpu_dyntrans.c, when multiple physical pages + share the same initial table entry. (The ppp == NULL check + should be physpage_ofs == 0.) Bug found by analysing GXemul + against a version patched for Godson. + Fixing a second occurance of the same problem (also in + cpu_dyntrans.c). + Fixing a MAJOR physical page leak in cpu_dyntrans.c; pages + weren't _added_ to the set of translated pages, they _replaced_ + all previous pages. It's amazing that this bug has been able + to live for this long. (Triggered when emulating >128MB RAM.) +20070326 Removing the GDB debugging stub support; it was too hackish + and ugly. +20070328 Moving around some native code generation skeleton code. +20070329 The -lm check in the configure script now also checks for sin() + in addition to sqrt(). (Thanks to Nigel Horne for noticing that + sqrt was not enough on Fedora Core 6.) (Not verified yet.) +20070330 Fixing an indexing bug in dev_sh4.c, found by using gcc version + 4.3.0 20070323. +20070331 Some more experimentation with native code generation. +20070404 Attempting to fix some more SH4 SCIF interrupt bugs; rewriting + the SH interrupt assertion/deassertion code somewhat. +20070410 Splitting src/file.c into separate files in src/file/. + Cleanup: Removing the dummy TS7200, Walnut, PB1000, and + Meshcube emulation modes, and dev_epcom and dev_au1x00. + Removing the experimental CHIP8/RCA180x code; it wasn't really + working much lately, anyway. It was fun while it lasted. + Also removing the experimental Transputer CPU support. +20070412 Moving the section about how the dynamic translation system + works from intro.html to a separate translation.html file. + Minor SH fixes; attempting to get OpenBSD/landisk to run + without randomly bugging out, but no success yet. +20070413 SH SCI (serial bit interface) should now work together with a + (new) RS5C313 clock device (for Landisk emulation). +20070414 Moving Redhat/MIPS down from supported to experimental, in + guestoses.html. + Preparing for a new release; doing some regression testing etc. + +============== RELEASE 0.4.5 ============== +