Linux-2.6.12-rc2
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / scsi / 53c700_d.h_shipped
1 /* DO NOT EDIT - Generated automatically by script_asm.pl */
2 static u32 SCRIPT[] = {
3 /*
4 ; Script for the NCR (or symbios) 53c700 and 53c700-66 chip
5 ;
6 ; Copyright (C) 2001 James.Bottomley@HansenPartnership.com
7 ;;-----------------------------------------------------------------------------
8 ;;
9 ;; This program is free software; you can redistribute it and/or modify
10 ;; it under the terms of the GNU General Public License as published by
11 ;; the Free Software Foundation; either version 2 of the License, or
12 ;; (at your option) any later version.
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., 675 Mass Ave, Cambridge, MA 02139, USA.
22 ;;
23 ;;-----------------------------------------------------------------------------
24 ;
25 ; This script is designed to be modified for the particular command in
26 ; operation. The particular variables pertaining to the commands are:
27 ;
28 ABSOLUTE Device_ID = 0 ; ID of target for command
29 ABSOLUTE MessageCount = 0 ; Number of bytes in message
30 ABSOLUTE MessageLocation = 0 ; Addr of message
31 ABSOLUTE CommandCount = 0 ; Number of bytes in command
32 ABSOLUTE CommandAddress = 0 ; Addr of Command
33 ABSOLUTE StatusAddress = 0 ; Addr to receive status return
34 ABSOLUTE ReceiveMsgAddress = 0 ; Addr to receive msg
35 ;
36 ; This is the magic component for handling scatter-gather. Each of the
37 ; SG components is preceeded by a script fragment which moves the
38 ; necessary amount of data and jumps to the next SG segment. The final
39 ; SG segment jumps back to . However, this address is the first SG script
40 ; segment.
41 ;
42 ABSOLUTE SGScriptStartAddress = 0
43
44 ; The following represent status interrupts we use 3 hex digits for
45 ; this: 0xPRS where
46
47 ; P:
48 ABSOLUTE AFTER_SELECTION = 0x100
49 ABSOLUTE BEFORE_CMD = 0x200
50 ABSOLUTE AFTER_CMD = 0x300
51 ABSOLUTE AFTER_STATUS = 0x400
52 ABSOLUTE AFTER_DATA_IN = 0x500
53 ABSOLUTE AFTER_DATA_OUT = 0x600
54 ABSOLUTE DURING_DATA_IN = 0x700
55
56 ; R:
57 ABSOLUTE NOT_MSG_OUT = 0x10
58 ABSOLUTE UNEXPECTED_PHASE = 0x20
59 ABSOLUTE NOT_MSG_IN = 0x30
60 ABSOLUTE UNEXPECTED_MSG = 0x40
61 ABSOLUTE MSG_IN = 0x50
62 ABSOLUTE SDTR_MSG_R = 0x60
63 ABSOLUTE REJECT_MSG_R = 0x70
64 ABSOLUTE DISCONNECT = 0x80
65 ABSOLUTE MSG_OUT = 0x90
66 ABSOLUTE WDTR_MSG_R = 0xA0
67
68 ; S:
69 ABSOLUTE GOOD_STATUS = 0x1
70
71 ; Combinations, since the script assembler can't process |
72 ABSOLUTE NOT_MSG_OUT_AFTER_SELECTION = 0x110
73 ABSOLUTE UNEXPECTED_PHASE_BEFORE_CMD = 0x220
74 ABSOLUTE UNEXPECTED_PHASE_AFTER_CMD = 0x320
75 ABSOLUTE NOT_MSG_IN_AFTER_STATUS = 0x430
76 ABSOLUTE GOOD_STATUS_AFTER_STATUS = 0x401
77 ABSOLUTE UNEXPECTED_PHASE_AFTER_DATA_IN = 0x520
78 ABSOLUTE UNEXPECTED_PHASE_AFTER_DATA_OUT = 0x620
79 ABSOLUTE UNEXPECTED_MSG_BEFORE_CMD = 0x240
80 ABSOLUTE MSG_IN_BEFORE_CMD = 0x250
81 ABSOLUTE MSG_IN_AFTER_CMD = 0x350
82 ABSOLUTE SDTR_MSG_BEFORE_CMD = 0x260
83 ABSOLUTE REJECT_MSG_BEFORE_CMD = 0x270
84 ABSOLUTE DISCONNECT_AFTER_CMD = 0x380
85 ABSOLUTE SDTR_MSG_AFTER_CMD = 0x360
86 ABSOLUTE WDTR_MSG_AFTER_CMD = 0x3A0
87 ABSOLUTE MSG_IN_AFTER_STATUS = 0x440
88 ABSOLUTE DISCONNECT_AFTER_DATA = 0x580
89 ABSOLUTE MSG_IN_AFTER_DATA_IN = 0x550
90 ABSOLUTE MSG_IN_AFTER_DATA_OUT = 0x650
91 ABSOLUTE MSG_OUT_AFTER_DATA_IN = 0x590
92 ABSOLUTE DATA_IN_AFTER_DATA_IN = 0x5a0
93 ABSOLUTE MSG_IN_DURING_DATA_IN = 0x750
94 ABSOLUTE DISCONNECT_DURING_DATA = 0x780
95
96 ;
97 ; Other interrupt conditions
98 ;
99 ABSOLUTE RESELECTED_DURING_SELECTION = 0x1000
100 ABSOLUTE COMPLETED_SELECTION_AS_TARGET = 0x1001
101 ABSOLUTE RESELECTION_IDENTIFIED = 0x1003
102 ;
103 ; Fatal interrupt conditions. If you add to this, also add to the
104 ; array of corresponding messages
105 ;
106 ABSOLUTE FATAL = 0x2000
107 ABSOLUTE FATAL_UNEXPECTED_RESELECTION_MSG = 0x2000
108 ABSOLUTE FATAL_SEND_MSG = 0x2001
109 ABSOLUTE FATAL_NOT_MSG_IN_AFTER_SELECTION = 0x2002
110 ABSOLUTE FATAL_ILLEGAL_MSG_LENGTH = 0x2003
111
112 ABSOLUTE DEBUG_INTERRUPT = 0x3000
113 ABSOLUTE DEBUG_INTERRUPT1 = 0x3001
114 ABSOLUTE DEBUG_INTERRUPT2 = 0x3002
115 ABSOLUTE DEBUG_INTERRUPT3 = 0x3003
116 ABSOLUTE DEBUG_INTERRUPT4 = 0x3004
117 ABSOLUTE DEBUG_INTERRUPT5 = 0x3005
118 ABSOLUTE DEBUG_INTERRUPT6 = 0x3006
119
120
121 ;
122 ; SCSI Messages we interpret in the script
123 ;
124 ABSOLUTE COMMAND_COMPLETE_MSG = 0x00
125 ABSOLUTE EXTENDED_MSG = 0x01
126 ABSOLUTE SDTR_MSG = 0x01
127 ABSOLUTE SAVE_DATA_PTRS_MSG = 0x02
128 ABSOLUTE RESTORE_DATA_PTRS_MSG = 0x03
129 ABSOLUTE WDTR_MSG = 0x03
130 ABSOLUTE DISCONNECT_MSG = 0x04
131 ABSOLUTE REJECT_MSG = 0x07
132 ABSOLUTE PARITY_ERROR_MSG = 0x09
133 ABSOLUTE SIMPLE_TAG_MSG = 0x20
134 ABSOLUTE IDENTIFY_MSG = 0x80
135 ABSOLUTE IDENTIFY_MSG_MASK = 0x7F
136 ABSOLUTE TWO_BYTE_MSG = 0x20
137 ABSOLUTE TWO_BYTE_MSG_MASK = 0x0F
138
139 ; This is where the script begins
140
141 ENTRY StartUp
142
143 StartUp:
144 SELECT ATN Device_ID, Reselect
145
146 at 0x00000000 : */ 0x41000000,0x00000020,
147 /*
148 JUMP Finish, WHEN STATUS
149
150 at 0x00000002 : */ 0x830b0000,0x00000460,
151 /*
152 JUMP SendIdentifyMsg, IF MSG_OUT
153
154 at 0x00000004 : */ 0x860a0000,0x000001b0,
155 /*
156 INT NOT_MSG_OUT_AFTER_SELECTION
157
158 at 0x00000006 : */ 0x98080000,0x00000110,
159 /*
160
161 Reselect:
162 WAIT RESELECT SelectedAsTarget
163
164 at 0x00000008 : */ 0x50000000,0x00000058,
165 /*
166 INT RESELECTED_DURING_SELECTION, WHEN MSG_IN
167
168 at 0x0000000a : */ 0x9f0b0000,0x00001000,
169 /*
170 INT FATAL_NOT_MSG_IN_AFTER_SELECTION
171
172 at 0x0000000c : */ 0x98080000,0x00002002,
173 /*
174
175 ENTRY GetReselectionData
176 GetReselectionData:
177 MOVE 1, ReceiveMsgAddress, WHEN MSG_IN
178
179 at 0x0000000e : */ 0x0f000001,0x00000000,
180 /*
181 INT RESELECTION_IDENTIFIED
182
183 at 0x00000010 : */ 0x98080000,0x00001003,
184 /*
185
186 ENTRY GetReselectionWithTag
187 GetReselectionWithTag:
188 MOVE 3, ReceiveMsgAddress, WHEN MSG_IN
189
190 at 0x00000012 : */ 0x0f000003,0x00000000,
191 /*
192 INT RESELECTION_IDENTIFIED
193
194 at 0x00000014 : */ 0x98080000,0x00001003,
195 /*
196
197 ENTRY SelectedAsTarget
198 SelectedAsTarget:
199 ; Basically tell the selecting device that there's nothing here
200 SET TARGET
201
202 at 0x00000016 : */ 0x58000200,0x00000000,
203 /*
204 DISCONNECT
205
206 at 0x00000018 : */ 0x48000000,0x00000000,
207 /*
208 CLEAR TARGET
209
210 at 0x0000001a : */ 0x60000200,0x00000000,
211 /*
212 INT COMPLETED_SELECTION_AS_TARGET
213
214 at 0x0000001c : */ 0x98080000,0x00001001,
215 /*
216 ;
217 ; These are the messaging entries
218 ;
219 ; Send a message. Message count should be correctly patched
220 ENTRY SendMessage
221 SendMessage:
222 MOVE MessageCount, MessageLocation, WHEN MSG_OUT
223
224 at 0x0000001e : */ 0x0e000000,0x00000000,
225 /*
226 ResumeSendMessage:
227 RETURN, WHEN NOT MSG_OUT
228
229 at 0x00000020 : */ 0x96030000,0x00000000,
230 /*
231 INT FATAL_SEND_MSG
232
233 at 0x00000022 : */ 0x98080000,0x00002001,
234 /*
235
236 ENTRY SendMessagePhaseMismatch
237 SendMessagePhaseMismatch:
238 CLEAR ACK
239
240 at 0x00000024 : */ 0x60000040,0x00000000,
241 /*
242 JUMP ResumeSendMessage
243
244 at 0x00000026 : */ 0x80080000,0x00000080,
245 /*
246 ;
247 ; Receive a message. Need to identify the message to
248 ; receive it correctly
249 ENTRY ReceiveMessage
250 ReceiveMessage:
251 MOVE 1, ReceiveMsgAddress, WHEN MSG_IN
252
253 at 0x00000028 : */ 0x0f000001,0x00000000,
254 /*
255 ;
256 ; Use this entry if we've just tried to look at the first byte
257 ; of the message and want to process it further
258 ProcessReceiveMessage:
259 JUMP ReceiveExtendedMessage, IF EXTENDED_MSG
260
261 at 0x0000002a : */ 0x800c0001,0x000000d0,
262 /*
263 RETURN, IF NOT TWO_BYTE_MSG, AND MASK TWO_BYTE_MSG_MASK
264
265 at 0x0000002c : */ 0x90040f20,0x00000000,
266 /*
267 CLEAR ACK
268
269 at 0x0000002e : */ 0x60000040,0x00000000,
270 /*
271 MOVE 1, ReceiveMsgAddress + 1, WHEN MSG_IN
272
273 at 0x00000030 : */ 0x0f000001,0x00000001,
274 /*
275 RETURN
276
277 at 0x00000032 : */ 0x90080000,0x00000000,
278 /*
279 ReceiveExtendedMessage:
280 CLEAR ACK
281
282 at 0x00000034 : */ 0x60000040,0x00000000,
283 /*
284 MOVE 1, ReceiveMsgAddress + 1, WHEN MSG_IN
285
286 at 0x00000036 : */ 0x0f000001,0x00000001,
287 /*
288 JUMP Receive1Byte, IF 0x01
289
290 at 0x00000038 : */ 0x800c0001,0x00000110,
291 /*
292 JUMP Receive2Byte, IF 0x02
293
294 at 0x0000003a : */ 0x800c0002,0x00000128,
295 /*
296 JUMP Receive3Byte, IF 0x03
297
298 at 0x0000003c : */ 0x800c0003,0x00000140,
299 /*
300 JUMP Receive4Byte, IF 0x04
301
302 at 0x0000003e : */ 0x800c0004,0x00000158,
303 /*
304 JUMP Receive5Byte, IF 0x05
305
306 at 0x00000040 : */ 0x800c0005,0x00000170,
307 /*
308 INT FATAL_ILLEGAL_MSG_LENGTH
309
310 at 0x00000042 : */ 0x98080000,0x00002003,
311 /*
312 Receive1Byte:
313 CLEAR ACK
314
315 at 0x00000044 : */ 0x60000040,0x00000000,
316 /*
317 MOVE 1, ReceiveMsgAddress + 2, WHEN MSG_IN
318
319 at 0x00000046 : */ 0x0f000001,0x00000002,
320 /*
321 RETURN
322
323 at 0x00000048 : */ 0x90080000,0x00000000,
324 /*
325 Receive2Byte:
326 CLEAR ACK
327
328 at 0x0000004a : */ 0x60000040,0x00000000,
329 /*
330 MOVE 2, ReceiveMsgAddress + 2, WHEN MSG_IN
331
332 at 0x0000004c : */ 0x0f000002,0x00000002,
333 /*
334 RETURN
335
336 at 0x0000004e : */ 0x90080000,0x00000000,
337 /*
338 Receive3Byte:
339 CLEAR ACK
340
341 at 0x00000050 : */ 0x60000040,0x00000000,
342 /*
343 MOVE 3, ReceiveMsgAddress + 2, WHEN MSG_IN
344
345 at 0x00000052 : */ 0x0f000003,0x00000002,
346 /*
347 RETURN
348
349 at 0x00000054 : */ 0x90080000,0x00000000,
350 /*
351 Receive4Byte:
352 CLEAR ACK
353
354 at 0x00000056 : */ 0x60000040,0x00000000,
355 /*
356 MOVE 4, ReceiveMsgAddress + 2, WHEN MSG_IN
357
358 at 0x00000058 : */ 0x0f000004,0x00000002,
359 /*
360 RETURN
361
362 at 0x0000005a : */ 0x90080000,0x00000000,
363 /*
364 Receive5Byte:
365 CLEAR ACK
366
367 at 0x0000005c : */ 0x60000040,0x00000000,
368 /*
369 MOVE 5, ReceiveMsgAddress + 2, WHEN MSG_IN
370
371 at 0x0000005e : */ 0x0f000005,0x00000002,
372 /*
373 RETURN
374
375 at 0x00000060 : */ 0x90080000,0x00000000,
376 /*
377 ;
378 ; Come here from the message processor to ignore the message
379 ;
380 ENTRY IgnoreMessage
381 IgnoreMessage:
382 CLEAR ACK
383
384 at 0x00000062 : */ 0x60000040,0x00000000,
385 /*
386 RETURN
387
388 at 0x00000064 : */ 0x90080000,0x00000000,
389 /*
390 ;
391 ; Come here to send a reply to a message
392 ;
393 ENTRY SendMessageWithATN
394 SendMessageWithATN:
395 SET ATN
396
397 at 0x00000066 : */ 0x58000008,0x00000000,
398 /*
399 CLEAR ACK
400
401 at 0x00000068 : */ 0x60000040,0x00000000,
402 /*
403 JUMP SendMessage
404
405 at 0x0000006a : */ 0x80080000,0x00000078,
406 /*
407
408 SendIdentifyMsg:
409 CALL SendMessage
410
411 at 0x0000006c : */ 0x88080000,0x00000078,
412 /*
413 CLEAR ATN
414
415 at 0x0000006e : */ 0x60000008,0x00000000,
416 /*
417
418 IgnoreMsgBeforeCommand:
419 CLEAR ACK
420
421 at 0x00000070 : */ 0x60000040,0x00000000,
422 /*
423 ENTRY SendCommand
424 SendCommand:
425 JUMP Finish, WHEN STATUS
426
427 at 0x00000072 : */ 0x830b0000,0x00000460,
428 /*
429 JUMP MsgInBeforeCommand, IF MSG_IN
430
431 at 0x00000074 : */ 0x870a0000,0x000002c0,
432 /*
433 INT UNEXPECTED_PHASE_BEFORE_CMD, IF NOT CMD
434
435 at 0x00000076 : */ 0x9a020000,0x00000220,
436 /*
437 MOVE CommandCount, CommandAddress, WHEN CMD
438
439 at 0x00000078 : */ 0x0a000000,0x00000000,
440 /*
441 ResumeSendCommand:
442 JUMP Finish, WHEN STATUS
443
444 at 0x0000007a : */ 0x830b0000,0x00000460,
445 /*
446 JUMP MsgInAfterCmd, IF MSG_IN
447
448 at 0x0000007c : */ 0x870a0000,0x00000248,
449 /*
450 JUMP DataIn, IF DATA_IN
451
452 at 0x0000007e : */ 0x810a0000,0x000002f8,
453 /*
454 JUMP DataOut, IF DATA_OUT
455
456 at 0x00000080 : */ 0x800a0000,0x00000338,
457 /*
458 INT UNEXPECTED_PHASE_AFTER_CMD
459
460 at 0x00000082 : */ 0x98080000,0x00000320,
461 /*
462
463 IgnoreMsgDuringData:
464 CLEAR ACK
465
466 at 0x00000084 : */ 0x60000040,0x00000000,
467 /*
468 ; fall through to MsgInDuringData
469
470 Entry MsgInDuringData
471 MsgInDuringData:
472 ;
473 ; Could be we have nothing more to transfer
474 ;
475 JUMP Finish, WHEN STATUS
476
477 at 0x00000086 : */ 0x830b0000,0x00000460,
478 /*
479 MOVE 1, ReceiveMsgAddress, WHEN MSG_IN
480
481 at 0x00000088 : */ 0x0f000001,0x00000000,
482 /*
483 JUMP DisconnectDuringDataIn, IF DISCONNECT_MSG
484
485 at 0x0000008a : */ 0x800c0004,0x00000398,
486 /*
487 JUMP IgnoreMsgDuringData, IF SAVE_DATA_PTRS_MSG
488
489 at 0x0000008c : */ 0x800c0002,0x00000210,
490 /*
491 JUMP IgnoreMsgDuringData, IF RESTORE_DATA_PTRS_MSG
492
493 at 0x0000008e : */ 0x800c0003,0x00000210,
494 /*
495 INT MSG_IN_DURING_DATA_IN
496
497 at 0x00000090 : */ 0x98080000,0x00000750,
498 /*
499
500 MsgInAfterCmd:
501 MOVE 1, ReceiveMsgAddress, WHEN MSG_IN
502
503 at 0x00000092 : */ 0x0f000001,0x00000000,
504 /*
505 JUMP DisconnectAfterCmd, IF DISCONNECT_MSG
506
507 at 0x00000094 : */ 0x800c0004,0x00000298,
508 /*
509 JUMP IgnoreMsgInAfterCmd, IF SAVE_DATA_PTRS_MSG
510
511 at 0x00000096 : */ 0x800c0002,0x00000288,
512 /*
513 JUMP IgnoreMsgInAfterCmd, IF RESTORE_DATA_PTRS_MSG
514
515 at 0x00000098 : */ 0x800c0003,0x00000288,
516 /*
517 CALL ProcessReceiveMessage
518
519 at 0x0000009a : */ 0x88080000,0x000000a8,
520 /*
521 INT MSG_IN_AFTER_CMD
522
523 at 0x0000009c : */ 0x98080000,0x00000350,
524 /*
525 CLEAR ACK
526
527 at 0x0000009e : */ 0x60000040,0x00000000,
528 /*
529 JUMP ResumeSendCommand
530
531 at 0x000000a0 : */ 0x80080000,0x000001e8,
532 /*
533
534 IgnoreMsgInAfterCmd:
535 CLEAR ACK
536
537 at 0x000000a2 : */ 0x60000040,0x00000000,
538 /*
539 JUMP ResumeSendCommand
540
541 at 0x000000a4 : */ 0x80080000,0x000001e8,
542 /*
543
544 DisconnectAfterCmd:
545 CLEAR ACK
546
547 at 0x000000a6 : */ 0x60000040,0x00000000,
548 /*
549 WAIT DISCONNECT
550
551 at 0x000000a8 : */ 0x48000000,0x00000000,
552 /*
553 ENTRY Disconnect1
554 Disconnect1:
555 INT DISCONNECT_AFTER_CMD
556
557 at 0x000000aa : */ 0x98080000,0x00000380,
558 /*
559 ENTRY Disconnect2
560 Disconnect2:
561 ; We return here after a reselection
562 CLEAR ACK
563
564 at 0x000000ac : */ 0x60000040,0x00000000,
565 /*
566 JUMP ResumeSendCommand
567
568 at 0x000000ae : */ 0x80080000,0x000001e8,
569 /*
570
571 MsgInBeforeCommand:
572 MOVE 1, ReceiveMsgAddress, WHEN MSG_IN
573
574 at 0x000000b0 : */ 0x0f000001,0x00000000,
575 /*
576 JUMP IgnoreMsgBeforeCommand, IF SAVE_DATA_PTRS_MSG
577
578 at 0x000000b2 : */ 0x800c0002,0x000001c0,
579 /*
580 JUMP IgnoreMsgBeforeCommand, IF RESTORE_DATA_PTRS_MSG
581
582 at 0x000000b4 : */ 0x800c0003,0x000001c0,
583 /*
584 CALL ProcessReceiveMessage
585
586 at 0x000000b6 : */ 0x88080000,0x000000a8,
587 /*
588 INT MSG_IN_BEFORE_CMD
589
590 at 0x000000b8 : */ 0x98080000,0x00000250,
591 /*
592 CLEAR ACK
593
594 at 0x000000ba : */ 0x60000040,0x00000000,
595 /*
596 JUMP SendCommand
597
598 at 0x000000bc : */ 0x80080000,0x000001c8,
599 /*
600
601 DataIn:
602 CALL SGScriptStartAddress
603
604 at 0x000000be : */ 0x88080000,0x00000000,
605 /*
606 ResumeDataIn:
607 JUMP Finish, WHEN STATUS
608
609 at 0x000000c0 : */ 0x830b0000,0x00000460,
610 /*
611 JUMP MsgInAfterDataIn, IF MSG_IN
612
613 at 0x000000c2 : */ 0x870a0000,0x00000358,
614 /*
615 JUMP DataInAfterDataIn, if DATA_IN
616
617 at 0x000000c4 : */ 0x810a0000,0x00000328,
618 /*
619 INT MSG_OUT_AFTER_DATA_IN, if MSG_OUT
620
621 at 0x000000c6 : */ 0x9e0a0000,0x00000590,
622 /*
623 INT UNEXPECTED_PHASE_AFTER_DATA_IN
624
625 at 0x000000c8 : */ 0x98080000,0x00000520,
626 /*
627
628 DataInAfterDataIn:
629 INT DATA_IN_AFTER_DATA_IN
630
631 at 0x000000ca : */ 0x98080000,0x000005a0,
632 /*
633 JUMP ResumeDataIn
634
635 at 0x000000cc : */ 0x80080000,0x00000300,
636 /*
637
638 DataOut:
639 CALL SGScriptStartAddress
640
641 at 0x000000ce : */ 0x88080000,0x00000000,
642 /*
643 ResumeDataOut:
644 JUMP Finish, WHEN STATUS
645
646 at 0x000000d0 : */ 0x830b0000,0x00000460,
647 /*
648 JUMP MsgInAfterDataOut, IF MSG_IN
649
650 at 0x000000d2 : */ 0x870a0000,0x000003e8,
651 /*
652 INT UNEXPECTED_PHASE_AFTER_DATA_OUT
653
654 at 0x000000d4 : */ 0x98080000,0x00000620,
655 /*
656
657 MsgInAfterDataIn:
658 MOVE 1, ReceiveMsgAddress, WHEN MSG_IN
659
660 at 0x000000d6 : */ 0x0f000001,0x00000000,
661 /*
662 JUMP DisconnectAfterDataIn, IF DISCONNECT_MSG
663
664 at 0x000000d8 : */ 0x800c0004,0x000003c0,
665 /*
666 JUMP IgnoreMsgAfterData, IF SAVE_DATA_PTRS_MSG
667
668 at 0x000000da : */ 0x800c0002,0x00000428,
669 /*
670 JUMP IgnoreMsgAfterData, IF RESTORE_DATA_PTRS_MSG
671
672 at 0x000000dc : */ 0x800c0003,0x00000428,
673 /*
674 CALL ProcessReceiveMessage
675
676 at 0x000000de : */ 0x88080000,0x000000a8,
677 /*
678 INT MSG_IN_AFTER_DATA_IN
679
680 at 0x000000e0 : */ 0x98080000,0x00000550,
681 /*
682 CLEAR ACK
683
684 at 0x000000e2 : */ 0x60000040,0x00000000,
685 /*
686 JUMP ResumeDataIn
687
688 at 0x000000e4 : */ 0x80080000,0x00000300,
689 /*
690
691 DisconnectDuringDataIn:
692 CLEAR ACK
693
694 at 0x000000e6 : */ 0x60000040,0x00000000,
695 /*
696 WAIT DISCONNECT
697
698 at 0x000000e8 : */ 0x48000000,0x00000000,
699 /*
700 ENTRY Disconnect3
701 Disconnect3:
702 INT DISCONNECT_DURING_DATA
703
704 at 0x000000ea : */ 0x98080000,0x00000780,
705 /*
706 ENTRY Disconnect4
707 Disconnect4:
708 ; we return here after a reselection
709 CLEAR ACK
710
711 at 0x000000ec : */ 0x60000040,0x00000000,
712 /*
713 JUMP ResumeSendCommand
714
715 at 0x000000ee : */ 0x80080000,0x000001e8,
716 /*
717
718
719 DisconnectAfterDataIn:
720 CLEAR ACK
721
722 at 0x000000f0 : */ 0x60000040,0x00000000,
723 /*
724 WAIT DISCONNECT
725
726 at 0x000000f2 : */ 0x48000000,0x00000000,
727 /*
728 ENTRY Disconnect5
729 Disconnect5:
730 INT DISCONNECT_AFTER_DATA
731
732 at 0x000000f4 : */ 0x98080000,0x00000580,
733 /*
734 ENTRY Disconnect6
735 Disconnect6:
736 ; we return here after a reselection
737 CLEAR ACK
738
739 at 0x000000f6 : */ 0x60000040,0x00000000,
740 /*
741 JUMP ResumeDataIn
742
743 at 0x000000f8 : */ 0x80080000,0x00000300,
744 /*
745
746 MsgInAfterDataOut:
747 MOVE 1, ReceiveMsgAddress, WHEN MSG_IN
748
749 at 0x000000fa : */ 0x0f000001,0x00000000,
750 /*
751 JUMP DisconnectAfterDataOut, if DISCONNECT_MSG
752
753 at 0x000000fc : */ 0x800c0004,0x00000438,
754 /*
755 JUMP IgnoreMsgAfterData, IF SAVE_DATA_PTRS_MSG
756
757 at 0x000000fe : */ 0x800c0002,0x00000428,
758 /*
759 JUMP IgnoreMsgAfterData, IF RESTORE_DATA_PTRS_MSG
760
761 at 0x00000100 : */ 0x800c0003,0x00000428,
762 /*
763 CALL ProcessReceiveMessage
764
765 at 0x00000102 : */ 0x88080000,0x000000a8,
766 /*
767 INT MSG_IN_AFTER_DATA_OUT
768
769 at 0x00000104 : */ 0x98080000,0x00000650,
770 /*
771 CLEAR ACK
772
773 at 0x00000106 : */ 0x60000040,0x00000000,
774 /*
775 JUMP ResumeDataOut
776
777 at 0x00000108 : */ 0x80080000,0x00000340,
778 /*
779
780 IgnoreMsgAfterData:
781 CLEAR ACK
782
783 at 0x0000010a : */ 0x60000040,0x00000000,
784 /*
785 ; Data in and out do the same thing on resume, so pick one
786 JUMP ResumeDataIn
787
788 at 0x0000010c : */ 0x80080000,0x00000300,
789 /*
790
791 DisconnectAfterDataOut:
792 CLEAR ACK
793
794 at 0x0000010e : */ 0x60000040,0x00000000,
795 /*
796 WAIT DISCONNECT
797
798 at 0x00000110 : */ 0x48000000,0x00000000,
799 /*
800 ENTRY Disconnect7
801 Disconnect7:
802 INT DISCONNECT_AFTER_DATA
803
804 at 0x00000112 : */ 0x98080000,0x00000580,
805 /*
806 ENTRY Disconnect8
807 Disconnect8:
808 ; we return here after a reselection
809 CLEAR ACK
810
811 at 0x00000114 : */ 0x60000040,0x00000000,
812 /*
813 JUMP ResumeDataOut
814
815 at 0x00000116 : */ 0x80080000,0x00000340,
816 /*
817
818 Finish:
819 MOVE 1, StatusAddress, WHEN STATUS
820
821 at 0x00000118 : */ 0x0b000001,0x00000000,
822 /*
823 INT NOT_MSG_IN_AFTER_STATUS, WHEN NOT MSG_IN
824
825 at 0x0000011a : */ 0x9f030000,0x00000430,
826 /*
827 MOVE 1, ReceiveMsgAddress, WHEN MSG_IN
828
829 at 0x0000011c : */ 0x0f000001,0x00000000,
830 /*
831 JUMP FinishCommandComplete, IF COMMAND_COMPLETE_MSG
832
833 at 0x0000011e : */ 0x800c0000,0x00000490,
834 /*
835 CALL ProcessReceiveMessage
836
837 at 0x00000120 : */ 0x88080000,0x000000a8,
838 /*
839 INT MSG_IN_AFTER_STATUS
840
841 at 0x00000122 : */ 0x98080000,0x00000440,
842 /*
843 ENTRY FinishCommandComplete
844 FinishCommandComplete:
845 CLEAR ACK
846
847 at 0x00000124 : */ 0x60000040,0x00000000,
848 /*
849 WAIT DISCONNECT
850
851 at 0x00000126 : */ 0x48000000,0x00000000,
852 /*
853 ENTRY Finish1
854 Finish1:
855 INT GOOD_STATUS_AFTER_STATUS
856
857 at 0x00000128 : */ 0x98080000,0x00000401,
858 };
859
860 #define A_AFTER_CMD 0x00000300
861 static u32 A_AFTER_CMD_used[] __attribute((unused)) = {
862 };
863
864 #define A_AFTER_DATA_IN 0x00000500
865 static u32 A_AFTER_DATA_IN_used[] __attribute((unused)) = {
866 };
867
868 #define A_AFTER_DATA_OUT 0x00000600
869 static u32 A_AFTER_DATA_OUT_used[] __attribute((unused)) = {
870 };
871
872 #define A_AFTER_SELECTION 0x00000100
873 static u32 A_AFTER_SELECTION_used[] __attribute((unused)) = {
874 };
875
876 #define A_AFTER_STATUS 0x00000400
877 static u32 A_AFTER_STATUS_used[] __attribute((unused)) = {
878 };
879
880 #define A_BEFORE_CMD 0x00000200
881 static u32 A_BEFORE_CMD_used[] __attribute((unused)) = {
882 };
883
884 #define A_COMMAND_COMPLETE_MSG 0x00000000
885 static u32 A_COMMAND_COMPLETE_MSG_used[] __attribute((unused)) = {
886 0x0000011e,
887 };
888
889 #define A_COMPLETED_SELECTION_AS_TARGET 0x00001001
890 static u32 A_COMPLETED_SELECTION_AS_TARGET_used[] __attribute((unused)) = {
891 0x0000001d,
892 };
893
894 #define A_CommandAddress 0x00000000
895 static u32 A_CommandAddress_used[] __attribute((unused)) = {
896 0x00000079,
897 };
898
899 #define A_CommandCount 0x00000000
900 static u32 A_CommandCount_used[] __attribute((unused)) = {
901 0x00000078,
902 };
903
904 #define A_DATA_IN_AFTER_DATA_IN 0x000005a0
905 static u32 A_DATA_IN_AFTER_DATA_IN_used[] __attribute((unused)) = {
906 0x000000cb,
907 };
908
909 #define A_DEBUG_INTERRUPT 0x00003000
910 static u32 A_DEBUG_INTERRUPT_used[] __attribute((unused)) = {
911 };
912
913 #define A_DEBUG_INTERRUPT1 0x00003001
914 static u32 A_DEBUG_INTERRUPT1_used[] __attribute((unused)) = {
915 };
916
917 #define A_DEBUG_INTERRUPT2 0x00003002
918 static u32 A_DEBUG_INTERRUPT2_used[] __attribute((unused)) = {
919 };
920
921 #define A_DEBUG_INTERRUPT3 0x00003003
922 static u32 A_DEBUG_INTERRUPT3_used[] __attribute((unused)) = {
923 };
924
925 #define A_DEBUG_INTERRUPT4 0x00003004
926 static u32 A_DEBUG_INTERRUPT4_used[] __attribute((unused)) = {
927 };
928
929 #define A_DEBUG_INTERRUPT5 0x00003005
930 static u32 A_DEBUG_INTERRUPT5_used[] __attribute((unused)) = {
931 };
932
933 #define A_DEBUG_INTERRUPT6 0x00003006
934 static u32 A_DEBUG_INTERRUPT6_used[] __attribute((unused)) = {
935 };
936
937 #define A_DISCONNECT 0x00000080
938 static u32 A_DISCONNECT_used[] __attribute((unused)) = {
939 };
940
941 #define A_DISCONNECT_AFTER_CMD 0x00000380
942 static u32 A_DISCONNECT_AFTER_CMD_used[] __attribute((unused)) = {
943 0x000000ab,
944 };
945
946 #define A_DISCONNECT_AFTER_DATA 0x00000580
947 static u32 A_DISCONNECT_AFTER_DATA_used[] __attribute((unused)) = {
948 0x000000f5,
949 0x00000113,
950 };
951
952 #define A_DISCONNECT_DURING_DATA 0x00000780
953 static u32 A_DISCONNECT_DURING_DATA_used[] __attribute((unused)) = {
954 0x000000eb,
955 };
956
957 #define A_DISCONNECT_MSG 0x00000004
958 static u32 A_DISCONNECT_MSG_used[] __attribute((unused)) = {
959 0x0000008a,
960 0x00000094,
961 0x000000d8,
962 0x000000fc,
963 };
964
965 #define A_DURING_DATA_IN 0x00000700
966 static u32 A_DURING_DATA_IN_used[] __attribute((unused)) = {
967 };
968
969 #define A_Device_ID 0x00000000
970 static u32 A_Device_ID_used[] __attribute((unused)) = {
971 0x00000000,
972 };
973
974 #define A_EXTENDED_MSG 0x00000001
975 static u32 A_EXTENDED_MSG_used[] __attribute((unused)) = {
976 0x0000002a,
977 };
978
979 #define A_FATAL 0x00002000
980 static u32 A_FATAL_used[] __attribute((unused)) = {
981 };
982
983 #define A_FATAL_ILLEGAL_MSG_LENGTH 0x00002003
984 static u32 A_FATAL_ILLEGAL_MSG_LENGTH_used[] __attribute((unused)) = {
985 0x00000043,
986 };
987
988 #define A_FATAL_NOT_MSG_IN_AFTER_SELECTION 0x00002002
989 static u32 A_FATAL_NOT_MSG_IN_AFTER_SELECTION_used[] __attribute((unused)) = {
990 0x0000000d,
991 };
992
993 #define A_FATAL_SEND_MSG 0x00002001
994 static u32 A_FATAL_SEND_MSG_used[] __attribute((unused)) = {
995 0x00000023,
996 };
997
998 #define A_FATAL_UNEXPECTED_RESELECTION_MSG 0x00002000
999 static u32 A_FATAL_UNEXPECTED_RESELECTION_MSG_used[] __attribute((unused)) = {
1000 };
1001
1002 #define A_GOOD_STATUS 0x00000001
1003 static u32 A_GOOD_STATUS_used[] __attribute((unused)) = {
1004 };
1005
1006 #define A_GOOD_STATUS_AFTER_STATUS 0x00000401
1007 static u32 A_GOOD_STATUS_AFTER_STATUS_used[] __attribute((unused)) = {
1008 0x00000129,
1009 };
1010
1011 #define A_IDENTIFY_MSG 0x00000080
1012 static u32 A_IDENTIFY_MSG_used[] __attribute((unused)) = {
1013 };
1014
1015 #define A_IDENTIFY_MSG_MASK 0x0000007f
1016 static u32 A_IDENTIFY_MSG_MASK_used[] __attribute((unused)) = {
1017 };
1018
1019 #define A_MSG_IN 0x00000050
1020 static u32 A_MSG_IN_used[] __attribute((unused)) = {
1021 };
1022
1023 #define A_MSG_IN_AFTER_CMD 0x00000350
1024 static u32 A_MSG_IN_AFTER_CMD_used[] __attribute((unused)) = {
1025 0x0000009d,
1026 };
1027
1028 #define A_MSG_IN_AFTER_DATA_IN 0x00000550
1029 static u32 A_MSG_IN_AFTER_DATA_IN_used[] __attribute((unused)) = {
1030 0x000000e1,
1031 };
1032
1033 #define A_MSG_IN_AFTER_DATA_OUT 0x00000650
1034 static u32 A_MSG_IN_AFTER_DATA_OUT_used[] __attribute((unused)) = {
1035 0x00000105,
1036 };
1037
1038 #define A_MSG_IN_AFTER_STATUS 0x00000440
1039 static u32 A_MSG_IN_AFTER_STATUS_used[] __attribute((unused)) = {
1040 0x00000123,
1041 };
1042
1043 #define A_MSG_IN_BEFORE_CMD 0x00000250
1044 static u32 A_MSG_IN_BEFORE_CMD_used[] __attribute((unused)) = {
1045 0x000000b9,
1046 };
1047
1048 #define A_MSG_IN_DURING_DATA_IN 0x00000750
1049 static u32 A_MSG_IN_DURING_DATA_IN_used[] __attribute((unused)) = {
1050 0x00000091,
1051 };
1052
1053 #define A_MSG_OUT 0x00000090
1054 static u32 A_MSG_OUT_used[] __attribute((unused)) = {
1055 };
1056
1057 #define A_MSG_OUT_AFTER_DATA_IN 0x00000590
1058 static u32 A_MSG_OUT_AFTER_DATA_IN_used[] __attribute((unused)) = {
1059 0x000000c7,
1060 };
1061
1062 #define A_MessageCount 0x00000000
1063 static u32 A_MessageCount_used[] __attribute((unused)) = {
1064 0x0000001e,
1065 };
1066
1067 #define A_MessageLocation 0x00000000
1068 static u32 A_MessageLocation_used[] __attribute((unused)) = {
1069 0x0000001f,
1070 };
1071
1072 #define A_NOT_MSG_IN 0x00000030
1073 static u32 A_NOT_MSG_IN_used[] __attribute((unused)) = {
1074 };
1075
1076 #define A_NOT_MSG_IN_AFTER_STATUS 0x00000430
1077 static u32 A_NOT_MSG_IN_AFTER_STATUS_used[] __attribute((unused)) = {
1078 0x0000011b,
1079 };
1080
1081 #define A_NOT_MSG_OUT 0x00000010
1082 static u32 A_NOT_MSG_OUT_used[] __attribute((unused)) = {
1083 };
1084
1085 #define A_NOT_MSG_OUT_AFTER_SELECTION 0x00000110
1086 static u32 A_NOT_MSG_OUT_AFTER_SELECTION_used[] __attribute((unused)) = {
1087 0x00000007,
1088 };
1089
1090 #define A_PARITY_ERROR_MSG 0x00000009
1091 static u32 A_PARITY_ERROR_MSG_used[] __attribute((unused)) = {
1092 };
1093
1094 #define A_REJECT_MSG 0x00000007
1095 static u32 A_REJECT_MSG_used[] __attribute((unused)) = {
1096 };
1097
1098 #define A_REJECT_MSG_BEFORE_CMD 0x00000270
1099 static u32 A_REJECT_MSG_BEFORE_CMD_used[] __attribute((unused)) = {
1100 };
1101
1102 #define A_REJECT_MSG_R 0x00000070
1103 static u32 A_REJECT_MSG_R_used[] __attribute((unused)) = {
1104 };
1105
1106 #define A_RESELECTED_DURING_SELECTION 0x00001000
1107 static u32 A_RESELECTED_DURING_SELECTION_used[] __attribute((unused)) = {
1108 0x0000000b,
1109 };
1110
1111 #define A_RESELECTION_IDENTIFIED 0x00001003
1112 static u32 A_RESELECTION_IDENTIFIED_used[] __attribute((unused)) = {
1113 0x00000011,
1114 0x00000015,
1115 };
1116
1117 #define A_RESTORE_DATA_PTRS_MSG 0x00000003
1118 static u32 A_RESTORE_DATA_PTRS_MSG_used[] __attribute((unused)) = {
1119 0x0000008e,
1120 0x00000098,
1121 0x000000b4,
1122 0x000000dc,
1123 0x00000100,
1124 };
1125
1126 #define A_ReceiveMsgAddress 0x00000000
1127 static u32 A_ReceiveMsgAddress_used[] __attribute((unused)) = {
1128 0x0000000f,
1129 0x00000013,
1130 0x00000029,
1131 0x00000031,
1132 0x00000037,
1133 0x00000047,
1134 0x0000004d,
1135 0x00000053,
1136 0x00000059,
1137 0x0000005f,
1138 0x00000089,
1139 0x00000093,
1140 0x000000b1,
1141 0x000000d7,
1142 0x000000fb,
1143 0x0000011d,
1144 };
1145
1146 #define A_SAVE_DATA_PTRS_MSG 0x00000002
1147 static u32 A_SAVE_DATA_PTRS_MSG_used[] __attribute((unused)) = {
1148 0x0000008c,
1149 0x00000096,
1150 0x000000b2,
1151 0x000000da,
1152 0x000000fe,
1153 };
1154
1155 #define A_SDTR_MSG 0x00000001
1156 static u32 A_SDTR_MSG_used[] __attribute((unused)) = {
1157 };
1158
1159 #define A_SDTR_MSG_AFTER_CMD 0x00000360
1160 static u32 A_SDTR_MSG_AFTER_CMD_used[] __attribute((unused)) = {
1161 };
1162
1163 #define A_SDTR_MSG_BEFORE_CMD 0x00000260
1164 static u32 A_SDTR_MSG_BEFORE_CMD_used[] __attribute((unused)) = {
1165 };
1166
1167 #define A_SDTR_MSG_R 0x00000060
1168 static u32 A_SDTR_MSG_R_used[] __attribute((unused)) = {
1169 };
1170
1171 #define A_SGScriptStartAddress 0x00000000
1172 static u32 A_SGScriptStartAddress_used[] __attribute((unused)) = {
1173 0x000000bf,
1174 0x000000cf,
1175 };
1176
1177 #define A_SIMPLE_TAG_MSG 0x00000020
1178 static u32 A_SIMPLE_TAG_MSG_used[] __attribute((unused)) = {
1179 };
1180
1181 #define A_StatusAddress 0x00000000
1182 static u32 A_StatusAddress_used[] __attribute((unused)) = {
1183 0x00000119,
1184 };
1185
1186 #define A_TWO_BYTE_MSG 0x00000020
1187 static u32 A_TWO_BYTE_MSG_used[] __attribute((unused)) = {
1188 0x0000002c,
1189 };
1190
1191 #define A_TWO_BYTE_MSG_MASK 0x0000000f
1192 static u32 A_TWO_BYTE_MSG_MASK_used[] __attribute((unused)) = {
1193 0x0000002c,
1194 };
1195
1196 #define A_UNEXPECTED_MSG 0x00000040
1197 static u32 A_UNEXPECTED_MSG_used[] __attribute((unused)) = {
1198 };
1199
1200 #define A_UNEXPECTED_MSG_BEFORE_CMD 0x00000240
1201 static u32 A_UNEXPECTED_MSG_BEFORE_CMD_used[] __attribute((unused)) = {
1202 };
1203
1204 #define A_UNEXPECTED_PHASE 0x00000020
1205 static u32 A_UNEXPECTED_PHASE_used[] __attribute((unused)) = {
1206 };
1207
1208 #define A_UNEXPECTED_PHASE_AFTER_CMD 0x00000320
1209 static u32 A_UNEXPECTED_PHASE_AFTER_CMD_used[] __attribute((unused)) = {
1210 0x00000083,
1211 };
1212
1213 #define A_UNEXPECTED_PHASE_AFTER_DATA_IN 0x00000520
1214 static u32 A_UNEXPECTED_PHASE_AFTER_DATA_IN_used[] __attribute((unused)) = {
1215 0x000000c9,
1216 };
1217
1218 #define A_UNEXPECTED_PHASE_AFTER_DATA_OUT 0x00000620
1219 static u32 A_UNEXPECTED_PHASE_AFTER_DATA_OUT_used[] __attribute((unused)) = {
1220 0x000000d5,
1221 };
1222
1223 #define A_UNEXPECTED_PHASE_BEFORE_CMD 0x00000220
1224 static u32 A_UNEXPECTED_PHASE_BEFORE_CMD_used[] __attribute((unused)) = {
1225 0x00000077,
1226 };
1227
1228 #define A_WDTR_MSG 0x00000003
1229 static u32 A_WDTR_MSG_used[] __attribute((unused)) = {
1230 };
1231
1232 #define A_WDTR_MSG_AFTER_CMD 0x000003a0
1233 static u32 A_WDTR_MSG_AFTER_CMD_used[] __attribute((unused)) = {
1234 };
1235
1236 #define A_WDTR_MSG_R 0x000000a0
1237 static u32 A_WDTR_MSG_R_used[] __attribute((unused)) = {
1238 };
1239
1240 #define Ent_Disconnect1 0x000002a8
1241 #define Ent_Disconnect2 0x000002b0
1242 #define Ent_Disconnect3 0x000003a8
1243 #define Ent_Disconnect4 0x000003b0
1244 #define Ent_Disconnect5 0x000003d0
1245 #define Ent_Disconnect6 0x000003d8
1246 #define Ent_Disconnect7 0x00000448
1247 #define Ent_Disconnect8 0x00000450
1248 #define Ent_Finish1 0x000004a0
1249 #define Ent_Finish2 0x000004a8
1250 #define Ent_FinishCommandComplete 0x00000490
1251 #define Ent_GetReselectionData 0x00000038
1252 #define Ent_GetReselectionWithTag 0x00000048
1253 #define Ent_IgnoreMessage 0x00000188
1254 #define Ent_MsgInDuringData 0x00000218
1255 #define Ent_ReceiveMessage 0x000000a0
1256 #define Ent_SelectedAsTarget 0x00000058
1257 #define Ent_SendCommand 0x000001c8
1258 #define Ent_SendMessage 0x00000078
1259 #define Ent_SendMessagePhaseMismatch 0x00000090
1260 #define Ent_SendMessageWithATN 0x00000198
1261 #define Ent_StartUp 0x00000000
1262 static u32 LABELPATCHES[] __attribute((unused)) = {
1263 0x00000001,
1264 0x00000003,
1265 0x00000005,
1266 0x00000009,
1267 0x00000027,
1268 0x0000002b,
1269 0x00000039,
1270 0x0000003b,
1271 0x0000003d,
1272 0x0000003f,
1273 0x00000041,
1274 0x0000006b,
1275 0x0000006d,
1276 0x00000073,
1277 0x00000075,
1278 0x0000007b,
1279 0x0000007d,
1280 0x0000007f,
1281 0x00000081,
1282 0x00000087,
1283 0x0000008b,
1284 0x0000008d,
1285 0x0000008f,
1286 0x00000095,
1287 0x00000097,
1288 0x00000099,
1289 0x0000009b,
1290 0x000000a1,
1291 0x000000a5,
1292 0x000000af,
1293 0x000000b3,
1294 0x000000b5,
1295 0x000000b7,
1296 0x000000bd,
1297 0x000000c1,
1298 0x000000c3,
1299 0x000000c5,
1300 0x000000cd,
1301 0x000000d1,
1302 0x000000d3,
1303 0x000000d9,
1304 0x000000db,
1305 0x000000dd,
1306 0x000000df,
1307 0x000000e5,
1308 0x000000ef,
1309 0x000000f9,
1310 0x000000fd,
1311 0x000000ff,
1312 0x00000101,
1313 0x00000103,
1314 0x00000109,
1315 0x0000010d,
1316 0x00000117,
1317 0x0000011f,
1318 0x00000121,
1319 };
1320
1321 static struct {
1322 u32 offset;
1323 void *address;
1324 } EXTERNAL_PATCHES[] __attribute((unused)) = {
1325 };
1326
1327 static u32 INSTRUCTIONS __attribute((unused)) = 149;
1328 static u32 PATCHES __attribute((unused)) = 56;
1329 static u32 EXTERNAL_PATCHES_LEN __attribute((unused)) = 0;