pci
—
introduction to machine-independent PCI bus support and
drivers
pci* at mainbus? bus ?
pci* at pchb? bus ?
pci* at ppb? bus ?
options PCIVERBOSE
options PCI_CONFIG_DUMP
options PCI_ADDR_FIXUP
options PCI_BUS_FIXUP
options PCI_INTR_FIXUP
Other pci
attachments are machine-dependent and depend
on the bus topology and PCI bus interface of your system. See
intro(4) for your system for
details.
NetBSD includes a machine-independent PCI
bus subsystem and several machine-independent PCI device drivers.
Your system may support additional PCI devices. Drivers for PCI
devices not listed here are machine-dependent. Consult your system's
intro(4) for additional
information.
PCI_ADDR_FIXUP
- Fixup PCI I/O and memory addresses.
Some i386 and amd64 BIOS implementations don't allocate I/O
space and memory space for some PCI devices — primarily BIOS in
PnP mode, or laptops that expect devices to be configured via ACPI.
Since necessary space isn't allocated, those devices will not work
without special handling.
This option allocates I/O space and memory space instead of
relying upon the BIOS to do so.
If necessary space is already correctly assigned to the
devices, this option leaves the space as is.
PCI_BUS_FIXUP
- Fixup PCI bus numbering; needed for many
cardbus(4) bridges.
Each PCI bus and CardBus should have a unique bus number. But
some BIOS implementations don't assign a bus number for subordinate PCI
buses. And many BIOS implementations don't assign a bus number for
CardBuses.
A typical symptom of this is the following boot message:
cardbus0 at cardslot0: bus 0 device
0...
Please note that this cardbus0 has a bus number ‘0’, but
normally the bus number 0 is used by the machine's primary PCI bus. Thus,
this bus number for cardbus is incorrect (not assigned). In this
situation, a device located in cardbus0 doesn't show correct device ID,
because its bus number 0 incorrectly refers to the primary PCI bus, and a
device ID in the primary PCI bus is shown in the boot message instead of
the device's ID in the cardbus0.
This option assigns bus numbers for all subordinate PCI buses
and CardBuses.
Since this option renumbers all PCI buses and CardBuses, all
bus numbers of subordinate buses become different when this option is
enabled.
PCI_INTR_FIXUP
- Fixup PCI interrupt routing via PCIBIOS or ACPI.
Some i386 and amd64 BIOS implementations don't assign an
interrupt for some devices.
This option assigns an interrupt for such devices instead of
relying upon the BIOS to do so.
If a valid interrupt has already been assigned to a device,
this option leaves the interrupt as is.
NetBSD includes machine-independent PCI drivers, sorted
by device type and driver name:
- ahc
- Adaptec 29xx, 39xx, and other AIC-7xxx-based SCSI interfaces.
- adv
- Advansys SCSI interfaces.
- adw
- Advansys Ultra Wide SCSI interfaces.
- bha
- Buslogic BT-9xx SCSI interfaces.
- dpt
- DPT SmartCache/SmartRAID III and IV SCSI interfaces.
- iha
- Initio INIC-940/950 SCSI interfaces.
- isp
- QLogic ISP-1020, ISP-1040, and ISP-2100 SCSI and FibreChannel
interfaces.
- mfi
- LSI Logic & Dell MegaRAID SAS RAID controllers.
- mly
- Mylex AcceleRAID and eXtremeRAID controllers with v6 firmware.
- nca
- Domex 536 SCSI interfaces.
- pcscp
- Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interfaces.
- siop
- Symbios Logic/NCR 53c8xx-family SCSI interfaces.
- trm
- Tekram TRM-S1040 ASIC based SCSI interfaces.
- aac
- The Adaptec AAC family of RAID controllers.
- ahcisata
- AHCI 1.0 and 1.1 compliant SATA controllers.
- amr
- The AMI and LSI Logic MegaRAID family of RAID controllers.
- cac
- Compaq array controllers.
- icp
- ICP Vortex GDT and Intel Storage RAID controllers.
- mlx
- Mylex DAC960 and DEC SWXCR RAID controllers.
- pciide
- IDE disk controllers.
- twe
- 3Ware Escalade RAID controllers.
- an
- Aironet 4500/4800 and Cisco 340 series 802.11 interfaces.
- bnx
- Broadcom NetXtreme II 10/100/1000 Ethernet interfaces.
- de
- DEC DC21x4x (Tulip) based Ethernet interfaces, including the DE435, DE450,
and DE500, and Znyx, SMC, Cogent/Adaptec, and Asante single- and
multi-port Ethernet interfaces.
- ep
- 3Com 3c590, 3c595, 3c900, and 3c905 Ethernet interfaces.
- epic
- SMC83C170 (EPIC/100) Ethernet interfaces.
- esh
- RoadRunner-based HIPPI interfaces.
- ex
- 3Com 3c900, 3c905, and 3c980 Ethernet interfaces.
- fpa
- DEC DEFPA FDDI interfaces.
- fxp
- Intel EtherExpress PRO 10+/100B Ethernet interfaces.
- gsip
- National Semiconductor DP83820 based Gigabit Ethernet interfaces.
- hme
- Sun Microelectronics STP2002-STQ Ethernet interfaces.
- le
- PCNet-PCI Ethernet interfaces. Note, the
pcn(4) driver supersedes this
driver.
- msk
- Marvell Yukon 2 based Gigabit Ethernet interfaces.
- ne
- NE2000-compatible Ethernet interfaces.
- nfe
- NVIDIA nForce Ethernet interfaces.
- ntwoc
- SDL Communications N2pci and WAN/ic 400 synchronous serial
interfaces.
- pcn
- AMD PCnet-PCI family of Ethernet interfaces.
- ral
- Ralink Technology RT2500/RT2600-based 802.11a/b/g wireless network
interfaces.
- rtk
- Realtek 8129/8139 based Ethernet interfaces.
- rtwn
- Realtek RTL8188CE/RTL8192CE 802.11b/g/n wireless network interfaces.
- sf
- Adaptec AIC-6915 10/100 Ethernet interfaces.
- sip
- Silicon Integrated Systems SiS 900, SiS 7016, and National Semiconductor
DP83815 based Ethernet interfaces.
- sk
- SysKonnect SK-98xx based Gigabit Ethernet interfaces.
- ste
- Sundance ST-201 10/100 based Ethernet interfaces.
- stge
- Sundance/Tamarack TC9021 based Gigabit Ethernet interfaces.
- ti
- Alteon Networks Tigon I and Tigon II Gigabit Ethernet driver.
- tl
- Texas Instruments ThunderLAN-based Ethernet interfaces.
- tlp
- DECchip 21x4x and clone Ethernet interfaces.
- vge
- VIA Networking Technologies VT6122 PCI Gigabit Ethernet adapter
driver.
- vr
- VIA VT3043 (Rhine) and VT86C100A (Rhine-II) Ethernet interfaces.
- wi
- WaveLAN/IEEE and PRISM-II 802.11 wireless interfaces.
- wm
- Intel i8254x Gigabit Ethernet driver.
- cy
- Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial interfaces.
- cz
- Cyclades-Z series multi-port serial interfaces.
- auacer
- Acer Labs M5455 I/O Controller Hub integrated AC'97 audio device.
- auich
- Intel I/O Controller Hub integrated AC'97 audio device.
- auvia
- VIA VT82C686A integrated AC'97 audio device.
- autri
- Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 AC'97 audio device.
- clcs
- Cirrus Logic CS4280 audio device.
- clct
- Cirrus Logic CS4281 audio device.
- cmpci
- C-Media CMI8x38 audio device.
- eap
- Ensoniq AudioPCI audio device.
- emuxki
- Creative Labs SBLive! and PCI 512 audio device.
- esa
- ESS Technology Allegro-1 / Maestro-3 audio device.
- esm
- ESS Maestro-1/2/2e PCI AC'97 Audio Accelerator audio device.
- eso
- ESS Solo-1 PCI AudioDrive audio device.
- fms
- Forte Media FM801 audio device.
- neo
- NeoMagic MagicMedia 256 audio device.
- sv
- S3 SonicVibes audio device.
- yds
- Yamaha YMF724/740/744/754-based audio device.
- cbb
- PCI Yenta compatible CardBus bridges.
- ppb
- Generic PCI-PCI bridges, including PCI expansion backplanes.
- bktr
- Brooktree 848 compatible TV cards.
- ehci
- USB EHCI host controllers.
- iop
- I2O I/O processors.
- mr
- Guillemot Maxi Radio FM 2000 FM radio device.
- nvme
- Non-Volatile Memory Host controllers.
- oboe
- Toshiba OBOE IrDA SIR/FIR controller.
- ohci
- USB OHCI host controllers.
- pcic
- PCI PCMCIA controllers, including the Cirrus Logic GD6729.
- puc
- PCI “universal” communications cards, containing
com(4) and
lpt(4) communications
ports.
- uhci
- USB UHCI host controllers.
- viapm
- VIA VT82C686A hardware monitors.
- vga
- VGA graphics boards.
aac(4),
adv(4),
adw(4),
agp(4),
ahc(4),
ahcisata(4),
amr(4),
an(4),
auich(4),
autri(4),
auvia(4),
bha(4),
bktr(4),
bnx(4),
cac(4),
cbb(4),
clcs(4),
cmpci(4),
cy(4),
cz(4),
de(4),
dpt(4),
eap(4),
ehci(4),
emuxki(4),
ep(4),
epic(4),
esa(4),
esh(4),
esm(4),
eso(4),
ex(4),
fms(4),
fpa(4),
fxp(4),
gsip(4),
hme(4),
icp(4),
iha(4),
intro(4),
iop(4),
isp(4),
le(4),
mfi(4),
mlx(4),
mly(4),
mpt(4),
msk(4),
nca(4),
ne(4),
neo(4),
nfe(4),
ntwoc(4),
nvme(4),
oboe(4),
ohci(4),
pcic(4),
pciide(4),
pcn(4),
pcscp(4),
ppb(4),
puc(4),
ral(4),
rtk(4),
rtwn(4),
sf(4),
siisata(4),
siop(4),
sip(4),
sk(4),
ste(4),
stge(4),
sv(4),
ti(4),
tl(4),
tlp(4),
trm(4),
twe(4),
uhci(4),
vax/en(4),
vga(4),
vge(4),
vr(4),
wi(4),
wm(4),
wscons(4),
yds(4)
The machine-independent PCI subsystem appeared in NetBSD
1.2.