You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

bochsrc.txt 33KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747
  1. # You may now use double quotes around pathnames, in case
  2. # your pathname includes spaces.
  3. #=======================================================================
  4. # CONFIG_INTERFACE
  5. #
  6. # The configuration interface is a series of menus or dialog boxes that
  7. # allows you to change all the settings that control Bochs's behavior.
  8. # There are two choices of configuration interface: a text mode version
  9. # called "textconfig" and a graphical version called "wx". The text
  10. # mode version uses stdin/stdout and is always compiled in. The graphical
  11. # version is only available when you use "--with-wx" on the configure
  12. # command. If you do not write a config_interface line, Bochs will
  13. # choose a default for you.
  14. #
  15. # NOTE: if you use the "wx" configuration interface, you must also use
  16. # the "wx" display library.
  17. #=======================================================================
  18. #config_interface: textconfig
  19. #config_interface: wx
  20. #=======================================================================
  21. # DISPLAY_LIBRARY
  22. #
  23. # The display library is the code that displays the Bochs VGA screen. Bochs
  24. # has a selection of about 10 different display library implementations for
  25. # different platforms. If you run configure with multiple --with-* options,
  26. # the display_library command lets you choose which one you want to run with.
  27. # If you do not write a display_library line, Bochs will choose a default for
  28. # you.
  29. #
  30. # The choices are:
  31. # x use X windows interface, cross platform
  32. # win32 use native win32 libraries
  33. # carbon use Carbon library (for MacOS X)
  34. # beos use native BeOS libraries
  35. # macintosh use MacOS pre-10
  36. # amigaos use native AmigaOS libraries
  37. # sdl use SDL library, cross platform
  38. # svga use SVGALIB library for Linux, allows graphics without X11
  39. # term text only, uses curses/ncurses library, cross platform
  40. # rfb provides an interface to AT&T's VNC viewer, cross platform
  41. # wx use wxWidgets library, cross platform
  42. # nogui no display at all
  43. #
  44. # NOTE: if you use the "wx" configuration interface, you must also use
  45. # the "wx" display library.
  46. #
  47. # Specific options:
  48. # Some display libraries now support specific option to control their
  49. # behaviour. See the examples below for currently supported options.
  50. #=======================================================================
  51. #display_library: amigaos
  52. #display_library: beos
  53. #display_library: carbon
  54. #display_library: macintosh
  55. #display_library: nogui
  56. #display_library: rfb, options="timeout=60" # time to wait for client
  57. #display_library: sdl, options="fullscreen" # startup in fullscreen mode
  58. #display_library: term
  59. #display_library: win32, options="legacyF12" # use F12 to toggle mouse
  60. #display_library: wx
  61. #display_library: x
  62. #=======================================================================
  63. # ROMIMAGE:
  64. # The ROM BIOS controls what the PC does when it first powers on.
  65. # Normally, you can use a precompiled BIOS in the source or binary
  66. # distribution called BIOS-bochs-latest. The ROM BIOS is usually loaded
  67. # starting at address 0xf0000, and it is exactly 64k long.
  68. # You can also use the environment variable $BXSHARE to specify the
  69. # location of the BIOS.
  70. # The usage of external large BIOS images (up to 512k) at memory top is
  71. # now supported, but we still recommend to use the BIOS distributed with
  72. # Bochs. Now the start address can be calculated from image size.
  73. #=======================================================================
  74. romimage: file=bios/BIOS-bochs-latest, address=0xf0000
  75. #romimage: file=mybios.bin, address=0xfff80000 # 512k at memory top
  76. #romimage: file=mybios.bin # calculate start address from image size
  77. #=======================================================================
  78. # CPU:
  79. # This defines cpu-related parameters inside Bochs:
  80. #
  81. # COUNT:
  82. # Set the number of processors:cores per processor:threads per core
  83. # when Bochs is compiled for SMP emulation.
  84. # Bochs currently supports up to 8 threads running simultaniosly.
  85. # If Bochs is compiled without SMP support, it won't accept values
  86. # different from 1.
  87. #
  88. # RESET_ON_TRIPLE_FAULT:
  89. # Reset the CPU when triple fault occur (highly recommended) rather than
  90. # PANIC. Remember that if you trying to continue after triple fault the
  91. # simulation will be completely bogus !
  92. #
  93. # IPS:
  94. # Emulated Instructions Per Second. This is the number of IPS that bochs
  95. # is capable of running on your machine. You can recompile Bochs with
  96. # --enable-show-ips option enabled, to find your workstation's capability.
  97. # Measured IPS value will then be logged into your log file or status bar
  98. # (if supported by the gui).
  99. #
  100. # IPS is used to calibrate many time-dependent events within the bochs
  101. # simulation. For example, changing IPS affects the frequency of VGA
  102. # updates, the duration of time before a key starts to autorepeat, and
  103. # the measurement of BogoMips and other benchmarks.
  104. #
  105. # Examples:
  106. # Machine Mips
  107. # ________________________________________________________________
  108. # 2.1Ghz Athlon XP with Linux 2.6/g++ 3.4 12 to 15 Mips
  109. # 1.6Ghz Intel P4 with Win2000/g++ 3.3 5 to 7 Mips
  110. # 650Mhz Athlon K-7 with Linux 2.4.4/egcs-2.91.66 2 to 2.5 Mips
  111. # 400Mhz Pentium II with Linux 2.0.36/egcs-1.0.3 1 to 1.8 Mips
  112. #=======================================================================
  113. cpu: count=1, ips=10000000, reset_on_triple_fault=1
  114. #=======================================================================
  115. # MEGS
  116. # Set the number of Megabytes of physical memory you want to emulate.
  117. # The default is 32MB, most OS's won't need more than that.
  118. # The maximum amount of memory supported is 2048Mb.
  119. #=======================================================================
  120. #megs: 256
  121. #megs: 128
  122. #megs: 64
  123. megs: 32
  124. #megs: 16
  125. #megs: 8
  126. #=======================================================================
  127. # OPTROMIMAGE[1-4]:
  128. # You may now load up to 4 optional ROM images. Be sure to use a
  129. # read-only area, typically between C8000 and EFFFF. These optional
  130. # ROM images should not overwrite the rombios (located at
  131. # F0000-FFFFF) and the videobios (located at C0000-C7FFF).
  132. # Those ROM images will be initialized by the bios if they contain
  133. # the right signature (0x55AA) and a valid checksum.
  134. # It can also be a convenient way to upload some arbitrary code/data
  135. # in the simulation, that can be retrieved by the boot loader
  136. #=======================================================================
  137. #optromimage1: file=optionalrom.bin, address=0xd0000
  138. #optromimage2: file=optionalrom.bin, address=0xd1000
  139. #optromimage3: file=optionalrom.bin, address=0xd2000
  140. #optromimage4: file=optionalrom.bin, address=0xd3000
  141. optromimage1: file=rom.img, address=0xd0000
  142. #optramimage1: file=/path/file1.img, address=0x0010000
  143. #optramimage2: file=/path/file2.img, address=0x0020000
  144. #optramimage3: file=/path/file3.img, address=0x0030000
  145. #optramimage4: file=/path/file4.img, address=0x0040000
  146. #=======================================================================
  147. # VGAROMIMAGE
  148. # You now need to load a VGA ROM BIOS into C0000.
  149. #=======================================================================
  150. #vgaromimage: file=bios/VGABIOS-elpin-2.40
  151. vgaromimage: file=bios/VGABIOS-lgpl-latest
  152. #vgaromimage: file=bios/VGABIOS-lgpl-latest-cirrus
  153. #=======================================================================
  154. # VGA:
  155. # Here you can specify the display extension to be used. With the value
  156. # 'none' you can use standard VGA with no extension. Other supported
  157. # values are 'vbe' for Bochs VBE and 'cirrus' for Cirrus SVGA support.
  158. #=======================================================================
  159. #vga: extension=cirrus
  160. #vga: extension=vbe
  161. vga: extension=none
  162. #=======================================================================
  163. # FLOPPYA:
  164. # Point this to pathname of floppy image file or device
  165. # This should be of a bootable floppy(image/device) if you're
  166. # booting from 'a' (or 'floppy').
  167. #
  168. # You can set the initial status of the media to 'ejected' or 'inserted'.
  169. # floppya: 2_88=path, status=ejected (2.88M 3.5" floppy)
  170. # floppya: 1_44=path, status=inserted (1.44M 3.5" floppy)
  171. # floppya: 1_2=path, status=ejected (1.2M 5.25" floppy)
  172. # floppya: 720k=path, status=inserted (720K 3.5" floppy)
  173. # floppya: 360k=path, status=inserted (360K 5.25" floppy)
  174. # floppya: 320k=path, status=inserted (320K 5.25" floppy)
  175. # floppya: 180k=path, status=inserted (180K 5.25" floppy)
  176. # floppya: 160k=path, status=inserted (160K 5.25" floppy)
  177. # floppya: image=path, status=inserted (guess type from image size)
  178. #
  179. # The path should be the name of a disk image file. On Unix, you can use a raw
  180. # device name such as /dev/fd0 on Linux. On win32 platforms, use drive letters
  181. # such as a: or b: as the path. The parameter 'image' works with image files
  182. # only. In that case the size must match one of the supported types.
  183. #=======================================================================
  184. #floppya: 1_44=/dev/fd0, status=inserted
  185. #floppya: image=../1.44, status=inserted
  186. #floppya: 1_44=/dev/fd0H1440, status=inserted
  187. #floppya: 1_2=../1_2, status=inserted
  188. #floppya: 1_44=a:, status=inserted
  189. #floppya: 1_44=a.img, status=inserted
  190. #floppya: 1_44=/dev/rfd0a, status=inserted
  191. floppya: 1_44=floppy.img, status=inserted
  192. #=======================================================================
  193. # FLOPPYB:
  194. # See FLOPPYA above for syntax
  195. #=======================================================================
  196. #floppyb: 1_44=b:, status=inserted
  197. floppyb: 1_44=b.img, status=inserted
  198. #=======================================================================
  199. # ATA0, ATA1, ATA2, ATA3
  200. # ATA controller for hard disks and cdroms
  201. #
  202. # ata[0-3]: enabled=[0|1], ioaddr1=addr, ioaddr2=addr, irq=number
  203. #
  204. # These options enables up to 4 ata channels. For each channel
  205. # the two base io addresses and the irq must be specified.
  206. #
  207. # ata0 and ata1 are enabled by default with the values shown below
  208. #
  209. # Examples:
  210. # ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
  211. # ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
  212. # ata2: enabled=1, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
  213. # ata3: enabled=1, ioaddr1=0x168, ioaddr2=0x360, irq=9
  214. #=======================================================================
  215. ata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
  216. ata1: enabled=1, ioaddr1=0x170, ioaddr2=0x370, irq=15
  217. ata2: enabled=0, ioaddr1=0x1e8, ioaddr2=0x3e0, irq=11
  218. ata3: enabled=0, ioaddr1=0x168, ioaddr2=0x360, irq=9
  219. #=======================================================================
  220. # ATA[0-3]-MASTER, ATA[0-3]-SLAVE
  221. #
  222. # This defines the type and characteristics of all attached ata devices:
  223. # type= type of attached device [disk|cdrom]
  224. # mode= only valid for disks [flat|concat|external|dll|sparse|vmware3]
  225. # mode= only valid for disks [undoable|growing|volatile]
  226. # path= path of the image
  227. # cylinders= only valid for disks
  228. # heads= only valid for disks
  229. # spt= only valid for disks
  230. # status= only valid for cdroms [inserted|ejected]
  231. # biosdetect= type of biosdetection [none|auto], only for disks on ata0 [cmos]
  232. # translation=type of translation of the bios, only for disks [none|lba|large|rechs|auto]
  233. # model= string returned by identify device command
  234. # journal= optional filename of the redolog for undoable and volatile disks
  235. #
  236. # Point this at a hard disk image file, cdrom iso file, or physical cdrom
  237. # device. To create a hard disk image, try running bximage. It will help you
  238. # choose the size and then suggest a line that works with it.
  239. #
  240. # In UNIX it may be possible to use a raw device as a Bochs hard disk,
  241. # but WE DON'T RECOMMEND IT. In Windows there is no easy way.
  242. #
  243. # In windows, the drive letter + colon notation should be used for cdroms.
  244. # Depending on versions of windows and drivers, you may only be able to
  245. # access the "first" cdrom in the system. On MacOSX, use path="drive"
  246. # to access the physical drive.
  247. #
  248. # The path is always mandatory. For flat hard disk images created with
  249. # bximage geometry autodetection can be used (cylinders=0 -> cylinders are
  250. # calculated using heads=16 and spt=63). For other hard disk images and modes
  251. # the cylinders, heads, and spt are mandatory.
  252. #
  253. # Default values are:
  254. # mode=flat, biosdetect=auto, translation=auto, model="Generic 1234"
  255. #
  256. # The biosdetect option has currently no effect on the bios
  257. #
  258. # Examples:
  259. # ata0-master: type=disk, mode=flat, path=10M.sample, cylinders=306, heads=4, spt=17
  260. # ata0-slave: type=disk, mode=flat, path=20M.sample, cylinders=615, heads=4, spt=17
  261. # ata1-master: type=disk, mode=flat, path=30M.sample, cylinders=615, heads=6, spt=17
  262. # ata1-slave: type=disk, mode=flat, path=46M.sample, cylinders=940, heads=6, spt=17
  263. # ata2-master: type=disk, mode=flat, path=62M.sample, cylinders=940, heads=8, spt=17
  264. # ata2-slave: type=disk, mode=flat, path=112M.sample, cylinders=900, heads=15, spt=17
  265. # ata3-master: type=disk, mode=flat, path=483M.sample, cylinders=1024, heads=15, spt=63
  266. # ata3-slave: type=cdrom, path=iso.sample, status=inserted
  267. #=======================================================================
  268. #ata0-master: type=disk, mode=flat, path="30M.sample", cylinders=615, heads=6, spt=17
  269. #ata0-slave: type=cdrom, path=D:, status=inserted
  270. #ata0-slave: type=cdrom, path=/dev/cdrom, status=inserted
  271. #ata0-slave: type=cdrom, path="drive", status=inserted
  272. #ata0-slave: type=cdrom, path=/dev/rcd0d, status=inserted
  273. #=======================================================================
  274. # BOOT:
  275. # This defines the boot sequence. Now you can specify up to 3 boot drives.
  276. # You can either boot from 'floppy', 'disk' or 'cdrom'
  277. # legacy 'a' and 'c' are also supported
  278. # Examples:
  279. # boot: floppy
  280. # boot: disk
  281. # boot: cdrom
  282. # boot: c
  283. # boot: a
  284. # boot: cdrom, floppy, disk
  285. #=======================================================================
  286. #boot: floppy
  287. #boot: disk
  288. #=======================================================================
  289. # CLOCK:
  290. # This defines the parameters of the clock inside Bochs:
  291. #
  292. # SYNC:
  293. # TO BE COMPLETED (see Greg explanation in feature request #536329)
  294. #
  295. # TIME0:
  296. # Specifies the start (boot) time of the virtual machine. Use a time
  297. # value as returned by the time(2) system call. If no time0 value is
  298. # set or if time0 equal to 1 (special case) or if time0 equal 'local',
  299. # the simulation will be started at the current local host time.
  300. # If time0 equal to 2 (special case) or if time0 equal 'utc',
  301. # the simulation will be started at the current utc time.
  302. #
  303. # Syntax:
  304. # clock: sync=[none|slowdown|realtime|both], time0=[timeValue|local|utc]
  305. #
  306. # Example:
  307. # clock: sync=none, time0=local # Now (localtime)
  308. # clock: sync=slowdown, time0=315529200 # Tue Jan 1 00:00:00 1980
  309. # clock: sync=none, time0=631148400 # Mon Jan 1 00:00:00 1990
  310. # clock: sync=realtime, time0=938581955 # Wed Sep 29 07:12:35 1999
  311. # clock: sync=realtime, time0=946681200 # Sat Jan 1 00:00:00 2000
  312. # clock: sync=none, time0=1 # Now (localtime)
  313. # clock: sync=none, time0=utc # Now (utc/gmt)
  314. #
  315. # Default value are sync=none, time0=local
  316. #=======================================================================
  317. #clock: sync=none, time0=local
  318. #=======================================================================
  319. # FLOPPY_BOOTSIG_CHECK: disabled=[0|1]
  320. # Enables or disables the 0xaa55 signature check on boot floppies
  321. # Defaults to disabled=0
  322. # Examples:
  323. # floppy_bootsig_check: disabled=0
  324. # floppy_bootsig_check: disabled=1
  325. #=======================================================================
  326. #floppy_bootsig_check: disabled=1
  327. floppy_bootsig_check: disabled=0
  328. #=======================================================================
  329. # LOG:
  330. # Give the path of the log file you'd like Bochs debug and misc. verbiage
  331. # to be written to. If you don't use this option or set the filename to
  332. # '-' the output is written to the console. If you really don't want it,
  333. # make it "/dev/null" (Unix) or "nul" (win32). :^(
  334. #
  335. # Examples:
  336. # log: ./bochs.out
  337. # log: /dev/tty
  338. #=======================================================================
  339. #log: /dev/null
  340. log: bochsout.txt
  341. #=======================================================================
  342. # LOGPREFIX:
  343. # This handles the format of the string prepended to each log line.
  344. # You may use those special tokens :
  345. # %t : 11 decimal digits timer tick
  346. # %i : 8 hexadecimal digits of cpu current eip (ignored in SMP configuration)
  347. # %e : 1 character event type ('i'nfo, 'd'ebug, 'p'anic, 'e'rror)
  348. # %d : 5 characters string of the device, between brackets
  349. #
  350. # Default : %t%e%d
  351. # Examples:
  352. # logprefix: %t-%e-@%i-%d
  353. # logprefix: %i%e%d
  354. #=======================================================================
  355. #logprefix: %t%e%d
  356. #=======================================================================
  357. # LOG CONTROLS
  358. #
  359. # Bochs now has four severity levels for event logging.
  360. # panic: cannot proceed. If you choose to continue after a panic,
  361. # don't be surprised if you get strange behavior or crashes.
  362. # error: something went wrong, but it is probably safe to continue the
  363. # simulation.
  364. # info: interesting or useful messages.
  365. # debug: messages useful only when debugging the code. This may
  366. # spit out thousands per second.
  367. #
  368. # For events of each level, you can choose to crash, report, or ignore.
  369. # TODO: allow choice based on the facility: e.g. crash on panics from
  370. # everything except the cdrom, and only report those.
  371. #
  372. # If you are experiencing many panics, it can be helpful to change
  373. # the panic action to report instead of fatal. However, be aware
  374. # that anything executed after a panic is uncharted territory and can
  375. # cause bochs to become unstable. The panic is a "graceful exit," so
  376. # if you disable it you may get a spectacular disaster instead.
  377. #=======================================================================
  378. panic: action=ask
  379. error: action=report
  380. info: action=report
  381. debug: action=ignore
  382. #pass: action=fatal
  383. #=======================================================================
  384. # DEBUGGER_LOG:
  385. # Give the path of the log file you'd like Bochs to log debugger output.
  386. # If you really don't want it, make it /dev/null or '-'. :^(
  387. #
  388. # Examples:
  389. # debugger_log: ./debugger.out
  390. #=======================================================================
  391. #debugger_log: /dev/null
  392. #debugger_log: debugger.out
  393. debugger_log: -
  394. #=======================================================================
  395. # COM1, COM2, COM3, COM4:
  396. # This defines a serial port (UART type 16550A). In the 'term' you can specify
  397. # a device to use as com1. This can be a real serial line, or a pty. To use
  398. # a pty (under X/Unix), create two windows (xterms, usually). One of them will
  399. # run bochs, and the other will act as com1. Find out the tty the com1
  400. # window using the `tty' command, and use that as the `dev' parameter.
  401. # Then do `sleep 1000000' in the com1 window to keep the shell from
  402. # messing with things, and run bochs in the other window. Serial I/O to
  403. # com1 (port 0x3f8) will all go to the other window.
  404. # Other serial modes are 'null' (no input/output), 'file' (output to a file
  405. # specified as the 'dev' parameter), 'raw' (use the real serial port - under
  406. # construction for win32), 'mouse' (standard serial mouse - requires
  407. # mouse option setting 'type=serial' or 'type=serial_wheel') and 'socket'
  408. # (connect a networking socket).
  409. #
  410. # Examples:
  411. # com1: enabled=1, mode=null
  412. # com1: enabled=1, mode=mouse
  413. # com2: enabled=1, mode=file, dev=serial.out
  414. # com3: enabled=1, mode=raw, dev=com1
  415. # com3: enabled=1, mode=socket, dev=localhost:8888
  416. #=======================================================================
  417. #com1: enabled=1, mode=term, dev=/dev/ttyp9
  418. #=======================================================================
  419. # PARPORT1, PARPORT2:
  420. # This defines a parallel (printer) port. When turned on and an output file is
  421. # defined the emulated printer port sends characters printed by the guest OS
  422. # into the output file. On some platforms a device filename can be used to
  423. # send the data to the real parallel port (e.g. "/dev/lp0" on Linux, "lpt1" on
  424. # win32 platforms).
  425. #
  426. # Examples:
  427. # parport1: enabled=1, file="parport.out"
  428. # parport2: enabled=1, file="/dev/lp0"
  429. # parport1: enabled=0
  430. #=======================================================================
  431. parport1: enabled=1, file="parport.out"
  432. #=======================================================================
  433. # SB16:
  434. # This defines the SB16 sound emulation. It can have several of the
  435. # following properties.
  436. # All properties are in the format sb16: property=value
  437. # midi: The filename is where the midi data is sent. This can be a
  438. # device or just a file if you want to record the midi data.
  439. # midimode:
  440. # 0=no data
  441. # 1=output to device (system dependent. midi denotes the device driver)
  442. # 2=SMF file output, including headers
  443. # 3=output the midi data stream to the file (no midi headers and no
  444. # delta times, just command and data bytes)
  445. # wave: This is the device/file where wave output is stored
  446. # wavemode:
  447. # 0=no data
  448. # 1=output to device (system dependent. wave denotes the device driver)
  449. # 2=VOC file output, incl. headers
  450. # 3=output the raw wave stream to the file
  451. # log: The file to write the sb16 emulator messages to.
  452. # loglevel:
  453. # 0=no log
  454. # 1=resource changes, midi program and bank changes
  455. # 2=severe errors
  456. # 3=all errors
  457. # 4=all errors plus all port accesses
  458. # 5=all errors and port accesses plus a lot of extra info
  459. # dmatimer:
  460. # microseconds per second for a DMA cycle. Make it smaller to fix
  461. # non-continuous sound. 750000 is usually a good value. This needs a
  462. # reasonably correct setting for the IPS parameter of the CPU option.
  463. #
  464. # For an example look at the next line:
  465. #=======================================================================
  466. #sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp, loglevel=2, log=sb16.log, dmatimer=600000
  467. #=======================================================================
  468. # VGA_UPDATE_INTERVAL:
  469. # Video memory is scanned for updates and screen updated every so many
  470. # virtual seconds. The default is 40000, about 25Hz. Keep in mind that
  471. # you must tweak the 'cpu: ips=N' directive to be as close to the number
  472. # of emulated instructions-per-second your workstation can do, for this
  473. # to be accurate.
  474. #
  475. # Examples:
  476. # vga_update_interval: 250000
  477. #=======================================================================
  478. vga_update_interval: 300000
  479. # using for Winstone '98 tests
  480. #vga_update_interval: 100000
  481. #=======================================================================
  482. # KEYBOARD_SERIAL_DELAY:
  483. # Approximate time in microseconds that it takes one character to
  484. # be transfered from the keyboard to controller over the serial path.
  485. # Examples:
  486. # keyboard_serial_delay: 200
  487. #=======================================================================
  488. keyboard_serial_delay: 250
  489. #=======================================================================
  490. # KEYBOARD_PASTE_DELAY:
  491. # Approximate time in microseconds between attempts to paste
  492. # characters to the keyboard controller. This leaves time for the
  493. # guest os to deal with the flow of characters. The ideal setting
  494. # depends on how your operating system processes characters. The
  495. # default of 100000 usec (.1 seconds) was chosen because it works
  496. # consistently in Windows.
  497. #
  498. # If your OS is losing characters during a paste, increase the paste
  499. # delay until it stops losing characters.
  500. #
  501. # Examples:
  502. # keyboard_paste_delay: 100000
  503. #=======================================================================
  504. keyboard_paste_delay: 100000
  505. #=======================================================================
  506. # MOUSE:
  507. # This option prevents Bochs from creating mouse "events" unless a mouse
  508. # is enabled. The hardware emulation itself is not disabled by this.
  509. # You can turn the mouse on by setting enabled to 1, or turn it off by
  510. # setting enabled to 0. Unless you have a particular reason for enabling
  511. # the mouse by default, it is recommended that you leave it off.
  512. # You can also toggle the mouse usage at runtime (control key + middle
  513. # mouse button on X11, SDL, wxWidgets and Win32).
  514. # With the mouse type option you can select the type of mouse to emulate.
  515. # The default value is 'ps2'. The other choices are 'imps2' (wheel mouse
  516. # on PS/2), 'serial', 'serial_wheel' (one com port requires setting
  517. # 'mode=mouse') and 'usb' (3-button mouse - one of the USB ports must be
  518. # connected with the 'mouse' device - requires PCI and USB support).
  519. #
  520. # Examples:
  521. # mouse: enabled=1
  522. # mouse: enabled=1, type=imps2
  523. # mouse: enabled=1, type=serial
  524. # mouse: enabled=0
  525. #=======================================================================
  526. mouse: enabled=0
  527. #=======================================================================
  528. # private_colormap: Request that the GUI create and use it's own
  529. # non-shared colormap. This colormap will be used
  530. # when in the bochs window. If not enabled, a
  531. # shared colormap scheme may be used. Not implemented
  532. # on all GUI's.
  533. #
  534. # Examples:
  535. # private_colormap: enabled=1
  536. # private_colormap: enabled=0
  537. #=======================================================================
  538. private_colormap: enabled=0
  539. #=======================================================================
  540. # fullscreen: ONLY IMPLEMENTED ON AMIGA
  541. # Request that Bochs occupy the entire screen instead of a
  542. # window.
  543. #
  544. # Examples:
  545. # fullscreen: enabled=0
  546. # fullscreen: enabled=1
  547. #=======================================================================
  548. #fullscreen: enabled=0
  549. #screenmode: name="sample"
  550. #=======================================================================
  551. # ne2k: NE2000 compatible ethernet adapter
  552. #
  553. # Examples:
  554. # ne2k: ioaddr=IOADDR, irq=IRQ, mac=MACADDR, ethmod=MODULE, ethdev=DEVICE, script=SCRIPT
  555. #
  556. # ioaddr, irq: You probably won't need to change ioaddr and irq, unless there
  557. # are IRQ conflicts.
  558. #
  559. # mac: The MAC address MUST NOT match the address of any machine on the net.
  560. # Also, the first byte must be an even number (bit 0 set means a multicast
  561. # address), and you cannot use ff:ff:ff:ff:ff:ff because that's the broadcast
  562. # address. For the ethertap module, you must use fe:fd:00:00:00:01. There may
  563. # be other restrictions too. To be safe, just use the b0:c4... address.
  564. #
  565. # ethdev: The ethdev value is the name of the network interface on your host
  566. # platform. On UNIX machines, you can get the name by running ifconfig. On
  567. # Windows machines, you must run niclist to get the name of the ethdev.
  568. # Niclist source code is in misc/niclist.c and it is included in Windows
  569. # binary releases.
  570. #
  571. # script: The script value is optional, and is the name of a script that
  572. # is executed after bochs initialize the network interface. You can use
  573. # this script to configure this network interface, or enable masquerading.
  574. # This is mainly useful for the tun/tap devices that only exist during
  575. # Bochs execution. The network interface name is supplied to the script
  576. # as first parameter
  577. #
  578. # If you don't want to make connections to any physical networks,
  579. # you can use the following 'ethmod's to simulate a virtual network.
  580. # null: All packets are discarded, but logged to a few files.
  581. # arpback: ARP is simulated. Disabled by default.
  582. # vde: Virtual Distributed Ethernet
  583. # vnet: ARP, ICMP-echo(ping), DHCP and read/write TFTP are simulated.
  584. # The virtual host uses 192.168.10.1.
  585. # DHCP assigns 192.168.10.2 to the guest.
  586. # TFTP uses the ethdev value for the root directory and doesn't
  587. # overwrite files.
  588. #
  589. #=======================================================================
  590. # ne2k: ioaddr=0x240, irq=9, mac=fe:fd:00:00:00:01, ethmod=fbsd, ethdev=en0 #macosx
  591. # ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:00, ethmod=fbsd, ethdev=xl0
  592. # ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:00, ethmod=linux, ethdev=eth0
  593. # ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:01, ethmod=win32, ethdev=MYCARD
  594. # ne2k: ioaddr=0x240, irq=9, mac=fe:fd:00:00:00:01, ethmod=tap, ethdev=tap0
  595. # ne2k: ioaddr=0x240, irq=9, mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun0, script=./tunconfig
  596. # ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:01, ethmod=null, ethdev=eth0
  597. # ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:01, ethmod=vde, ethdev="/tmp/vde.ctl"
  598. # ne2k: ioaddr=0x240, irq=9, mac=b0:c4:20:00:00:01, ethmod=vnet, ethdev="c:/temp"
  599. pnic: mac=fe:fd:00:00:00:01, ethmod=tuntap, ethdev=/dev/net/tun:tap0
  600. #=======================================================================
  601. # KEYBOARD_MAPPING:
  602. # This enables a remap of a physical localized keyboard to a
  603. # virtualized us keyboard, as the PC architecture expects.
  604. # If enabled, the keymap file must be specified.
  605. #
  606. # Examples:
  607. # keyboard_mapping: enabled=1, map=gui/keymaps/x11-pc-de.map
  608. #=======================================================================
  609. keyboard_mapping: enabled=0, map=
  610. #=======================================================================
  611. # KEYBOARD_TYPE:
  612. # Type of keyboard return by a "identify keyboard" command to the
  613. # keyboard controler. It must be one of "xt", "at" or "mf".
  614. # Defaults to "mf". It should be ok for almost everybody. A known
  615. # exception is french macs, that do have a "at"-like keyboard.
  616. #
  617. # Examples:
  618. # keyboard_type: mf
  619. #=======================================================================
  620. #keyboard_type: mf
  621. #=======================================================================
  622. # USER_SHORTCUT:
  623. # This defines the keyboard shortcut to be sent when you press the "user"
  624. # button in the headerbar. The shortcut string is a combination of maximum
  625. # 3 key names (listed below) separated with a '-' character. The old-style
  626. # syntax (without the '-') still works for the key combinations supported
  627. # in Bochs 2.2.1.
  628. # Valid key names:
  629. # "alt", "bksl", "bksp", "ctrl", "del", "down", "end", "enter", "esc",
  630. # "f1", ... "f12", "home", "ins", "left", "menu", "minus", "pgdwn", "pgup",
  631. # "plus", "right", "shift", "space", "tab", "up", and "win".
  632. #
  633. # Example:
  634. # user_shortcut: keys=ctrl-alt-del
  635. #=======================================================================
  636. user_shortcut: keys=ctrl-alt-del
  637. #=======================================================================
  638. # I440FXSUPPORT:
  639. # This option controls the presence of the i440FX PCI chipset. You can
  640. # also specify the devices connected to PCI slots. Up to 5 slots are
  641. # available now. These devices are currently supported: ne2k, pcivga,
  642. # pcidev and pcipnic. If Bochs is compiled with Cirrus SVGA support
  643. # you'll have the additional choice 'cirrus'.
  644. #
  645. # Example:
  646. # i440fxsupport: enabled=1, slot1=pcivga, slot2=ne2k
  647. #=======================================================================
  648. i440fxsupport: enabled=1, slot1=pcipnic
  649. #=======================================================================
  650. # USB1:
  651. # This option controls the presence of the USB root hub which is a part
  652. # of the i440FX PCI chipset. With the portX option you can connect devices
  653. # to the hub (currently supported: 'mouse' and 'keypad'). If you connect
  654. # the mouse to one of the ports and use the mouse option 'type=usb' you'll
  655. # have a 3-button USB mouse.
  656. #
  657. # Example:
  658. # usb1: enabled=1, port1=mouse, port2=keypad
  659. #=======================================================================
  660. #usb1: enabled=1
  661. #=======================================================================
  662. # CMOSIMAGE:
  663. # This defines image file that can be loaded into the CMOS RAM at startup.
  664. # The rtc_init parameter controls whether initialize the RTC with values stored
  665. # in the image. By default the time0 argument given to the clock option is used.
  666. # With 'rtc_init=image' the image is the source for the initial time.
  667. #
  668. # Example:
  669. # cmosimage: file=cmos.img, rtc_init=image
  670. #=======================================================================
  671. #cmosimage: file=cmos.img, rtc_init=time0
  672. #=======================================================================
  673. # other stuff
  674. #=======================================================================
  675. magic_break: enabled=1
  676. #load32bitOSImage: os=nullkernel, path=../kernel.img, iolog=../vga_io.log
  677. #load32bitOSImage: os=linux, path=../linux.img, iolog=../vga_io.log, initrd=../initrd.img
  678. #text_snapshot_check: enable
  679. #-------------------------
  680. # PCI host device mapping
  681. #-------------------------
  682. #pcidev: vendor=0x1234, device=0x5678
  683. #=======================================================================
  684. # GDBSTUB:
  685. # Enable GDB stub. See user documentation for details.
  686. # Default value is enabled=0.
  687. #=======================================================================
  688. #gdbstub: enabled=0, port=1234, text_base=0, data_base=0, bss_base=0
  689. #=======================================================================
  690. # IPS:
  691. # The IPS directive is DEPRECATED. Use the parameter IPS of the CPU
  692. # directive instead.
  693. #=======================================================================
  694. #ips: 10000000
  695. #=======================================================================
  696. # for Macintosh, use the style of pathnames in the following
  697. # examples.
  698. #
  699. # vgaromimage: :bios:VGABIOS-elpin-2.40
  700. # romimage: file=:bios:BIOS-bochs-latest, address=0xf0000
  701. # floppya: 1_44=[fd:], status=inserted
  702. #=======================================================================