Provided by: bochs_2.4.6-4_i386 bug


       bochsrc - Configuration file for Bochs.


       Bochsrc    is   the   configuration   file  that specifies where  Bochs
       should look for disk images,  how the  Bochs  emulation  layer   should
       work,   etc.    The   syntax   used  for  bochsrc   can also be used as
       command line  arguments for Bochs. The .bochsrc  file should be  placed
       either in the current  directory  before running  Bochs or in your home

       Starting with Bochs 1.3, you  can  use  environment  variables  in  the
       bochsrc file, for example:

         floppya: 1_44="$IMAGES/bootdisk.img", status=inserted

       Starting  with  version  2.0, two environment variables have a built-in
       default value which is set at compile time.   $BXSHARE  points  to  the
       "share"  directory  which  is  typically /usr/local/share/bochs on UNIX
       machines.  See the $(sharedir) variable in the Makefile for  the  exact
       value.   $BXSHARE  is used by disk images to locate the directory where
       the BIOS images and keymaps can be found.  If $BXSHARE is not  defined,
       Bochs  will  supply the default value.  Also, $LTDL_LIBRARY_PATH points
       to a list of directories (separated by colons  if  more  than  one)  to
       search  in  for  Bochs  plugins.  A compile-time default is provided if
       this variable is not defined by the user.


              This option includes another configuration file. It is  possible
              to  put  installation  defaults  in  a  global config file (e.g.
              location of rom images).

                #include /etc/bochsrc

              The configuration interface is a series of menus or dialog boxes
              that  allows you to change all the settings that control Bochs's
              behavior.  Depending on the platform there are up to  3  choices
              of   configuration   interface:   a  text  mode  version  called
              "textconfig" and two graphical versions called "win32config" and
              "wx".   The  text  mode  version uses stdin/stdout and is always
              compiled in, unless Bochs is compiled for wx  only.  The  choice
              "win32config"  is  only available on win32 and it is the default
              there.  The choice "wx" is only available when you use  "--with-
              wx"   on   the  configure  command.   If  you  do  not  write  a
              config_interface line, Bochs will choose a default for you.

              NOTE: if you use the "wx" configuration interface, you must also
              use the "wx" display library.

                config_interface: textconfig

              The  display  library  is  the  code that displays the Bochs VGA
              screen.  Bochs has a selection of  about  10  different  display
              library  implementations  for  different  platforms.  If you run
              configure with multiple --with-*  options,  the  display_library
              command  lets you choose which one you want to run with.  If you
              do not write a display_library line, Bochs will choose a default
              for you.

              The choices are:
                x           X windows interface, cross platform
                win32       native win32 libraries
                carbon      Carbon library (for MacOS X)
                beos        native BeOS libraries
                macintosh   MacOS pre-10
                amigaos     native AmigaOS libraries
                sdl         SDL library, cross platform
                term         text  only,  uses  curses/ncurses  library, cross
                rfb         provides an interface to AT&T's VNC viewer,  cross
                wx          wxWidgets library, cross platform
                nogui       no display at all

              Some  display  libraries  now support specific option to control
              their behaviour. See the examples below for currently  supported

              NOTE: if you use the "wx" configuration interface, you must also
              use the "wx" display library.

                display_library: x
                display_library: rfb, options="timeout=60"  # time to wait for
                display_library:   sdl,  options="fullscreen"   #  startup  in
              fullscreen mode
                display_library: x, options="hideIPS" # disable IPS output  in
              status bar
                display_library: x, options="gui_debug" # use GTK debugger gui

              The  ROM BIOS controls what the PC does when it first powers on.
              Normally, you can use a precompiled BIOS in the source or binary
              distribution  called BIOS-bochs-latest.  The default ROM BIOS is
              usually loaded starting at address 0xe0000, and  it  is  exactly
              128k  long.  The  legacy  version  of  the Bochs BIOS is usually
              loaded starting at address 0xf0000, and it is exactly 64k  long.
              You  can  also  use the environment variable $BXSHARE to specify
              the location of the BIOS.  The  usage  of  external  large  BIOS
              images (up to 512k) at memory top is now supported, but we still
              recommend to use the BIOS distributed  with  Bochs.   The  start
              address is optional, since it can be calculated from image size.

                romimage: file=bios/BIOS-bochs-latest
                romimage: file=$BXSHARE/BIOS-bochs-legacy
                romimage: file=mybios.bin, address=0xfff80000
                romimage: file=mybios.bin

       cpu:   This defines cpu-related parameters inside Bochs:


              Set  the  number  of  processors:cores per processor:threads per
              core when Bochs is compiled for SMP emulation.  Bochs  currently
              supports  up  to  8 processors. If Bochs is compiled without SMP
              support, it won't accept values different from 1.


              Maximum amount of instructions allowed to execute  by  processor
              before returning control to another cpu. This option exists only
              in Bochs binary compiled with SMP support.


              Reset the CPU  when  triple  fault  occur  (highly  recommended)
              rather than PANIC. Remember that if you trying to continue after
              triple fault the simulation will be completely bogus !


              Define  path  to  user  CPU  Model  Specific  Registers   (MSRs)
              specification.  See example in msrs.def.


              Ignore  MSR  references  that Bochs does not understand; print a
              warning message instead of generating #GP exception. This option
              is  enabled  by default but will not be avaiable if configurable
              MSRs are enabled.


              Emulated Instructions Per Second.  This is  the  number  of  IPS
              that  Bochs  is  capable  of  running  on your machine.  You can
              recompile Bochs with --enable-show-ips option enabled,  to  find
              your  workstation's capability.  Measured IPS value will then be
              logged into your log file or status bar  (if  supported  by  the

              IPS  is  used to calibrate  many  time-dependent events   within
              the  bochs  simulation.  For example, changing IPS  affects  the
              frequency  of  VGA  updates,  the  duration of time before a key
              starts to autorepeat,  and  the  measurement   of  BogoMips  and
              other benchmarks.

              Example Specifications[1]

              Bochs   Machine/Compiler                             Mips
              2.3.7   3.2Ghz Intel Core 2 Q9770 w/ WinXP/g++ 3.4   50-55 Mips
              2.3.7   2.6Ghz Intel Core 2 Duo w/ WinXP/g++ 3.4     38-43 Mips
              2.2.6   2.6Ghz Intel Core 2 Duo w/ WinXP/g++ 3.4     21-25 Mips
              2.2.6   2.1Ghz Athlon XP w/ Linux 2.6/g++ 3.4        12-15 Mips
              2.0.1   1.6Ghz Intel P4 w/ Win2000/g++ 3.3           5-7 Mips

               [1]   IPS  measurements depend on OS and compiler configuration
              in addition  to processor clock speed.

                cpu: count=2, ips=10000000, msrs="msrs.def"

       cpuid: This defines  features  and  functionality  supported  by  Bochs
              emulated CPU:


              Select  MMX instruction set support.  This option exists only if
              Bochs compiled with BX_CPU_LEVEL >= 5.


              Select SYSENTER/SYSEXIT instruction set  support.   This  option
              exists only if Bochs compiled with BX_CPU_LEVEL >= 6.


              Select     SSE     instruction     set    support.     Any    of
              NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2 could be selected.   This
              option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.


              Select  XAPIC  extensions  support.   This option exists only if
              Bochs compiled with BX_CPU_LEVEL >= 6.


              Select AES instruction set support.  This option exists only  if
              Bochs compiled with BX_CPU_LEVEL >= 6.


              Select  MOVBE  Intel(R)  Atom  instruction support.  This option
              exists only if Bochs compiled with BX_CPU_LEVEL >= 6.


              Select XSAVE extensions support.  This  option  exists  only  if
              Bochs compiled with BX_CPU_LEVEL >= 6.


              Enable  1G  page  size support in long mode.  This option exists
              only if Bochs compiled with x86-64 support.


              Enable Process-Context Identifiers (PCID) support in long  mode.
              This option exists only if Bochs compiled with x86-64 support.


              Select  MONITOR/MWAIT  instructions support.  This option exists
              only if Bochs compiled with --enable-monitor-mwait.


              When this option is enabled MWAIT will not put the  CPU  into  a
              sleep  state.   This  option  exists only if Bochs compiled with


              Set stepping information returned  by  CPUID.  Default  stepping
              value is 3.


              Set the CPUID vendor string returned by CPUID(0x0).  This should
              be a twelve-character ASCII string.


              Set the CPUID vendor  string  returned  by  CPUID(0x80000002  ..
              0x80000004).   This  should  be  at most a forty-eight-character
              ASCII string.


              Determine whether to limit maximum CPUID  function  to  3.  This
              mode  is  required  to  workaround  WinNT  installation and boot

                cpuid: mmx=1,  sep=1,  sse=sse4_2,  xapic=1,  aes=1,  movbe=1,
              xsave=1, cpuid_limit_winnt=0

       megs:  Set  the  number  of  Megabytes  of  physical memory you want to
              emulate.  The default is 32MB, most OS's won't  need  more  than
              that.  The maximum amount of memory supported is 2048Mb.

                megs: 32

       optromimage1: , optromimage2: , optromimage3: or optromimage4:
              You  may  now load up to 4 optional ROM images. Be sure to use a
              read-only  area,  typically  between  C8000  and  EFFFF.   These
              optional ROM images should not overwrite the rombios (located at
              F0000-FFFFF) and the videobios (located at C0000-C7FFF).   Those
              ROM  images  will be initialized by the bios if they contain the
              right signature (0x55AA).  It can also be a  convenient  way  to
              upload  some  arbitrary code/data in the simulation, that can be
              retrieved by the boot loader

                optromimage1: file=optionalrom.bin, address=0xd0000

              You also need to load a VGA ROM BIOS into 0xC0000.

                vgaromimage: file=bios/VGABIOS-elpin-2.40
                vgaromimage: file=bios/VGABIOS-lgpl-latest
                vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest

       vga:   Here you can specify the display extension to be used. With  the
              value  'none'  you can use standard VGA with no extension. Other
              supported values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus
              SVGA support.

                vga: extension=cirrus
                vga: extension=vbe

       floppya: or floppyb:

              Point   this to  the pathname of a floppy image file or  device.
              Floppya is the  first drive, and  floppyb is the  second  drive.
              If   you're  booting  from  a  floppy, floppya should point to a
              bootable disk.

              You can set the initial status of  the  media  to  'ejected'  or
              'inserted'. Usually you will want to use 'inserted'.

              The  parameter  'type'  can  be  used to enable the floppy drive
              without media and status specified. Usually the  drive  type  is
              set up based on the media type.

              The  optional parameter 'write_protected' can be used to control
              the media write protect switch. By default it is turned off.


              2.88M 3.5" media:
                floppya: 2_88=path, status=ejected

              1.44M 3.5" media (write protected):
                floppya: 1_44=path, status=inserted, write_protected=1

              1.2M  5.25" media:
                floppyb: 1_2=path, status=ejected

              720K  3.5" media:
                floppya: 720k=path, status=inserted

              360K  5.25" media:
                floppya: 360k=path, status=inserted

              Autodetect floppy media type:
                floppya: image=path, status=inserted

              Use directory as 1.44M VFAT media:
                floppya: 1_44=vvfat:path, status=inserted

              1.44M 3.5" floppy drive, no media:
                floppya: type=1_44

       ata0: , ata1: , ata2: or ata3:

              These options enables up to 4 ata channels. For each channel the
              two  base  io addresses and the irq must be specified.  ata0 and
              ata1 are enabled by default, with the values shown below.

                 ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
                 ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
                 ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
                 ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9

       ata[0-3]-master: or ata[0-3]-slave:

              This defines the type and characteristics of  all  attached  ata
                 type=       type of attached device [disk|cdrom]
                 path=       path of the image
                 mode=                           image                    mode
              only valid for disks
                 cylinders=  only valid for disks
                 heads=      only valid for disks
                 spt=        only valid for disks
                 status=     only valid for cdroms [inserted|ejected]
                 biosdetect= type of biosdetection [none|auto], only for disks
              on ata0 [cmos]
                 translation=type of translation of the bios, only  for  disks
                 model=      string returned by identify device command
                 journal=     optional  filename  of the redolog for undoable,
              volatile and vvfat disks

              Point this at a hard disk image  file,  cdrom  iso  file,  or  a
              physical cdrom device.  To create a hard disk image, try running
              bximage.  It will help you choose the size and  then  suggest  a
              line that works with it.

              In UNIX it is possible to use a raw device as a Bochs hard disk,
              but WE DON'T RECOMMEND IT.

              The  path  is  mandatory   for   hard   disks.   Disk   geometry
              autodetection works with images created by bximage if CHS is set
              to 0/0/0 (cylinders are calculated using  heads=16 and  spt=63).
              For  other  hard disk images and modes the cylinders, heads, and
              spt are mandatory. In all cases the disk size reported from  the
              image must be exactly C*H*S*512.

              The mode option defines how the disk image is handled. Disks can
              be defined as:
                - flat : one file flat layout
                - concat : multiple files layout
                - external : developer's specific, through a C++ class
                - dll : developer's specific, through a DLL
                - sparse : stackable, commitable, rollbackable
                - vmware3 : vmware3 disk support
                - undoable : flat file with commitable redolog
                - growing : growing file
                - volatile : flat file with volatile redolog
                - vvfat: local directory appears as read-only VFAT disk  (with
              volatile redolog)

              The  disk  translation  scheme (implemented in legacy int13 bios
              functions, and used by older operating systems like MS-DOS), can
              be defined as:
                -  none  :  no  translation,  for  disks  up to 528MB (1032192
                - large : a standard bitshift algorithm, for disks up to 4.2GB
              (8257536 sectors)
                -  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)
                -  lba  :  a  standard lba-assisted algorithm, for disks up to
              8.4GB (16450560 sectors)
                - auto : autoselection of best translation scheme. (it  should
              be changed if system does not boot)

              Default values are:
                 mode=flat,  biosdetect=auto, translation=auto, model="Generic

              The biosdetect option has currently no effect on the bios

                 ata0-master:   type=disk,   path=10M.sample,   cylinders=306,
              heads=4, spt=17
                 ata0-slave:    type=disk,   path=20M.sample,   cylinders=615,
              heads=4, spt=17
                 ata1-master:   type=disk,   path=30M.sample,   cylinders=615,
              heads=6, spt=17
                 ata1-slave:    type=disk,   path=46M.sample,   cylinders=940,
              heads=6, spt=17
                 ata2-master:   type=disk,   path=62M.sample,   cylinders=940,
              heads=8, spt=17
                 ata2-slave:    type=disk,   path=112M.sample,  cylinders=900,
              heads=15, spt=17
                 ata3-master:  type=disk,  path=483M.sample,   cylinders=1024,
              heads=15, spt=63
                 ata3-slave:  type=cdrom, path=iso.sample, status=inserted

       com1: , com2: , com3: or com4:
              This defines a serial port (UART type 16550A). In the 'term' you
              can specify a device to use as com1. This can be a  real  serial
              line, or a pty.  To use a pty (under X/Unix), create two windows
              (xterms, usually).  One of them will run bochs,  and  the  other
              will  act  as  com1.  Find out the tty the com1 window using the
              `tty' command, and use that as the  `dev'  parameter.   Then  do
              `sleep  1000000'  in  the  com1  window  to  keep the shell from
              messing with things, and run bochs in the other window.   Serial
              I/O to com1 (port 0x3f8) will all go to the other window.

              Other  serial modes are 'null' (no input/output), 'file' (output
              to a file specified as the 'dev' parameter), 'raw' (use the real
              serial   port  -  under  construction  for  win32)  and  'mouse'
              (standard  serial  mouse  -  requires   mouse   option   setting
              'type=serial' or 'type=serial_wheel')

                com1: enabled=1, mode=term, dev=/dev/ttyp7
                com2: enabled=1, mode=file, dev=serial.out
                com1: enabled=1, mode=mouse

       parport1: or parport2:
              This  defines  a  parallel (printer) port. When turned on and an
              output  file  is  defined  the  emulated  printer   port   sends
              characters printed by the guest OS into the output file. On some
              platforms a device filename can be used to send the data to  the
              real parallel port (e.g. "/dev/lp0" on Linux).

                parport1: enabled=1, file=parport.out
                parport2: enabled=1, file="/dev/lp0"
                parport1: enabled=0

       boot:  This defines the boot sequence. Now you can specify up to 3 boot
              drives, which can be  'floppy',  'disk',  'cdrom'  or  'network'
              (boot ROM).  Legacy 'a' and 'c' are also supported.

                boot: cdrom, floppy, disk

              This  disables  the  0xaa55 signature check on boot floppies The
              check is enabled by default.

                floppy_bootsig_check: disabled=1

       log:   Give the path of the log file you'd like Bochs debug  and  misc.
              verbiage  to  be written to.   If you really don't want it, make
              it /dev/null.

                log: bochs.out
                log: /dev/tty               (unix only)
                log: /dev/null              (unix only)

              This handles the format of the string prepended to each log line
              : You may use those special tokens :
                %t : 11 decimal digits timer tick
                %i : 8 hexadecimal digits of cpu0 current eip
                %e  :  1  character  event  type  ('i'nfo,  'd'ebug,  'p'anic,
                %d : 5 characters string of the device, between brackets

              Default : %t%e%d

                logprefix: %t-%e-@%i-%d
                logprefix: %i%e%d

       panic: If  Bochs  reaches   a  condition   where  it   cannot   emulate
              correctly,  it  does  a  panic.   This   can  be a configuration
              problem  (like  a  misspelled  bochsrc  line)  or  an  emulation
              problem  (like an unsupported video mode). The  "panic"  setting
              in  bochsrc  tells  Bochs  how to respond to a panic.  You   can
              set  this  to  fatal  (terminate  the session),  report   (print
              information  to the console), or ignore (do nothing).

              The safest setting is action=fatal. If you are getting   panics,
              you   can   try   action=report  instead.  If you allow Bochs to
              continue after a panic, don't be surprised if  you  get  strange
              behavior  or  crashes  if  a panic occurs.  Please report  panic
              messages  unless  it is just   a  configuration   problem   like
              "could  not find hard drive image."

                panic: action=fatal

       error: Bochs  produces an error message when it  finds a condition that
              really shouldn't happen,  but doesn't endanger  the  simulation.
              An  example  of  an  error  might be  if the  emulated  software
              produces an illegal disk command.

              The "error" setting tells Bochs  how  to  respond  to  an  error
              condition.    You  can  set   this   to  fatal   (terminate  the
              session),  report  (print  information  to  the   console),   or
              ignore  (do nothing).

                error: action=report

       info:  This  setting  tells  Bochs  what to  do  when  an event  occurs
              that  generates  informational messages.  You can  set this   to
              fatal   (that  would  not  be  very smart though), report (print
              information to the  console),  or  ignore  (do  nothing).    For
              general  usage,  the "report" option is probably a good choice.

                info: action=report

       debug: This  setting  tells  Bochs what  to  do  with messages intended
              to assist in debugging.  You can set  this  to  fatal  (but  you
              shouldn't),  report  (print  information  to  the   console), or
              ignore (do nothing). You should generally  set this  to  ignore,
              unless  you are  trying  to diagnose a particular problem.

              NOTE: When  action=report,   Bochs   may  spit  out thousands of
              debug messages per second, which can impact performance and fill
              up your disk.

                debug: action=ignore

              Give  the  path of the log file you'd like Bochs to log debugger
              output.  If you really don't want it, make  it  '/dev/null',  or

                log: debugger.out
                log: /dev/null              (unix only)
                log: -

       sb16:  This   defines  the SB16 sound emulation. It can have several of
              the  following properties. All properties are in this format:
                sb16: property=value

              PROPERTIES FOR sb16:


              The  filename is where the midi data is  sent.  This can  be   a
              device  or just a file if  you want to record the midi data.


               0 = No data should be output.
               1 = output to device (system dependent - midi
               denotes the device driver).
               2 = SMF file output, including headers.
               3 = Output  the midi  data stream to the file
               (no  midi headers  and  no delta  times, just
               command and data bytes).


              This  is the device/file where wave  output is stored.


               0 = no data
               1 = output to device (system dependent - wave
               denotes the device driver).
               2 = VOC file output, including headers.
               3 = Output the raw wave stream to the file.


              The file to write the sb16 emulator messages to.


               0 = No log.
               1 = Resource changes, midi program and bank changes.
               2 = Severe errors.
               3 = All errors.
               4 = All errors plus all port accesses.
               5 = All  errors and port  accesses plus a lot
               of extra information.

              It is possible to change the loglevel at runtime.


              Microseconds per second for a DMA cycle.  Make it smaller to fix
              non-continuous sound.  750000 is  usually  a  good value.   This
              needs   a reasonably  correct   setting  for the  IPS  parameter
              of the CPU option.  It is possible to  adjust  the  dmatimer  at

              Example for output to OSS:
                sb16: midimode=1, midi=/dev/midi00,
                wavemode=1, wave=/dev/dsp, loglevel=2,
                log=sb16.log, dmatimer=600000

              Example for output to ALSA:
                sb16: midimode=1, midi=alsa:128:0,
                wavemode=1, wave=alsa,
                log=sb16.log, dmatimer=600000

              NOTE: The  examples are wrapped onto three  lines for formatting
              reasons, but  it should all  be   on  one  line  in  the  actual
              bochsrc file.

              Video  memory is scanned for updates and screen updated every so
              many virtual seconds. The default value is  50000,  about  20Hz.
              Keep  in  mind that you must tweak the 'cpu: ips=N' directive to
              be as close to the number  of  emulated  instructions-per-second
              your  workstation can do, for this to be accurate.

                vga_update_interval: 250000

              Approximate  time  in  microseconds that it takes one  character
              to   be  transfered  from  the keyboard to controller  over  the
              serial path.

                keyboard_serial_delay: 200

              Approximate  time  in  microseconds  between  attempts  to paste
              characters to the keyboard controller. This leaves time for  the
              guest os to deal with the flow of characters.  The ideal setting
              depends on how your operating system processes characters.   The
              default  of 100000 usec (.1 seconds) was chosen because it works
              consistently in Windows.

              If your OS is losing characters during  a  paste,  increase  the
              paste delay until it stops losing characters.

                keyboard_paste_delay: 100000

       clock: This defines the parameters of the clock inside Bochs.


              This  defines  the  method how to synchronize the Bochs internal
              time with realtime. With the value 'none' the Bochs time  relies
              on  the  IPS value and no host time synchronization is used. The
              'slowdown'   method   sacrifices   performance    to    preserve
              reproducibility   while  allowing  host  time  correlation.  The
              'realtime'  method  sacrifices   reproducibility   to   preserve
              performance and host-time correlation.  It is possible to enable
              both synchronization methods.


              Specifies the start (boot) time of the virtual  machine.  Use  a
              time  value  as returned by the time(2) system call. If no time0
              value is set or if time0 equal to 1 (special case) or  if  time0
              equal  'local',  the  simulation  will be started at the current
              local host time.  If time0 equal to 2 (special case) or if time0
              equal  'utc',  the simulation will be started at the current utc

                clock:                     sync=[none|slowdown|realtime|both],

              Default value are sync=none, time0=local

                clock:  sync=realtime, time0=938581955   # Wed Sep 29 07:12:35

       mouse: This defines parameters for the emulated mouse type, the initial
              status of the mouse capture and the runtime method to toggle it.


              With  the  mouse type option you can select the type of mouse to
              emulate.  The default value is  'ps2'.  The  other  choices  are
              'imps2'  (wheel  mouse  on  PS/2),  'serial', 'serial_wheel' and
              'serial_msys' (one com port requires setting  'mode=mouse').  To
              connect a mouse to an USB port, see the 'usb_uhci' or 'usb_ohci'
              option (requires PCI and USB support).


              The Bochs gui creates mouse "events" unless the 'enabled' option
              is  set  to  0. The hardware emulation itself is not disabled by
              this.  Unless you have a  particular  reason  for  enabling  the
              mouse  by  default, it is recommended that you leave it off. You
              can also toggle the mouse usage at  runtime  (RFB,  SDL,  Win32,
              wxWidgets and X11 - see below).


              The  default method to toggle the mouse capture at runtime is to
              press the CTRL key and the middle mouse button ('ctrl+mbutton').
              This  option  allows  to  change  the method to 'ctrl+f10' (like
              DOSBox),  'ctrl+alt'  (like  QEMU)  or  'f12'  (replaces   win32
              'legacyF12' option).

                mouse: enabled=1
                mouse: type=imps2, enabled=1
                mouse: type=serial, enabled=1
                mouse: enabled=0, toggle=ctrl+f10

              Requests  that  the  GUI  create  and  use  it's  own non-shared
              colormap.  This  colormap  will   be  used  when  in  the  bochs
              window. If not enabled, a shared  colormap  scheme  may be used.
              Once again, enabled=1  turns on this feature   and  0  turns  it

                private_colormap: enabled=1

              This option controls the presence of the i440FX PCI chipset. You
              can also specify the devices connected to PCI  slots.  Up  to  5
              slots  are available now. These devices are currently supported:
              ne2k, pcivga, pcidev, pcipnic and usb_ohci. If Bochs is compiled
              with  Cirrus  SVGA  support  you'll  have  the additional choice

                i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k

              Enables the mapping of a host PCI hardware device within the PCI
              subsystem of the Bochs x86 emulator. This feature requires Linux
              as a host OS.

                pcidev: vendor=0x1234, device=0x5678

              The vendor and device arguments should  contain  the  vendor  ID
              respectively  the  device  ID  of the PCI device you want to map
              within Bochs.  The PCI mapping is still very experimental.

       ne2k:  Defines the characteristics of an attached ne2000 isa card :

              PROPERTIES FOR ne2k:

              ioaddr, irq: You probably won't need to change ioaddr  and  irq,
              unless there are IRQ conflicts.  These parameters are ignored if
              the NE2000 is assigned to a PCI slot.

              mac: The MAC address MUST NOT match the address of  any  machine
              on  the net.  Also, the first byte must be an even number (bit 0
              set  means  a   multicast   address),   and   you   cannot   use
              ff:ff:ff:ff:ff:ff because that's the broadcast address.  For the
              ethertap module, you must use fe:fd:00:00:00:01.  There  may  be
              other  restrictions  too.   To  be  safe,  just use the b0:c4...

              ethmod: The ethmod value defines which  low  level  OS  specific
              module to be used to access physical ethernet interface. Current
              implemented values include
               - fbsd   : ethernet on freebsd and openbsd
               - linux  : ethernet on linux
               - win32  : ethernet on win32
               - tap    : ethernet through a linux tap interface
               - tuntap : ethernet through a linux tuntap interface

              If you don't want to make connections to any physical  networks,
              you  can  use  the  following  'ethmod's  to  simulate a virtual
               - null   : All packets are discarded, but logged to a few files
               - arpback: ARP is simulated (disabled by default)
               - vde    : Virtual Distributed Ethernet
               - vnet   : ARP, ICMP-echo(ping), DHCP and TFTP are simulated
                          The virtual host uses
                          DHCP assigns to the guest
                          The TFTP server use ethdev for  the  root  directory
              and doesn't
                          overwrite files

              ethdev: The ethdev value is the name of the network interface on
              your host platform.  On UNIX machines, you can get the  name  by
              running  ifconfig.  On Windows machines, you must run niclist to
              get  the  name  of  the  ethdev.   Niclist  source  code  is  in
              misc/niclist.c and it is included in Windows binary releases.

              script:  The  script  value  is  optional,  and is the name of a
              script that is  executed  after  bochs  initialize  the  network
              interface.  You  can  use  this script to configure this network
              interface, or enable masquerading.  This is  mainly  useful  for
              the  tun/tap devices that only exist during Bochs execution. The
              network interface name  is  supplied  to  the  script  as  first

                ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd,
                ne2k:     ioaddr=0x300,     irq=9,      mac=b0:c4:20:00:00:00,
              ethmod=linux, ethdev=eth0
                ne2k:      ioaddr=0x300,     irq=9,     mac=b0:c4:20:00:00:01,
              ethmod=win32, ethdev=MYCARD
                ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01,  ethmod=tap,
                ne2k:      ioaddr=0x300,     irq=9,     mac=fe:fd:00:00:00:01,
              ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
                ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01,  ethmod=vde,
                ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet,

       pnic:  To  support  the  Bochs/Etherboot  pseudo-NIC,  Bochs  must   be
              compiled with the --enable-pnic configure option. It accepts the
              same syntax (for mac, ethmod, ethdev, script) and  supports  the
              same  networking  modules as the NE2000 adapter.  In addition to
              this, it must be assigned to a PCI slot.

                pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet

              This enables a remap of  a  physical  localized  keyboard  to  a
              virtualized  us  keyboard,  as  the PC architecture expects.  If
              enabled, the keymap file must be specified.

                 keyboard_mapping: enabled=1, map=gui/keymaps/

              Type of emulated keyboard sent back  to the OS  to  a  "keyboard
              identify"  command.  It must be one of "xt", "at" or "mf".

                keyboard_type: mf

              This defines the keyboard shortcut to be sent when you press the
              "user" button in the  header  bar.  The  shortcut  string  is  a
              combination of maximum 3 key names (listed below) separated with
              a '-' character.

              Valid key names:

              "alt", "bksl", "bksp", "ctrl", "del",  "down",  "end",  "enter",
              "esc",  "f1", ... "f12", "home", "ins", "left", "menu", "minus",
              "pgdwn", "pgup", "plus", "right", "shift", "space", "tab", "up",
              "win", "print" and "power".

                user_shortcut: keys=ctrl-alt-del

              This  defines image file that can be loaded into the CMOS RAM at
              startup.  The rtc_init parameter controls whether initialize the
              RTC  with  values  stored  in  the  image.  By default the time0
              argument  given   to   the   clock   option   is   used.    With
              'rtc_init=image' the image is the source for the initial time.

                cmosimage: file=cmos.img, rtc_init=time0

              This option controls the presence of the USB root hub which is a
              part of the i440FX PCI chipset. With the portX  option  you  can
              connect  devices  to  the  hub  (currently  supported:  'mouse',
              'tablet', 'keypad', 'disk', 'cdrom',

              The optionsX parameter can be used to assign specific options to
              the  device  connected  to the corresponding USB port. Currently
              this feature is only used to set the speed  reported  by  device
              and  by the 'disk' device to specify an alternative redolog file
              of some image modes.

              If you connect the mouse or tablet to one of  the  ports,  Bochs
              forwards  the  mouse  movement data to the USB device instead of
              the selected mouse type.  When connecting the keypad to  one  of
              the ports, Bochs forwards the input of the numeric keypad to the
              USB device instead of the PS/2 keyboard.

              To connect a 'flat' mode image as an USB hardisk you can use the
              'disk' device with the path to the image separated with a colon.
              To use other disk image modes similar to ATA  disks  the  syntax
              'disk:mode:filename' must be used (see below).

              To  emulate an USB cdrom you can use the 'cdrom' device name and
              the path to an ISO image or raw device name also separated  with
              a  colon.  An  option  to insert/eject media is available in the
              runtime configuration.

              The device 'printer' emulates the HP Deskjet 920C  printer.  The
              PCL data is sent to a file specified in bochsrc.txt. The current
              code appends the PCL code  to  the  file  if  the  file  already
              existed.  It  would  probably  be  nice  to  overwrite  the file
              instead, asking user first.

                usb_uhci: enabled=1, port1=mouse, port2=disk:usbstick.img
                usb_uhci:               enabled=1,                port1=hub:7,
                usb_uhci:        enabled=1,       port1=printer:printdata.bin,

              This  option  controls  the  presence  of  the  USB  OHCI   host
              controller  with a 2-port hub. The portX option accepts the same
              device types with the same syntax as the  UHCI  controller  (see
              above). The OHCI HC must be assigned to a PCI slot.

                usb_ohci: enabled=1

              Controls  the  presence  of  optional plugins without a separate
              option.  By default all  existing  plugins  are  enabled.  These
              plugins are currently supported: 'acpi', 'biosdev', 'extfpuirq',
              'gameport', 'iodebug', 'pci_ide', 'speaker' and 'unmapped'.

                plugin_ctrl: biosdev=0, speaker=0

              Load user-defined plugin. This option is available only if Bochs
              is compiled with plugin support. Maximum 8 different plugins are
              supported.  See the example in the Bochs sources how to write  a
              plugin device.

                user_plugin: name=testdev


       This  program   is  distributed   under  the  terms  of the  GNU Lesser
       General  Public  License  as  published    by    the    Free   Software
       Foundation.   See   the  COPYING file located  in /usr/share/doc/bochs/
       for details on the license and the lack of warranty.


       The latest version of this program can be found at:


       bochs(1), bochs-dlx(1), bximage(1), bxcommit(1)

       The Bochs IA-32 Emulator site on the World Wide Web:

       Online Bochs Documentation


       The     Bochs    emulator    was     created     by    Kevin     Lawton
       (,    and   is   currently   maintained  by  the
       members of  the  Bochs x86 Emulator Project.  You  can  see  a  current
       roster of members at:


       Please  report all  bugs to the bug tracker  on  our  web site. Just go
       to, and click "Bug Reports" on the sidebar
       under "Feedback".

       Provide  a  detailed description of the bug, the version of the program
       you are running, the operating system you are running  the  program  on
       and  the  operating   system  you are running in the emulator.