📄 53c8xx_d.h
字号:
JUMP spew_dataout, WHEN DATA_OUTat 0x0000022a : */ 0x800b0000,0x00000910,/* JUMP satedat 0x0000022c : */ 0x80080000,0x00000918,/*spew_cmd: MOVE 1, NCR53c7xx_zero, WHEN CMDat 0x0000022e : */ 0x0a000001,0x00000000,/* JUMP satedat 0x00000230 : */ 0x80080000,0x00000918,/*eat_msgin: MOVE 1, NCR53c7xx_sink, WHEN MSG_INat 0x00000232 : */ 0x0f000001,0x00000000,/* JUMP eat_msgin, WHEN MSG_INat 0x00000234 : */ 0x870b0000,0x000008c8,/* JUMP satedat 0x00000236 : */ 0x80080000,0x00000918,/*eat_status: MOVE 1, NCR53c7xx_sink, WHEN STATUSat 0x00000238 : */ 0x0b000001,0x00000000,/* JUMP eat_status, WHEN STATUSat 0x0000023a : */ 0x830b0000,0x000008e0,/* JUMP satedat 0x0000023c : */ 0x80080000,0x00000918,/*eat_datain: MOVE 1, NCR53c7xx_sink, WHEN DATA_INat 0x0000023e : */ 0x09000001,0x00000000,/* JUMP eat_datain, WHEN DATA_INat 0x00000240 : */ 0x810b0000,0x000008f8,/* JUMP satedat 0x00000242 : */ 0x80080000,0x00000918,/*spew_dataout: MOVE 1, NCR53c7xx_zero, WHEN DATA_OUTat 0x00000244 : */ 0x08000001,0x00000000,/*sated: MOVE SCNTL2 & 0x7f TO SCNTL2at 0x00000246 : */ 0x7c027f00,0x00000000,/* MOVE 1, NCR53c7xx_msg_abort, WHEN MSG_OUTat 0x00000248 : */ 0x0e000001,0x00000000,/* WAIT DISCONNECTat 0x0000024a : */ 0x48000000,0x00000000,/* INT int_norm_abortedat 0x0000024c : */ 0x98080000,0x02040000,/*;; dsa_to_scratch; scratch_to_dsa;; PURPOSE :; The NCR chips cannot do a move memory instruction with the DSA register ; as the source or destination. So, we provide a couple of subroutines; that let us switch between the DSA register and scratch register.;; Memory moves to/from the DSPS register also don't work, but we ; don't use them.;; dsa_to_scratch: MOVE DSA0 TO SFBRat 0x0000024e : */ 0x72100000,0x00000000,/* MOVE SFBR TO SCRATCH0at 0x00000250 : */ 0x6a340000,0x00000000,/* MOVE DSA1 TO SFBRat 0x00000252 : */ 0x72110000,0x00000000,/* MOVE SFBR TO SCRATCH1at 0x00000254 : */ 0x6a350000,0x00000000,/* MOVE DSA2 TO SFBRat 0x00000256 : */ 0x72120000,0x00000000,/* MOVE SFBR TO SCRATCH2at 0x00000258 : */ 0x6a360000,0x00000000,/* MOVE DSA3 TO SFBRat 0x0000025a : */ 0x72130000,0x00000000,/* MOVE SFBR TO SCRATCH3at 0x0000025c : */ 0x6a370000,0x00000000,/* RETURNat 0x0000025e : */ 0x90080000,0x00000000,/*scratch_to_dsa: MOVE SCRATCH0 TO SFBRat 0x00000260 : */ 0x72340000,0x00000000,/* MOVE SFBR TO DSA0at 0x00000262 : */ 0x6a100000,0x00000000,/* MOVE SCRATCH1 TO SFBRat 0x00000264 : */ 0x72350000,0x00000000,/* MOVE SFBR TO DSA1at 0x00000266 : */ 0x6a110000,0x00000000,/* MOVE SCRATCH2 TO SFBRat 0x00000268 : */ 0x72360000,0x00000000,/* MOVE SFBR TO DSA2at 0x0000026a : */ 0x6a120000,0x00000000,/* MOVE SCRATCH3 TO SFBRat 0x0000026c : */ 0x72370000,0x00000000,/* MOVE SFBR TO DSA3at 0x0000026e : */ 0x6a130000,0x00000000,/* RETURNat 0x00000270 : */ 0x90080000,0x00000000,};#define A_NCR53c7xx_msg_abort 0x00000000u32 A_NCR53c7xx_msg_abort_used[] = { 0x00000249,};#define A_NCR53c7xx_msg_reject 0x00000000u32 A_NCR53c7xx_msg_reject_used[] = { 0x00000172,};#define A_NCR53c7xx_sink 0x00000000u32 A_NCR53c7xx_sink_used[] = { 0x00000233, 0x00000239, 0x0000023f,};#define A_NCR53c7xx_zero 0x00000000u32 A_NCR53c7xx_zero_used[] = { 0x0000022f, 0x00000245,};#define A_NOP_insn 0x00000000u32 A_NOP_insn_used[] = { 0x00000010,};#define A_addr_reconnect_dsa_head 0x00000000u32 A_addr_reconnect_dsa_head_used[] = { 0x000001a7,};#define A_addr_scratch 0x00000000u32 A_addr_scratch_used[] = { 0x00000004, 0x0000001b, 0x00000046, 0x00000067, 0x00000073, 0x000000b0, 0x000000c6, 0x00000128, 0x00000141, 0x000001a1, 0x000001ce,};#define A_addr_temp 0x00000000u32 A_addr_temp_used[] = { 0x00000025, 0x00000034,};#define A_dmode_memory_to_memory 0x00000000u32 A_dmode_memory_to_memory_used[] = { 0x00000005, 0x0000001c, 0x00000027, 0x00000035, 0x00000047, 0x00000069, 0x00000075, 0x000000b2, 0x000000c8, 0x0000012a, 0x00000143, 0x00000199, 0x000001a2, 0x000001d0,};#define A_dmode_memory_to_ncr 0x00000000u32 A_dmode_memory_to_ncr_used[] = { 0x00000000, 0x00000017, 0x00000030, 0x00000042, 0x0000019d,};#define A_dmode_ncr_to_memory 0x00000000u32 A_dmode_ncr_to_memory_used[] = { 0x00000022, 0x00000064, 0x00000070, 0x000000ad, 0x000000c3, 0x00000125, 0x0000013e, 0x000001cb,};#define A_dsa_check_reselect 0x00000000u32 A_dsa_check_reselect_used[] = { 0x000001bd,};#define A_dsa_cmdout 0x00000048u32 A_dsa_cmdout_used[] = { 0x00000094,};#define A_dsa_cmnd 0x00000038u32 A_dsa_cmnd_used[] = {};#define A_dsa_datain 0x00000054u32 A_dsa_datain_used[] = { 0x000000bb,};#define A_dsa_dataout 0x00000050u32 A_dsa_dataout_used[] = { 0x000000a5,};#define A_dsa_end 0x00000070u32 A_dsa_end_used[] = {};#define A_dsa_fields_start 0x00000000u32 A_dsa_fields_start_used[] = {};#define A_dsa_msgin 0x00000058u32 A_dsa_msgin_used[] = { 0x00000188,};#define A_dsa_msgout 0x00000040u32 A_dsa_msgout_used[] = { 0x00000086,};#define A_dsa_msgout_other 0x00000068u32 A_dsa_msgout_other_used[] = { 0x00000180,};#define A_dsa_next 0x00000030u32 A_dsa_next_used[] = { 0x0000005c,};#define A_dsa_restore_pointers 0x00000000u32 A_dsa_restore_pointers_used[] = { 0x0000012e,};#define A_dsa_save_data_pointer 0x00000000u32 A_dsa_save_data_pointer_used[] = { 0x00000115,};#define A_dsa_select 0x0000003cu32 A_dsa_select_used[] = { 0x00000081,};#define A_dsa_status 0x00000060u32 A_dsa_status_used[] = { 0x00000184,};#define A_dsa_temp_addr_array_value 0x00000000u32 A_dsa_temp_addr_array_value_used[] = {};#define A_dsa_temp_addr_dsa_value 0x00000000u32 A_dsa_temp_addr_dsa_value_used[] = { 0x00000003,};#define A_dsa_temp_addr_new_value 0x00000000u32 A_dsa_temp_addr_new_value_used[] = {};#define A_dsa_temp_addr_next 0x00000000u32 A_dsa_temp_addr_next_used[] = { 0x00000015, 0x0000004e,};#define A_dsa_temp_addr_residual 0x00000000u32 A_dsa_temp_addr_residual_used[] = { 0x0000002a, 0x00000039,};#define A_dsa_temp_addr_saved_pointer 0x00000000u32 A_dsa_temp_addr_saved_pointer_used[] = { 0x00000026, 0x00000033,};#define A_dsa_temp_addr_saved_residual 0x00000000u32 A_dsa_temp_addr_saved_residual_used[] = { 0x0000002b, 0x00000038,};#define A_dsa_temp_lun 0x00000000u32 A_dsa_temp_lun_used[] = { 0x0000004b,};#define A_dsa_temp_next 0x00000000u32 A_dsa_temp_next_used[] = { 0x0000001a,};#define A_dsa_temp_sync 0x00000000u32 A_dsa_temp_sync_used[] = { 0x00000053,};#define A_dsa_temp_target 0x00000000u32 A_dsa_temp_target_used[] = { 0x00000040,};#define A_int_debug_break 0x03000000u32 A_int_debug_break_used[] = { 0x00000217,};#define A_int_debug_panic 0x030b0000u32 A_int_debug_panic_used[] = { 0x000001e8, 0x000001f8,};#define A_int_err_check_condition 0x00030000u32 A_int_err_check_condition_used[] = { 0x00000194,};#define A_int_err_no_phase 0x00040000u32 A_int_err_no_phase_used[] = {};#define A_int_err_selected 0x00010000u32 A_int_err_selected_used[] = { 0x000001da,};#define A_int_err_unexpected_phase 0x00000000u32 A_int_err_unexpected_phase_used[] = { 0x0000008c, 0x00000092, 0x0000009a, 0x000000d0, 0x000000d4, 0x000000d6, 0x000000de, 0x000000e2, 0x000000e4, 0x000000ec, 0x000000f0, 0x000000f2, 0x000000f4, 0x0000014c,};#define A_int_err_unexpected_reselect 0x00020000u32 A_int_err_unexpected_reselect_used[] = { 0x000001ba,};#define A_int_msg_1 0x01020000u32 A_int_msg_1_used[] = { 0x0000010e, 0x00000110,};#define A_int_msg_sdtr 0x01010000u32 A_int_msg_sdtr_used[] = { 0x0000016c,};#define A_int_msg_wdtr 0x01000000u32 A_int_msg_wdtr_used[] = { 0x00000160,};#define A_int_norm_aborted 0x02040000u32 A_int_norm_aborted_used[] = { 0x0000024d,};#define A_int_norm_command_complete 0x02020000u32 A_int_norm_command_complete_used[] = {};#define A_int_norm_disconnected 0x02030000u32 A_int_norm_disconnected_used[] = {};#define A_int_norm_reselect_complete 0x02010000u32 A_int_norm_reselect_complete_used[] = {};#define A_int_norm_reset 0x02050000u32 A_int_norm_reset_used[] = {};#define A_int_norm_select_complete 0x02000000u32 A_int_norm_select_complete_used[] = {};#define A_int_test_1 0x04000000u32 A_int_test_1_used[] = { 0x000001fd,};#define A_int_test_2 0x04010000u32 A_int_test_2_used[] = { 0x00000215,};#define A_int_test_3 0x04020000u32 A_int_test_3_used[] = {};#define A_msg_buf 0x00000000u32 A_msg_buf_used[] = { 0x00000102, 0x0000014e, 0x00000158, 0x0000015e, 0x00000164, 0x0000016a,};#define A_reconnect_dsa_head 0x00000000u32 A_reconnect_dsa_head_used[] = { 0x0000006c, 0x00000074, 0x000001a0,};#define A_reselected_identify 0x00000000u32 A_reselected_identify_used[] = { 0x00000045, 0x0000019c,};#define A_reselected_tag 0x00000000u32 A_reselected_tag_used[] = {};#define A_schedule 0x00000000u32 A_schedule_used[] = { 0x0000007e, 0x00000192, 0x000001e2, 0x0000021f,};#define A_test_dest 0x00000000u32 A_test_dest_used[] = { 0x000001fb,};#define A_test_src 0x00000000u32 A_test_src_used[] = { 0x000001fa,};#define Ent_accept_message 0x000005d4#define Ent_cmdout_cmdout 0x0000024c#define Ent_command_complete 0x0000060c#define Ent_command_complete_msgin 0x0000061c#define Ent_data_transfer 0x00000254#define Ent_datain_to_jump 0x00000328#define Ent_debug_break 0x00000858#define Ent_dsa_code_begin 0x00000000#define Ent_dsa_code_check_reselect 0x000000f8#define Ent_dsa_code_fix_jump 0x0000003c#define Ent_dsa_code_restore_pointers 0x000000c0#define Ent_dsa_code_save_data_pointer 0x00000088#define Ent_dsa_code_template 0x00000000#define Ent_dsa_code_template_end 0x00000168#define Ent_dsa_schedule 0x00000168#define Ent_dsa_zero 0x00000168#define Ent_end_data_transfer 0x0000028c#define Ent_initiator_abort 0x00000880#define Ent_msg_in 0x00000404#define Ent_msg_in_restart 0x000003e4#define Ent_other_in 0x00000374#define Ent_other_out 0x0000033c#define Ent_other_transfer 0x000003ac#define Ent_reject_message 0x000005b4#define Ent_reselected_check_next 0x000006a4#define Ent_reselected_ok 0x00000750#define Ent_respond_message 0x000005ec#define Ent_select 0x000001fc#define Ent_select_msgout 0x00000214#define Ent_target_abort 0x00000860#define Ent_test_1 0x000007e4#define Ent_test_2 0x000007f8#define Ent_test_2_msgout 0x00000810#define Ent_wait_reselect 0x00000654u32 LABELPATCHES[] = { 0x00000008, 0x0000000a, 0x00000013, 0x00000016, 0x0000001f, 0x00000021, 0x0000004f, 0x00000051, 0x0000005b, 0x00000068, 0x0000006f, 0x00000082, 0x00000084, 0x0000008a, 0x0000008e, 0x00000090, 0x00000096, 0x00000098, 0x0000009c, 0x0000009e, 0x000000a0, 0x000000a2, 0x000000a4, 0x000000b1, 0x000000b6, 0x000000ba, 0x000000c7, 0x000000cc, 0x000000d2, 0x000000d8, 0x000000da, 0x000000e0, 0x000000e6, 0x000000e8, 0x000000ee, 0x000000f6, 0x000000f8, 0x00000104, 0x00000106, 0x00000108, 0x0000010a, 0x0000010c, 0x00000112, 0x00000114, 0x00000129, 0x00000142, 0x00000148, 0x00000150, 0x00000152, 0x00000154, 0x0000015a, 0x00000166, 0x00000196, 0x000001a5, 0x000001a8, 0x000001ac, 0x000001b0, 0x000001b4, 0x000001b8, 0x000001cf, 0x000001de, 0x000001e6, 0x000001ec, 0x000001ee, 0x000001f2, 0x000001f6, 0x00000201, 0x00000203, 0x00000223, 0x00000225, 0x00000227, 0x00000229, 0x0000022b, 0x0000022d, 0x00000231, 0x00000235, 0x00000237, 0x0000023b, 0x0000023d, 0x00000241, 0x00000243,};struct { u32 offset; void *address;} EXTERNAL_PATCHES[] = {};u32 INSTRUCTIONS = 301;u32 PATCHES = 81;u32 EXTERNAL_PATCHES_LEN = 0;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -