- implemented MIDI output to ALSA sequencer (TODO: handle SYSEX messages)
[bochs-mirror.git] / doc / man / bochsrc.5
blob95d1c3cb5f50843220e76bf5b262ce1f928afad9
1 .\"Document Author:  Timothy R. Butler   -   tbutler@uninetsolutions.com"
2 .TH bochsrc 5 "19 July 2008" "bochsrc" "The Bochs Project"
3 .\"SKIP_SECTION"
4 .SH NAME
5 bochsrc \- Configuration file for Bochs.
6 .\"SKIP_SECTION"
7 .SH DESCRIPTION
8 .LP
9 Bochsrc   is  the   configuration   file  that specifies
10 where  Bochs should look for disk images,  how the Bochs
11 emulation layer  should  work,  etc.   The  syntax  used
12 for bochsrc  can also be used as command line  arguments
13 for Bochs. The .bochsrc  file should be placed either in
14 the current  directory  before running  Bochs or in your
15 home directory.
17 Starting with Bochs 1.3, you can use environment variables in
18 the bochsrc file, for example:
20   floppya: 1_44="$IMAGES/bootdisk.img", status=inserted
22 Starting with version 2.0, two environment variables have a built-in
23 default value which is set at compile time.  $BXSHARE points to the
24 "share" directory which is typically /usr/local/share/bochs on UNIX
25 machines.  See the $(sharedir) variable in the Makefile for the exact
26 value.  $BXSHARE is used by disk images to locate the directory where
27 the BIOS images and keymaps can be found.  If $BXSHARE is not defined, Bochs
28 will supply the default value.  Also, $LTDL_LIBRARY_PATH points to a list of
29 directories (separated by colons if more than one) to search in for Bochs
30 plugins.  A compile-time default is provided if this variable is not defined
31 by the user.
32 .\".\"DONT_SPLIT"
33 .SH OPTIONS
35 .TP
36 .I "#include"
37 This option includes another configuration file. It is
38 possible to put installation defaults in a global config
39 file (e.g. location of rom images).
41 Example:
42   #include /etc/bochsrc
44 .TP
45 .I "config_interface:"
46 The configuration interface is a series of menus or dialog boxes that
47 allows you to change all the settings that control Bochs's behavior.
48 There are two choices of configuration interface: a text mode version
49 called "textconfig" and a graphical version called "wx".  The text
50 mode version uses stdin/stdout and is always compiled in.  The graphical
51 version is only available when you use "--with-wx" on the configure
52 command.  If you do not write a config_interface line, Bochs will
53 choose a default for you.
55 .B NOTE:
56 if you use the "wx" configuration interface, you must also use
57 the "wx" display library.
59 Example:
60   config_interface: textconfig
62 .TP
63 .I "display_library:"
64 The display library is the code that displays the Bochs VGA screen.  Bochs
65 has a selection of about 10 different display library implementations for
66 different platforms.  If you run configure with multiple --with-* options,
67 the display_library command lets you choose which one you want to run with.
68 If you do not write a display_library line, Bochs will choose a default for
69 you.
71 The choices are:
72   x           X windows interface, cross platform
73   win32       native win32 libraries
74   carbon      Carbon library (for MacOS X)
75   beos        native BeOS libraries
76   macintosh   MacOS pre-10
77   amigaos     native AmigaOS libraries
78   sdl         SDL library, cross platform
79   term        text only, uses curses/ncurses library, cross platform
80   rfb         provides an interface to AT&T's VNC viewer, cross platform
81   wx          wxWidgets library, cross platform
82   nogui       no display at all
84 Some display libraries now support specific option to control their
85 behaviour. See the examples below for currently supported options.
87 .B NOTE:
88 if you use the "wx" configuration interface, you must also use
89 the "wx" display library.
91 Examples:
92   display_library: x
93   display_library: rfb, options="timeout=60"  # time to wait for client
94   display_library: sdl, options="fullscreen"  # startup in fullscreen mode
95   display_library: x, options="hideIPS" # disable IPS output in status bar
98 .TP
99 .I "romimage:"
100 The ROM BIOS controls what the PC does when it first powers on.  Normally, you
101 can use a precompiled BIOS in the source or binary distribution called
102 .B BIOS-bochs-latest.
103 The default ROM BIOS is usually loaded starting at address 0xe0000, and it is
104 exactly 128k long. The legacy version of the Bochs BIOS is usually loaded starting
105 at address 0xf0000, and it is exactly 64k long.
106 You can also use the environment variable $BXSHARE to specify the location of the BIOS.
107 The usage of external large BIOS images (up to 512k) at memory top is
108 now supported, but we still recommend to use the BIOS distributed with Bochs.
109 The start address is optional, since it can be calculated from image size.
111 Examples:
112   romimage: file=bios/BIOS-bochs-latest
113   romimage: file=$BXSHARE/BIOS-bochs-legacy
114   romimage: file=mybios.bin, address=0xfff80000
115   romimage: file=mybios.bin
118 .I "cpu:"
119 This defines cpu-related parameters inside Bochs:
121 count:
123 Set the number of processors:cores per processor:threads per core when
124 Bochs is compiled for SMP emulation. Bochs currently supports up to
125 8 processors. If Bochs is compiled without SMP support, it won't accept
126 values different from 1.
128 quantum:
130 Maximum amount of instructions allowed to execute by processor before
131 returning control to another cpu. This option exists only in Bochs
132 binary compiled with SMP support.
134 reset_on_triple_fault:
136 Reset the CPU when triple fault occur (highly recommended) rather than
137 PANIC. Remember that if you trying to continue after triple fault the
138 simulation will be completely bogus !
140 ips:
142 Emulated Instructions Per Second.  This is the
143 number of IPS that Bochs is capable of running
144 on your machine.  You can recompile Bochs with
145 --enable-show-ips option enabled, to find your
146 workstation's capability.  Measured IPS value
147 will then be logged into your log file or status
148 bar (if supported by the gui).
150 IPS is used to calibrate  many  time-dependent
151 events   within   the  bochs  simulation.  For
152 example, changing IPS affects the frequency of
153 VGA updates, the duration of time before a key
154 starts to autorepeat,  and the measurement  of
155 BogoMips and other benchmarks.
157 Example Specifications[1]
158  Bochs Machine/Compiler                                Mips
159  -------------------------------------------------------------------
160  2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4    50 to 55 Mips
161  2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4      38 to 43 Mips
162  2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4      21 to 25 Mips
163  2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4         12 to 15 Mips
164  2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3             5 to  7 Mips
166  [1]  IPS measurements depend on OS and compiler
167 configuration  in addition  to processor clock
168 speed.
170 Example:
171   cpu: count=2, ips=10000000
174 .I "megs:"
175 Set the number of Megabytes of physical memory you want to emulate.
176 The default is 32MB, most OS's won't need more than that.
177 The maximum amount of memory supported is 2048Mb.
179 Example:
180   megs: 32
183 .I "optromimage1: \fP, \fIoptromimage2: \fP, \fIoptromimage3: \fPor \fIoptromimage4:"
184 You may now load up to 4 optional ROM images. Be sure to use a
185 read-only area, typically between C8000 and EFFFF. These optional
186 ROM images should not overwrite the rombios (located at
187 F0000-FFFFF) and the videobios (located at C0000-C7FFF).
188 Those ROM images will be initialized by the bios if they contain
189 the right signature (0x55AA).
190 It can also be a convenient way to upload some arbitrary code/data
191 in the simulation, that can be retrieved by the boot loader
193 Example:
194   optromimage1: file=optionalrom.bin, address=0xd0000
197 .I "vgaromimage:"
198 You also need to load a VGA ROM BIOS into 0xC0000.
200 Examples:
201   vgaromimage: file=bios/VGABIOS-elpin-2.40
202   vgaromimage: file=bios/VGABIOS-lgpl-latest
203   vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
206 .I "vga:"
207 Here you can specify the display extension to be used. With the value 'none'
208 you can use standard VGA with no extension. Other supported values are 'vbe'
209 for Bochs VBE and 'cirrus' for Cirrus SVGA support.
211 Examples:
212   vga: extension=cirrus
213   vga: extension=vbe
216 .I "floppya: \fPor \fIfloppyb:"
218 Point  this to  the pathname of a floppy image
219 file or  device.  Floppya is the  first drive,
220 and  floppyb is the  second drive.  If  you're
221 booting from a floppy, floppya should point to
222 a bootable disk.
224 You can set the initial status of the media to
225 \&'ejected' or 'inserted'. Usually you will want
226 to use 'inserted'.
228 Example:
230 2.88M 3.5" Floppy:
231   floppya: 2_88=path, status=ejected
233 1.44M 3.5" Floppy:
234   floppya: 1_44=path, status=inserted
236 1.2M  5.25" Floppy:
237   floppyb: 1_2=path, status=ejected
239 720K  3.5" Floppy:
240   floppya: 720k=path, status=inserted
242 360K  5.25" Floppy:
243   floppya: 360k=path, status=inserted
245 Autodetect Floppy type:
246   floppya: image=path, status=inserted
249 .I "ata0: \fP, \fIata1: \fP, \fIata2: \fPor \fIata3:"
251 These options enables up to 4 ata channels. For each channel
252 the two base io addresses and the irq must be specified.
253 ata0 and ata1 are enabled by default, with the values shown below.
255 Examples:
256    ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
257    ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
258    ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
259    ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9
262 .I "ata\fR[\fB0-3\fR]\fI-master: \fPor \fIata\fR[\fB0-3\fR]\fI-slave:"
264 This defines the type and characteristics of all attached ata devices:
265    type=       type of attached device [disk|cdrom]
266    path=       path of the image
267    mode=       image mode [flat|concat|external|dll|sparse|vmware3|undoable|growing|volatile], only valid for disks
268    cylinders=  only valid for disks
269    heads=      only valid for disks
270    spt=        only valid for disks
271    status=     only valid for cdroms [inserted|ejected]
272    biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos]
273    translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto]
274    model=      string returned by identify device command
275    journal=    optional filename of the redolog for undoable and volatile disks
277 Point this at a hard disk image file, cdrom iso file,
278 or a physical cdrom device.
279 To create a hard disk image, try running bximage.
280 It will help you choose the size and then suggest a line that
281 works with it.
283 In UNIX it is possible to use a raw device as a Bochs hard disk,
284 but WE DON'T RECOMMEND IT.
286 The path is always mandatory. Disk geometry autodetection works with images
287 created by bximage if CHS is set to 0/0/0 (cylinders are calculated using
288 heads=16 and spt=63). For other hard disk images and modes the cylinders,
289 heads, and spt are mandatory.
291 The mode option defines how the disk image is handled. Disks can be defined as:
292   - flat : one file flat layout
293   - concat : multiple files layout
294   - external : developer's specific, through a C++ class
295   - dll : developer's specific, through a DLL
296   - sparse : stackable, commitable, rollbackable
297   - vmware3 : vmware3 disk support
298   - undoable : flat file with commitable redolog
299   - growing : growing file
300   - volatile : flat file with volatile redolog
302 The disk translation scheme (implemented in legacy int13 bios functions, and used by
303 older operating systems like MS-DOS), can be defined as:
304   - none : no translation, for disks up to 528MB (1032192 sectors)
305   - large : a standard bitshift algorithm, for disks up to 4.2GB (8257536 sectors)
306   - rechs : a revised bitshift algorithm, using a 15 heads fake physical geometry, for disks up to 7.9GB (15482880 sectors). (don't use this unless you understand what you're doing)
307   - lba : a standard lba-assisted algorithm, for disks up to 8.4GB (16450560 sectors)
308   - auto : autoselection of best translation scheme. (it should be changed if system does not boot)
310 Default values are:
311    mode=flat, biosdetect=auto, translation=auto, model="Generic 1234"
313 The biosdetect option has currently no effect on the bios
315 Examples:
316    ata0-master: type=disk, path=10M.sample, cylinders=306, heads=4, spt=17
317    ata0-slave:  type=disk, path=20M.sample, cylinders=615, heads=4, spt=17
318    ata1-master: type=disk, path=30M.sample, cylinders=615, heads=6, spt=17
319    ata1-slave:  type=disk, path=46M.sample, cylinders=940, heads=6, spt=17
320    ata2-master: type=disk, path=62M.sample, cylinders=940, heads=8, spt=17
321    ata2-slave:  type=disk, path=112M.sample, cylinders=900, heads=15, spt=17
322    ata3-master: type=disk, path=483M.sample, cylinders=1024, heads=15, spt=63
323    ata3-slave:  type=cdrom, path=iso.sample, status=inserted
326 .I "com1: \fP, \fIcom2: \fP, \fIcom3: \fPor \fIcom4:"
327 This defines a serial port (UART type 16550A). In the 'term' you can specify
328 a device to use as com1. This can be a real serial line, or a pty.  To use
329 a pty (under X/Unix), create two windows (xterms, usually).  One of them will
330 run bochs, and the other will act as com1. Find out the tty the com1 window
331 using the `tty' command, and use that as the `dev' parameter.  Then do
332 `sleep 1000000' in the com1 window to keep the shell from messing with things,
333 and run bochs in the other window.  Serial I/O to com1 (port 0x3f8) will all
334 go to the other window.
336 Other serial modes are 'null' (no input/output), 'file' (output to a file
337 specified as the 'dev' parameter), 'raw' (use the real serial port - under
338 construction for win32) and 'mouse' (standard serial mouse - requires
339 mouse option setting 'type=serial' or 'type=serial_wheel')
341 Examples:
342   com1: enabled=term, dev=/dev/ttyp7
343   com2: enabled=1, mode=file, dev=serial.out
344   com1: enabled=1, mode=mouse
347 .I "parport1: \fPor \fIparport2:"
348 This defines a parallel (printer) port. When turned on and an output file is
349 defined the emulated printer port sends characters printed by the guest
350 OS into the output file. On some platforms a device filename can be used to
351 send the data to the real parallel port (e.g. "/dev/lp0" on Linux).
353 Examples:
354   parport1: enabled=1, file=parport.out
355   parport2: enabled=1, file="/dev/lp0"
356   parport1: enabled=0
359 .I "boot:"
360 This defines the boot sequence. Now you can specify up to 3 boot drives,
361 which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM).
362 Legacy 'a' and 'c' are also supported.
364 Example:
365   boot: cdrom, floppy, disk
368 .I "floppy_bootsig_check:"
369 This disables the 0xaa55 signature check on boot floppies
370 The check is enabled by default.
372 Example:
373   floppy_bootsig_check: disabled=1
376 .I "log:"
377 Give the path of the log file you'd like Bochs
378 debug and misc. verbiage to be written to.   If
379 you really don't want it, make it /dev/null.
381 Example:
382   log: bochs.out
383   log: /dev/tty               (unix only)
384   log: /dev/null              (unix only)
387 .I "logprefix:"
388 This handles the format of the string prepended to each log line :
389 You may use those special tokens :
390   %t : 11 decimal digits timer tick
391   %i : 8 hexadecimal digits of cpu0 current eip
392   %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror)
393   %d : 5 characters string of the device, between brackets
395 Default : %t%e%d
397 Examples:
398   logprefix: %t-%e-@%i-%d
399   logprefix: %i%e%d
402 .I "panic:"
403 If Bochs reaches  a condition  where it cannot
404 emulate correctly, it does a panic.  This  can
405 be a configuration problem  (like a misspelled
406 bochsrc line) or an emulation problem (like an
407 unsupported video mode). The  "panic"  setting
408 in  bochsrc  tells  Bochs  how to respond to a
409 panic.  You  can  set this to fatal (terminate
410 the session),  report   (print information  to
411 the console), or ignore (do nothing).
413 The safest setting is action=fatal. If you are
414 getting  panics,  you  can  try  action=report
415 instead.  If you allow Bochs to continue after
416 a panic, don't be surprised if you get strange
417 behavior or crashes if a panic occurs.  Please
418 report  panic  messages  unless  it is just  a
419 configuration  problem  like  "could  not find
420 hard drive image."
422 Example:
423   panic: action=fatal
427 .I "error:"
428 Bochs produces an error message when it  finds
429 a condition that really shouldn't happen,  but
430 doesn't endanger the simulation. An example of
431 an error  might be  if the  emulated  software
432 produces an illegal disk command.
434 The "error" setting tells Bochs how to respond
435 to an error condition.   You can set  this  to
436 fatal  (terminate the session),  report (print
437 information to the  console),  or  ignore  (do
438 nothing).
440 Example:
441   error: action=report
444 .I "info:"
445 This setting tells Bochs what to  do  when  an
446 event  occurs   that  generates  informational
447 messages.  You can  set this  to  fatal  (that
448 would not be very smart though), report (print
449 information to the  console),  or  ignore  (do
450 nothing).   For  general  usage,  the "report"
451 option is probably a good choice.
453 Example:
454   info: action=report
457 .I "debug:"
458 This  setting  tells  Bochs what  to  do  with
459 messages intended to assist in debugging.  You
460 can set  this  to  fatal  (but you shouldn't),
461 report (print information to the  console), or
462 ignore (do nothing). You should generally  set
463 this  to  ignore,  unless  you are  trying  to
464 diagnose a particular problem.
466 .B NOTE:
467 When  action=report,   Bochs   may  spit  out
468 thousands of debug messages per second, which
469 can impact performance and fill up your disk.
471 Example:
472   debug: action=ignore
475 .I "debugger_log:"
476 Give the path of the log file you'd like Bochs to log debugger output.
477 If you really don't want it, make it '/dev/null', or '-'.
479 Example:
480   log: debugger.out
481   log: /dev/null              (unix only)
482   log: -
485 .I "sb16:"
486 This  defines the SB16 sound emulation. It can
487 have several of the  following properties. All
488 properties are in this format:
489   sb16: property=value
492 .B PROPERTIES FOR sb16:
494 midi:
496 The  filename is where the midi data is  sent.
497 This can  be  a device  or just a file if  you
498 want to record the midi data.
500 midimode:
502  0 = No data should be output.
503  1 = output to device (system dependent - midi
504  denotes the device driver).
505  2 = SMF file output, including headers.
506  3 = Output  the midi  data stream to the file
507  (no  midi headers  and  no delta  times, just
508  command and data bytes).
510 wave:
512 This  is the device/file where wave  output is
513 stored.
515 wavemode:
517  0 = no data
518  1 = output to device (system dependent - wave
519  denotes the device driver).
520  2 = VOC file output, including headers.
521  3 = Output the raw wave stream to the file.
523 log:
525 The file to write the sb16 emulator messages to.
527 loglevel:
529  0 = No log.
530  1 = Resource changes, midi program and bank changes.
531  2 = Severe errors.
532  3 = All errors.
533  4 = All errors plus all port accesses.
534  5 = All  errors and port  accesses plus a lot
535  of extra information.
537 It is possible to change the loglevel at runtime.
539 dmatimer:
541 Microseconds per second for a DMA cycle.  Make it smaller
542 to fix non-continuous sound.  750000 is  usually  a  good
543 value.  This  needs  a reasonably  correct   setting  for
544 the  IPS  parameter of the CPU option.  It is possible to
545 adjust the dmatimer at runtime.
547 Example for output to OSS:
548   sb16: midimode=1, midi=/dev/midi00,
549   wavemode=1, wave=/dev/dsp, loglevel=2,
550   log=sb16.log, dmatimer=600000
552 Example for output to ALSA:
553   sb16: midimode=1, midi=alsa:128:0,
554   wavemode=1, wave=alsa,
555   log=sb16.log, dmatimer=600000
557 .B NOTE:
558 The  examples are wrapped onto three  lines for
559 formatting  reasons, but  it should all be  on
560 one line in the actual bochsrc file.
563 .I "vga_update_interval:"
564 Video memory is scanned for updates and screen updated
565 every so many virtual seconds. The default value is
566 40000, about 25Hz. Keep in mind that you  must tweak
567 the 'cpu: ips=N' directive to be as close  to the number of
568 emulated instructions-per-second your  workstation can
569 do, for this to be accurate.
571 Example:
572   vga_update_interval: 250000
576 .I "keyboard_serial_delay:"
577 Approximate time in microseconds that it takes
578 one  character  to   be  transfered  from  the
579 keyboard to controller over the serial path.
581 Example:
582   keyboard_serial_delay: 200
585 .I "keyboard_paste_delay:"
586 Approximate time in microseconds between attempts to paste
587 characters to the keyboard controller. This leaves time for the
588 guest os to deal with the flow of characters.  The ideal setting
589 depends on how your operating system processes characters.  The
590 default of 100000 usec (.1 seconds) was chosen because it works
591 consistently in Windows.
593 If your OS is losing characters during a paste, increase the paste
594 delay until it stops losing characters.
596 Example:
597   keyboard_paste_delay: 100000
600 .I "clock:"
601 This defines the parameters of the clock inside Bochs.
603 sync
605 TO BE COMPLETED (see Greg explanation in feature request #536329)
607 time0
609 Specifies the start (boot) time of the virtual machine. Use a time
610 value as returned by the time(2) system call. If no time0 value is
611 set or if time0 equal to 1 (special case) or if time0 equal 'local',
612 the simulation will be started at the current local host time.
613 If time0 equal to 2 (special case) or if time0 equal 'utc',
614 the simulation will be started at the current utc time.
616 Syntax:
617   clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc]
619 Default value are sync=none, time0=local
621 Example:
622   clock: sync=realtime, time0=938581955   # Wed Sep 29 07:12:35 1999
625 .I "mouse:"
626 This option prevents Bochs from creating mouse "events"
627 unless a mouse is enabled. The hardware emulation itself
628 is not disabled  by this. You can turn the mouse on by
629 setting enabled to  1, or turn it off by setting enabled
630 to 0. Unless you have a particular reason  for enabling
631 the mouse by default, it is recommended that you leave
632 it off. You can also toggle the mouse usage at runtime
633 (control key + middle mouse button).
634 With the mouse type option you can select the type of mouse to emulate.
635 The default value is 'ps2'. The other choices are 'imps2' (wheel mouse
636 on PS/2), 'serial', 'serial_wheel' (one com port requires setting 'mode=mouse')
637 and 'usb' (3-button mouse - one of the USB ports must be connected with
638 the 'mouse' device - requires PCI and USB support).
640 Examples:
641   mouse: enabled=0
642   mouse: enabled=1, type=imps2
645 .I "private_colormap:"
646 Requests that the GUI create and use it's  own
647 non-shared colormap.  This  colormap  will  be
648 used when in the bochs window. If not enabled,
649 a shared  colormap  scheme  may be used.  Once
650 again, enabled=1  turns on this feature  and 0
651 turns it off.
653 Example:
654   private_colormap: enabled=1
657 .I "i440fxsupport:"
658 This option controls the presence of the i440FX PCI chipset. You can
659 also specify the devices connected to PCI slots. Up to 5 slots are
660 available now. These devices are currently supported: ne2k, pcivga,
661 pcidev and pcipnic. If Bochs is compiled with Cirrus SVGA support
662 you'll have the additional choice 'cirrus'.
664 Example:
665   i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k
668 .I "pcidev:"
669 Enables the mapping of a host PCI hardware device within the PCI subsystem of
670 the Bochs x86 emulator. This feature requires Linux as a host OS.
672 Example:
673   pcidev: vendor=0x1234, device=0x5678
675 The vendor and device arguments should contain the vendor ID respectively the
676 device ID of the PCI device you want to map within Bochs.
677 .B The PCI mapping is still very experimental.
680 .I "ne2k:"
681 Defines the characteristics of an attached ne2000 isa card :
682    ioaddr=IOADDR,
683    irq=IRQ,
684    mac=MACADDR,
685    ethmod=MODULE,
686    ethdev=DEVICE,
687    script=SCRIPT
689 .B PROPERTIES FOR ne2k:
691 ioaddr, irq:
692 You probably won't need to change ioaddr and irq, unless there are IRQ conflicts.
693 These parameters are ignored if the NE2000 is assigned to a PCI slot.
695 mac:
696 The MAC address MUST NOT match the address of any machine on the net.
697 Also, the first byte must be an even number (bit 0 set means a multicast
698 address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast
699 address.  For the ethertap module, you must use fe:fd:00:00:00:01.  There may
700 be other restrictions too.  To be safe, just use the b0:c4... address.
702 ethmod:
703 The ethmod value defines which low level OS specific module to be used
704 to access physical ethernet interface. Current implemented values include
705  - fbsd   : ethernet on freebsd and openbsd
706  - linux  : ethernet on linux
707  - win32  : ethernet on win32
708  - tap    : ethernet through a linux tap interface
709  - tuntap : ethernet through a linux tuntap interface
711 If you don't want to make connections to any physical networks,
712 you can use the following 'ethmod's to simulate a virtual network.
713  - null   : All packets are discarded, but logged to a few files
714  - arpback: ARP is simulated (disabled by default)
715  - vde    : Virtual Distributed Ethernet
716  - vnet   : ARP, ICMP-echo(ping), DHCP and TFTP are simulated
717             The virtual host uses 192.168.10.1
718             DHCP assigns 192.168.10.2 to the guest
719             The TFTP server use ethdev for the root directory and doesn't
720             overwrite files
722 ethdev:
723 The ethdev value is the name of the network interface on your host
724 platform.  On UNIX machines, you can get the name by running ifconfig.  On
725 Windows machines, you must run niclist to get the name of the ethdev.
726 Niclist source code is in misc/niclist.c and it is included in Windows
727 binary releases.
729 script:
730 The script value is optional, and is the name of a script that
731 is executed after bochs initialize the network interface. You can use
732 this script to configure this network interface, or enable masquerading.
733 This is mainly useful for the tun/tap devices that only exist during
734 Bochs execution. The network interface name is supplied to the script
735 as first parameter
737 Examples:
738   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xlo
739   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
740   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=win32, ethdev=MYCARD
741   ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0
742   ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
743   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl"
744   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp"
747 .I "keyboard_mapping:"
748 This enables a remap of a physical localized keyboard to a
749 virtualized us keyboard, as the PC architecture expects.
750 If enabled, the keymap file must be specified.
752  Examples:
753    keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map
756 .I "keyboard_type:"
757 Type of emulated keyboard sent back  to the OS
758 to a "keyboard identify"  command.  It must be
759 one of "xt", "at" or "mf".
761 Example:
762   keyboard_type: mf
765 .I "user_shortcut:"
766 This defines the keyboard shortcut to be sent when you press the "user"
767 button in the header bar. The shortcut string is a combination of maximum
768 3 key names (listed below) separated with a '-' character.
770 Valid key names:
772 "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc",
773 "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup", "plus",
774 "right", "shift", "space", "tab", "up", "win", "print" and "power".
776 Example:
777   user_shortcut: keys=ctrl-alt-del
780 .I "cmosimage:"
781 This defines image file that can be loaded into the CMOS RAM at startup.
782 The rtc_init parameter controls whether initialize the RTC with values stored
783 in the image. By default the time0 argument given to the clock option is used.
784 With 'rtc_init=image' the image is the source for the initial time.
786 Example:
787   cmosimage: file=cmos.img, rtc_init=time0
790 .I "usb1:"
791 This option controls the presence of the USB root hub which is a part
792 of the i440FX PCI chipset. With the portX option you can connect devices
793 to the hub (currently supported: 'mouse' and 'keypad'). If you connect
794 the mouse to one of the ports and use the mouse option 'type=usb' you'll
795 have a 3-button USB mouse.
797 Example:
798   usb1: enabled=1, port1=mouse, port2=keypad
800 .\"SKIP_SECTION"
801 .SH LICENSE
802 This program  is distributed  under the terms of the  GNU
803 Lesser General Public License as published  by  the  Free
804 Software  Foundation.  See  the  COPYING file located  in
805 /usr/local/share/doc/bochs/ for details on the license and
806 the lack of warranty.
807 .\"SKIP_SECTION"
808 .SH AVAILABILITY
809 The latest version of this program can be found at:
810   http://bochs.sourceforge.net/getcurrent.html
811 .\"SKIP_SECTION"
812 .SH SEE ALSO
813 bochs(1), bochs-dlx(1), bximage(1), bxcommit(1)
816 The Bochs IA-32 Emulator site on the World Wide Web:
817         http://bochs.sourceforge.net
819 Online Bochs Documentation
820         http://bochs.sourceforge.net/doc/docbook
822 .\"SKIP_SECTION"
823 .SH AUTHORS
824 The   Bochs  emulator  was   created   by  Kevin   Lawton
825 (kevin@mandrakesoft.com),  and  is  currently  maintained
826 by the  members of  the  Bochs x86 Emulator Project.  You
827 can see a current roster of members at:
828   http://bochs.sourceforge.net/getinvolved.html
829 .\"SKIP_SECTION"
830 .SH BUGS
831 Please  report all  bugs to the bug tracker  on  our  web
832 site. Just go to http://bochs.sourceforge.net, and click
833 "Bug Reports" on the sidebar under "Feedback".
835 Provide a detailed description of the bug, the version of
836 the program you are running, the operating system you are
837 running the program on  and  the  operating   system  you
838 are running in the emulator.