1 |
$Id: HISTORY,v 1.905 2005/08/16 09:16:24 debug Exp $ |
$Id: HISTORY,v 1.1004 2005/10/27 14:01:10 debug Exp $ |
2 |
|
|
3 |
Changelog for GXemul: |
Changelog for GXemul: |
4 |
--------------------- |
--------------------- |
2194 |
|
|
2195 |
============== RELEASE 0.3.5 ============== |
============== RELEASE 0.3.5 ============== |
2196 |
|
|
2197 |
|
20050816 Some success in decoding the way the SGI O2 PROM draws graphics |
2198 |
|
during bootup; lines/rectangles and bitmaps work, enough to |
2199 |
|
show the bootlogo etc. :-) |
2200 |
|
Adding more PPC instructions, and (dummy) BAT registers. |
2201 |
|
20050817 Updating the pckbc to support scancode type 3 keyboards |
2202 |
|
(required in order to interact with the SGI O2 PROM). |
2203 |
|
Adding more PPC instructions. |
2204 |
|
20050818 Adding more ARM instructions; general register forms. |
2205 |
|
Importing armreg.h from NetBSD (ARM cpu ids). Adding a (dummy) |
2206 |
|
CATS machine mode (using SA110 as the default CPU). |
2207 |
|
Continuing on general dyntrans related stuff. |
2208 |
|
20050819 Register forms for ARM load/stores. Gaah! The Compaq C Compiler |
2209 |
|
bug is triggered for ARM loads as well, not just PPC :-( |
2210 |
|
Adding full support for ARM PC-relative load/stores, and load/ |
2211 |
|
stores where the PC register is the destination register. |
2212 |
|
Adding support for ARM a.out binaries. |
2213 |
|
20050820 Continuing to add more ARM instructions, and correcting some |
2214 |
|
bugs. Continuing on CATS emulation. |
2215 |
|
More work on the PPC stuff. |
2216 |
|
20050821 Minor PPC and ARM updates. Adding more machine types. |
2217 |
|
20050822 All ARM "data processing instructions" are now generated |
2218 |
|
automatically. |
2219 |
|
20050824 Beginning the work on the ARM system control coprocessor. |
2220 |
|
Adding support for ARM halfword load/stores, and signed loads. |
2221 |
|
20050825 Fixing an important bug related to the ARM condition codes. |
2222 |
|
OpenBSD/zaurus and NetBSD/netwinder now print some boot |
2223 |
|
messages. :) |
2224 |
|
Adding a dummy SH (Hitachi SuperH) cpu family. |
2225 |
|
Beginning to add some ARM virtual address translation. |
2226 |
|
MIPS bugfixes: unaligned PC now cause an ADEL exception (at |
2227 |
|
least for non-bintrans execution), and ADEL/ADES (not |
2228 |
|
TLBL/TLBS) are used if userland tries to access kernel space. |
2229 |
|
(Thanks to Joshua Wise for making me aware of these bugs.) |
2230 |
|
20050827 More work on the ARM emulation, and various other updates. |
2231 |
|
20050828 More ARM updates. |
2232 |
|
Finally taking the time to work on translation invalidation |
2233 |
|
(i.e. invalidating translated code mappings when memory is |
2234 |
|
written to). Hopefully this doesn't break anything. |
2235 |
|
20050829 Moving CPU related files from src/ to a new subdir, src/cpus/. |
2236 |
|
Moving PROM emulation stuff from src/ to src/promemul/. |
2237 |
|
Better debug instruction trace for ARM loads and stores. |
2238 |
|
20050830 Various ARM updates (correcting CMP flag calculation, etc). |
2239 |
|
20050831 PPC instruction updates. (Flag fixes, etc.) |
2240 |
|
20050901 Various minor PPC and ARM instruction emulation updates. |
2241 |
|
Minor OpenFirmware emulation updates. |
2242 |
|
20050903 Adding support for adding arbitrary ARM coprocessors (with |
2243 |
|
the i80321 I/O coprocessor as a first test). |
2244 |
|
Various other ARM and PPC updates. |
2245 |
|
20050904 Adding some SHcompact disassembly routines. |
2246 |
|
20050907 (Re)adding a dummy HPPA CPU module, and a dummy i960 module. |
2247 |
|
20050908 Began hacking on some Apple Partition Table support. |
2248 |
|
20050909 Adding support for loading Mach-O (Darwin PPC) binaries. |
2249 |
|
20050910 Fixing an ARM bug (Carry flag was incorrectly updated for some |
2250 |
|
data processing instructions); OpenBSD/cats and NetBSD/ |
2251 |
|
netwinder get quite a bit further now. |
2252 |
|
Applying a patch to dev_wdc, and a one-liner to dev_pcic, to |
2253 |
|
make them work better when emulating new versions of OpenBSD. |
2254 |
|
(Thanks to Alexander Yurchenko for the patches.) |
2255 |
|
Also doing some other minor updates to dev_wdc. (Some cleanup, |
2256 |
|
and finally converting to devinit, etc.) |
2257 |
|
20050912 IRIX doesn't have u_int64_t by default (noticed by Andreas |
2258 |
|
<avr@gnulinux.nl>); configure updated to reflect this. |
2259 |
|
Working on ARM register bank switching, CPSR vs SPSR issues, |
2260 |
|
and beginning the work on interrupt/exception support. |
2261 |
|
20050913 Various minor ARM updates (speeding up load/store multiple, |
2262 |
|
and fixing a ROR bug in R(); NetBSD/cats now boots as far as |
2263 |
|
OpenBSD/cats). |
2264 |
|
20050917 Adding a dummy Atmel AVR (8-bit) cpu family skeleton. |
2265 |
|
20050918 Various minor updates. |
2266 |
|
20050919 Symbols are now loaded from Mach-O executables. |
2267 |
|
Continuing the work on adding ARM exception support. |
2268 |
|
20050920 More work on ARM stuff: OpenBSD/cats and NetBSD/cats reach |
2269 |
|
userland! :-) |
2270 |
|
20050921 Some more progress on ARM interrupt specifics. |
2271 |
|
20050923 Fixing linesize for VR4121 (patch by Yurchenko). Also fixing |
2272 |
|
linesizes/cachesizes for some other VR4xxx. |
2273 |
|
Adding a dummy Acer Labs M1543 PCI-ISA bridge (for CATS) and a |
2274 |
|
dummy Symphony Labs 83C553 bridge (for Netwinder), usable by |
2275 |
|
dev_footbridge. |
2276 |
|
20050924 Some PPC progress. |
2277 |
|
20050925 More PPC progress. |
2278 |
|
20050926 PPC progress (fixing some bugs etc); Darwin's kernel gets |
2279 |
|
slightly further than before. |
2280 |
|
20050928 Various updates: footbridge/ISA/pciide stuff, and finally |
2281 |
|
fixing the VGA text scroll-by-changing-the-base-offset bug. |
2282 |
|
20050930 Adding a dummy S3 ViRGE pci card for CATS emulation, which |
2283 |
|
both NetBSD and OpenBSD detects as VGA. |
2284 |
|
Continuing on Footbridge (timers, ISA interrupt stuff). |
2285 |
|
20051001 Continuing... there are still bugs, probably interrupt- |
2286 |
|
related. |
2287 |
|
20051002 More work on the Footbridge (interrupt stuff). |
2288 |
|
20051003 Various minor updates. (Trying to find the bug(s).) |
2289 |
|
20051004 Continuing on the ARM stuff. |
2290 |
|
20051005 More ARM-related fixes. |
2291 |
|
20051007 FINALLY! Found and fixed 2 ARM bugs: 1 memory related, and the |
2292 |
|
other was because of an error in the ARM manual (load multiple |
2293 |
|
with the S-bit set should _NOT_ load usermode registers, as the |
2294 |
|
manual says, but it should load saved registers, which may or |
2295 |
|
may not happen to be usermode registers). |
2296 |
|
NetBSD/cats and OpenBSD/cats seem to install fine now :-) |
2297 |
|
except for a minor bug at the end of the OpenBSD/cats install. |
2298 |
|
Updating the documentation, preparing for the next release. |
2299 |
|
20051008 Continuing with release testing and cleanup. |
2300 |
|
|
2301 |
|
============== RELEASE 0.3.6 ============== |
2302 |
|
|
2303 |
|
20051008 The bug was not because of faulty ARM documentation after all, |
2304 |
|
but it was related to those parts of the code. |
2305 |
|
Fixing the RTC (dev_mc146818) to work with CATS. |
2306 |
|
20051009 Rewriting the R() function; now there are 8192 automatically |
2307 |
|
generated smaller functions doing the same thing, but hopefully |
2308 |
|
faster. This also fixes some bugs which were triggered when |
2309 |
|
trying to compile GXemul inside itself. :-) |
2310 |
|
Adding a dummy dev_lpt. |
2311 |
|
20051010 Small hack to not update virtual translation tables if memory |
2312 |
|
accesses are done with the NO_EXCEPTION flag; a time reduction |
2313 |
|
of almost a factor 2 for a full NetBSD/cats install. :-) |
2314 |
|
20051011 Passing -A as the default boot arg for CATS (works fine with |
2315 |
|
OpenBSD/cats). |
2316 |
|
|
2317 |
|
============== RELEASE 0.3.6.1 ============== |
2318 |
|
|
2319 |
|
20051012 Fixing the VGA cursor offset bug, and speeding up framebuffer |
2320 |
|
redraws if character cells contain the same thing as during |
2321 |
|
the last redraw. |
2322 |
|
20051013 Adding a slow strd ARM instruction hack. |
2323 |
|
20051017 Minor updates: Adding a dummy i80321 Verde controller (for |
2324 |
|
XScale emulation), fixing the disassembly of the ARM "ldrd" |
2325 |
|
instruction, adding "support" for less-than-4KB pages for ARM |
2326 |
|
(by not adding them to translation tables). |
2327 |
|
20051020 Continuing on some HPCarm stuff. A NetBSD/hpcarm kernel prints |
2328 |
|
some boot messages on an emulated Jornada 720. |
2329 |
|
Making dev_ram work better with dyntrans (speeds up some things |
2330 |
|
quite a bit). |
2331 |
|
20051021 Automatically generating some of the most common ARM load/store |
2332 |
|
multiple instructions. |
2333 |
|
20051022 Better statistics gathering for the ARM load/store multiple. |
2334 |
|
Various other dyntrans and device updates. |
2335 |
|
20051023 Various minor updates. |
2336 |
|
20051024 Continuing; minor device and dyntrans fine-tuning. Adding the |
2337 |
|
first "reasonable" instruction combination hacks for ARM (the |
2338 |
|
cores of NetBSD/cats' memset and memcpy). |
2339 |
|
20051025 Fixing a dyntrans-related bug in dev_vga. Also changing the |
2340 |
|
dyntrans low/high access notification to only be updated on |
2341 |
|
writes, not reads. Hopefully it will be enough. (dev_vga in |
2342 |
|
charcell mode now seems to work correctly with both reads and |
2343 |
|
writes.) |
2344 |
|
Experimenting with gathering dyntrans statistics (which parts |
2345 |
|
of emulated RAM that are actually executed), and adding |
2346 |
|
instruction combination hacks for cache cleaning and a part of |
2347 |
|
NetBSD's scanc() function. |
2348 |
|
20051026 Adding a bitmap for ARM emulation which indicates if a page is |
2349 |
|
(specifically) user accessible; loads and stores with the t- |
2350 |
|
flag set can now use the translation arrays, which results in |
2351 |
|
a measurable speedup. |
2352 |
|
20051027 Dyntrans updates; adding an extra bitmap array for 32-bit |
2353 |
|
emulation modes, speeding up the check whether a physical page |
2354 |
|
has any code translations or not (O(n) -> O(1)). Doing a |
2355 |
|
similar reduction of O(n) to O(1) by avoiding the scan through |
2356 |
|
the translation entries on a translation update (32-bit mode |
2357 |
|
only). |
2358 |
|
Various other minor hacks. |
2359 |
|
20051029 Quick release, without any testing at all. |
2360 |
|
|
2361 |
|
============== RELEASE 0.3.6.2 ============== |
2362 |
|
|