Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | .\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13 |
2 | .\" | |
3 | .\" Standard preamble: | |
4 | .\" ======================================================================== | |
5 | .de Sh \" Subsection heading | |
6 | .br | |
7 | .if t .Sp | |
8 | .ne 5 | |
9 | .PP | |
10 | \fB\\$1\fR | |
11 | .PP | |
12 | .. | |
13 | .de Sp \" Vertical space (when we can't use .PP) | |
14 | .if t .sp .5v | |
15 | .if n .sp | |
16 | .. | |
17 | .de Vb \" Begin verbatim text | |
18 | .ft CW | |
19 | .nf | |
20 | .ne \\$1 | |
21 | .. | |
22 | .de Ve \" End verbatim text | |
23 | .ft R | |
24 | .fi | |
25 | .. | |
26 | .\" Set up some character translations and predefined strings. \*(-- will | |
27 | .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left | |
28 | .\" double quote, and \*(R" will give a right double quote. | will give a | |
29 | .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to | |
30 | .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' | |
31 | .\" expand to `' in nroff, nothing in troff, for use with C<>. | |
32 | .tr \(*W-|\(bv\*(Tr | |
33 | .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' | |
34 | .ie n \{\ | |
35 | . ds -- \(*W- | |
36 | . ds PI pi | |
37 | . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch | |
38 | . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch | |
39 | . ds L" "" | |
40 | . ds R" "" | |
41 | . ds C` "" | |
42 | . ds C' "" | |
43 | 'br\} | |
44 | .el\{\ | |
45 | . ds -- \|\(em\| | |
46 | . ds PI \(*p | |
47 | . ds L" `` | |
48 | . ds R" '' | |
49 | 'br\} | |
50 | .\" | |
51 | .\" If the F register is turned on, we'll generate index entries on stderr for | |
52 | .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index | |
53 | .\" entries marked with X<> in POD. Of course, you'll have to process the | |
54 | .\" output yourself in some meaningful fashion. | |
55 | .if \nF \{\ | |
56 | . de IX | |
57 | . tm Index:\\$1\t\\n%\t"\\$2" | |
58 | .. | |
59 | . nr % 0 | |
60 | . rr F | |
61 | .\} | |
62 | .\" | |
63 | .\" For nroff, turn off justification. Always turn off hyphenation; it makes | |
64 | .\" way too many mistakes in technical documents. | |
65 | .hy 0 | |
66 | .if n .na | |
67 | .\" | |
68 | .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). | |
69 | .\" Fear. Run. Save yourself. No user-serviceable parts. | |
70 | . \" fudge factors for nroff and troff | |
71 | .if n \{\ | |
72 | . ds #H 0 | |
73 | . ds #V .8m | |
74 | . ds #F .3m | |
75 | . ds #[ \f1 | |
76 | . ds #] \fP | |
77 | .\} | |
78 | .if t \{\ | |
79 | . ds #H ((1u-(\\\\n(.fu%2u))*.13m) | |
80 | . ds #V .6m | |
81 | . ds #F 0 | |
82 | . ds #[ \& | |
83 | . ds #] \& | |
84 | .\} | |
85 | . \" simple accents for nroff and troff | |
86 | .if n \{\ | |
87 | . ds ' \& | |
88 | . ds ` \& | |
89 | . ds ^ \& | |
90 | . ds , \& | |
91 | . ds ~ ~ | |
92 | . ds / | |
93 | .\} | |
94 | .if t \{\ | |
95 | . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" | |
96 | . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' | |
97 | . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' | |
98 | . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' | |
99 | . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' | |
100 | . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' | |
101 | .\} | |
102 | . \" troff and (daisy-wheel) nroff accents | |
103 | .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' | |
104 | .ds 8 \h'\*(#H'\(*b\h'-\*(#H' | |
105 | .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] | |
106 | .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' | |
107 | .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' | |
108 | .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] | |
109 | .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] | |
110 | .ds ae a\h'-(\w'a'u*4/10)'e | |
111 | .ds Ae A\h'-(\w'A'u*4/10)'E | |
112 | . \" corrections for vroff | |
113 | .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' | |
114 | .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' | |
115 | . \" for low resolution devices (crt and lpr) | |
116 | .if \n(.H>23 .if \n(.V>19 \ | |
117 | \{\ | |
118 | . ds : e | |
119 | . ds 8 ss | |
120 | . ds o a | |
121 | . ds d- d\h'-1'\(ga | |
122 | . ds D- D\h'-1'\(hy | |
123 | . ds th \o'bp' | |
124 | . ds Th \o'LP' | |
125 | . ds ae ae | |
126 | . ds Ae AE | |
127 | .\} | |
128 | .rm #[ #] #H #V #F C | |
129 | .\" ======================================================================== | |
130 | .\" | |
131 | .IX Title "MIDAS 1" | |
132 | .TH MIDAS 1 "2005-06-10" "perl v5.8.0" "User Contributed Perl Documentation" | |
133 | .SH "NAME" | |
134 | midas \- assembles diags (Midas Is a Diag ASsembler) | |
135 | .SH "SYNOPSIS" | |
136 | .IX Header "SYNOPSIS" | |
137 | midas [options] <diag_name> | |
138 | .SH "DESCRIPTION" | |
139 | .IX Header "DESCRIPTION" | |
140 | This program builds assembly diags. It is substantially more involved | |
141 | than simply assembling the diag because it also has to link the diag, | |
142 | program the \s-1MMU\s0, and generate several output files. | |
143 | .PP | |
144 | The diag specified on the command line will be built. Pretty much | |
145 | everything else is configurable. | |
146 | .Sh "Options" | |
147 | .IX Subsection "Options" | |
148 | The following are the options you need to get started: | |
149 | .IP "\-h" 4 | |
150 | .IX Item "-h" | |
151 | Display man page. | |
152 | .IP "\-verbose [level] / \-noverbose (abbreviated \-v / \-nov)" 4 | |
153 | .IX Item "-verbose [level] / -noverbose (abbreviated -v / -nov)" | |
154 | Sets verbosity level (default=2). \-noverbose (or \-nov) is a synonym | |
155 | for \-verbose 0, which means to generate no output in the absence of | |
156 | errors. The highest level of verbosity currently defined is 3. | |
157 | .IP "\-version" 4 | |
158 | .IX Item "-version" | |
159 | Return version information and exit. | |
160 | .IP "\-format" 4 | |
161 | .IX Item "-format" | |
162 | Display help on the diag format and exit. | |
163 | .IP "\-config <file>" 4 | |
164 | .IX Item "-config <file>" | |
165 | Use this file as the config file instead of the one that is | |
166 | distributed with Midas. | |
167 | .IP "\-project <project>" 4 | |
168 | .IX Item "-project <project>" | |
169 | Use this project for project-specific configuration. Default is the | |
170 | environment variable \f(CW$PROJECT\fR. Legal values are \s-1BW\s0 and N2. | |
171 | .Sh "Common Options" | |
172 | .IX Subsection "Common Options" | |
173 | The following are the commonly-used options: | |
174 | .IP "\-diag_root <path>" 4 | |
175 | .IX Item "-diag_root <path>" | |
176 | Use the specified path as a base for finding standard include files. | |
177 | Default is \f(CW$DV_ROOT\fR. | |
178 | .IP "\-build_dir <path>" 4 | |
179 | .IX Item "-build_dir <path>" | |
180 | Path (absolute or relative to where command is invoked) to directory | |
181 | where temporary files are generated and the build is done. Default is | |
182 | \&'./build'. | |
183 | .IP "\-dest_dir <path>" 4 | |
184 | .IX Item "-dest_dir <path>" | |
185 | Path (absolute or relative to where command is invoked) of where to | |
186 | store output files. Default is '.'. | |
187 | .IP "\-find_root <dir>" 4 | |
188 | .IX Item "-find_root <dir>" | |
189 | Interpret the diag on the command-line as the name of a diag to search | |
190 | for. It does a breadth-first search under the specified directory. | |
191 | The default behavior is not to do any search, but to assume that the | |
192 | specified diag is a full or relative path to the file. | |
193 | .IP "\-find" 4 | |
194 | .IX Item "-find" | |
195 | This is a shortcut for "\-find_root <diag_root>/verif/diag". | |
196 | .IP "\-mmu <mmu_type>" 4 | |
197 | .IX Item "-mmu <mmu_type>" | |
198 | Generate programming for the specified \s-1MMU\s0. Recognized options are | |
199 | \&\*(L"ultra2\*(R", \*(L"niagara\*(R", \*(L"niagara2\*(R", and \*(L"rock\*(R". Default is | |
200 | project\-specific: \*(L"niagara\*(R" for Niagara\-1 and \*(L"niagara2\*(R" for | |
201 | Niagara\-2. | |
202 | .IP "\-ttefmt <tte_format>" 4 | |
203 | .IX Item "-ttefmt <tte_format>" | |
204 | Specifies \s-1TTE\s0 format for those MMUs that require it. May be \*(L"sun4u\*(R" | |
205 | or \*(L"sun4v\*(R". Default is project\-specific: \*(L"sun4v\*(R" for Niagara\-1 and | |
206 | Niagara\-2. | |
207 | .IP "\-tsbtagfmt <tsbtagfmt>" 4 | |
208 | .IX Item "-tsbtagfmt <tsbtagfmt>" | |
209 | Specifies the format of the \s-1TSB\s0 tag. Legal values are 'tagaccess' and | |
210 | \&'tagtarget'. Default is project\-specific: 'tagaccess' for Niagara\-1 and 'tagtarget' for Niagara\-2. | |
211 | .IP "\-force_build or \-f" 4 | |
212 | .IX Item "-force_build or -f" | |
213 | Build the diag, even if it looks like we have the same input as before | |
214 | and the same args as before. | |
215 | .IP "\-copy_products / \-nocopy_products" 4 | |
216 | .IX Item "-copy_products / -nocopy_products" | |
217 | By default, the product files generated in the build directory are | |
218 | hard-linked to the destination directory. The reason they are | |
219 | hard-linked and not copied is for speed. If the hard link fails, it | |
220 | will fall back to a copy in case the directories are on different | |
221 | physical disks. If \-copy_products is given, however, it will always | |
222 | do a copy, not a hard link. Default is project\-specific: | |
223 | \&\-nocopy_products for Niagara\-1. | |
224 | .IP "\-E" 4 | |
225 | .IX Item "-E" | |
226 | Stop after the preprocessing stage. | |
227 | .IP "\-cleanup / \-nocleanup" 4 | |
228 | .IX Item "-cleanup / -nocleanup" | |
229 | If \-cleanup is enabled, then after a successful build, the build | |
230 | directory is erased if and only if the build directory was created by | |
231 | this invocation of midas. Default is project\-specific: \-cleanup for | |
232 | Niagara\-1. | |
233 | .IP "\-force_cleanup / \-noforce_cleanup" 4 | |
234 | .IX Item "-force_cleanup / -noforce_cleanup" | |
235 | If \-cleanup is enabled, but this invocation of midas did not create | |
236 | the build directory, \-force_cleanup will remove the build directory | |
237 | anyway. Default is project\-specific: \-noforce_cleanup for Niagara\-1. | |
238 | .IP "\-D<symbol> or \-D<symbol>=<value>" 4 | |
239 | .IX Item "-D<symbol> or -D<symbol>=<value>" | |
240 | Add a define to the preprocessing line. Option may be repeated. | |
241 | .IP "\-stddef / \-nostddef" 4 | |
242 | .IX Item "-stddef / -nostddef" | |
243 | Include standard preprocessor definitions on command\-line. \-nostddef | |
244 | disables these. Default is \-stddef, but no standard symbols are | |
245 | currently defined. | |
246 | .IP "\-I<dir>" 4 | |
247 | .IX Item "-I<dir>" | |
248 | Add a directory to the include path used by cpp and m4. Path should | |
249 | be absolute or relative to the directory where midas was invoked. | |
250 | Option may be repeated. | |
251 | .IP "\-stdinc / \-nostdinc" 4 | |
252 | .IX Item "-stdinc / -nostdinc" | |
253 | With \-stdinc, the standard include paths are used during preprocessing | |
254 | (both cpp and m4). \-nostdinc disables these. Default is \-stdinc. | |
255 | The standard include directories are the directory where midas was | |
256 | invoked, the build directory and | |
257 | <diag_root>/verif/diag/assembly/include (keep in mind that | |
258 | <diag_root> defaults to \f(CW$DV_ROOT\fR). | |
259 | .IP "\-include_build / \-noinclude_build" 4 | |
260 | .IX Item "-include_build / -noinclude_build" | |
261 | This option is only meaningful with \-nostdinc. If standard includes | |
262 | are switched off, \-include_build will add the build directory back to | |
263 | the include path. Default is \-noinclude_build. | |
264 | .IP "\-include_start / \-noinclude_start" 4 | |
265 | .IX Item "-include_start / -noinclude_start" | |
266 | This option is only meaningful with \-nostdinc. If standard includes | |
267 | are switched off, \-include_start will add the start directory (the | |
268 | directory where midas was invoked) back to the include path. | |
269 | Default is \-noinclude_start. | |
270 | .IP "\-L<dir>" 4 | |
271 | .IX Item "-L<dir>" | |
272 | Add a directory to the search path when looking for object files in a | |
273 | \&\s-1MIDAS_OBJ\s0 directive. Option may be repeated. | |
274 | .IP "\-C<dir>" 4 | |
275 | .IX Item "-C<dir>" | |
276 | Add a directory to the search path when looking for C source files in | |
277 | a \s-1MIDAS_CC\s0 directive. Option may be repeated. | |
278 | .IP "\-pal_diag_args <args>" 4 | |
279 | .IX Item "-pal_diag_args <args>" | |
280 | If the diag is run through pal, give these arguments to the pal diag. | |
281 | Option may be repeated. Note that these arguements are given to the | |
282 | diag, not pal itself. For instance, \*(L"midas \-pal_args \-abc mydiag.pal | |
283 | \&\-pal_diag_args def \-pal_diag_args ghi\*(R" will run the pal command-line | |
284 | \&\*(L"pal \-abc mydiag.pal def ghi\*(R". | |
285 | .IP "\-build_threads <num_threads>" 4 | |
286 | .IX Item "-build_threads <num_threads>" | |
287 | When doing work that can be done in parallel (such as assembling a | |
288 | bunch of files), use <num_threads> to do it. Default is | |
289 | project\-specific: 3 for Niagara\-1. | |
290 | .IP "\-print_errors / \-noprint_errors" 4 | |
291 | .IX Item "-print_errors / -noprint_errors" | |
292 | If \-noprint_errors is defined, then generation of error messages is | |
293 | turned off. When used with \-verbose 0, midas is completly silent. | |
294 | This is probalby only useful for the test harness (which is why the | |
295 | switch is there). | |
296 | .IP "\-copy_products / \-nocopy_products" 4 | |
297 | .IX Item "-copy_products / -nocopy_products" | |
298 | If this is set, then copy files from the build directory to the | |
299 | starting directory. With \-nocopy_products, the files are hard linked | |
300 | instead. If it tries to create a hard link and fails, it will fall | |
301 | back to a copy. Default is \-nocopy_products. | |
302 | .IP "\-compress_image / \-nocompress_image" 4 | |
303 | .IX Item "-compress_image / -nocompress_image" | |
304 | If \-compress_image is enabled (as it is by default), then allow | |
305 | compressed mem.images to be generated. By default, all MMU-generated | |
306 | blocks are compressed when written to mem.image, meaning that instead | |
307 | of initializing unused sections to zero, they are simply | |
308 | uninitialized. The \-nocompress_image is equivalent to explicitly | |
309 | putting a 'compressimage=0' in all attr_text/attr_data blocks. | |
310 | .IP "\-env_zero / \-noenv_zero" 4 | |
311 | .IX Item "-env_zero / -noenv_zero" | |
312 | When compressing blocks, if \-env_zero is enabled the blocks will | |
313 | contain '// zero_image' directives to the environment. These | |
314 | directives are supported only by Niagara, and they are used to | |
315 | backdoor initialize large tracts of memory to zero. If \-noenv_zero is | |
316 | used, then compression will simply leave the data uninitialized. | |
317 | .IP "\-default_radix <decimal|hex>" 4 | |
318 | .IX Item "-default_radix <decimal|hex>" | |
319 | Radix to assume for all parameters that do not explicitly start with | |
320 | \&'0x'. Default is 'decimal'. | |
321 | .IP "\-gen_all_tsbs / \-nogen_all_tsbs" 4 | |
322 | .IX Item "-gen_all_tsbs / -nogen_all_tsbs" | |
323 | If \-gen_all_tsbs is given, then all TSBs that are defined are written | |
324 | to the memory image. If \-nogen_all_tsbs, then generate only the TSBs | |
325 | that are used. Default is project\-specific: \-nogen_all_tsbs for | |
326 | Niagara\-1. | |
327 | .IP "\-allow_tsb_conflicts / \-noallow_tsb_conflicts" 4 | |
328 | .IX Item "-allow_tsb_conflicts / -noallow_tsb_conflicts" | |
329 | If \-allow_tsb_conflicts is enabled, then it is legal to have mutiple | |
330 | virtual address map to the same entry in a \s-1TSB\s0. A linked-list will be | |
331 | created to hold all entries. With \-noallow_tsb_conflicts (which is | |
332 | the default for N1), collisions in the \s-1TSB\s0 can only happen with the | |
333 | save \s-1VA\s0 but different contexts. Default is project\-specific. | |
334 | .IP "\-allow_empty_sections / \-noallow_empty_sections" 4 | |
335 | .IX Item "-allow_empty_sections / -noallow_empty_sections" | |
336 | If \s-1TEXT_VA\s0 is specified, then at least one attr_text block for the | |
337 | section has to be specified, and the same is true for \s-1DATA_VA\s0 and | |
338 | attr_data blocks. If \-allow_empty_sections is specified, then midas | |
339 | will allow you to specify a \s-1TEXT_VA\s0(\s-1DATA_VA\s0) for the section, even if | |
340 | the section has no attr_text(attr_data) blocks. Of course, any | |
341 | text(data) in such a section will be ignored. Default is | |
342 | project\-specific: \-noallow_empty_sections for Niagara\-1. | |
343 | .IP "\-allow_duplicate_tags / \-noallow_duplicate_tags" 4 | |
344 | .IX Item "-allow_duplicate_tags / -noallow_duplicate_tags" | |
345 | When adding to a \s-1TSB\s0 link list, it is an error to add the same tag | |
346 | twice. \-allow_duplicate_tags suspends the error check. Default is | |
347 | project\-specific: \-noallow_duplicate_tags for Niagara\-1. | |
348 | .IP "\-allow_illegal_page_sizes / \-noallow_illegal_page_sizes" 4 | |
349 | .IX Item "-allow_illegal_page_sizes / -noallow_illegal_page_sizes" | |
350 | If \-allow_illegal_page_sizes, then tte_size attributes are not checked | |
351 | for valid values, though they are still checked against the width of | |
352 | the field. For instance, in the Niagara \s-1MMU\s0, there are 3 page bits, | |
353 | so values can be specified 0\-7. However, the only legal values for | |
354 | Niagara are 0, 1, 3, and 5, and unless \-allow_illegal_page_sizes is in | |
355 | effect, setting page bits of 2, 4, 6, or 7 will cause an error. The | |
356 | default is project\-specific: \-noallow_illegal_page_sizes for | |
357 | Niagara\-1. | |
358 | .IP "\-allow_misalgined_tsb_base / \-noallow_misaligned_tsb_base" 4 | |
359 | .IX Item "-allow_misalgined_tsb_base / -noallow_misaligned_tsb_base" | |
360 | If \-allow_misaligned_tsb_base is set, then a \s-1TSB\s0 base address need not | |
361 | be aligned with the \s-1TSB\s0 size. Real software will never do this, but I | |
362 | want it to be possible in diags. If an unalgined address is specified | |
363 | as the base and \-allow_misaligned_tsb_base is specified, then midas | |
364 | will forcibly align the address. Default should be | |
365 | \&\-noallow_misaligned_tsb_base for all projects. | |
366 | .IP "\-errcode <error_code>" 4 | |
367 | .IX Item "-errcode <error_code>" | |
368 | Prints a one-line description for the midas error code. Then exits | |
369 | with status 0. | |
370 | .Sh "Configuring Commands" | |
371 | .IX Subsection "Configuring Commands" | |
372 | midas runs several commands in the course of its operation. Several | |
373 | of these can be configured. The configurable commands are: pal, cpp, | |
374 | m4, gcc, as, and ld. Each configurable command has 3 associated options: | |
375 | .IP "\-std_<command>_args / \-nostd_<command>_args" 4 | |
376 | .IX Item "-std_<command>_args / -nostd_<command>_args" | |
377 | When \-std_<command>_args is enabled, the standard set of | |
378 | arguments for <command> are used. Default is | |
379 | \&\-std_<command>_args | |
380 | .IP "\-<command>_args <args>" 4 | |
381 | .IX Item "-<command>_args <args>" | |
382 | Add <args> to the argument list for the specified <command>. | |
383 | .IP "\-<command>_cmd <custom_command>" 4 | |
384 | .IX Item "-<command>_cmd <custom_command>" | |
385 | Use <custom_command> to run the specifed <command> | |
386 | instead of the standard version. | |
387 | .PP | |
388 | \fIExample\fR | |
389 | .IX Subsection "Example" | |
390 | .PP | |
391 | For instance, to add \-foo to the link line, use my_cpp to preprocess, and | |
392 | not use any standard assembler options, use: | |
393 | .PP | |
394 | .Vb 1 | |
395 | \& midas -ld_args -foo -cpp_cmd my_cpp -nostd_as_args mydiag.s | |
396 | .Ve | |
397 | .Sh "Configuring Filenames" | |
398 | .IX Subsection "Configuring Filenames" | |
399 | There are several generated files, and they all have default names. | |
400 | You can configure the names of many of the files with the following | |
401 | option. | |
402 | .IP "\-file <tag>=<name>" 4 | |
403 | .IX Item "-file <tag>=<name>" | |
404 | Cause midas to name the file whose tag is <tag> to be named | |
405 | <name> instead of the default. <name> is treated as | |
406 | the name of a file in the build directory. | |
407 | .PP | |
408 | The list of valid tags for the \-file option are: | |
409 | .IP "src" 4 | |
410 | .IX Item "src" | |
411 | Local version of the original source code for the diag. Default is 'diag.src'. | |
412 | .IP "s" 4 | |
413 | .IX Item "s" | |
414 | Assembly portion of diag before any preprocessing. Default is 'diag.s'. | |
415 | .IP "pl" 4 | |
416 | .IX Item "pl" | |
417 | Perl portion of the diag. Deafult is 'diag.pl'. | |
418 | .IP "cpp" 4 | |
419 | .IX Item "cpp" | |
420 | Output of the C preprocessor. Deafult is 'diag.cpp'. | |
421 | .IP "m4" 4 | |
422 | .IX Item "m4" | |
423 | Output of the m4 preprocessor. Default is 'diag.m4'. | |
424 | .IP "ldscr" 4 | |
425 | .IX Item "ldscr" | |
426 | Linker script. Default is 'diag.ls_scr'. | |
427 | .IP "exe" 4 | |
428 | .IX Item "exe" | |
429 | Linked executable. Default is 'diag*.exe' where * is | |
430 | application name. | |
431 | .IP "image" 4 | |
432 | .IX Item "image" | |
433 | Verilog memory image. Default is 'mem.image'. | |
434 | .IP "events" 4 | |
435 | .IX Item "events" | |
436 | Events file. Default is 'diag.ev'. | |
437 | .IP "symtab" 4 | |
438 | .IX Item "symtab" | |
439 | Symbol table. Default is 'symbol.tbl'. | |
440 | .IP "goldfinger" 4 | |
441 | .IX Item "goldfinger" | |
442 | Specification to goldfinger on how to create memory image. Default is | |
443 | \&'diag.goldfinger'. | |
444 | .IP "directives" 4 | |
445 | .IX Item "directives" | |
446 | File to contain midas directives after section splitting. Default is | |
447 | \&'diag.midas'. | |
448 | .IP "cmdfile" 4 | |
449 | .IX Item "cmdfile" | |
450 | File to stash the midas command\-line. Default is '.midas_args'. | |
451 | .IP "oldcmdfile" 4 | |
452 | .IX Item "oldcmdfile" | |
453 | File to move old command-line options. Default is '.midas_args.old'. | |
454 | .IP "oldm4" 4 | |
455 | .IX Item "oldm4" | |
456 | File to stash m4 output of previous run. Default is '.midas.diag.m4.old'. | |
457 | .Sh "Running Specific Phases" | |
458 | .IX Subsection "Running Specific Phases" | |
459 | The build process is broken into phases: setup, preprocess, | |
460 | sectioning, assemble, link, postprocess, copydest, cleanup. The | |
461 | default behavior is to run all phases. You can, however, restrict | |
462 | operation to a selected set of phases. | |
463 | .IP "\-start_phase <phase_name>" 4 | |
464 | .IX Item "-start_phase <phase_name>" | |
465 | Start with the named phase and run all subsequent phase. | |
466 | .IP "\-phase <phase_name>" 4 | |
467 | .IX Item "-phase <phase_name>" | |
468 | Run the specified phase. If any \-phase or \-start_phase option exists, | |
469 | then by default all phases are off (except for the ones that \-phase | |
470 | and \-start_phase switch on). You can have multiple \-phase options. | |
471 | .IP "\-E" 4 | |
472 | .IX Item "-E" | |
473 | This option (mentioned above, which runs the preprocessor only) is just a | |
474 | shortcut for \*(L"\-phase setup \-phase preprocess\*(R"). | |
475 | .PP | |
476 | Keep in mind that running selected phases is caveat emptor. There are | |
477 | cases where phases expect data or files from previous phases. You may | |
478 | get lucky, but don't blame me if it doesn't work. | |
479 | .Sh "Errors" | |
480 | .IX Subsection "Errors" | |
481 | When midas is unable to run correctly it will exit with one of the | |
482 | folllowing error codes. | |
483 | .IP "M_NOERROR (#0): No error." 4 | |
484 | .IX Item "M_NOERROR (#0): No error." | |
485 | .PD 0 | |
486 | .IP "M_MISC (#1): Miscellaneous error" 4 | |
487 | .IX Item "M_MISC (#1): Miscellaneous error" | |
488 | .IP "M_CODE (#2): Error in midas code." 4 | |
489 | .IX Item "M_CODE (#2): Error in midas code." | |
490 | .IP "M_DIR (#3): Directory error." 4 | |
491 | .IX Item "M_DIR (#3): Directory error." | |
492 | .IP "M_FILE (#4): File error." 4 | |
493 | .IX Item "M_FILE (#4): File error." | |
494 | .IP "M_CMDFAIL (#5): Command failed." 4 | |
495 | .IX Item "M_CMDFAIL (#5): Command failed." | |
496 | .IP "M_SECSYNTAX (#6): Error in section syntax." 4 | |
497 | .IX Item "M_SECSYNTAX (#6): Error in section syntax." | |
498 | .IP "M_ATTRSYNTAX (#7): Error in attr syntax." 4 | |
499 | .IX Item "M_ATTRSYNTAX (#7): Error in attr syntax." | |
500 | .IP "M_MISSINGPARAM (#8): Missing parameter." 4 | |
501 | .IX Item "M_MISSINGPARAM (#8): Missing parameter." | |
502 | .IP "M_ILLEGALPARAM (#9): Illegal parameter." 4 | |
503 | .IX Item "M_ILLEGALPARAM (#9): Illegal parameter." | |
504 | .IP "M_OUTOFRANGE (#10): Out of range." 4 | |
505 | .IX Item "M_OUTOFRANGE (#10): Out of range." | |
506 | .IP "M_NOTNUM (#11): Not a number." 4 | |
507 | .IX Item "M_NOTNUM (#11): Not a number." | |
508 | .IP "M_VACOLLIDE (#12): \s-1VA\s0 collision." 4 | |
509 | .IX Item "M_VACOLLIDE (#12): VA collision." | |
510 | .IP "M_PACOLLIDE (#13): \s-1PA\s0 collision." 4 | |
511 | .IX Item "M_PACOLLIDE (#13): PA collision." | |
512 | .IP "M_DIRECTIVESYNTAX (#14): Directive syntax error." 4 | |
513 | .IX Item "M_DIRECTIVESYNTAX (#14): Directive syntax error." | |
514 | .IP "M_GENFAIL (#15): File generation failed." 4 | |
515 | .IX Item "M_GENFAIL (#15): File generation failed." | |
516 | .IP "M_ASMFAIL (#16): Assembler failed." 4 | |
517 | .IX Item "M_ASMFAIL (#16): Assembler failed." | |
518 | .IP "M_CCFAIL (#17): C compiler failed." 4 | |
519 | .IX Item "M_CCFAIL (#17): C compiler failed." | |
520 | .IP "M_LINKFAIL (#18): Linker failed." 4 | |
521 | .IX Item "M_LINKFAIL (#18): Linker failed." | |
522 | .IP "M_CPPFAIL (#19): \s-1CPP\s0 failed." 4 | |
523 | .IX Item "M_CPPFAIL (#19): CPP failed." | |
524 | .IP "M_M4FAIL (#20): M4 preprocessor failed." 4 | |
525 | .IX Item "M_M4FAIL (#20): M4 preprocessor failed." | |
526 | .IP "M_BADCONFIG (#21): Bad configuration." 4 | |
527 | .IX Item "M_BADCONFIG (#21): Bad configuration." | |
528 | .IP "M_EVENTERR (#22): Event parsing error." 4 | |
529 | .IX Item "M_EVENTERR (#22): Event parsing error." | |
530 | .IP "M_ARGERR (#23): Argument error." 4 | |
531 | .IX Item "M_ARGERR (#23): Argument error." | |
532 | .IP "M_NOSEC (#24): Undefined section." 4 | |
533 | .IX Item "M_NOSEC (#24): Undefined section." | |
534 | .IP "M_BADTSB (#25): Bad \s-1TSB\s0." 4 | |
535 | .IX Item "M_BADTSB (#25): Bad TSB." | |
536 | .IP "M_BADALIGN (#26): Bad Alignment." 4 | |
537 | .IX Item "M_BADALIGN (#26): Bad Alignment." | |
538 | .IP "M_EMPTYSECTION (#27): Empty section." 4 | |
539 | .IX Item "M_EMPTYSECTION (#27): Empty section." | |
540 | .IP "M_TSBSYNTAX (#28): Error in tsb syntax." 4 | |
541 | .IX Item "M_TSBSYNTAX (#28): Error in tsb syntax." | |
542 | .IP "M_APPSYNTAX (#29): Error in app syntax.'" 4 | |
543 | .IX Item "M_APPSYNTAX (#29): Error in app syntax.'" | |
544 | .IP "M_MEMORY (#30): Memory error." 4 | |
545 | .IX Item "M_MEMORY (#30): Memory error." | |
546 | .IP "M_GOLDFINGERPARSE (#31): Goldfinger parse error." 4 | |
547 | .IX Item "M_GOLDFINGERPARSE (#31): Goldfinger parse error." | |
548 | .IP "M_GOLDFINGERARG (#32): Goldfinger arg error." 4 | |
549 | .IX Item "M_GOLDFINGERARG (#32): Goldfinger arg error." | |
550 | .IP "M_ELF (#33): \s-1ELF\s0 error." 4 | |
551 | .IX Item "M_ELF (#33): ELF error." | |
552 | .IP "M_BADLABEL (#34): Bad label." 4 | |
553 | .IX Item "M_BADLABEL (#34): Bad label." | |
554 | .IP "M_GOLDFINGERMISC (#35): Uncategorized goldfinger error." 4 | |
555 | .IX Item "M_GOLDFINGERMISC (#35): Uncategorized goldfinger error." | |
556 | .IP "M_GOLDFINGERVERSION (#36): Bad version of goldfinger" 4 | |
557 | .IX Item "M_GOLDFINGERVERSION (#36): Bad version of goldfinger" | |
558 | .IP "M_DUPLICATETAG (#37): Duplicate tags in \s-1TSB\s0" 4 | |
559 | .IX Item "M_DUPLICATETAG (#37): Duplicate tags in TSB" | |
560 | .IP "M_BLOCKSYNTAX (#38): Error defining goldfinger \s-1BLOCK\s0" 4 | |
561 | .IX Item "M_BLOCKSYNTAX (#38): Error defining goldfinger BLOCK" | |
562 | .PD | |
563 | .SH "AUTHOR" | |
564 | .IX Header "AUTHOR" | |
565 | Jeff Gibson <jeff.gibson@sun.com> | |
566 | .SH "SEE ALSO" | |
567 | .IX Header "SEE ALSO" | |
568 | .Vb 1 | |
569 | \& Midas(3), goldfinger(1). | |
570 | .Ve |