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