xref: /xv6-public/dot-bochsrc (revision 70a895f6)
1*70a895f6Srtm###############################################################
2*70a895f6Srtm# bochsrc file for pragmalinux disk image.
3*70a895f6Srtm#
4*70a895f6Srtm# This file is provided both as .bochsrc and bochsrc so
5*70a895f6Srtm# that it works on win32 and unix.
6*70a895f6Srtm###############################################################
7*70a895f6Srtm
8*70a895f6Srtm# how much memory the emulated machine will have
9*70a895f6Srtmmegs: 32
10*70a895f6Srtm
11*70a895f6Srtm# filename of ROM images
12*70a895f6Srtmromimage: file=/usr/local/BIOS-bochs-latest, address=0xf0000
13*70a895f6Srtmvgaromimage: file=/usr/local/VGABIOS-lgpl-latest
14*70a895f6Srtm
15*70a895f6Srtm# Use the parallel port as an alternate console,
16*70a895f6Srtm# so that we can run Bochs without the GUI.
17*70a895f6Srtmparport1: enabled=1, file="/dev/stdout"
18*70a895f6Srtm#parport1: enabled=1, file="/dev/null"
19*70a895f6Srtm
20*70a895f6Srtm# uncommenting one of the following lines can be used to specify your
21*70a895f6Srtm# preferred display. (defaults to x11 for bochs-bin and to term for
22*70a895f6Srtm# bochs-term)
23*70a895f6Srtm
24*70a895f6Srtm#display_library: x
25*70a895f6Srtm
26*70a895f6Srtm# nogui can still be useful because you can see the output on the
27*70a895f6Srtm# parport1 from above
28*70a895f6Srtm#display_library: nogui
29*70a895f6Srtm
30*70a895f6Srtm# if using "term", you probably want to change the parport output to
31*70a895f6Srtm# go to a file or /dev/null
32*70a895f6Srtm#display_library: term
33*70a895f6Srtm
34*70a895f6Srtm# disk images
35*70a895f6Srtmata0: enabled=1, ioaddr1=0x1f0, ioaddr2=0x3f0, irq=14
36*70a895f6Srtm# ata0-master: type=disk, mode=flat, path="./obj/kern/bochs.img", cylinders=200, heads=16, spt=63
37*70a895f6Srtmata0-master: type=disk, mode=flat, path="./xv6.img", cylinders=100, heads=10, spt=10
38*70a895f6Srtm# ata0-slave: type=disk, mode=flat, path="./obj/fs/fs.img", cylinders=200, heads=16, spt=63
39*70a895f6Srtm
40*70a895f6Srtm# choose the boot disk.
41*70a895f6Srtmboot: c
42*70a895f6Srtm
43*70a895f6Srtm# where do we send log messages?
44*70a895f6Srtmlog: bochs.log
45*70a895f6Srtm#log: /dev/stdout
46*70a895f6Srtm
47*70a895f6Srtm# disable the mouse
48*70a895f6Srtmmouse: enabled=0
49*70a895f6Srtm
50*70a895f6Srtm#debug: action=ignore
51*70a895f6Srtminfo: action=ignore
52*70a895f6Srtmerror: action=report
53*70a895f6Srtmpanic: action=ask
54*70a895f6Srtm
55*70a895f6Srtm# this changes how often the screen is refreshed.  Lowering it will
56*70a895f6Srtm# make your screen update more often, which will slow down emulation,
57*70a895f6Srtm# but will make the display respond faster.  It can also be useful if
58*70a895f6Srtm# you machine is panicing and the most recent screen changes are not
59*70a895f6Srtm# displayed before it panics.
60*70a895f6Srtm
61*70a895f6Srtmvga_update_interval: 100000
62*70a895f6Srtm
63*70a895f6Srtm# changing ips can lead to dramatically different performance.  It
64*70a895f6Srtm# also affects how quickly time passes in the emulated machine.
65*70a895f6Srtm# Setting it too low can cause clock interrupts to happen too rapidly.
66*70a895f6Srtm# Setting it too high will make the whole machine feel sluggish.
67*70a895f6Srtm# (Note: with using clock sync=realtime, the ips parameter is not
68*70a895f6Srtm# really used, although it is still used for vga updates)
69*70a895f6Srtmips: 2000000
70*70a895f6Srtm
71*70a895f6Srtm# This means that time in the emulated machine is the same as
72*70a895f6Srtm# realtime.  This can be scary because running the same simulation
73*70a895f6Srtm# twice in a row can lead to different results (because they started
74*70a895f6Srtm# at different times, for instance).  If you want to use non-real
75*70a895f6Srtm# time, then use sync=none.
76*70a895f6Srtmclock: sync=realtime, time0=local
77*70a895f6Srtm# clock: sync=none, time0=946681200 # jan 1, 2000
78*70a895f6Srtm
79*70a895f6Srtmkeyboard_serial_delay: 10
80