1bochsrc(5)                     The Bochs Project                    bochsrc(5)
2
3
4

NAME

6       bochsrc - Configuration file for Bochs.
7

DESCRIPTION

9       Bochsrc    is   the   configuration   file  that specifies where  Bochs
10       should look for disk images,  how the  Bochs  emulation  layer   should
11       work,   etc.    The  syntax  used for bochsrc  can also be used as com‐
12       mand line  arguments for Bochs. The .bochsrc  file should be placed ei‐
13       ther  in  the current  directory  before running  Bochs or in your home
14       directory.
15
16       Starting with Bochs 1.3, you  can  use  environment  variables  in  the
17       bochsrc file, for example:
18
19         floppya: 1_44="$IMAGES/bootdisk.img", status=inserted
20
21       Starting  with  version  2.0, two environment variables have a built-in
22       default value which is set at compile time.   $BXSHARE  points  to  the
23       "share" directory which is typically /usr/share/bochs on UNIX machines.
24       See the $(sharedir) variable in  the  Makefile  for  the  exact  value.
25       $BXSHARE  is used by disk images to locate the directory where the BIOS
26       images and keymaps can be found.  If $BXSHARE  is  not  defined,  Bochs
27       will  supply  the  default value.  Also, $LTDL_LIBRARY_PATH points to a
28       list of directories (separated by colons if more than one) to search in
29       for Bochs plugins.  A compile-time default is provided if this variable
30       is not defined by the user.
31

OPTIONS

33       #include
34              This option includes another configuration file. It is  possible
35              to put installation defaults in a global config file (e.g. loca‐
36              tion of rom images).
37
38              Example:
39                #include /etc/bochsrc
40
41
42       plugin_ctrl:
43              Controls the presence of optional device plugins. These  plugins
44              are  loaded directly with this option and some of them install a
45              config option that is only available when the plugin  device  is
46              loaded.  The value "1" means to load the plugin and "0" will un‐
47              load it (if loaded before).
48
49              These plugins will be loaded by default (if present): 'biosdev',
50              'extfpuirq',    'gameport',    'iodebug','parallel',   'serial',
51              'speaker' and 'unmapped'.
52
53              These plugins are also supported, but they  are  usually  loaded
54              directly  with  their bochsrc option: 'e1000', 'es1370', 'ne2k',
55              'pcidev', 'pcipnic', 'sb16', 'usb_ehci', 'usb_ohci', 'usb_uhci',
56              'usb_xhci' and 'voodoo'.
57
58              Example:
59                plugin_ctrl:  unmapped=0, e1000=1 # unload 'unmapped' and load
60              'e1000'
61
62
63       config_interface:
64              The configuration interface is a series of menus or dialog boxes
65              that  allows you to change all the settings that control Bochs's
66              behavior.  Depending on the platform there are up to  3  choices
67              of configuration interface: a text mode version called "textcon‐
68              fig" and two graphical versions called "win32config"  and  "wx".
69              The  text  mode  version  uses  stdin/stdout  or gui console (if
70              available / runtime config) and is always  compiled  in,  unless
71              Bochs  is compiled for wx only. The choice "win32config" is only
72              available on win32/win64 and it is the default  on  these  plat‐
73              forms.  The choice "wx" is only available when Bochs is compiled
74              with wxWidgets support. If you do not write  a  config_interface
75              line, Bochs will choose a default for you.
76
77              NOTE: if you use the "wx" configuration interface, you must also
78              use the "wx" display library.
79
80              Example:
81                config_interface: textconfig
82
83
84       display_library:
85              The display library is the code  that  displays  the  Bochs  VGA
86              screen.  Bochs has a selection of about 10 different display li‐
87              brary implementations for different platforms.  If you run  con‐
88              figure  with multiple --with-* options, the display_library com‐
89              mand lets you choose which one you want to run with.  If you  do
90              not  write  a  display_library line, Bochs will choose a default
91              for you.
92
93              The choices are:
94                x           X windows interface, cross platform
95                win32       native win32 libraries
96                carbon      Carbon library (for MacOS X)
97                macintosh   MacOS pre-10
98                amigaos     native AmigaOS libraries
99                sdl         SDL 1.2.x library, cross platform
100                sdl2        SDL 2.x library, cross platform
101                term        text  only,  uses  curses/ncurses  library,  cross
102              platform
103                rfb          provides an interface to AT&T's VNC viewer, cross
104              platform
105                vncsrv      use LibVNCServer for extended RFB(VNC) support
106                wx          wxWidgets library, cross platform
107                nogui       no display at all
108
109              NOTE: If you use the "wx" configuration interface, you must also
110              use the "wx" display library.
111
112              Specific  options:  Some  display libraries now support specific
113              options to control their behaviour. These options are  supported
114              by more than one display library:
115
116                "cmdmode"     - call a headerbar button handler after pressing
117              F7 (x, sdl, sdl2)
118                "fullscreen"  - startup in fullscreen mode (sdl, sdl2)
119                "gui_debug"   - use GTK debugger gui (sdl, sdl2, x)
120                "hideIPS"     - disable IPS output in status  bar  (rfb,  sdl,
121              sdl2, term, vncsrv, wx, x)
122                "nokeyrepeat" - turn off host keyboard repeat (sdl, sdl2, x)
123                "no_gui_console"  -  use system console instead of builtin gui
124              console (rfb, sdl, sdl2, vncsrv, x)
125                "timeout"     - time (in seconds) to  wait  for  client  (rfb,
126              vncsrv)
127
128              NOTE:  Setting  up options without specifying display library is
129              also supported.
130
131              Examples:
132                display_library: x
133                display_library: sdl2, options=fullscreen,hideIPS
134                display_library: options=cmdmode
135
136
137       cpu:   This defines cpu-related parameters inside Bochs:
138
139              model:
140
141              Selects CPU configuration to emulate from  pre-defined  list  of
142              all  supported  configurations. When this option is used and the
143              value is different from  'bx_generic',  the  parameters  of  the
144              CPUID  option have no effect anymore. See the bochsrc sample for
145              supported values.
146
147              count:
148
149              Set the number of  processors:cores  per  processor:threads  per
150              core  when  Bochs is compiled for SMP emulation. Bochs currently
151              supports up to 14 threads (legacy APIC) or 254 threads (xAPIC or
152              higher) running simultaniosly.  If Bochs is compiled without SMP
153              support, it won't accept values different from 1.
154
155              quantum:
156
157              Maximum amount of instructions allowed to execute  by  processor
158              before returning control to another cpu. This option exists only
159              in Bochs binary compiled with SMP support.
160
161              reset_on_triple_fault:
162
163              Reset the CPU  when  triple  fault  occur  (highly  recommended)
164              rather than PANIC. Remember that if you trying to continue after
165              triple fault the simulation will be completely bogus !
166
167              cpuid_limit_winnt:
168
169              Determine whether to limit maximum CPUID  function  to  2.  This
170              mode  is  required to workaround WinNT installation and boot is‐
171              sues.
172
173              mwait_is_nop:
174
175              When this option is enabled MWAIT will not put the  CPU  into  a
176              sleep  state.   This  option  exists only if Bochs compiled with
177              --enable-monitor-mwait.
178
179              msrs:
180
181              Define path to user CPU Model Specific Registers (MSRs) specifi‐
182              cation.  See example in msrs.def.
183
184              ignore_bad_msrs:
185
186              Ignore  MSR  references  that Bochs does not understand; print a
187              warning message instead of generating #GP exception. This option
188              is  enabled by default but will not be available if configurable
189              MSRs are enabled.
190
191              ips:
192
193              Emulated Instructions Per Second.  This is  the  number  of  IPS
194              that  Bochs  is capable of running on your machine.  You can re‐
195              compile Bochs with --enable-show-ips  option  enabled,  to  find
196              your  workstation's capability.  Measured IPS value will then be
197              logged into your log file or status bar  (if  supported  by  the
198              gui).
199
200              IPS  is  used to calibrate  many  time-dependent events   within
201              the  bochs  simulation.  For example, changing IPS  affects  the
202              frequency  of  VGA  updates,  the  duration of time before a key
203              starts to autorepeat,  and  the  measurement   of  BogoMips  and
204              other benchmarks.
205
206              Example Specifications[1]
207
208              Bochs   Machine/Compiler                           Mips
209              ──────────────────────────────────────────────────────────────
210              2.4.6   3.4Ghz Core i7 2600 w/ Win7x64/g++ 4.5.2   85-95 Mips
211              2.3.7   3.2Ghz Core 2 Q9770 w/ WinXP/g++ 3.4       50-55 Mips
212              2.3.7   2.6Ghz Core 2 Duo w/ WinXP/g++ 3.4         38-43 Mips
213              2.2.6   2.6Ghz Core 2 Duo w/ WinXP/g++ 3.4         21-25 Mips
214              2.2.6   2.1Ghz Athlon XP w/ Linux 2.6/g++ 3.4      12-15 Mips
215
216               [1]   IPS  measurements depend on OS and compiler configuration
217              in addition  to processor clock speed.
218
219              Example:
220                cpu: count=2, ips=10000000, msrs="msrs.def"
221
222
223       cpuid: This defines features and functionality supported by Bochs  emu‐
224              lated CPU:
225
226              level:
227
228              Set  emulated  CPU  level information returned by CPUID. Default
229              value is determined by configure option --enable-cpu-level. Cur‐
230              rently  supported  values are 5 (for Pentium and similar proces‐
231              sors) and 6 (for P6 and later processors).
232
233              family:
234
235              Set family information returned by CPUID. Default  family  value
236              determined by configure option --enable-cpu-level.
237
238              model:
239
240              Set  model information returned by CPUID. Default model value is
241              3.
242
243              stepping:
244
245              Set stepping information returned  by  CPUID.  Default  stepping
246              value is 3.
247
248              vendor_string:
249
250              Set the CPUID vendor string returned by CPUID(0x0).  This should
251              be a twelve-character ASCII string.
252
253              brand_string:
254
255              Set the CPUID vendor  string  returned  by  CPUID(0x80000002  ..
256              0x80000004).   This  should  be  at most a forty-eight-character
257              ASCII string.
258
259              mmx:
260
261              Select MMX instruction set support.  This option exists only  if
262              Bochs compiled with BX_CPU_LEVEL >= 5.
263
264              apic:
265
266              Select APIC configuration (LEGACY/XAPIC/XAPIC_EXT/X2APIC).  This
267              option exists only if Bochs compiled with BX_CPU_LEVEL >= 5.
268
269              sep:
270
271              Select SYSENTER/SYSEXIT instruction set  support.   This  option
272              exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
273
274              simd:
275
276              Select      SIMD      instructions      support.      Any     of
277              NONE/SSE/SSE2/SSE3/SSSE3/SSE4_1/SSE4_2/AVX/AVX2/AVX512 could  be
278              selected.
279
280              This  option  exists only if Bochs compiled with BX_CPU_LEVEL >=
281              6.  The AVX choises exists only if Bochs compiled with --enable-
282              avx option.
283
284              sse4a:
285
286              Select  AMD SSE4A instructions support.  This option exists only
287              if Bochs compiled with BX_CPU_LEVEL >= 6.
288
289              misaligned_sse:
290
291              Select AMD Misaligned SSE mode support.  This option exists only
292              if Bochs compiled with BX_CPU_LEVEL >= 6.
293
294              aes:
295
296              Select  AES instruction set support.  This option exists only if
297              Bochs compiled with BX_CPU_LEVEL >= 6.
298
299              sha:
300
301              Select SHA instruction set support.  This option exists only  if
302              Bochs compiled with BX_CPU_LEVEL >= 6.
303
304              movbe:
305
306              Select MOVBE Intel(R) Atom instruction support.  This option ex‐
307              ists only if Bochs compiled with BX_CPU_LEVEL >= 6.
308
309              adx:
310
311              Select ADCX/ADOX instructions support.  This option exists  only
312              if Bochs compiled with BX_CPU_LEVEL >= 6.
313
314              xsave:
315
316              Select  XSAVE  extensions  support.   This option exists only if
317              Bochs compiled with BX_CPU_LEVEL >= 6.
318
319              xsaveopt:
320
321              Select XSAVEOPT instruction support.  This option exists only if
322              Bochs compiled with BX_CPU_LEVEL >= 6.
323
324              avx_f16c:
325
326              Select  AVX  float16  convert instructions support.  This option
327              exists only if Bochs compiled with --enable-avx option.
328
329              avx_fma:
330
331              Select AVX fused multiply add (FMA) instructions support.   This
332              option exists only if Bochs compiled with --enable-avx option.
333
334              bmi:
335
336              Select  BMI1/BMI2 instructions support.  This option exists only
337              if Bochs compiled with --enable-avx option.
338
339              fma4:
340
341              Select AMD four operand FMA instructions support.   This  option
342              exists only if Bochs compiled with --enable-avx option.
343
344              xop:
345
346              Select AMD XOP instructions support.  This option exists only if
347              Bochs compiled with --enable-avx option.
348
349              tbm:
350
351              Select AMD TBM instructions support.  This option exists only if
352              Bochs compiled with --enable-avx option.
353
354              x86_64:
355
356              Enable x85-64 and long mode support.  This option exists only if
357              Bochs compiled with x86-64 support.
358
359              1g_pages:
360
361              Enable 1G page size support in long mode.   This  option  exists
362              only if Bochs compiled with x86-64 support.
363
364              pcid:
365
366              Enable  Process-Context Identifiers (PCID) support in long mode.
367              This option exists only if Bochs compiled with x86-64 support.
368
369              smep:
370
371              Enable Supervisor  Mode  Execution  Protection  (SMEP)  support.
372              This  option  exists only if Bochs compiled with BX_CPU_LEVEL >=
373              6.
374
375              smap:
376
377              Enable Supervisor Mode Access Prevention (SMAP)  support.   This
378              option exists only if Bochs compiled with BX_CPU_LEVEL >= 6.
379
380              mwait:
381
382              Select  MONITOR/MWAIT  instructions support.  This option exists
383              only if Bochs compiled with --enable-monitor-mwait.
384
385              vmx:
386
387              Select VMX extensions emulation  support.   This  option  exists
388              only if Bochs compiled with --enable-vmx option.
389
390              svm:
391
392              Select  AMD  SVM  (Secure  Virtual Machine) extensions emulation
393              support.  This option exists only if Bochs compiled  with  --en‐
394              able-svm option.
395
396              Example:
397                cpuid:  mmx=1,  sep=1,  sse=sse4_2,  xapic=1,  aes=1, movbe=1,
398              xsave=1
399
400
401       memory:
402              Set the amount of physical memory you want to emulate.
403
404              guest:
405
406              Set amount of guest physical memory to emulate. The  default  is
407              32MB,  the maximum amount limited only by physical address space
408              limitations.
409
410              host:
411
412              Set amount of host memory you want to allocate for guest RAM em‐
413              ulation.   It  is possible to allocate less memory than you want
414              to emulate in guest system. This will fake guest to see the non-
415              existing  memory.  Once guest system touches new memory block it
416              will be dynamically taken from the  memory  pool.  You  will  be
417              warned (by FATAL PANIC) in case guest already used all allocated
418              host memory and wants more.
419
420              Example:
421                memory: guest=512, host=256
422
423
424       megs:  The 'megs:' option sets the 'guest' and 'host' memory parameters
425              to the same value. In all other cases the 'memory' option should
426              be used instead.
427
428              Example:
429                megs: 32
430
431
432       romimage:
433              The ROM BIOS controls what the PC does when it first powers  on.
434              Normally, you can use a precompiled BIOS in the source or binary
435              distribution called BIOS-bochs-latest.  The default ROM BIOS  is
436              usually loaded starting at address 0xfffe0000, and it is exactly
437              128k long. The legacy version  of  the  Bochs  BIOS  is  usually
438              loaded  starting  at  address  0xffff0000, and it is exactly 64k
439              long.  You can use the environment variable $BXSHARE to  specify
440              the  location of the BIOS.  The usage of external large BIOS im‐
441              ages (up to 512k) at memory top is now supported, but  we  still
442              recommend to use the BIOS distributed with Bochs.  The start ad‐
443              dress is optional, since it can be calculated from  image  size.
444              The  Bochs BIOS currently supports only the option "fastboot" to
445              skip the boot menu delay.
446
447              Examples:
448                romimage: file=bios/BIOS-bochs-latest, options=fastboot
449                romimage: file=$BXSHARE/BIOS-bochs-legacy
450                romimage: file=mybios.bin, address=0xfff80000
451
452
453       vgaromimage:
454              You also need to load a VGA ROM BIOS into 0xC0000.
455
456              Examples:
457                vgaromimage: file=bios/VGABIOS-elpin-2.40
458                vgaromimage: file=bios/VGABIOS-lgpl-latest
459                vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
460
461
462       optromimage1: , optromimage2: , optromimage3: or optromimage4:
463              You may now load up to 4 optional ROM images. Be sure to  use  a
464              read-only  area,  typically  between  C8000 and EFFFF. These op‐
465              tional ROM images should not overwrite the rombios  (located  at
466              F0000-FFFFF)  and the videobios (located at C0000-C7FFF).  Those
467              ROM images will be initialized by the bios if they  contain  the
468              right  signature  (0x55AA).   It can also be a convenient way to
469              upload some arbitrary code/data in the simulation, that  can  be
470              retrieved by the boot loader
471
472              Example:
473                optromimage1: file=optionalrom.bin, address=0xd0000
474
475
476       vga:   This defines parameters related to the VGA display.
477
478              extension:
479
480              Here  you can specify the display extension to be used. With the
481              value 'none' you can use standard VGA with no  extension.  Other
482              supported  values  are  'vbe' for Bochs VBE, 'cirrus' for Cirrus
483              SVGA support and  'voodoo'  for  Voodoo  Graphics  support  (see
484              'voodoo' option).
485
486              update_freq:
487
488              This  parameter specifies the number of display updates per sec‐
489              ond.  The VGA update timer by default uses the  realtime  engine
490              with a value of 5. This parameter can be changed at runtime.
491
492              realtime:
493
494              If  set to 1 (default), the VGA timer is based on realtime, oth‐
495              erwise it is driven by the cpu and depends on the  ips  setting.
496              If  the  host  is slow (low ips, update_freq) and the guest uses
497              HLT appropriately, setting this to 0 and "clock: sync=none"  may
498              improve  the  responsiveness  of the guest GUI when the guest is
499              otherwise idle.
500
501              ddc:
502
503              This parameter defines the behaviour of the DDC  emulation  that
504              returns  the  monitor EDID data. By default the 'builtin' values
505              for 'Bochs Screen' are used. Other choices  are  'disabled'  (no
506              DDC  emulation)  and  'file' (read monitor EDID from file / path
507              name separated with a colon).
508
509              Examples:
510                vga: extension=none, update_freq=10, realtime=0, ddc=disabled
511                vga: extension=cirrus, update_freq=30, ddc=file:monitor.bin
512                vga: extension=vbe
513
514
515       voodoo:
516              This defines the Voodoo Graphics emulation (experimental).  Cur‐
517              rently  supported models are 'voodoo1', 'voodoo2', 'banshee' and
518              'voodoo3'.  The Voodoo2 support is not yet complete, but  almost
519              usable. The Banshee / Voodoo3 support is under construction, but
520              basically usable. The 2D/3D cards require an external  VGA  BIOS
521              the  vga  extension option to be set to 'voodoo'.  If the i440BX
522              PCI chipset is selected, they can be assigned to AGP (slot  #5).
523              The gui screen update timing for all models is controlled by the
524              related 'vga' options.
525
526              Example:
527                voodoo: enabled=1, model=voodoo1
528
529
530       keyboard:
531              This defines parameters related to the emulated keyboard:
532
533              type:
534
535              Type of keyboard return by a "identify keyboard" command to  the
536              keyboard  controller. It must be one of "xt", "at" or "mf".  De‐
537              faults to "mf". It should be ok for almost  everybody.  A  known
538              exception is french macs, that do have a "at"-like keyboard.
539
540              serial_delay:
541
542              Approximate  time in microseconds that it takes one character to
543              be transferred from the keyboard to controller over  the  serial
544              path.
545
546              paste_delay:
547
548              Approximate time in microseconds between attempts to paste char‐
549              acters to the keyboard controller.  This  leaves  time  for  the
550              guest os to deal with the flow of characters.  The ideal setting
551              depends on how your operating system processes characters.   The
552              default  of 100000 usec (.1 seconds) was chosen because it works
553              consistently in Windows.
554
555              If your OS is losing characters during  a  paste,  increase  the
556              paste delay until it stops losing characters.
557
558              keymap:
559
560              This  enables a remap of a physical localized keyboard to a vir‐
561              tualized us keyboard, as the PC architecture expects.
562
563              user_shortcut:
564
565              This defines the keyboard shortcut to be sent when you press the
566              "user" button in the header bar. The shortcut string is a combi‐
567              nation of maximum 3 key names (listed below)  separated  with  a
568              '-' character.
569
570              Valid key names:
571
572              "alt",  "bksl",  "bksp",  "ctrl", "del", "down", "end", "enter",
573              "esc", "f1", ... "f12", "home", "ins", "left", "menu",  "minus",
574              "pgdwn",  "pgup",  "plus",  "power", "print", "right", "scrlck",
575              "shift", "space", "tab", "up" and "win".
576
577              Examples:
578                keyboard: type=mf, serial_delay=200, paste_delay=100000
579                keyboard: keymap=gui/keymaps/x11-pc-de.map
580                keyboard: user_shortcut=ctrl-alt-del
581
582
583       mouse: This defines parameters for the emulated mouse type, the initial
584              status of the mouse capture and the runtime method to toggle it.
585
586              type
587
588              With  the  mouse type option you can select the type of mouse to
589              emulate.  The default value is  'ps2'.  The  other  choices  are
590              'imps2'  (wheel  mouse  on PS/2), 'serial', 'serial_wheel', 'se‐
591              rial_msys' (one com port requires setting 'mode=mouse') 'inport'
592              and  'bus'  (if  present). To connect a mouse to a USB port, see
593              the 'usb_uhci', 'usb_ohci', 'usb_ehci' or 'usb_xhci' option (re‐
594              quires PCI and USB support).
595
596              enabled
597
598              The Bochs gui creates mouse "events" unless the 'enabled' option
599              is set to 0. The hardware emulation itself is  not  disabled  by
600              this.   Unless  you  have  a  particular reason for enabling the
601              mouse by default, it is recommended that you leave it  off.  You
602              can  also  toggle  the  mouse usage at runtime (RFB, SDL, Win32,
603              wxWidgets and X11 - see below).
604
605              toggle
606
607              The default method to toggle the mouse capture at runtime is  to
608              press the CTRL key and the middle mouse button ('ctrl+mbutton').
609              This option allows to change the method to 'ctrl+f10' (like DOS‐
610              Box), 'ctrl+alt' (like QEMU) or 'f12'.
611
612              Examples:
613                mouse: enabled=1
614                mouse: type=imps2, enabled=1
615                mouse: type=serial, enabled=1
616                mouse: enabled=0, toggle=ctrl+f10
617
618
619       pci:   This defines the parameters to set up the Bochs PCI emulation:
620
621              enabled
622
623              If Bochs is compiled with PCI support, it is enabled by default.
624
625              chipset
626
627              Currently  the  chipsets i430FX, i440FX and i440BX (limited) are
628              supported and the default is i440FX.
629
630              slotX
631
632              It is possible to specify the devices connected to PCI slots. Up
633              to 5 slots are available. For combined PCI/ISA devices assigning
634              to slot is mandatory if the PCI model should be  emulated  (cir‐
635              rus,  ne2k  and pcivga). Setting up slot for PCI-only devices is
636              also supported, but they  are  auto-assigned  if  not  specified
637              (e1000,  es1370,  pcidev, pcipnic, usb_ehci, usb_ohci, usb_xhci,
638              voodoo). All device models except the network devices  ne2k  and
639              e1000  can  be used only once in the slot configuration. In case
640              of the i440BX chipset, the slot #5 is the  AGP  slot.  Currently
641              only the 'voodoo' device can be assigned to AGP.
642
643              advopts
644
645              With  the advanced PCI options it is possible to control the be‐
646              haviour of the PCI chipset. These options can  be  specified  as
647              comma-separated  values.   By default the "Bochs i440FX" chipset
648              enables the ACPI and HPET devices, but original  i440FX  doesn't
649              support them. The options 'noacpi' and 'nohpet' make it possible
650              to disable them. The option 'noagp' disables the incomplete  AGP
651              subsystem of the i440BX chipset.
652
653              Example:
654                pci:  enabled=1, chipset=i440fx, slot1=pcivga, slot2=ne2k, ad‐
655              vopts=noacpi
656
657
658       clock: This defines the parameters of the clock inside Bochs.
659
660              sync
661
662              This defines the method how to synchronize  the  Bochs  internal
663              time  with realtime. With the value 'none' the Bochs time relies
664              on the IPS value and no host time synchronization is  used.  The
665              'slowdown'  method  sacrifices  performance  to  preserve repro‐
666              ducibility while allowing host time correlation. The  'realtime'
667              method  sacrifices  reproducibility  to preserve performance and
668              host-time correlation.  It is possible to enable  both  synchro‐
669              nization methods.
670
671              rtc_sync
672
673              If  this  option  is enabled together with the realtime synchro‐
674              nization, the RTC runs at realtime speed. This feature  is  dis‐
675              abled by default.
676
677              time0
678
679              Specifies  the  start  (boot) time of the virtual machine. Use a
680              time value as returned by the time(2) system call or a string as
681              returned  by  the ctime(3) system call. If no time0 value is set
682              or if time0 equal to 1 (special case) or if time0 equal 'local',
683              the  simulation  will be started at the current local host time.
684              If time0 equal to 2 (special case) or if time0 equal 'utc',  the
685              simulation will be started at the current utc time.
686
687              Syntax:
688                clock:                     sync=[none|slowdown|realtime|both],
689              time0=[timeValue|local|utc]
690
691              Default value are sync=none, rtc_sync=0, time0=local
692
693              Example:
694                clock: sync=realtime, time0=938581955   # Wed Sep 29  07:12:35
695              1999
696                clock:  sync=realtime,  time0="Sat  Jan   1  00:00:00  2000" #
697              946681200
698
699
700       cmosimage:
701              This defines a binary image file with size 128 bytes that can be
702              loaded into the CMOS RAM at startup. The rtc_init parameter con‐
703              trols whether initialize the RTC with values stored in  the  im‐
704              age.  By default the time0 argument given to the clock option is
705              used. With 'rtc_init=image' the image is the source for the ini‐
706              tial time.
707
708              Example:
709                cmosimage: file=cmos.img, rtc_init=time0
710
711
712       private_colormap:
713              Requests  that  the GUI create and use it's  own non-shared col‐
714              ormap.  This  colormap  will  be used when in the bochs  window.
715              If  not  enabled, a shared  colormap  scheme  may be used.  Once
716              again, enabled=1  turns on this feature  and 0 turns it off.
717
718              Example:
719                private_colormap: enabled=1
720
721
722       floppya: or floppyb:
723
724              Point  this to  the pathname of a floppy image file or   device.
725              Floppya  is the  first drive, and  floppyb is the  second drive.
726              If  you're booting from a floppy,  floppya  should  point  to  a
727              bootable disk.
728
729              You can set the initial status of the media to 'ejected' or 'in‐
730              serted'. Usually you will want to use 'inserted'.
731
732              The parameter 'type' can be used  to  enable  the  floppy  drive
733              without  media  and  status specified. Usually the drive type is
734              set up based on the media type.
735
736              The optional parameter 'write_protected' can be used to  control
737              the media write protect switch. By default it is turned off.
738
739              Example:
740
741              2.88M 3.5" media:
742                floppya: 2_88=path, status=ejected
743
744              1.44M 3.5" media (write protected):
745                floppya: 1_44=path, status=inserted, write_protected=1
746
747              1.2M  5.25" media:
748                floppyb: 1_2=path, status=ejected
749
750              720K  3.5" media:
751                floppya: 720k=path, status=inserted
752
753              360K  5.25" media:
754                floppya: 360k=path, status=inserted
755
756              Autodetect floppy media type:
757                floppya: image=path, status=inserted
758
759              Use directory as 1.44M VFAT media:
760                floppya: 1_44=vvfat:path, status=inserted
761
762              1.44M 3.5" floppy drive, no media:
763                floppya: type=1_44
764
765
766       ata0: , ata1: , ata2: or ata3:
767
768              These options enables up to 4 ata channels. For each channel the
769              two base io addresses and the irq must be specified.   ata0  and
770              ata1 are enabled by default, with the values shown below.
771
772              Examples:
773                 ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
774                 ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
775                 ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
776                 ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9
777
778
779       ata[0-3]-master: or ata[0-3]-slave:
780
781              This  defines  the  type and characteristics of all attached ata
782              devices:
783                 type=       type of attached device [disk|cdrom]
784                 path=       path of the image
785                 mode=                image          mode           [flat|con‐
786              cat|sparse|vmware3|vmware4|undoable|grow‐
787              ing|volatile|vpc|vbox|vvfat], only valid for disks
788                 cylinders=  only valid for disks
789                 heads=      only valid for disks
790                 spt=        only valid for disks
791                 status=     only valid for cdroms [inserted|ejected]
792                 biosdetect= type of biosdetection [auto|cmos|none]
793                 translation=type of translation of the bios, only  for  disks
794              [none|lba|large|rechs|auto]
795                 model=      string returned by identify device command
796                 journal=     optional  filename  of the redolog for undoable,
797              volatile and vvfat disks
798
799              Point this at a hard disk image file, cdrom iso file, or a phys‐
800              ical cdrom device.  To create a hard disk image, try running bx‐
801              image.  It will help you choose the size and then suggest a line
802              that works with it.
803
804              In UNIX it is possible to use a raw device as a Bochs hard disk,
805              but WE DON'T RECOMMEND IT.
806
807              The path is mandatory for hard disks. Disk  geometry  autodetec‐
808              tion works with images created by bximage if CHS is set to 0/0/0
809              (cylinders are calculated using  heads=16 and spt=63). For other
810              hard  disk  images  and  modes the cylinders, heads, and spt are
811              mandatory. In all cases the disk size reported  from  the  image
812              must be exactly C*H*S*512.
813
814              The mode option defines how the disk image is handled. Disks can
815              be defined as:
816                - flat : one file flat layout
817                - concat : multiple files layout
818                - sparse : stackable, commitable, rollbackable
819                - vmware3 : vmware3 disk support
820                - vmware4 : vmware4 disk support (aka VMDK)
821                - undoable : flat file with commitable redolog
822                - growing : growing file
823                - volatile : flat file with volatile redolog
824                - vpc : fixed / dynamic size VirtualPC image
825                - vbox : fixed / dynamic size Oracle(tm) VM  VirtualBox  image
826              (VDI version 1.1)
827                -  vvfat: local directory appears as read-only VFAT disk (with
828              volatile redolog)
829
830              The disk translation scheme (implemented in  legacy  int13  bios
831              functions, and used by older operating systems like MS-DOS), can
832              be defined as:
833                - none : no translation, for disks up to 528MB  (1032192  sec‐
834              tors)
835                - large : a standard bitshift algorithm, for disks up to 4.2GB
836              (8257536 sectors)
837                - rechs : a revised bitshift algorithm, using a 15 heads  fake
838              physical  geometry,  for  disks  up to 7.9GB (15482880 sectors).
839              (don't use this unless you understand what you're doing)
840                - lba : a standard lba-assisted algorithm,  for  disks  up  to
841              8.4GB (16450560 sectors)
842                -  auto : autoselection of best translation scheme. (it should
843              be changed if system does not boot)
844
845              Default values are:
846                 mode=flat, biosdetect=auto, translation=auto,  model="Generic
847              1234"
848
849              The biosdetect option has currently no effect on the bios
850
851              Examples:
852                 ata0-master:   type=disk,   path=10M.sample,   cylinders=306,
853              heads=4, spt=17
854                 ata0-slave:    type=disk,   path=20M.sample,   cylinders=615,
855              heads=4, spt=17
856                 ata1-master:   type=disk,   path=30M.sample,   cylinders=615,
857              heads=6, spt=17
858                 ata1-slave:    type=disk,   path=46M.sample,   cylinders=940,
859              heads=6, spt=17
860                 ata2-master:   type=disk,   path=62M.sample,   cylinders=940,
861              heads=8, spt=17
862                 ata2-slave:   type=disk,   path=112M.sample,   cylinders=900,
863              heads=15, spt=17
864                 ata3-master:   type=disk,  path=483M.sample,  cylinders=1024,
865              heads=15, spt=63
866                 ata3-slave:  type=cdrom, path=iso.sample, status=inserted
867
868
869       boot:  This defines the boot sequence. Now you can specify up to 3 boot
870              drives,  which  can  be  'floppy',  'disk', 'cdrom' or 'network'
871              (boot ROM).  Legacy 'a' and 'c' are also supported.
872
873              Example:
874                boot: cdrom, floppy, disk
875
876
877       floppy_bootsig_check:
878              This disables the 0xaa55 signature check on  boot  floppies  The
879              check is enabled by default.
880
881              Example:
882                floppy_bootsig_check: disabled=1
883
884
885       log:   Give  the  path of the log file you'd like Bochs debug and misc.
886              verbiage to be written to.   If you really don't want  it,  make
887              it /dev/null.
888
889              Example:
890                log: bochs.out
891                log: /dev/tty               (unix only)
892                log: /dev/null              (unix only)
893
894
895       logprefix:
896              This handles the format of the string prepended to each log line
897              : You may use those special tokens :
898                %t : 11 decimal digits timer tick
899                %i : 8 hexadecimal digits of cpu0 current eip
900                %e  :  1  character  event  type  ('i'nfo,  'd'ebug,  'p'anic,
901              'e'rror)
902                %d : 5 characters string of the device, between brackets
903
904              Default : %t%e%d
905
906              Examples:
907                logprefix: %t-%e-@%i-%d
908                logprefix: %i%e%d
909
910
911       panic: If  Bochs   reaches   a condition  where  it cannot emulate cor‐
912              rectly, it does a panic. This  can be  a  configuration  problem
913              (like  a misspelled bochsrc line) or an emulation problem  (like
914              an  unsupported video mode). The  "panic" setting   in   bochsrc
915              tells   Bochs  how  to respond to a panic.   You  can  set  this
916              to  fatal  (terminate  the session), ask (ask user how  to  pro‐
917              ceed) or report (print information to the log file).
918
919              The  safest  setting  is  action=fatal or action=ask. If you are
920              getting  panics, you can try action=report instead.  If you  al‐
921              low  Bochs  to  continue after a panic,  don't  be surprised  if
922              you  get strange behavior or crashes if a panic occurs.   Please
923              report panic messages unless it is just a configuration  problem
924              like "could  not find hard drive image."
925
926              Examples:
927                panic: action=fatal
928                panic: action=ask
929
930
931
932       error: Bochs  produces  an  error   message  when  it  finds  a  condi‐
933              tion  that  really  shouldn't  happen,  but doesn't endanger the
934              simulation.  An example of an error  might be  if the   emulated
935              software  produces an illegal disk command.
936
937              The  "error"   setting  tells  Bochs  how to respond to an error
938              condition. You can set  this  to  fatal   (terminate  the   ses‐
939              sion),  ask  (ask user how to proceed), warn (show dialog   with
940              message   and  continue),  report  (print  information   to  the
941              log file),  or ignore  (do nothing).
942
943              Example:
944                error: action=report
945                error: action=warn
946
947
948       info:  This   setting  tells Bochs  what  to  do  when  an event occurs
949              that generates  informational messages. You can set this  to re‐
950              port  (print  information to the log file), or  ignore (do noth‐
951              ing). For general usage, the "report" option is probably a  good
952              choice.
953
954              Example:
955                info: action=report
956
957
958       debug: This   setting   tells   Bochs   what  to  do  with messages in‐
959              tended to assist in  debugging.  You can set   this   to  report
960              (print   information to  the log file),  or ignore (do nothing).
961              You should generally set this  to  ignore, unless  you are  try‐
962              ing to diagnose a particular problem.
963
964              NOTE: When  action=report,   Bochs   may  spit  out thousands of
965              debug messages per second, which can impact performance and fill
966              up your disk.
967
968              Example:
969                debug: action=ignore
970
971
972       debugger_log:
973              Give  the  path of the log file you'd like Bochs to log debugger
974              output.  If you really don't want it, make  it  '/dev/null',  or
975              '-'.
976
977              Example:
978                log: debugger.out
979                log: /dev/null              (unix only)
980                log: -
981
982
983       com1: , com2: , com3: or com4:
984              This  defines  a  serial  port (UART type 16550A). In the 'term'
985              mode you can specify a device to use as com1. This can be a real
986              serial  line, or a pty.  To use a pty (under X/Unix), create two
987              windows (xterms, usually).  One of them will run bochs, and  the
988              other  will  act as com1. Find out the tty the com1 window using
989              the `tty' command, and use that as the `dev' parameter.  Then do
990              `sleep  1000000' in the com1 window to keep the shell from mess‐
991              ing with things, and run bochs in the other window.  Serial  I/O
992              to com1 (port 0x3f8) will all go to the other window.
993
994              In  socket*  and  pipe*  (win32 only) modes Bochs becomes either
995              socket/named pipe client or server. In client mode  it  connects
996              to  an  already running server (if connection fails Bochs treats
997              com port as not connected). In server mode it opens socket/named
998              pipe  and waits until a client application connects to it before
999              starting simulation. This mode is useful  for  remote  debugging
1000              (e.g.   with gdb's "target remote host:port" command or windbg's
1001              command    line    option    -k     com:pipe,port=\.ipeipename).
1002              Socket modes use simple TCP communication, pipe modes use duplex
1003              byte mode pipes.
1004
1005              Other serial modes are 'null' (no input/output), 'file'  (output
1006              to  a  file  specified  as the 'dev' parameter and changeable at
1007              runtime), 'raw' (use the real serial port -  partly  implemented
1008              on  win32)  and  'mouse' (standard serial mouse - requires mouse
1009              option setting 'type=serial', 'type=serial_wheel'  or  'type=se‐
1010              rial_msys')
1011
1012              Examples:
1013                com1: enabled=1, mode=term, dev=/dev/ttyp7
1014                com2: enabled=1, mode=file, dev=serial.out
1015                com1: enabled=1, mode=mouse
1016
1017
1018       parport1: or parport2:
1019              This  defines  a  parallel (printer) port. When turned on and an
1020              output file is defined the emulated printer port  sends  charac‐
1021              ters printed by the guest OS into the output file. On some plat‐
1022              forms a device filename can be used to send the data to the real
1023              parallel port (e.g. "/dev/lp0" on Linux). The output file can be
1024              changed at runtime.
1025
1026              Examples:
1027                parport1: enabled=1, file=parport.out
1028                parport2: enabled=1, file="/dev/lp0"
1029                parport1: enabled=0
1030
1031
1032       sound: This defines the lowlevel sound driver(s) for the wave (PCM) in‐
1033              put  / output and the MIDI output feature and (if necessary) the
1034              devices to be used.  It can have several of the following  prop‐
1035              erties.  All properties are in the format sound: property=value
1036
1037              waveoutdrv:
1038                This defines the driver to be used for the waveout feature.
1039                Possible  values  are  'file'  (all  wave  data sent to file),
1040              'dummy' (no
1041                output) and  the  platform-dependant  drivers  'alsa',  'oss',
1042              'osx', 'sdl'
1043                and 'win'.
1044
1045              waveout:
1046                This  defines the device to be used for wave output (if neces‐
1047              sary) or
1048                the output file for the 'file' driver.
1049
1050              waveindrv:
1051                This defines the driver to be used for the wavein feature.
1052                Possible values are 'dummy' (recording silence) and  platform-
1053              dependent
1054                drivers 'alsa', 'oss', 'sdl' and 'win'.
1055
1056              wavein:
1057                This  defines  the device to be used for wave input (if neces‐
1058              sary).
1059
1060              midioutdrv:
1061                This defines the driver to be used for the  MIDI  output  fea‐
1062              ture.
1063                Possible  values  are  'file'  (all  MIDI  data sent to file),
1064              'dummy' (no
1065                output) and platform-dependent drivers  'alsa',  'oss',  'osx'
1066              and 'win'.
1067
1068              midiout:
1069                This  defines the device to be used for MIDI output (if neces‐
1070              sary).
1071
1072              driver:
1073                This defines the driver to be used for all sound features with
1074              one
1075                property. Possible values are 'default' (platform default) and
1076              all
1077                other choices described above. Overriding one or more settings
1078              with
1079                the specific driver parameter is possible.
1080
1081              Example for one driver (uses platform-default):
1082                sound:  driver=default, waveout=/dev/dsp Example for different
1083              drivers:
1084                sound: waveoutdrv=sdl, waveindrv=alsa, midioutdrv=dummy
1085
1086
1087       speaker:
1088              This defines the PC speaker output mode. In the 'sound' mode the
1089              beep  is  generated by the square wave generator which is a part
1090              of the lowlevel sound support. In this mode the 'volume' parame‐
1091              ter  can be used to set the output volume (0 - 15). The 'system'
1092              mode is only available on Linux and Windows. On Linux  /dev/con‐
1093              sole  is used for output and on Windows the Beep() function. The
1094              'gui' mode forwards the beep to the related  gui  methods  (cur‐
1095              rently only used by the Carbon gui).
1096
1097              Example:
1098                speaker: enabled=1, mode=sound, volume=15
1099
1100
1101       sb16:  This   defines  the SB16 sound emulation. It can have several of
1102              the  following properties. All properties are in this format:
1103                sb16: property=value
1104
1105
1106              PROPERTIES FOR sb16:
1107
1108              enabled:
1109
1110                This optional property controls the presence of the SB16  emu‐
1111              lation.
1112                The  emulation  is  turned on unless this property is used and
1113              set to 0.
1114
1115              midimode:
1116
1117                This parameter specifies what to do with the MIDI output.
1118
1119                0 = no output
1120                1 = output to device specified with the sound  option  (system
1121              dependent)
1122                2  = MIDI or raw data output to file (depends on file name ex‐
1123              tension)
1124                3 = dual output (mode 1 and 2 at the same time)
1125
1126              midifile:
1127
1128                This is the file where the midi output is stored  (midimode  2
1129              or 3).
1130
1131              wavemode:
1132
1133                This parameter specifies what to do with the PCM output.
1134
1135                0 = no output
1136                1  =  output to device specified with the sound option (system
1137              dependent)
1138                2 = VOC, WAV or raw data output to file (depends on file  name
1139              extension)
1140                3 = dual output (mode 1 and 2 at the same time)
1141
1142              wavefile:
1143
1144                This  is  the file where the wave output is stored (wavemode 2
1145              or 3).
1146
1147              log:
1148
1149                The file to write the sb16 emulator messages to.
1150
1151              loglevel:
1152
1153                0 = No log.
1154                1 = Resource changes, midi program and bank changes.
1155                2 = Severe errors.
1156                3 = All errors.
1157                4 = All errors plus all port accesses.
1158                5 = All  errors and port  accesses plus a lot
1159                    of extra information.
1160
1161                It is possible to change the loglevel at runtime.
1162
1163              dmatimer:
1164
1165              Microseconds per second for a DMA cycle.  Make it smaller to fix
1166              non-continuous  sound.  750000 is  usually  a  good value.  This
1167              needs  a reasonably  correct   setting  for the  IPS   parameter
1168              of  the  CPU  option.   It is possible to adjust the dmatimer at
1169              runtime.
1170
1171              Examples for output modes:
1172                sb16: midimode=2, midifile="output.mid", wavemode=1 # MIDI  to
1173              file
1174                sb16:  midimode=1, wavemode=3, wavefile="output.wav" # wave to
1175              file and device
1176
1177
1178       es1370:
1179              This defines the ES1370 sound emulation (recording and  playback
1180              -  except DAC1+DAC2 output at the same time). The parameter 'en‐
1181              abled' controls the presence of the device. The  wave  and  MIDI
1182              output  can be sent to device, file or both using the parameters
1183              'wavemode', 'wavefile', 'midimode' and 'midifile'. See  the  de‐
1184              scription of these parameters at the SB16 directive.
1185
1186              Example for using 'sound' parameters:
1187                es1370:  enabled=1,  wavemode=1  Example for sending output to
1188              file:
1189                es1370: enabled=1, wavemode=2, wavefile=output.voc
1190
1191
1192       ne2k:  Defines the characteristics of an attached ne2000 isa card :
1193                 card=CARD,
1194                 type=TYPE,
1195                 ioaddr=IOADDR,
1196                 irq=IRQ,
1197                 mac=MACADDR,
1198                 ethmod=MODULE,
1199                 ethdev=DEVICE,
1200                 script=SCRIPT,
1201                 bootrom=BOOTROM
1202
1203              PROPERTIES FOR ne2k:
1204
1205              CARD: This is the zero-based card number to configure with  this
1206              ne2k  config line. Up to 4 devices are supported now (0...3). If
1207              not specified, the following parameters apply to card #0.
1208
1209              TYPE: This is the card type to emulate ('isa' or 'pci'). If  not
1210              specified,  card #0 defaults to 'pci' if assigned to a pci slot.
1211              For the additional cards the type parameter should be set up.
1212
1213              IOADDR, IRQ: You probably won't need to change ioaddr  and  irq,
1214              unless there are IRQ conflicts.  These parameters are ignored if
1215              the NE2000 is assigned to a PCI slot.
1216
1217              MAC: The MAC address MUST NOT match the address of  any  machine
1218              on  the net.  Also, the first byte must be an even number (bit 0
1219              set  means  a   multicast   address),   and   you   cannot   use
1220              ff:ff:ff:ff:ff:ff because that's the broadcast address.  For the
1221              ethertap module, you must use fe:fd:00:00:00:01.  There  may  be
1222              other  restrictions  too.  To be safe, just use the b0:c4... ad‐
1223              dress.
1224
1225              ETHMOD: The ethmod value defines which  low  level  OS  specific
1226              module to be used to access physical ethernet interface. Current
1227              implemented values include
1228               - fbsd      : ethernet on freebsd and openbsd
1229               - linux     : ethernet on linux
1230               - win32     : ethernet on win32
1231               - tap       : ethernet through a linux tap interface
1232               - tuntap    : ethernet through a linux tuntap interface
1233               - slirp     : built-in Slirp support with DHCP / TFTP servers
1234
1235              If you don't want to make connections to any physical  networks,
1236              you  can  use the following 'ethmod's to simulate a virtual net‐
1237              work.
1238               - null   : All packets are discarded, but logged to a few files
1239               - vde    : Virtual Distributed Ethernet
1240               - vnet   : ARP, ICMP-echo(ping), DHCP, DNS, FTP  and  TFTP  are
1241              simulated
1242                          The virtual host uses 192.168.10.1
1243                          DHCP assigns 192.168.10.15 to the guest
1244                          The  FTP  and TFTP servers use 'ethdev' for the root
1245              directory
1246                          TFTP doesn't overwrite files,  DNS  for  server  and
1247              client only
1248               -  socket  : Connect up to 6 Bochs instances with external pro‐
1249              gram 'bxhub'
1250                          (simulating an ethernet hub). It provides  the  same
1251              services as the
1252                          'vnet'  module and assigns IP addresses like 'slirp'
1253              (10.0.2.x).
1254
1255              ETHDEV: The ethdev value is the name of the network interface on
1256              your  host  platform.  On UNIX machines, you can get the name by
1257              running ifconfig. On Windows machines, you must run  niclist  to
1258              get  the  name  of  the  ethdev.   Niclist  source  code  is  in
1259              misc/niclist.c and it is included in  Windows  binary  releases.
1260              The  'socket' module uses this parameter to specify the UDP port
1261              for receiving packets and (optional) the host to connect.
1262
1263              SCRIPT: The script value is optional,  and  is  the  name  of  a
1264              script  that  is executed after bochs initialize the network in‐
1265              terface. You can use this script to configure this  network  in‐
1266              terface,  or enable masquerading.  This is mainly useful for the
1267              tun/tap devices that only exist during Bochs execution. The net‐
1268              work  interface  name is supplied to the script as first parame‐
1269              ter. The 'slirp' module uses this parameter to specify a  config
1270              file  for  setting  up  an alternative IP configuration or addi‐
1271              tional features. The 'vnet' module also uses this  parameter  to
1272              specify a config file similar to slirp, but with only a few set‐
1273              tings.
1274
1275              BOOTROM: The bootrom value is optional, and is the name  of  the
1276              ROM  image  to  load. Note that this feature is only implemented
1277              for the PCI version of the NE2000.
1278
1279              Examples:
1280                ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd,
1281              ethdev=xlo
1282                ne2k:   ioaddr=0x300,   irq=9,   mac=b0:c4:20:00:00:00,   eth‐
1283              mod=linux, ethdev=eth0
1284                ne2k:   ioaddr=0x300,   irq=9,   mac=b0:c4:20:00:00:01,   eth‐
1285              mod=win32, ethdev=MYCARD
1286                ne2k:  ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap,
1287              ethdev=tap0
1288                ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01,  ethmod=tun‐
1289              tap, ethdev=/dev/net/tun0, script=./tunconfig
1290                ne2k:  ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde,
1291              ethdev="/tmp/vde.ctl"
1292                ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet,
1293              ethdev="c:/temp"
1294                ne2k: mac=b0:c4:20:00:00:01, ethmod=socket, ethdev=40000 # use
1295              localhost
1296                ne2k: card=0, mac=b0:c4:20:00:00:01, ethmod=socket, ethdev=my‐
1297              machine:40000
1298                ne2k:  mac=b0:c4:20:00:00:01, ethmod=slirp, script=slirp.conf,
1299              bootrom=ne2k_pci.rom
1300
1301
1302       pcipnic:
1303              To support the Bochs/Etherboot pseudo-NIC, Bochs  must  be  com‐
1304              piled  with  the  --enable-pnic configure option. It accepts the
1305              same syntax (for mac, ethmod, ethdev, script, bootrom) and  sup‐
1306              ports the same networking modules as the NE2000 adapter.
1307
1308              Example:
1309                pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet
1310
1311
1312       e1000: To  support the Intel(R) 82540EM Gigabit Ethernet adapter, Bochs
1313              must be compiled with the --eanble-e1000 configure  option.  The
1314              E1000  accepts  the  same syntax (for card, mac, ethmod, ethdev,
1315              script, bootrom) and supports the same networking modules as the
1316              NE2000 adapter.
1317
1318              Example:
1319                e1000: card=0, enabled=1, mac=52:54:00:12:34:56, ethmod=slirp,
1320              script=slirp.conf
1321
1322
1323       usb_uhci:
1324              This option controls the presence of the USB root hub which is a
1325              part of the i440FX PCI chipset. With the portX parameter you can
1326              connect  devices  to  the  hub  (currently  supported:  'mouse',
1327              'tablet', 'keypad', 'keyboard', 'disk', 'cdrom', 'floppy', 'hub'
1328              and 'printer').
1329
1330              If you connect the mouse or tablet to one of  the  ports,  Bochs
1331              forwards  the  mouse  movement data to the USB device instead of
1332              the selected mouse type.  When connecting the keypad to  one  of
1333              the ports, Bochs forwards the input of the numeric keypad to the
1334              USB device instead of the PS/2 keyboard. If the keyboard is  se‐
1335              lected, all key events are sent to the USB device.
1336
1337              To  connect a disk image as a USB hardisk you can use the 'disk'
1338              device. Use the 'path' option in the optionsX parameter to spec‐
1339              ify  the  path to the image separated with a colon. To use other
1340              disk   image   modes   similar   to   ATA   disks   the   syntax
1341              'path:mode:filename' must be used (see below).
1342
1343              To  emulate  a  USB cdrom you can use the 'cdrom' device and the
1344              path to an ISO image or raw device name  can  be  set  with  the
1345              'path'  option  in  the optionsX parameter also separated with a
1346              colon. An option to insert/eject media is available in the  run‐
1347              time configuration.
1348
1349              To  emulate a USB floppy you can use the 'floppy' device and the
1350              path to a floppy image can be set with the 'path' option in  the
1351              optionsX  parameter separated with a colon. To use the VVFAT im‐
1352              age mode similar to the legacy floppy the syntax 'path:vvfat:di‐
1353              rectory'  must  be  used (see below).  An option to insert/eject
1354              media is available in the runtime configuration.
1355
1356              The device name 'hub' connects an external hub with max. 8 ports
1357              (default: 4) to the root hub. To specify the number of ports you
1358              have to use the 'ports' option in the  optionsX  parameter  with
1359              the value separated with a colon.  Connecting devices to the ex‐
1360              ternal hub ports is only available in the runtime configuration.
1361
1362              The device 'printer' emulates the HP Deskjet 920C  printer.  The
1363              PCL  data  is sent to a file specified in the 'file' option with
1364              the optionsX parameter.  The current code appends the  PCL  code
1365              to the file if the file already existed.  The output file can be
1366              changed at runtime.
1367
1368              The optionsX parameter can be used to assign specific options to
1369              the  device  connected to the corresponding USB port. The option
1370              'speed' can be used to set the speed reported by device  ('low',
1371              'full',  'high'  or 'super'). The available speed choices depend
1372              on both HC and device. The option 'debug' turns on debug  output
1373              for  the  device  at connection time. The option 'pcap' turns on
1374              packet logging in PCAP format.  For the USB  'disk'  device  the
1375              optionsX parameter can be used to specify an alternative redolog
1376              file (journal) of some image modes. For 'vvfat' mode  USB  disks
1377              the  optionsX  parameter  can  be  used to specify the disk size
1378              (range 128M ... 128G). If the size is not specified, it defaults
1379              to 504M.  For the USB 'floppy' device the optionsX parameter can
1380              be used to specify an alternative device ID to be reported. Cur‐
1381              rently  only the model "teac" is supported (can fix hw detection
1382              in some guest OS). The USB floppy  also  accepts  the  parameter
1383              "write_protected" with valid values 0 and 1 to select the access
1384              mode (default is 0).
1385
1386              Examples:
1387                usb_uhci:   port1=mouse,    port2=disk,    options2="path:usb‐
1388              stick.img"
1389                usb_uhci: port1=hub, options1="ports:6"
1390                usb_uhci:   port2=disk,   options2="path:undoable:usbdisk.img,
1391              journal:u.redolog"
1392                usb_uhci:      port2=disk,       options2=""path:usbdisk2.img,
1393              sect_size:1024"
1394                usb_uhci:   port2=disk,   options2="path:vvfat:vvfat,   debug,
1395              speed:full"
1396                usb_uhci: port2=cdrom, options2="path:image.iso"
1397                usb_uhci: port1=printer, options1="file:printdata.bin"
1398                usb_uhci:     port2=floppy,     options2="path:vvfat:diskette,
1399              model:teac"
1400
1401
1402       usb_ohci:
1403              This  option  controls  the  presence  of the USB OHCI host con‐
1404              troller with a 2-port hub. The portX parameter accepts the  same
1405              device  types  with  the same syntax as the UHCI controller (see
1406              above). The optionsX parameter is also available on OHCI.
1407
1408              Example:
1409                usb_ohci: enabled=1
1410
1411
1412       usb_ehci:
1413              This option controls the presence of  the  USB  EHCI  host  con‐
1414              troller  with a 6-port hub. The portX parameter accepts the same
1415              device types with the same syntax as the  UHCI  controller  (see
1416              above). The optionsX parameter is also available on EHCI.
1417
1418              Example:
1419                usb_ehci: enabled=1, port1=tablet, options1="speed:high"
1420
1421
1422       usb_xhci:
1423              This  option  controls  the  presence  of the USB xHCI host con‐
1424              troller with a 4-port hub. The portX parameter accepts the  same
1425              device  types  with  the same syntax as the UHCI controller (see
1426              above). The optionsX parameter is also available on xHCI.  NOTE:
1427              port  1 and 2 are USB3 and only support super-speed devices, but
1428              port 3 and 4 are USB2 and support speed settings low,  full  and
1429              high.
1430
1431              Example:
1432                usb_xhci: enabled=1
1433
1434
1435       pcidev:
1436              Enables the mapping of a host PCI hardware device within the PCI
1437              subsystem of the Bochs x86 emulator. This feature requires Linux
1438              as a host OS.
1439
1440              Example:
1441                pcidev: vendor=0x1234, device=0x5678
1442
1443              The vendor and device arguments should contain the vendor ID re‐
1444              spectively the device ID of the  PCI  device  you  want  to  map
1445              within  Bochs.   The  PCI mapping is still very experimental and
1446              not maintained yet.
1447
1448

LICENSE

1450       This program  is distributed  under the terms of the  GNU  Lesser  Gen‐
1451       eral  Public  License as published  by  the  Free Software  Foundation.
1452       See the LICENSE and COPYING files located in /usr/share/doc/bochs/  for
1453       details on the license and the lack of warranty.
1454

AVAILABILITY

1456       The latest version of this program can be found at:
1457         http://bochs.sourceforge.net/getcurrent.html
1458

SEE ALSO

1460       bochs(1), bochs-dlx(1), bximage(1)
1461
1462       The Bochs IA-32 Emulator site on the World Wide Web:
1463               http://bochs.sourceforge.net
1464
1465       Online Bochs Documentation
1466            http://bochs.sourceforge.net/doc/docbook
1467

AUTHORS

1469       The    Bochs   emulator  was   created   by  Kevin   Lawton (kevin@man‐
1470       drakesoft.com),  and  is  currently  maintained by the  members of  the
1471       Bochs  x86  Emulator  Project.  You can see a current roster of members
1472       at:
1473         http://bochs.sourceforge.net/getinvolved.html
1474

BUGS

1476       Please  report all  bugs to the bug tracker  on  our  web site. Just go
1477       to http://bochs.sourceforge.net, and click "Bug Reports" on the sidebar
1478       under "Feedback".
1479
1480       Provide a detailed description of the bug, the version of  the  program
1481       you  are  running,  the operating system you are running the program on
1482       and  the  operating   system  you are running in the emulator.
1483
1484
1485
1486
1487
1488bochsrc                           27 Jun 2021                       bochsrc(5)
Impressum