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