Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / ifu / biccgen.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: biccgen.s
5* Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
6* 4150 Network Circle, Santa Clara, California 95054, U.S.A.
7*
8* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
9*
10* This program is free software; you can redistribute it and/or modify
11* it under the terms of the GNU General Public License as published by
12* the Free Software Foundation; version 2 of the License.
13*
14* This program is distributed in the hope that it will be useful,
15* but WITHOUT ANY WARRANTY; without even the implied warranty of
16* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17* GNU General Public License for more details.
18*
19* You should have received a copy of the GNU General Public License
20* along with this program; if not, write to the Free Software
21* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
22*
23* For the avoidance of doubt, and except that if any non-GPL license
24* choice is available it will apply instead, Sun elects to use only
25* the General Public License version 2 (GPLv2) at this time for any
26* software where a choice of GPL license versions is made
27* available with the language indicating that GPLv2 or any later version
28* may be used, or where a choice of which version of the GPL is applied is
29* otherwise unspecified.
30*
31* Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
32* CA 95054 USA or visit www.sun.com if you need additional information or
33* have any questions.
34*
35*
36* ========== Copyright Header End ============================================
37*/
38#include "defines.h"
39#include "old_boot.s"
40
41!SECTION .MAIN TEXT_VA = 0xfffffffff0000000
42!attr_text {
43! Name=.MAIN,
44! hypervisor
45!}
46
47.text
48.global main
49
50main:
51
52 ! 1st fetch should be from RSTVaddr+0x20
53
54 illtrap
55 illtrap
56 illtrap
57 illtrap
58 illtrap
59 illtrap
60 illtrap
61 illtrap
62
63 ! First intsruction fetched should be from here RSTVaddr+0x20
64
65 ! First set up some registers with values ..
66
67 setx 0xfffffffffffffffa, %g1, %g2
68 setx 0x8000000080000001, %g1, %g3
69 setx 0x8000000080000001, %g1, %g4
70 setx 0x0000000000000008, %g1, %g5
71
72 setx 0x0000000000000000, %g1, %g6
73 setx 0x0000000000000000, %g1, %g7
74
75 ! Now do some useful stuff ..
76 nop
77 nop
78
79
80
81T0:
82 ba T1
83 inc %g6
84 inc %g7
85T1:
86 bn T2
87 inc %g6
88 inc %g7
89T2:
90 bne T3
91 inc %g6
92 inc %g7
93T3:
94 be T4
95 inc %g6
96 inc %g7
97T4:
98 bg T5
99 inc %g6
100 inc %g7
101T5:
102 ble T6
103 inc %g6
104 inc %g7
105T6:
106 bge T7
107 inc %g6
108 inc %g7
109T7:
110 bl T8
111 inc %g6
112 inc %g7
113T8:
114 bgu T9
115 inc %g6
116 inc %g7
117T9:
118 bleu T10
119 inc %g6
120 inc %g7
121T10:
122 bcc T11
123 inc %g6
124 inc %g7
125T11:
126 bcs T12
127 inc %g6
128 inc %g7
129T12:
130 bpos T13
131 inc %g6
132 inc %g7
133T13:
134 bneg T14
135 inc %g6
136 inc %g7
137T14:
138 bvc T15
139 inc %g6
140 inc %g7
141T15:
142 bvs T16
143 inc %g6
144 inc %g7
145T16:
146 ba,a T17
147 inc %g6
148 inc %g7
149T17:
150 bn,a T18
151 inc %g6
152 inc %g7
153T18:
154 bne,a T19
155 inc %g6
156 inc %g7
157T19:
158 be,a T20
159 inc %g6
160 inc %g7
161T20:
162 bg,a T21
163 inc %g6
164 inc %g7
165T21:
166 ble,a T22
167 inc %g6
168 inc %g7
169T22:
170 bge,a T23
171 inc %g6
172 inc %g7
173T23:
174 bl,a T24
175 inc %g6
176 inc %g7
177T24:
178 bgu,a T25
179 inc %g6
180 inc %g7
181T25:
182 bleu,a T26
183 inc %g6
184 inc %g7
185T26:
186 bcc,a T27
187 inc %g6
188 inc %g7
189T27:
190 bcs,a T28
191 inc %g6
192 inc %g7
193T28:
194 bpos,a T29
195 inc %g6
196 inc %g7
197T29:
198 bneg,a T30
199 inc %g6
200 inc %g7
201T30:
202 bvc,a T31
203 inc %g6
204 inc %g7
205T31:
206 bvs,a T32
207 inc %g6
208 inc %g7
209
210 addcc %g0, 0x1fff, %g1
211T32:
212 ba T33
213 inc %g6
214 inc %g7
215T33:
216 bn T34
217 inc %g6
218 inc %g7
219T34:
220 bne T35
221 inc %g6
222 inc %g7
223T35:
224 be T36
225 inc %g6
226 inc %g7
227T36:
228 bg T37
229 inc %g6
230 inc %g7
231T37:
232 ble T38
233 inc %g6
234 inc %g7
235T38:
236 bge T39
237 inc %g6
238 inc %g7
239T39:
240 bl T40
241 inc %g6
242 inc %g7
243T40:
244 bgu T41
245 inc %g6
246 inc %g7
247T41:
248 bleu T42
249 inc %g6
250 inc %g7
251T42:
252 bcc T43
253 inc %g6
254 inc %g7
255T43:
256 bcs T44
257 inc %g6
258 inc %g7
259T44:
260 bpos T45
261 inc %g6
262 inc %g7
263T45:
264 bneg T46
265 inc %g6
266 inc %g7
267T46:
268 bvc T47
269 inc %g6
270 inc %g7
271T47:
272 bvs T48
273 inc %g6
274 inc %g7
275T48:
276 ba,a T49
277 inc %g6
278 inc %g7
279T49:
280 bn,a T50
281 inc %g6
282 inc %g7
283T50:
284 bne,a T51
285 inc %g6
286 inc %g7
287T51:
288 be,a T52
289 inc %g6
290 inc %g7
291T52:
292 bg,a T53
293 inc %g6
294 inc %g7
295T53:
296 ble,a T54
297 inc %g6
298 inc %g7
299T54:
300 bge,a T55
301 inc %g6
302 inc %g7
303T55:
304 bl,a T56
305 inc %g6
306 inc %g7
307T56:
308 bgu,a T57
309 inc %g6
310 inc %g7
311T57:
312 bleu,a T58
313 inc %g6
314 inc %g7
315T58:
316 bcc,a T59
317 inc %g6
318 inc %g7
319T59:
320 bcs,a T60
321 inc %g6
322 inc %g7
323T60:
324 bpos,a T61
325 inc %g6
326 inc %g7
327T61:
328 bneg,a T62
329 inc %g6
330 inc %g7
331T62:
332 bvc,a T63
333 inc %g6
334 inc %g7
335T63:
336 bvs,a T64
337 inc %g6
338 inc %g7
339
340 addcc %g0, 0x0, %g1
341T64:
342 ba T65
343 inc %g6
344 inc %g7
345T65:
346 bn T66
347 inc %g6
348 inc %g7
349T66:
350 bne T67
351 inc %g6
352 inc %g7
353T67:
354 be T68
355 inc %g6
356 inc %g7
357T68:
358 bg T69
359 inc %g6
360 inc %g7
361T69:
362 ble T70
363 inc %g6
364 inc %g7
365T70:
366 bge T71
367 inc %g6
368 inc %g7
369T71:
370 bl T72
371 inc %g6
372 inc %g7
373T72:
374 bgu T73
375 inc %g6
376 inc %g7
377T73:
378 bleu T74
379 inc %g6
380 inc %g7
381T74:
382 bcc T75
383 inc %g6
384 inc %g7
385T75:
386 bcs T76
387 inc %g6
388 inc %g7
389T76:
390 bpos T77
391 inc %g6
392 inc %g7
393T77:
394 bneg T78
395 inc %g6
396 inc %g7
397T78:
398 bvc T79
399 inc %g6
400 inc %g7
401T79:
402 bvs T80
403 inc %g6
404 inc %g7
405T80:
406 ba,a T81
407 inc %g6
408 inc %g7
409T81:
410 bn,a T82
411 inc %g6
412 inc %g7
413T82:
414 bne,a T83
415 inc %g6
416 inc %g7
417T83:
418 be,a T84
419 inc %g6
420 inc %g7
421T84:
422 bg,a T85
423 inc %g6
424 inc %g7
425T85:
426 ble,a T86
427 inc %g6
428 inc %g7
429T86:
430 bge,a T87
431 inc %g6
432 inc %g7
433T87:
434 bl,a T88
435 inc %g6
436 inc %g7
437T88:
438 bgu,a T89
439 inc %g6
440 inc %g7
441T89:
442 bleu,a T90
443 inc %g6
444 inc %g7
445T90:
446 bcc,a T91
447 inc %g6
448 inc %g7
449T91:
450 bcs,a T92
451 inc %g6
452 inc %g7
453T92:
454 bpos,a T93
455 inc %g6
456 inc %g7
457T93:
458 bneg,a T94
459 inc %g6
460 inc %g7
461T94:
462 bvc,a T95
463 inc %g6
464 inc %g7
465T95:
466 bvs,a T96
467 inc %g6
468 inc %g7
469
470 addcc %g2, %g5, %g1
471T96:
472 ba T97
473 inc %g6
474 inc %g7
475T97:
476 bn T98
477 inc %g6
478 inc %g7
479T98:
480 bne T99
481 inc %g6
482 inc %g7
483T99:
484 be T100
485 inc %g6
486 inc %g7
487T100:
488 bg T101
489 inc %g6
490 inc %g7
491T101:
492 ble T102
493 inc %g6
494 inc %g7
495T102:
496 bge T103
497 inc %g6
498 inc %g7
499T103:
500 bl T104
501 inc %g6
502 inc %g7
503T104:
504 bgu T105
505 inc %g6
506 inc %g7
507T105:
508 bleu T106
509 inc %g6
510 inc %g7
511T106:
512 bcc T107
513 inc %g6
514 inc %g7
515T107:
516 bcs T108
517 inc %g6
518 inc %g7
519T108:
520 bpos T109
521 inc %g6
522 inc %g7
523T109:
524 bneg T110
525 inc %g6
526 inc %g7
527T110:
528 bvc T111
529 inc %g6
530 inc %g7
531T111:
532 bvs T112
533 inc %g6
534 inc %g7
535T112:
536 ba,a T113
537 inc %g6
538 inc %g7
539T113:
540 bn,a T114
541 inc %g6
542 inc %g7
543T114:
544 bne,a T115
545 inc %g6
546 inc %g7
547T115:
548 be,a T116
549 inc %g6
550 inc %g7
551T116:
552 bg,a T117
553 inc %g6
554 inc %g7
555T117:
556 ble,a T118
557 inc %g6
558 inc %g7
559T118:
560 bge,a T119
561 inc %g6
562 inc %g7
563T119:
564 bl,a T120
565 inc %g6
566 inc %g7
567T120:
568 bgu,a T121
569 inc %g6
570 inc %g7
571T121:
572 bleu,a T122
573 inc %g6
574 inc %g7
575T122:
576 bcc,a T123
577 inc %g6
578 inc %g7
579T123:
580 bcs,a T124
581 inc %g6
582 inc %g7
583T124:
584 bpos,a T125
585 inc %g6
586 inc %g7
587T125:
588 bneg,a T126
589 inc %g6
590 inc %g7
591T126:
592 bvc,a T127
593 inc %g6
594 inc %g7
595T127:
596 bvs,a T128
597 inc %g6
598 inc %g7
599
600 addcc %g3, %g4, %g1
601T128:
602 ba T129
603 inc %g6
604 inc %g7
605T129:
606 bn T130
607 inc %g6
608 inc %g7
609T130:
610 bne T131
611 inc %g6
612 inc %g7
613T131:
614 be T132
615 inc %g6
616 inc %g7
617T132:
618 bg T133
619 inc %g6
620 inc %g7
621T133:
622 ble T134
623 inc %g6
624 inc %g7
625T134:
626 bge T135
627 inc %g6
628 inc %g7
629T135:
630 bl T136
631 inc %g6
632 inc %g7
633T136:
634 bgu T137
635 inc %g6
636 inc %g7
637T137:
638 bleu T138
639 inc %g6
640 inc %g7
641T138:
642 bcc T139
643 inc %g6
644 inc %g7
645T139:
646 bcs T140
647 inc %g6
648 inc %g7
649T140:
650 bpos T141
651 inc %g6
652 inc %g7
653T141:
654 bneg T142
655 inc %g6
656 inc %g7
657T142:
658 bvc T143
659 inc %g6
660 inc %g7
661T143:
662 bvs T144
663 inc %g6
664 inc %g7
665T144:
666 ba,a T145
667 inc %g6
668 inc %g7
669T145:
670 bn,a T146
671 inc %g6
672 inc %g7
673T146:
674 bne,a T147
675 inc %g6
676 inc %g7
677T147:
678 be,a T148
679 inc %g6
680 inc %g7
681T148:
682 bg,a T149
683 inc %g6
684 inc %g7
685T149:
686 ble,a T150
687 inc %g6
688 inc %g7
689T150:
690 bge,a T151
691 inc %g6
692 inc %g7
693T151:
694 bl,a T152
695 inc %g6
696 inc %g7
697T152:
698 bgu,a T153
699 inc %g6
700 inc %g7
701T153:
702 bleu,a T154
703 inc %g6
704 inc %g7
705T154:
706 bcc,a T155
707 inc %g6
708 inc %g7
709T155:
710 bcs,a T156
711 inc %g6
712 inc %g7
713T156:
714 bpos,a T157
715 inc %g6
716 inc %g7
717T157:
718 bneg,a T158
719 inc %g6
720 inc %g7
721T158:
722 bvc,a T159
723 inc %g6
724 inc %g7
725T159:
726 bvs,a T160
727 inc %g6
728 inc %g7
729T160:
730
731!good_trap:
732! b good_trap
733EXIT_GOOD
734 nop
735 nop
736
737
738
739!SECTION .DATA TEXT_VA = 0xffffff0000000000
740!attr_text {
741! Name=.DATA,
742! hypervisor
743!}
744
745.data
746.xword 0x0
747.xword 0x1
748.xword 0x2
749.xword 0x3
750.xword 0x4
751.xword 0x5
752.xword 0x6
753.xword 0x7
754
755.end
756
757