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
13       either 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
47              unload 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 and is always compiled
70              in, unless Bochs is compiled for wx only. The choice  "win32con‐
71              fig"  is  only  available  on win32 and it is the default there.
72              The choice "wx" is only available when you  use  "--with-wx"  on
73              the  configure  command.  If you do not write a config_interface
74              line, Bochs will choose a default for you.
75
76              NOTE: if you use the "wx" configuration interface, you must also
77              use the "wx" display library.
78
79              Example:
80                config_interface: textconfig
81
82
83       display_library:
84              The  display  library  is  the  code that displays the Bochs VGA
85              screen.  Bochs has a selection of  about  10  different  display
86              library  implementations  for  different  platforms.  If you run
87              configure with multiple --with-*  options,  the  display_library
88              command  lets you choose which one you want to run with.  If you
89              do not write a display_library line, Bochs will choose a default
90              for you.
91
92              The choices are:
93                x           X windows interface, cross platform
94                win32       native win32 libraries
95                carbon      Carbon library (for MacOS X)
96                macintosh   MacOS pre-10
97                amigaos     native AmigaOS libraries
98                sdl         SDL 1.2.x library, cross platform
99                sdl2        SDL 2.x library, cross platform
100                term         text  only,  uses  curses/ncurses  library, cross
101              platform
102                rfb         provides an interface to AT&T's VNC viewer,  cross
103              platform
104                vncsrv      use LibVNCServer for extended RFB(VNC) support
105                wx          wxWidgets library, cross platform
106                nogui       no display at all
107
108              NOTE: if you use the "wx" configuration interface, you must also
109              use the "wx" display library.
110
111              Specific options: Some display libraries  now  support  specific
112              options  to control their behaviour. These options are supported
113              by more than one display library:
114
115                "gui_debug"   - use GTK debugger gui (sdl, sdl2, x)
116                "hideIPS"     - disable IPS output in status  bar  (rfb,  sdl,
117              sdl2, vncsrv, wx, x)
118                "nokeyrepeat" - turn off host keyboard repeat (sdl, sdl2, x)
119                "timeout"      -  time  (in  seconds) to wait for client (rfb,
120              vncsrv)
121
122              See the examples below for other currently supported options.
123
124              Examples:
125                display_library: x
126                display_library:  sdl,  options="fullscreen"   #  startup   in
127              fullscreen mode
128                display_library:  sdl2,  options="fullscreen"   #  startup  in
129              fullscreen mode
130
131
132
133       cpu:   This defines cpu-related parameters inside Bochs:
134
135              model:
136
137              Selects CPU configuration to emulate from  pre-defined  list  of
138              all  supported  configurations. When this option is used and the
139              value is different from  'bx_generic',  the  parameters  of  the
140              CPUID  option have no effect anymore. See the bochsrc sample for
141              supported values.
142
143              count:
144
145              Set the number of  processors:cores  per  processor:threads  per
146              core  when  Bochs is compiled for SMP emulation. Bochs currently
147              supports up to 14 threads (legacy APIC) or 254 threads (xAPIC or
148              higher) running simultaniosly.  If Bochs is compiled without SMP
149              support, it won't accept values different from 1.
150
151              quantum:
152
153              Maximum amount of instructions allowed to execute  by  processor
154              before returning control to another cpu. This option exists only
155              in Bochs binary compiled with SMP support.
156
157              reset_on_triple_fault:
158
159              Reset the CPU  when  triple  fault  occur  (highly  recommended)
160              rather than PANIC. Remember that if you trying to continue after
161              triple fault the simulation will be completely bogus !
162
163              cpuid_limit_winnt:
164
165              Determine whether to limit maximum CPUID  function  to  2.  This
166              mode  is  required  to  workaround  WinNT  installation and boot
167              issues.
168
169              mwait_is_nop:
170
171              When this option is enabled MWAIT will not put the  CPU  into  a
172              sleep  state.   This  option  exists only if Bochs compiled with
173              --enable-monitor-mwait.
174
175              msrs:
176
177              Define path to user CPU Model Specific Registers (MSRs) specifi‐
178              cation.  See example in msrs.def.
179
180              ignore_bad_msrs:
181
182              Ignore  MSR  references  that Bochs does not understand; print a
183              warning message instead of generating #GP exception. This option
184              is  enabled  by default but will not be avaiable if configurable
185              MSRs are enabled.
186
187              ips:
188
189              Emulated Instructions Per Second.  This is  the  number  of  IPS
190              that  Bochs  is  capable  of  running  on your machine.  You can
191              recompile Bochs with --enable-show-ips option enabled,  to  find
192              your  workstation's capability.  Measured IPS value will then be
193              logged into your log file or status bar  (if  supported  by  the
194              gui).
195
196              IPS  is  used to calibrate  many  time-dependent events   within
197              the  bochs  simulation.  For example, changing IPS  affects  the
198              frequency  of  VGA  updates,  the  duration of time before a key
199              starts to autorepeat,  and  the  measurement   of  BogoMips  and
200              other benchmarks.
201
202              Example Specifications[1]
203               Bochs Machine/Compiler                                Mips
204               --------------------------------------------------------------------
205               2.4.6 3.4Ghz Intel Core i7 2600 with Win7x64/g++ 4.5.2 85 to 95
206              Mips
207               2.3.7 3.2Ghz Intel Core 2 Q9770 with WinXP/g++ 3.4     50 to 55
208              Mips
209               2.3.7 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4       38 to 43
210              Mips
211               2.2.6 2.6Ghz Intel Core 2 Duo with WinXP/g++ 3.4       21 to 25
212              Mips
213               2.2.6 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4          12 to 15
214              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
307              exists 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
394              --enable-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
413              emulation.  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
441              images (up to 512k) at memory top is now supported, but we still
442              recommend  to  use  the  BIOS distributed with Bochs.  The start
443              address 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
465              optional 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              Examples:
502                vga: extension=none, update_freq=10, realtime=0
503                vga: extension=cirrus, update_freq=30
504                vga: extension=vbe
505
506
507       voodoo:
508              This defines the Voodoo Graphics emulation (experimental).  Cur‐
509              rently  supported models are 'voodoo1', 'voodoo2', 'banshee' and
510              'voodoo3'.  The Voodoo2 support is not yet complete, but  almost
511              usable. The Banshee / Voodoo3 support is under construction, but
512              basicly usable. The 2D/3D cards require an external VGA BIOS the
513              vga  extension  option to be set to 'voodoo'.  If the i440BX PCI
514              chipset is selected, they can be assigned to AGP (slot #5).  The
515              gui  screen  update  timing  for all models is controlled by the
516              related 'vga' options.
517
518              Example:
519                voodoo: enabled=1, model=voodoo1
520
521
522       keyboard:
523              This defines parameters related to the emulated keyboard:
524
525              type:
526
527              Type of keyboard return by a "identify keyboard" command to  the
528              keyboard  controller.  It  must  be  one  of "xt", "at" or "mf".
529              Defaults to "mf". It should be ok for almost everybody. A  known
530              exception is french macs, that do have a "at"-like keyboard.
531
532              serial_delay:
533
534              Approximate  time in microseconds that it takes one character to
535              be transferred from the keyboard to controller over  the  serial
536              path.
537
538              paste_delay:
539
540              Approximate time in microseconds between attempts to paste char‐
541              acters to the keyboard controller.  This  leaves  time  for  the
542              guest os to deal with the flow of characters.  The ideal setting
543              depends on how your operating system processes characters.   The
544              default  of 100000 usec (.1 seconds) was chosen because it works
545              consistently in Windows.
546
547              If your OS is losing characters during  a  paste,  increase  the
548              paste delay until it stops losing characters.
549
550              keymap:
551
552              This  enables a remap of a physical localized keyboard to a vir‐
553              tualized us keyboard, as the PC architecture expects.
554
555              user_shortcut:
556
557              This defines the keyboard shortcut to be sent when you press the
558              "user" button in the header bar. The shortcut string is a combi‐
559              nation of maximum 3 key names (listed below)  separated  with  a
560              '-' character.
561
562              Valid key names:
563
564              "alt",  "bksl",  "bksp",  "ctrl", "del", "down", "end", "enter",
565              "esc", "f1", ... "f12", "home", "ins", "left", "menu",  "minus",
566              "pgdwn",  "pgup",  "plus",  "power", "print", "right", "scrlck",
567              "shift", "space", "tab", "up" and "win".
568
569              Examples:
570                keyboard: type=mf, serial_delay=200, paste_delay=100000
571                keyboard: keymap=gui/keymaps/x11-pc-de.map
572                keyboard: user_shortcut=ctrl-alt-del
573
574
575       mouse: This defines parameters for the emulated mouse type, the initial
576              status of the mouse capture and the runtime method to toggle it.
577
578              type
579
580              With  the  mouse type option you can select the type of mouse to
581              emulate.  The default value is  'ps2'.  The  other  choices  are
582              'imps2'   (wheel   mouse  on  PS/2),  'serial',  'serial_wheel',
583              'serial_msys'  (one  com  port  requires  setting  'mode=mouse')
584              'inport'  and  'bus'  (if  present). To connect a mouse to a USB
585              port, see the 'usb_uhci', 'usb_ohci', 'usb_ehci'  or  'usb_xhci'
586              option (requires PCI and USB support).
587
588              enabled
589
590              The Bochs gui creates mouse "events" unless the 'enabled' option
591              is set to 0. The hardware emulation itself is  not  disabled  by
592              this.   Unless  you  have  a  particular reason for enabling the
593              mouse by default, it is recommended that you leave it  off.  You
594              can  also  toggle  the  mouse usage at runtime (RFB, SDL, Win32,
595              wxWidgets and X11 - see below).
596
597              toggle
598
599              The default method to toggle the mouse capture at runtime is  to
600              press the CTRL key and the middle mouse button ('ctrl+mbutton').
601              This option allows to change the method to 'ctrl+f10' (like DOS‐
602              Box), 'ctrl+alt' (like QEMU) or 'f12'.
603
604              Examples:
605                mouse: enabled=1
606                mouse: type=imps2, enabled=1
607                mouse: type=serial, enabled=1
608                mouse: enabled=0, toggle=ctrl+f10
609
610
611       pci:   This  option  controls  the  presence of a PCI chipset in Bochs.
612              Currently it supports the i430FX, i440FX  and  i440BX  chipsets.
613              You can also specify the devices connected to PCI slots. Up to 5
614              slots are available. For these combined PCI/ISA devices  assign‐
615              ing  to  slot is mandatory if you want to emulate the PCI model:
616              cirrus, ne2k and pcivga. These PCI-only devices  are  also  sup‐
617              ported,  but  they  are  auto-assigned if you don't use the slot
618              configuration:  e1000,  es1370,   pcidev,   pcipnic,   usb_ehci,
619              usb_ohci,  usb_xhci  and voodoo.  In case of the i440BX chipset,
620              slot #5 is the AGP slot. Currently only the 'voodoo' device  can
621              be assigned to AGP.
622
623              Example:
624                pci: enabled=1, chipset=i440fx, slot1=pcivga, slot2=ne2k
625
626
627       clock: This defines the parameters of the clock inside Bochs.
628
629              sync
630
631              This  defines  the  method how to synchronize the Bochs internal
632              time with realtime. With the value 'none' the Bochs time  relies
633              on  the  IPS value and no host time synchronization is used. The
634              'slowdown' method  sacrifices  performance  to  preserve  repro‐
635              ducibility  while allowing host time correlation. The 'realtime'
636              method sacrifices reproducibility to  preserve  performance  and
637              host-time  correlation.   It is possible to enable both synchro‐
638              nization methods.
639
640              rtc_sync
641
642              If this option is enabled together with  the  realtime  synchro‐
643              nization,  the  RTC runs at realtime speed. This feature is dis‐
644              abled by default.
645
646              time0
647
648              Specifies the start (boot) time of the virtual  machine.  Use  a
649              time value as returned by the time(2) system call or a string as
650              returned by the ctime(3) system call. If no time0 value  is  set
651              or if time0 equal to 1 (special case) or if time0 equal 'local',
652              the simulation will be started at the current local  host  time.
653              If  time0 equal to 2 (special case) or if time0 equal 'utc', the
654              simulation will be started at the current utc time.
655
656              Syntax:
657                clock:                     sync=[none|slowdown|realtime|both],
658              time0=[timeValue|local|utc]
659
660              Default value are sync=none, rtc_sync=0, time0=local
661
662              Example:
663                clock:  sync=realtime, time0=938581955   # Wed Sep 29 07:12:35
664              1999
665                clock: sync=realtime,  time0="Sat  Jan   1  00:00:00  2000"  #
666              946681200
667
668
669       cmosimage:
670              This defines a binary image file with size 128 bytes that can be
671              loaded into the CMOS RAM at startup. The rtc_init parameter con‐
672              trols  whether  initialize  the  RTC  with  values stored in the
673              image. By default the time0 argument given to the  clock  option
674              is  used.  With 'rtc_init=image' the image is the source for the
675              initial time.
676
677              Example:
678                cmosimage: file=cmos.img, rtc_init=time0
679
680
681       private_colormap:
682              Requests that the GUI create and use it's  own  non-shared  col‐
683              ormap.   This  colormap  will  be used when in the bochs window.
684              If not enabled, a shared  colormap  scheme  may be  used.   Once
685              again, enabled=1  turns on this feature  and 0 turns it off.
686
687              Example:
688                private_colormap: enabled=1
689
690
691       floppya: or floppyb:
692
693              Point   this to  the pathname of a floppy image file or  device.
694              Floppya is the  first drive, and  floppyb is the  second  drive.
695              If   you're  booting  from  a  floppy, floppya should point to a
696              bootable disk.
697
698              You can set the initial status of  the  media  to  'ejected'  or
699              'inserted'. Usually you will want to use 'inserted'.
700
701              The  parameter  'type'  can  be  used to enable the floppy drive
702              without media and status specified. Usually the  drive  type  is
703              set up based on the media type.
704
705              The  optional parameter 'write_protected' can be used to control
706              the media write protect switch. By default it is turned off.
707
708              Example:
709
710              2.88M 3.5" media:
711                floppya: 2_88=path, status=ejected
712
713              1.44M 3.5" media (write protected):
714                floppya: 1_44=path, status=inserted, write_protected=1
715
716              1.2M  5.25" media:
717                floppyb: 1_2=path, status=ejected
718
719              720K  3.5" media:
720                floppya: 720k=path, status=inserted
721
722              360K  5.25" media:
723                floppya: 360k=path, status=inserted
724
725              Autodetect floppy media type:
726                floppya: image=path, status=inserted
727
728              Use directory as 1.44M VFAT media:
729                floppya: 1_44=vvfat:path, status=inserted
730
731              1.44M 3.5" floppy drive, no media:
732                floppya: type=1_44
733
734
735       ata0: , ata1: , ata2: or ata3:
736
737              These options enables up to 4 ata channels. For each channel the
738              two  base  io addresses and the irq must be specified.  ata0 and
739              ata1 are enabled by default, with the values shown below.
740
741              Examples:
742                 ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
743                 ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
744                 ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
745                 ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9
746
747
748       ata[0-3]-master: or ata[0-3]-slave:
749
750              This defines the type and characteristics of  all  attached  ata
751              devices:
752                 type=       type of attached device [disk|cdrom]
753                 path=       path of the image
754                 mode=              image       mode       [flat|concat|exter‐
755              nal|dll|sparse|vmware3|vmware4|undoable|grow‐
756              ing|volatile|vpc|vbox|vvfat], only valid for disks
757                 cylinders=  only valid for disks
758                 heads=      only valid for disks
759                 spt=        only valid for disks
760                 status=     only valid for cdroms [inserted|ejected]
761                 biosdetect= type of biosdetection [auto|cmos|none]
762                 translation=type  of  translation of the bios, only for disks
763              [none|lba|large|rechs|auto]
764                 model=      string returned by identify device command
765                 journal=    optional filename of the  redolog  for  undoable,
766              volatile and vvfat disks
767
768              Point this at a hard disk image file, cdrom iso file, or a phys‐
769              ical cdrom device.  To create a hard  disk  image,  try  running
770              bximage.   It  will  help you choose the size and then suggest a
771              line that works with it.
772
773              In UNIX it is possible to use a raw device as a Bochs hard disk,
774              but WE DON'T RECOMMEND IT.
775
776              The  path  is mandatory for hard disks. Disk geometry autodetec‐
777              tion works with images created by bximage if CHS is set to 0/0/0
778              (cylinders are calculated using  heads=16 and spt=63). For other
779              hard disk images and modes the cylinders,  heads,  and  spt  are
780              mandatory.  In  all  cases the disk size reported from the image
781              must be exactly C*H*S*512.
782
783              The mode option defines how the disk image is handled. Disks can
784              be defined as:
785                - flat : one file flat layout
786                - concat : multiple files layout
787                - external : developer's specific, through a C++ class
788                - dll : developer's specific, through a DLL
789                - sparse : stackable, commitable, rollbackable
790                - vmware3 : vmware3 disk support
791                - vmware4 : vmware4 disk support (aka VMDK)
792                - undoable : flat file with commitable redolog
793                - growing : growing file
794                - volatile : flat file with volatile redolog
795                - vpc : fixed / dynamic size VirtualPC image
796                -  vbox  : fixed / dynamic size Oracle(tm) VM VirtualBox image
797              (VDI version 1.1)
798                - vvfat: local directory appears as read-only VFAT disk  (with
799              volatile redolog)
800
801              The  disk  translation  scheme (implemented in legacy int13 bios
802              functions, and used by older operating systems like MS-DOS), can
803              be defined as:
804                -  none  : no translation, for disks up to 528MB (1032192 sec‐
805              tors)
806                - large : a standard bitshift algorithm, for disks up to 4.2GB
807              (8257536 sectors)
808                -  rechs : a revised bitshift algorithm, using a 15 heads fake
809              physical geometry, for disks up  to  7.9GB  (15482880  sectors).
810              (don't use this unless you understand what you're doing)
811                -  lba  :  a  standard lba-assisted algorithm, for disks up to
812              8.4GB (16450560 sectors)
813                - auto : autoselection of best translation scheme. (it  should
814              be changed if system does not boot)
815
816              Default values are:
817                 mode=flat,  biosdetect=auto, translation=auto, model="Generic
818              1234"
819
820              The biosdetect option has currently no effect on the bios
821
822              Examples:
823                 ata0-master:   type=disk,   path=10M.sample,   cylinders=306,
824              heads=4, spt=17
825                 ata0-slave:    type=disk,   path=20M.sample,   cylinders=615,
826              heads=4, spt=17
827                 ata1-master:   type=disk,   path=30M.sample,   cylinders=615,
828              heads=6, spt=17
829                 ata1-slave:    type=disk,   path=46M.sample,   cylinders=940,
830              heads=6, spt=17
831                 ata2-master:   type=disk,   path=62M.sample,   cylinders=940,
832              heads=8, spt=17
833                 ata2-slave:    type=disk,   path=112M.sample,  cylinders=900,
834              heads=15, spt=17
835                 ata3-master:  type=disk,  path=483M.sample,   cylinders=1024,
836              heads=15, spt=63
837                 ata3-slave:  type=cdrom, path=iso.sample, status=inserted
838
839
840       boot:  This defines the boot sequence. Now you can specify up to 3 boot
841              drives, which can be  'floppy',  'disk',  'cdrom'  or  'network'
842              (boot ROM).  Legacy 'a' and 'c' are also supported.
843
844              Example:
845                boot: cdrom, floppy, disk
846
847
848       floppy_bootsig_check:
849              This  disables  the  0xaa55 signature check on boot floppies The
850              check is enabled by default.
851
852              Example:
853                floppy_bootsig_check: disabled=1
854
855
856       log:   Give the path of the log file you'd like Bochs debug  and  misc.
857              verbiage  to  be written to.   If you really don't want it, make
858              it /dev/null.
859
860              Example:
861                log: bochs.out
862                log: /dev/tty               (unix only)
863                log: /dev/null              (unix only)
864
865
866       logprefix:
867              This handles the format of the string prepended to each log line
868              : You may use those special tokens :
869                %t : 11 decimal digits timer tick
870                %i : 8 hexadecimal digits of cpu0 current eip
871                %e  :  1  character  event  type  ('i'nfo,  'd'ebug,  'p'anic,
872              'e'rror)
873                %d : 5 characters string of the device, between brackets
874
875              Default : %t%e%d
876
877              Examples:
878                logprefix: %t-%e-@%i-%d
879                logprefix: %i%e%d
880
881
882       panic: If Bochs  reaches  a condition  where  it  cannot  emulate  cor‐
883              rectly,  it  does  a panic. This  can be a configuration problem
884              (like a misspelled bochsrc line) or an emulation problem   (like
885              an   unsupported  video mode). The  "panic" setting  in  bochsrc
886              tells  Bochs  how  to respond to a panic.   You  can  set   this
887              to   fatal   (terminate  the session), ask (ask user how to pro‐
888              ceed) or report (print information to the log file).
889
890              The safest setting is action=fatal or  action=ask.  If  you  are
891              getting   panics,  you  can  try  action=report instead.  If you
892              allow Bochs to continue after a panic,  don't  be surprised   if
893              you   get strange behavior or crashes if a panic occurs.  Please
894              report panic messages unless it is just a configuration  problem
895              like "could  not find hard drive image."
896
897              Examples:
898                panic: action=fatal
899                panic: action=ask
900
901
902
903       error: Bochs   produces  an  error   message  when  it  finds  a condi‐
904              tion  that  really  shouldn't  happen,  but doesn't endanger the
905              simulation.   An example of an error  might be  if the  emulated
906              software  produces an illegal disk command.
907
908              The "error"  setting  tells  Bochs  how to respond to  an  error
909              condition.  You  can  set   this  to fatal  (terminate the  ses‐
910              sion), ask (ask user how to proceed), warn (show  dialog    with
911              message    and   continue),   report  (print information  to the
912              log file),  or ignore  (do nothing).
913
914              Example:
915                error: action=report
916                error: action=warn
917
918
919       info:  This  setting  tells Bochs  what  to  do  when  an event  occurs
920              that  generates   informational  messages.  You can set this  to
921              report (print information to the log file), or  ignore (do noth‐
922              ing).  For general usage, the "report" option is probably a good
923              choice.
924
925              Example:
926                info: action=report
927
928
929       debug: This   setting   tells   Bochs   what   to   do   with  messages
930              intended  to assist in  debugging.  You can set  this  to report
931              (print  information to  the log file),  or ignore (do  nothing).
932              You  should generally set this  to  ignore, unless  you are try‐
933              ing to diagnose a particular problem.
934
935              NOTE: When  action=report,   Bochs   may  spit  out thousands of
936              debug messages per second, which can impact performance and fill
937              up your disk.
938
939              Example:
940                debug: action=ignore
941
942
943       debugger_log:
944              Give the path of the log file you'd like Bochs to  log  debugger
945              output.   If  you  really don't want it, make it '/dev/null', or
946              '-'.
947
948              Example:
949                log: debugger.out
950                log: /dev/null              (unix only)
951                log: -
952
953
954       com1: , com2: , com3: or com4:
955              This defines a serial port (UART type  16550A).  In  the  'term'
956              mode you can specify a device to use as com1. This can be a real
957              serial line, or a pty.  To use a pty (under X/Unix), create  two
958              windows  (xterms, usually).  One of them will run bochs, and the
959              other will act as com1. Find out the tty the com1  window  using
960              the `tty' command, and use that as the `dev' parameter.  Then do
961              `sleep 1000000' in the com1 window to keep the shell from  mess‐
962              ing  with things, and run bochs in the other window.  Serial I/O
963              to com1 (port 0x3f8) will all go to the other window.
964
965              In socket* and pipe* (win32 only)  modes  Bochs  becomes  either
966              socket/named  pipe  client or server. In client mode it connects
967              to an already running server (if connection fails  Bochs  treats
968              com port as not connected). In server mode it opens socket/named
969              pipe and waits until a client application connects to it  before
970              starting  simulation.  This  mode is useful for remote debugging
971              (e.g.  with gdb's "target remote host:port" command or  windbg's
972              command     line    option    -k    com:pipe,port=\.ipeipename).
973              Socket modes use simple TCP communication, pipe modes use duplex
974              byte mode pipes.
975
976              Other  serial modes are 'null' (no input/output), 'file' (output
977              to a file specified as the 'dev'  parameter  and  changeable  at
978              runtime),  'raw'  (use the real serial port - partly implemented
979              on win32) and 'mouse' (standard serial mouse  -  requires  mouse
980              option    setting    'type=serial',    'type=serial_wheel'    or
981              'type=serial_msys')
982
983              Examples:
984                com1: enabled=1, mode=term, dev=/dev/ttyp7
985                com2: enabled=1, mode=file, dev=serial.out
986                com1: enabled=1, mode=mouse
987
988
989       parport1: or parport2:
990              This defines a parallel (printer) port. When turned  on  and  an
991              output  file  is defined the emulated printer port sends charac‐
992              ters printed by the guest OS into the output file. On some plat‐
993              forms a device filename can be used to send the data to the real
994              parallel port (e.g. "/dev/lp0" on Linux). The output file can be
995              changed at runtime.
996
997              Examples:
998                parport1: enabled=1, file=parport.out
999                parport2: enabled=1, file="/dev/lp0"
1000                parport1: enabled=0
1001
1002
1003       sound: This  defines  the  lowlevel  sound driver(s) for the wave (PCM)
1004              input / output and the MIDI output feature  and  (if  necessary)
1005              the  devices  to  be used.  It can have several of the following
1006              properties.  All properties  are  in  the  format  sound:  prop‐
1007              erty=value
1008
1009              waveoutdrv:
1010                This defines the driver to be used for the waveout feature.
1011                Possible  values  are  'file'  (all  wave  data sent to file),
1012              'dummy' (no
1013                output) and  the  platform-dependant  drivers  'alsa',  'oss',
1014              'osx', 'sdl'
1015                and 'win'.
1016
1017              waveout:
1018                This  defines the device to be used for wave output (if neces‐
1019              sary) or
1020                the output file for the 'file' driver.
1021
1022              waveindrv:
1023                This defines the driver to be used for the wavein feature.
1024                Possible values are 'dummy' (recording silence) and  platform-
1025              dependent
1026                drivers 'alsa', 'oss', 'sdl' and 'win'.
1027
1028              wavein:
1029                This  defines  the device to be used for wave input (if neces‐
1030              sary).
1031
1032              midioutdrv:
1033                This defines the driver to be used for the  MIDI  output  fea‐
1034              ture.
1035                Possible  values  are  'file'  (all  MIDI  data sent to file),
1036              'dummy' (no
1037                output) and platform-dependent drivers  'alsa',  'oss',  'osx'
1038              and 'win'.
1039
1040              midiout:
1041                This  defines the device to be used for MIDI output (if neces‐
1042              sary).
1043
1044              driver:
1045                This defines the driver to be used for all sound features with
1046              one
1047                property. Possible values are 'default' (platform default) and
1048              all
1049                other choices described above. Overriding one or more settings
1050              with
1051                the specific driver parameter is possible.
1052
1053              Example for one driver (uses platform-default):
1054                sound:  driver=default, waveout=/dev/dsp Example for different
1055              drivers:
1056                sound: waveoutdrv=sdl, waveindrv=alsa, midioutdrv=dummy
1057
1058
1059       speaker:
1060              This defines the PC speaker output mode. In the 'sound' mode the
1061              beep  is  generated by the square wave generator which is a part
1062              of the lowlevel sound support. The 'system' mode is only  avail‐
1063              able  on  Linux  and  Windows. On Linux /dev/console is used for
1064              output and on Windows the Beep() function. The 'gui'  mode  for‐
1065              wards  the  beep to the related gui methods (currently only used
1066              by the Carbon gui).
1067
1068              Example:
1069                speaker: enabled=1, mode=sound
1070
1071
1072       sb16:  This  defines the SB16 sound emulation. It can have  several  of
1073              the  following properties. All properties are in this format:
1074                sb16: property=value
1075
1076
1077              PROPERTIES FOR sb16:
1078
1079              enabled:
1080
1081                This  optional property controls the presence of the SB16 emu‐
1082              lation.
1083                The emulation is turned on unless this property  is  used  and
1084              set to 0.
1085
1086              midimode:
1087
1088                This parameter specifies what to do with the MIDI output.
1089
1090                0 = no output
1091                1  =  output to device specified with the sound option (system
1092              dependent)
1093                2 = MIDI or raw data output to  file  (depends  on  file  name
1094              extension)
1095                3 = dual output (mode 1 and 2 at the same time)
1096
1097              midifile:
1098
1099                This  is  the file where the midi output is stored (midimode 2
1100              or 3).
1101
1102              wavemode:
1103
1104                This parameter specifies what to do with the PCM output.
1105
1106                0 = no output
1107                1 = output to device specified with the sound  option  (system
1108              dependent)
1109                2  = VOC, WAV or raw data output to file (depends on file name
1110              extension)
1111                3 = dual output (mode 1 and 2 at the same time)
1112
1113              wavefile:
1114
1115                This is the file where the wave output is stored  (wavemode  2
1116              or 3).
1117
1118              log:
1119
1120                The file to write the sb16 emulator messages to.
1121
1122              loglevel:
1123
1124                0 = No log.
1125                1 = Resource changes, midi program and bank changes.
1126                2 = Severe errors.
1127                3 = All errors.
1128                4 = All errors plus all port accesses.
1129                5 = All  errors and port  accesses plus a lot
1130                    of extra information.
1131
1132                It is possible to change the loglevel at runtime.
1133
1134              dmatimer:
1135
1136              Microseconds per second for a DMA cycle.  Make it smaller to fix
1137              non-continuous sound.  750000 is  usually  a  good value.   This
1138              needs   a reasonably  correct   setting  for the  IPS  parameter
1139              of the CPU option.  It is possible to  adjust  the  dmatimer  at
1140              runtime.
1141
1142              Examples for output modes:
1143                sb16:  midimode=2, midifile="output.mid", wavemode=1 # MIDI to
1144              file
1145                sb16: midimode=1, wavemode=3, wavefile="output.wav" # wave  to
1146              file and device
1147
1148
1149       es1370:
1150              This  defines the ES1370 sound emulation (recording and playback
1151              - except DAC1+DAC2 output  at  the  same  time).  The  parameter
1152              'enabled' controls the presence of the device. The wave and MIDI
1153              output can be sent to device, file or both using the  parameters
1154              'wavemode',  'wavefile',  'midimode'  and  'midifile'.  See  the
1155              description of these parameters at the SB16 directive.
1156
1157              Example for using 'sound' parameters:
1158                es1370: enabled=1, wavemode=1 Example for  sending  output  to
1159              file:
1160                es1370: enabled=1, wavemode=2, wavefile=output.voc
1161
1162
1163       ne2k:  Defines the characteristics of an attached ne2000 isa card :
1164                 ioaddr=IOADDR,
1165                 irq=IRQ,
1166                 mac=MACADDR,
1167                 ethmod=MODULE,
1168                 ethdev=DEVICE,
1169                 script=SCRIPT,
1170                 bootrom=BOOTROM
1171
1172              PROPERTIES FOR ne2k:
1173
1174              IOADDR,  IRQ:  You probably won't need to change ioaddr and irq,
1175              unless there are IRQ conflicts.  These parameters are ignored if
1176              the NE2000 is assigned to a PCI slot.
1177
1178              MAC:  The  MAC address MUST NOT match the address of any machine
1179              on the net.  Also, the first byte must be an even number (bit  0
1180              set   means   a   multicast   address),   and   you  cannot  use
1181              ff:ff:ff:ff:ff:ff because that's the broadcast address.  For the
1182              ethertap  module,  you must use fe:fd:00:00:00:01.  There may be
1183              other restrictions too.  To  be  safe,  just  use  the  b0:c4...
1184              address.
1185
1186              ETHMOD:  The  ethmod  value  defines which low level OS specific
1187              module to be used to access physical ethernet interface. Current
1188              implemented values include
1189               - fbsd      : ethernet on freebsd and openbsd
1190               - linux     : ethernet on linux
1191               - win32     : ethernet on win32
1192               - tap       : ethernet through a linux tap interface
1193               - tuntap    : ethernet through a linux tuntap interface
1194               - slirp     : built-in Slirp support with DHCP / TFTP servers
1195
1196              If  you don't want to make connections to any physical networks,
1197              you can use the following 'ethmod's to simulate a  virtual  net‐
1198              work.
1199               - null   : All packets are discarded, but logged to a few files
1200               - vde    : Virtual Distributed Ethernet
1201               - vnet   : ARP, ICMP-echo(ping), DHCP and TFTP are simulated
1202                          The virtual host uses 192.168.10.1
1203                          DHCP assigns 192.168.10.2 to the guest
1204                          The  TFTP server use 'ethdev' for the root directory
1205              and doesn't
1206                          overwrite files
1207               - socket : Connect up to 6 Bochs instances with  external  pro‐
1208              gram 'bxhub'
1209                          (simulating  an  ethernet hub). It provides the same
1210              services as the
1211                          'vnet' module and assigns IP addresses like  'slirp'
1212              (10.0.2.x).
1213
1214              ETHDEV: The ethdev value is the name of the network interface on
1215              your host platform.  On UNIX machines, you can get the  name  by
1216              running  ifconfig.  On Windows machines, you must run niclist to
1217              get  the  name  of  the  ethdev.   Niclist  source  code  is  in
1218              misc/niclist.c  and  it  is included in Windows binary releases.
1219              The 'socket' module uses this parameter to specify the UDP  port
1220              for receiving packets and (optional) the host to connect.
1221
1222              SCRIPT:  The  script  value  is  optional,  and is the name of a
1223              script that is  executed  after  bochs  initialize  the  network
1224              interface.  You  can  use  this script to configure this network
1225              interface, or enable masquerading.  This is  mainly  useful  for
1226              the  tun/tap devices that only exist during Bochs execution. The
1227              network interface name is supplied to the script as first param‐
1228              eter. The 'slirp' module uses this parameter to specify a config
1229              file for setting up an alternative  IP  configuration  or  addi‐
1230              tional  features. The 'vnet' module uses this parameter to spec‐
1231              ify an alternative log file name.
1232
1233              BOOTROM: The bootrom value is optional, and is the name  of  the
1234              ROM  image  to  load. Note that this feature is only implemented
1235              for the PCI version of the NE2000.
1236
1237              Examples:
1238                ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd,
1239              ethdev=xlo
1240                ne2k:   ioaddr=0x300,   irq=9,   mac=b0:c4:20:00:00:00,   eth‐
1241              mod=linux, ethdev=eth0
1242                ne2k:   ioaddr=0x300,   irq=9,   mac=b0:c4:20:00:00:01,   eth‐
1243              mod=win32, ethdev=MYCARD
1244                ne2k:  ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap,
1245              ethdev=tap0
1246                ne2k: ioaddr=0x300, irq=9, mac=fe:fd:00:00:00:01,  ethmod=tun‐
1247              tap, ethdev=/dev/net/tun0, script=./tunconfig
1248                ne2k:  ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde,
1249              ethdev="/tmp/vde.ctl"
1250                ne2k: ioaddr=0x300, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet,
1251              ethdev="c:/temp"
1252                ne2k: mac=b0:c4:20:00:00:01, ethmod=socket, ethdev=40000 # use
1253              localhost
1254                ne2k:   mac=b0:c4:20:00:00:01,   ethmod=socket,   ethdev=myma‐
1255              chine:40000
1256                ne2k:  mac=b0:c4:20:00:00:01, ethmod=slirp, script=slirp.conf,
1257              bootrom=ne2k_pci.rom
1258
1259
1260       pcipnic:
1261              To support the Bochs/Etherboot pseudo-NIC, Bochs  must  be  com‐
1262              piled  with  the  --enable-pnic configure option. It accepts the
1263              same syntax (for mac, ethmod, ethdev, script, bootrom) and  sup‐
1264              ports the same networking modules as the NE2000 adapter.
1265
1266              Example:
1267                pnic: enabled=1, mac=b0:c4:20:00:00:00, ethmod=vnet
1268
1269
1270       e1000: To  support the Intel(R) 82540EM Gigabit Ethernet adapter, Bochs
1271              must be compiled with the --eanble-e1000 configure  option.  The
1272              E1000  accepts the same syntax (for mac, ethmod, ethdev, script,
1273              bootrom) and supports the same networking modules as the  NE2000
1274              adapter.
1275
1276              Example:
1277                e1000:    enabled=1,    mac=52:54:00:12:34:56,   ethmod=slirp,
1278              script=slirp.conf
1279
1280
1281       usb_uhci:
1282              This option controls the presence of the USB root hub which is a
1283              part of the i440FX PCI chipset. With the portX parameter you can
1284              connect  devices  to  the  hub  (currently  supported:  'mouse',
1285              'tablet',   'keypad',   'disk',  'cdrom',  'floppy',  'hub'  and
1286              'printer').
1287
1288              If you connect the mouse or tablet to one of  the  ports,  Bochs
1289              forwards  the  mouse  movement data to the USB device instead of
1290              the selected mouse type.  When connecting the keypad to  one  of
1291              the ports, Bochs forwards the input of the numeric keypad to the
1292              USB device instead of the PS/2 keyboard.
1293
1294              To connect a 'flat' mode image as a USB hardisk you can use  the
1295              'disk' device with the path to the image separated with a colon.
1296              To use other disk image modes similar to ATA  disks  the  syntax
1297              'disk:mode:filename' must be used (see below).
1298
1299              To  emulate  a USB cdrom you can use the 'cdrom' device name and
1300              the path to an ISO image or raw device name also separated  with
1301              a  colon.  An  option  to insert/eject media is available in the
1302              runtime configuration.
1303
1304              To emulate a USB floppy you can use the 'floppy' device with the
1305              path to the image separated with a colon. To use the VVFAT image
1306              mode   similar    to    the    legacy    floppy    the    syntax
1307              'floppy:vvfat:directory' must be used (see below).  An option to
1308              insert/eject media is available in the runtime configuration.
1309
1310              The device name 'hub' connects an external hub with max. 8 ports
1311              (default: 4) to the root hub. To specify the number of ports you
1312              have to add the value separated with a colon. Connecting devices
1313              to  the external hub ports is only available in the runtime con‐
1314              figuration.
1315
1316              The device 'printer' emulates the HP Deskjet 920C  printer.  The
1317              PCL data is sent to a file specified in bochsrc.txt. The current
1318              code appends the PCL code  to  the  file  if  the  file  already
1319              existed. The output file can be changed at runtime.
1320
1321              The optionsX parameter can be used to assign specific options to
1322              the device connected to the corresponding  USB  port.  Currently
1323              this feature is used to set the speed reported by device ('low',
1324              'full', 'high' or 'super'). The availabe speed choices depend on
1325              both HC and device. The option 'debug' turns on debug output for
1326              the device at connection time.  For the USB  'disk'  device  the
1327              optionsX parameter can be used to specify an alternative redolog
1328              file (journal) of some image modes. For 'vvfat' mode  USB  disks
1329              the  optionsX  parameter  can  be  used to specify the disk size
1330              (range 128M ... 128G). If the size is not specified, it defaults
1331              to 504M.  For the USB 'floppy' device the optionsX parameter can
1332              be used to specify an alternative device ID to be reported. Cur‐
1333              rently  only the model "teac" is supported (can fix hw detection
1334              in some guest OS). The USB floppy  also  accepts  the  parameter
1335              "write_protected" with valid values 0 and 1 to select the access
1336              mode (default is 0).
1337
1338              Examples:
1339                usb_uhci: enabled=1, port1=mouse, port2=disk:usbstick.img
1340                usb_uhci:  enabled=1,   port1=hub:7,   port2=disk:growing:usb‐
1341              disk.img
1342                usb_uhci:      enabled=1,     port2=disk:undoable:usbdisk.img,
1343              options2=journal:redo.log
1344                usb_uhci:         enabled=1,          port2=disk:usbdisk2.img,
1345              options2=sect_size:1024
1346                usb_uhci:          enabled=1,          port2=disk:vvfat:vvfat,
1347              options2="debug,speed:full"
1348                usb_uhci:       enabled=1,        port1=printer:printdata.bin,
1349              port2=cdrom:image.iso
1350                usb_uhci:        enabled=1,       port2=floppy:vvfat:diskette,
1351              options2="model:teac"
1352
1353
1354       usb_ohci:
1355              This option controls the presence of  the  USB  OHCI  host  con‐
1356              troller  with a 2-port hub. The portX parameter accepts the same
1357              device types with the same syntax as the  UHCI  controller  (see
1358              above). The optionsX parameter is also available on OHCI.
1359
1360              Example:
1361                usb_ohci: enabled=1
1362
1363
1364       usb_ehci:
1365              This  option  controls  the  presence  of the USB EHCI host con‐
1366              troller with a 6-port hub. The portX parameter accepts the  same
1367              device  types  with  the same syntax as the UHCI controller (see
1368              above). The optionsX parameter is also available on EHCI.
1369
1370              Example:
1371                usb_ehci: enabled=1, port1=tablet, options1="speed:high"
1372
1373
1374       usb_xhci:
1375              This option controls the presence of  the  USB  xHCI  host  con‐
1376              troller  with a 4-port hub. The portX parameter accepts the same
1377              device types with the same syntax as the  UHCI  controller  (see
1378              above).  The optionsX parameter is also available on xHCI. NOTE:
1379              port 1 and 2 are USB3 and only support super-speed devices,  but
1380              port  3  and 4 are USB2 and support speed settings low, full and
1381              high.
1382
1383              Example:
1384                usb_xhci: enabled=1
1385
1386
1387       pcidev:
1388              Enables the mapping of a host PCI hardware device within the PCI
1389              subsystem of the Bochs x86 emulator. This feature requires Linux
1390              as a host OS.
1391
1392              Example:
1393                pcidev: vendor=0x1234, device=0x5678
1394
1395              The vendor and device arguments should  contain  the  vendor  ID
1396              respectively  the  device  ID  of the PCI device you want to map
1397              within Bochs.  The PCI mapping is still  very  experimental  and
1398              not maintained yet.
1399
1400
1401       user_plugin:
1402              Load user-defined plugin. This option is available only if Bochs
1403              is compiled with plugin support. Maximum 8 different plugins are
1404              supported.   See the example in the Bochs sources how to write a
1405              plugin device.
1406
1407              Example:
1408                user_plugin: name=testdev
1409
1410

LICENSE

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

AVAILABILITY

1418       The latest version of this program can be found at:
1419         http://bochs.sourceforge.net/getcurrent.html
1420

SEE ALSO

1422       bochs(1), bochs-dlx(1), bximage(1)
1423
1424       The Bochs IA-32 Emulator site on the World Wide Web:
1425               http://bochs.sourceforge.net
1426
1427       Online Bochs Documentation
1428            http://bochs.sourceforge.net/doc/docbook
1429

AUTHORS

1431       The    Bochs   emulator  was   created   by  Kevin   Lawton (kevin@man‐
1432       drakesoft.com),  and  is  currently  maintained by the  members of  the
1433       Bochs  x86  Emulator  Project.  You can see a current roster of members
1434       at:
1435         http://bochs.sourceforge.net/getinvolved.html
1436

BUGS

1438       Please  report all  bugs to the bug tracker  on  our  web site. Just go
1439       to http://bochs.sourceforge.net, and click "Bug Reports" on the sidebar
1440       under "Feedback".
1441
1442       Provide a detailed description of the bug, the version of  the  program
1443       you  are  running,  the operating system you are running the program on
1444       and  the  operating   system  you are running in the emulator.
1445
1446
1447
1448
1449
1450bochsrc                           06 May 2018                       bochsrc(5)
Impressum