Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / diag / assembly / ifu / bprgen.s
CommitLineData
86530b38
AT
1/*
2* ========== Copyright Header Begin ==========================================
3*
4* OpenSPARC T2 Processor File: bprgen.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 0x0, %g1, %g2
68 setx -0x1, %g1, %g3
69 setx 0x1, %g1, %g4
70
71 setx 0x0, %g1, %g6
72 setx 0x0, %g1, %g7
73
74 ! Now do some useful stuff ..
75 nop
76 nop
77T0:
78 brz %g2,T1
79 inc %g6
80 inc %g7
81T1:
82 brlez %g2,T2
83 inc %g6
84 inc %g7
85T2:
86 brlz %g2,T3
87 inc %g6
88 inc %g7
89T3:
90 brnz %g2,T4
91 inc %g6
92 inc %g7
93T4:
94 brgz %g2,T5
95 inc %g6
96 inc %g7
97T5:
98 brgez %g2,T6
99 inc %g6
100 inc %g7
101T6:
102 brz,pt %g2,T7
103 inc %g6
104 inc %g7
105T7:
106 brlez,pt %g2,T8
107 inc %g6
108 inc %g7
109T8:
110 brlz,pt %g2,T9
111 inc %g6
112 inc %g7
113T9:
114 brnz,pt %g2,T10
115 inc %g6
116 inc %g7
117T10:
118 brgz,pt %g2,T11
119 inc %g6
120 inc %g7
121T11:
122 brgez,pt %g2,T12
123 inc %g6
124 inc %g7
125T12:
126 brz,pn %g2,T13
127 inc %g6
128 inc %g7
129T13:
130 brlez,pn %g2,T14
131 inc %g6
132 inc %g7
133T14:
134 brlz,pn %g2,T15
135 inc %g6
136 inc %g7
137T15:
138 brnz,pn %g2,T16
139 inc %g6
140 inc %g7
141T16:
142 brgz,pn %g2,T17
143 inc %g6
144 inc %g7
145T17:
146 brgez,pn %g2,T18
147 inc %g6
148 inc %g7
149T18:
150 brz,a %g2,T19
151 inc %g6
152 inc %g7
153T19:
154 brlez,a %g2,T20
155 inc %g6
156 inc %g7
157T20:
158 brlz,a %g2,T21
159 inc %g6
160 inc %g7
161T21:
162 brnz,a %g2,T22
163 inc %g6
164 inc %g7
165T22:
166 brgz,a %g2,T23
167 inc %g6
168 inc %g7
169T23:
170 brgez,a %g2,T24
171 inc %g6
172 inc %g7
173T24:
174 brz,a,pt %g2,T25
175 inc %g6
176 inc %g7
177T25:
178 brlez,a,pt %g2,T26
179 inc %g6
180 inc %g7
181T26:
182 brlz,a,pt %g2,T27
183 inc %g6
184 inc %g7
185T27:
186 brnz,a,pt %g2,T28
187 inc %g6
188 inc %g7
189T28:
190 brgz,a,pt %g2,T29
191 inc %g6
192 inc %g7
193T29:
194 brgez,a,pt %g2,T30
195 inc %g6
196 inc %g7
197T30:
198 brz,a,pn %g2,T31
199 inc %g6
200 inc %g7
201T31:
202 brlez,a,pn %g2,T32
203 inc %g6
204 inc %g7
205T32:
206 brlz,a,pn %g2,T33
207 inc %g6
208 inc %g7
209T33:
210 brnz,a,pn %g2,T34
211 inc %g6
212 inc %g7
213T34:
214 brgz,a,pn %g2,T35
215 inc %g6
216 inc %g7
217T35:
218 brgez,a,pn %g2,T36
219 inc %g6
220 inc %g7
221T36:
222 brz %g3,T37
223 inc %g6
224 inc %g7
225T37:
226 brlez %g3,T38
227 inc %g6
228 inc %g7
229T38:
230 brlz %g3,T39
231 inc %g6
232 inc %g7
233T39:
234 brnz %g3,T40
235 inc %g6
236 inc %g7
237T40:
238 brgz %g3,T41
239 inc %g6
240 inc %g7
241T41:
242 brgez %g3,T42
243 inc %g6
244 inc %g7
245T42:
246 brz,pt %g3,T43
247 inc %g6
248 inc %g7
249T43:
250 brlez,pt %g3,T44
251 inc %g6
252 inc %g7
253T44:
254 brlz,pt %g3,T45
255 inc %g6
256 inc %g7
257T45:
258 brnz,pt %g3,T46
259 inc %g6
260 inc %g7
261T46:
262 brgz,pt %g3,T47
263 inc %g6
264 inc %g7
265T47:
266 brgez,pt %g3,T48
267 inc %g6
268 inc %g7
269T48:
270 brz,pn %g3,T49
271 inc %g6
272 inc %g7
273T49:
274 brlez,pn %g3,T50
275 inc %g6
276 inc %g7
277T50:
278 brlz,pn %g3,T51
279 inc %g6
280 inc %g7
281T51:
282 brnz,pn %g3,T52
283 inc %g6
284 inc %g7
285T52:
286 brgz,pn %g3,T53
287 inc %g6
288 inc %g7
289T53:
290 brgez,pn %g3,T54
291 inc %g6
292 inc %g7
293T54:
294 brz,a %g3,T55
295 inc %g6
296 inc %g7
297T55:
298 brlez,a %g3,T56
299 inc %g6
300 inc %g7
301T56:
302 brlz,a %g3,T57
303 inc %g6
304 inc %g7
305T57:
306 brnz,a %g3,T58
307 inc %g6
308 inc %g7
309T58:
310 brgz,a %g3,T59
311 inc %g6
312 inc %g7
313T59:
314 brgez,a %g3,T60
315 inc %g6
316 inc %g7
317T60:
318 brz,a,pt %g3,T61
319 inc %g6
320 inc %g7
321T61:
322 brlez,a,pt %g3,T62
323 inc %g6
324 inc %g7
325T62:
326 brlz,a,pt %g3,T63
327 inc %g6
328 inc %g7
329T63:
330 brnz,a,pt %g3,T64
331 inc %g6
332 inc %g7
333T64:
334 brgz,a,pt %g3,T65
335 inc %g6
336 inc %g7
337T65:
338 brgez,a,pt %g3,T66
339 inc %g6
340 inc %g7
341T66:
342 brz,a,pn %g3,T67
343 inc %g6
344 inc %g7
345T67:
346 brlez,a,pn %g3,T68
347 inc %g6
348 inc %g7
349T68:
350 brlz,a,pn %g3,T69
351 inc %g6
352 inc %g7
353T69:
354 brnz,a,pn %g3,T70
355 inc %g6
356 inc %g7
357T70:
358 brgz,a,pn %g3,T71
359 inc %g6
360 inc %g7
361T71:
362 brgez,a,pn %g3,T72
363 inc %g6
364 inc %g7
365T72:
366 brz %g4,T73
367 inc %g6
368 inc %g7
369T73:
370 brlez %g4,T74
371 inc %g6
372 inc %g7
373T74:
374 brlz %g4,T75
375 inc %g6
376 inc %g7
377T75:
378 brnz %g4,T76
379 inc %g6
380 inc %g7
381T76:
382 brgz %g4,T77
383 inc %g6
384 inc %g7
385T77:
386 brgez %g4,T78
387 inc %g6
388 inc %g7
389T78:
390 brz,pt %g4,T79
391 inc %g6
392 inc %g7
393T79:
394 brlez,pt %g4,T80
395 inc %g6
396 inc %g7
397T80:
398 brlz,pt %g4,T81
399 inc %g6
400 inc %g7
401T81:
402 brnz,pt %g4,T82
403 inc %g6
404 inc %g7
405T82:
406 brgz,pt %g4,T83
407 inc %g6
408 inc %g7
409T83:
410 brgez,pt %g4,T84
411 inc %g6
412 inc %g7
413T84:
414 brz,pn %g4,T85
415 inc %g6
416 inc %g7
417T85:
418 brlez,pn %g4,T86
419 inc %g6
420 inc %g7
421T86:
422 brlz,pn %g4,T87
423 inc %g6
424 inc %g7
425T87:
426 brnz,pn %g4,T88
427 inc %g6
428 inc %g7
429T88:
430 brgz,pn %g4,T89
431 inc %g6
432 inc %g7
433T89:
434 brgez,pn %g4,T90
435 inc %g6
436 inc %g7
437T90:
438 brz,a %g4,T91
439 inc %g6
440 inc %g7
441T91:
442 brlez,a %g4,T92
443 inc %g6
444 inc %g7
445T92:
446 brlz,a %g4,T93
447 inc %g6
448 inc %g7
449T93:
450 brnz,a %g4,T94
451 inc %g6
452 inc %g7
453T94:
454 brgz,a %g4,T95
455 inc %g6
456 inc %g7
457T95:
458 brgez,a %g4,T96
459 inc %g6
460 inc %g7
461T96:
462 brz,a,pt %g4,T97
463 inc %g6
464 inc %g7
465T97:
466 brlez,a,pt %g4,T98
467 inc %g6
468 inc %g7
469T98:
470 brlz,a,pt %g4,T99
471 inc %g6
472 inc %g7
473T99:
474 brnz,a,pt %g4,T100
475 inc %g6
476 inc %g7
477T100:
478 brgz,a,pt %g4,T101
479 inc %g6
480 inc %g7
481T101:
482 brgez,a,pt %g4,T102
483 inc %g6
484 inc %g7
485T102:
486 brz,a,pn %g4,T103
487 inc %g6
488 inc %g7
489T103:
490 brlez,a,pn %g4,T104
491 inc %g6
492 inc %g7
493T104:
494 brlz,a,pn %g4,T105
495 inc %g6
496 inc %g7
497T105:
498 brnz,a,pn %g4,T106
499 inc %g6
500 inc %g7
501T106:
502 brgz,a,pn %g4,T107
503 inc %g6
504 inc %g7
505T107:
506 brgez,a,pn %g4,T108
507 inc %g6
508 inc %g7
509T108:
510
511!good_trap:
512! b good_trap
513EXIT_GOOD
514 nop
515 nop
516
517
518
519!SECTION .DATA TEXT_VA = 0xffffff0000000000
520!attr_text {
521! Name=.DATA,
522! hypervisor
523!}
524
525.data
526.xword 0x0
527.xword 0x1
528.xword 0x2
529.xword 0x3
530.xword 0x4
531.xword 0x5
532.xword 0x6
533.xword 0x7
534
535.end
536
537