/[gxemul]/trunk/RELEASE
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/RELEASE

Parent Directory Parent Directory | Revision Log Revision Log


Revision 14 - (show annotations)
Mon Oct 8 16:18:51 2007 UTC (16 years, 5 months ago) by dpavlin
File size: 7579 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.982 2005/10/07 22:45:32 debug Exp $
20050816	Some success in decoding the way the SGI O2 PROM draws graphics
		during bootup; lines/rectangles and bitmaps work, enough to
		show the bootlogo etc. :-)
		Adding more PPC instructions, and (dummy) BAT registers.
20050817	Updating the pckbc to support scancode type 3 keyboards
		(required in order to interact with the SGI O2 PROM).
		Adding more PPC instructions.
20050818	Adding more ARM instructions; general register forms.
		Importing armreg.h from NetBSD (ARM cpu ids). Adding a (dummy)
		CATS machine mode (using SA110 as the default CPU).
		Continuing on general dyntrans related stuff.
20050819	Register forms for ARM load/stores. Gaah! The Compaq C Compiler
		bug is triggered for ARM loads as well, not just PPC :-(
		Adding full support for ARM PC-relative load/stores, and load/
		stores where the PC register is the destination register.
		Adding support for ARM a.out binaries.
20050820	Continuing to add more ARM instructions, and correcting some
		bugs. Continuing on CATS emulation.
		More work on the PPC stuff.
20050821	Minor PPC and ARM updates. Adding more machine types.
20050822	All ARM "data processing instructions" are now generated
		automatically.
20050824	Beginning the work on the ARM system control coprocessor.
		Adding support for ARM halfword load/stores, and signed loads.
20050825	Fixing an important bug related to the ARM condition codes.
		OpenBSD/zaurus and NetBSD/netwinder now print some boot
		messages. :)
		Adding a dummy SH (Hitachi SuperH) cpu family.
		Beginning to add some ARM virtual address translation.
		MIPS bugfixes: unaligned PC now cause an ADEL exception (at
		least for non-bintrans execution), and ADEL/ADES (not
		TLBL/TLBS) are used if userland tries to access kernel space.
		(Thanks to Joshua Wise for making me aware of these bugs.)
20050827	More work on the ARM emulation, and various other updates.
20050828	More ARM updates.
		Finally taking the time to work on translation invalidation
		(i.e. invalidating translated code mappings when memory is
		written to). Hopefully this doesn't break anything.
20050829	Moving CPU related files from src/ to a new subdir, src/cpus/.
		Moving PROM emulation stuff from src/ to src/promemul/.
		Better debug instruction trace for ARM loads and stores.
20050830	Various ARM updates (correcting CMP flag calculation, etc).
20050831	PPC instruction updates. (Flag fixes, etc.)
20050901	Various minor PPC and ARM instruction emulation updates.
		Minor OpenFirmware emulation updates.
20050903	Adding support for adding arbitrary ARM coprocessors (with
		the i80321 I/O coprocessor as a first test).
		Various other ARM and PPC updates.
20050904	Adding some SHcompact disassembly routines.
20050907	(Re)adding a dummy HPPA CPU module, and a dummy i960 module.
20050908	Began hacking on some Apple Partition Table support.
20050909	Adding support for loading Mach-O (Darwin PPC) binaries.
20050910	Fixing an ARM bug (Carry flag was incorrectly updated for some
		data processing instructions); OpenBSD/cats and NetBSD/
		netwinder get quite a bit further now.
		Applying a patch to dev_wdc, and a one-liner to dev_pcic, to
		make them work better when emulating new versions of OpenBSD.
		(Thanks to Alexander Yurchenko for the patches.)
		Also doing some other minor updates to dev_wdc. (Some cleanup,
		and finally converting to devinit, etc.)
20050912	IRIX doesn't have u_int64_t by default (noticed by Andreas
		<avr@gnulinux.nl>); configure updated to reflect this.
		Working on ARM register bank switching, CPSR vs SPSR issues,
		and beginning the work on interrupt/exception support.
20050913	Various minor ARM updates (speeding up load/store multiple,
		and fixing a ROR bug in R(); NetBSD/cats now boots as far as
		OpenBSD/cats).
20050917	Adding a dummy Atmel AVR (8-bit) cpu family skeleton.
20050918	Various minor updates.
20050919	Symbols are now loaded from Mach-O executables.
		Continuing the work on adding ARM exception support.
20050920	More work on ARM stuff: OpenBSD/cats and NetBSD/cats reach
		userland! :-)
20050921	Some more progress on ARM interrupt specifics.
20050923	Fixing linesize for VR4121 (patch by Yurchenko). Also fixing
		linesizes/cachesizes for some other VR4xxx.
		Adding a dummy Acer Labs M1543 PCI-ISA bridge (for CATS) and a
		dummy Symphony Labs 83C553 bridge (for Netwinder), usable by 
		dev_footbridge.
20050924	Some PPC progress.
20050925	More PPC progress.
20050926	PPC progress (fixing some bugs etc); Darwin's kernel gets
		slightly further than before.
20050928	Various updates: footbridge/ISA/pciide stuff, and finally
		fixing the VGA text scroll-by-changing-the-base-offset bug.
20050930	Adding a dummy S3 ViRGE pci card for CATS emulation, which
		both NetBSD and OpenBSD detects as VGA.
		Continuing on Footbridge (timers, ISA interrupt stuff).
20051001	Continuing... there are still bugs, probably interrupt-
		related.
20051002	More work on the Footbridge (interrupt stuff).
20051003	Various minor updates. (Trying to find the bug(s).)
20051004	Continuing on the ARM stuff.
20051005	More ARM-related fixes.
20051007	FINALLY! Found and fixed 2 ARM bugs: 1 memory related, and the
		other was because of an error in the ARM manual (load multiple
		with the S-bit set should _NOT_ load usermode registers, as the
		manual says, but it should load saved registers, which may or
		may not happen to be usermode registers).
		NetBSD/cats and OpenBSD/cats seem to install fine now :-)
		except for a minor bug at the end of the OpenBSD/cats install.
		Updating the documentation, preparing for the next release.
20051008	Continuing with release testing and cleanup.

1 Release notes for Gavare's eXperimental Emulator (GXemul), 0.3.6
2 ================================================================
3
4 Copyright (C) 2003-2005 Anders Gavare.
5
6
7 GXemul is an experimental instruction-level machine emulator. Several
8 emulation modes are available. In some modes, processors and surrounding
9 hardware components are emulated well enough to let unmodified operating
10 systems (e.g. NetBSD) run as if they were running on a real machine.
11
12 The processor architecture best emulated by GXemul is MIPS, but other
13 architectures are also partially emulated.
14
15 I have verified that the following "guest" operating systems can run inside
16 the emulator:
17
18 Guest operating system Emulated machine
19 ---------------------- ----------------
20 NetBSD/pmax 2.0.2 (and 1.6.2) DECstation 5000/200
21 OpenBSD/pmax 2.8-BETA DECstation 5000/200
22 Ultrix 4.2-4.5 DECstation 5000/200
23 Sprite demo harddisk image DECstation 5000/200
24 Debian GNU/Linux for DECstation DECstation 5000/200
25 Redhat Linux 7.1 for mips DECstation 5000/200
26 NetBSD/arc 1.6.2 Acer PICA-61
27 OpenBSD/arc 2.3 Acer PICA-61
28 NetBSD/hpcmips 2.0.2 NEC MobilePro 770, 780, 800, 880
29 NetBSD/cobalt 2.0.2 Cobalt
30 NetBSD/evbmips 2.0.2 Malta 5Kc/4Kc evaluation board
31 NetBSD/sgimips 2.0.2 SGI O2 ("IP32")
32 NetBSD/cats 2.0.2 CATS (ARM)
33 OpenBSD/cats 3.7 CATS (ARM)
34
35 (Most of these are MIPS-based machines, except the CATS, which is an
36 ARM-based machine.)
37
38 Some of these guest operating systems are easier to install and run than
39 others. The best supported mode is the DECstation 5000/200 emulation mode,
40 with NetBSD/pmax as the guest operating system.
41
42 A couple of other emulation modes exist. Some of these modes are almost
43 working well enough to run complete guest operating systems, but most are
44 just skeletons. The modes that work are listed in the documentation.
45
46 The emulator can also be used in other experiments; it does not have to run
47 entire guest operating systems. (However, GXemul does not simulate things
48 smaller than an instruction. What this means is that pipe-line stalls,
49 penalties caused by branch-prediction misses or cache misses, and other
50 micro-architectural effects are not simulated.)
51
52 The most imporant user-visible change between release 0.3.5 and 0.3.6 is:
53
54 (X) The experimental ARM emulation mode is now working well enough
55 to install NetBSD/cats and OpenBSD/cats onto harddisk images.
56
57 There are two minor issues with the ARM emulation:
58
59 1) A bug is triggered at the end of the OpenBSD/cats installation,
60 so the MAKEDEV script must be run manually before booting for
61 the first time.
62
63 2) I have not had time to do any performance optimizations yet, so
64 the ARM emulation mode is not very fast.
65
66 There have also been lots of other small changes, too small to mention here.
67
68 Files included in this release are:
69
70 BUGS A list of known bugs.
71 HISTORY Detailed revision history / changelog.
72 LICENSE Copyright message / license.
73 README Quick start instructions, for the impatient.
74 RELEASE This file.
75 TODO TODO notes.
76 configure, Makefile.skel sh and make scripts for building GXemul.
77 doc Documentation.
78 experiments Experimental code. (Usually not needed.)
79 src Source code.
80
81 To build the emulator, run the ./configure script, and then run make.
82
83 Building the emulator should work on most Unix-like systems. (One system which
84 is specifically known to NOT work is Ultrix/RISC inside the emulator; Ultrix
85 chokes on the configure script and the default cc in Ultrix doesn't work.)
86
87 Regarding files in the src/include/ directory: only some of these are written
88 by me, the rest are from other sources (such as NetBSD). The license text says
89 that "All advertising materials mentioning features or use of this software"
90 must display acknowledgements. Even though I do NOT feel I mention features or
91 use of the header files (the "software") in any advertising materials, I am
92 still very grateful for the fact that these people have made their files
93 available for re-use, so regardless of legal requirements, I guess thanking
94 them like this is in order:
95
96 This product includes software developed by the University of
97 California, Berkeley and its contributors.
98
99 This product includes software developed for the
100 NetBSD Project. See http://www.netbsd.org/ for
101 information about NetBSD.
102
103 This product includes software developed by Jonathan Stone for
104 the NetBSD Project.
105
106 This product includes software developed for the NetBSD Project
107 by Matthias Drochner.
108
109 This product includes software developed by the NetBSD
110 Foundation, Inc. and its contributors.
111
112 This product includes software developed by Christopher G. Demetriou.
113 [for the NetBSD Project.]
114
115 This product includes software developed by Adam Glass.
116
117 This product includes software developed by the PocketBSD project
118 and its contributors.
119
120 This product includes software developed by Peter Galbavy.
121
122 Carnegie Mellon University (multiple header files,
123 no specific advertisement text required)
124
125 This product includes software developed by Charles M. Hannum.
126
127 This product includes software developed under OpenBSD by Per Fogelström.
128
129 This product includes software developed by Per Fogelström.
130
131 This product includes software developed at Ludd, University of
132 Luleå, Sweden and its contributors.
133
134 This product includes software developed by Hellmuth Michaelis
135 and Joerg Wunsch
136
137 The font(s) in devices/fonts are Copyright (c) 1992, 1993, 1994
138 by Hellmuth Michaelis and Joerg Wunsch. ("This product includes software
139 developed by Hellmuth Michaelis and Joerg Wunsch", well, the font
140 is maybe not software, but still...)
141
142 impactsr-bsd.h is Copyright (C) 2004 by Stanislaw Skowronek.
143
144 This product includes software developed for the NetBSD Project by
145 Wasabi Systems, Inc. [by Simon Burge]
146
147 arcbios_other.h is Copyright (c) 1996 M. Warner Losh.
148
149 This product includes software developed by Marc Horowitz.
150
151 This product includes software developed by Brini.
152
153 This product includes software developed by Mark Brinicombe
154 for the NetBSD Project.
155
156 Also, src/include/alpha_rpb.h requires the following:
157
158 Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
159 All rights reserved.
160
161 Author: Keith Bostic, Chris G. Demetriou
162
163 Permission to use, copy, modify and distribute this software and
164 its documentation is hereby granted, provided that both the copyright
165 notice and this permission notice appear in all copies of the
166 software, derivative works or modified versions, and any portions
167 thereof, and that both notices appear in supporting documentation.
168
169 See individual files for license details, if you plan to redistribute GXemul
170 or reuse code.
171
172 Thanks to (in no specific order) Joachim Buss, Juli Mallett, Juan Romero
173 Pardines, Alec Voropay, Göran Weinholt, Alexander Yurchenko, and everyone
174 else who has provided me with feedback.
175
176 If you have found GXemul useful in some way, or feel like sending me comments
177 or feedback in general, then mail me at anders(at)gavare.se.
178

  ViewVC Help
Powered by ViewVC 1.1.26