xref: /linux/drivers/gpu/drm/nouveau/nvkm/engine/sec/fuc/g98.fuc0s.h (revision 3f61fd41f38328f0a585eaba2d72d339fe9aecda)
1 /* SPDX-License-Identifier: MIT */
2 static uint32_t g98_sec_data[] = {
3 /* 0x0000: ctx_dma */
4 /* 0x0000: ctx_dma_query */
5 	0x00000000,
6 /* 0x0004: ctx_dma_src */
7 	0x00000000,
8 /* 0x0008: ctx_dma_dst */
9 	0x00000000,
10 /* 0x000c: ctx_query_address_high */
11 	0x00000000,
12 /* 0x0010: ctx_query_address_low */
13 	0x00000000,
14 /* 0x0014: ctx_query_counter */
15 	0x00000000,
16 /* 0x0018: ctx_cond_address_high */
17 	0x00000000,
18 /* 0x001c: ctx_cond_address_low */
19 	0x00000000,
20 /* 0x0020: ctx_cond_off */
21 	0x00000000,
22 /* 0x0024: ctx_src_address_high */
23 	0x00000000,
24 /* 0x0028: ctx_src_address_low */
25 	0x00000000,
26 /* 0x002c: ctx_dst_address_high */
27 	0x00000000,
28 /* 0x0030: ctx_dst_address_low */
29 	0x00000000,
30 /* 0x0034: ctx_mode */
31 	0x00000000,
32 	0x00000000,
33 	0x00000000,
34 /* 0x0040: ctx_key */
35 	0x00000000,
36 	0x00000000,
37 	0x00000000,
38 	0x00000000,
39 /* 0x0050: ctx_iv */
40 	0x00000000,
41 	0x00000000,
42 	0x00000000,
43 	0x00000000,
44 	0x00000000,
45 	0x00000000,
46 	0x00000000,
47 	0x00000000,
48 	0x00000000,
49 	0x00000000,
50 	0x00000000,
51 	0x00000000,
52 /* 0x0080: swap */
53 	0x00000000,
54 	0x00000000,
55 	0x00000000,
56 	0x00000000,
57 	0x00000000,
58 	0x00000000,
59 	0x00000000,
60 	0x00000000,
61 /* 0x00a0: common_cmd_dtable */
62 	0x0002000c,
63 	0xffffff00,
64 	0x00020010,
65 	0x0000000f,
66 	0x00020014,
67 	0x00000000,
68 	0x00000192,
69 	0xfffffffe,
70 	0x00020018,
71 	0xffffff00,
72 	0x0002001c,
73 	0x0000000f,
74 	0x000001d7,
75 	0xfffffff8,
76 	0x00000260,
77 	0xffffffff,
78 /* 0x00e0: engine_cmd_dtable */
79 	0x00020040,
80 	0x00000000,
81 	0x00020044,
82 	0x00000000,
83 	0x00020048,
84 	0x00000000,
85 	0x0002004c,
86 	0x00000000,
87 	0x00020050,
88 	0x00000000,
89 	0x00020054,
90 	0x00000000,
91 	0x00020058,
92 	0x00000000,
93 	0x0002005c,
94 	0x00000000,
95 	0x00020024,
96 	0xffffff00,
97 	0x00020028,
98 	0x0000000f,
99 	0x0002002c,
100 	0xffffff00,
101 	0x00020030,
102 	0x0000000f,
103 	0x00000271,
104 	0xfffffff0,
105 	0x00010285,
106 	0xf000000f,
107 /* 0x0150: sec_dtable */
108 	0x04db0321,
109 	0x04b1032f,
110 	0x04db0339,
111 	0x04db034b,
112 	0x04db0361,
113 	0x04db0377,
114 	0x04db0395,
115 	0x04db03af,
116 	0x04db03cd,
117 	0x04db03e3,
118 	0x04db03f9,
119 	0x04db040f,
120 	0x04830429,
121 	0x0483043b,
122 	0x0483045d,
123 	0x00000000,
124 	0x00000000,
125 	0x00000000,
126 	0x00000000,
127 	0x00000000,
128 	0x00000000,
129 	0x00000000,
130 	0x00000000,
131 	0x00000000,
132 	0x00000000,
133 	0x00000000,
134 	0x00000000,
135 	0x00000000,
136 	0x00000000,
137 	0x00000000,
138 	0x00000000,
139 	0x00000000,
140 	0x00000000,
141 	0x00000000,
142 	0x00000000,
143 	0x00000000,
144 	0x00000000,
145 	0x00000000,
146 	0x00000000,
147 	0x00000000,
148 	0x00000000,
149 	0x00000000,
150 	0x00000000,
151 	0x00000000,
152 };
153 
154 static uint32_t g98_sec_code[] = {
155 	0x17f004bd,
156 	0x0010fe35,
157 	0xf10004fe,
158 	0xf0fff017,
159 	0x27f10013,
160 	0x21d00400,
161 	0x0c15f0c0,
162 	0xf00021d0,
163 	0x27f10317,
164 	0x21d01200,
165 	0x1031f400,
166 /* 0x002f: spin */
167 	0xf40031f4,
168 	0x0ef40028,
169 /* 0x0035: ih */
170 	0x8001cffd,
171 	0xb00812c4,
172 	0x0bf40024,
173 	0x0027f167,
174 	0x002bfe77,
175 	0xf00007fe,
176 	0x23f00027,
177 	0x0037f105,
178 	0x0034cf14,
179 	0xb0014594,
180 	0x18f40055,
181 	0x0602fa17,
182 	0x4af003f8,
183 	0x0034d01e,
184 	0xd00147f0,
185 	0x0ef48034,
186 /* 0x0075: ctxload */
187 	0x4034cf33,
188 	0xb0014f94,
189 	0x18f400f5,
190 	0x0502fa21,
191 	0x57f003f8,
192 	0x0267f000,
193 /* 0x008c: ctxload_dma_loop */
194 	0xa07856bc,
195 	0xb6018068,
196 	0x87d00884,
197 	0x0162b600,
198 /* 0x009f: dummyload */
199 	0xf0f018f4,
200 	0x35d00257,
201 /* 0x00a5: noctx */
202 	0x0412c480,
203 	0xf50024b0,
204 	0xf100df0b,
205 	0xcf190037,
206 	0x33cf4032,
207 	0xff24e400,
208 	0x1024b607,
209 	0x07bf45e4,
210 	0xf50054b0,
211 	0xf100b90b,
212 	0xf1fae057,
213 	0xb000ce67,
214 	0x18f4c044,
215 	0xa057f14d,
216 	0x8867f1fc,
217 	0x8044b000,
218 	0xb03f18f4,
219 	0x18f46044,
220 	0x5044b019,
221 	0xf1741bf4,
222 	0xbd220027,
223 	0x0233f034,
224 	0xf50023d0,
225 /* 0x0103: dma_cmd */
226 	0xb000810e,
227 	0x18f46344,
228 	0x0245945e,
229 	0xfe8050b7,
230 	0x801e39f0,
231 	0x40b70053,
232 	0x44b60120,
233 	0x0043d008,
234 /* 0x0123: dtable_cmd */
235 	0xb8600ef4,
236 	0x18f40446,
237 	0x0344b63e,
238 	0x980045bb,
239 	0x53fd0145,
240 	0x0054b004,
241 	0x58291bf4,
242 	0x46580045,
243 	0x0264b001,
244 	0x98170bf4,
245 	0x67fd0807,
246 	0x0164b004,
247 	0xf9300bf4,
248 	0x0f01f455,
249 /* 0x015b: cmd_setctx */
250 	0x80280ef4,
251 	0x0ef40053,
252 /* 0x0161: invalid_bitfield */
253 	0x0125f022,
254 /* 0x0164: dispatch_error */
255 /* 0x0164: illegal_mthd */
256 	0x100047f1,
257 	0xd00042d0,
258 	0x47f04043,
259 	0x0004d040,
260 /* 0x0174: im_loop */
261 	0xf08004cf,
262 	0x44b04044,
263 	0xf71bf400,
264 /* 0x0180: cmddone */
265 	0x1d0037f1,
266 	0xd00147f0,
267 /* 0x018a: nocmd */
268 	0x11c40034,
269 	0x4001d00c,
270 /* 0x0192: cmd_query_get */
271 	0x38f201f8,
272 	0x0325f001,
273 	0x0b0047f1,
274 /* 0x019c: ptimer_retry */
275 	0xcf4046cf,
276 	0x47cf0045,
277 	0x0467b840,
278 	0x98f41bf4,
279 	0x04800504,
280 	0x21008020,
281 	0x80220580,
282 	0x0bfe2306,
283 	0x03049800,
284 	0xfe1844b6,
285 	0x04980047,
286 	0x8057f104,
287 	0x0253f000,
288 	0xf80645fa,
289 /* 0x01d7: cmd_cond_mode */
290 	0xf400f803,
291 	0x25f00131,
292 	0x0534b002,
293 	0xf41218f4,
294 	0x34b00132,
295 	0x0b18f402,
296 	0x800136f0,
297 /* 0x01f2: return */
298 	0x00f80803,
299 /* 0x01f4: cmd_cond_mode_queryful */
300 	0x98060498,
301 	0x56c40705,
302 	0x0855b6ff,
303 	0xfd1844b6,
304 	0x47fe0545,
305 	0x000bfe00,
306 	0x008057f1,
307 	0xfa0253f0,
308 	0x34b00565,
309 	0x131bf402,
310 	0x049803f8,
311 	0x0044b021,
312 	0x800b4cf0,
313 	0x00f80804,
314 /* 0x022c: cmd_cond_mode_double */
315 	0xb61060b6,
316 	0x65fa1050,
317 	0x9803f805,
318 	0x06982005,
319 	0x0456b824,
320 	0x980b4cf0,
321 	0x06982105,
322 	0x0456b825,
323 	0xfd0b5cf0,
324 	0x34b00445,
325 	0x0b5cf003,
326 	0x800645fd,
327 	0x00f80804,
328 /* 0x0260: cmd_wrcache_flush */
329 	0xf10132f4,
330 	0xbd220027,
331 	0x0133f034,
332 	0xf80023d0,
333 /* 0x0271: sec_cmd_mode */
334 	0x0131f400,
335 	0xb00225f0,
336 	0x18f40f34,
337 	0x0132f409,
338 /* 0x0283: sec_cmd_mode_return */
339 	0xf80d0380,
340 /* 0x0285: sec_cmd_length */
341 	0x0034b000,
342 	0xf4fb0bf4,
343 	0x47f0033c,
344 	0x0743f040,
345 	0xf00604fa,
346 	0x43f05047,
347 	0x0604fa06,
348 	0x3cf503f8,
349 	0x47f1c407,
350 	0x4bfe2100,
351 	0x09049800,
352 	0x950a0598,
353 	0x44b60858,
354 	0x0548fd18,
355 	0x98ff55c4,
356 	0x07980b06,
357 	0x0878950c,
358 	0xfd1864b6,
359 	0x77c40568,
360 	0x0d0898ff,
361 	0x580284b6,
362 	0x95f9a889,
363 	0xf9a98958,
364 	0x013cf495,
365 	0x3cf403f8,
366 	0xf803f861,
367 	0x18489503,
368 	0xbb084994,
369 	0x81b60095,
370 	0x09088000,
371 	0x950a0980,
372 	0x69941868,
373 	0x0097bb08,
374 	0x800081b6,
375 	0x09800b08,
376 	0x023cf40c,
377 	0xf05047f0,
378 	0x04fa0643,
379 	0xf803f805,
380 /* 0x0321: sec_copy_prep */
381 	0x203cf500,
382 	0x003cf594,
383 	0x003cf588,
384 /* 0x032f: sec_store_prep */
385 	0xf500f88c,
386 	0xf594103c,
387 	0xf88c063c,
388 /* 0x0339: sec_ecb_e_prep */
389 	0x303cf500,
390 	0x003cf594,
391 	0x003cf588,
392 	0x003cf5d0,
393 /* 0x034b: sec_ecb_d_prep */
394 	0xf500f88c,
395 	0xf5c8773c,
396 	0xf594303c,
397 	0xf588003c,
398 	0xf5d4003c,
399 	0xf88c003c,
400 /* 0x0361: sec_cbc_e_prep */
401 	0x403cf500,
402 	0x003cf594,
403 	0x063cf588,
404 	0x663cf5ac,
405 	0x063cf5d0,
406 /* 0x0377: sec_cbc_d_prep */
407 	0xf500f88c,
408 	0xf5c8773c,
409 	0xf594503c,
410 	0xf584623c,
411 	0xf588063c,
412 	0xf5d4603c,
413 	0xf5ac203c,
414 	0xf88c003c,
415 /* 0x0395: sec_pcbc_e_prep */
416 	0x503cf500,
417 	0x003cf594,
418 	0x063cf588,
419 	0x663cf5ac,
420 	0x063cf5d0,
421 	0x063cf58c,
422 /* 0x03af: sec_pcbc_d_prep */
423 	0xf500f8ac,
424 	0xf5c8773c,
425 	0xf594503c,
426 	0xf588003c,
427 	0xf5d4013c,
428 	0xf5ac163c,
429 	0xf58c063c,
430 	0xf8ac063c,
431 /* 0x03cd: sec_cfb_e_prep */
432 	0x403cf500,
433 	0x663cf594,
434 	0x003cf5d0,
435 	0x063cf588,
436 	0x063cf5ac,
437 /* 0x03e3: sec_cfb_d_prep */
438 	0xf500f88c,
439 	0xf594403c,
440 	0xf5d0603c,
441 	0xf588063c,
442 	0xf5ac603c,
443 	0xf88c003c,
444 /* 0x03f9: sec_ofb_prep */
445 	0x403cf500,
446 	0x663cf594,
447 	0x003cf5d0,
448 	0x603cf588,
449 	0x003cf5ac,
450 /* 0x040f: sec_ctr_prep */
451 	0xf500f88c,
452 	0xf594503c,
453 	0xf5d0613c,
454 	0xf5b0163c,
455 	0xf588003c,
456 	0xf5ac103c,
457 	0xf88c003c,
458 /* 0x0429: sec_cbc_mac_prep */
459 	0x303cf500,
460 	0x003cf594,
461 	0x063cf588,
462 	0x663cf5ac,
463 /* 0x043b: sec_cmac_finish_complete_prep */
464 	0xf500f8d0,
465 	0xf594703c,
466 	0xf588003c,
467 	0xf5ac063c,
468 	0xf5ac003c,
469 	0xf5d0003c,
470 	0xf5bc003c,
471 	0xf5ac063c,
472 	0xf8d0663c,
473 /* 0x045d: sec_cmac_finish_partial_prep */
474 	0x803cf500,
475 	0x003cf594,
476 	0x063cf588,
477 	0x003cf5ac,
478 	0x003cf5ac,
479 	0x003cf5d0,
480 	0x003cf5bc,
481 	0x063cf5bc,
482 	0x663cf5ac,
483 /* 0x0483: sec_do_in */
484 	0xbb00f8d0,
485 	0x47fe0035,
486 	0x8097f100,
487 	0x0293f000,
488 /* 0x0490: sec_do_in_loop */
489 	0xf80559fa,
490 	0x223cf403,
491 	0xf50609fa,
492 	0xf898103c,
493 	0x1050b603,
494 	0xf40453b8,
495 	0x3cf4e91b,
496 	0xf803f801,
497 /* 0x04b1: sec_do_out */
498 	0x0037bb00,
499 	0xf10067fe,
500 	0xf0008097,
501 /* 0x04be: sec_do_out_loop */
502 	0x3cf50293,
503 	0x3cf49810,
504 	0x0579fa61,
505 	0xf40679fa,
506 	0x03f8013c,
507 	0xb81070b6,
508 	0x1bf40473,
509 /* 0x04db: sec_do_inout */
510 	0xbb00f8e8,
511 	0x97f10035,
512 	0x93f00080,
513 /* 0x04e5: sec_do_inout_loop */
514 	0x0047fe02,
515 	0xf80559fa,
516 	0x213cf403,
517 	0xf50609fa,
518 	0xf498103c,
519 	0x67fe613c,
520 	0x0579fa00,
521 	0xf40679fa,
522 	0x03f8013c,
523 	0xb61050b6,
524 	0x53b81070,
525 	0xd41bf404,
526 	0x000000f8,
527 	0x00000000,
528 	0x00000000,
529 	0x00000000,
530 	0x00000000,
531 	0x00000000,
532 	0x00000000,
533 	0x00000000,
534 	0x00000000,
535 	0x00000000,
536 	0x00000000,
537 	0x00000000,
538 	0x00000000,
539 	0x00000000,
540 	0x00000000,
541 	0x00000000,
542 	0x00000000,
543 	0x00000000,
544 	0x00000000,
545 	0x00000000,
546 	0x00000000,
547 	0x00000000,
548 	0x00000000,
549 	0x00000000,
550 	0x00000000,
551 	0x00000000,
552 	0x00000000,
553 	0x00000000,
554 	0x00000000,
555 	0x00000000,
556 	0x00000000,
557 	0x00000000,
558 	0x00000000,
559 	0x00000000,
560 	0x00000000,
561 	0x00000000,
562 	0x00000000,
563 	0x00000000,
564 	0x00000000,
565 	0x00000000,
566 	0x00000000,
567 	0x00000000,
568 	0x00000000,
569 	0x00000000,
570 	0x00000000,
571 	0x00000000,
572 	0x00000000,
573 	0x00000000,
574 	0x00000000,
575 	0x00000000,
576 	0x00000000,
577 	0x00000000,
578 	0x00000000,
579 	0x00000000,
580 	0x00000000,
581 	0x00000000,
582 	0x00000000,
583 	0x00000000,
584 	0x00000000,
585 };
586