1 |
.\" $Id: gxemul.1,v 1.21 2005/06/03 23:14:52 debug Exp $ |
.\" $Id: gxemul.1,v 1.24 2005/06/26 10:05:02 debug Exp $ |
2 |
.\" |
.\" |
3 |
.\" Copyright (C) 2004-2005 Anders Gavare. All rights reserved. |
.\" Copyright (C) 2004-2005 Anders Gavare. All rights reserved. |
4 |
.\" |
.\" |
47 |
.Ar file Op Ar args ... |
.Ar file Op Ar args ... |
48 |
.Sh DESCRIPTION |
.Sh DESCRIPTION |
49 |
.Nm |
.Nm |
50 |
is an experimental instruction-level machine emulator. It can be used |
is an experimental instruction-level machine emulator. It can be used to |
51 |
to run binary code for (among others) MIPS-based machines. |
run binary code for (among others) MIPS-based machines, regardless of host |
52 |
Several emulation modes are available. For some emulation modes, processors |
platform. Several emulation modes are available. For some modes, |
53 |
and surrounding hardware components are emulated well enough to let |
processors and surrounding hardware components are emulated well enough to |
54 |
unmodified operating systems (eg. NetBSD) run as if they were running on a |
let unmodified operating systems (e.g. NetBSD) run as if they were running |
55 |
real machine. |
on a real machine. |
56 |
.Pp |
.Pp |
57 |
There are three ways to invoke the emulator. When emulating a |
There are three ways to invoke the emulator. When emulating a |
58 |
complete machine, settings can be entered directly on the command line, or |
complete machine, settings can be entered directly on the command line, or |
111 |
Other options: |
Other options: |
112 |
.Bl -tag -width Ds |
.Bl -tag -width Ds |
113 |
.It Fl B |
.It Fl B |
114 |
Disable dynamic binary translation completely. By default, bintrans |
Disable dynamic binary translation. By default, bintrans |
115 |
will be turned on if the host architecture supports it. |
will be turned on if the host+target architecture combination is |
116 |
However, in this release (0.3.X), there is no new bintrans system. |
supported. |
|
If you want to enable binary translation, use |
|
|
.Fl "b". |
|
|
.It Fl b |
|
|
Use the OLD binary translation subsystem. (Alpha and i386 hosts only.) |
|
117 |
.It Fl C Ar x |
.It Fl C Ar x |
118 |
Try to emulate a specific CPU type, |
Try to emulate a specific CPU type, |
119 |
.Ar "x". |
.Ar "x". |
176 |
.It Fl j Ar n |
.It Fl j Ar n |
177 |
Set the name of the kernel to |
Set the name of the kernel to |
178 |
.Ar "n". |
.Ar "n". |
179 |
When booting from an ISO9660 filesystem, the kernel will try to boot from |
When booting from an ISO9660 filesystem, the emulator will try to boot |
180 |
this file. (In some emulation modes, eg. DECstation, this name is passed |
using this file. (In some emulation modes, eg. DECstation, this name is passed |
181 |
along to the boot program. Useful names are "bsd" for OpenBSD/pmax, |
along to the boot program. Useful names are "bsd" for OpenBSD/pmax, |
182 |
or "vmunix" for Ultrix.) |
or "vmunix" for Ultrix.) |
183 |
.It Fl M Ar m |
.It Fl M Ar m |
298 |
distribution. |
distribution. |
299 |
.Sh EXAMPLES |
.Sh EXAMPLES |
300 |
The following command will start NetBSD/pmax on an emulated DECstation |
The following command will start NetBSD/pmax on an emulated DECstation |
301 |
5000/200 (3MAX), with the old bintrans system enabled: |
5000/200 (3MAX): |
302 |
.Pp |
.Pp |
303 |
.Dl "gxemul -E dec -e 3max -b -d netbsddisk.img" |
.Dl "gxemul -E dec -e 3max -d nbsd_pmax.img" |
304 |
.Pp |
.Pp |
305 |
netbsddisk.img should be a raw disk image containing a bootable |
nbsd_pmax.img should be a raw disk image containing a bootable |
306 |
NetBSD/pmax filesystem. |
NetBSD/pmax filesystem. |
307 |
.Pp |
.Pp |
308 |
The following command will start an emulation session based on settings in |
The following command will start an emulation session based on settings in |
328 |
.Nm |
.Nm |
329 |
source distribution, some are indirectly mentioned in the TODO file. |
source distribution, some are indirectly mentioned in the TODO file. |
330 |
.Pp |
.Pp |
331 |
There is no new bintrans system in this release, so you will need to add |
The binary translation subsystem is really terrible, but it is less |
332 |
.Fl b |
terrible than running without it. |
|
to select the old bintrans system, if you want speed. |
|
333 |
.Pp |
.Pp |
334 |
.Nm |
.Nm |
335 |
does not simulate individual pipe-line stages or penalties caused by |
does not simulate individual pipe-line stages or penalties caused by |
336 |
branch-prediction misses, so it cannot be used for accurate performance |
branch-prediction misses or cache misses, so it cannot be used for |
337 |
measurement. |
accurate performance measurement. |
338 |
.Pp |
.Pp |
339 |
.Nm |
.Nm |
340 |
is not timing-accurate. |
is not timing-accurate. |