--- trunk/man/gxemul.1 2007/10/08 16:20:40 30 +++ trunk/man/gxemul.1 2007/10/08 16:20:58 32 @@ -1,4 +1,4 @@ -.\" $Id: gxemul.1,v 1.69 2006/08/11 17:43:29 debug Exp $ +.\" $Id: gxemul.1,v 1.76 2006/11/04 06:40:20 debug Exp $ .\" .\" Copyright (C) 2004-2006 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 AUGUST 2006 +.Dd NOVEMBER 2006 .Dt GXEMUL 1 .Os .Sh NAME @@ -54,7 +54,7 @@ systems (e.g. NetBSD) run inside the emulator as if they were running on a real machine. .Pp -Processors (ARM, MIPS, PowerPC) are emulated using dynamic translation. +Processors (ARM, MIPS, PowerPC, SuperH) are emulated using dynamic translation. However, unlike some other dynamically translating emulators, GXemul does not currently generate native code, only a "runnable intermediate representation", and will thus run on any host architecture, without the @@ -197,12 +197,17 @@ .Ar port for incoming remote GDB connections. The emulator starts up in paused mode, and it is up to the remote GDB instance to start the session. -.It Fl I Ar x -Emulate clock interrupts at -.Ar x -Hz. (This affects emulated clock devices only, not actual runtime speed. -This disables automatic clock adjustments, which is otherwise turned on.) -(This option is probably only valid for DECstation emulation.) +.It Fl I Ar hz +Set the main CPUs frequency to +.Ar hz +Hz. This option does not work for all emulated machine modes. It affects +the way count/compare interrupts are faked to simulate emulated time = +real world time. If the guest operating system relies on RTC interrupts +instead of count/compare interrupts, then this option has no effect. +.Pp +Setting the frequency to zero disables automatic synchronization of +emulated time vs real world time, and the count/compare system runs at a +fixed rate. .It Fl i Enable instruction trace, i.e. display disassembly of each instruction as it is being executed. @@ -373,15 +378,11 @@ .Fl V option, and entering the commands manually. .It Fl D -Guarantee fully deterministic behavior. Normally, the emulator calls -srandom() with a seed based on the current time at startup. When the -.Fl D -option is used, the srandom() call is skipped, which should cause two -subsequent invocations of the emulator to be identical, if all other -settings are identical and no user input is taking place. (If this option -is used, then -.Fl I -must also be used.) +Causes the emulator to skip a call to srandom(). This leads to somewhat +more deterministic behaviour than running without this option. +However, if the emulated machine has clocks or timer interrupt sources, +or if user interaction is taking place (e.g. keyboard input at irregular +intervals), then this option is meaningless. .It Fl H Display a list of available CPU types, machine types, and userland emulation modes. (Most of these don't work. Please read the documentation @@ -465,7 +466,8 @@ .Nm source distribution, some are marked as TODO in the source code itself. .Pp -Userland (syscall-only) emulation doesn't really work yet. +Userland (syscall-only) emulation, i.e. running a userland binary directly +without simulating an entire machine, doesn't really work yet. .Pp The documentation sometimes only reflects the way things worked with the old MIPS emulation mode (prior to 0.4.0), and it is incorrect when @@ -478,10 +480,12 @@ real-world processor. .Pp .Nm -is not timing-accurate, i.e. clocks inside the emulator are in general -not at all synched with clocks in the real world. There are a few -exceptions to this rule (the mc146818 device tries to automagically -adjust emulated timer ticks to actual emulation speed). +is in general not timing-accurate. Some emulation modes +(DECstation, CATS, NetWinder, MobilePro (hpcmips), Malta (evbmips), +Cobalt, Algor, and Dreamcast) try to make the guest +operating system's clock run at the same speed as the host clock. +However, the number of instructions executed per clock tick can +obviously vary, depending on the current CPU load on the host. .Sh AUTHOR GXemul is Copyright (C) 2003-2006 Anders Gavare .Pp