User guide

6: ICP Software
DC 900-1338I 99
6.1.3.1 Read Request Processing
The utility task, spshio, issues read requests to XIO to obtain messages from the ICPs
host, which could be either data or control messages. A message from the ICPs host
contains one of the command codes described in Chapter 9. The
DLI_PROT_SEND_NORM_DATA command code is used as an example in this section
to describe the steps involved in processing read requests. Figure67 illustrates these
steps.
1. To obtain messages from the ICPs host, the utility task creates read request queue
elements composed of headers from partition H and data buffers from partition
D. The utility task sets the disposition flags in the system buffer headers to inform
XIO of the action it should take when the request is complete. It also sets the node
number in the host request header for XIO to use in communicating with the
host. Sixteen queue elements are created for node 1 and sixteen for node 2. These
are the only nodes to which the host can write.
2. The utility task issues read requests to XIO for each queue element created in
Step 1.
3. For each read request, XIO posts a read to the Read Request Queue associated
with the node identified in the host request header.
4. When the ICPs host sends a write request to its driver, XIO transfers the message
to the data buffer, and the ICP read request issued in step 2 is complete.
5. XIO posts the header and the data buffer to the utility tasks data and header input
queues for node 1 or 2.
6. The protocol and utility tasks then do the following:
a. Based on the
session or link field of the ICP header, the utility task multi-
plexes and transfers the data buffers from its data input queue to the appro-
priate server-to-board queue.