beautypg.com

Figure10.9 multithreaded scripts example step 13, 5 using the sigp bit to abort an instruction, Figure10.10 sample sigp code – Avago Technologies LSI53C1010 User Manual

Page 246: Using the sigp bit to abort an instruction, Multithreaded scripts example step 13, Scsi scripts language elements

background image

10-10

Multithreaded I/O

13. SCRIPTS continues with a normal I/O until I/O completion, as shown

in

Figure 10.9

.

Figure 10.9 Multithreaded SCRIPTS Example Step 13

10.5 Using the SIGP Bit to Abort an Instruction

The SIGP (Signal Process) bit in the ISTAT register passes a flag to a
running SCRIPTS instruction. The SIGP signals that an I/O is ready for
execution and has already been scheduled by the host processor. The
only SCRIPTS instructions directly affected by this bit are Wait Select
and Wait Reselect. Setting the SIGP bit immediately jumps the
instruction to the alternate address. For more information on this bit, refer
to your chip technical manual. The SCRIPTS code in

Figure 10.10

is an

example of how to use the SIGP bit when attempting to abort a Wait
Reselect or Wait Select instruction, assuming that the device is in the
initiator role.

Figure 10.10 Sample SIGP Code

;************************************
reselect_entry:

WAIT RESELECT alt_sig_p

;

if here, got reselected

handle_resel:

JUMP REL (to_decisions)
id_1:
MOVE MEMORY 4, PATCH_addr_of_table1_ptr,
PATCH_chip_physaddr+DSA
MOVE MEMORY 1, PATCH_addr_of_table 1+2,
PATCH_chip_physaddr+SXFER
MOVE FROM identify_msg_buf, WHEN MSG_IN
CLEAR ACK
JUMP REL (to_decisions)
id_2:
MOVE MEMORY 4, PATCH_addr_of_table 2_ptr,
PATCH_chip_physaddr+DSA
MOVE MEMORY 1, PATCH_addr_of_table 2+2,
PATCH_chip_physaddr+SXFER
MOVE FROM identify_msg_buf, WHEN MSG_IN
CLEAR ACK
JUMP REL (to_decisions)

This manual is related to the following products: