Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | # -*- perl -*- |
2 | ||
3 | our %PROJ_CONFIG = | |
4 | ( | |
5 | ||
6 | # NIAGARA-1 | |
7 | BW => | |
8 | { | |
9 | mmu_type => 'niagara', | |
10 | ttefmt => 'sun4v', | |
11 | tsbtagfmt => 'tagaccess', | |
12 | default_radix => 'decimal', | |
13 | ||
14 | # Number of assemblers to run in parallel | |
15 | build_threads => 3, | |
16 | # Erase build directory on success if this invocation created it | |
17 | cleanup => 1, | |
18 | # Erase build directory on success (if cleanup is set), even if | |
19 | # it wasn't created by this invocation | |
20 | force_cleanup => 0, | |
21 | # Build the diag, even if it looks like we have the same input and | |
22 | # same args as last time. | |
23 | force_build => 0, | |
24 | ||
25 | # If set, allow a TSB to have a collision (two addresses mapping | |
26 | # to same TSB pointer | |
27 | allow_tsb_conflicts => 0, | |
28 | # If set, don't cause fatal error if section is empty | |
29 | allow_empty_sections => 0, | |
30 | # If set, do not generate a fatal error if an illegal page size is | |
31 | # specified | |
32 | allow_illegal_page_sizes => 0, | |
33 | # If set (and allow_tsb_conflicts), allow the same tag to appear | |
34 | # twice in the same tsb. | |
35 | allow_duplicate_tags => 0, | |
36 | # Allows a TSB base to not be aligned with its size. Real | |
37 | # software will never do this, but who knows about diags | |
38 | allow_misaligned_tsb_base => 0, | |
39 | # If set, generate all TSBs that are defined, not just the ones | |
40 | # being used. | |
41 | gen_all_tsbs => 0, | |
42 | # If set to zero, do not compress any sections, regardless of the per- | |
43 | # section settings | |
44 | compress_image => 1, | |
45 | # Use backdoor environment mechanism to zero compressed sections | |
46 | env_zero => 1, | |
47 | # By default, result files in build directory are hard-linked to | |
48 | # destination directory. If this option is set, a copy is done | |
49 | # instead. | |
50 | copy_products => 0, | |
51 | # Use full paths for commands if set. Relative paths make output | |
52 | # more readable, though. | |
53 | full_paths => 0, | |
54 | ||
55 | ||
56 | # COMMAND OPTIONS. Note that if no path is given, it picks up tools | |
57 | # from the path. | |
58 | ||
59 | # Binary to use for goldfinger. | |
60 | goldfinger_cmd => 'goldfinger', | |
61 | # Minimum allowable version of goldfinger. | |
62 | goldfinger_version => '1.07', | |
63 | ||
64 | cat_cmd => 'gcat', | |
65 | diff_cmd => 'diff', | |
66 | pal_cmd => 'pal', | |
67 | cpp_cmd => 'bw_cpp', | |
68 | cpp_opt => ['-B -P'], | |
69 | ||
70 | m4_cmd => 'bw_m4', | |
71 | m4_opt => [], | |
72 | ||
73 | as_cmd => 'g_as', | |
74 | as_opt => ['-xarch=v9b'], | |
75 | ||
76 | ld_cmd => 'g_ld', | |
77 | ld_opt => ['-b elf64-sparc', '-no-warn-mismatch', | |
78 | '--no-check-sections'], | |
79 | ||
80 | gcc_cmd => 'gcc', | |
81 | gcc_opt => ['-m64', '-nostdinc', '-fno-common', '-fno-builtin'], | |
82 | ||
83 | perl_cmd => 'perl', | |
84 | ||
85 | # PATH OPTIONS | |
86 | ||
87 | cpp_includes => { | |
88 | # from diagroot | |
89 | diagroot => ['verif/diag/assembly/include'], | |
90 | # from directory where midas is run | |
91 | startdir => ['.'], | |
92 | # from build directory | |
93 | builddir => ['.'], | |
94 | # absolute paths | |
95 | abs => [], | |
96 | }, | |
97 | cpp_defines => [ 'GOLDFINGER=1' | |
98 | ], | |
99 | m4_includes => { | |
100 | diagroot => [], | |
101 | startdir => ['.'], | |
102 | builddir => ['.'], | |
103 | abs => [], | |
104 | }, | |
105 | ||
106 | ||
107 | link_paths => { | |
108 | diagroot => ['verif/diag'], | |
109 | startdir => ['.'], | |
110 | builddir => [], | |
111 | abs => [], | |
112 | }, | |
113 | ||
114 | csrc_includes => { | |
115 | diagroot => ['verif/diag/c'], | |
116 | startdir => ['.'], | |
117 | builddir => [], | |
118 | abs => [], | |
119 | }, | |
120 | ||
121 | c_includes => { | |
122 | diagroot => ['verif/diag/c/include'], | |
123 | startdir => ['.'], | |
124 | builddir => ['.'], | |
125 | abs => [], | |
126 | }, | |
127 | ||
128 | }, | |
129 | ||
130 | # NIAGARA-2 | |
131 | N2 => | |
132 | { | |
133 | mmu_type => 'niagara2', | |
134 | ttefmt => 'sun4v', | |
135 | tsbtagfmt => 'tagtarget', | |
136 | ||
137 | default_radix => 'decimal', | |
138 | ||
139 | # Number of assemblers to run in parallel | |
140 | build_threads => 3, | |
141 | # Erase build directory on success if this invocation created it | |
142 | cleanup => 1, | |
143 | # Erase build directory on success (if cleanup is set), even if | |
144 | # it wasn't created by this invocation | |
145 | force_cleanup => 0, | |
146 | # Build the diag, even if it looks like we have the same input and | |
147 | # same args as last time. | |
148 | force_build => 0, | |
149 | ||
150 | # If set, allow a TSB to have a collision (two addresses mapping | |
151 | # to same TSB pointer | |
152 | allow_tsb_conflicts => 0, | |
153 | # If set, don't cause fatal error if section is empty | |
154 | allow_empty_sections => 0, | |
155 | # If set, do not generate a fatal error if an illegal page size is | |
156 | # specified | |
157 | allow_illegal_page_sizes => 0, | |
158 | # If set (and allow_tsb_conflicts), allow the same tag to appear | |
159 | # twice in the same tsb. | |
160 | allow_duplicate_tags => 0, | |
161 | # Allows a TSB base to not be aligned with its size. Real | |
162 | # software will never do this, but who knows about diags | |
163 | allow_misaligned_tsb_base => 0, | |
164 | # If set, generate all TSBs that are defined, not just the ones | |
165 | # being used. | |
166 | gen_all_tsbs => 0, | |
167 | # If set to zero, do not compress any sections, regardless of the per- | |
168 | # section settings | |
169 | compress_image => 1, | |
170 | # Backdoor environment mechanism to zero compressed sections is | |
171 | # not available in N2 | |
172 | env_zero => 0, | |
173 | # By default, result files in build directory are hard-linked to | |
174 | # destination directory. If this option is set, a copy is done | |
175 | # instead. | |
176 | copy_products => 0, | |
177 | # Use full paths for commands if set. Relative paths make output | |
178 | # more readable, though. | |
179 | full_paths => 0, | |
180 | ||
181 | ||
182 | # COMMAND OPTIONS. Note that if no path is given, it picks up tools | |
183 | # from the path. | |
184 | ||
185 | # Binary to use for goldfinger. | |
186 | goldfinger_cmd => 'goldfinger', | |
187 | # Minimum allowable version of goldfinger. | |
188 | goldfinger_version => '1.07', | |
189 | ||
190 | cat_cmd => 'gcat', | |
191 | diff_cmd => 'diff', | |
192 | pal_cmd => 'pal', | |
193 | cpp_cmd => 'bw_cpp', | |
194 | cpp_opt => ['-B -P -traditional-cpp'], | |
195 | ||
196 | m4_cmd => 'bw_m4', | |
197 | m4_opt => [], | |
198 | ||
199 | as_cmd => 'g_as', | |
200 | as_opt => ['-xarch=v9b'], | |
201 | ||
202 | ld_cmd => 'g_ld', | |
203 | ld_opt => ['-b elf64-sparc', '-no-warn-mismatch', | |
204 | '--no-check-sections'], | |
205 | ||
206 | gcc_cmd => 'gcc', | |
207 | gcc_opt => ['-m64', '-nostdinc', '-fno-common', '-fno-builtin'], | |
208 | ||
209 | perl_cmd => 'perl', | |
210 | ||
211 | # PATH OPTIONS | |
212 | ||
213 | cpp_includes => { | |
214 | # from diagroot | |
215 | diagroot => ['verif/diag/assembly/include'], | |
216 | # from directory where midas is run | |
217 | startdir => ['.'], | |
218 | # from build directory | |
219 | builddir => ['.'], | |
220 | # absolute paths | |
221 | abs => [], | |
222 | }, | |
223 | cpp_defines => [ 'GOLDFINGER=1' | |
224 | ], | |
225 | m4_includes => { | |
226 | diagroot => [], | |
227 | startdir => ['.'], | |
228 | builddir => ['.'], | |
229 | abs => [], | |
230 | }, | |
231 | ||
232 | ||
233 | link_paths => { | |
234 | diagroot => ['verif/diag'], | |
235 | startdir => ['.'], | |
236 | builddir => [], | |
237 | abs => [], | |
238 | }, | |
239 | ||
240 | csrc_includes => { | |
241 | diagroot => ['verif/diag/c'], | |
242 | startdir => ['.'], | |
243 | builddir => [], | |
244 | abs => [], | |
245 | }, | |
246 | ||
247 | c_includes => { | |
248 | diagroot => ['verif/diag/c/include'], | |
249 | startdir => ['.'], | |
250 | builddir => ['.'], | |
251 | abs => [], | |
252 | }, | |
253 | ||
254 | ||
255 | }, | |
256 | ||
257 | # NIAGARA-2plus | |
258 | NP => | |
259 | { | |
260 | mmu_type => 'niagara2', | |
261 | ttefmt => 'sun4v', | |
262 | tsbtagfmt => 'tagtarget', | |
263 | ||
264 | default_radix => 'decimal', | |
265 | ||
266 | # Number of assemblers to run in parallel | |
267 | build_threads => 3, | |
268 | # Erase build directory on success if this invocation created it | |
269 | cleanup => 1, | |
270 | # Erase build directory on success (if cleanup is set), even if | |
271 | # it wasn't created by this invocation | |
272 | force_cleanup => 0, | |
273 | # Build the diag, even if it looks like we have the same input and | |
274 | # same args as last time. | |
275 | force_build => 0, | |
276 | ||
277 | # If set, allow a TSB to have a collision (two addresses mapping | |
278 | # to same TSB pointer | |
279 | allow_tsb_conflicts => 0, | |
280 | # If set, don't cause fatal error if section is empty | |
281 | allow_empty_sections => 0, | |
282 | # If set, do not generate a fatal error if an illegal page size is | |
283 | # specified | |
284 | allow_illegal_page_sizes => 0, | |
285 | # If set (and allow_tsb_conflicts), allow the same tag to appear | |
286 | # twice in the same tsb. | |
287 | allow_duplicate_tags => 0, | |
288 | # Allows a TSB base to not be aligned with its size. Real | |
289 | # software will never do this, but who knows about diags | |
290 | allow_misaligned_tsb_base => 0, | |
291 | # If set, generate all TSBs that are defined, not just the ones | |
292 | # being used. | |
293 | gen_all_tsbs => 0, | |
294 | # If set to zero, do not compress any sections, regardless of the per- | |
295 | # section settings | |
296 | compress_image => 1, | |
297 | # Backdoor environment mechanism to zero compressed sections is | |
298 | # not available in NP | |
299 | env_zero => 0, | |
300 | # By default, result files in build directory are hard-linked to | |
301 | # destination directory. If this option is set, a copy is done | |
302 | # instead. | |
303 | copy_products => 0, | |
304 | # Use full paths for commands if set. Relative paths make output | |
305 | # more readable, though. | |
306 | full_paths => 0, | |
307 | ||
308 | ||
309 | # COMMAND OPTIONS. Note that if no path is given, it picks up tools | |
310 | # from the path. | |
311 | ||
312 | # Binary to use for goldfinger. | |
313 | goldfinger_cmd => 'goldfinger', | |
314 | # Minimum allowable version of goldfinger. | |
315 | goldfinger_version => '1.07', | |
316 | ||
317 | cat_cmd => 'gcat', | |
318 | diff_cmd => 'diff', | |
319 | pal_cmd => 'pal', | |
320 | cpp_cmd => 'bw_cpp', | |
321 | cpp_opt => ['-B -P -traditional-cpp'], | |
322 | ||
323 | m4_cmd => 'bw_m4', | |
324 | m4_opt => [], | |
325 | ||
326 | as_cmd => 'g_as', | |
327 | as_opt => ['-xarch=v9b'], | |
328 | ||
329 | ld_cmd => 'g_ld', | |
330 | ld_opt => ['-b elf64-sparc', '-no-warn-mismatch', | |
331 | '--no-check-sections'], | |
332 | ||
333 | gcc_cmd => 'gcc', | |
334 | gcc_opt => ['-m64', '-nostdinc', '-fno-common', '-fno-builtin'], | |
335 | ||
336 | perl_cmd => 'perl', | |
337 | ||
338 | # PATH OPTIONS | |
339 | ||
340 | cpp_includes => { | |
341 | # from diagroot | |
342 | diagroot => ['verif/diag/assembly/include'], | |
343 | # from directory where midas is run | |
344 | startdir => ['.'], | |
345 | # from build directory | |
346 | builddir => ['.'], | |
347 | # absolute paths | |
348 | abs => [], | |
349 | }, | |
350 | cpp_defines => [ 'GOLDFINGER=1' | |
351 | ], | |
352 | m4_includes => { | |
353 | diagroot => [], | |
354 | startdir => ['.'], | |
355 | builddir => ['.'], | |
356 | abs => [], | |
357 | }, | |
358 | ||
359 | ||
360 | link_paths => { | |
361 | diagroot => ['verif/diag'], | |
362 | startdir => ['.'], | |
363 | builddir => [], | |
364 | abs => [], | |
365 | }, | |
366 | ||
367 | csrc_includes => { | |
368 | diagroot => ['verif/diag/c'], | |
369 | startdir => ['.'], | |
370 | builddir => [], | |
371 | abs => [], | |
372 | }, | |
373 | ||
374 | c_includes => { | |
375 | diagroot => ['verif/diag/c/include'], | |
376 | startdir => ['.'], | |
377 | builddir => ['.'], | |
378 | abs => [], | |
379 | }, | |
380 | ||
381 | ||
382 | }, | |
383 | ||
384 | # JUPITER, NIAGARA-2 Clone | |
385 | JUPITER => | |
386 | { | |
387 | mmu_type => 'niagara2', | |
388 | ttefmt => 'sun4v', | |
389 | tsbtagfmt => 'tagtarget', | |
390 | ||
391 | default_radix => 'decimal', | |
392 | ||
393 | # Number of assemblers to run in parallel | |
394 | build_threads => 3, | |
395 | # Erase build directory on success if this invocation created it | |
396 | cleanup => 1, | |
397 | # Erase build directory on success (if cleanup is set), even if | |
398 | # it wasn't created by this invocation | |
399 | force_cleanup => 0, | |
400 | # Build the diag, even if it looks like we have the same input and | |
401 | # same args as last time. | |
402 | force_build => 0, | |
403 | ||
404 | # If set, allow a TSB to have a collision (two addresses mapping | |
405 | # to same TSB pointer | |
406 | allow_tsb_conflicts => 0, | |
407 | # If set, don't cause fatal error if section is empty | |
408 | allow_empty_sections => 0, | |
409 | # If set, do not generate a fatal error if an illegal page size is | |
410 | # specified | |
411 | allow_illegal_page_sizes => 0, | |
412 | # If set (and allow_tsb_conflicts), allow the same tag to appear | |
413 | # twice in the same tsb. | |
414 | allow_duplicate_tags => 0, | |
415 | # Allows a TSB base to not be aligned with its size. Real | |
416 | # software will never do this, but who knows about diags | |
417 | allow_misaligned_tsb_base => 0, | |
418 | # If set, generate all TSBs that are defined, not just the ones | |
419 | # being used. | |
420 | gen_all_tsbs => 0, | |
421 | # If set to zero, do not compress any sections, regardless of the per- | |
422 | # section settings | |
423 | compress_image => 1, | |
424 | # Backdoor environment mechanism to zero compressed sections is | |
425 | # not available in N2 | |
426 | env_zero => 0, | |
427 | # By default, result files in build directory are hard-linked to | |
428 | # destination directory. If this option is set, a copy is done | |
429 | # instead. | |
430 | copy_products => 0, | |
431 | # Use full paths for commands if set. Relative paths make output | |
432 | # more readable, though. | |
433 | full_paths => 0, | |
434 | ||
435 | ||
436 | # COMMAND OPTIONS. Note that if no path is given, it picks up tools | |
437 | # from the path. | |
438 | ||
439 | # Binary to use for goldfinger. | |
440 | goldfinger_cmd => 'goldfinger', | |
441 | # Minimum allowable version of goldfinger. | |
442 | goldfinger_version => '1.07', | |
443 | ||
444 | cat_cmd => 'gcat', | |
445 | diff_cmd => 'diff', | |
446 | pal_cmd => 'pal', | |
447 | cpp_cmd => 'bw_cpp', | |
448 | cpp_opt => ['-B -P -traditional-cpp'], | |
449 | ||
450 | m4_cmd => 'bw_m4', | |
451 | m4_opt => [], | |
452 | ||
453 | as_cmd => 'g_as', | |
454 | as_opt => ['-xarch=v9b'], | |
455 | ||
456 | ld_cmd => 'g_ld', | |
457 | ld_opt => ['-b elf64-sparc', '-no-warn-mismatch', | |
458 | '--no-check-sections'], | |
459 | ||
460 | gcc_cmd => 'gcc', | |
461 | gcc_opt => ['-m64', '-nostdinc', '-fno-common', '-fno-builtin'], | |
462 | ||
463 | perl_cmd => 'perl', | |
464 | ||
465 | # PATH OPTIONS | |
466 | ||
467 | cpp_includes => { | |
468 | # from diagroot | |
469 | diagroot => ['verif/diag/assembly/include'], | |
470 | # from directory where midas is run | |
471 | startdir => ['.'], | |
472 | # from build directory | |
473 | builddir => ['.'], | |
474 | # absolute paths | |
475 | abs => [], | |
476 | }, | |
477 | cpp_defines => [ 'GOLDFINGER=1' | |
478 | ], | |
479 | m4_includes => { | |
480 | diagroot => [], | |
481 | startdir => ['.'], | |
482 | builddir => ['.'], | |
483 | abs => [], | |
484 | }, | |
485 | ||
486 | ||
487 | link_paths => { | |
488 | diagroot => ['verif/diag'], | |
489 | startdir => ['.'], | |
490 | builddir => [], | |
491 | abs => [], | |
492 | }, | |
493 | ||
494 | csrc_includes => { | |
495 | diagroot => ['verif/diag/c'], | |
496 | startdir => ['.'], | |
497 | builddir => [], | |
498 | abs => [], | |
499 | }, | |
500 | ||
501 | c_includes => { | |
502 | diagroot => ['verif/diag/c/include'], | |
503 | startdir => ['.'], | |
504 | builddir => ['.'], | |
505 | abs => [], | |
506 | }, | |
507 | ||
508 | ||
509 | }, | |
510 | ||
511 | ); |