PCI(4) BSD Kernel Interfaces Manual PCI(4)NAMEpci — introduction to machine-independent PCI bus support and drivers
SYNOPSIS
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
DESCRIPTION
Other pci attachments are machine-dependent and depend on the bus topol‐
ogy 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.
OPTIONS
PCI_ADDR_FIXUP Fixup PCI I/O and memory addresses.
Some i386 and amd64 BIOS implementations don't allo‐
cate 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 num‐
ber. 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 Card‐
Buses.
A typical symptom of this is the following boot mes‐
sage:
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 Card‐
Buses, 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.
HARDWARE
NetBSD includes machine-independent PCI drivers, sorted by device type
and driver name:
SCSI interfaces
ahc Adaptec 29xx, 39xx, and other AIC-7xxx-based SCSI inter‐
faces.
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 inter‐
faces.
siop Symbios Logic/NCR 53c8xx-family SCSI interfaces.
trm Tekram TRM-S1040 ASIC based SCSI interfaces.
Disk and tape controllers
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 con‐
trollers.
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.
Network interfaces
an Aironet 4500/4800 and Cisco 340 series 802.11 inter‐
faces.
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.
en Midway-based Efficient Networks Inc. and Adaptec ATM
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.
lmc LAN Media Corp WAN interfaces.
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 wire‐
less network interfaces.
rtk Realtek 8129/8139 based Ethernet interfaces.
sf Adaptec AIC-6915 10/100 Ethernet interfaces.
sip Silicon Integrated Systems SiS 900, SiS 7016, and
National Semiconductor DP83815 based Ethernet inter‐
faces.
sk SysKonnect SK-98xx based Gigabit Ethernet interfaces.
ste Sundance ST-201 10/100 based Ethernet interfaces.
stge Sundance/Tamarack TC9021 based Gigabit Ethernet inter‐
faces.
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.
Serial interfaces
cy Cyclades Cyclom-4Y, -8Y, and -16Y multi-port serial
interfaces.
cz Cyclades-Z series multi-port serial interfaces.
Audio devices
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.
Bridges
cbb PCI Yenta compatible CardBus bridges.
ppb Generic PCI-PCI bridges, including PCI expansion back‐
planes.
Miscellaneous devices
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.
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.
SEE ALSOaac(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), en(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), lmc(4), mfi(4), mlx(4), mly(4), mpt(4), msk(4),
nca(4), ne(4), neo(4), nfe(4), ntwoc(4), oboe(4), ohci(4), pcic(4),
pciide(4), pcn(4), pcscp(4), ppb(4), puc(4), ral(4), rtk(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), vga(4), vge(4), viapm(4), vr(4), wi(4),
wm(4), wscons(4), yds(4)HISTORY
The machine-independent PCI subsystem appeared in NetBSD 1.2.
BSD April 1, 2010 BSD