1 |
$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 $ |
2 |
|
|
3 |
Changelog for GXemul: |
Changelog for GXemul: |
4 |
--------------------- |
--------------------- |
2803 |
|
|
2804 |
============== RELEASE 0.4.0 ============== |
============== RELEASE 0.4.0 ============== |
2805 |
|
|
2806 |
|
20060624 Replacing the error-prone machine type initialization stuff |
2807 |
|
with something more reasonable. |
2808 |
|
Finally removing the old "cpu_run" kludge; moving around stuff |
2809 |
|
in machine.c and emul.c to better suit the dyntrans system. |
2810 |
|
Various minor dyntrans cleanups (renaming translate_address to |
2811 |
|
translate_v2p, and experimenting with template physpages). |
2812 |
|
20060625 Removing the speed hack which separated the vph entries into |
2813 |
|
two halves (code vs data); things seem a lot more stable now. |
2814 |
|
Minor performance hack: R2000/R3000 cache isolation now only |
2815 |
|
clears address translations when going into isolation, not |
2816 |
|
when going out of it. |
2817 |
|
Fixing the MIPS interrupt problems by letting mtc0 immediately |
2818 |
|
cause interrupts. |
2819 |
|
|
2820 |
|
============== RELEASE 0.4.0.1 ============== |
2821 |
|
|
2822 |
|
20060626 Continuing on SPARC emulation (beginning on the 'save' |
2823 |
|
instruction, register windows, etc). |
2824 |
|
20060629 Planning statistics gathering (new -s command line option), |
2825 |
|
and renaming speed_tricks to allow_instruction_combinations. |
2826 |
|
20060630 Some minor manual page updates. |
2827 |
|
Various cleanups. |
2828 |
|
Implementing the -s command line option. |
2829 |
|
20060701 FINALLY found the bug which prevented Linux and Ultrix from |
2830 |
|
running without the ugly hack in the R2000/R3000 cache isol |
2831 |
|
code; it was the phystranslation hint array which was buggy. |
2832 |
|
Removing the phystranslation hint code completely, for now. |
2833 |
|
20060702 Minor dyntrans cleanups; invalidation of physpages now only |
2834 |
|
invalidate those parts of a page that have actually been |
2835 |
|
translated. (32 parts per page.) |
2836 |
|
Some MIPS non-R3000 speed fixes. |
2837 |
|
Experimenting with MIPS instruction combination for some |
2838 |
|
addiu+bne+sw loops, and sw+sw+sw. |
2839 |
|
Adding support (again) for larger-than-4KB pages in MIPS tlbw*. |
2840 |
|
Continuing on SPARC emulation: adding load/store instructions. |
2841 |
|
20060704 Fixing a virtual vs physical page shift bug in the new tlbw* |
2842 |
|
implementation. Problem noticed by Jakub Jermar. (Many thanks.) |
2843 |
|
Moving rfe and eret to cpu_mips_instr.c, since that is the |
2844 |
|
only place that uses them nowadays. |
2845 |
|
20060705 Removing the BSD license from the "testmachine" include files, |
2846 |
|
placing them in the public domain instead; this enables the |
2847 |
|
testmachine stuff to be used from projects which are |
2848 |
|
incompatible with the BSD license for some reason. |
2849 |
|
20060707 Adding instruction combinations for the R2000/R3000 L1 |
2850 |
|
I-cache invalidation code used by NetBSD/pmax 3.0, lui+addiu, |
2851 |
|
various branches followed by addiu or nop, and jr ra followed |
2852 |
|
by addiu. The time it takes to perform a full NetBSD/pmax R3000 |
2853 |
|
install on the laptop has dropped from 573 seconds to 539. :-) |
2854 |
|
20060708 Adding a framebuffer controller device (dev_fbctrl), which so |
2855 |
|
far can be used to change the fb resolution during runtime, but |
2856 |
|
in the future will also be useful for accelerated block fill/ |
2857 |
|
copy, and possibly also simplified character output. |
2858 |
|
Adding an instruction combination for NetBSD/pmax' strlen. |
2859 |
|
20060709 Minor fixes: reading raw files in src/file.c wasn't memblock |
2860 |
|
aligned, removing buggy multi_sw MIPS instruction combination, |
2861 |
|
etc. |
2862 |
|
20060711 Adding a machine_qemu.c, which contains a "qemu_mips" machine. |
2863 |
|
(It mimics QEMU's MIPS machine mode, so that a test kernel |
2864 |
|
made for QEMU_MIPS also can run in GXemul... at least to some |
2865 |
|
extent.) Adding a short section about how to run this mode to |
2866 |
|
doc/guestoses.html. |
2867 |
|
20060714 Misc. minor code cleanups. |
2868 |
|
20060715 Applying a patch which adds getchar() to promemul/yamon.c |
2869 |
|
(from Oleksandr Tymoshenko). |
2870 |
|
Adding yamon.h from NetBSD, and rewriting yamon.c to use it |
2871 |
|
(instead of ugly hardcoded numbers) + some cleanup. |
2872 |
|
20060716 Found and fixed the bug which broke single-stepping of 64-bit |
2873 |
|
programs between 0.4.0 and 0.4.0.1 (caused by too quick |
2874 |
|
refactoring and no testing). Hopefully this fix will not |
2875 |
|
break too many other things. |
2876 |
|
20060718 Continuing on the 8253 PIT; it now works with Linux/QEMU_MIPS. |
2877 |
|
Re-adding the sw+sw+sw instr comb (the problem was that I had |
2878 |
|
ignored endian issues); however, it doesn't seem to give any |
2879 |
|
big performance gain. |
2880 |
|
20060720 Adding a dummy Transputer mode (T414, T800 etc) skeleton (only |
2881 |
|
the 'j' and 'ldc' instructions are implemented so far). :-} |
2882 |
|
20060721 Adding gtreg.h from NetBSD, updating dev_gt.c to use it, plus |
2883 |
|
misc. other updates to get Linux 2.6 for evbmips/malta working |
2884 |
|
(thanks to Alec Voropay for the details). |
2885 |
|
FINALLY found and fixed the bug which made tlbw* for non-R3000 |
2886 |
|
buggy; it was a reference count problem in the dyntrans core. |
2887 |
|
20060722 Testing stuff; things seem stable enough for a new release. |
2888 |
|
|
2889 |
|
============== RELEASE 0.4.1 ============== |
2890 |
|
|
2891 |
|
20060723 More Transputer instructions (pfix, nfix, opr, mint, ldl, ldlp, |
2892 |
|
eqc, rev, ajw, stl, stlf, sthf, sub, ldnl, ldnlp, ldpi, move, |
2893 |
|
wcnt, add, bcnt). |
2894 |
|
Adding more SPARC instructions (andcc, addcc, bl, rdpr). |
2895 |
|
Progress on the igsfb framebuffer used by NetBSD/netwinder. |
2896 |
|
Enabling 8-bit fills in dev_fb. |
2897 |
|
NetBSD/netwinder 3.0.1 can now run from a disk image :-) |
2898 |
|
20060724 Cleanup/performance fix for 64-bit virtual translation table |
2899 |
|
updates (by removing the "timestamp" stuff). A full NetBSD/pmax |
2900 |
|
3.0.1 install for R4400 has dropped from 667 seconds to 584 :) |
2901 |
|
Fixing the igsfb "almost vga" color (it is 24-bit, not 18-bit). |
2902 |
|
Adding some MIPS instruction combinations (3*lw, and 3*addu). |
2903 |
|
The 8048 keyboard now turns off interrupt enable between the |
2904 |
|
KBR_ACK and the KBR_RSTDONE, to work better with Linux 2.6. |
2905 |
|
Not causing PPC DEC interrupts if PPC_NO_DEC is set for a |
2906 |
|
specific CPU; NetBSD/bebox gets slightly further than before. |
2907 |
|
Adding some more SPARC instructions: branches, udiv. |
2908 |
|
20060725 Refreshing dev_pckbc.c a little. |
2909 |
|
Cleanups for the SH emulation mode, and adding the first |
2910 |
|
"compact" (16-bit) instructions: various simple movs, nop, |
2911 |
|
shll, stc, or, ldc. |
2912 |
|
20060726 Adding dummy "pcn" (AMD PCnet NIC) PCI glue. |
2913 |
|
20060727 Various cleanups; removing stuff from cpu.h, such as |
2914 |
|
running_translated (not really meaningful anymore), and |
2915 |
|
page flags (breaking into the debugger clears all translations |
2916 |
|
anyway). |
2917 |
|
Minor MIPS instruction combination updates. |
2918 |
|
20060807 Expanding the 3*sw and 3*lw MIPS instruction combinations to |
2919 |
|
work with 2* and 4* too, resulting in a minor performance gain. |
2920 |
|
Implementing a usleep hack for the RM52xx/MIPS32/MIPS64 "wait" |
2921 |
|
instruction (when emulating 1 cpu). |
2922 |
|
20060808 Experimenting with some more MIPS instruction combinations. |
2923 |
|
Implementing support for showing a (hardcoded 12x22) text |
2924 |
|
cursor in igsfb. |
2925 |
|
20060809 Simplifying the NetBSD/evbmips (Malta) install instructions |
2926 |
|
somewhat (by using a NetBSD/pmax ramdisk install kernel). |
2927 |
|
20060812 Experimenting more with the MIPS 'wait' instruction. |
2928 |
|
PCI configuration register writes can now be handled, which |
2929 |
|
allow PCI IDE controllers to work with NetBSD/Malta 3.0.1 and |
2930 |
|
NetBSD/cobalt 3.0.1. (Previously only NetBSD 2.1 worked.) |
2931 |
|
20060813 Updating dev_gt.c based on numbers from Alec Voropay, to enable |
2932 |
|
Linux 2.6 to use PCI on Malta. |
2933 |
|
Continuing on Algor interrupt stuff. |
2934 |
|
20060814 Adding support for routing ISA interrupts to two different |
2935 |
|
interrupts, making it possible to run NetBSD/algor :-) |
2936 |
|
20060814-15 Testing for the release. |
2937 |
|
|
2938 |
|
============== RELEASE 0.4.2 ============== |
2939 |
|
|