/[gxemul]/trunk/doc/configfiles.html
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Contents of /trunk/doc/configfiles.html

Parent Directory Parent Directory | Revision Log Revision Log


Revision 8 - (show annotations)
Mon Oct 8 16:18:19 2007 UTC (16 years, 5 months ago) by dpavlin
File MIME type: text/html
File size: 8034 byte(s)
++ trunk/HISTORY	(local)
$Id: HISTORY,v 1.777 2005/06/12 12:31:52 debug Exp $
==============  RELEASE 0.3.3.1  ==============

20050609	Adding simple MIPS IPIs (to dev_mp).
20050611	Adding an ugly hack to track down low-reference bugs
		(define TRACE_NULL_CRASHES, or configure --tracenull).
		Other minor updates.
20050612	Adding a dummy evbmips mode.

==============  RELEASE 0.3.3.2  ==============


1 <html>
2 <head><title>GXemul documentation: Configuration files</title>
3 <meta name="robots" content="noarchive,nofollow,noindex">
4 </head>
5 <body bgcolor="#f8f8f8" text="#000000" link="#4040f0" vlink="#404040" alink="#ff0000">
6 <table border=0 width=100% bgcolor="#d0d0d0"><tr>
7 <td width=100% align=center valign=center><table border=0 width=100%><tr>
8 <td align="left" valign=center bgcolor="#d0efff"><font color="#6060e0" size="6">
9 <b>GXemul documentation:</b></font>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
10 <font color="#000000" size="6"><b>Configuration files</b>
11 </font></td></tr></table></td></tr></table><p>
12
13 <!--
14
15 $Id: configfiles.html,v 1.8 2005/06/04 22:47:49 debug Exp $
16
17 Copyright (C) 2003-2005 Anders Gavare. All rights reserved.
18
19 Redistribution and use in source and binary forms, with or without
20 modification, are permitted provided that the following conditions are met:
21
22 1. Redistributions of source code must retain the above copyright
23 notice, this list of conditions and the following disclaimer.
24 2. Redistributions in binary form must reproduce the above copyright
25 notice, this list of conditions and the following disclaimer in the
26 documentation and/or other materials provided with the distribution.
27 3. The name of the author may not be used to endorse or promote products
28 derived from this software without specific prior written permission.
29
30 THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
31 ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
32 IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
33 ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
34 FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
35 DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
36 OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
37 HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
38 LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
39 OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
40 SUCH DAMAGE.
41
42 -->
43
44 <a href="./">Back to the index</a>
45
46 <p><br>
47 <h2>Configuration files</h2>
48
49 <p>
50 <ul>
51 <li><a href="#config">Configuration file syntax</a>
52 <li><a href="#minimal">A minimal example</a>
53 </ul>
54
55
56
57
58 <p><br>
59 <a name="config"></a>
60 <h3>Configuration file syntax:</h3>
61
62 Configuration files are simple text files. I don't have time to write
63 down a formal syntax right now, so I hope that conveying the syntax
64 through an example is good enough:
65
66 <p>
67 <table border="0"><tr><td width="40">&nbsp;</td><td>
68 <pre>
69 <font color="#2020cf">!!gxemul <-- configuration files must start like this
70 !
71 ! This is an example configuration file for GXemul.
72 ! Anything following an exclamation mark (and also the exclamation
73 ! mark itself) is ignored.
74 !
75 ! Each configuration file should contain one emul entry. Almost
76 ! everything else is optional.</font>
77
78 <b>emul(</b>
79 <b>name(<font color="#ff003f">"my test emul"</font>)</b> <font color="#2020cf">! Optional name of this emulation</font>
80
81 <font color="#2020cf">! This creates a network (ethernet):</font>
82 <b>net(</b>
83 <b>ipv4net(<font color="#ff003f">"10.2.0.0"</font>)</b> <font color="#2020cf">! The default is 10.0.0.0/8, but</font>
84 <b>ipv4len(16)</b> <font color="#2020cf">! it can be overridden like this.</font>
85 <b>)</b>
86
87 <font color="#2020cf">! This creates a machine:</font>
88 <b>machine(</b>
89 <b>name(<font color="#ff003f">"My test machine"</font>)</b>
90
91 <font color="#2020cf">! serial_nr(123) ! Useful when emulating multiple machines</font>
92 <font color="#2020cf"> ! on multiple hosts, and they need to have</font>
93 <font color="#2020cf"> ! unique MAC addresses, etc.</font>
94
95 <b>type(<font color="#ff003f">"dec"</font>)</b> <font color="#2020cf">! This is actually not optional</font>
96 <b>subtype(<font color="#ff003f">"5000/200"</font>)</b>
97
98 <b>cpu(<font color="#ff003f">"R3000"</font>)</b> <font color="#2020cf">! Normally set implicitly to a reasonable</font>
99 <font color="#2020cf">! value, depending on <i>type</i> and <i>subtype</i></font>
100
101 <font color="#2020cf">! ncpus(4)</font>
102 <font color="#2020cf">! use_random_bootstrap_cpu(yes)</font>
103
104 <b>memory(128)</b> <font color="#2020cf">! 128 MB memory. This overrides</font>
105 <font color="#2020cf">! the default amount of memory for</font>
106 <font color="#2020cf">! this machine type.</font>
107
108 <font color="#2020cf">! random_mem_contents(yes)</font>
109
110 <font color="#2020cf">! prom_emulation(no)</font>
111
112 <font color="#2020cf">! byte_order(big) ! Normally set implicitly (because</font>
113 <font color="#2020cf">! of <i>type</i> and <i>subtype</i>, or decided</font>
114 <font color="#2020cf">! from the file loaded with <i>load</i></font>
115
116 <b>load(<font color="#ff003f">"netbsd-INSTALL"</font>)</b>
117 <b>bootname(<font color="#ff003f">"netbsd"</font>)</b>
118 <b>bootarg(<font color="#ff003f">"-a"</font>)</b>
119
120 <font color="#2020cf">! n_gfx_cards(2) ! for DECstation dual/tripple-head</font>
121 <font color="#2020cf">! emulated_hz(10000000) ! for fixing the emulated clock speed</font>
122
123 <font color="#2020cf">! add_x11_display("otherbox:0") ! for dual/tripple-head etc</font>
124 <font color="#2020cf">! add_x11_display("thisbox:0")</font>
125
126 <font color="#2020cf">{
127 Devices can be added like this:
128
129 device("8250 addr=0x18000800 addr_mult=4")
130
131 The name comes first, followed by optional parameters.
132 Remember to use 0x for hexadecimal values.
133 }</font>
134
135 <font color="#2020cf">! force_netboot(yes)</font>
136 <font color="#2020cf">! start_paused(yes)</font>
137
138 <b>disk(<font color="#ff003f">"nbsd.img"</font>)</b>
139 <b>disk(<font color="#ff003f">"6c:cdrom.iso"</font>)</b>
140
141 <b>use_x11(yes)</b>
142 <b>x11_scaledown(2)</b>
143
144 <font color="#2020cf">! bintrans(disable)</font>
145 <font color="#2020cf">! old_bintrans(enable)</font>
146 <font color="#2020cf">! bintrans_size(24)</font>
147
148 <font color="#2020cf">! slow_serial_interrupts_hack_for_linux(yes)</font>
149
150 <font color="#2020cf">! debugger_on_badaddr(yes)</font>
151
152 <font color="#2020cf">{
153 Long comments spanning multiple lines should be surrounded
154 with tuborg parentheses.
155
156 { Long comments can be nested. }
157 <!--
158 <b><i>... TODO ...
159 -i display each instruction as it is executed
160 -J disable some speed tricks
161 -m nr run at most nr instructions (on any cpu)
162 -N display nr of instructions/second average, at regular intervals
163 -p pc add a breakpoint (remember to use the '0x' prefix for hex!)
164 -r register dumps before every instruction
165 -t show function trace tree
166 -y x set max_random_cycles_per_chunk to x (experimental)
167 </i></b>-->
168 }</font>
169
170 <b>)</b>
171
172 <font color="#2020cf">! Multiple machine are allowed.</font>
173 <b>machine(</b>
174 <b>name(<font color="#ff003f">"another machine"</font>)</b>
175 <b>type(<font color="#ff003f">"hpcmips"</font>)</b>
176 <b>subtype(<font color="#ff003f">"be300"</font>)</b>
177
178 <i>...</i>
179 <b>)</b>
180 <b>)</b>
181 </pre>
182 </td></tr></table>
183
184 <p>
185 Starting the emulator with a configuration file is as simple as
186
187 <pre>
188 $ <b>./gxemul @myconfig</b>
189 </pre>
190
191 if <b>myconfig</b> is the name of the configuration file.
192
193
194
195
196
197
198 <p><br>
199 <a name="minimal"></a>
200 <h3>A minimal example:</h3>
201
202 Here is an example of what a minimal configuration file might look like:
203
204 <p>
205 <table border="0"><tr><td width="40">&nbsp;</td><td>
206 <pre>
207 <font color="#2020cf">!!gxemul</font>
208
209 <b>emul(</b>
210 <b>machine(</b>
211 <b>type(<font color="#ff003f">"dec"</font>)</b>
212 <b>subtype(<font color="#ff003f">"3max"</font>)</b>
213 <b>load(<font color="#ff003f">"netbsd-pmax-INSTALL-2.0"</font>)</b>
214 <b>)</b>
215 <b>)</b>
216 </pre>
217 </td></tr></table>
218
219 <p>
220 For some machine types, specifying the <b>subtype</b> might not even be
221 necessary. Also, adding a <b>net</b> is quite useful, especially for
222 netbooting kernels.
223
224
225
226
227
228 </p>
229
230 </body>
231 </html>

  ViewVC Help
Powered by ViewVC 1.1.26