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