GIO(4) (sgimips)

GIO(4) | Device Drivers Manual (sgimips) | GIO(4)

# NAME

`gio` — SGI's Graphics I/O (GIO) bus (an early PCI-like bus)

# SYNOPSIS

`gio0 at imc0`
`gio0 at pic0`

# DESCRIPTION

The `gio` bus is a bus for connecting high-speed peripherals to the main memory and CPU. The devices themselves are typically (but not necessarily) connected to the sgimips/hpc(4) peripheral controller, and memory and CPU are accessed through the sgimips/imc(4) (Indy Memory Controller) or sgimips/pic(4) (Processor Interface Controller). The `gio` bus is found on the Personal Iris 4D/3x, Indigo, Indy, Challenge S, Challenge M, and Indigo2 machines and exists in three incarnations: GIO32, GIO32-bis, and GIO64.

# SEE ALSO

sgimips/giopci(4), sgimips/grtwo(4), sgimips/hpc(4), sgimips/imc(4), sgimips/light(4), sgimips/newport(4), sgimips/pic(4)

# HISTORY

The `gio` driver first appeared in NetBSD 1.5.

# CAVEATS

Challenge S systems may use only one `gio` DMA-capable expansion card, despite having two slots. Cards based on the sgimips/hpc(4) controller, such as the GIO32 scsi and E++ Ethernet adapters, must be placed in slot 1 (closest to the side of the case). All other cards must be placed in slot 0 (adjacent to the memory banks).

Indigo2 and Challenge M systems contain either three or four GIO64 connectors, depending on the model. However, in both cases only two electrically distinct slots are present. Therefore, distinct expansion cards may not share physical connectors associated with the same slot. Refer to the PCB stencils to determine the association between physical connectors and slots.

# BUGS

Systems employing the sgimips/imc(4) may experience spurious SysAD bus parity errors when using expansion cards, which do not drive all data lines during a CPU PIO read. The only workaround is to disable SysAD parity checking when using such cards.

February 17, 2017 | NetBSD 11.0