File: RELEASE

package info (click to toggle)
gxemul 0.4.3-1
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 7,248 kB
  • ctags: 20,920
  • sloc: ansic: 102,469; sh: 877; exp: 98; makefile: 81
file content (214 lines) | stat: -rw-r--r-- 8,673 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
Release notes for Gavare's eXperimental Emulator (GXemul), 0.4.3
================================================================

Copyright (C) 2003-2006  Anders Gavare.


GXemul is an experimental instruction-level machine emulator. Several
emulation modes are available. In some modes, processors and surrounding
hardware components are emulated well enough to let unmodified operating
systems (e.g. NetBSD) run as if they were running on a real machine.

The documentation lists the machines and guest operating systems that can 
be regarded as "working" in GXemul. The best working guest operating 
systems are probably NetBSD/pmax, NetBSD/cats, and OpenBSD/cats.


Changes between release 0.4.2 and 0.4.3 include, among other things:

    o)	SuperH (SH4) emulation is now stable enough to let a NetBSD/dreamcast
	GENERIC_MD (ramdisk) kernel reach userland.

    o)	There is now a simple framework for letting emulated clocks, as seen
	by guest operating systems, run at the same speed as the host clock.

	So far, the DECstation, MobilePro (hpcmips), NetWinder, CATS, Malta
	(evbmips), Cobalt, Algor, Dreamcast, and testmips machine modes
	use the new clock/timer framework.

    o)	Some changes to the way expressions are evaluated in the built-in
	debugger, and some changes in command behaviour:

	  x)  Expressions (including assignments) can now be arbitrarily
	      complex, using parentheses, and the following operators:

	          + - * /    % (modulo)  ^ (xor)  & (and)  | (or)

	  x)  Some internal emulator variables can now be read/written using
	      normal expressions. Examples of commands that did not work
	      earlier, but should work now:

		  print verbose
		  r5 = sp - arch_pagesize * 4
		  machine[0].statistics_enabled = 1

	  x)  To force a name to be interpreted as a setting/register name,
	      a hash sign (#) is now used instead of the percentage sign (%).
	      (In the new expression evaluator, % means arithmetic modulo.)

	  x)  The 'focus' command now also selects a cpu, in addition to
	      selecting machine and emul.

	  x)  The 'reg' command only prints registers for one cpu now, not
	      all cpus in the currently focused machine.

    o)	The wdc (standard IDE controller) had a bug which prevented disk
	images larger than 2 GB to work correctly. This has been fixed.

    o)	For MIPS emulation, some combinations of emulated processor + guest
	operating system should now work better when idling (i.e. the host
	should not run at 100% CPU):

	  x)  For MIPS32/MIPS64 and RM5200, the 'wait' instruction should
	      now work more or less as expected.

	  x)  For VR41xx (e.g. MobilePro) emulation, the standby instruction
	      should work like the 'wait' instruction.

	  x)  For R3000 emulation, where there is no hardware wait instruction,
	      I've implemented "instruction combination" hacks for both
	      NetBSD/pmax and Debian/pmax, so that their cpu idle loops are
	      detected and treated almost as a wait instruction.

    o)	MIPS 64-bit address translation (X=1) was not fully working before;
	TLB exception handling for xkseg and larger-than-2GB-userland should
	now actually work. (Thanks to Juli Mallett and Carl van Schaik for
	noticing these problems.)

    o)	The mouse cursor update routines in DECstation (LK201) emulation
	previously used the fact that guest OSes set the _hardware_
	cursor position. In order to support X Windows when emulating
	modern versions of NetBSD/pmax, which don't set the hardware
	position anymore, a workaround has been implemented which only
	sends relative coordinates to the guest OS. This has two drawbacks:

	1. Ultrix emulation with dual- and tripple-head emulation will
	   most likely feel very strange. It will still work, though.

	2. Cursor movement feels "accelerated", because the emulator
	   sends unaccelerated movements to the guest OS, which then
	   accelerates them. This can however be compensated to some
	   degree by running 'xset m 1 0' in the guest OS.

	Having weird accelerated mouse movement is better than having no
	mouse support at all, so this change was necessary.

Please read the HISTORY files for more details.


Files included in this release are:

  HISTORY                     Detailed revision history / changelog.
  LICENSE                     Copyright message / license.
  README                      Quick start instructions, for the impatient.
  RELEASE                     This file.
  TODO                        TODO notes.
  configure, Makefile.skel    sh and make scripts for building GXemul.
  demos                       Tutorial-like demos of testmachine functionality.
  doc                         Documentation.
  experiments                 Experimental code. (Usually not needed.)
  src                         Source code.

To build the emulator, run the configure script, and then run make. This 
should work on most Unix-like systems.


Regarding files in the src/include/ directory: only some of these are written
by me, the rest are from other sources (such as NetBSD). The license text says
that "All advertising materials mentioning features or use of this software"
must display acknowledgements. Even though I do NOT feel I mention features or
use of the header files (the "software") in any advertising materials, I am
still very grateful for the fact that these people have made their files
available for re-use, so regardless of legal requirements, I guess thanking
them like this is in order:

    This product includes software developed by the University of
    California, Berkeley and its contributors.

    This product includes software developed for the
    NetBSD Project.  See http://www.netbsd.org/ for
    information about NetBSD.

    This product includes software developed by Jonathan Stone for
    the NetBSD Project.

    This product includes software developed for the NetBSD Project
    by Matthias Drochner.

    This product includes software developed by the NetBSD
    Foundation, Inc. and its contributors.

    This product includes software developed by Christopher G. Demetriou.
    [for the NetBSD Project.]

    This product includes software developed by Adam Glass.

    This product includes software developed by the PocketBSD project
    and its contributors.

    This product includes software developed by Peter Galbavy.

    Carnegie Mellon University   (multiple header files,
    no specific advertisement text required)

    This product includes software developed by Charles M. Hannum.

    This product includes software developed under OpenBSD by Per Fogelstrm.

    This product includes software developed by Per Fogelstrm.

    This product includes software developed at Ludd, University of
    Lule, Sweden and its contributors.

    This product includes software developed by Hellmuth Michaelis
    and Joerg Wunsch

    The font(s) in devices/fonts are Copyright (c) 1992, 1993, 1994
    by Hellmuth Michaelis and Joerg Wunsch.  ("This product includes software
    developed by Hellmuth Michaelis and Joerg Wunsch", well, the font
    is maybe not software, but still...)

    impactsr-bsd.h is Copyright (C) 2004 by Stanislaw Skowronek.

    This product includes software developed for the NetBSD Project by
    Wasabi Systems, Inc.  [by Simon Burge]

    arcbios_other.h is Copyright (c) 1996 M. Warner Losh.

    This product includes software developed by Marc Horowitz.

    This product includes software developed by Brini.

    This product includes software developed by Mark Brinicombe
    for the NetBSD Project.

    This product includes software developed by TooLs GmbH.

    This product includes software developed by Manuel Bouyer.

    This product includes software developed by the Alice Group.

    This product includes software developed by Ichiro FUKUHARA.

    This product includes software developed by Marcus Comstedt.

Also, src/include/alpha_rpb.h requires the following:

    Copyright (c) 1994, 1995, 1996 Carnegie-Mellon University.
    All rights reserved.

    Author: Keith Bostic, Chris G. Demetriou

    Permission to use, copy, modify and distribute this software and
    its documentation is hereby granted, provided that both the copyright
    notice and this permission notice appear in all copies of the
    software, derivative works or modified versions, and any portions
    thereof, and that both notices appear in supporting documentation.

See individual files for license details, if you plan to redistribute GXemul
or reuse code.


If you have found GXemul useful in some way, or feel like sending me comments
or feedback in general, then mail me at anders(at)gavare.se.