~mmach/netext73/mesa-haswell

« back to all changes in this revision

Viewing changes to src/freedreno/.gitlab-ci/reference/afuc_test.asm

  • Committer: mmach
  • Date: 2022-09-22 19:56:13 UTC
  • Revision ID: netbit73@gmail.com-20220922195613-wtik9mmy20tmor0i
2022-09-22 21:17:09

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
; a6xx microcode
2
 
; Version: 01000001
3
 
 
4
 
        [01000001]  ; nop
5
 
        [01000078]  ; nop
6
 
        mov $01, 0x0830 ; CP_SQE_INSTR_BASE
7
 
        mov $02, 0x0002
8
 
        cwrite $01, [$00 + @REG_READ_ADDR], 0x0
9
 
        cwrite $02, [$00 + @REG_READ_DWORDS], 0x0
10
 
        mov $01, $regdata
11
 
        mov $02, $regdata
12
 
        add $01, $01, 0x0004
13
 
        addhi $02, $02, 0x0000
14
 
        mov $03, 0x0001
15
 
        cwrite $01, [$00 + @MEM_READ_ADDR], 0x0
16
 
        cwrite $02, [$00 + @MEM_READ_ADDR+0x1], 0x0
17
 
        cwrite $03, [$00 + @MEM_READ_DWORDS], 0x0
18
 
        rot $04, $memdata, 0x0008
19
 
        ushr $04, $04, 0x0006
20
 
        sub $04, $04, 0x0004
21
 
        add $01, $01, $04
22
 
        addhi $02, $02, 0x0000
23
 
        mov $rem, 0x0080
24
 
        cwrite $01, [$00 + @MEM_READ_ADDR], 0x0
25
 
        cwrite $02, [$00 + @MEM_READ_ADDR+0x1], 0x0
26
 
        cwrite $02, [$00 + @LOAD_STORE_HI], 0x0
27
 
        cwrite $rem, [$00 + @MEM_READ_DWORDS], 0x0
28
 
        cwrite $00, [$00 + @PACKET_TABLE_WRITE_ADDR], 0x0
29
 
        (rep)cwrite $memdata, [$00 + @PACKET_TABLE_WRITE], 0x0
30
 
        mov $02, 0x0883 ; CP_SCRATCH[0].REG
31
 
        mov $03, 0xbeef
32
 
        mov $04, 0xdead << 16
33
 
        or $03, $03, $04
34
 
        cwrite $02, [$00 + @REG_WRITE_ADDR], 0x0
35
 
        cwrite $03, [$00 + @REG_WRITE], 0x0
36
 
        waitin
37
 
        mov $01, $data
38
 
 
39
 
CP_ME_INIT:
40
 
        mov $02, 0x0002
41
 
        waitin
42
 
        mov $01, $data
43
 
 
44
 
CP_MEM_WRITE:
45
 
        mov $addr, 0x00a0 << 24 ; |NRT_ADDR
46
 
        mov $02, 0x0004
47
 
        (xmov1)add $data, $02, $data
48
 
        mov $addr, 0xa204 << 16 ; |NRT_DATA
49
 
        (rep)(xmov3)mov $data, $data
50
 
        waitin
51
 
        mov $01, $data
52
 
 
53
 
CP_SCRATCH_WRITE:
54
 
        mov $02, 0x00ff
55
 
        (rep)cwrite $data, [$02 + 0x001], 0x4
56
 
        waitin
57
 
        mov $01, $data
58
 
 
59
 
CP_SET_SECURE_MODE:
60
 
        mov $02, $data
61
 
        setsecure $02, #l000
62
 
 l001:  jump #l001
63
 
        nop
64
 
 l000:  waitin
65
 
        mov $01, $data
66
 
fxn00:
67
 
 l004:  cmp $04, $02, $03
68
 
        breq $04, b0, #l002
69
 
        brne $04, b1, #l003
70
 
        breq $04, b2, #l004
71
 
        sub $03, $03, $02
72
 
 l003:  jump #l004
73
 
        sub $02, $02, $03
74
 
 l002:  ret
75
 
        nop
76
 
 
77
 
CP_REG_RMW:
78
 
        cwrite $data, [$00 + @REG_READ_ADDR], 0x0
79
 
        add $02, $regdata, 0x0042
80
 
        addhi $03, $00, $regdata
81
 
        sub $02, $02, $regdata
82
 
        call #fxn00
83
 
        subhi $03, $03, $regdata
84
 
        and $02, $02, $regdata
85
 
        or $02, $02, 0x0001
86
 
        xor $02, $02, 0x0001
87
 
        not $02, $02
88
 
        shl $02, $02, $regdata
89
 
        ushr $02, $02, $regdata
90
 
        ishr $02, $02, $regdata
91
 
        rot $02, $02, $regdata
92
 
        min $02, $02, $regdata
93
 
        max $02, $02, $regdata
94
 
        mul8 $02, $02, $regdata
95
 
        msb $02, $02
96
 
        mov $usraddr, $data
97
 
        mov $data, $02
98
 
        waitin
99
 
        mov $01, $data
100
 
 
101
 
CP_MEMCPY:
102
 
        mov $02, $data
103
 
        mov $03, $data
104
 
        mov $04, $data
105
 
        mov $05, $data
106
 
        mov $06, $data
107
 
 l006:  breq $06, 0x0, #l005
108
 
        cwrite $03, [$00 + @LOAD_STORE_HI], 0x0
109
 
        load $07, [$02 + 0x004], 0x4
110
 
        cwrite $05, [$00 + @LOAD_STORE_HI], 0x0
111
 
        jump #l006
112
 
        store $07, [$04 + 0x004], 0x4
113
 
 l005:  waitin
114
 
        mov $01, $data
115
 
 
116
 
CP_MEM_TO_MEM:
117
 
        cwrite $data, [$00 + @MEM_READ_ADDR], 0x0
118
 
        cwrite $data, [$00 + @MEM_READ_ADDR+0x1], 0x0
119
 
        mov $02, $data
120
 
        cwrite $data, [$00 + @LOAD_STORE_HI], 0x0
121
 
        mov $rem, $data
122
 
        cwrite $rem, [$00 + @MEM_READ_DWORDS], 0x0
123
 
        (rep)store $memdata, [$02 + 0x004], 0x4
124
 
        waitin
125
 
        mov $01, $data
126
 
 
127
 
UNKN15:
128
 
        cread $02, [$00 + 0x101], 0x0
129
 
        brne $02, 0x1, #l007
130
 
        nop
131
 
        preemptleave #l001
132
 
        nop
133
 
        nop
134
 
        nop
135
 
        waitin
136
 
        mov $01, $data
137
 
 l007:  iret
138
 
        nop
139
 
 
140
 
UNKN0:
141
 
UNKN1:
142
 
UNKN2:
143
 
UNKN3:
144
 
PKT4:
145
 
UNKN5:
146
 
UNKN6:
147
 
UNKN7:
148
 
UNKN8:
149
 
UNKN9:
150
 
UNKN10:
151
 
UNKN11:
152
 
UNKN12:
153
 
UNKN13:
154
 
UNKN14:
155
 
CP_NOP:
156
 
CP_RECORD_PFP_TIMESTAMP:
157
 
CP_WAIT_MEM_WRITES:
158
 
CP_WAIT_FOR_ME:
159
 
CP_WAIT_MEM_GTE:
160
 
UNKN21:
161
 
UNKN22:
162
 
UNKN23:
163
 
UNKN24:
164
 
CP_DRAW_PRED_ENABLE_GLOBAL:
165
 
CP_DRAW_PRED_ENABLE_LOCAL:
166
 
UNKN27:
167
 
CP_PREEMPT_ENABLE:
168
 
CP_SKIP_IB2_ENABLE_GLOBAL:
169
 
CP_PREEMPT_TOKEN:
170
 
UNKN31:
171
 
UNKN32:
172
 
CP_DRAW_INDX:
173
 
CP_SKIP_IB2_ENABLE_LOCAL:
174
 
CP_DRAW_AUTO:
175
 
CP_SET_STATE:
176
 
CP_WAIT_FOR_IDLE:
177
 
CP_IM_LOAD:
178
 
CP_DRAW_INDIRECT:
179
 
CP_DRAW_INDX_INDIRECT:
180
 
CP_DRAW_INDIRECT_MULTI:
181
 
CP_IM_LOAD_IMMEDIATE:
182
 
CP_BLIT:
183
 
CP_SET_CONSTANT:
184
 
CP_SET_BIN_DATA5_OFFSET:
185
 
CP_SET_BIN_DATA5:
186
 
UNKN48:
187
 
CP_RUN_OPENCL:
188
 
CP_LOAD_STATE6_GEOM:
189
 
CP_EXEC_CS:
190
 
CP_LOAD_STATE6_FRAG:
191
 
CP_SET_SUBDRAW_SIZE:
192
 
CP_LOAD_STATE6:
193
 
CP_INDIRECT_BUFFER_PFD:
194
 
CP_DRAW_INDX_OFFSET:
195
 
CP_REG_TEST:
196
 
CP_COND_INDIRECT_BUFFER_PFE:
197
 
CP_INVALIDATE_STATE:
198
 
CP_WAIT_REG_MEM:
199
 
CP_REG_TO_MEM:
200
 
CP_INDIRECT_BUFFER:
201
 
CP_INTERRUPT:
202
 
CP_EXEC_CS_INDIRECT:
203
 
CP_MEM_TO_REG:
204
 
CP_SET_DRAW_STATE:
205
 
CP_COND_EXEC:
206
 
CP_COND_WRITE5:
207
 
CP_EVENT_WRITE:
208
 
CP_COND_REG_EXEC:
209
 
UNKN73:
210
 
CP_REG_TO_SCRATCH:
211
 
CP_SET_DRAW_INIT_FLAGS:
212
 
CP_SCRATCH_TO_REG:
213
 
CP_DRAW_PRED_SET:
214
 
CP_MEM_WRITE_CNTR:
215
 
CP_START_BIN:
216
 
CP_END_BIN:
217
 
CP_WAIT_REG_EQ:
218
 
CP_SMMU_TABLE_UPDATE:
219
 
UNKN84:
220
 
CP_SET_CTXSWITCH_IB:
221
 
CP_SET_PSEUDO_REG:
222
 
CP_INDIRECT_BUFFER_CHAIN:
223
 
CP_EVENT_WRITE_SHD:
224
 
CP_EVENT_WRITE_CFL:
225
 
UNKN90:
226
 
CP_EVENT_WRITE_ZPD:
227
 
CP_CONTEXT_REG_BUNCH:
228
 
CP_WAIT_IB_PFD_COMPLETE:
229
 
CP_CONTEXT_UPDATE:
230
 
CP_SET_PROTECTED_MODE:
231
 
UNKN96:
232
 
UNKN97:
233
 
CP_WHERE_AM_I:
234
 
CP_SET_MODE:
235
 
CP_SET_VISIBILITY_OVERRIDE:
236
 
CP_SET_MARKER:
237
 
UNKN103:
238
 
UNKN104:
239
 
UNKN105:
240
 
UNKN106:
241
 
UNKN107:
242
 
UNKN108:
243
 
CP_REG_WRITE:
244
 
UNKN110:
245
 
CP_BOOTSTRAP_UCODE:
246
 
CP_WAIT_TWO_REGS:
247
 
CP_TEST_TWO_MEMS:
248
 
CP_REG_TO_MEM_OFFSET_REG:
249
 
CP_REG_TO_MEM_OFFSET_MEM:
250
 
UNKN118:
251
 
UNKN119:
252
 
CP_REG_WR_NO_CTXT:
253
 
UNKN121:
254
 
UNKN122:
255
 
UNKN123:
256
 
UNKN124:
257
 
UNKN125:
258
 
UNKN126:
259
 
UNKN127:
260
 
        waitin
261
 
        mov $01, $data
262
 
        [00000076]  ; nop
263
 
        [00000076]  ; nop
264
 
        [00000076]  ; nop
265
 
        [00000076]  ; nop
266
 
        [00000076]  ; nop
267
 
        [00000076]  ; nop
268
 
        [00000076]  ; nop
269
 
        [00000076]  ; nop
270
 
        [00000076]  ; nop
271
 
        [00000076]  ; nop
272
 
        [00000076]  ; nop
273
 
        [00000076]  ; nop
274
 
        [00000076]  ; nop
275
 
        [00000076]  ; nop
276
 
        [00000076]  ; nop
277
 
        [0000006b]  ; nop
278
 
        [00000076]  ; nop
279
 
        [00000076]  ; nop
280
 
        [00000076]  ; nop
281
 
        [00000076]  ; nop
282
 
        [00000076]  ; nop
283
 
        [00000076]  ; nop
284
 
        [00000076]  ; nop
285
 
        [00000076]  ; nop
286
 
        [00000076]  ; nop
287
 
        [00000076]  ; nop
288
 
        [00000076]  ; nop
289
 
        [00000076]  ; nop
290
 
        [00000076]  ; nop
291
 
        [00000076]  ; nop
292
 
        [00000076]  ; nop
293
 
        [00000076]  ; nop
294
 
        [00000076]  ; nop
295
 
        [0000003f]  ; nop
296
 
        [00000076]  ; nop
297
 
        [00000076]  ; nop
298
 
        [00000076]  ; nop
299
 
        [00000076]  ; nop
300
 
        [00000076]  ; nop
301
 
        [00000076]  ; nop
302
 
        [00000076]  ; nop
303
 
        [00000076]  ; nop
304
 
        [00000076]  ; nop
305
 
        [00000076]  ; nop
306
 
        [00000076]  ; nop
307
 
        [00000076]  ; nop
308
 
        [00000076]  ; nop
309
 
        [00000076]  ; nop
310
 
        [00000076]  ; nop
311
 
        [00000076]  ; nop
312
 
        [00000076]  ; nop
313
 
        [00000076]  ; nop
314
 
        [00000076]  ; nop
315
 
        [00000076]  ; nop
316
 
        [00000076]  ; nop
317
 
        [00000076]  ; nop
318
 
        [00000076]  ; nop
319
 
        [00000076]  ; nop
320
 
        [00000076]  ; nop
321
 
        [00000076]  ; nop
322
 
        [00000076]  ; nop
323
 
        [00000025]  ; nop
324
 
        [00000076]  ; nop
325
 
        [00000076]  ; nop
326
 
        [00000076]  ; nop
327
 
        [00000076]  ; nop
328
 
        [00000076]  ; nop
329
 
        [00000076]  ; nop
330
 
        [00000076]  ; nop
331
 
        [00000076]  ; nop
332
 
        [00000076]  ; nop
333
 
        [00000076]  ; nop
334
 
        [00000022]  ; nop
335
 
        [00000076]  ; nop
336
 
        [00000076]  ; nop
337
 
        [00000076]  ; nop
338
 
        [0000002c]  ; nop
339
 
        [00000076]  ; nop
340
 
        [00000076]  ; nop
341
 
        [00000076]  ; nop
342
 
        [00000076]  ; nop
343
 
        [00000076]  ; nop
344
 
        [00000076]  ; nop
345
 
        [00000076]  ; nop
346
 
        [00000076]  ; nop
347
 
        [00000076]  ; nop
348
 
        [00000076]  ; nop
349
 
        [00000076]  ; nop
350
 
        [00000076]  ; nop
351
 
        [00000076]  ; nop
352
 
        [00000076]  ; nop
353
 
        [00000076]  ; nop
354
 
        [00000076]  ; nop
355
 
        [00000076]  ; nop
356
 
        [00000076]  ; nop
357
 
        [00000076]  ; nop
358
 
        [00000076]  ; nop
359
 
        [00000076]  ; nop
360
 
        [00000076]  ; nop
361
 
        [00000076]  ; nop
362
 
        [00000076]  ; nop
363
 
        [00000076]  ; nop
364
 
        [00000030]  ; nop
365
 
        [00000076]  ; nop
366
 
        [00000076]  ; nop
367
 
        [00000076]  ; nop
368
 
        [00000076]  ; nop
369
 
        [00000076]  ; nop
370
 
        [00000076]  ; nop
371
 
        [00000076]  ; nop
372
 
        [00000076]  ; nop
373
 
        [00000076]  ; nop
374
 
        [00000076]  ; nop
375
 
        [00000076]  ; nop
376
 
        [00000076]  ; nop
377
 
        [00000062]  ; nop
378
 
        [00000076]  ; nop
379
 
        [00000055]  ; nop
380
 
        [00000076]  ; nop
381
 
        [00000076]  ; nop
382
 
        [00000076]  ; nop
383
 
        [00000076]  ; nop
384
 
        [00000076]  ; nop
385
 
        [00000076]  ; nop
386
 
        [00000076]  ; nop
387
 
        [00000076]  ; nop
388
 
        [00000076]  ; nop
389
 
        [00000076]  ; nop