53c700_d.h_shipped 28 KB

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