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.