beautypg.com

Figure10.3 multithreaded scripts example step 1, Multithreaded scripts example step 1 – Avago Technologies LSI53C1010 User Manual

Page 241

background image

Multithreaded SCRIPTS Example

10-5

queue tag messages. There must also be a DSA table entry for each
possible outstanding tagged command per target ID instead of just one
per target ID as in this example. This program appears in

Appendix B,

“Multithreaded SCRIPTS Example.”

Any item in the code examples that is preceded by “PATCH_” must be
patched by the driver. Patching only occurs when the driver is initially
loaded. After initialization, all required addresses are in the SCRIPTS
array. For more information on instruction patching, refer to

Chapter 7,

“Integrating SCRIPTS Programs into “C” Language Drivers.”

Note:

Both dashed and solid lines are used in some of the
program illustrations. The dashed lines indicate pointers
and the solid lines indicate data movement in the direction
indicated by the arrows.

1.

The CPU writes a JUMP into the io_requestX scheduler slot as
shown in

Figure 10.3

.

Figure 10.3 Multithreaded SCRIPTS Example Step 1

2.

The CPU may need to set the SIGP bit to indicate that an I/O needs
to be processed.

If this happens the SCRIPTS processor JUMPs to the scheduler. The
first instruction in the scheduler sets up the DSA to point to the
correct table in the

Figure 10.4

example.

JUMP

CPU

JUMP

io_request0:

rel (multi_thread)

This manual is related to the following products: