1 |
.\" $Id: gxemul.1,v 1.33 2005/10/07 22:45:34 debug Exp $ |
.\" $Id: gxemul.1,v 1.35 2005/10/27 14:01:11 debug Exp $ |
2 |
.\" |
.\" |
3 |
.\" Copyright (C) 2004-2005 Anders Gavare. All rights reserved. |
.\" Copyright (C) 2004-2005 Anders Gavare. All rights reserved. |
4 |
.\" |
.\" |
55 |
The processor architecture best emulated by GXemul is MIPS, but other |
The processor architecture best emulated by GXemul is MIPS, but other |
56 |
architectures are also partially emulated. |
architectures are also partially emulated. |
57 |
.Pp |
.Pp |
58 |
|
MIPS processors are emulated either using a simple type of binary |
59 |
|
translator (on Alpha and i386 hosts), or using traditional slow |
60 |
|
interpretation (all other hosts, including amd64 machines running in |
61 |
|
64-bit mode). |
62 |
|
.Pp |
63 |
|
Non-MIPS processors (e.g. ARM) are emulated using a newer dynamic |
64 |
|
translation system (called dyntrans in the rest of this man page); |
65 |
|
dyntrans does not require any host-specific code, so it should work on any |
66 |
|
platform. Performance is somewhere between binary translation and |
67 |
|
traditional interpretation. |
68 |
|
.Pp |
69 |
There are three ways to invoke the emulator: |
There are three ways to invoke the emulator: |
70 |
.Pp |
.Pp |
71 |
1. When emulating a complete machine, configuration options can be entered |
1. When emulating a complete machine, configuration options can be entered |
132 |
.It Fl A |
.It Fl A |
133 |
Disable load/store alignment checks in some cases. This might give a small |
Disable load/store alignment checks in some cases. This might give a small |
134 |
increase in performance, but the emulator will not run correctly if the |
increase in performance, but the emulator will not run correctly if the |
135 |
emulated code actually tries to do unaligned loads or stores. |
emulated code actually tries to do unaligned loads or stores. (This option |
136 |
|
is only meaningful when emulating MIPS CPUs, when the host architecture is |
137 |
|
Alpha or i386, and binary translation is enabled.) |
138 |
.It Fl B |
.It Fl B |
139 |
Disable dynamic binary translation. By default, bintrans |
Disable dynamic binary translation. By default, bintrans |
140 |
will be turned on if the host+target architecture combination is |
will be turned on if the host+target architecture combination is |
141 |
supported. |
supported. Currently, the only supported target architecture for bintrans |
142 |
|
is MIPS, and the supported host architectures are Alpha and i386. |
143 |
.It Fl C Ar x |
.It Fl C Ar x |
144 |
Try to emulate a specific CPU type, |
Try to emulate a specific CPU type, |
145 |
.Ar "x". |
.Ar "x". |
198 |
.It Fl i |
.It Fl i |
199 |
Display each instruction as it is being executed. |
Display each instruction as it is being executed. |
200 |
.It Fl J |
.It Fl J |
201 |
Disable some speed tricks. |
Disable some speed tricks. For MIPS emulation, these are mostly |
202 |
|
timing-related. For non-MIPS emulation (i.e. those modes using dyntrans), |
203 |
|
this flag disables the use of "instruction combinations". |
204 |
.It Fl j Ar n |
.It Fl j Ar n |
205 |
Set the name of the kernel to |
Set the name of the kernel to |
206 |
.Ar "n". |
.Ar "n". |
225 |
Force a "netboot" (tftp instead of disk), even when a disk image is |
Force a "netboot" (tftp instead of disk), even when a disk image is |
226 |
present (for DECstation, SGI, and ARC emulation). |
present (for DECstation, SGI, and ARC emulation). |
227 |
.It Fl o Ar arg |
.It Fl o Ar arg |
228 |
Set the boot argument (for DEC, ARC, or SGI emulation). |
Set the boot argument (mostly useful for DEC, ARC, or SGI emulation). |
229 |
Default |
Default |
230 |
.Ar arg |
.Ar arg |
231 |
for DEC is "-a", for ARC "-aN". |
for DEC is "-a", for ARC/SGI it is "-aN", and for CATS it is "-A". |
232 |
.It Fl p Ar pc |
.It Fl p Ar pc |
233 |
Add a breakpoint. (Remember to use the "0x" prefix for hex.) |
Add a breakpoint. (Remember to use the "0x" prefix for hex.) |
234 |
.It Fl Q |
.It Fl Q |
306 |
.It Fl q |
.It Fl q |
307 |
Quiet mode; this suppresses startup messages. |
Quiet mode; this suppresses startup messages. |
308 |
.It Fl s |
.It Fl s |
309 |
Show opcode usage statistics after the simulation. |
For MIPS emulation: Show opcode usage statistics after the simulation. |
310 |
|
For non-MIPS emulation (i.e. using dyntrans): Save statistics to a file at |
311 |
|
regular intervals of which physical addresses that were executed. |
312 |
.It Fl V |
.It Fl V |
313 |
Start up in the single-step debugger, paused. |
Start up in the single-step debugger, paused. |
314 |
.It Fl v |
.It Fl v |
364 |
.Pp |
.Pp |
365 |
Userland (syscall-only) emulation doesn't really work yet. |
Userland (syscall-only) emulation doesn't really work yet. |
366 |
.Pp |
.Pp |
367 |
|
Emulation of MIPS CPUs is done differently from other emulation modes; the |
368 |
|
documentation sometimes only reflect the way things work with MIPS |
369 |
|
emulation, and it is incorrect when applied to e.g. ARM emulation. |
370 |
|
.Pp |
371 |
.Nm |
.Nm |
372 |
does not simulate individual pipe-line stages or penalties caused by |
does not simulate individual pipe-line stages or penalties caused by |
373 |
branch-prediction misses or cache misses, so it cannot be used for |
branch-prediction misses or cache misses, so it cannot be used for |