User guide
7: Host/ICP Interface
DC 900-1338I 117
The ICP posts read requests to node 1 (the main node) and node 2 (the priority node);
all information coming to the ICP from the host processor arrives through these two
nodes. These nodes do have write queues, and in rare cases (such as rejecting an errone-
ous attach request) are used to pass information to the ICP’s host, but for the most part
they are a one-way path for messages coming from the host; these messages are then de-
multiplexed to the various links. The remaining nodes are used strictly by the ICP for
writing to the host. The ICP read request processing is explained in more detail in
Section 6.1.3.1 on page 99 and is shown in Figure 6–7 on page 100.
After a message bound for the application program is processed by the protocol task, it
is posted to the board-to-server queue belonging to that link. The utility task subse-
quently removes the message from that queue, prefixes a properly initialized buffer
header (for example, providing information on what to do with process completions),
then posts it as a write request to a write queue belonging to one of the nodes created at
startup. (The particular node is ascertained by indexing into the session table and
accessing the node number field by means of the unique session ID that was assigned to
that link as a result of a prior attach command.) XIO then passes the message through
to the host processor. The ICP write request processing is explained in more detail in
Section 6.1.3.2 on page 101 and is shown in Figure 6–8 on page 102.
Note that when a request completion is received from the host processor, XIO uses the
node number and request type to match the completion with a pending request. There-
fore XIO does not send the host processor a request for a particular node number until
any pending request from the same node number is complete. Additionally, requests
for any queue are sent to the host processor in the same order they were posted to the
queue, but no order is guaranteed for requests posted to different queues. Likewise,
notifications of completion are guaranteed to be in the same order that the completions
were received from the host processor, but the host processor is not required to send
completions in the same order that it received the requests. XIO provides two options
for processing the request completions. These options are described in Section 7.2.3.1
on page 126.