- update sector count before calling write completion function (SF patch #2144692)
[bochs-mirror.git] / doc / man / bochsrc.5
blob926e03f11a1a19d34346ca01546cc4da26c822a5
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 cpuid_limit_winnt:
142 Determine whether to limit maximum CPUID function to 3. This mode is
143 required to workaround WinNT installation and boot issues.
145 vendor_string:
147 Set the CPUID vendor string returned by CPUID(0x0).  This should be a
148 twelve-character ASCII string.  
150 brand_string:
152 Set the CPUID vendor string returned by CPUID(0x80000002 .. 0x80000004).  
153 This should be at most a forty-eight-character ASCII string.  
155 ips:
157 Emulated Instructions Per Second.  This is the
158 number of IPS that Bochs is capable of running
159 on your machine.  You can recompile Bochs with
160 --enable-show-ips option enabled, to find your
161 workstation's capability.  Measured IPS value
162 will then be logged into your log file or status
163 bar (if supported by the gui).
165 IPS is used to calibrate  many  time-dependent
166 events   within   the  bochs  simulation.  For
167 example, changing IPS affects the frequency of
168 VGA updates, the duration of time before a key
169 starts to autorepeat,  and the measurement  of
170 BogoMips and other benchmarks.
172 Example Specifications[1]
173  Bochs Machine/Compiler                                Mips
174  -------------------------------------------------------------------
175  2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4    50 to 55 Mips
176  2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4      38 to 43 Mips
177  2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4      21 to 25 Mips
178  2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4         12 to 15 Mips
179  2.0.1 1.6Ghz Intel P4 with Win2000/g++ 3.3             5 to  7 Mips
181  [1]  IPS measurements depend on OS and compiler
182 configuration  in addition  to processor clock
183 speed.
185 Example:
186   cpu: count=2, ips=10000000
189 .I "megs:"
190 Set the number of Megabytes of physical memory you want to emulate.
191 The default is 32MB, most OS's won't need more than that.
192 The maximum amount of memory supported is 2048Mb.
194 Example:
195   megs: 32
198 .I "optromimage1: \fP, \fIoptromimage2: \fP, \fIoptromimage3: \fPor \fIoptromimage4:"
199 You may now load up to 4 optional ROM images. Be sure to use a
200 read-only area, typically between C8000 and EFFFF. These optional
201 ROM images should not overwrite the rombios (located at
202 F0000-FFFFF) and the videobios (located at C0000-C7FFF).
203 Those ROM images will be initialized by the bios if they contain
204 the right signature (0x55AA).
205 It can also be a convenient way to upload some arbitrary code/data
206 in the simulation, that can be retrieved by the boot loader
208 Example:
209   optromimage1: file=optionalrom.bin, address=0xd0000
212 .I "vgaromimage:"
213 You also need to load a VGA ROM BIOS into 0xC0000.
215 Examples:
216   vgaromimage: file=bios/VGABIOS-elpin-2.40
217   vgaromimage: file=bios/VGABIOS-lgpl-latest
218   vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
221 .I "vga:"
222 Here you can specify the display extension to be used. With the value 'none'
223 you can use standard VGA with no extension. Other supported values are 'vbe'
224 for Bochs VBE and 'cirrus' for Cirrus SVGA support.
226 Examples:
227   vga: extension=cirrus
228   vga: extension=vbe
231 .I "floppya: \fPor \fIfloppyb:"
233 Point  this to  the pathname of a floppy image
234 file or  device.  Floppya is the  first drive,
235 and  floppyb is the  second drive.  If  you're
236 booting from a floppy, floppya should point to
237 a bootable disk.
239 You can set the initial status of the media to
240 \&'ejected' or 'inserted'. Usually you will want
241 to use 'inserted'.
243 Example:
245 2.88M 3.5" Floppy:
246   floppya: 2_88=path, status=ejected
248 1.44M 3.5" Floppy:
249   floppya: 1_44=path, status=inserted
251 1.2M  5.25" Floppy:
252   floppyb: 1_2=path, status=ejected
254 720K  3.5" Floppy:
255   floppya: 720k=path, status=inserted
257 360K  5.25" Floppy:
258   floppya: 360k=path, status=inserted
260 Autodetect Floppy type:
261   floppya: image=path, status=inserted
264 .I "ata0: \fP, \fIata1: \fP, \fIata2: \fPor \fIata3:"
266 These options enables up to 4 ata channels. For each channel
267 the two base io addresses and the irq must be specified.
268 ata0 and ata1 are enabled by default, with the values shown below.
270 Examples:
271    ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
272    ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
273    ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
274    ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9
277 .I "ata\fR[\fB0-3\fR]\fI-master: \fPor \fIata\fR[\fB0-3\fR]\fI-slave:"
279 This defines the type and characteristics of all attached ata devices:
280    type=       type of attached device [disk|cdrom]
281    path=       path of the image
282    mode=       image mode [flat|concat|external|dll|sparse|vmware3|undoable|growing|volatile], only valid for disks
283    cylinders=  only valid for disks
284    heads=      only valid for disks
285    spt=        only valid for disks
286    status=     only valid for cdroms [inserted|ejected]
287    biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos]
288    translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto]
289    model=      string returned by identify device command
290    journal=    optional filename of the redolog for undoable and volatile disks
292 Point this at a hard disk image file, cdrom iso file,
293 or a physical cdrom device.
294 To create a hard disk image, try running bximage.
295 It will help you choose the size and then suggest a line that
296 works with it.
298 In UNIX it is possible to use a raw device as a Bochs hard disk,
299 but WE DON'T RECOMMEND IT.
301 The path is always mandatory. Disk geometry autodetection works with images
302 created by bximage if CHS is set to 0/0/0 (cylinders are calculated using
303 heads=16 and spt=63). For other hard disk images and modes the cylinders,
304 heads, and spt are mandatory.
306 The mode option defines how the disk image is handled. Disks can be defined as:
307   - flat : one file flat layout
308   - concat : multiple files layout
309   - external : developer's specific, through a C++ class
310   - dll : developer's specific, through a DLL
311   - sparse : stackable, commitable, rollbackable
312   - vmware3 : vmware3 disk support
313   - undoable : flat file with commitable redolog
314   - growing : growing file
315   - volatile : flat file with volatile redolog
317 The disk translation scheme (implemented in legacy int13 bios functions, and used by
318 older operating systems like MS-DOS), can be defined as:
319   - none : no translation, for disks up to 528MB (1032192 sectors)
320   - large : a standard bitshift algorithm, for disks up to 4.2GB (8257536 sectors)
321   - 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)
322   - lba : a standard lba-assisted algorithm, for disks up to 8.4GB (16450560 sectors)
323   - auto : autoselection of best translation scheme. (it should be changed if system does not boot)
325 Default values are:
326    mode=flat, biosdetect=auto, translation=auto, model="Generic 1234"
328 The biosdetect option has currently no effect on the bios
330 Examples:
331    ata0-master: type=disk, path=10M.sample, cylinders=306, heads=4, spt=17
332    ata0-slave:  type=disk, path=20M.sample, cylinders=615, heads=4, spt=17
333    ata1-master: type=disk, path=30M.sample, cylinders=615, heads=6, spt=17
334    ata1-slave:  type=disk, path=46M.sample, cylinders=940, heads=6, spt=17
335    ata2-master: type=disk, path=62M.sample, cylinders=940, heads=8, spt=17
336    ata2-slave:  type=disk, path=112M.sample, cylinders=900, heads=15, spt=17
337    ata3-master: type=disk, path=483M.sample, cylinders=1024, heads=15, spt=63
338    ata3-slave:  type=cdrom, path=iso.sample, status=inserted
341 .I "com1: \fP, \fIcom2: \fP, \fIcom3: \fPor \fIcom4:"
342 This defines a serial port (UART type 16550A). In the 'term' you can specify
343 a device to use as com1. This can be a real serial line, or a pty.  To use
344 a pty (under X/Unix), create two windows (xterms, usually).  One of them will
345 run bochs, and the other will act as com1. Find out the tty the com1 window
346 using the `tty' command, and use that as the `dev' parameter.  Then do
347 `sleep 1000000' in the com1 window to keep the shell from messing with things,
348 and run bochs in the other window.  Serial I/O to com1 (port 0x3f8) will all
349 go to the other window.
351 Other serial modes are 'null' (no input/output), 'file' (output to a file
352 specified as the 'dev' parameter), 'raw' (use the real serial port - under
353 construction for win32) and 'mouse' (standard serial mouse - requires
354 mouse option setting 'type=serial' or 'type=serial_wheel')
356 Examples:
357   com1: enabled=term, dev=/dev/ttyp7
358   com2: enabled=1, mode=file, dev=serial.out
359   com1: enabled=1, mode=mouse
362 .I "parport1: \fPor \fIparport2:"
363 This defines a parallel (printer) port. When turned on and an output file is
364 defined the emulated printer port sends characters printed by the guest
365 OS into the output file. On some platforms a device filename can be used to
366 send the data to the real parallel port (e.g. "/dev/lp0" on Linux).
368 Examples:
369   parport1: enabled=1, file=parport.out
370   parport2: enabled=1, file="/dev/lp0"
371   parport1: enabled=0
374 .I "boot:"
375 This defines the boot sequence. Now you can specify up to 3 boot drives,
376 which can be 'floppy', 'disk', 'cdrom' or 'network' (boot ROM).
377 Legacy 'a' and 'c' are also supported.
379 Example:
380   boot: cdrom, floppy, disk
383 .I "floppy_bootsig_check:"
384 This disables the 0xaa55 signature check on boot floppies
385 The check is enabled by default.
387 Example:
388   floppy_bootsig_check: disabled=1
391 .I "log:"
392 Give the path of the log file you'd like Bochs
393 debug and misc. verbiage to be written to.   If
394 you really don't want it, make it /dev/null.
396 Example:
397   log: bochs.out
398   log: /dev/tty               (unix only)
399   log: /dev/null              (unix only)
402 .I "logprefix:"
403 This handles the format of the string prepended to each log line :
404 You may use those special tokens :
405   %t : 11 decimal digits timer tick
406   %i : 8 hexadecimal digits of cpu0 current eip
407   %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror)
408   %d : 5 characters string of the device, between brackets
410 Default : %t%e%d
412 Examples:
413   logprefix: %t-%e-@%i-%d
414   logprefix: %i%e%d
417 .I "panic:"
418 If Bochs reaches  a condition  where it cannot
419 emulate correctly, it does a panic.  This  can
420 be a configuration problem  (like a misspelled
421 bochsrc line) or an emulation problem (like an
422 unsupported video mode). The  "panic"  setting
423 in  bochsrc  tells  Bochs  how to respond to a
424 panic.  You  can  set this to fatal (terminate
425 the session),  report   (print information  to
426 the console), or ignore (do nothing).
428 The safest setting is action=fatal. If you are
429 getting  panics,  you  can  try  action=report
430 instead.  If you allow Bochs to continue after
431 a panic, don't be surprised if you get strange
432 behavior or crashes if a panic occurs.  Please
433 report  panic  messages  unless  it is just  a
434 configuration  problem  like  "could  not find
435 hard drive image."
437 Example:
438   panic: action=fatal
442 .I "error:"
443 Bochs produces an error message when it  finds
444 a condition that really shouldn't happen,  but
445 doesn't endanger the simulation. An example of
446 an error  might be  if the  emulated  software
447 produces an illegal disk command.
449 The "error" setting tells Bochs how to respond
450 to an error condition.   You can set  this  to
451 fatal  (terminate the session),  report (print
452 information to the  console),  or  ignore  (do
453 nothing).
455 Example:
456   error: action=report
459 .I "info:"
460 This setting tells Bochs what to  do  when  an
461 event  occurs   that  generates  informational
462 messages.  You can  set this  to  fatal  (that
463 would not be very smart though), report (print
464 information to the  console),  or  ignore  (do
465 nothing).   For  general  usage,  the "report"
466 option is probably a good choice.
468 Example:
469   info: action=report
472 .I "debug:"
473 This  setting  tells  Bochs what  to  do  with
474 messages intended to assist in debugging.  You
475 can set  this  to  fatal  (but you shouldn't),
476 report (print information to the  console), or
477 ignore (do nothing). You should generally  set
478 this  to  ignore,  unless  you are  trying  to
479 diagnose a particular problem.
481 .B NOTE:
482 When  action=report,   Bochs   may  spit  out
483 thousands of debug messages per second, which
484 can impact performance and fill up your disk.
486 Example:
487   debug: action=ignore
490 .I "debugger_log:"
491 Give the path of the log file you'd like Bochs to log debugger output.
492 If you really don't want it, make it '/dev/null', or '-'.
494 Example:
495   log: debugger.out
496   log: /dev/null              (unix only)
497   log: -
500 .I "sb16:"
501 This  defines the SB16 sound emulation. It can
502 have several of the  following properties. All
503 properties are in this format:
504   sb16: property=value
507 .B PROPERTIES FOR sb16:
509 midi:
511 The  filename is where the midi data is  sent.
512 This can  be  a device  or just a file if  you
513 want to record the midi data.
515 midimode:
517  0 = No data should be output.
518  1 = output to device (system dependent - midi
519  denotes the device driver).
520  2 = SMF file output, including headers.
521  3 = Output  the midi  data stream to the file
522  (no  midi headers  and  no delta  times, just
523  command and data bytes).
525 wave:
527 This  is the device/file where wave  output is
528 stored.
530 wavemode:
532  0 = no data
533  1 = output to device (system dependent - wave
534  denotes the device driver).
535  2 = VOC file output, including headers.
536  3 = Output the raw wave stream to the file.
538 log:
540 The file to write the sb16 emulator messages to.
542 loglevel:
544  0 = No log.
545  1 = Resource changes, midi program and bank changes.
546  2 = Severe errors.
547  3 = All errors.
548  4 = All errors plus all port accesses.
549  5 = All  errors and port  accesses plus a lot
550  of extra information.
552 It is possible to change the loglevel at runtime.
554 dmatimer:
556 Microseconds per second for a DMA cycle.  Make it smaller
557 to fix non-continuous sound.  750000 is  usually  a  good
558 value.  This  needs  a reasonably  correct   setting  for
559 the  IPS  parameter of the CPU option.  It is possible to
560 adjust the dmatimer at runtime.
562 Example for output to OSS:
563   sb16: midimode=1, midi=/dev/midi00,
564   wavemode=1, wave=/dev/dsp, loglevel=2,
565   log=sb16.log, dmatimer=600000
567 Example for output to ALSA:
568   sb16: midimode=1, midi=alsa:128:0,
569   wavemode=1, wave=alsa,
570   log=sb16.log, dmatimer=600000
572 .B NOTE:
573 The  examples are wrapped onto three  lines for
574 formatting  reasons, but  it should all be  on
575 one line in the actual bochsrc file.
578 .I "vga_update_interval:"
579 Video memory is scanned for updates and screen updated
580 every so many virtual seconds. The default value is
581 40000, about 25Hz. Keep in mind that you  must tweak
582 the 'cpu: ips=N' directive to be as close  to the number of
583 emulated instructions-per-second your  workstation can
584 do, for this to be accurate.
586 Example:
587   vga_update_interval: 250000
591 .I "keyboard_serial_delay:"
592 Approximate time in microseconds that it takes
593 one  character  to   be  transfered  from  the
594 keyboard to controller over the serial path.
596 Example:
597   keyboard_serial_delay: 200
600 .I "keyboard_paste_delay:"
601 Approximate time in microseconds between attempts to paste
602 characters to the keyboard controller. This leaves time for the
603 guest os to deal with the flow of characters.  The ideal setting
604 depends on how your operating system processes characters.  The
605 default of 100000 usec (.1 seconds) was chosen because it works
606 consistently in Windows.
608 If your OS is losing characters during a paste, increase the paste
609 delay until it stops losing characters.
611 Example:
612   keyboard_paste_delay: 100000
615 .I "clock:"
616 This defines the parameters of the clock inside Bochs.
618 sync
620 TO BE COMPLETED (see Greg explanation in feature request #536329)
622 time0
624 Specifies the start (boot) time of the virtual machine. Use a time
625 value as returned by the time(2) system call. If no time0 value is
626 set or if time0 equal to 1 (special case) or if time0 equal 'local',
627 the simulation will be started at the current local host time.
628 If time0 equal to 2 (special case) or if time0 equal 'utc',
629 the simulation will be started at the current utc time.
631 Syntax:
632   clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc]
634 Default value are sync=none, time0=local
636 Example:
637   clock: sync=realtime, time0=938581955   # Wed Sep 29 07:12:35 1999
640 .I "mouse:"
641 This option prevents Bochs from creating mouse "events"
642 unless a mouse is enabled. The hardware emulation itself
643 is not disabled  by this. You can turn the mouse on by
644 setting enabled to  1, or turn it off by setting enabled
645 to 0. Unless you have a particular reason  for enabling
646 the mouse by default, it is recommended that you leave
647 it off. You can also toggle the mouse usage at runtime
648 (control key + middle mouse button).
649 With the mouse type option you can select the type of mouse to emulate.
650 The default value is 'ps2'. The other choices are 'imps2' (wheel mouse
651 on PS/2), 'serial', 'serial_wheel' (one com port requires setting 'mode=mouse')
652 and 'usb' (3-button mouse - one of the USB ports must be connected with
653 the 'mouse' device - requires PCI and USB support).
655 Examples:
656   mouse: enabled=0
657   mouse: enabled=1, type=imps2
660 .I "private_colormap:"
661 Requests that the GUI create and use it's  own
662 non-shared colormap.  This  colormap  will  be
663 used when in the bochs window. If not enabled,
664 a shared  colormap  scheme  may be used.  Once
665 again, enabled=1  turns on this feature  and 0
666 turns it off.
668 Example:
669   private_colormap: enabled=1
672 .I "i440fxsupport:"
673 This option controls the presence of the i440FX PCI chipset. You can
674 also specify the devices connected to PCI slots. Up to 5 slots are
675 available now. These devices are currently supported: ne2k, pcivga,
676 pcidev and pcipnic. If Bochs is compiled with Cirrus SVGA support
677 you'll have the additional choice 'cirrus'.
679 Example:
680   i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k
683 .I "pcidev:"
684 Enables the mapping of a host PCI hardware device within the PCI subsystem of
685 the Bochs x86 emulator. This feature requires Linux as a host OS.
687 Example:
688   pcidev: vendor=0x1234, device=0x5678
690 The vendor and device arguments should contain the vendor ID respectively the
691 device ID of the PCI device you want to map within Bochs.
692 .B The PCI mapping is still very experimental.
695 .I "ne2k:"
696 Defines the characteristics of an attached ne2000 isa card :
697    ioaddr=IOADDR,
698    irq=IRQ,
699    mac=MACADDR,
700    ethmod=MODULE,
701    ethdev=DEVICE,
702    script=SCRIPT
704 .B PROPERTIES FOR ne2k:
706 ioaddr, irq:
707 You probably won't need to change ioaddr and irq, unless there are IRQ conflicts.
708 These parameters are ignored if the NE2000 is assigned to a PCI slot.
710 mac:
711 The MAC address MUST NOT match the address of any machine on the net.
712 Also, the first byte must be an even number (bit 0 set means a multicast
713 address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast
714 address.  For the ethertap module, you must use fe:fd:00:00:00:01.  There may
715 be other restrictions too.  To be safe, just use the b0:c4... address.
717 ethmod:
718 The ethmod value defines which low level OS specific module to be used
719 to access physical ethernet interface. Current implemented values include
720  - fbsd   : ethernet on freebsd and openbsd
721  - linux  : ethernet on linux
722  - win32  : ethernet on win32
723  - tap    : ethernet through a linux tap interface
724  - tuntap : ethernet through a linux tuntap interface
726 If you don't want to make connections to any physical networks,
727 you can use the following 'ethmod's to simulate a virtual network.
728  - null   : All packets are discarded, but logged to a few files
729  - arpback: ARP is simulated (disabled by default)
730  - vde    : Virtual Distributed Ethernet
731  - vnet   : ARP, ICMP-echo(ping), DHCP and TFTP are simulated
732             The virtual host uses 192.168.10.1
733             DHCP assigns 192.168.10.2 to the guest
734             The TFTP server use ethdev for the root directory and doesn't
735             overwrite files
737 ethdev:
738 The ethdev value is the name of the network interface on your host
739 platform.  On UNIX machines, you can get the name by running ifconfig.  On
740 Windows machines, you must run niclist to get the name of the ethdev.
741 Niclist source code is in misc/niclist.c and it is included in Windows
742 binary releases.
744 script:
745 The script value is optional, and is the name of a script that
746 is executed after bochs initialize the network interface. You can use
747 this script to configure this network interface, or enable masquerading.
748 This is mainly useful for the tun/tap devices that only exist during
749 Bochs execution. The network interface name is supplied to the script
750 as first parameter
752 Examples:
753   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xlo
754   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
755   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=win32, ethdev=MYCARD
756   ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0
757   ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
758   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl"
759   ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp"
762 .I "keyboard_mapping:"
763 This enables a remap of a physical localized keyboard to a
764 virtualized us keyboard, as the PC architecture expects.
765 If enabled, the keymap file must be specified.
767  Examples:
768    keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map
771 .I "keyboard_type:"
772 Type of emulated keyboard sent back  to the OS
773 to a "keyboard identify"  command.  It must be
774 one of "xt", "at" or "mf".
776 Example:
777   keyboard_type: mf
780 .I "user_shortcut:"
781 This defines the keyboard shortcut to be sent when you press the "user"
782 button in the header bar. The shortcut string is a combination of maximum
783 3 key names (listed below) separated with a '-' character.
785 Valid key names:
787 "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc",
788 "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup", "plus",
789 "right", "shift", "space", "tab", "up", "win", "print" and "power".
791 Example:
792   user_shortcut: keys=ctrl-alt-del
795 .I "cmosimage:"
796 This defines image file that can be loaded into the CMOS RAM at startup.
797 The rtc_init parameter controls whether initialize the RTC with values stored
798 in the image. By default the time0 argument given to the clock option is used.
799 With 'rtc_init=image' the image is the source for the initial time.
801 Example:
802   cmosimage: file=cmos.img, rtc_init=time0
805 .I "usb1:"
806 This option controls the presence of the USB root hub which is a part
807 of the i440FX PCI chipset. With the portX option you can connect devices
808 to the hub (currently supported: 'mouse' and 'keypad'). If you connect
809 the mouse to one of the ports and use the mouse option 'type=usb' you'll
810 have a 3-button USB mouse.
812 Example:
813   usb1: enabled=1, port1=mouse, port2=keypad
815 .\"SKIP_SECTION"
816 .SH LICENSE
817 This program  is distributed  under the terms of the  GNU
818 Lesser General Public License as published  by  the  Free
819 Software  Foundation.  See  the  COPYING file located  in
820 /usr/local/share/doc/bochs/ for details on the license and
821 the lack of warranty.
822 .\"SKIP_SECTION"
823 .SH AVAILABILITY
824 The latest version of this program can be found at:
825   http://bochs.sourceforge.net/getcurrent.html
826 .\"SKIP_SECTION"
827 .SH SEE ALSO
828 bochs(1), bochs-dlx(1), bximage(1), bxcommit(1)
831 The Bochs IA-32 Emulator site on the World Wide Web:
832         http://bochs.sourceforge.net
834 Online Bochs Documentation
835         http://bochs.sourceforge.net/doc/docbook
837 .\"SKIP_SECTION"
838 .SH AUTHORS
839 The   Bochs  emulator  was   created   by  Kevin   Lawton
840 (kevin@mandrakesoft.com),  and  is  currently  maintained
841 by the  members of  the  Bochs x86 Emulator Project.  You
842 can see a current roster of members at:
843   http://bochs.sourceforge.net/getinvolved.html
844 .\"SKIP_SECTION"
845 .SH BUGS
846 Please  report all  bugs to the bug tracker  on  our  web
847 site. Just go to http://bochs.sourceforge.net, and click
848 "Bug Reports" on the sidebar under "Feedback".
850 Provide a detailed description of the bug, the version of
851 the program you are running, the operating system you are
852 running the program on  and  the  operating   system  you
853 are running in the emulator.