| /* DO NOT EDIT - Generated automatically by script_asm.pl */ | 
 | static u32 SCRIPT[] = { | 
 | /* | 
 | ; Script for the NCR (or symbios) 53c700 and 53c700-66 chip | 
 | ; | 
 | ; Copyright (C) 2001 James.Bottomley@HansenPartnership.com | 
 | ;;----------------------------------------------------------------------------- | 
 | ;;   | 
 | ;;  This program is free software; you can redistribute it and/or modify | 
 | ;;  it under the terms of the GNU General Public License as published by | 
 | ;;  the Free Software Foundation; either version 2 of the License, or | 
 | ;;  (at your option) any later version. | 
 | ;; | 
 | ;;  This program is distributed in the hope that it will be useful, | 
 | ;;  but WITHOUT ANY WARRANTY; without even the implied warranty of | 
 | ;;  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
 | ;;  GNU General Public License for more details. | 
 | ;; | 
 | ;;  You should have received a copy of the GNU General Public License | 
 | ;;  along with this program; if not, write to the Free Software | 
 | ;;  Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. | 
 | ;; | 
 | ;;----------------------------------------------------------------------------- | 
 | ; | 
 | ; This script is designed to be modified for the particular command in | 
 | ; operation.  The particular variables pertaining to the commands are: | 
 | ; | 
 | ABSOLUTE	Device_ID = 0		; ID of target for command | 
 | ABSOLUTE	MessageCount = 0	; Number of bytes in message | 
 | ABSOLUTE	MessageLocation = 0	; Addr of message | 
 | ABSOLUTE	CommandCount = 0	; Number of bytes in command | 
 | ABSOLUTE	CommandAddress = 0	; Addr of Command | 
 | ABSOLUTE	StatusAddress = 0	; Addr to receive status return | 
 | ABSOLUTE	ReceiveMsgAddress = 0	; Addr to receive msg | 
 | ; | 
 | ; This is the magic component for handling scatter-gather.  Each of the | 
 | ; SG components is preceded by a script fragment which moves the | 
 | ; necessary amount of data and jumps to the next SG segment.  The final | 
 | ; SG segment jumps back to .  However, this address is the first SG script | 
 | ; segment. | 
 | ; | 
 | ABSOLUTE	SGScriptStartAddress = 0 | 
 |  | 
 | ; The following represent status interrupts we use 3 hex digits for | 
 | ; this: 0xPRS where  | 
 |  | 
 | ; P: | 
 | ABSOLUTE	AFTER_SELECTION 	= 0x100 | 
 | ABSOLUTE	BEFORE_CMD 		= 0x200 | 
 | ABSOLUTE	AFTER_CMD 		= 0x300 | 
 | ABSOLUTE	AFTER_STATUS 		= 0x400 | 
 | ABSOLUTE	AFTER_DATA_IN		= 0x500 | 
 | ABSOLUTE	AFTER_DATA_OUT		= 0x600 | 
 | ABSOLUTE	DURING_DATA_IN		= 0x700 | 
 |  | 
 | ; R: | 
 | ABSOLUTE	NOT_MSG_OUT 		= 0x10 | 
 | ABSOLUTE	UNEXPECTED_PHASE 	= 0x20 | 
 | ABSOLUTE	NOT_MSG_IN 		= 0x30 | 
 | ABSOLUTE	UNEXPECTED_MSG		= 0x40 | 
 | ABSOLUTE	MSG_IN			= 0x50 | 
 | ABSOLUTE	SDTR_MSG_R		= 0x60 | 
 | ABSOLUTE	REJECT_MSG_R		= 0x70 | 
 | ABSOLUTE	DISCONNECT		= 0x80 | 
 | ABSOLUTE	MSG_OUT			= 0x90 | 
 | ABSOLUTE	WDTR_MSG_R		= 0xA0 | 
 |  | 
 | ; S: | 
 | ABSOLUTE	GOOD_STATUS 		= 0x1 | 
 |  | 
 | ; Combinations, since the script assembler can't process | | 
 | ABSOLUTE	NOT_MSG_OUT_AFTER_SELECTION = 0x110 | 
 | ABSOLUTE	UNEXPECTED_PHASE_BEFORE_CMD = 0x220 | 
 | ABSOLUTE	UNEXPECTED_PHASE_AFTER_CMD = 0x320 | 
 | ABSOLUTE	NOT_MSG_IN_AFTER_STATUS = 0x430 | 
 | ABSOLUTE	GOOD_STATUS_AFTER_STATUS = 0x401 | 
 | ABSOLUTE	UNEXPECTED_PHASE_AFTER_DATA_IN = 0x520 | 
 | ABSOLUTE	UNEXPECTED_PHASE_AFTER_DATA_OUT = 0x620 | 
 | ABSOLUTE	UNEXPECTED_MSG_BEFORE_CMD = 0x240 | 
 | ABSOLUTE	MSG_IN_BEFORE_CMD = 0x250 | 
 | ABSOLUTE	MSG_IN_AFTER_CMD = 0x350 | 
 | ABSOLUTE	SDTR_MSG_BEFORE_CMD = 0x260 | 
 | ABSOLUTE	REJECT_MSG_BEFORE_CMD = 0x270 | 
 | ABSOLUTE	DISCONNECT_AFTER_CMD = 0x380 | 
 | ABSOLUTE	SDTR_MSG_AFTER_CMD = 0x360 | 
 | ABSOLUTE	WDTR_MSG_AFTER_CMD = 0x3A0 | 
 | ABSOLUTE	MSG_IN_AFTER_STATUS = 0x440 | 
 | ABSOLUTE	DISCONNECT_AFTER_DATA = 0x580 | 
 | ABSOLUTE	MSG_IN_AFTER_DATA_IN = 0x550 | 
 | ABSOLUTE	MSG_IN_AFTER_DATA_OUT = 0x650 | 
 | ABSOLUTE	MSG_OUT_AFTER_DATA_IN = 0x590 | 
 | ABSOLUTE	DATA_IN_AFTER_DATA_IN = 0x5a0 | 
 | ABSOLUTE	MSG_IN_DURING_DATA_IN = 0x750 | 
 | ABSOLUTE	DISCONNECT_DURING_DATA = 0x780 | 
 |  | 
 | ; | 
 | ; Other interrupt conditions | 
 | ;  | 
 | ABSOLUTE	RESELECTED_DURING_SELECTION = 0x1000 | 
 | ABSOLUTE	COMPLETED_SELECTION_AS_TARGET = 0x1001 | 
 | ABSOLUTE	RESELECTION_IDENTIFIED = 0x1003 | 
 | ; | 
 | ; Fatal interrupt conditions.  If you add to this, also add to the | 
 | ; array of corresponding messages | 
 | ; | 
 | ABSOLUTE	FATAL = 0x2000 | 
 | ABSOLUTE	FATAL_UNEXPECTED_RESELECTION_MSG = 0x2000 | 
 | ABSOLUTE	FATAL_SEND_MSG = 0x2001 | 
 | ABSOLUTE	FATAL_NOT_MSG_IN_AFTER_SELECTION = 0x2002 | 
 | ABSOLUTE	FATAL_ILLEGAL_MSG_LENGTH = 0x2003 | 
 |  | 
 | ABSOLUTE	DEBUG_INTERRUPT	= 0x3000 | 
 | ABSOLUTE	DEBUG_INTERRUPT1 = 0x3001 | 
 | ABSOLUTE	DEBUG_INTERRUPT2 = 0x3002 | 
 | ABSOLUTE	DEBUG_INTERRUPT3 = 0x3003 | 
 | ABSOLUTE	DEBUG_INTERRUPT4 = 0x3004 | 
 | ABSOLUTE	DEBUG_INTERRUPT5 = 0x3005 | 
 | ABSOLUTE	DEBUG_INTERRUPT6 = 0x3006 | 
 |  | 
 |  | 
 | ; | 
 | ; SCSI Messages we interpret in the script | 
 | ; | 
 | ABSOLUTE	COMMAND_COMPLETE_MSG	= 0x00 | 
 | ABSOLUTE	EXTENDED_MSG		= 0x01 | 
 | ABSOLUTE	SDTR_MSG		= 0x01 | 
 | ABSOLUTE	SAVE_DATA_PTRS_MSG	= 0x02 | 
 | ABSOLUTE	RESTORE_DATA_PTRS_MSG	= 0x03 | 
 | ABSOLUTE	WDTR_MSG		= 0x03 | 
 | ABSOLUTE	DISCONNECT_MSG		= 0x04 | 
 | ABSOLUTE	REJECT_MSG		= 0x07 | 
 | ABSOLUTE	PARITY_ERROR_MSG	= 0x09 | 
 | ABSOLUTE	SIMPLE_TAG_MSG		= 0x20 | 
 | ABSOLUTE	IDENTIFY_MSG		= 0x80 | 
 | ABSOLUTE	IDENTIFY_MSG_MASK	= 0x7F | 
 | ABSOLUTE	TWO_BYTE_MSG		= 0x20 | 
 | ABSOLUTE	TWO_BYTE_MSG_MASK	= 0x0F | 
 |  | 
 | ; This is where the script begins | 
 |  | 
 | ENTRY	StartUp | 
 |  | 
 | StartUp: | 
 | 	SELECT	ATN Device_ID, Reselect | 
 |  | 
 | at 0x00000000 : */	0x41000000,0x00000020, | 
 | /* | 
 | 	JUMP	Finish, WHEN STATUS | 
 |  | 
 | at 0x00000002 : */	0x830b0000,0x00000460, | 
 | /* | 
 | 	JUMP	SendIdentifyMsg, IF MSG_OUT | 
 |  | 
 | at 0x00000004 : */	0x860a0000,0x000001b0, | 
 | /* | 
 | 	INT	NOT_MSG_OUT_AFTER_SELECTION | 
 |  | 
 | at 0x00000006 : */	0x98080000,0x00000110, | 
 | /* | 
 |  | 
 | Reselect: | 
 | 	WAIT	RESELECT SelectedAsTarget | 
 |  | 
 | at 0x00000008 : */	0x50000000,0x00000058, | 
 | /* | 
 | 	INT	RESELECTED_DURING_SELECTION, WHEN MSG_IN | 
 |  | 
 | at 0x0000000a : */	0x9f0b0000,0x00001000, | 
 | /* | 
 | 	INT	FATAL_NOT_MSG_IN_AFTER_SELECTION | 
 |  | 
 | at 0x0000000c : */	0x98080000,0x00002002, | 
 | /* | 
 |  | 
 | 	ENTRY	GetReselectionData | 
 | GetReselectionData: | 
 | 	MOVE	1, ReceiveMsgAddress, WHEN MSG_IN | 
 |  | 
 | at 0x0000000e : */	0x0f000001,0x00000000, | 
 | /* | 
 | 	INT	RESELECTION_IDENTIFIED | 
 |  | 
 | at 0x00000010 : */	0x98080000,0x00001003, | 
 | /* | 
 |  | 
 | 	ENTRY	GetReselectionWithTag | 
 | GetReselectionWithTag: | 
 | 	MOVE	3, ReceiveMsgAddress, WHEN MSG_IN | 
 |  | 
 | at 0x00000012 : */	0x0f000003,0x00000000, | 
 | /* | 
 | 	INT	RESELECTION_IDENTIFIED | 
 |  | 
 | at 0x00000014 : */	0x98080000,0x00001003, | 
 | /* | 
 | 	 | 
 | 	ENTRY	SelectedAsTarget | 
 | SelectedAsTarget: | 
 | ; Basically tell the selecting device that there's nothing here | 
 | 	SET	TARGET | 
 |  | 
 | at 0x00000016 : */	0x58000200,0x00000000, | 
 | /* | 
 | 	DISCONNECT | 
 |  | 
 | at 0x00000018 : */	0x48000000,0x00000000, | 
 | /* | 
 | 	CLEAR	TARGET | 
 |  | 
 | at 0x0000001a : */	0x60000200,0x00000000, | 
 | /* | 
 | 	INT	COMPLETED_SELECTION_AS_TARGET | 
 |  | 
 | at 0x0000001c : */	0x98080000,0x00001001, | 
 | /* | 
 | ; | 
 | ; These are the messaging entries | 
 | ; | 
 | ; Send a message.  Message count should be correctly patched | 
 | 	ENTRY	SendMessage | 
 | SendMessage: | 
 | 	MOVE	MessageCount, MessageLocation, WHEN MSG_OUT | 
 |  | 
 | at 0x0000001e : */	0x0e000000,0x00000000, | 
 | /* | 
 | ResumeSendMessage: | 
 | 	RETURN,	WHEN NOT MSG_OUT | 
 |  | 
 | at 0x00000020 : */	0x96030000,0x00000000, | 
 | /* | 
 | 	INT	FATAL_SEND_MSG | 
 |  | 
 | at 0x00000022 : */	0x98080000,0x00002001, | 
 | /* | 
 |  | 
 | 	ENTRY	SendMessagePhaseMismatch | 
 | SendMessagePhaseMismatch: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000024 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	ResumeSendMessage | 
 |  | 
 | at 0x00000026 : */	0x80080000,0x00000080, | 
 | /* | 
 | ; | 
 | ; Receive a message.  Need to identify the message to | 
 | ; receive it correctly | 
 | 	ENTRY	ReceiveMessage | 
 | ReceiveMessage: | 
 | 	MOVE	1, ReceiveMsgAddress, WHEN MSG_IN | 
 |  | 
 | at 0x00000028 : */	0x0f000001,0x00000000, | 
 | /* | 
 | ; | 
 | ; Use this entry if we've just tried to look at the first byte | 
 | ; of the message and want to process it further | 
 | ProcessReceiveMessage: | 
 | 	JUMP	ReceiveExtendedMessage, IF EXTENDED_MSG | 
 |  | 
 | at 0x0000002a : */	0x800c0001,0x000000d0, | 
 | /* | 
 | 	RETURN,	IF NOT TWO_BYTE_MSG, AND MASK TWO_BYTE_MSG_MASK | 
 |  | 
 | at 0x0000002c : */	0x90040f20,0x00000000, | 
 | /* | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x0000002e : */	0x60000040,0x00000000, | 
 | /* | 
 | 	MOVE	1, ReceiveMsgAddress + 1, WHEN MSG_IN | 
 |  | 
 | at 0x00000030 : */	0x0f000001,0x00000001, | 
 | /* | 
 | 	RETURN | 
 |  | 
 | at 0x00000032 : */	0x90080000,0x00000000, | 
 | /* | 
 | ReceiveExtendedMessage: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000034 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	MOVE	1, ReceiveMsgAddress + 1, WHEN MSG_IN | 
 |  | 
 | at 0x00000036 : */	0x0f000001,0x00000001, | 
 | /* | 
 | 	JUMP	Receive1Byte, IF 0x01 | 
 |  | 
 | at 0x00000038 : */	0x800c0001,0x00000110, | 
 | /* | 
 | 	JUMP	Receive2Byte, IF 0x02 | 
 |  | 
 | at 0x0000003a : */	0x800c0002,0x00000128, | 
 | /* | 
 | 	JUMP	Receive3Byte, IF 0x03 | 
 |  | 
 | at 0x0000003c : */	0x800c0003,0x00000140, | 
 | /* | 
 | 	JUMP	Receive4Byte, IF 0x04 | 
 |  | 
 | at 0x0000003e : */	0x800c0004,0x00000158, | 
 | /* | 
 | 	JUMP	Receive5Byte, IF 0x05 | 
 |  | 
 | at 0x00000040 : */	0x800c0005,0x00000170, | 
 | /* | 
 | 	INT	FATAL_ILLEGAL_MSG_LENGTH | 
 |  | 
 | at 0x00000042 : */	0x98080000,0x00002003, | 
 | /* | 
 | Receive1Byte: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000044 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	MOVE	1, ReceiveMsgAddress + 2, WHEN MSG_IN | 
 |  | 
 | at 0x00000046 : */	0x0f000001,0x00000002, | 
 | /* | 
 | 	RETURN | 
 |  | 
 | at 0x00000048 : */	0x90080000,0x00000000, | 
 | /* | 
 | Receive2Byte: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x0000004a : */	0x60000040,0x00000000, | 
 | /* | 
 | 	MOVE	2, ReceiveMsgAddress + 2, WHEN MSG_IN | 
 |  | 
 | at 0x0000004c : */	0x0f000002,0x00000002, | 
 | /* | 
 | 	RETURN | 
 |  | 
 | at 0x0000004e : */	0x90080000,0x00000000, | 
 | /* | 
 | Receive3Byte: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000050 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	MOVE	3, ReceiveMsgAddress + 2, WHEN MSG_IN | 
 |  | 
 | at 0x00000052 : */	0x0f000003,0x00000002, | 
 | /* | 
 | 	RETURN | 
 |  | 
 | at 0x00000054 : */	0x90080000,0x00000000, | 
 | /* | 
 | Receive4Byte: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000056 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	MOVE	4, ReceiveMsgAddress + 2, WHEN MSG_IN | 
 |  | 
 | at 0x00000058 : */	0x0f000004,0x00000002, | 
 | /* | 
 | 	RETURN | 
 |  | 
 | at 0x0000005a : */	0x90080000,0x00000000, | 
 | /* | 
 | Receive5Byte: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x0000005c : */	0x60000040,0x00000000, | 
 | /* | 
 | 	MOVE	5, ReceiveMsgAddress + 2, WHEN MSG_IN | 
 |  | 
 | at 0x0000005e : */	0x0f000005,0x00000002, | 
 | /* | 
 | 	RETURN | 
 |  | 
 | at 0x00000060 : */	0x90080000,0x00000000, | 
 | /* | 
 | ; | 
 | ; Come here from the message processor to ignore the message | 
 | ; | 
 | 	ENTRY	IgnoreMessage | 
 | IgnoreMessage: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000062 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	RETURN | 
 |  | 
 | at 0x00000064 : */	0x90080000,0x00000000, | 
 | /* | 
 | ; | 
 | ; Come here to send a reply to a message | 
 | ; | 
 | 	ENTRY	SendMessageWithATN | 
 | SendMessageWithATN: | 
 | 	SET	ATN | 
 |  | 
 | at 0x00000066 : */	0x58000008,0x00000000, | 
 | /* | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000068 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	SendMessage | 
 |  | 
 | at 0x0000006a : */	0x80080000,0x00000078, | 
 | /* | 
 |  | 
 | SendIdentifyMsg: | 
 | 	CALL	SendMessage | 
 |  | 
 | at 0x0000006c : */	0x88080000,0x00000078, | 
 | /* | 
 | 	CLEAR	ATN | 
 |  | 
 | at 0x0000006e : */	0x60000008,0x00000000, | 
 | /* | 
 |  | 
 | IgnoreMsgBeforeCommand: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000070 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	ENTRY	SendCommand | 
 | SendCommand: | 
 | 	JUMP	Finish, WHEN STATUS | 
 |  | 
 | at 0x00000072 : */	0x830b0000,0x00000460, | 
 | /* | 
 | 	JUMP	MsgInBeforeCommand, IF MSG_IN | 
 |  | 
 | at 0x00000074 : */	0x870a0000,0x000002c0, | 
 | /* | 
 | 	INT	UNEXPECTED_PHASE_BEFORE_CMD, IF NOT CMD | 
 |  | 
 | at 0x00000076 : */	0x9a020000,0x00000220, | 
 | /* | 
 | 	MOVE	CommandCount, CommandAddress, WHEN CMD | 
 |  | 
 | at 0x00000078 : */	0x0a000000,0x00000000, | 
 | /* | 
 | ResumeSendCommand: | 
 | 	JUMP	Finish, WHEN STATUS | 
 |  | 
 | at 0x0000007a : */	0x830b0000,0x00000460, | 
 | /* | 
 | 	JUMP	MsgInAfterCmd, IF MSG_IN | 
 |  | 
 | at 0x0000007c : */	0x870a0000,0x00000248, | 
 | /* | 
 | 	JUMP	DataIn, IF DATA_IN | 
 |  | 
 | at 0x0000007e : */	0x810a0000,0x000002f8, | 
 | /* | 
 | 	JUMP	DataOut, IF DATA_OUT | 
 |  | 
 | at 0x00000080 : */	0x800a0000,0x00000338, | 
 | /* | 
 | 	INT	UNEXPECTED_PHASE_AFTER_CMD | 
 |  | 
 | at 0x00000082 : */	0x98080000,0x00000320, | 
 | /* | 
 |  | 
 | IgnoreMsgDuringData: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000084 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	; fall through to MsgInDuringData | 
 |  | 
 | Entry MsgInDuringData | 
 | MsgInDuringData: | 
 | ; | 
 | ; Could be we have nothing more to transfer | 
 | ; | 
 | 	JUMP	Finish, WHEN STATUS | 
 |  | 
 | at 0x00000086 : */	0x830b0000,0x00000460, | 
 | /* | 
 | 	MOVE	1, ReceiveMsgAddress, WHEN MSG_IN | 
 |  | 
 | at 0x00000088 : */	0x0f000001,0x00000000, | 
 | /* | 
 | 	JUMP	DisconnectDuringDataIn, IF DISCONNECT_MSG | 
 |  | 
 | at 0x0000008a : */	0x800c0004,0x00000398, | 
 | /* | 
 | 	JUMP	IgnoreMsgDuringData, IF SAVE_DATA_PTRS_MSG | 
 |  | 
 | at 0x0000008c : */	0x800c0002,0x00000210, | 
 | /* | 
 | 	JUMP	IgnoreMsgDuringData, IF RESTORE_DATA_PTRS_MSG | 
 |  | 
 | at 0x0000008e : */	0x800c0003,0x00000210, | 
 | /* | 
 | 	INT	MSG_IN_DURING_DATA_IN | 
 |  | 
 | at 0x00000090 : */	0x98080000,0x00000750, | 
 | /* | 
 |  | 
 | MsgInAfterCmd: | 
 | 	MOVE	1, ReceiveMsgAddress, WHEN MSG_IN | 
 |  | 
 | at 0x00000092 : */	0x0f000001,0x00000000, | 
 | /* | 
 | 	JUMP	DisconnectAfterCmd, IF DISCONNECT_MSG | 
 |  | 
 | at 0x00000094 : */	0x800c0004,0x00000298, | 
 | /* | 
 | 	JUMP	IgnoreMsgInAfterCmd, IF SAVE_DATA_PTRS_MSG | 
 |  | 
 | at 0x00000096 : */	0x800c0002,0x00000288, | 
 | /* | 
 | 	JUMP	IgnoreMsgInAfterCmd, IF RESTORE_DATA_PTRS_MSG | 
 |  | 
 | at 0x00000098 : */	0x800c0003,0x00000288, | 
 | /* | 
 | 	CALL	ProcessReceiveMessage | 
 |  | 
 | at 0x0000009a : */	0x88080000,0x000000a8, | 
 | /* | 
 | 	INT	MSG_IN_AFTER_CMD | 
 |  | 
 | at 0x0000009c : */	0x98080000,0x00000350, | 
 | /* | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x0000009e : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	ResumeSendCommand | 
 |  | 
 | at 0x000000a0 : */	0x80080000,0x000001e8, | 
 | /* | 
 |  | 
 | IgnoreMsgInAfterCmd: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x000000a2 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	ResumeSendCommand | 
 |  | 
 | at 0x000000a4 : */	0x80080000,0x000001e8, | 
 | /* | 
 |  | 
 | DisconnectAfterCmd: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x000000a6 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	WAIT	DISCONNECT | 
 |  | 
 | at 0x000000a8 : */	0x48000000,0x00000000, | 
 | /* | 
 | 	ENTRY	Disconnect1 | 
 | Disconnect1: | 
 | 	INT	DISCONNECT_AFTER_CMD | 
 |  | 
 | at 0x000000aa : */	0x98080000,0x00000380, | 
 | /* | 
 | 	ENTRY	Disconnect2 | 
 | Disconnect2: | 
 | ; We return here after a reselection | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x000000ac : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	ResumeSendCommand | 
 |  | 
 | at 0x000000ae : */	0x80080000,0x000001e8, | 
 | /* | 
 |  | 
 | MsgInBeforeCommand: | 
 | 	MOVE	1, ReceiveMsgAddress, WHEN MSG_IN | 
 |  | 
 | at 0x000000b0 : */	0x0f000001,0x00000000, | 
 | /* | 
 | 	JUMP	IgnoreMsgBeforeCommand, IF SAVE_DATA_PTRS_MSG | 
 |  | 
 | at 0x000000b2 : */	0x800c0002,0x000001c0, | 
 | /* | 
 | 	JUMP	IgnoreMsgBeforeCommand, IF RESTORE_DATA_PTRS_MSG | 
 |  | 
 | at 0x000000b4 : */	0x800c0003,0x000001c0, | 
 | /* | 
 | 	CALL	ProcessReceiveMessage | 
 |  | 
 | at 0x000000b6 : */	0x88080000,0x000000a8, | 
 | /* | 
 | 	INT	MSG_IN_BEFORE_CMD | 
 |  | 
 | at 0x000000b8 : */	0x98080000,0x00000250, | 
 | /* | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x000000ba : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	SendCommand | 
 |  | 
 | at 0x000000bc : */	0x80080000,0x000001c8, | 
 | /* | 
 |  | 
 | DataIn: | 
 | 	CALL	SGScriptStartAddress | 
 |  | 
 | at 0x000000be : */	0x88080000,0x00000000, | 
 | /* | 
 | ResumeDataIn: | 
 | 	JUMP	Finish, WHEN STATUS | 
 |  | 
 | at 0x000000c0 : */	0x830b0000,0x00000460, | 
 | /* | 
 | 	JUMP	MsgInAfterDataIn, IF MSG_IN | 
 |  | 
 | at 0x000000c2 : */	0x870a0000,0x00000358, | 
 | /* | 
 | 	JUMP	DataInAfterDataIn, if DATA_IN | 
 |  | 
 | at 0x000000c4 : */	0x810a0000,0x00000328, | 
 | /* | 
 | 	INT	MSG_OUT_AFTER_DATA_IN, if MSG_OUT | 
 |  | 
 | at 0x000000c6 : */	0x9e0a0000,0x00000590, | 
 | /* | 
 | 	INT	UNEXPECTED_PHASE_AFTER_DATA_IN | 
 |  | 
 | at 0x000000c8 : */	0x98080000,0x00000520, | 
 | /* | 
 |  | 
 | DataInAfterDataIn: | 
 | 	INT	DATA_IN_AFTER_DATA_IN | 
 |  | 
 | at 0x000000ca : */	0x98080000,0x000005a0, | 
 | /* | 
 | 	JUMP	ResumeDataIn | 
 |  | 
 | at 0x000000cc : */	0x80080000,0x00000300, | 
 | /* | 
 |  | 
 | DataOut: | 
 | 	CALL	SGScriptStartAddress | 
 |  | 
 | at 0x000000ce : */	0x88080000,0x00000000, | 
 | /* | 
 | ResumeDataOut: | 
 | 	JUMP	Finish, WHEN STATUS | 
 |  | 
 | at 0x000000d0 : */	0x830b0000,0x00000460, | 
 | /* | 
 | 	JUMP	MsgInAfterDataOut, IF MSG_IN | 
 |  | 
 | at 0x000000d2 : */	0x870a0000,0x000003e8, | 
 | /* | 
 | 	INT	UNEXPECTED_PHASE_AFTER_DATA_OUT | 
 |  | 
 | at 0x000000d4 : */	0x98080000,0x00000620, | 
 | /* | 
 |  | 
 | MsgInAfterDataIn: | 
 | 	MOVE	1, ReceiveMsgAddress, WHEN MSG_IN | 
 |  | 
 | at 0x000000d6 : */	0x0f000001,0x00000000, | 
 | /* | 
 | 	JUMP	DisconnectAfterDataIn, IF DISCONNECT_MSG | 
 |  | 
 | at 0x000000d8 : */	0x800c0004,0x000003c0, | 
 | /* | 
 | 	JUMP	IgnoreMsgAfterData, IF SAVE_DATA_PTRS_MSG | 
 |  | 
 | at 0x000000da : */	0x800c0002,0x00000428, | 
 | /* | 
 | 	JUMP	IgnoreMsgAfterData, IF RESTORE_DATA_PTRS_MSG | 
 |  | 
 | at 0x000000dc : */	0x800c0003,0x00000428, | 
 | /* | 
 | 	CALL	ProcessReceiveMessage | 
 |  | 
 | at 0x000000de : */	0x88080000,0x000000a8, | 
 | /* | 
 | 	INT	MSG_IN_AFTER_DATA_IN | 
 |  | 
 | at 0x000000e0 : */	0x98080000,0x00000550, | 
 | /* | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x000000e2 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	ResumeDataIn | 
 |  | 
 | at 0x000000e4 : */	0x80080000,0x00000300, | 
 | /* | 
 |  | 
 | DisconnectDuringDataIn: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x000000e6 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	WAIT	DISCONNECT | 
 |  | 
 | at 0x000000e8 : */	0x48000000,0x00000000, | 
 | /* | 
 | 	ENTRY	Disconnect3 | 
 | Disconnect3: | 
 | 	INT	DISCONNECT_DURING_DATA | 
 |  | 
 | at 0x000000ea : */	0x98080000,0x00000780, | 
 | /* | 
 | 	ENTRY	Disconnect4 | 
 | Disconnect4: | 
 | ; we return here after a reselection | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x000000ec : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	ResumeSendCommand | 
 |  | 
 | at 0x000000ee : */	0x80080000,0x000001e8, | 
 | /* | 
 |  | 
 |  | 
 | DisconnectAfterDataIn: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x000000f0 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	WAIT	DISCONNECT | 
 |  | 
 | at 0x000000f2 : */	0x48000000,0x00000000, | 
 | /* | 
 | 	ENTRY	Disconnect5 | 
 | Disconnect5: | 
 | 	INT	DISCONNECT_AFTER_DATA | 
 |  | 
 | at 0x000000f4 : */	0x98080000,0x00000580, | 
 | /* | 
 | 	ENTRY	Disconnect6 | 
 | Disconnect6: | 
 | ; we return here after a reselection | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x000000f6 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	ResumeDataIn | 
 |  | 
 | at 0x000000f8 : */	0x80080000,0x00000300, | 
 | /* | 
 |  | 
 | MsgInAfterDataOut: | 
 | 	MOVE	1, ReceiveMsgAddress, WHEN MSG_IN | 
 |  | 
 | at 0x000000fa : */	0x0f000001,0x00000000, | 
 | /* | 
 | 	JUMP	DisconnectAfterDataOut, if DISCONNECT_MSG | 
 |  | 
 | at 0x000000fc : */	0x800c0004,0x00000438, | 
 | /* | 
 | 	JUMP	IgnoreMsgAfterData, IF SAVE_DATA_PTRS_MSG | 
 |  | 
 | at 0x000000fe : */	0x800c0002,0x00000428, | 
 | /* | 
 | 	JUMP	IgnoreMsgAfterData, IF RESTORE_DATA_PTRS_MSG | 
 |  | 
 | at 0x00000100 : */	0x800c0003,0x00000428, | 
 | /* | 
 | 	CALL	ProcessReceiveMessage | 
 |  | 
 | at 0x00000102 : */	0x88080000,0x000000a8, | 
 | /* | 
 | 	INT	MSG_IN_AFTER_DATA_OUT | 
 |  | 
 | at 0x00000104 : */	0x98080000,0x00000650, | 
 | /* | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000106 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	ResumeDataOut | 
 |  | 
 | at 0x00000108 : */	0x80080000,0x00000340, | 
 | /* | 
 |  | 
 | IgnoreMsgAfterData: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x0000010a : */	0x60000040,0x00000000, | 
 | /* | 
 | ; Data in and out do the same thing on resume, so pick one | 
 | 	JUMP	ResumeDataIn | 
 |  | 
 | at 0x0000010c : */	0x80080000,0x00000300, | 
 | /* | 
 |  | 
 | DisconnectAfterDataOut: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x0000010e : */	0x60000040,0x00000000, | 
 | /* | 
 | 	WAIT	DISCONNECT | 
 |  | 
 | at 0x00000110 : */	0x48000000,0x00000000, | 
 | /* | 
 | 	ENTRY	Disconnect7 | 
 | Disconnect7: | 
 | 	INT	DISCONNECT_AFTER_DATA | 
 |  | 
 | at 0x00000112 : */	0x98080000,0x00000580, | 
 | /* | 
 | 	ENTRY	Disconnect8 | 
 | Disconnect8: | 
 | ; we return here after a reselection | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000114 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	JUMP	ResumeDataOut | 
 |  | 
 | at 0x00000116 : */	0x80080000,0x00000340, | 
 | /* | 
 |  | 
 | Finish: | 
 | 	MOVE	1, StatusAddress, WHEN STATUS | 
 |  | 
 | at 0x00000118 : */	0x0b000001,0x00000000, | 
 | /* | 
 | 	INT	NOT_MSG_IN_AFTER_STATUS, WHEN NOT MSG_IN | 
 |  | 
 | at 0x0000011a : */	0x9f030000,0x00000430, | 
 | /* | 
 | 	MOVE	1, ReceiveMsgAddress, WHEN MSG_IN | 
 |  | 
 | at 0x0000011c : */	0x0f000001,0x00000000, | 
 | /* | 
 | 	JUMP	FinishCommandComplete, IF COMMAND_COMPLETE_MSG | 
 |  | 
 | at 0x0000011e : */	0x800c0000,0x00000490, | 
 | /* | 
 | 	CALL	ProcessReceiveMessage | 
 |  | 
 | at 0x00000120 : */	0x88080000,0x000000a8, | 
 | /* | 
 | 	INT	MSG_IN_AFTER_STATUS | 
 |  | 
 | at 0x00000122 : */	0x98080000,0x00000440, | 
 | /* | 
 | 	ENTRY	FinishCommandComplete | 
 | FinishCommandComplete: | 
 | 	CLEAR	ACK | 
 |  | 
 | at 0x00000124 : */	0x60000040,0x00000000, | 
 | /* | 
 | 	WAIT	DISCONNECT | 
 |  | 
 | at 0x00000126 : */	0x48000000,0x00000000, | 
 | /* | 
 | 	ENTRY	Finish1 | 
 | Finish1: | 
 | 	INT	GOOD_STATUS_AFTER_STATUS | 
 |  | 
 | at 0x00000128 : */	0x98080000,0x00000401, | 
 | }; | 
 |  | 
 | #define A_AFTER_CMD	0x00000300 | 
 | static u32 A_AFTER_CMD_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_AFTER_DATA_IN	0x00000500 | 
 | static u32 A_AFTER_DATA_IN_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_AFTER_DATA_OUT	0x00000600 | 
 | static u32 A_AFTER_DATA_OUT_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_AFTER_SELECTION	0x00000100 | 
 | static u32 A_AFTER_SELECTION_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_AFTER_STATUS	0x00000400 | 
 | static u32 A_AFTER_STATUS_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_BEFORE_CMD	0x00000200 | 
 | static u32 A_BEFORE_CMD_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_COMMAND_COMPLETE_MSG	0x00000000 | 
 | static u32 A_COMMAND_COMPLETE_MSG_used[] __attribute((unused)) = { | 
 | 	0x0000011e, | 
 | }; | 
 |  | 
 | #define A_COMPLETED_SELECTION_AS_TARGET	0x00001001 | 
 | static u32 A_COMPLETED_SELECTION_AS_TARGET_used[] __attribute((unused)) = { | 
 | 	0x0000001d, | 
 | }; | 
 |  | 
 | #define A_CommandAddress	0x00000000 | 
 | static u32 A_CommandAddress_used[] __attribute((unused)) = { | 
 | 	0x00000079, | 
 | }; | 
 |  | 
 | #define A_CommandCount	0x00000000 | 
 | static u32 A_CommandCount_used[] __attribute((unused)) = { | 
 | 	0x00000078, | 
 | }; | 
 |  | 
 | #define A_DATA_IN_AFTER_DATA_IN	0x000005a0 | 
 | static u32 A_DATA_IN_AFTER_DATA_IN_used[] __attribute((unused)) = { | 
 | 	0x000000cb, | 
 | }; | 
 |  | 
 | #define A_DEBUG_INTERRUPT	0x00003000 | 
 | static u32 A_DEBUG_INTERRUPT_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_DEBUG_INTERRUPT1	0x00003001 | 
 | static u32 A_DEBUG_INTERRUPT1_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_DEBUG_INTERRUPT2	0x00003002 | 
 | static u32 A_DEBUG_INTERRUPT2_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_DEBUG_INTERRUPT3	0x00003003 | 
 | static u32 A_DEBUG_INTERRUPT3_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_DEBUG_INTERRUPT4	0x00003004 | 
 | static u32 A_DEBUG_INTERRUPT4_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_DEBUG_INTERRUPT5	0x00003005 | 
 | static u32 A_DEBUG_INTERRUPT5_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_DEBUG_INTERRUPT6	0x00003006 | 
 | static u32 A_DEBUG_INTERRUPT6_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_DISCONNECT	0x00000080 | 
 | static u32 A_DISCONNECT_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_DISCONNECT_AFTER_CMD	0x00000380 | 
 | static u32 A_DISCONNECT_AFTER_CMD_used[] __attribute((unused)) = { | 
 | 	0x000000ab, | 
 | }; | 
 |  | 
 | #define A_DISCONNECT_AFTER_DATA	0x00000580 | 
 | static u32 A_DISCONNECT_AFTER_DATA_used[] __attribute((unused)) = { | 
 | 	0x000000f5, | 
 | 	0x00000113, | 
 | }; | 
 |  | 
 | #define A_DISCONNECT_DURING_DATA	0x00000780 | 
 | static u32 A_DISCONNECT_DURING_DATA_used[] __attribute((unused)) = { | 
 | 	0x000000eb, | 
 | }; | 
 |  | 
 | #define A_DISCONNECT_MSG	0x00000004 | 
 | static u32 A_DISCONNECT_MSG_used[] __attribute((unused)) = { | 
 | 	0x0000008a, | 
 | 	0x00000094, | 
 | 	0x000000d8, | 
 | 	0x000000fc, | 
 | }; | 
 |  | 
 | #define A_DURING_DATA_IN	0x00000700 | 
 | static u32 A_DURING_DATA_IN_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_Device_ID	0x00000000 | 
 | static u32 A_Device_ID_used[] __attribute((unused)) = { | 
 | 	0x00000000, | 
 | }; | 
 |  | 
 | #define A_EXTENDED_MSG	0x00000001 | 
 | static u32 A_EXTENDED_MSG_used[] __attribute((unused)) = { | 
 | 	0x0000002a, | 
 | }; | 
 |  | 
 | #define A_FATAL	0x00002000 | 
 | static u32 A_FATAL_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_FATAL_ILLEGAL_MSG_LENGTH	0x00002003 | 
 | static u32 A_FATAL_ILLEGAL_MSG_LENGTH_used[] __attribute((unused)) = { | 
 | 	0x00000043, | 
 | }; | 
 |  | 
 | #define A_FATAL_NOT_MSG_IN_AFTER_SELECTION	0x00002002 | 
 | static u32 A_FATAL_NOT_MSG_IN_AFTER_SELECTION_used[] __attribute((unused)) = { | 
 | 	0x0000000d, | 
 | }; | 
 |  | 
 | #define A_FATAL_SEND_MSG	0x00002001 | 
 | static u32 A_FATAL_SEND_MSG_used[] __attribute((unused)) = { | 
 | 	0x00000023, | 
 | }; | 
 |  | 
 | #define A_FATAL_UNEXPECTED_RESELECTION_MSG	0x00002000 | 
 | static u32 A_FATAL_UNEXPECTED_RESELECTION_MSG_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_GOOD_STATUS	0x00000001 | 
 | static u32 A_GOOD_STATUS_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_GOOD_STATUS_AFTER_STATUS	0x00000401 | 
 | static u32 A_GOOD_STATUS_AFTER_STATUS_used[] __attribute((unused)) = { | 
 | 	0x00000129, | 
 | }; | 
 |  | 
 | #define A_IDENTIFY_MSG	0x00000080 | 
 | static u32 A_IDENTIFY_MSG_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_IDENTIFY_MSG_MASK	0x0000007f | 
 | static u32 A_IDENTIFY_MSG_MASK_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_MSG_IN	0x00000050 | 
 | static u32 A_MSG_IN_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_MSG_IN_AFTER_CMD	0x00000350 | 
 | static u32 A_MSG_IN_AFTER_CMD_used[] __attribute((unused)) = { | 
 | 	0x0000009d, | 
 | }; | 
 |  | 
 | #define A_MSG_IN_AFTER_DATA_IN	0x00000550 | 
 | static u32 A_MSG_IN_AFTER_DATA_IN_used[] __attribute((unused)) = { | 
 | 	0x000000e1, | 
 | }; | 
 |  | 
 | #define A_MSG_IN_AFTER_DATA_OUT	0x00000650 | 
 | static u32 A_MSG_IN_AFTER_DATA_OUT_used[] __attribute((unused)) = { | 
 | 	0x00000105, | 
 | }; | 
 |  | 
 | #define A_MSG_IN_AFTER_STATUS	0x00000440 | 
 | static u32 A_MSG_IN_AFTER_STATUS_used[] __attribute((unused)) = { | 
 | 	0x00000123, | 
 | }; | 
 |  | 
 | #define A_MSG_IN_BEFORE_CMD	0x00000250 | 
 | static u32 A_MSG_IN_BEFORE_CMD_used[] __attribute((unused)) = { | 
 | 	0x000000b9, | 
 | }; | 
 |  | 
 | #define A_MSG_IN_DURING_DATA_IN	0x00000750 | 
 | static u32 A_MSG_IN_DURING_DATA_IN_used[] __attribute((unused)) = { | 
 | 	0x00000091, | 
 | }; | 
 |  | 
 | #define A_MSG_OUT	0x00000090 | 
 | static u32 A_MSG_OUT_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_MSG_OUT_AFTER_DATA_IN	0x00000590 | 
 | static u32 A_MSG_OUT_AFTER_DATA_IN_used[] __attribute((unused)) = { | 
 | 	0x000000c7, | 
 | }; | 
 |  | 
 | #define A_MessageCount	0x00000000 | 
 | static u32 A_MessageCount_used[] __attribute((unused)) = { | 
 | 	0x0000001e, | 
 | }; | 
 |  | 
 | #define A_MessageLocation	0x00000000 | 
 | static u32 A_MessageLocation_used[] __attribute((unused)) = { | 
 | 	0x0000001f, | 
 | }; | 
 |  | 
 | #define A_NOT_MSG_IN	0x00000030 | 
 | static u32 A_NOT_MSG_IN_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_NOT_MSG_IN_AFTER_STATUS	0x00000430 | 
 | static u32 A_NOT_MSG_IN_AFTER_STATUS_used[] __attribute((unused)) = { | 
 | 	0x0000011b, | 
 | }; | 
 |  | 
 | #define A_NOT_MSG_OUT	0x00000010 | 
 | static u32 A_NOT_MSG_OUT_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_NOT_MSG_OUT_AFTER_SELECTION	0x00000110 | 
 | static u32 A_NOT_MSG_OUT_AFTER_SELECTION_used[] __attribute((unused)) = { | 
 | 	0x00000007, | 
 | }; | 
 |  | 
 | #define A_PARITY_ERROR_MSG	0x00000009 | 
 | static u32 A_PARITY_ERROR_MSG_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_REJECT_MSG	0x00000007 | 
 | static u32 A_REJECT_MSG_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_REJECT_MSG_BEFORE_CMD	0x00000270 | 
 | static u32 A_REJECT_MSG_BEFORE_CMD_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_REJECT_MSG_R	0x00000070 | 
 | static u32 A_REJECT_MSG_R_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_RESELECTED_DURING_SELECTION	0x00001000 | 
 | static u32 A_RESELECTED_DURING_SELECTION_used[] __attribute((unused)) = { | 
 | 	0x0000000b, | 
 | }; | 
 |  | 
 | #define A_RESELECTION_IDENTIFIED	0x00001003 | 
 | static u32 A_RESELECTION_IDENTIFIED_used[] __attribute((unused)) = { | 
 | 	0x00000011, | 
 | 	0x00000015, | 
 | }; | 
 |  | 
 | #define A_RESTORE_DATA_PTRS_MSG	0x00000003 | 
 | static u32 A_RESTORE_DATA_PTRS_MSG_used[] __attribute((unused)) = { | 
 | 	0x0000008e, | 
 | 	0x00000098, | 
 | 	0x000000b4, | 
 | 	0x000000dc, | 
 | 	0x00000100, | 
 | }; | 
 |  | 
 | #define A_ReceiveMsgAddress	0x00000000 | 
 | static u32 A_ReceiveMsgAddress_used[] __attribute((unused)) = { | 
 | 	0x0000000f, | 
 | 	0x00000013, | 
 | 	0x00000029, | 
 | 	0x00000031, | 
 | 	0x00000037, | 
 | 	0x00000047, | 
 | 	0x0000004d, | 
 | 	0x00000053, | 
 | 	0x00000059, | 
 | 	0x0000005f, | 
 | 	0x00000089, | 
 | 	0x00000093, | 
 | 	0x000000b1, | 
 | 	0x000000d7, | 
 | 	0x000000fb, | 
 | 	0x0000011d, | 
 | }; | 
 |  | 
 | #define A_SAVE_DATA_PTRS_MSG	0x00000002 | 
 | static u32 A_SAVE_DATA_PTRS_MSG_used[] __attribute((unused)) = { | 
 | 	0x0000008c, | 
 | 	0x00000096, | 
 | 	0x000000b2, | 
 | 	0x000000da, | 
 | 	0x000000fe, | 
 | }; | 
 |  | 
 | #define A_SDTR_MSG	0x00000001 | 
 | static u32 A_SDTR_MSG_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_SDTR_MSG_AFTER_CMD	0x00000360 | 
 | static u32 A_SDTR_MSG_AFTER_CMD_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_SDTR_MSG_BEFORE_CMD	0x00000260 | 
 | static u32 A_SDTR_MSG_BEFORE_CMD_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_SDTR_MSG_R	0x00000060 | 
 | static u32 A_SDTR_MSG_R_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_SGScriptStartAddress	0x00000000 | 
 | static u32 A_SGScriptStartAddress_used[] __attribute((unused)) = { | 
 | 	0x000000bf, | 
 | 	0x000000cf, | 
 | }; | 
 |  | 
 | #define A_SIMPLE_TAG_MSG	0x00000020 | 
 | static u32 A_SIMPLE_TAG_MSG_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_StatusAddress	0x00000000 | 
 | static u32 A_StatusAddress_used[] __attribute((unused)) = { | 
 | 	0x00000119, | 
 | }; | 
 |  | 
 | #define A_TWO_BYTE_MSG	0x00000020 | 
 | static u32 A_TWO_BYTE_MSG_used[] __attribute((unused)) = { | 
 | 	0x0000002c, | 
 | }; | 
 |  | 
 | #define A_TWO_BYTE_MSG_MASK	0x0000000f | 
 | static u32 A_TWO_BYTE_MSG_MASK_used[] __attribute((unused)) = { | 
 | 	0x0000002c, | 
 | }; | 
 |  | 
 | #define A_UNEXPECTED_MSG	0x00000040 | 
 | static u32 A_UNEXPECTED_MSG_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_UNEXPECTED_MSG_BEFORE_CMD	0x00000240 | 
 | static u32 A_UNEXPECTED_MSG_BEFORE_CMD_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_UNEXPECTED_PHASE	0x00000020 | 
 | static u32 A_UNEXPECTED_PHASE_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_UNEXPECTED_PHASE_AFTER_CMD	0x00000320 | 
 | static u32 A_UNEXPECTED_PHASE_AFTER_CMD_used[] __attribute((unused)) = { | 
 | 	0x00000083, | 
 | }; | 
 |  | 
 | #define A_UNEXPECTED_PHASE_AFTER_DATA_IN	0x00000520 | 
 | static u32 A_UNEXPECTED_PHASE_AFTER_DATA_IN_used[] __attribute((unused)) = { | 
 | 	0x000000c9, | 
 | }; | 
 |  | 
 | #define A_UNEXPECTED_PHASE_AFTER_DATA_OUT	0x00000620 | 
 | static u32 A_UNEXPECTED_PHASE_AFTER_DATA_OUT_used[] __attribute((unused)) = { | 
 | 	0x000000d5, | 
 | }; | 
 |  | 
 | #define A_UNEXPECTED_PHASE_BEFORE_CMD	0x00000220 | 
 | static u32 A_UNEXPECTED_PHASE_BEFORE_CMD_used[] __attribute((unused)) = { | 
 | 	0x00000077, | 
 | }; | 
 |  | 
 | #define A_WDTR_MSG	0x00000003 | 
 | static u32 A_WDTR_MSG_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_WDTR_MSG_AFTER_CMD	0x000003a0 | 
 | static u32 A_WDTR_MSG_AFTER_CMD_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define A_WDTR_MSG_R	0x000000a0 | 
 | static u32 A_WDTR_MSG_R_used[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | #define Ent_Disconnect1	0x000002a8 | 
 | #define Ent_Disconnect2	0x000002b0 | 
 | #define Ent_Disconnect3	0x000003a8 | 
 | #define Ent_Disconnect4	0x000003b0 | 
 | #define Ent_Disconnect5	0x000003d0 | 
 | #define Ent_Disconnect6	0x000003d8 | 
 | #define Ent_Disconnect7	0x00000448 | 
 | #define Ent_Disconnect8	0x00000450 | 
 | #define Ent_Finish1	0x000004a0 | 
 | #define Ent_Finish2	0x000004a8 | 
 | #define Ent_FinishCommandComplete	0x00000490 | 
 | #define Ent_GetReselectionData	0x00000038 | 
 | #define Ent_GetReselectionWithTag	0x00000048 | 
 | #define Ent_IgnoreMessage	0x00000188 | 
 | #define Ent_MsgInDuringData	0x00000218 | 
 | #define Ent_ReceiveMessage	0x000000a0 | 
 | #define Ent_SelectedAsTarget	0x00000058 | 
 | #define Ent_SendCommand	0x000001c8 | 
 | #define Ent_SendMessage	0x00000078 | 
 | #define Ent_SendMessagePhaseMismatch	0x00000090 | 
 | #define Ent_SendMessageWithATN	0x00000198 | 
 | #define Ent_StartUp	0x00000000 | 
 | static u32 LABELPATCHES[] __attribute((unused)) = { | 
 | 	0x00000001, | 
 | 	0x00000003, | 
 | 	0x00000005, | 
 | 	0x00000009, | 
 | 	0x00000027, | 
 | 	0x0000002b, | 
 | 	0x00000039, | 
 | 	0x0000003b, | 
 | 	0x0000003d, | 
 | 	0x0000003f, | 
 | 	0x00000041, | 
 | 	0x0000006b, | 
 | 	0x0000006d, | 
 | 	0x00000073, | 
 | 	0x00000075, | 
 | 	0x0000007b, | 
 | 	0x0000007d, | 
 | 	0x0000007f, | 
 | 	0x00000081, | 
 | 	0x00000087, | 
 | 	0x0000008b, | 
 | 	0x0000008d, | 
 | 	0x0000008f, | 
 | 	0x00000095, | 
 | 	0x00000097, | 
 | 	0x00000099, | 
 | 	0x0000009b, | 
 | 	0x000000a1, | 
 | 	0x000000a5, | 
 | 	0x000000af, | 
 | 	0x000000b3, | 
 | 	0x000000b5, | 
 | 	0x000000b7, | 
 | 	0x000000bd, | 
 | 	0x000000c1, | 
 | 	0x000000c3, | 
 | 	0x000000c5, | 
 | 	0x000000cd, | 
 | 	0x000000d1, | 
 | 	0x000000d3, | 
 | 	0x000000d9, | 
 | 	0x000000db, | 
 | 	0x000000dd, | 
 | 	0x000000df, | 
 | 	0x000000e5, | 
 | 	0x000000ef, | 
 | 	0x000000f9, | 
 | 	0x000000fd, | 
 | 	0x000000ff, | 
 | 	0x00000101, | 
 | 	0x00000103, | 
 | 	0x00000109, | 
 | 	0x0000010d, | 
 | 	0x00000117, | 
 | 	0x0000011f, | 
 | 	0x00000121, | 
 | }; | 
 |  | 
 | static struct { | 
 | 	u32	offset; | 
 | 	void		*address; | 
 | } EXTERNAL_PATCHES[] __attribute((unused)) = { | 
 | }; | 
 |  | 
 | static u32 INSTRUCTIONS __attribute((unused))	= 149; | 
 | static u32 PATCHES __attribute((unused))	= 56; | 
 | static u32 EXTERNAL_PATCHES_LEN __attribute((unused))	= 0; |