In legion build config, updated path to GNU tools and updated deprecated Sun CC flag...
[OpenSPARC-T2-SAM] / t1_fpga / src / xilinx / configs / 1c4t_guest.desc
CommitLineData
920dae64
AT
1/*
2 * Copyright 2007 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
5
6/*
7 * The machine description files are derived from machine description
8 * binaries in OpenSPARC T2 legion simulation directory.
9 */
10
11#include "xilinx_t1_system_config.h"
12
13node root root {
14
15 content-version = "1.0";
16 fwd -> memory;
17 fwd -> cpus;
18 fwd -> phys_io;
19 fwd -> platform;
20 fwd -> openboot;
21 fwd -> virtual-devices;
22 reset-reason = 0x0;
23 fwd -> maus;
24 fwd -> cwqs;
25 md-generation# = 0x1;
26 fwd -> channel-endpoints;
27}
28
29
30node cache cache {
31
32 level = 0x1;
33 type = { "instn" };
34 line-size = 0x20;
35 size = 0x4000;
36 associativity = 0x4;
37 back -> exec-unit;
38 fwd -> cache_2;
39}
40
41
42node cache cache_1 {
43
44 level = 0x1;
45 type = { "data" };
46 line-size = 0x10;
47 size = 0x2000;
48 associativity = 0x4;
49 back -> exec-unit_1;
50 fwd -> cache_2;
51}
52
53
54node tlb tlb {
55
56 level = 0x1;
57 type = { "instn" };
58 entries = 0x40;
59 associativity = 0x0;
60 page-size-list = 0x2b;
61 back -> exec-unit;
62}
63
64
65node tlb tlb_1 {
66
67 level = 0x1;
68 type = { "data" };
69 entries = 0x80;
70 associativity = 0x0;
71 page-size-list = 0x2b;
72 back -> exec-unit_1;
73}
74
75
76node exec-unit exec-unit {
77
78 type = { "ifetch" };
79 back -> cpu;
80 fwd -> cache;
81 fwd -> tlb;
82}
83
84
85node exec-unit exec-unit_1 {
86
87 type = { "integer" , "integer-load" , "integer-store" , "fp-load" , "fp-store" };
88 back -> cpu;
89 fwd -> cache_1;
90 fwd -> tlb_1;
91}
92
93
94node cpu cpu {
95
96 id = 0x0;
97 pid = 0x0;
98 serial# = 0x0;
99 isalist = { "sparcv9" , "sparcv8plus" , "sparcv8" , "sparcv8-fsmuld" , "sparcv7" , "sparc" };
100 clock-frequency = T1_FPGA_STICK_FREQ;
101 compatible = { "SUNW,UltraSPARC-T1" , "SUNW,sun4v-cpu" , "sun4v" };
102 nwins = 0x8;
103 mmu-type = "sun4v";
104 q-cpu-mondo-#bits = 0x8;
105 q-dev-mondo-#bits = 0x8;
106 q-resumable-#bits = 0x8;
107 q-nonresumable-#bits = 0x8;
108 mmu-max-#tsbs = 0x4;
109 mmu-#context-bits = 0xd;
110 mmu-#shared-contexts = 0x2;
111 mmu-page-size-list = 0x2b;
112 mmu-#va-bits = 0x30;
113 back -> cpus;
114 fwd -> exec-unit;
115 fwd -> exec-unit_1;
116 fwd -> exec-unit_2;
117}
118
119node cpu cpu_1 {
120
121 id = 0x1;
122 pid = 0x1;
123 serial# = 0x0;
124 isalist = { "sparcv9" , "sparcv8plus" , "sparcv8" , "sparcv8-fsmuld" , "sparcv7" , "sparc" };
125 clock-frequency = T1_FPGA_STICK_FREQ;
126 compatible = { "SUNW,UltraSPARC-T1" , "SUNW,sun4v-cpu" , "sun4v" };
127 nwins = 0x8;
128 mmu-type = "sun4v";
129 q-cpu-mondo-#bits = 0x8;
130 q-dev-mondo-#bits = 0x8;
131 q-resumable-#bits = 0x8;
132 q-nonresumable-#bits = 0x8;
133 mmu-max-#tsbs = 0x4;
134 mmu-#context-bits = 0xd;
135 mmu-#shared-contexts = 0x2;
136 mmu-page-size-list = 0x2b;
137 mmu-#va-bits = 0x30;
138 back -> cpus;
139 fwd -> exec-unit;
140 fwd -> exec-unit_1;
141 fwd -> exec-unit_2;
142}
143
144
145node cpu cpu_2 {
146
147 id = 0x2;
148 pid = 0x2;
149 serial# = 0x0;
150 isalist = { "sparcv9" , "sparcv8plus" , "sparcv8" , "sparcv8-fsmuld" , "sparcv7" , "sparc" };
151 clock-frequency = T1_FPGA_STICK_FREQ;
152 compatible = { "SUNW,UltraSPARC-T1" , "SUNW,sun4v-cpu" , "sun4v" };
153 nwins = 0x8;
154 mmu-type = "sun4v";
155 q-cpu-mondo-#bits = 0x8;
156 q-dev-mondo-#bits = 0x8;
157 q-resumable-#bits = 0x8;
158 q-nonresumable-#bits = 0x8;
159 mmu-max-#tsbs = 0x4;
160 mmu-#context-bits = 0xd;
161 mmu-#shared-contexts = 0x2;
162 mmu-page-size-list = 0x2b;
163 mmu-#va-bits = 0x30;
164 back -> cpus;
165 fwd -> exec-unit;
166 fwd -> exec-unit_1;
167 fwd -> exec-unit_2;
168}
169
170
171node cpu cpu_3 {
172
173 id = 0x3;
174 pid = 0x3;
175 serial# = 0x0;
176 isalist = { "sparcv9" , "sparcv8plus" , "sparcv8" , "sparcv8-fsmuld" , "sparcv7" , "sparc" };
177 clock-frequency = T1_FPGA_STICK_FREQ;
178 compatible = { "SUNW,UltraSPARC-T1" , "SUNW,sun4v-cpu" , "sun4v" };
179 nwins = 0x8;
180 mmu-type = "sun4v";
181 q-cpu-mondo-#bits = 0x8;
182 q-dev-mondo-#bits = 0x8;
183 q-resumable-#bits = 0x8;
184 q-nonresumable-#bits = 0x8;
185 mmu-max-#tsbs = 0x4;
186 mmu-#context-bits = 0xd;
187 mmu-#shared-contexts = 0x2;
188 mmu-page-size-list = 0x2b;
189 mmu-#va-bits = 0x30;
190 back -> cpus;
191 fwd -> exec-unit;
192 fwd -> exec-unit_1;
193 fwd -> exec-unit_2;
194}
195
196
197node exec-unit exec-unit_2 {
198
199 type = { "fp" };
200 back -> cpu;
201}
202
203
204node cpus cpus {
205
206 fwd -> cpu;
207 fwd -> cpu_1;
208 fwd -> cpu_2;
209 fwd -> cpu_3;
210 back -> root;
211}
212
213
214node cache cache_2 {
215
216 level = 0x2;
217 type = { "instn" , "data" };
218 line-size = 0x40;
219 size = 0x300000;
220 associativity = 0xC;
221 back -> cache_1;
222 back -> cache;
223}
224
225
226node phys_io phys_io {
227
228 back -> root;
229 fwd -> iodevice;
230}
231
232
233node iodevice iodevice {
234
235 back -> phys_io;
236 name = "pci";
237 pseudonym = "pci";
238 disabled = 0x0;
239 device-type = "pciex";
240 compatible = { "SUNW,sun4v-pci" };
241 cfg-handle = 0x0;
242 address-ranges = { 0x00 , 0x00 , 0x00 , 0xc8 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x10 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xca , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7f , 0xff , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xcc , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x03 , 0xff , 0xff , 0x00 , 0x00 };
243 virtual-dma = { 0x00 , 0x00 , 0x00 , 0x00 , 0x80 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x80 , 0x00 , 0x00 , 0x00 };
244 ino-bitmap = 0xf;
245 probe-list = "0";
246 msi-address-ranges = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x7f , 0xff , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x03 , 0x00 , 0x00 , 0x00 , 0x00 , 0xff , 0xff , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 , 0x00 };
247 #msi = 0x100;
248 msi-data-mask = 0xff;
249 msi-ranges = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x01 , 0x00 };
250 msi-eq-size = 0x80;
251 msix-data-width = 0x20;
252 #msi-eqs = 0x24;
253 msi-eq-to-devino = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x24 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x18 };
254 interrupts = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x3f , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x3e };
255 #interrupt-cells = 0x1;
256 interrupt-map-mask = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xff , 0xf0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x07 };
257 bus-ranges = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xff };
258 fwd -> interrupt-map-entry;
259 fwd -> interrupt-map-entry_1;
260 fwd -> interrupt-map-entry_2;
261 fwd -> interrupt-map-entry_3;
262}
263
264
265node interrupt-maps interrupt-maps {
266
267 back -> openboot;
268 fwd -> interrupt-map;
269}
270
271
272node interrupt-map interrupt-map {
273
274 back -> interrupt-maps;
275 dev = "/pci@0";
276 parent = "/pci@0";
277 intr-cells = 0x1;
278 intr-mask = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0xff , 0xf0 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x07 };
279 interrupts = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x3f , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x3e };
280 fwd -> interrupt;
281 fwd -> interrupt_1;
282 fwd -> interrupt_2;
283 fwd -> interrupt_3;
284}
285
286
287node interrupt interrupt {
288
289 back -> interrupt-map;
290 intr = 0x1;
291 ino = 0x14;
292 addr = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 };
293}
294
295
296node interrupt interrupt_1 {
297
298 back -> interrupt-map;
299 intr = 0x2;
300 ino = 0x15;
301 addr = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 };
302}
303
304
305node interrupt interrupt_2 {
306
307 back -> interrupt-map;
308 intr = 0x3;
309 ino = 0x16;
310 addr = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 };
311}
312
313
314node interrupt interrupt_3 {
315
316 back -> interrupt-map;
317 intr = 0x4;
318 ino = 0x17;
319 addr = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 };
320}
321
322
323node interrupt-map-entry interrupt-map-entry {
324
325 child-unit-address = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 };
326 child-interrupt = 0x1;
327 parent-interrupt = 0x14;
328 parent-device-path = "/pci@0";
329 back -> iodevice;
330}
331
332
333node interrupt-map-entry interrupt-map-entry_1 {
334
335 child-unit-address = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 };
336 child-interrupt = 0x2;
337 parent-interrupt = 0x15;
338 parent-device-path = "/pci@0";
339 back -> iodevice;
340}
341
342
343node interrupt-map-entry interrupt-map-entry_2 {
344
345 child-unit-address = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 };
346 child-interrupt = 0x3;
347 parent-interrupt = 0x16;
348 parent-device-path = "/pci@0";
349 back -> iodevice;
350}
351
352
353node interrupt-map-entry interrupt-map-entry_3 {
354
355 child-unit-address = { 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x02 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 , 0x00 };
356 child-interrupt = 0x4;
357 parent-interrupt = 0x17;
358 parent-device-path = "/pci@0";
359 back -> iodevice;
360}
361
362
363node openboot openboot {
364
365 back -> root;
366 fwd -> interrupt-maps;
367 fwd -> devalias;
368 fwd -> variables;
369}
370
371
372node variables variables {
373
374 back -> openboot;
375 fcode-debug? = "true";
376 boot-device = "vdisk";
377 auto-boot? = "false";
378}
379
380
381node virtual-devices virtual-devices {
382
383 back -> root;
384 name = "virtual-devices";
385 cfg-handle = 0x100;
386 probe-list = 0x1f;
387 compatible = { "SUNW,sun4v-virtual-devices" };
388 device-type = "virtual-devices";
389 fwd -> virtual-device;
390 fwd -> channel-devices;
391 fwd -> virtual-device_4;
392 fwd -> virtual-device_5;
393}
394
395
396node mblock mblock {
397
398 base = T1_FPGA_GUEST_MEMBASE;
399 size = T1_FPGA_GUEST_MEMSIZE;
400 back -> memory;
401}
402
403
404node memory memory {
405
406 memory-generation-id# = 0x0;
407 fwd -> mblock;
408 back -> root;
409}
410
411
412node platform platform {
413
414 banner-name = "Sun Fire T1000";
415 name = "SUNW,Sun-Fire-T1000";
416 watchdog-resolution = 0x3e8;
417 watchdog-max-timeout = 0x757b12c00;
418 max-cpus = 0x20;
419 mac-address = 0x00E0815F2CAB;
420 hostid = 0x83f9edf0;
421 serial# = 0xab4130;
422 stick-frequency = T1_FPGA_STICK_FREQ;
423 back -> root;
424 domaining-enabled = 0x1;
425}
426
427
428node maus maus {
429
430}
431
432
433node cwqs cwqs {
434
435}
436
437
438node virtual-device virtual-device {
439
440 back -> virtual-devices;
441 name = "console";
442 device-type = "serial";
443 intr = 0x1;
444 ino = 0x11;
445 channel# = 0x0;
446 cfg-handle = 0x1;
447 compatible = { "qcn" , "SUNW,sun4v-console" };
448}
449
450
451node devalias devalias {
452
453 back -> openboot;
454 vdisk = "/virtual-devices/disk@0";
455 snet = "/virtual-devices/network@0";
456 ttya = "/virtual-devices/console@1";
457 nvram = "/virtual-devices/nvram@3";
458 ttyb = "/virtual-devices/console@4";
459 scsi = "/pci@7c0/scsi@1";
460 disk = "/pci@7c0/scsi@1/disk@0";
461 virtual-console = "/virtual-devices/console@1";
462}
463
464
465node channel-devices channel-devices {
466
467 back -> virtual-devices;
468 name = "channel-devices";
469 device-type = "channel-devices";
470 compatible = { "SUNW,sun4v-channel-devices" };
471 cfg-handle = 0x200;
472 fwd -> virtual-device_1;
473 fwd -> virtual-device_2;
474 fwd -> virtual-device_3;
475}
476
477
478node channel-endpoints channel-endpoints {
479
480 back -> root;
481 fwd -> channel-endpoint;
482 fwd -> channel-endpoint_1;
483 fwd -> channel-endpoint_2;
484}
485
486
487node channel-endpoint channel-endpoint {
488
489 back -> channel-endpoints;
490 id = 0x2;
491 tx-ino = 0x4;
492 rx-ino = 0x5;
493}
494
495
496node virtual-device virtual-device_1 {
497
498 back -> channel-devices;
499 compatible = { "SUNW,sun4v-channel" };
500 device-type = "serial";
501 name = "virtual-channel";
502 cfg-handle = 0x0;
503 fwd -> virtual-device-port;
504 fwd -> virtual-device-port_1;
505}
506
507
508node virtual-device-port virtual-device-port {
509
510 back -> virtual-device_1;
511 name = "vldc-port";
512 id = 0x0;
513 fwd -> channel-endpoint_1;
514 vldc-svc-name = "hvctl";
515}
516
517
518node channel-endpoint channel-endpoint_1 {
519
520 back -> channel-endpoints;
521 id = 0x0;
522 tx-ino = 0x0;
523 rx-ino = 0x1;
524 back -> virtual-device-port;
525}
526
527
528node virtual-device-port virtual-device-port_1 {
529
530 back -> virtual-device_1;
531 name = "vldc-port";
532 id = 0x1;
533 fwd -> channel-endpoint_2;
534 vldc-svc-name = "ldom-primary";
535}
536
537
538node channel-endpoint channel-endpoint_2 {
539
540 back -> channel-endpoints;
541 id = 0x1;
542 tx-ino = 0x2;
543 rx-ino = 0x3;
544 back -> virtual-device-port_1;
545}
546
547
548node virtual-device virtual-device_2 {
549
550 back -> channel-devices;
551 compatible = { "SUNW,sun4v-console-concentrator" };
552 device-type = "vcc";
553 name = "virtual-console-concentrator";
554 cfg-handle = 0x0;
555}
556
557
558node virtual-device virtual-device_3 {
559
560 back -> channel-devices;
561 compatible = { "SUNW,sun4v-disk-server" };
562 device-type = "vds";
563 name = "virtual-disk-server";
564 cfg-handle = 0x0;
565}
566
567
568node virtual-device virtual-device_4 {
569
570 back -> virtual-devices;
571 name = "disk";
572 fcode-driver-name = "disk-virtual-device";
573 my-space = 0x0;
574 intr = 0x0;
575 ino = 0x0;
576 cfg-handle = 0x0;
577}
578
579
580node virtual-device virtual-device_5 {
581
582 back -> virtual-devices;
583 name = "snet";
584 fcode-driver-name = "net-virtual-device";
585 my-space = 0x0;
586 intr = 0x0;
587 ino = T1_FPGA_SNET_INO;
588 cfg-handle = 0x2;
589}