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