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

LICENSE

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

AVAILABILITY

1406       The latest version of this program can be found at:
1407         http://bochs.sourceforge.net/getcurrent.html
1408

SEE ALSO

1410       bochs(1), bochs-dlx(1), bximage(1)
1411
1412       The Bochs IA-32 Emulator site on the World Wide Web:
1413               http://bochs.sourceforge.net
1414
1415       Online Bochs Documentation
1416            http://bochs.sourceforge.net/doc/docbook
1417

AUTHORS

1419       The   Bochs  emulator  was   created   by  Kevin    Lawton  (kevin@man‐
1420       drakesoft.com),  and  is  currently  maintained by the  members of  the
1421       Bochs x86 Emulator Project.  You can see a current  roster  of  members
1422       at:
1423         http://bochs.sourceforge.net/getinvolved.html
1424

BUGS

1426       Please  report all  bugs to the bug tracker  on  our  web site. Just go
1427       to http://bochs.sourceforge.net, and click "Bug Reports" on the sidebar
1428       under "Feedback".
1429
1430       Provide  a  detailed description of the bug, the version of the program
1431       you are running, the operating system you are running  the  program  on
1432       and  the  operating   system  you are running in the emulator.
1433
1434
1435
1436
1437
1438bochsrc                           28 Mar 2017                       bochsrc(5)
Impressum