1 |
.\" $Id: gxemul.1,v 1.34 2005/10/11 03:53:58 debug Exp $ |
.\" $Id: gxemul.1,v 1.39 2005/11/23 22:03:25 debug Exp $ |
2 |
.\" |
.\" |
3 |
.\" Copyright (C) 2004-2005 Anders Gavare. All rights reserved. |
.\" Copyright (C) 2004-2005 Anders Gavare. All rights reserved. |
4 |
.\" |
.\" |
29 |
.\" This is a minimal man page for GXemul. Process this file with |
.\" This is a minimal man page for GXemul. Process this file with |
30 |
.\" groff -man -Tascii gxemul.1 or nroff -man gxemul.1 |
.\" groff -man -Tascii gxemul.1 or nroff -man gxemul.1 |
31 |
.\" |
.\" |
32 |
.Dd OCTOBER 2005 |
.Dd NOVEMBER 2005 |
33 |
.Dt GXEMUL 1 |
.Dt GXEMUL 1 |
34 |
.Os |
.Os |
35 |
.Sh NAME |
.Sh NAME |
50 |
is an experimental instruction-level machine emulator. Several |
is an experimental instruction-level machine emulator. Several |
51 |
emulation modes are available. In some modes, processors and surrounding |
emulation modes are available. In some modes, processors and surrounding |
52 |
hardware components are emulated well enough to let unmodified operating |
hardware components are emulated well enough to let unmodified operating |
53 |
systems (e.g. NetBSD) run as if they were running on a real machine. |
systems (e.g. NetBSD) run inside the emulator as if they were running on a |
54 |
|
real machine. |
55 |
.Pp |
.Pp |
56 |
The processor architecture best emulated by GXemul is MIPS, but other |
The processor architecture best emulated by GXemul is MIPS, but other |
57 |
architectures are also partially emulated. |
architectures (ARM and PowerPC) are also partially emulated. |
58 |
|
.Pp |
59 |
|
MIPS processors are emulated either using a simple type of binary |
60 |
|
translator (on Alpha and i386 hosts), or using traditional slow |
61 |
|
interpretation (all other hosts, including amd64 machines running in |
62 |
|
64-bit mode). |
63 |
|
.Pp |
64 |
|
Non-MIPS processors are emulated using a newer dynamic |
65 |
|
translation system (called dyntrans in the rest of this man page); |
66 |
|
dyntrans does not require any host-specific code, so it should work on any |
67 |
|
platform. Performance is somewhere between binary translation and |
68 |
|
traditional interpretation. |
69 |
.Pp |
.Pp |
70 |
There are three ways to invoke the emulator: |
There are three ways to invoke the emulator: |
71 |
.Pp |
.Pp |
199 |
.It Fl i |
.It Fl i |
200 |
Display each instruction as it is being executed. |
Display each instruction as it is being executed. |
201 |
.It Fl J |
.It Fl J |
202 |
Disable some speed tricks. |
Disable some speed tricks. For MIPS emulation, these are mostly |
203 |
|
timing-related. For non-MIPS emulation (i.e. those modes using dyntrans), |
204 |
|
this flag disables the use of "instruction combinations". |
205 |
.It Fl j Ar n |
.It Fl j Ar n |
206 |
Set the name of the kernel to |
Set the name of the kernel to |
207 |
.Ar "n". |
.Ar "n". |
258 |
.Ar n |
.Ar n |
259 |
x |
x |
260 |
.Ar n |
.Ar n |
261 |
times. |
times. This option is useful when emulating a very large framebuffer, and |
262 |
|
the actual display is of lower resolution. If |
263 |
|
.Ar n |
264 |
|
is negative, then there will be no scaledown, but emulation of certain |
265 |
|
graphic controllers will be scaled up |
266 |
|
by |
267 |
|
.Ar -n |
268 |
|
times instead. E.g. Using |
269 |
|
.Ar -2 |
270 |
|
with VGA text mode emulation will result in 80x25 character cells rendered |
271 |
|
in a 1280x800 window, instead of the normal resolution of 640x400. |
272 |
.It Fl y Ar x |
.It Fl y Ar x |
273 |
Set max_random_cycles_per_chunk to |
Set max_random_cycles_per_chunk to |
274 |
.Ar x |
.Ar x |
317 |
.It Fl q |
.It Fl q |
318 |
Quiet mode; this suppresses startup messages. |
Quiet mode; this suppresses startup messages. |
319 |
.It Fl s |
.It Fl s |
320 |
Show opcode usage statistics after the simulation. |
For MIPS emulation: Show opcode usage statistics after the simulation. |
321 |
|
For non-MIPS emulation (i.e. using dyntrans): Save statistics to a file at |
322 |
|
regular intervals of which physical addresses that were executed. |
323 |
.It Fl V |
.It Fl V |
324 |
Start up in the single-step debugger, paused. |
Start up in the single-step debugger, paused. |
325 |
.It Fl v |
.It Fl v |
376 |
Userland (syscall-only) emulation doesn't really work yet. |
Userland (syscall-only) emulation doesn't really work yet. |
377 |
.Pp |
.Pp |
378 |
Emulation of MIPS CPUs is done differently from other emulation modes; the |
Emulation of MIPS CPUs is done differently from other emulation modes; the |
379 |
documentation sometimes only reflect the way things work with MIPS |
documentation sometimes only reflects the way things work with MIPS |
380 |
emulation, and it is incorrect when applied to e.g. ARM emulation. |
emulation, and it is incorrect when applied to e.g. ARM emulation. |
381 |
.Pp |
.Pp |
382 |
.Nm |
.Nm |