Browse Prior Art Database

Algorithm To Configure Valid RIO Drawers Topology And To Detect Invalid RIO Drawers Topology For RIO Hubs I/O Subsystem

IP.com Disclosure Number: IPCOM000016160D
Original Publication Date: 2002-Jul-12
Included in the Prior Art Database: 2003-Jun-21
Document File: 3 page(s) / 62K

Publishing Venue

IBM

Abstract

Algorithm To Configure Valid RIO Drawers Topology And To Detect Invalid RIO Drawers Topology For RIO Hubs I/O Subsystem Disclosed is an enhanced algorithm to configure valid I/O drawers topologies, and to detect invalid I/O drawers topologies for the Remote-IO (RIO) subsystem of the pSeries eServer machines. The enhance algorithm introduces an early probing pass before the normal probing pass. After the early probing pass is done, only valid I/O drawer topologies are found in the system. The normal configuration code uses the result of the early probing pass to configure the I/O drawers for normal operation. The algorithm is outlined below: For each RIO hub present in the system.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

Algorithm To Configure Valid RIO Drawers Topology And To Detect Invalid RIO

Drawers Topology For RIO Hubs I/O Subsystem

Disclosed is an enhanced algorithm to configure valid I/O drawers topologies, and to detect invalid I/O drawers topologies for the Remote-IO (RIO) subsystem of the pSeries eServer machines. The enhance algorithm introduces an early probing pass before the normal probing pass. After the early probing pass is done, only valid I/O drawer topologies are found in the system. The normal configuration code uses the result of the early probing pass to configure the I/O drawers for normal operation. The algorithm is outlined below:

For each RIO hub present in the system.

Initialize the hub by setting up appropriate registers of the hub.

Set up and make sure that the hub NODE ID = 0. Initialize data structures of the early probing pass of this hub.

Do hub_port from 0 to 3.

A) Set up the hub's routing table to route NODE ID=2 (default NODE ID of

an I/O drawer) to hub_port.
B) Set the probe_port to start with hub_port. Make sure that something is

attached to the probe_port. Otherwise, the probing is done. Go to step
2.9.I.
C) Enable the driver of the probe_port. Enable any-node mode of the

probe_port. Read the NODE ID of the hardware attached to the probe_port. If the NODE ID = 2, then an new I/O drawer is detected. Add it to the total number of I/O drawers found from hub_port.

Identify the entry port of the newly found I/O drawer which is attached to the probe_port. Identify the exit port of the newly found I/O drawer. Acquire an unique temporary NODE ID for this drawer. Update the new drawer's routing table.

   All in-use temporary NODE IDs and the hub's NODE ID (0) are routed to the enter port. All Other NODE IDs are routed to the exit port. Assign temporary base address and this acquired temporary NODE ID to the I/O drawer. Update the hub's routine table for this acquired temporary NODE ID to be routed to hub_port.

Disable any-node mode of the probe_port. Select the exit port of the I/O drawer to be the probe_port. Go to step
2.3.C.
D) If the NODE ID = 0, then a hub is detected. We may have a closed


1.


2.

Enter Early probing pass.


1.


2.


3.


4.

loop.

If hub_port is even, the port of the hub attached to the probe_port

1

Page 2 of 3

must be hub_port+1. Otherwise, an invalid topology is detected. The system will be halted. The cabling error code and the location code of the hub_port are reported.

If hub_port is odd, we must not see NODE ID 0. Therefore, an invalid topology is also detected. Again, the system will be halted. The cabling error code and the location code of the hub_port are reported. Now, a valid closed loop is confirmed. Enable the driver of the new hub port (hub_port+1). The probing is completed for hub_port. Go to step
2.7.G.
E) If the NODE ID is in use, i.e. neither 0 nor 2, an invalid topology is

detected. The system is halted. The cabling error code and the location of the hub_port are reported.
F) If nothing is f...