--- trunk/man/gxemul.1 2007/10/08 16:19:01 16 +++ trunk/man/gxemul.1 2007/10/08 16:19:23 20 @@ -1,4 +1,4 @@ -.\" $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 $ .\" .\" Copyright (C) 2004-2005 Anders Gavare. All rights reserved. .\" @@ -29,7 +29,7 @@ .\" This is a minimal man page for GXemul. Process this file with .\" groff -man -Tascii gxemul.1 or nroff -man gxemul.1 .\" -.Dd OCTOBER 2005 +.Dd NOVEMBER 2005 .Dt GXEMUL 1 .Os .Sh NAME @@ -50,10 +50,22 @@ 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. +systems (e.g. NetBSD) run inside the emulator as if they were running on a +real machine. .Pp The processor architecture best emulated by GXemul is MIPS, but other -architectures are also partially emulated. +architectures (ARM and PowerPC) are also partially emulated. +.Pp +MIPS processors are emulated either using a simple type of binary +translator (on Alpha and i386 hosts), or using traditional slow +interpretation (all other hosts, including amd64 machines running in +64-bit mode). +.Pp +Non-MIPS processors are emulated using a newer dynamic +translation system (called dyntrans in the rest of this man page); +dyntrans does not require any host-specific code, so it should work on any +platform. Performance is somewhere between binary translation and +traditional interpretation. .Pp There are three ways to invoke the emulator: .Pp @@ -187,7 +199,9 @@ .It Fl i Display each instruction as it is being executed. .It Fl J -Disable some speed tricks. +Disable some speed tricks. For MIPS emulation, these are mostly +timing-related. For non-MIPS emulation (i.e. those modes using dyntrans), +this flag disables the use of "instruction combinations". .It Fl j Ar n Set the name of the kernel to .Ar "n". @@ -244,7 +258,17 @@ .Ar n x .Ar n -times. +times. This option is useful when emulating a very large framebuffer, and +the actual display is of lower resolution. If +.Ar n +is negative, then there will be no scaledown, but emulation of certain +graphic controllers will be scaled up +by +.Ar -n +times instead. E.g. Using +.Ar -2 +with VGA text mode emulation will result in 80x25 character cells rendered +in a 1280x800 window, instead of the normal resolution of 640x400. .It Fl y Ar x Set max_random_cycles_per_chunk to .Ar x @@ -293,7 +317,9 @@ .It Fl q Quiet mode; this suppresses startup messages. .It Fl s -Show opcode usage statistics after the simulation. +For MIPS emulation: Show opcode usage statistics after the simulation. +For non-MIPS emulation (i.e. using dyntrans): Save statistics to a file at +regular intervals of which physical addresses that were executed. .It Fl V Start up in the single-step debugger, paused. .It Fl v @@ -350,7 +376,7 @@ Userland (syscall-only) emulation doesn't really work yet. .Pp Emulation of MIPS CPUs is done differently from other emulation modes; the -documentation sometimes only reflect the way things work with MIPS +documentation sometimes only reflects the way things work with MIPS emulation, and it is incorrect when applied to e.g. ARM emulation. .Pp .Nm