11da177e4SLinus Torvalds/* DO NOT EDIT - Generated automatically by script_asm.pl */ 21da177e4SLinus Torvaldsstatic u32 SCRIPT[] = { 31da177e4SLinus Torvalds/* 41da177e4SLinus Torvalds; Script for the NCR (or symbios) 53c700 and 53c700-66 chip 51da177e4SLinus Torvalds; 61da177e4SLinus Torvalds; Copyright (C) 2001 James.Bottomley@HansenPartnership.com 71da177e4SLinus Torvalds;;----------------------------------------------------------------------------- 81da177e4SLinus Torvalds;; 91da177e4SLinus Torvalds;; This program is free software; you can redistribute it and/or modify 101da177e4SLinus Torvalds;; it under the terms of the GNU General Public License as published by 111da177e4SLinus Torvalds;; the Free Software Foundation; either version 2 of the License, or 121da177e4SLinus Torvalds;; (at your option) any later version. 131da177e4SLinus Torvalds;; 141da177e4SLinus Torvalds;; This program is distributed in the hope that it will be useful, 151da177e4SLinus Torvalds;; but WITHOUT ANY WARRANTY; without even the implied warranty of 161da177e4SLinus Torvalds;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 171da177e4SLinus Torvalds;; GNU General Public License for more details. 181da177e4SLinus Torvalds;; 191da177e4SLinus Torvalds;; You should have received a copy of the GNU General Public License 201da177e4SLinus Torvalds;; along with this program; if not, write to the Free Software 211da177e4SLinus Torvalds;; Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 221da177e4SLinus Torvalds;; 231da177e4SLinus Torvalds;;----------------------------------------------------------------------------- 241da177e4SLinus Torvalds; 251da177e4SLinus Torvalds; This script is designed to be modified for the particular command in 261da177e4SLinus Torvalds; operation. The particular variables pertaining to the commands are: 271da177e4SLinus Torvalds; 281da177e4SLinus TorvaldsABSOLUTE Device_ID = 0 ; ID of target for command 291da177e4SLinus TorvaldsABSOLUTE MessageCount = 0 ; Number of bytes in message 301da177e4SLinus TorvaldsABSOLUTE MessageLocation = 0 ; Addr of message 311da177e4SLinus TorvaldsABSOLUTE CommandCount = 0 ; Number of bytes in command 321da177e4SLinus TorvaldsABSOLUTE CommandAddress = 0 ; Addr of Command 331da177e4SLinus TorvaldsABSOLUTE StatusAddress = 0 ; Addr to receive status return 341da177e4SLinus TorvaldsABSOLUTE ReceiveMsgAddress = 0 ; Addr to receive msg 351da177e4SLinus Torvalds; 361da177e4SLinus Torvalds; This is the magic component for handling scatter-gather. Each of the 37*25985edcSLucas De Marchi; SG components is preceded by a script fragment which moves the 381da177e4SLinus Torvalds; necessary amount of data and jumps to the next SG segment. The final 391da177e4SLinus Torvalds; SG segment jumps back to . However, this address is the first SG script 401da177e4SLinus Torvalds; segment. 411da177e4SLinus Torvalds; 421da177e4SLinus TorvaldsABSOLUTE SGScriptStartAddress = 0 431da177e4SLinus Torvalds 441da177e4SLinus Torvalds; The following represent status interrupts we use 3 hex digits for 451da177e4SLinus Torvalds; this: 0xPRS where 461da177e4SLinus Torvalds 471da177e4SLinus Torvalds; P: 481da177e4SLinus TorvaldsABSOLUTE AFTER_SELECTION = 0x100 491da177e4SLinus TorvaldsABSOLUTE BEFORE_CMD = 0x200 501da177e4SLinus TorvaldsABSOLUTE AFTER_CMD = 0x300 511da177e4SLinus TorvaldsABSOLUTE AFTER_STATUS = 0x400 521da177e4SLinus TorvaldsABSOLUTE AFTER_DATA_IN = 0x500 531da177e4SLinus TorvaldsABSOLUTE AFTER_DATA_OUT = 0x600 541da177e4SLinus TorvaldsABSOLUTE DURING_DATA_IN = 0x700 551da177e4SLinus Torvalds 561da177e4SLinus Torvalds; R: 571da177e4SLinus TorvaldsABSOLUTE NOT_MSG_OUT = 0x10 581da177e4SLinus TorvaldsABSOLUTE UNEXPECTED_PHASE = 0x20 591da177e4SLinus TorvaldsABSOLUTE NOT_MSG_IN = 0x30 601da177e4SLinus TorvaldsABSOLUTE UNEXPECTED_MSG = 0x40 611da177e4SLinus TorvaldsABSOLUTE MSG_IN = 0x50 621da177e4SLinus TorvaldsABSOLUTE SDTR_MSG_R = 0x60 631da177e4SLinus TorvaldsABSOLUTE REJECT_MSG_R = 0x70 641da177e4SLinus TorvaldsABSOLUTE DISCONNECT = 0x80 651da177e4SLinus TorvaldsABSOLUTE MSG_OUT = 0x90 661da177e4SLinus TorvaldsABSOLUTE WDTR_MSG_R = 0xA0 671da177e4SLinus Torvalds 681da177e4SLinus Torvalds; S: 691da177e4SLinus TorvaldsABSOLUTE GOOD_STATUS = 0x1 701da177e4SLinus Torvalds 711da177e4SLinus Torvalds; Combinations, since the script assembler can't process | 721da177e4SLinus TorvaldsABSOLUTE NOT_MSG_OUT_AFTER_SELECTION = 0x110 731da177e4SLinus TorvaldsABSOLUTE UNEXPECTED_PHASE_BEFORE_CMD = 0x220 741da177e4SLinus TorvaldsABSOLUTE UNEXPECTED_PHASE_AFTER_CMD = 0x320 751da177e4SLinus TorvaldsABSOLUTE NOT_MSG_IN_AFTER_STATUS = 0x430 761da177e4SLinus TorvaldsABSOLUTE GOOD_STATUS_AFTER_STATUS = 0x401 771da177e4SLinus TorvaldsABSOLUTE UNEXPECTED_PHASE_AFTER_DATA_IN = 0x520 781da177e4SLinus TorvaldsABSOLUTE UNEXPECTED_PHASE_AFTER_DATA_OUT = 0x620 791da177e4SLinus TorvaldsABSOLUTE UNEXPECTED_MSG_BEFORE_CMD = 0x240 801da177e4SLinus TorvaldsABSOLUTE MSG_IN_BEFORE_CMD = 0x250 811da177e4SLinus TorvaldsABSOLUTE MSG_IN_AFTER_CMD = 0x350 821da177e4SLinus TorvaldsABSOLUTE SDTR_MSG_BEFORE_CMD = 0x260 831da177e4SLinus TorvaldsABSOLUTE REJECT_MSG_BEFORE_CMD = 0x270 841da177e4SLinus TorvaldsABSOLUTE DISCONNECT_AFTER_CMD = 0x380 851da177e4SLinus TorvaldsABSOLUTE SDTR_MSG_AFTER_CMD = 0x360 861da177e4SLinus TorvaldsABSOLUTE WDTR_MSG_AFTER_CMD = 0x3A0 871da177e4SLinus TorvaldsABSOLUTE MSG_IN_AFTER_STATUS = 0x440 881da177e4SLinus TorvaldsABSOLUTE DISCONNECT_AFTER_DATA = 0x580 891da177e4SLinus TorvaldsABSOLUTE MSG_IN_AFTER_DATA_IN = 0x550 901da177e4SLinus TorvaldsABSOLUTE MSG_IN_AFTER_DATA_OUT = 0x650 911da177e4SLinus TorvaldsABSOLUTE MSG_OUT_AFTER_DATA_IN = 0x590 921da177e4SLinus TorvaldsABSOLUTE DATA_IN_AFTER_DATA_IN = 0x5a0 931da177e4SLinus TorvaldsABSOLUTE MSG_IN_DURING_DATA_IN = 0x750 941da177e4SLinus TorvaldsABSOLUTE DISCONNECT_DURING_DATA = 0x780 951da177e4SLinus Torvalds 961da177e4SLinus Torvalds; 971da177e4SLinus Torvalds; Other interrupt conditions 981da177e4SLinus Torvalds; 991da177e4SLinus TorvaldsABSOLUTE RESELECTED_DURING_SELECTION = 0x1000 1001da177e4SLinus TorvaldsABSOLUTE COMPLETED_SELECTION_AS_TARGET = 0x1001 1011da177e4SLinus TorvaldsABSOLUTE RESELECTION_IDENTIFIED = 0x1003 1021da177e4SLinus Torvalds; 1031da177e4SLinus Torvalds; Fatal interrupt conditions. If you add to this, also add to the 1041da177e4SLinus Torvalds; array of corresponding messages 1051da177e4SLinus Torvalds; 1061da177e4SLinus TorvaldsABSOLUTE FATAL = 0x2000 1071da177e4SLinus TorvaldsABSOLUTE FATAL_UNEXPECTED_RESELECTION_MSG = 0x2000 1081da177e4SLinus TorvaldsABSOLUTE FATAL_SEND_MSG = 0x2001 1091da177e4SLinus TorvaldsABSOLUTE FATAL_NOT_MSG_IN_AFTER_SELECTION = 0x2002 1101da177e4SLinus TorvaldsABSOLUTE FATAL_ILLEGAL_MSG_LENGTH = 0x2003 1111da177e4SLinus Torvalds 1121da177e4SLinus TorvaldsABSOLUTE DEBUG_INTERRUPT = 0x3000 1131da177e4SLinus TorvaldsABSOLUTE DEBUG_INTERRUPT1 = 0x3001 1141da177e4SLinus TorvaldsABSOLUTE DEBUG_INTERRUPT2 = 0x3002 1151da177e4SLinus TorvaldsABSOLUTE DEBUG_INTERRUPT3 = 0x3003 1161da177e4SLinus TorvaldsABSOLUTE DEBUG_INTERRUPT4 = 0x3004 1171da177e4SLinus TorvaldsABSOLUTE DEBUG_INTERRUPT5 = 0x3005 1181da177e4SLinus TorvaldsABSOLUTE DEBUG_INTERRUPT6 = 0x3006 1191da177e4SLinus Torvalds 1201da177e4SLinus Torvalds 1211da177e4SLinus Torvalds; 1221da177e4SLinus Torvalds; SCSI Messages we interpret in the script 1231da177e4SLinus Torvalds; 1241da177e4SLinus TorvaldsABSOLUTE COMMAND_COMPLETE_MSG = 0x00 1251da177e4SLinus TorvaldsABSOLUTE EXTENDED_MSG = 0x01 1261da177e4SLinus TorvaldsABSOLUTE SDTR_MSG = 0x01 1271da177e4SLinus TorvaldsABSOLUTE SAVE_DATA_PTRS_MSG = 0x02 1281da177e4SLinus TorvaldsABSOLUTE RESTORE_DATA_PTRS_MSG = 0x03 1291da177e4SLinus TorvaldsABSOLUTE WDTR_MSG = 0x03 1301da177e4SLinus TorvaldsABSOLUTE DISCONNECT_MSG = 0x04 1311da177e4SLinus TorvaldsABSOLUTE REJECT_MSG = 0x07 1321da177e4SLinus TorvaldsABSOLUTE PARITY_ERROR_MSG = 0x09 1331da177e4SLinus TorvaldsABSOLUTE SIMPLE_TAG_MSG = 0x20 1341da177e4SLinus TorvaldsABSOLUTE IDENTIFY_MSG = 0x80 1351da177e4SLinus TorvaldsABSOLUTE IDENTIFY_MSG_MASK = 0x7F 1361da177e4SLinus TorvaldsABSOLUTE TWO_BYTE_MSG = 0x20 1371da177e4SLinus TorvaldsABSOLUTE TWO_BYTE_MSG_MASK = 0x0F 1381da177e4SLinus Torvalds 1391da177e4SLinus Torvalds; This is where the script begins 1401da177e4SLinus Torvalds 1411da177e4SLinus TorvaldsENTRY StartUp 1421da177e4SLinus Torvalds 1431da177e4SLinus TorvaldsStartUp: 1441da177e4SLinus Torvalds SELECT ATN Device_ID, Reselect 1451da177e4SLinus Torvalds 1461da177e4SLinus Torvaldsat 0x00000000 : */ 0x41000000,0x00000020, 1471da177e4SLinus Torvalds/* 1481da177e4SLinus Torvalds JUMP Finish, WHEN STATUS 1491da177e4SLinus Torvalds 1501da177e4SLinus Torvaldsat 0x00000002 : */ 0x830b0000,0x00000460, 1511da177e4SLinus Torvalds/* 1521da177e4SLinus Torvalds JUMP SendIdentifyMsg, IF MSG_OUT 1531da177e4SLinus Torvalds 1541da177e4SLinus Torvaldsat 0x00000004 : */ 0x860a0000,0x000001b0, 1551da177e4SLinus Torvalds/* 1561da177e4SLinus Torvalds INT NOT_MSG_OUT_AFTER_SELECTION 1571da177e4SLinus Torvalds 1581da177e4SLinus Torvaldsat 0x00000006 : */ 0x98080000,0x00000110, 1591da177e4SLinus Torvalds/* 1601da177e4SLinus Torvalds 1611da177e4SLinus TorvaldsReselect: 1621da177e4SLinus Torvalds WAIT RESELECT SelectedAsTarget 1631da177e4SLinus Torvalds 1641da177e4SLinus Torvaldsat 0x00000008 : */ 0x50000000,0x00000058, 1651da177e4SLinus Torvalds/* 1661da177e4SLinus Torvalds INT RESELECTED_DURING_SELECTION, WHEN MSG_IN 1671da177e4SLinus Torvalds 1681da177e4SLinus Torvaldsat 0x0000000a : */ 0x9f0b0000,0x00001000, 1691da177e4SLinus Torvalds/* 1701da177e4SLinus Torvalds INT FATAL_NOT_MSG_IN_AFTER_SELECTION 1711da177e4SLinus Torvalds 1721da177e4SLinus Torvaldsat 0x0000000c : */ 0x98080000,0x00002002, 1731da177e4SLinus Torvalds/* 1741da177e4SLinus Torvalds 1751da177e4SLinus Torvalds ENTRY GetReselectionData 1761da177e4SLinus TorvaldsGetReselectionData: 1771da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 1781da177e4SLinus Torvalds 1791da177e4SLinus Torvaldsat 0x0000000e : */ 0x0f000001,0x00000000, 1801da177e4SLinus Torvalds/* 1811da177e4SLinus Torvalds INT RESELECTION_IDENTIFIED 1821da177e4SLinus Torvalds 1831da177e4SLinus Torvaldsat 0x00000010 : */ 0x98080000,0x00001003, 1841da177e4SLinus Torvalds/* 1851da177e4SLinus Torvalds 1861da177e4SLinus Torvalds ENTRY GetReselectionWithTag 1871da177e4SLinus TorvaldsGetReselectionWithTag: 1881da177e4SLinus Torvalds MOVE 3, ReceiveMsgAddress, WHEN MSG_IN 1891da177e4SLinus Torvalds 1901da177e4SLinus Torvaldsat 0x00000012 : */ 0x0f000003,0x00000000, 1911da177e4SLinus Torvalds/* 1921da177e4SLinus Torvalds INT RESELECTION_IDENTIFIED 1931da177e4SLinus Torvalds 1941da177e4SLinus Torvaldsat 0x00000014 : */ 0x98080000,0x00001003, 1951da177e4SLinus Torvalds/* 1961da177e4SLinus Torvalds 1971da177e4SLinus Torvalds ENTRY SelectedAsTarget 1981da177e4SLinus TorvaldsSelectedAsTarget: 1991da177e4SLinus Torvalds; Basically tell the selecting device that there's nothing here 2001da177e4SLinus Torvalds SET TARGET 2011da177e4SLinus Torvalds 2021da177e4SLinus Torvaldsat 0x00000016 : */ 0x58000200,0x00000000, 2031da177e4SLinus Torvalds/* 2041da177e4SLinus Torvalds DISCONNECT 2051da177e4SLinus Torvalds 2061da177e4SLinus Torvaldsat 0x00000018 : */ 0x48000000,0x00000000, 2071da177e4SLinus Torvalds/* 2081da177e4SLinus Torvalds CLEAR TARGET 2091da177e4SLinus Torvalds 2101da177e4SLinus Torvaldsat 0x0000001a : */ 0x60000200,0x00000000, 2111da177e4SLinus Torvalds/* 2121da177e4SLinus Torvalds INT COMPLETED_SELECTION_AS_TARGET 2131da177e4SLinus Torvalds 2141da177e4SLinus Torvaldsat 0x0000001c : */ 0x98080000,0x00001001, 2151da177e4SLinus Torvalds/* 2161da177e4SLinus Torvalds; 2171da177e4SLinus Torvalds; These are the messaging entries 2181da177e4SLinus Torvalds; 2191da177e4SLinus Torvalds; Send a message. Message count should be correctly patched 2201da177e4SLinus Torvalds ENTRY SendMessage 2211da177e4SLinus TorvaldsSendMessage: 2221da177e4SLinus Torvalds MOVE MessageCount, MessageLocation, WHEN MSG_OUT 2231da177e4SLinus Torvalds 2241da177e4SLinus Torvaldsat 0x0000001e : */ 0x0e000000,0x00000000, 2251da177e4SLinus Torvalds/* 2261da177e4SLinus TorvaldsResumeSendMessage: 2271da177e4SLinus Torvalds RETURN, WHEN NOT MSG_OUT 2281da177e4SLinus Torvalds 2291da177e4SLinus Torvaldsat 0x00000020 : */ 0x96030000,0x00000000, 2301da177e4SLinus Torvalds/* 2311da177e4SLinus Torvalds INT FATAL_SEND_MSG 2321da177e4SLinus Torvalds 2331da177e4SLinus Torvaldsat 0x00000022 : */ 0x98080000,0x00002001, 2341da177e4SLinus Torvalds/* 2351da177e4SLinus Torvalds 2361da177e4SLinus Torvalds ENTRY SendMessagePhaseMismatch 2371da177e4SLinus TorvaldsSendMessagePhaseMismatch: 2381da177e4SLinus Torvalds CLEAR ACK 2391da177e4SLinus Torvalds 2401da177e4SLinus Torvaldsat 0x00000024 : */ 0x60000040,0x00000000, 2411da177e4SLinus Torvalds/* 2421da177e4SLinus Torvalds JUMP ResumeSendMessage 2431da177e4SLinus Torvalds 2441da177e4SLinus Torvaldsat 0x00000026 : */ 0x80080000,0x00000080, 2451da177e4SLinus Torvalds/* 2461da177e4SLinus Torvalds; 2471da177e4SLinus Torvalds; Receive a message. Need to identify the message to 2481da177e4SLinus Torvalds; receive it correctly 2491da177e4SLinus Torvalds ENTRY ReceiveMessage 2501da177e4SLinus TorvaldsReceiveMessage: 2511da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 2521da177e4SLinus Torvalds 2531da177e4SLinus Torvaldsat 0x00000028 : */ 0x0f000001,0x00000000, 2541da177e4SLinus Torvalds/* 2551da177e4SLinus Torvalds; 2561da177e4SLinus Torvalds; Use this entry if we've just tried to look at the first byte 2571da177e4SLinus Torvalds; of the message and want to process it further 2581da177e4SLinus TorvaldsProcessReceiveMessage: 2591da177e4SLinus Torvalds JUMP ReceiveExtendedMessage, IF EXTENDED_MSG 2601da177e4SLinus Torvalds 2611da177e4SLinus Torvaldsat 0x0000002a : */ 0x800c0001,0x000000d0, 2621da177e4SLinus Torvalds/* 2631da177e4SLinus Torvalds RETURN, IF NOT TWO_BYTE_MSG, AND MASK TWO_BYTE_MSG_MASK 2641da177e4SLinus Torvalds 2651da177e4SLinus Torvaldsat 0x0000002c : */ 0x90040f20,0x00000000, 2661da177e4SLinus Torvalds/* 2671da177e4SLinus Torvalds CLEAR ACK 2681da177e4SLinus Torvalds 2691da177e4SLinus Torvaldsat 0x0000002e : */ 0x60000040,0x00000000, 2701da177e4SLinus Torvalds/* 2711da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress + 1, WHEN MSG_IN 2721da177e4SLinus Torvalds 2731da177e4SLinus Torvaldsat 0x00000030 : */ 0x0f000001,0x00000001, 2741da177e4SLinus Torvalds/* 2751da177e4SLinus Torvalds RETURN 2761da177e4SLinus Torvalds 2771da177e4SLinus Torvaldsat 0x00000032 : */ 0x90080000,0x00000000, 2781da177e4SLinus Torvalds/* 2791da177e4SLinus TorvaldsReceiveExtendedMessage: 2801da177e4SLinus Torvalds CLEAR ACK 2811da177e4SLinus Torvalds 2821da177e4SLinus Torvaldsat 0x00000034 : */ 0x60000040,0x00000000, 2831da177e4SLinus Torvalds/* 2841da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress + 1, WHEN MSG_IN 2851da177e4SLinus Torvalds 2861da177e4SLinus Torvaldsat 0x00000036 : */ 0x0f000001,0x00000001, 2871da177e4SLinus Torvalds/* 2881da177e4SLinus Torvalds JUMP Receive1Byte, IF 0x01 2891da177e4SLinus Torvalds 2901da177e4SLinus Torvaldsat 0x00000038 : */ 0x800c0001,0x00000110, 2911da177e4SLinus Torvalds/* 2921da177e4SLinus Torvalds JUMP Receive2Byte, IF 0x02 2931da177e4SLinus Torvalds 2941da177e4SLinus Torvaldsat 0x0000003a : */ 0x800c0002,0x00000128, 2951da177e4SLinus Torvalds/* 2961da177e4SLinus Torvalds JUMP Receive3Byte, IF 0x03 2971da177e4SLinus Torvalds 2981da177e4SLinus Torvaldsat 0x0000003c : */ 0x800c0003,0x00000140, 2991da177e4SLinus Torvalds/* 3001da177e4SLinus Torvalds JUMP Receive4Byte, IF 0x04 3011da177e4SLinus Torvalds 3021da177e4SLinus Torvaldsat 0x0000003e : */ 0x800c0004,0x00000158, 3031da177e4SLinus Torvalds/* 3041da177e4SLinus Torvalds JUMP Receive5Byte, IF 0x05 3051da177e4SLinus Torvalds 3061da177e4SLinus Torvaldsat 0x00000040 : */ 0x800c0005,0x00000170, 3071da177e4SLinus Torvalds/* 3081da177e4SLinus Torvalds INT FATAL_ILLEGAL_MSG_LENGTH 3091da177e4SLinus Torvalds 3101da177e4SLinus Torvaldsat 0x00000042 : */ 0x98080000,0x00002003, 3111da177e4SLinus Torvalds/* 3121da177e4SLinus TorvaldsReceive1Byte: 3131da177e4SLinus Torvalds CLEAR ACK 3141da177e4SLinus Torvalds 3151da177e4SLinus Torvaldsat 0x00000044 : */ 0x60000040,0x00000000, 3161da177e4SLinus Torvalds/* 3171da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress + 2, WHEN MSG_IN 3181da177e4SLinus Torvalds 3191da177e4SLinus Torvaldsat 0x00000046 : */ 0x0f000001,0x00000002, 3201da177e4SLinus Torvalds/* 3211da177e4SLinus Torvalds RETURN 3221da177e4SLinus Torvalds 3231da177e4SLinus Torvaldsat 0x00000048 : */ 0x90080000,0x00000000, 3241da177e4SLinus Torvalds/* 3251da177e4SLinus TorvaldsReceive2Byte: 3261da177e4SLinus Torvalds CLEAR ACK 3271da177e4SLinus Torvalds 3281da177e4SLinus Torvaldsat 0x0000004a : */ 0x60000040,0x00000000, 3291da177e4SLinus Torvalds/* 3301da177e4SLinus Torvalds MOVE 2, ReceiveMsgAddress + 2, WHEN MSG_IN 3311da177e4SLinus Torvalds 3321da177e4SLinus Torvaldsat 0x0000004c : */ 0x0f000002,0x00000002, 3331da177e4SLinus Torvalds/* 3341da177e4SLinus Torvalds RETURN 3351da177e4SLinus Torvalds 3361da177e4SLinus Torvaldsat 0x0000004e : */ 0x90080000,0x00000000, 3371da177e4SLinus Torvalds/* 3381da177e4SLinus TorvaldsReceive3Byte: 3391da177e4SLinus Torvalds CLEAR ACK 3401da177e4SLinus Torvalds 3411da177e4SLinus Torvaldsat 0x00000050 : */ 0x60000040,0x00000000, 3421da177e4SLinus Torvalds/* 3431da177e4SLinus Torvalds MOVE 3, ReceiveMsgAddress + 2, WHEN MSG_IN 3441da177e4SLinus Torvalds 3451da177e4SLinus Torvaldsat 0x00000052 : */ 0x0f000003,0x00000002, 3461da177e4SLinus Torvalds/* 3471da177e4SLinus Torvalds RETURN 3481da177e4SLinus Torvalds 3491da177e4SLinus Torvaldsat 0x00000054 : */ 0x90080000,0x00000000, 3501da177e4SLinus Torvalds/* 3511da177e4SLinus TorvaldsReceive4Byte: 3521da177e4SLinus Torvalds CLEAR ACK 3531da177e4SLinus Torvalds 3541da177e4SLinus Torvaldsat 0x00000056 : */ 0x60000040,0x00000000, 3551da177e4SLinus Torvalds/* 3561da177e4SLinus Torvalds MOVE 4, ReceiveMsgAddress + 2, WHEN MSG_IN 3571da177e4SLinus Torvalds 3581da177e4SLinus Torvaldsat 0x00000058 : */ 0x0f000004,0x00000002, 3591da177e4SLinus Torvalds/* 3601da177e4SLinus Torvalds RETURN 3611da177e4SLinus Torvalds 3621da177e4SLinus Torvaldsat 0x0000005a : */ 0x90080000,0x00000000, 3631da177e4SLinus Torvalds/* 3641da177e4SLinus TorvaldsReceive5Byte: 3651da177e4SLinus Torvalds CLEAR ACK 3661da177e4SLinus Torvalds 3671da177e4SLinus Torvaldsat 0x0000005c : */ 0x60000040,0x00000000, 3681da177e4SLinus Torvalds/* 3691da177e4SLinus Torvalds MOVE 5, ReceiveMsgAddress + 2, WHEN MSG_IN 3701da177e4SLinus Torvalds 3711da177e4SLinus Torvaldsat 0x0000005e : */ 0x0f000005,0x00000002, 3721da177e4SLinus Torvalds/* 3731da177e4SLinus Torvalds RETURN 3741da177e4SLinus Torvalds 3751da177e4SLinus Torvaldsat 0x00000060 : */ 0x90080000,0x00000000, 3761da177e4SLinus Torvalds/* 3771da177e4SLinus Torvalds; 3781da177e4SLinus Torvalds; Come here from the message processor to ignore the message 3791da177e4SLinus Torvalds; 3801da177e4SLinus Torvalds ENTRY IgnoreMessage 3811da177e4SLinus TorvaldsIgnoreMessage: 3821da177e4SLinus Torvalds CLEAR ACK 3831da177e4SLinus Torvalds 3841da177e4SLinus Torvaldsat 0x00000062 : */ 0x60000040,0x00000000, 3851da177e4SLinus Torvalds/* 3861da177e4SLinus Torvalds RETURN 3871da177e4SLinus Torvalds 3881da177e4SLinus Torvaldsat 0x00000064 : */ 0x90080000,0x00000000, 3891da177e4SLinus Torvalds/* 3901da177e4SLinus Torvalds; 3911da177e4SLinus Torvalds; Come here to send a reply to a message 3921da177e4SLinus Torvalds; 3931da177e4SLinus Torvalds ENTRY SendMessageWithATN 3941da177e4SLinus TorvaldsSendMessageWithATN: 3951da177e4SLinus Torvalds SET ATN 3961da177e4SLinus Torvalds 3971da177e4SLinus Torvaldsat 0x00000066 : */ 0x58000008,0x00000000, 3981da177e4SLinus Torvalds/* 3991da177e4SLinus Torvalds CLEAR ACK 4001da177e4SLinus Torvalds 4011da177e4SLinus Torvaldsat 0x00000068 : */ 0x60000040,0x00000000, 4021da177e4SLinus Torvalds/* 4031da177e4SLinus Torvalds JUMP SendMessage 4041da177e4SLinus Torvalds 4051da177e4SLinus Torvaldsat 0x0000006a : */ 0x80080000,0x00000078, 4061da177e4SLinus Torvalds/* 4071da177e4SLinus Torvalds 4081da177e4SLinus TorvaldsSendIdentifyMsg: 4091da177e4SLinus Torvalds CALL SendMessage 4101da177e4SLinus Torvalds 4111da177e4SLinus Torvaldsat 0x0000006c : */ 0x88080000,0x00000078, 4121da177e4SLinus Torvalds/* 4131da177e4SLinus Torvalds CLEAR ATN 4141da177e4SLinus Torvalds 4151da177e4SLinus Torvaldsat 0x0000006e : */ 0x60000008,0x00000000, 4161da177e4SLinus Torvalds/* 4171da177e4SLinus Torvalds 4181da177e4SLinus TorvaldsIgnoreMsgBeforeCommand: 4191da177e4SLinus Torvalds CLEAR ACK 4201da177e4SLinus Torvalds 4211da177e4SLinus Torvaldsat 0x00000070 : */ 0x60000040,0x00000000, 4221da177e4SLinus Torvalds/* 4231da177e4SLinus Torvalds ENTRY SendCommand 4241da177e4SLinus TorvaldsSendCommand: 4251da177e4SLinus Torvalds JUMP Finish, WHEN STATUS 4261da177e4SLinus Torvalds 4271da177e4SLinus Torvaldsat 0x00000072 : */ 0x830b0000,0x00000460, 4281da177e4SLinus Torvalds/* 4291da177e4SLinus Torvalds JUMP MsgInBeforeCommand, IF MSG_IN 4301da177e4SLinus Torvalds 4311da177e4SLinus Torvaldsat 0x00000074 : */ 0x870a0000,0x000002c0, 4321da177e4SLinus Torvalds/* 4331da177e4SLinus Torvalds INT UNEXPECTED_PHASE_BEFORE_CMD, IF NOT CMD 4341da177e4SLinus Torvalds 4351da177e4SLinus Torvaldsat 0x00000076 : */ 0x9a020000,0x00000220, 4361da177e4SLinus Torvalds/* 4371da177e4SLinus Torvalds MOVE CommandCount, CommandAddress, WHEN CMD 4381da177e4SLinus Torvalds 4391da177e4SLinus Torvaldsat 0x00000078 : */ 0x0a000000,0x00000000, 4401da177e4SLinus Torvalds/* 4411da177e4SLinus TorvaldsResumeSendCommand: 4421da177e4SLinus Torvalds JUMP Finish, WHEN STATUS 4431da177e4SLinus Torvalds 4441da177e4SLinus Torvaldsat 0x0000007a : */ 0x830b0000,0x00000460, 4451da177e4SLinus Torvalds/* 4461da177e4SLinus Torvalds JUMP MsgInAfterCmd, IF MSG_IN 4471da177e4SLinus Torvalds 4481da177e4SLinus Torvaldsat 0x0000007c : */ 0x870a0000,0x00000248, 4491da177e4SLinus Torvalds/* 4501da177e4SLinus Torvalds JUMP DataIn, IF DATA_IN 4511da177e4SLinus Torvalds 4521da177e4SLinus Torvaldsat 0x0000007e : */ 0x810a0000,0x000002f8, 4531da177e4SLinus Torvalds/* 4541da177e4SLinus Torvalds JUMP DataOut, IF DATA_OUT 4551da177e4SLinus Torvalds 4561da177e4SLinus Torvaldsat 0x00000080 : */ 0x800a0000,0x00000338, 4571da177e4SLinus Torvalds/* 4581da177e4SLinus Torvalds INT UNEXPECTED_PHASE_AFTER_CMD 4591da177e4SLinus Torvalds 4601da177e4SLinus Torvaldsat 0x00000082 : */ 0x98080000,0x00000320, 4611da177e4SLinus Torvalds/* 4621da177e4SLinus Torvalds 4631da177e4SLinus TorvaldsIgnoreMsgDuringData: 4641da177e4SLinus Torvalds CLEAR ACK 4651da177e4SLinus Torvalds 4661da177e4SLinus Torvaldsat 0x00000084 : */ 0x60000040,0x00000000, 4671da177e4SLinus Torvalds/* 4681da177e4SLinus Torvalds ; fall through to MsgInDuringData 4691da177e4SLinus Torvalds 4701da177e4SLinus TorvaldsEntry MsgInDuringData 4711da177e4SLinus TorvaldsMsgInDuringData: 4721da177e4SLinus Torvalds; 4731da177e4SLinus Torvalds; Could be we have nothing more to transfer 4741da177e4SLinus Torvalds; 4751da177e4SLinus Torvalds JUMP Finish, WHEN STATUS 4761da177e4SLinus Torvalds 4771da177e4SLinus Torvaldsat 0x00000086 : */ 0x830b0000,0x00000460, 4781da177e4SLinus Torvalds/* 4791da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 4801da177e4SLinus Torvalds 4811da177e4SLinus Torvaldsat 0x00000088 : */ 0x0f000001,0x00000000, 4821da177e4SLinus Torvalds/* 4831da177e4SLinus Torvalds JUMP DisconnectDuringDataIn, IF DISCONNECT_MSG 4841da177e4SLinus Torvalds 4851da177e4SLinus Torvaldsat 0x0000008a : */ 0x800c0004,0x00000398, 4861da177e4SLinus Torvalds/* 4871da177e4SLinus Torvalds JUMP IgnoreMsgDuringData, IF SAVE_DATA_PTRS_MSG 4881da177e4SLinus Torvalds 4891da177e4SLinus Torvaldsat 0x0000008c : */ 0x800c0002,0x00000210, 4901da177e4SLinus Torvalds/* 4911da177e4SLinus Torvalds JUMP IgnoreMsgDuringData, IF RESTORE_DATA_PTRS_MSG 4921da177e4SLinus Torvalds 4931da177e4SLinus Torvaldsat 0x0000008e : */ 0x800c0003,0x00000210, 4941da177e4SLinus Torvalds/* 4951da177e4SLinus Torvalds INT MSG_IN_DURING_DATA_IN 4961da177e4SLinus Torvalds 4971da177e4SLinus Torvaldsat 0x00000090 : */ 0x98080000,0x00000750, 4981da177e4SLinus Torvalds/* 4991da177e4SLinus Torvalds 5001da177e4SLinus TorvaldsMsgInAfterCmd: 5011da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 5021da177e4SLinus Torvalds 5031da177e4SLinus Torvaldsat 0x00000092 : */ 0x0f000001,0x00000000, 5041da177e4SLinus Torvalds/* 5051da177e4SLinus Torvalds JUMP DisconnectAfterCmd, IF DISCONNECT_MSG 5061da177e4SLinus Torvalds 5071da177e4SLinus Torvaldsat 0x00000094 : */ 0x800c0004,0x00000298, 5081da177e4SLinus Torvalds/* 5091da177e4SLinus Torvalds JUMP IgnoreMsgInAfterCmd, IF SAVE_DATA_PTRS_MSG 5101da177e4SLinus Torvalds 5111da177e4SLinus Torvaldsat 0x00000096 : */ 0x800c0002,0x00000288, 5121da177e4SLinus Torvalds/* 5131da177e4SLinus Torvalds JUMP IgnoreMsgInAfterCmd, IF RESTORE_DATA_PTRS_MSG 5141da177e4SLinus Torvalds 5151da177e4SLinus Torvaldsat 0x00000098 : */ 0x800c0003,0x00000288, 5161da177e4SLinus Torvalds/* 5171da177e4SLinus Torvalds CALL ProcessReceiveMessage 5181da177e4SLinus Torvalds 5191da177e4SLinus Torvaldsat 0x0000009a : */ 0x88080000,0x000000a8, 5201da177e4SLinus Torvalds/* 5211da177e4SLinus Torvalds INT MSG_IN_AFTER_CMD 5221da177e4SLinus Torvalds 5231da177e4SLinus Torvaldsat 0x0000009c : */ 0x98080000,0x00000350, 5241da177e4SLinus Torvalds/* 5251da177e4SLinus Torvalds CLEAR ACK 5261da177e4SLinus Torvalds 5271da177e4SLinus Torvaldsat 0x0000009e : */ 0x60000040,0x00000000, 5281da177e4SLinus Torvalds/* 5291da177e4SLinus Torvalds JUMP ResumeSendCommand 5301da177e4SLinus Torvalds 5311da177e4SLinus Torvaldsat 0x000000a0 : */ 0x80080000,0x000001e8, 5321da177e4SLinus Torvalds/* 5331da177e4SLinus Torvalds 5341da177e4SLinus TorvaldsIgnoreMsgInAfterCmd: 5351da177e4SLinus Torvalds CLEAR ACK 5361da177e4SLinus Torvalds 5371da177e4SLinus Torvaldsat 0x000000a2 : */ 0x60000040,0x00000000, 5381da177e4SLinus Torvalds/* 5391da177e4SLinus Torvalds JUMP ResumeSendCommand 5401da177e4SLinus Torvalds 5411da177e4SLinus Torvaldsat 0x000000a4 : */ 0x80080000,0x000001e8, 5421da177e4SLinus Torvalds/* 5431da177e4SLinus Torvalds 5441da177e4SLinus TorvaldsDisconnectAfterCmd: 5451da177e4SLinus Torvalds CLEAR ACK 5461da177e4SLinus Torvalds 5471da177e4SLinus Torvaldsat 0x000000a6 : */ 0x60000040,0x00000000, 5481da177e4SLinus Torvalds/* 5491da177e4SLinus Torvalds WAIT DISCONNECT 5501da177e4SLinus Torvalds 5511da177e4SLinus Torvaldsat 0x000000a8 : */ 0x48000000,0x00000000, 5521da177e4SLinus Torvalds/* 5531da177e4SLinus Torvalds ENTRY Disconnect1 5541da177e4SLinus TorvaldsDisconnect1: 5551da177e4SLinus Torvalds INT DISCONNECT_AFTER_CMD 5561da177e4SLinus Torvalds 5571da177e4SLinus Torvaldsat 0x000000aa : */ 0x98080000,0x00000380, 5581da177e4SLinus Torvalds/* 5591da177e4SLinus Torvalds ENTRY Disconnect2 5601da177e4SLinus TorvaldsDisconnect2: 5611da177e4SLinus Torvalds; We return here after a reselection 5621da177e4SLinus Torvalds CLEAR ACK 5631da177e4SLinus Torvalds 5641da177e4SLinus Torvaldsat 0x000000ac : */ 0x60000040,0x00000000, 5651da177e4SLinus Torvalds/* 5661da177e4SLinus Torvalds JUMP ResumeSendCommand 5671da177e4SLinus Torvalds 5681da177e4SLinus Torvaldsat 0x000000ae : */ 0x80080000,0x000001e8, 5691da177e4SLinus Torvalds/* 5701da177e4SLinus Torvalds 5711da177e4SLinus TorvaldsMsgInBeforeCommand: 5721da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 5731da177e4SLinus Torvalds 5741da177e4SLinus Torvaldsat 0x000000b0 : */ 0x0f000001,0x00000000, 5751da177e4SLinus Torvalds/* 5761da177e4SLinus Torvalds JUMP IgnoreMsgBeforeCommand, IF SAVE_DATA_PTRS_MSG 5771da177e4SLinus Torvalds 5781da177e4SLinus Torvaldsat 0x000000b2 : */ 0x800c0002,0x000001c0, 5791da177e4SLinus Torvalds/* 5801da177e4SLinus Torvalds JUMP IgnoreMsgBeforeCommand, IF RESTORE_DATA_PTRS_MSG 5811da177e4SLinus Torvalds 5821da177e4SLinus Torvaldsat 0x000000b4 : */ 0x800c0003,0x000001c0, 5831da177e4SLinus Torvalds/* 5841da177e4SLinus Torvalds CALL ProcessReceiveMessage 5851da177e4SLinus Torvalds 5861da177e4SLinus Torvaldsat 0x000000b6 : */ 0x88080000,0x000000a8, 5871da177e4SLinus Torvalds/* 5881da177e4SLinus Torvalds INT MSG_IN_BEFORE_CMD 5891da177e4SLinus Torvalds 5901da177e4SLinus Torvaldsat 0x000000b8 : */ 0x98080000,0x00000250, 5911da177e4SLinus Torvalds/* 5921da177e4SLinus Torvalds CLEAR ACK 5931da177e4SLinus Torvalds 5941da177e4SLinus Torvaldsat 0x000000ba : */ 0x60000040,0x00000000, 5951da177e4SLinus Torvalds/* 5961da177e4SLinus Torvalds JUMP SendCommand 5971da177e4SLinus Torvalds 5981da177e4SLinus Torvaldsat 0x000000bc : */ 0x80080000,0x000001c8, 5991da177e4SLinus Torvalds/* 6001da177e4SLinus Torvalds 6011da177e4SLinus TorvaldsDataIn: 6021da177e4SLinus Torvalds CALL SGScriptStartAddress 6031da177e4SLinus Torvalds 6041da177e4SLinus Torvaldsat 0x000000be : */ 0x88080000,0x00000000, 6051da177e4SLinus Torvalds/* 6061da177e4SLinus TorvaldsResumeDataIn: 6071da177e4SLinus Torvalds JUMP Finish, WHEN STATUS 6081da177e4SLinus Torvalds 6091da177e4SLinus Torvaldsat 0x000000c0 : */ 0x830b0000,0x00000460, 6101da177e4SLinus Torvalds/* 6111da177e4SLinus Torvalds JUMP MsgInAfterDataIn, IF MSG_IN 6121da177e4SLinus Torvalds 6131da177e4SLinus Torvaldsat 0x000000c2 : */ 0x870a0000,0x00000358, 6141da177e4SLinus Torvalds/* 6151da177e4SLinus Torvalds JUMP DataInAfterDataIn, if DATA_IN 6161da177e4SLinus Torvalds 6171da177e4SLinus Torvaldsat 0x000000c4 : */ 0x810a0000,0x00000328, 6181da177e4SLinus Torvalds/* 6191da177e4SLinus Torvalds INT MSG_OUT_AFTER_DATA_IN, if MSG_OUT 6201da177e4SLinus Torvalds 6211da177e4SLinus Torvaldsat 0x000000c6 : */ 0x9e0a0000,0x00000590, 6221da177e4SLinus Torvalds/* 6231da177e4SLinus Torvalds INT UNEXPECTED_PHASE_AFTER_DATA_IN 6241da177e4SLinus Torvalds 6251da177e4SLinus Torvaldsat 0x000000c8 : */ 0x98080000,0x00000520, 6261da177e4SLinus Torvalds/* 6271da177e4SLinus Torvalds 6281da177e4SLinus TorvaldsDataInAfterDataIn: 6291da177e4SLinus Torvalds INT DATA_IN_AFTER_DATA_IN 6301da177e4SLinus Torvalds 6311da177e4SLinus Torvaldsat 0x000000ca : */ 0x98080000,0x000005a0, 6321da177e4SLinus Torvalds/* 6331da177e4SLinus Torvalds JUMP ResumeDataIn 6341da177e4SLinus Torvalds 6351da177e4SLinus Torvaldsat 0x000000cc : */ 0x80080000,0x00000300, 6361da177e4SLinus Torvalds/* 6371da177e4SLinus Torvalds 6381da177e4SLinus TorvaldsDataOut: 6391da177e4SLinus Torvalds CALL SGScriptStartAddress 6401da177e4SLinus Torvalds 6411da177e4SLinus Torvaldsat 0x000000ce : */ 0x88080000,0x00000000, 6421da177e4SLinus Torvalds/* 6431da177e4SLinus TorvaldsResumeDataOut: 6441da177e4SLinus Torvalds JUMP Finish, WHEN STATUS 6451da177e4SLinus Torvalds 6461da177e4SLinus Torvaldsat 0x000000d0 : */ 0x830b0000,0x00000460, 6471da177e4SLinus Torvalds/* 6481da177e4SLinus Torvalds JUMP MsgInAfterDataOut, IF MSG_IN 6491da177e4SLinus Torvalds 6501da177e4SLinus Torvaldsat 0x000000d2 : */ 0x870a0000,0x000003e8, 6511da177e4SLinus Torvalds/* 6521da177e4SLinus Torvalds INT UNEXPECTED_PHASE_AFTER_DATA_OUT 6531da177e4SLinus Torvalds 6541da177e4SLinus Torvaldsat 0x000000d4 : */ 0x98080000,0x00000620, 6551da177e4SLinus Torvalds/* 6561da177e4SLinus Torvalds 6571da177e4SLinus TorvaldsMsgInAfterDataIn: 6581da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 6591da177e4SLinus Torvalds 6601da177e4SLinus Torvaldsat 0x000000d6 : */ 0x0f000001,0x00000000, 6611da177e4SLinus Torvalds/* 6621da177e4SLinus Torvalds JUMP DisconnectAfterDataIn, IF DISCONNECT_MSG 6631da177e4SLinus Torvalds 6641da177e4SLinus Torvaldsat 0x000000d8 : */ 0x800c0004,0x000003c0, 6651da177e4SLinus Torvalds/* 6661da177e4SLinus Torvalds JUMP IgnoreMsgAfterData, IF SAVE_DATA_PTRS_MSG 6671da177e4SLinus Torvalds 6681da177e4SLinus Torvaldsat 0x000000da : */ 0x800c0002,0x00000428, 6691da177e4SLinus Torvalds/* 6701da177e4SLinus Torvalds JUMP IgnoreMsgAfterData, IF RESTORE_DATA_PTRS_MSG 6711da177e4SLinus Torvalds 6721da177e4SLinus Torvaldsat 0x000000dc : */ 0x800c0003,0x00000428, 6731da177e4SLinus Torvalds/* 6741da177e4SLinus Torvalds CALL ProcessReceiveMessage 6751da177e4SLinus Torvalds 6761da177e4SLinus Torvaldsat 0x000000de : */ 0x88080000,0x000000a8, 6771da177e4SLinus Torvalds/* 6781da177e4SLinus Torvalds INT MSG_IN_AFTER_DATA_IN 6791da177e4SLinus Torvalds 6801da177e4SLinus Torvaldsat 0x000000e0 : */ 0x98080000,0x00000550, 6811da177e4SLinus Torvalds/* 6821da177e4SLinus Torvalds CLEAR ACK 6831da177e4SLinus Torvalds 6841da177e4SLinus Torvaldsat 0x000000e2 : */ 0x60000040,0x00000000, 6851da177e4SLinus Torvalds/* 6861da177e4SLinus Torvalds JUMP ResumeDataIn 6871da177e4SLinus Torvalds 6881da177e4SLinus Torvaldsat 0x000000e4 : */ 0x80080000,0x00000300, 6891da177e4SLinus Torvalds/* 6901da177e4SLinus Torvalds 6911da177e4SLinus TorvaldsDisconnectDuringDataIn: 6921da177e4SLinus Torvalds CLEAR ACK 6931da177e4SLinus Torvalds 6941da177e4SLinus Torvaldsat 0x000000e6 : */ 0x60000040,0x00000000, 6951da177e4SLinus Torvalds/* 6961da177e4SLinus Torvalds WAIT DISCONNECT 6971da177e4SLinus Torvalds 6981da177e4SLinus Torvaldsat 0x000000e8 : */ 0x48000000,0x00000000, 6991da177e4SLinus Torvalds/* 7001da177e4SLinus Torvalds ENTRY Disconnect3 7011da177e4SLinus TorvaldsDisconnect3: 7021da177e4SLinus Torvalds INT DISCONNECT_DURING_DATA 7031da177e4SLinus Torvalds 7041da177e4SLinus Torvaldsat 0x000000ea : */ 0x98080000,0x00000780, 7051da177e4SLinus Torvalds/* 7061da177e4SLinus Torvalds ENTRY Disconnect4 7071da177e4SLinus TorvaldsDisconnect4: 7081da177e4SLinus Torvalds; we return here after a reselection 7091da177e4SLinus Torvalds CLEAR ACK 7101da177e4SLinus Torvalds 7111da177e4SLinus Torvaldsat 0x000000ec : */ 0x60000040,0x00000000, 7121da177e4SLinus Torvalds/* 7131da177e4SLinus Torvalds JUMP ResumeSendCommand 7141da177e4SLinus Torvalds 7151da177e4SLinus Torvaldsat 0x000000ee : */ 0x80080000,0x000001e8, 7161da177e4SLinus Torvalds/* 7171da177e4SLinus Torvalds 7181da177e4SLinus Torvalds 7191da177e4SLinus TorvaldsDisconnectAfterDataIn: 7201da177e4SLinus Torvalds CLEAR ACK 7211da177e4SLinus Torvalds 7221da177e4SLinus Torvaldsat 0x000000f0 : */ 0x60000040,0x00000000, 7231da177e4SLinus Torvalds/* 7241da177e4SLinus Torvalds WAIT DISCONNECT 7251da177e4SLinus Torvalds 7261da177e4SLinus Torvaldsat 0x000000f2 : */ 0x48000000,0x00000000, 7271da177e4SLinus Torvalds/* 7281da177e4SLinus Torvalds ENTRY Disconnect5 7291da177e4SLinus TorvaldsDisconnect5: 7301da177e4SLinus Torvalds INT DISCONNECT_AFTER_DATA 7311da177e4SLinus Torvalds 7321da177e4SLinus Torvaldsat 0x000000f4 : */ 0x98080000,0x00000580, 7331da177e4SLinus Torvalds/* 7341da177e4SLinus Torvalds ENTRY Disconnect6 7351da177e4SLinus TorvaldsDisconnect6: 7361da177e4SLinus Torvalds; we return here after a reselection 7371da177e4SLinus Torvalds CLEAR ACK 7381da177e4SLinus Torvalds 7391da177e4SLinus Torvaldsat 0x000000f6 : */ 0x60000040,0x00000000, 7401da177e4SLinus Torvalds/* 7411da177e4SLinus Torvalds JUMP ResumeDataIn 7421da177e4SLinus Torvalds 7431da177e4SLinus Torvaldsat 0x000000f8 : */ 0x80080000,0x00000300, 7441da177e4SLinus Torvalds/* 7451da177e4SLinus Torvalds 7461da177e4SLinus TorvaldsMsgInAfterDataOut: 7471da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 7481da177e4SLinus Torvalds 7491da177e4SLinus Torvaldsat 0x000000fa : */ 0x0f000001,0x00000000, 7501da177e4SLinus Torvalds/* 7511da177e4SLinus Torvalds JUMP DisconnectAfterDataOut, if DISCONNECT_MSG 7521da177e4SLinus Torvalds 7531da177e4SLinus Torvaldsat 0x000000fc : */ 0x800c0004,0x00000438, 7541da177e4SLinus Torvalds/* 7551da177e4SLinus Torvalds JUMP IgnoreMsgAfterData, IF SAVE_DATA_PTRS_MSG 7561da177e4SLinus Torvalds 7571da177e4SLinus Torvaldsat 0x000000fe : */ 0x800c0002,0x00000428, 7581da177e4SLinus Torvalds/* 7591da177e4SLinus Torvalds JUMP IgnoreMsgAfterData, IF RESTORE_DATA_PTRS_MSG 7601da177e4SLinus Torvalds 7611da177e4SLinus Torvaldsat 0x00000100 : */ 0x800c0003,0x00000428, 7621da177e4SLinus Torvalds/* 7631da177e4SLinus Torvalds CALL ProcessReceiveMessage 7641da177e4SLinus Torvalds 7651da177e4SLinus Torvaldsat 0x00000102 : */ 0x88080000,0x000000a8, 7661da177e4SLinus Torvalds/* 7671da177e4SLinus Torvalds INT MSG_IN_AFTER_DATA_OUT 7681da177e4SLinus Torvalds 7691da177e4SLinus Torvaldsat 0x00000104 : */ 0x98080000,0x00000650, 7701da177e4SLinus Torvalds/* 7711da177e4SLinus Torvalds CLEAR ACK 7721da177e4SLinus Torvalds 7731da177e4SLinus Torvaldsat 0x00000106 : */ 0x60000040,0x00000000, 7741da177e4SLinus Torvalds/* 7751da177e4SLinus Torvalds JUMP ResumeDataOut 7761da177e4SLinus Torvalds 7771da177e4SLinus Torvaldsat 0x00000108 : */ 0x80080000,0x00000340, 7781da177e4SLinus Torvalds/* 7791da177e4SLinus Torvalds 7801da177e4SLinus TorvaldsIgnoreMsgAfterData: 7811da177e4SLinus Torvalds CLEAR ACK 7821da177e4SLinus Torvalds 7831da177e4SLinus Torvaldsat 0x0000010a : */ 0x60000040,0x00000000, 7841da177e4SLinus Torvalds/* 7851da177e4SLinus Torvalds; Data in and out do the same thing on resume, so pick one 7861da177e4SLinus Torvalds JUMP ResumeDataIn 7871da177e4SLinus Torvalds 7881da177e4SLinus Torvaldsat 0x0000010c : */ 0x80080000,0x00000300, 7891da177e4SLinus Torvalds/* 7901da177e4SLinus Torvalds 7911da177e4SLinus TorvaldsDisconnectAfterDataOut: 7921da177e4SLinus Torvalds CLEAR ACK 7931da177e4SLinus Torvalds 7941da177e4SLinus Torvaldsat 0x0000010e : */ 0x60000040,0x00000000, 7951da177e4SLinus Torvalds/* 7961da177e4SLinus Torvalds WAIT DISCONNECT 7971da177e4SLinus Torvalds 7981da177e4SLinus Torvaldsat 0x00000110 : */ 0x48000000,0x00000000, 7991da177e4SLinus Torvalds/* 8001da177e4SLinus Torvalds ENTRY Disconnect7 8011da177e4SLinus TorvaldsDisconnect7: 8021da177e4SLinus Torvalds INT DISCONNECT_AFTER_DATA 8031da177e4SLinus Torvalds 8041da177e4SLinus Torvaldsat 0x00000112 : */ 0x98080000,0x00000580, 8051da177e4SLinus Torvalds/* 8061da177e4SLinus Torvalds ENTRY Disconnect8 8071da177e4SLinus TorvaldsDisconnect8: 8081da177e4SLinus Torvalds; we return here after a reselection 8091da177e4SLinus Torvalds CLEAR ACK 8101da177e4SLinus Torvalds 8111da177e4SLinus Torvaldsat 0x00000114 : */ 0x60000040,0x00000000, 8121da177e4SLinus Torvalds/* 8131da177e4SLinus Torvalds JUMP ResumeDataOut 8141da177e4SLinus Torvalds 8151da177e4SLinus Torvaldsat 0x00000116 : */ 0x80080000,0x00000340, 8161da177e4SLinus Torvalds/* 8171da177e4SLinus Torvalds 8181da177e4SLinus TorvaldsFinish: 8191da177e4SLinus Torvalds MOVE 1, StatusAddress, WHEN STATUS 8201da177e4SLinus Torvalds 8211da177e4SLinus Torvaldsat 0x00000118 : */ 0x0b000001,0x00000000, 8221da177e4SLinus Torvalds/* 8231da177e4SLinus Torvalds INT NOT_MSG_IN_AFTER_STATUS, WHEN NOT MSG_IN 8241da177e4SLinus Torvalds 8251da177e4SLinus Torvaldsat 0x0000011a : */ 0x9f030000,0x00000430, 8261da177e4SLinus Torvalds/* 8271da177e4SLinus Torvalds MOVE 1, ReceiveMsgAddress, WHEN MSG_IN 8281da177e4SLinus Torvalds 8291da177e4SLinus Torvaldsat 0x0000011c : */ 0x0f000001,0x00000000, 8301da177e4SLinus Torvalds/* 8311da177e4SLinus Torvalds JUMP FinishCommandComplete, IF COMMAND_COMPLETE_MSG 8321da177e4SLinus Torvalds 8331da177e4SLinus Torvaldsat 0x0000011e : */ 0x800c0000,0x00000490, 8341da177e4SLinus Torvalds/* 8351da177e4SLinus Torvalds CALL ProcessReceiveMessage 8361da177e4SLinus Torvalds 8371da177e4SLinus Torvaldsat 0x00000120 : */ 0x88080000,0x000000a8, 8381da177e4SLinus Torvalds/* 8391da177e4SLinus Torvalds INT MSG_IN_AFTER_STATUS 8401da177e4SLinus Torvalds 8411da177e4SLinus Torvaldsat 0x00000122 : */ 0x98080000,0x00000440, 8421da177e4SLinus Torvalds/* 8431da177e4SLinus Torvalds ENTRY FinishCommandComplete 8441da177e4SLinus TorvaldsFinishCommandComplete: 8451da177e4SLinus Torvalds CLEAR ACK 8461da177e4SLinus Torvalds 8471da177e4SLinus Torvaldsat 0x00000124 : */ 0x60000040,0x00000000, 8481da177e4SLinus Torvalds/* 8491da177e4SLinus Torvalds WAIT DISCONNECT 8501da177e4SLinus Torvalds 8511da177e4SLinus Torvaldsat 0x00000126 : */ 0x48000000,0x00000000, 8521da177e4SLinus Torvalds/* 8531da177e4SLinus Torvalds ENTRY Finish1 8541da177e4SLinus TorvaldsFinish1: 8551da177e4SLinus Torvalds INT GOOD_STATUS_AFTER_STATUS 8561da177e4SLinus Torvalds 8571da177e4SLinus Torvaldsat 0x00000128 : */ 0x98080000,0x00000401, 8581da177e4SLinus Torvalds}; 8591da177e4SLinus Torvalds 8601da177e4SLinus Torvalds#define A_AFTER_CMD 0x00000300 8611da177e4SLinus Torvaldsstatic u32 A_AFTER_CMD_used[] __attribute((unused)) = { 8621da177e4SLinus Torvalds}; 8631da177e4SLinus Torvalds 8641da177e4SLinus Torvalds#define A_AFTER_DATA_IN 0x00000500 8651da177e4SLinus Torvaldsstatic u32 A_AFTER_DATA_IN_used[] __attribute((unused)) = { 8661da177e4SLinus Torvalds}; 8671da177e4SLinus Torvalds 8681da177e4SLinus Torvalds#define A_AFTER_DATA_OUT 0x00000600 8691da177e4SLinus Torvaldsstatic u32 A_AFTER_DATA_OUT_used[] __attribute((unused)) = { 8701da177e4SLinus Torvalds}; 8711da177e4SLinus Torvalds 8721da177e4SLinus Torvalds#define A_AFTER_SELECTION 0x00000100 8731da177e4SLinus Torvaldsstatic u32 A_AFTER_SELECTION_used[] __attribute((unused)) = { 8741da177e4SLinus Torvalds}; 8751da177e4SLinus Torvalds 8761da177e4SLinus Torvalds#define A_AFTER_STATUS 0x00000400 8771da177e4SLinus Torvaldsstatic u32 A_AFTER_STATUS_used[] __attribute((unused)) = { 8781da177e4SLinus Torvalds}; 8791da177e4SLinus Torvalds 8801da177e4SLinus Torvalds#define A_BEFORE_CMD 0x00000200 8811da177e4SLinus Torvaldsstatic u32 A_BEFORE_CMD_used[] __attribute((unused)) = { 8821da177e4SLinus Torvalds}; 8831da177e4SLinus Torvalds 8841da177e4SLinus Torvalds#define A_COMMAND_COMPLETE_MSG 0x00000000 8851da177e4SLinus Torvaldsstatic u32 A_COMMAND_COMPLETE_MSG_used[] __attribute((unused)) = { 8861da177e4SLinus Torvalds 0x0000011e, 8871da177e4SLinus Torvalds}; 8881da177e4SLinus Torvalds 8891da177e4SLinus Torvalds#define A_COMPLETED_SELECTION_AS_TARGET 0x00001001 8901da177e4SLinus Torvaldsstatic u32 A_COMPLETED_SELECTION_AS_TARGET_used[] __attribute((unused)) = { 8911da177e4SLinus Torvalds 0x0000001d, 8921da177e4SLinus Torvalds}; 8931da177e4SLinus Torvalds 8941da177e4SLinus Torvalds#define A_CommandAddress 0x00000000 8951da177e4SLinus Torvaldsstatic u32 A_CommandAddress_used[] __attribute((unused)) = { 8961da177e4SLinus Torvalds 0x00000079, 8971da177e4SLinus Torvalds}; 8981da177e4SLinus Torvalds 8991da177e4SLinus Torvalds#define A_CommandCount 0x00000000 9001da177e4SLinus Torvaldsstatic u32 A_CommandCount_used[] __attribute((unused)) = { 9011da177e4SLinus Torvalds 0x00000078, 9021da177e4SLinus Torvalds}; 9031da177e4SLinus Torvalds 9041da177e4SLinus Torvalds#define A_DATA_IN_AFTER_DATA_IN 0x000005a0 9051da177e4SLinus Torvaldsstatic u32 A_DATA_IN_AFTER_DATA_IN_used[] __attribute((unused)) = { 9061da177e4SLinus Torvalds 0x000000cb, 9071da177e4SLinus Torvalds}; 9081da177e4SLinus Torvalds 9091da177e4SLinus Torvalds#define A_DEBUG_INTERRUPT 0x00003000 9101da177e4SLinus Torvaldsstatic u32 A_DEBUG_INTERRUPT_used[] __attribute((unused)) = { 9111da177e4SLinus Torvalds}; 9121da177e4SLinus Torvalds 9131da177e4SLinus Torvalds#define A_DEBUG_INTERRUPT1 0x00003001 9141da177e4SLinus Torvaldsstatic u32 A_DEBUG_INTERRUPT1_used[] __attribute((unused)) = { 9151da177e4SLinus Torvalds}; 9161da177e4SLinus Torvalds 9171da177e4SLinus Torvalds#define A_DEBUG_INTERRUPT2 0x00003002 9181da177e4SLinus Torvaldsstatic u32 A_DEBUG_INTERRUPT2_used[] __attribute((unused)) = { 9191da177e4SLinus Torvalds}; 9201da177e4SLinus Torvalds 9211da177e4SLinus Torvalds#define A_DEBUG_INTERRUPT3 0x00003003 9221da177e4SLinus Torvaldsstatic u32 A_DEBUG_INTERRUPT3_used[] __attribute((unused)) = { 9231da177e4SLinus Torvalds}; 9241da177e4SLinus Torvalds 9251da177e4SLinus Torvalds#define A_DEBUG_INTERRUPT4 0x00003004 9261da177e4SLinus Torvaldsstatic u32 A_DEBUG_INTERRUPT4_used[] __attribute((unused)) = { 9271da177e4SLinus Torvalds}; 9281da177e4SLinus Torvalds 9291da177e4SLinus Torvalds#define A_DEBUG_INTERRUPT5 0x00003005 9301da177e4SLinus Torvaldsstatic u32 A_DEBUG_INTERRUPT5_used[] __attribute((unused)) = { 9311da177e4SLinus Torvalds}; 9321da177e4SLinus Torvalds 9331da177e4SLinus Torvalds#define A_DEBUG_INTERRUPT6 0x00003006 9341da177e4SLinus Torvaldsstatic u32 A_DEBUG_INTERRUPT6_used[] __attribute((unused)) = { 9351da177e4SLinus Torvalds}; 9361da177e4SLinus Torvalds 9371da177e4SLinus Torvalds#define A_DISCONNECT 0x00000080 9381da177e4SLinus Torvaldsstatic u32 A_DISCONNECT_used[] __attribute((unused)) = { 9391da177e4SLinus Torvalds}; 9401da177e4SLinus Torvalds 9411da177e4SLinus Torvalds#define A_DISCONNECT_AFTER_CMD 0x00000380 9421da177e4SLinus Torvaldsstatic u32 A_DISCONNECT_AFTER_CMD_used[] __attribute((unused)) = { 9431da177e4SLinus Torvalds 0x000000ab, 9441da177e4SLinus Torvalds}; 9451da177e4SLinus Torvalds 9461da177e4SLinus Torvalds#define A_DISCONNECT_AFTER_DATA 0x00000580 9471da177e4SLinus Torvaldsstatic u32 A_DISCONNECT_AFTER_DATA_used[] __attribute((unused)) = { 9481da177e4SLinus Torvalds 0x000000f5, 9491da177e4SLinus Torvalds 0x00000113, 9501da177e4SLinus Torvalds}; 9511da177e4SLinus Torvalds 9521da177e4SLinus Torvalds#define A_DISCONNECT_DURING_DATA 0x00000780 9531da177e4SLinus Torvaldsstatic u32 A_DISCONNECT_DURING_DATA_used[] __attribute((unused)) = { 9541da177e4SLinus Torvalds 0x000000eb, 9551da177e4SLinus Torvalds}; 9561da177e4SLinus Torvalds 9571da177e4SLinus Torvalds#define A_DISCONNECT_MSG 0x00000004 9581da177e4SLinus Torvaldsstatic u32 A_DISCONNECT_MSG_used[] __attribute((unused)) = { 9591da177e4SLinus Torvalds 0x0000008a, 9601da177e4SLinus Torvalds 0x00000094, 9611da177e4SLinus Torvalds 0x000000d8, 9621da177e4SLinus Torvalds 0x000000fc, 9631da177e4SLinus Torvalds}; 9641da177e4SLinus Torvalds 9651da177e4SLinus Torvalds#define A_DURING_DATA_IN 0x00000700 9661da177e4SLinus Torvaldsstatic u32 A_DURING_DATA_IN_used[] __attribute((unused)) = { 9671da177e4SLinus Torvalds}; 9681da177e4SLinus Torvalds 9691da177e4SLinus Torvalds#define A_Device_ID 0x00000000 9701da177e4SLinus Torvaldsstatic u32 A_Device_ID_used[] __attribute((unused)) = { 9711da177e4SLinus Torvalds 0x00000000, 9721da177e4SLinus Torvalds}; 9731da177e4SLinus Torvalds 9741da177e4SLinus Torvalds#define A_EXTENDED_MSG 0x00000001 9751da177e4SLinus Torvaldsstatic u32 A_EXTENDED_MSG_used[] __attribute((unused)) = { 9761da177e4SLinus Torvalds 0x0000002a, 9771da177e4SLinus Torvalds}; 9781da177e4SLinus Torvalds 9791da177e4SLinus Torvalds#define A_FATAL 0x00002000 9801da177e4SLinus Torvaldsstatic u32 A_FATAL_used[] __attribute((unused)) = { 9811da177e4SLinus Torvalds}; 9821da177e4SLinus Torvalds 9831da177e4SLinus Torvalds#define A_FATAL_ILLEGAL_MSG_LENGTH 0x00002003 9841da177e4SLinus Torvaldsstatic u32 A_FATAL_ILLEGAL_MSG_LENGTH_used[] __attribute((unused)) = { 9851da177e4SLinus Torvalds 0x00000043, 9861da177e4SLinus Torvalds}; 9871da177e4SLinus Torvalds 9881da177e4SLinus Torvalds#define A_FATAL_NOT_MSG_IN_AFTER_SELECTION 0x00002002 9891da177e4SLinus Torvaldsstatic u32 A_FATAL_NOT_MSG_IN_AFTER_SELECTION_used[] __attribute((unused)) = { 9901da177e4SLinus Torvalds 0x0000000d, 9911da177e4SLinus Torvalds}; 9921da177e4SLinus Torvalds 9931da177e4SLinus Torvalds#define A_FATAL_SEND_MSG 0x00002001 9941da177e4SLinus Torvaldsstatic u32 A_FATAL_SEND_MSG_used[] __attribute((unused)) = { 9951da177e4SLinus Torvalds 0x00000023, 9961da177e4SLinus Torvalds}; 9971da177e4SLinus Torvalds 9981da177e4SLinus Torvalds#define A_FATAL_UNEXPECTED_RESELECTION_MSG 0x00002000 9991da177e4SLinus Torvaldsstatic u32 A_FATAL_UNEXPECTED_RESELECTION_MSG_used[] __attribute((unused)) = { 10001da177e4SLinus Torvalds}; 10011da177e4SLinus Torvalds 10021da177e4SLinus Torvalds#define A_GOOD_STATUS 0x00000001 10031da177e4SLinus Torvaldsstatic u32 A_GOOD_STATUS_used[] __attribute((unused)) = { 10041da177e4SLinus Torvalds}; 10051da177e4SLinus Torvalds 10061da177e4SLinus Torvalds#define A_GOOD_STATUS_AFTER_STATUS 0x00000401 10071da177e4SLinus Torvaldsstatic u32 A_GOOD_STATUS_AFTER_STATUS_used[] __attribute((unused)) = { 10081da177e4SLinus Torvalds 0x00000129, 10091da177e4SLinus Torvalds}; 10101da177e4SLinus Torvalds 10111da177e4SLinus Torvalds#define A_IDENTIFY_MSG 0x00000080 10121da177e4SLinus Torvaldsstatic u32 A_IDENTIFY_MSG_used[] __attribute((unused)) = { 10131da177e4SLinus Torvalds}; 10141da177e4SLinus Torvalds 10151da177e4SLinus Torvalds#define A_IDENTIFY_MSG_MASK 0x0000007f 10161da177e4SLinus Torvaldsstatic u32 A_IDENTIFY_MSG_MASK_used[] __attribute((unused)) = { 10171da177e4SLinus Torvalds}; 10181da177e4SLinus Torvalds 10191da177e4SLinus Torvalds#define A_MSG_IN 0x00000050 10201da177e4SLinus Torvaldsstatic u32 A_MSG_IN_used[] __attribute((unused)) = { 10211da177e4SLinus Torvalds}; 10221da177e4SLinus Torvalds 10231da177e4SLinus Torvalds#define A_MSG_IN_AFTER_CMD 0x00000350 10241da177e4SLinus Torvaldsstatic u32 A_MSG_IN_AFTER_CMD_used[] __attribute((unused)) = { 10251da177e4SLinus Torvalds 0x0000009d, 10261da177e4SLinus Torvalds}; 10271da177e4SLinus Torvalds 10281da177e4SLinus Torvalds#define A_MSG_IN_AFTER_DATA_IN 0x00000550 10291da177e4SLinus Torvaldsstatic u32 A_MSG_IN_AFTER_DATA_IN_used[] __attribute((unused)) = { 10301da177e4SLinus Torvalds 0x000000e1, 10311da177e4SLinus Torvalds}; 10321da177e4SLinus Torvalds 10331da177e4SLinus Torvalds#define A_MSG_IN_AFTER_DATA_OUT 0x00000650 10341da177e4SLinus Torvaldsstatic u32 A_MSG_IN_AFTER_DATA_OUT_used[] __attribute((unused)) = { 10351da177e4SLinus Torvalds 0x00000105, 10361da177e4SLinus Torvalds}; 10371da177e4SLinus Torvalds 10381da177e4SLinus Torvalds#define A_MSG_IN_AFTER_STATUS 0x00000440 10391da177e4SLinus Torvaldsstatic u32 A_MSG_IN_AFTER_STATUS_used[] __attribute((unused)) = { 10401da177e4SLinus Torvalds 0x00000123, 10411da177e4SLinus Torvalds}; 10421da177e4SLinus Torvalds 10431da177e4SLinus Torvalds#define A_MSG_IN_BEFORE_CMD 0x00000250 10441da177e4SLinus Torvaldsstatic u32 A_MSG_IN_BEFORE_CMD_used[] __attribute((unused)) = { 10451da177e4SLinus Torvalds 0x000000b9, 10461da177e4SLinus Torvalds}; 10471da177e4SLinus Torvalds 10481da177e4SLinus Torvalds#define A_MSG_IN_DURING_DATA_IN 0x00000750 10491da177e4SLinus Torvaldsstatic u32 A_MSG_IN_DURING_DATA_IN_used[] __attribute((unused)) = { 10501da177e4SLinus Torvalds 0x00000091, 10511da177e4SLinus Torvalds}; 10521da177e4SLinus Torvalds 10531da177e4SLinus Torvalds#define A_MSG_OUT 0x00000090 10541da177e4SLinus Torvaldsstatic u32 A_MSG_OUT_used[] __attribute((unused)) = { 10551da177e4SLinus Torvalds}; 10561da177e4SLinus Torvalds 10571da177e4SLinus Torvalds#define A_MSG_OUT_AFTER_DATA_IN 0x00000590 10581da177e4SLinus Torvaldsstatic u32 A_MSG_OUT_AFTER_DATA_IN_used[] __attribute((unused)) = { 10591da177e4SLinus Torvalds 0x000000c7, 10601da177e4SLinus Torvalds}; 10611da177e4SLinus Torvalds 10621da177e4SLinus Torvalds#define A_MessageCount 0x00000000 10631da177e4SLinus Torvaldsstatic u32 A_MessageCount_used[] __attribute((unused)) = { 10641da177e4SLinus Torvalds 0x0000001e, 10651da177e4SLinus Torvalds}; 10661da177e4SLinus Torvalds 10671da177e4SLinus Torvalds#define A_MessageLocation 0x00000000 10681da177e4SLinus Torvaldsstatic u32 A_MessageLocation_used[] __attribute((unused)) = { 10691da177e4SLinus Torvalds 0x0000001f, 10701da177e4SLinus Torvalds}; 10711da177e4SLinus Torvalds 10721da177e4SLinus Torvalds#define A_NOT_MSG_IN 0x00000030 10731da177e4SLinus Torvaldsstatic u32 A_NOT_MSG_IN_used[] __attribute((unused)) = { 10741da177e4SLinus Torvalds}; 10751da177e4SLinus Torvalds 10761da177e4SLinus Torvalds#define A_NOT_MSG_IN_AFTER_STATUS 0x00000430 10771da177e4SLinus Torvaldsstatic u32 A_NOT_MSG_IN_AFTER_STATUS_used[] __attribute((unused)) = { 10781da177e4SLinus Torvalds 0x0000011b, 10791da177e4SLinus Torvalds}; 10801da177e4SLinus Torvalds 10811da177e4SLinus Torvalds#define A_NOT_MSG_OUT 0x00000010 10821da177e4SLinus Torvaldsstatic u32 A_NOT_MSG_OUT_used[] __attribute((unused)) = { 10831da177e4SLinus Torvalds}; 10841da177e4SLinus Torvalds 10851da177e4SLinus Torvalds#define A_NOT_MSG_OUT_AFTER_SELECTION 0x00000110 10861da177e4SLinus Torvaldsstatic u32 A_NOT_MSG_OUT_AFTER_SELECTION_used[] __attribute((unused)) = { 10871da177e4SLinus Torvalds 0x00000007, 10881da177e4SLinus Torvalds}; 10891da177e4SLinus Torvalds 10901da177e4SLinus Torvalds#define A_PARITY_ERROR_MSG 0x00000009 10911da177e4SLinus Torvaldsstatic u32 A_PARITY_ERROR_MSG_used[] __attribute((unused)) = { 10921da177e4SLinus Torvalds}; 10931da177e4SLinus Torvalds 10941da177e4SLinus Torvalds#define A_REJECT_MSG 0x00000007 10951da177e4SLinus Torvaldsstatic u32 A_REJECT_MSG_used[] __attribute((unused)) = { 10961da177e4SLinus Torvalds}; 10971da177e4SLinus Torvalds 10981da177e4SLinus Torvalds#define A_REJECT_MSG_BEFORE_CMD 0x00000270 10991da177e4SLinus Torvaldsstatic u32 A_REJECT_MSG_BEFORE_CMD_used[] __attribute((unused)) = { 11001da177e4SLinus Torvalds}; 11011da177e4SLinus Torvalds 11021da177e4SLinus Torvalds#define A_REJECT_MSG_R 0x00000070 11031da177e4SLinus Torvaldsstatic u32 A_REJECT_MSG_R_used[] __attribute((unused)) = { 11041da177e4SLinus Torvalds}; 11051da177e4SLinus Torvalds 11061da177e4SLinus Torvalds#define A_RESELECTED_DURING_SELECTION 0x00001000 11071da177e4SLinus Torvaldsstatic u32 A_RESELECTED_DURING_SELECTION_used[] __attribute((unused)) = { 11081da177e4SLinus Torvalds 0x0000000b, 11091da177e4SLinus Torvalds}; 11101da177e4SLinus Torvalds 11111da177e4SLinus Torvalds#define A_RESELECTION_IDENTIFIED 0x00001003 11121da177e4SLinus Torvaldsstatic u32 A_RESELECTION_IDENTIFIED_used[] __attribute((unused)) = { 11131da177e4SLinus Torvalds 0x00000011, 11141da177e4SLinus Torvalds 0x00000015, 11151da177e4SLinus Torvalds}; 11161da177e4SLinus Torvalds 11171da177e4SLinus Torvalds#define A_RESTORE_DATA_PTRS_MSG 0x00000003 11181da177e4SLinus Torvaldsstatic u32 A_RESTORE_DATA_PTRS_MSG_used[] __attribute((unused)) = { 11191da177e4SLinus Torvalds 0x0000008e, 11201da177e4SLinus Torvalds 0x00000098, 11211da177e4SLinus Torvalds 0x000000b4, 11221da177e4SLinus Torvalds 0x000000dc, 11231da177e4SLinus Torvalds 0x00000100, 11241da177e4SLinus Torvalds}; 11251da177e4SLinus Torvalds 11261da177e4SLinus Torvalds#define A_ReceiveMsgAddress 0x00000000 11271da177e4SLinus Torvaldsstatic u32 A_ReceiveMsgAddress_used[] __attribute((unused)) = { 11281da177e4SLinus Torvalds 0x0000000f, 11291da177e4SLinus Torvalds 0x00000013, 11301da177e4SLinus Torvalds 0x00000029, 11311da177e4SLinus Torvalds 0x00000031, 11321da177e4SLinus Torvalds 0x00000037, 11331da177e4SLinus Torvalds 0x00000047, 11341da177e4SLinus Torvalds 0x0000004d, 11351da177e4SLinus Torvalds 0x00000053, 11361da177e4SLinus Torvalds 0x00000059, 11371da177e4SLinus Torvalds 0x0000005f, 11381da177e4SLinus Torvalds 0x00000089, 11391da177e4SLinus Torvalds 0x00000093, 11401da177e4SLinus Torvalds 0x000000b1, 11411da177e4SLinus Torvalds 0x000000d7, 11421da177e4SLinus Torvalds 0x000000fb, 11431da177e4SLinus Torvalds 0x0000011d, 11441da177e4SLinus Torvalds}; 11451da177e4SLinus Torvalds 11461da177e4SLinus Torvalds#define A_SAVE_DATA_PTRS_MSG 0x00000002 11471da177e4SLinus Torvaldsstatic u32 A_SAVE_DATA_PTRS_MSG_used[] __attribute((unused)) = { 11481da177e4SLinus Torvalds 0x0000008c, 11491da177e4SLinus Torvalds 0x00000096, 11501da177e4SLinus Torvalds 0x000000b2, 11511da177e4SLinus Torvalds 0x000000da, 11521da177e4SLinus Torvalds 0x000000fe, 11531da177e4SLinus Torvalds}; 11541da177e4SLinus Torvalds 11551da177e4SLinus Torvalds#define A_SDTR_MSG 0x00000001 11561da177e4SLinus Torvaldsstatic u32 A_SDTR_MSG_used[] __attribute((unused)) = { 11571da177e4SLinus Torvalds}; 11581da177e4SLinus Torvalds 11591da177e4SLinus Torvalds#define A_SDTR_MSG_AFTER_CMD 0x00000360 11601da177e4SLinus Torvaldsstatic u32 A_SDTR_MSG_AFTER_CMD_used[] __attribute((unused)) = { 11611da177e4SLinus Torvalds}; 11621da177e4SLinus Torvalds 11631da177e4SLinus Torvalds#define A_SDTR_MSG_BEFORE_CMD 0x00000260 11641da177e4SLinus Torvaldsstatic u32 A_SDTR_MSG_BEFORE_CMD_used[] __attribute((unused)) = { 11651da177e4SLinus Torvalds}; 11661da177e4SLinus Torvalds 11671da177e4SLinus Torvalds#define A_SDTR_MSG_R 0x00000060 11681da177e4SLinus Torvaldsstatic u32 A_SDTR_MSG_R_used[] __attribute((unused)) = { 11691da177e4SLinus Torvalds}; 11701da177e4SLinus Torvalds 11711da177e4SLinus Torvalds#define A_SGScriptStartAddress 0x00000000 11721da177e4SLinus Torvaldsstatic u32 A_SGScriptStartAddress_used[] __attribute((unused)) = { 11731da177e4SLinus Torvalds 0x000000bf, 11741da177e4SLinus Torvalds 0x000000cf, 11751da177e4SLinus Torvalds}; 11761da177e4SLinus Torvalds 11771da177e4SLinus Torvalds#define A_SIMPLE_TAG_MSG 0x00000020 11781da177e4SLinus Torvaldsstatic u32 A_SIMPLE_TAG_MSG_used[] __attribute((unused)) = { 11791da177e4SLinus Torvalds}; 11801da177e4SLinus Torvalds 11811da177e4SLinus Torvalds#define A_StatusAddress 0x00000000 11821da177e4SLinus Torvaldsstatic u32 A_StatusAddress_used[] __attribute((unused)) = { 11831da177e4SLinus Torvalds 0x00000119, 11841da177e4SLinus Torvalds}; 11851da177e4SLinus Torvalds 11861da177e4SLinus Torvalds#define A_TWO_BYTE_MSG 0x00000020 11871da177e4SLinus Torvaldsstatic u32 A_TWO_BYTE_MSG_used[] __attribute((unused)) = { 11881da177e4SLinus Torvalds 0x0000002c, 11891da177e4SLinus Torvalds}; 11901da177e4SLinus Torvalds 11911da177e4SLinus Torvalds#define A_TWO_BYTE_MSG_MASK 0x0000000f 11921da177e4SLinus Torvaldsstatic u32 A_TWO_BYTE_MSG_MASK_used[] __attribute((unused)) = { 11931da177e4SLinus Torvalds 0x0000002c, 11941da177e4SLinus Torvalds}; 11951da177e4SLinus Torvalds 11961da177e4SLinus Torvalds#define A_UNEXPECTED_MSG 0x00000040 11971da177e4SLinus Torvaldsstatic u32 A_UNEXPECTED_MSG_used[] __attribute((unused)) = { 11981da177e4SLinus Torvalds}; 11991da177e4SLinus Torvalds 12001da177e4SLinus Torvalds#define A_UNEXPECTED_MSG_BEFORE_CMD 0x00000240 12011da177e4SLinus Torvaldsstatic u32 A_UNEXPECTED_MSG_BEFORE_CMD_used[] __attribute((unused)) = { 12021da177e4SLinus Torvalds}; 12031da177e4SLinus Torvalds 12041da177e4SLinus Torvalds#define A_UNEXPECTED_PHASE 0x00000020 12051da177e4SLinus Torvaldsstatic u32 A_UNEXPECTED_PHASE_used[] __attribute((unused)) = { 12061da177e4SLinus Torvalds}; 12071da177e4SLinus Torvalds 12081da177e4SLinus Torvalds#define A_UNEXPECTED_PHASE_AFTER_CMD 0x00000320 12091da177e4SLinus Torvaldsstatic u32 A_UNEXPECTED_PHASE_AFTER_CMD_used[] __attribute((unused)) = { 12101da177e4SLinus Torvalds 0x00000083, 12111da177e4SLinus Torvalds}; 12121da177e4SLinus Torvalds 12131da177e4SLinus Torvalds#define A_UNEXPECTED_PHASE_AFTER_DATA_IN 0x00000520 12141da177e4SLinus Torvaldsstatic u32 A_UNEXPECTED_PHASE_AFTER_DATA_IN_used[] __attribute((unused)) = { 12151da177e4SLinus Torvalds 0x000000c9, 12161da177e4SLinus Torvalds}; 12171da177e4SLinus Torvalds 12181da177e4SLinus Torvalds#define A_UNEXPECTED_PHASE_AFTER_DATA_OUT 0x00000620 12191da177e4SLinus Torvaldsstatic u32 A_UNEXPECTED_PHASE_AFTER_DATA_OUT_used[] __attribute((unused)) = { 12201da177e4SLinus Torvalds 0x000000d5, 12211da177e4SLinus Torvalds}; 12221da177e4SLinus Torvalds 12231da177e4SLinus Torvalds#define A_UNEXPECTED_PHASE_BEFORE_CMD 0x00000220 12241da177e4SLinus Torvaldsstatic u32 A_UNEXPECTED_PHASE_BEFORE_CMD_used[] __attribute((unused)) = { 12251da177e4SLinus Torvalds 0x00000077, 12261da177e4SLinus Torvalds}; 12271da177e4SLinus Torvalds 12281da177e4SLinus Torvalds#define A_WDTR_MSG 0x00000003 12291da177e4SLinus Torvaldsstatic u32 A_WDTR_MSG_used[] __attribute((unused)) = { 12301da177e4SLinus Torvalds}; 12311da177e4SLinus Torvalds 12321da177e4SLinus Torvalds#define A_WDTR_MSG_AFTER_CMD 0x000003a0 12331da177e4SLinus Torvaldsstatic u32 A_WDTR_MSG_AFTER_CMD_used[] __attribute((unused)) = { 12341da177e4SLinus Torvalds}; 12351da177e4SLinus Torvalds 12361da177e4SLinus Torvalds#define A_WDTR_MSG_R 0x000000a0 12371da177e4SLinus Torvaldsstatic u32 A_WDTR_MSG_R_used[] __attribute((unused)) = { 12381da177e4SLinus Torvalds}; 12391da177e4SLinus Torvalds 12401da177e4SLinus Torvalds#define Ent_Disconnect1 0x000002a8 12411da177e4SLinus Torvalds#define Ent_Disconnect2 0x000002b0 12421da177e4SLinus Torvalds#define Ent_Disconnect3 0x000003a8 12431da177e4SLinus Torvalds#define Ent_Disconnect4 0x000003b0 12441da177e4SLinus Torvalds#define Ent_Disconnect5 0x000003d0 12451da177e4SLinus Torvalds#define Ent_Disconnect6 0x000003d8 12461da177e4SLinus Torvalds#define Ent_Disconnect7 0x00000448 12471da177e4SLinus Torvalds#define Ent_Disconnect8 0x00000450 12481da177e4SLinus Torvalds#define Ent_Finish1 0x000004a0 12491da177e4SLinus Torvalds#define Ent_Finish2 0x000004a8 12501da177e4SLinus Torvalds#define Ent_FinishCommandComplete 0x00000490 12511da177e4SLinus Torvalds#define Ent_GetReselectionData 0x00000038 12521da177e4SLinus Torvalds#define Ent_GetReselectionWithTag 0x00000048 12531da177e4SLinus Torvalds#define Ent_IgnoreMessage 0x00000188 12541da177e4SLinus Torvalds#define Ent_MsgInDuringData 0x00000218 12551da177e4SLinus Torvalds#define Ent_ReceiveMessage 0x000000a0 12561da177e4SLinus Torvalds#define Ent_SelectedAsTarget 0x00000058 12571da177e4SLinus Torvalds#define Ent_SendCommand 0x000001c8 12581da177e4SLinus Torvalds#define Ent_SendMessage 0x00000078 12591da177e4SLinus Torvalds#define Ent_SendMessagePhaseMismatch 0x00000090 12601da177e4SLinus Torvalds#define Ent_SendMessageWithATN 0x00000198 12611da177e4SLinus Torvalds#define Ent_StartUp 0x00000000 12621da177e4SLinus Torvaldsstatic u32 LABELPATCHES[] __attribute((unused)) = { 12631da177e4SLinus Torvalds 0x00000001, 12641da177e4SLinus Torvalds 0x00000003, 12651da177e4SLinus Torvalds 0x00000005, 12661da177e4SLinus Torvalds 0x00000009, 12671da177e4SLinus Torvalds 0x00000027, 12681da177e4SLinus Torvalds 0x0000002b, 12691da177e4SLinus Torvalds 0x00000039, 12701da177e4SLinus Torvalds 0x0000003b, 12711da177e4SLinus Torvalds 0x0000003d, 12721da177e4SLinus Torvalds 0x0000003f, 12731da177e4SLinus Torvalds 0x00000041, 12741da177e4SLinus Torvalds 0x0000006b, 12751da177e4SLinus Torvalds 0x0000006d, 12761da177e4SLinus Torvalds 0x00000073, 12771da177e4SLinus Torvalds 0x00000075, 12781da177e4SLinus Torvalds 0x0000007b, 12791da177e4SLinus Torvalds 0x0000007d, 12801da177e4SLinus Torvalds 0x0000007f, 12811da177e4SLinus Torvalds 0x00000081, 12821da177e4SLinus Torvalds 0x00000087, 12831da177e4SLinus Torvalds 0x0000008b, 12841da177e4SLinus Torvalds 0x0000008d, 12851da177e4SLinus Torvalds 0x0000008f, 12861da177e4SLinus Torvalds 0x00000095, 12871da177e4SLinus Torvalds 0x00000097, 12881da177e4SLinus Torvalds 0x00000099, 12891da177e4SLinus Torvalds 0x0000009b, 12901da177e4SLinus Torvalds 0x000000a1, 12911da177e4SLinus Torvalds 0x000000a5, 12921da177e4SLinus Torvalds 0x000000af, 12931da177e4SLinus Torvalds 0x000000b3, 12941da177e4SLinus Torvalds 0x000000b5, 12951da177e4SLinus Torvalds 0x000000b7, 12961da177e4SLinus Torvalds 0x000000bd, 12971da177e4SLinus Torvalds 0x000000c1, 12981da177e4SLinus Torvalds 0x000000c3, 12991da177e4SLinus Torvalds 0x000000c5, 13001da177e4SLinus Torvalds 0x000000cd, 13011da177e4SLinus Torvalds 0x000000d1, 13021da177e4SLinus Torvalds 0x000000d3, 13031da177e4SLinus Torvalds 0x000000d9, 13041da177e4SLinus Torvalds 0x000000db, 13051da177e4SLinus Torvalds 0x000000dd, 13061da177e4SLinus Torvalds 0x000000df, 13071da177e4SLinus Torvalds 0x000000e5, 13081da177e4SLinus Torvalds 0x000000ef, 13091da177e4SLinus Torvalds 0x000000f9, 13101da177e4SLinus Torvalds 0x000000fd, 13111da177e4SLinus Torvalds 0x000000ff, 13121da177e4SLinus Torvalds 0x00000101, 13131da177e4SLinus Torvalds 0x00000103, 13141da177e4SLinus Torvalds 0x00000109, 13151da177e4SLinus Torvalds 0x0000010d, 13161da177e4SLinus Torvalds 0x00000117, 13171da177e4SLinus Torvalds 0x0000011f, 13181da177e4SLinus Torvalds 0x00000121, 13191da177e4SLinus Torvalds}; 13201da177e4SLinus Torvalds 13211da177e4SLinus Torvaldsstatic struct { 13221da177e4SLinus Torvalds u32 offset; 13231da177e4SLinus Torvalds void *address; 13241da177e4SLinus Torvalds} EXTERNAL_PATCHES[] __attribute((unused)) = { 13251da177e4SLinus Torvalds}; 13261da177e4SLinus Torvalds 13271da177e4SLinus Torvaldsstatic u32 INSTRUCTIONS __attribute((unused)) = 149; 13281da177e4SLinus Torvaldsstatic u32 PATCHES __attribute((unused)) = 56; 13291da177e4SLinus Torvaldsstatic u32 EXTERNAL_PATCHES_LEN __attribute((unused)) = 0; 1330