--- trunk/HISTORY 2007/10/08 16:19:56 24 +++ trunk/HISTORY 2007/10/08 16:20:40 30 @@ -1,4 +1,4 @@ -$Id: HISTORY,v 1.1256 2006/06/23 20:43:44 debug Exp $ +$Id: HISTORY,v 1.1325 2006/08/15 15:38:37 debug Exp $ Changelog for GXemul: --------------------- @@ -2803,3 +2803,137 @@ ============== RELEASE 0.4.0 ============== +20060624 Replacing the error-prone machine type initialization stuff + with something more reasonable. + Finally removing the old "cpu_run" kludge; moving around stuff + in machine.c and emul.c to better suit the dyntrans system. + Various minor dyntrans cleanups (renaming translate_address to + translate_v2p, and experimenting with template physpages). +20060625 Removing the speed hack which separated the vph entries into + two halves (code vs data); things seem a lot more stable now. + Minor performance hack: R2000/R3000 cache isolation now only + clears address translations when going into isolation, not + when going out of it. + Fixing the MIPS interrupt problems by letting mtc0 immediately + cause interrupts. + +============== RELEASE 0.4.0.1 ============== + +20060626 Continuing on SPARC emulation (beginning on the 'save' + instruction, register windows, etc). +20060629 Planning statistics gathering (new -s command line option), + and renaming speed_tricks to allow_instruction_combinations. +20060630 Some minor manual page updates. + Various cleanups. + Implementing the -s command line option. +20060701 FINALLY found the bug which prevented Linux and Ultrix from + running without the ugly hack in the R2000/R3000 cache isol + code; it was the phystranslation hint array which was buggy. + Removing the phystranslation hint code completely, for now. +20060702 Minor dyntrans cleanups; invalidation of physpages now only + invalidate those parts of a page that have actually been + translated. (32 parts per page.) + Some MIPS non-R3000 speed fixes. + Experimenting with MIPS instruction combination for some + addiu+bne+sw loops, and sw+sw+sw. + Adding support (again) for larger-than-4KB pages in MIPS tlbw*. + Continuing on SPARC emulation: adding load/store instructions. +20060704 Fixing a virtual vs physical page shift bug in the new tlbw* + implementation. Problem noticed by Jakub Jermar. (Many thanks.) + Moving rfe and eret to cpu_mips_instr.c, since that is the + only place that uses them nowadays. +20060705 Removing the BSD license from the "testmachine" include files, + placing them in the public domain instead; this enables the + testmachine stuff to be used from projects which are + incompatible with the BSD license for some reason. +20060707 Adding instruction combinations for the R2000/R3000 L1 + I-cache invalidation code used by NetBSD/pmax 3.0, lui+addiu, + various branches followed by addiu or nop, and jr ra followed + by addiu. The time it takes to perform a full NetBSD/pmax R3000 + install on the laptop has dropped from 573 seconds to 539. :-) +20060708 Adding a framebuffer controller device (dev_fbctrl), which so + far can be used to change the fb resolution during runtime, but + in the future will also be useful for accelerated block fill/ + copy, and possibly also simplified character output. + Adding an instruction combination for NetBSD/pmax' strlen. +20060709 Minor fixes: reading raw files in src/file.c wasn't memblock + aligned, removing buggy multi_sw MIPS instruction combination, + etc. +20060711 Adding a machine_qemu.c, which contains a "qemu_mips" machine. + (It mimics QEMU's MIPS machine mode, so that a test kernel + made for QEMU_MIPS also can run in GXemul... at least to some + extent.) Adding a short section about how to run this mode to + doc/guestoses.html. +20060714 Misc. minor code cleanups. +20060715 Applying a patch which adds getchar() to promemul/yamon.c + (from Oleksandr Tymoshenko). + Adding yamon.h from NetBSD, and rewriting yamon.c to use it + (instead of ugly hardcoded numbers) + some cleanup. +20060716 Found and fixed the bug which broke single-stepping of 64-bit + programs between 0.4.0 and 0.4.0.1 (caused by too quick + refactoring and no testing). Hopefully this fix will not + break too many other things. +20060718 Continuing on the 8253 PIT; it now works with Linux/QEMU_MIPS. + Re-adding the sw+sw+sw instr comb (the problem was that I had + ignored endian issues); however, it doesn't seem to give any + big performance gain. +20060720 Adding a dummy Transputer mode (T414, T800 etc) skeleton (only + the 'j' and 'ldc' instructions are implemented so far). :-} +20060721 Adding gtreg.h from NetBSD, updating dev_gt.c to use it, plus + misc. other updates to get Linux 2.6 for evbmips/malta working + (thanks to Alec Voropay for the details). + FINALLY found and fixed the bug which made tlbw* for non-R3000 + buggy; it was a reference count problem in the dyntrans core. +20060722 Testing stuff; things seem stable enough for a new release. + +============== RELEASE 0.4.1 ============== + +20060723 More Transputer instructions (pfix, nfix, opr, mint, ldl, ldlp, + eqc, rev, ajw, stl, stlf, sthf, sub, ldnl, ldnlp, ldpi, move, + wcnt, add, bcnt). + Adding more SPARC instructions (andcc, addcc, bl, rdpr). + Progress on the igsfb framebuffer used by NetBSD/netwinder. + Enabling 8-bit fills in dev_fb. + NetBSD/netwinder 3.0.1 can now run from a disk image :-) +20060724 Cleanup/performance fix for 64-bit virtual translation table + updates (by removing the "timestamp" stuff). A full NetBSD/pmax + 3.0.1 install for R4400 has dropped from 667 seconds to 584 :) + Fixing the igsfb "almost vga" color (it is 24-bit, not 18-bit). + Adding some MIPS instruction combinations (3*lw, and 3*addu). + The 8048 keyboard now turns off interrupt enable between the + KBR_ACK and the KBR_RSTDONE, to work better with Linux 2.6. + Not causing PPC DEC interrupts if PPC_NO_DEC is set for a + specific CPU; NetBSD/bebox gets slightly further than before. + Adding some more SPARC instructions: branches, udiv. +20060725 Refreshing dev_pckbc.c a little. + Cleanups for the SH emulation mode, and adding the first + "compact" (16-bit) instructions: various simple movs, nop, + shll, stc, or, ldc. +20060726 Adding dummy "pcn" (AMD PCnet NIC) PCI glue. +20060727 Various cleanups; removing stuff from cpu.h, such as + running_translated (not really meaningful anymore), and + page flags (breaking into the debugger clears all translations + anyway). + Minor MIPS instruction combination updates. +20060807 Expanding the 3*sw and 3*lw MIPS instruction combinations to + work with 2* and 4* too, resulting in a minor performance gain. + Implementing a usleep hack for the RM52xx/MIPS32/MIPS64 "wait" + instruction (when emulating 1 cpu). +20060808 Experimenting with some more MIPS instruction combinations. + Implementing support for showing a (hardcoded 12x22) text + cursor in igsfb. +20060809 Simplifying the NetBSD/evbmips (Malta) install instructions + somewhat (by using a NetBSD/pmax ramdisk install kernel). +20060812 Experimenting more with the MIPS 'wait' instruction. + PCI configuration register writes can now be handled, which + allow PCI IDE controllers to work with NetBSD/Malta 3.0.1 and + NetBSD/cobalt 3.0.1. (Previously only NetBSD 2.1 worked.) +20060813 Updating dev_gt.c based on numbers from Alec Voropay, to enable + Linux 2.6 to use PCI on Malta. + Continuing on Algor interrupt stuff. +20060814 Adding support for routing ISA interrupts to two different + interrupts, making it possible to run NetBSD/algor :-) +20060814-15 Testing for the release. + +============== RELEASE 0.4.2 ============== +