Next | Prev | Up | Top | Contents | Index

Determining GIO Device Addresses

Each GIO device has a range of GIO-bus addresses to which it responds. These addresses correspond to device registers or on-board memory, depending on the GIO device.[14] GIO-bus addresses cannot be mapped into user address space. GIO devices can be classified as 32-bit or 64-bit.

The address range for GIO-bus devices is determined by the slot number of the device. The hardware must be designed to determine which slot the device is in and make the appropriate adjustments to respond to that slot's address range.

Indigo, Indigo2, and Indy systems all have two slots available for GIO devices. However, the address spaces for Indigo2 are slightly different than for Indigo and Indy.

For Indigo and Indy, the two slots are known as exp0 and exp1. The Indigo2's slots are known as gfx, exp0, and exp1.

The gfx slot is normally used for the graphics card, but it can be used as a regular GIO card slot if the graphics can be moved up into the exp0 slot. This slot's address space is also available on Challenge M (Indigo2 with no graphics) systems.

Table 6-1 shows the slot names and addresses available on the Indigo, Indigo2, and Indy platforms.

Indigo, Indigo2, and Indy Slot Names and Addresses
Slot NameAddressIndigo/IndyIndigo2
gfx0x1f000000-0x1f3fffffN/AAvailable
exp00x1f400000-0x1f5fffffAvailableAvailable
exp10x1f600000-0x1f9fffffAvailableN/A

GIO-bus devices use only one interrupt level -- interrupt 1. Interrupts 0 and 2 are used by the graphics system and may not be used by GIO-bus devices.

Since one interrupt serves multiple GIO devices, the interrupt routine in each driver must be able to deal with the various interrupt situations:


[14] Unlike VME, where the class of device determines the address range, each GIO device responds to the same address range.

Next | Prev | Up | Top | Contents | Index