PCI(4)                    OpenBSD Programmer's Manual                   PCI(4)

NAME
     pci - introduction to PCI bus support

SYNOPSIS
     # alpha
     pci* at apecs?
     pci* at cia?
     pci* at irongate?
     pci* at lca?
     pci* at tsp?
     pci* at mcpcia?

     # amd64, i386
     pci* at mainbus0

     # armish
     pci* at iopxs0

     # hppa
     pci* at dino?
     pci* at elroy?

     # landisk
     pci* at shpcic?

     # loongson
     pci* at bonito?

     # macppc
     pci* at mpcpcibr?
     pci* at ht?

     # sgi
     pci* at macepcibr?
     pci* at xbridge?

     # sparc64
     pci* at psycho?
     pci* at schizo?
     pci* at pyro?
     pci* at vpci?

     # all architectures
     pci* at pchb?
     pci* at ppb?

DESCRIPTION
     The system includes a machine-independent PCI bus subsystem and several
     machine-independent PCI device drivers.

     Note that interrupt mappings on the i386 may require that you configure
     your BIOS to reserve sufficient interrupts as "PCI/ISAPnP" so that there
     are sufficient interrupts remaining to configure the discovered PCI de-
     vices.  For more information, see pcibios(4).

     OpenBSD provides support for the following devices.  Note that not all
     architectures support all devices.

   SCSI host adapters
        adv(4), adw(4)
                    AdvanSys PCI SCSI interface
        ahc(4)      Adaptec VL/EISA/PCI SCSI interface
        ahd(4)      Adaptec PCI/PCI-X AIC79xx-based Ultra320 SCSI interface
        bha(4)      Buslogic SCSI interface
        iha(4)      Initio INIC-940/950 based PCI SCSI interface
        isp(4)      QLogic based SCSI or Fibre Channel SCSI interface
        mpi(4)      LSI Logic Fusion-MPT Message Passing Interface
        mpii(4)     LSI Logic Fusion-MPT Message Passing Interface II
        pcscp(4)    Advanced Micro Devices Am53c974 PCscsi-PCI SCSI interface
        siop(4)     LSI/Symbios Logic/NCR 53c8xx SCSI interface
        sli(4)      Emulex LightPulse Fibre Channel SCSI interface
        trm(4)      TRM-S1040 based PCI SCSI interface

   IDE disk controllers
        ahci(4)     Advanced Host Controller Interface for Serial ATA
        jmb(4)      JMicron JMB36x SATA II and PATA Host Controller
        pciide(4)   PCI IDE controller driver
        sili(4)     Silicon Image 3124/3132/3531 SATA controller

   RAID and cache controllers
        aac(4)      Adaptec SAS/SATA/SCSI RAID controller
        ami(4)      American Megatrends Inc. MegaRAID PATA/SATA/SCSI RAID con-
                    troller
        arc(4)      Areca Technology Corporation SAS/SATA RAID controller
        cac(4)      Compaq Smart ARRAY 2/3/4 SCSI RAID controller
        ciss(4)     Compaq Smart ARRAY 5/6 SAS/SATA/SCSI RAID controller
        dpt(4)      DPT EATA SCSI RAID controller
        gdt(4)      ICP-Vortex and Intel GDT SATA/SCSI RAID controller
        iop(4)      I2O RAID controller
        ips(4)      IBM SATA/SCSI ServeRAID controller
        mfi(4)      LSI Logic & Dell MegaRAID SAS RAID controller
        twe(4)      3ware 5000/6000/7000/8000 series PATA/SATA RAID controller

   Wired network interfaces
        age(4)      Attansic L1 10/100/Gigabit Ethernet device
        alc(4)      Atheros AR8131/AR8132 10/100/Gigabit Ethernet device
        ale(4)      Atheros AR8121/AR8113/AR8114 10/100/Gigabit Ethernet de-
                    vice
        art(4)      Accoom Networks Artery T1/E1 network device
        bce(4)      Broadcom BCM4401 10/100 Ethernet device
        bge(4)      Broadcom BCM57xx/BCM590x 10/100/Gigabit Ethernet device
        bnx(4)      Broadcom NetXtreme II 10/100/Gigabit Ethernet device
        cas(4)      Sun Cassini 10/100/Gigabit Ethernet device
        dc(4)       DEC/Intel 21140/21142/21143/21145 and clones 10/100 Ether-
                    net device
        de(4)       DEC DC21x4x (Tulip) 10/100 Ethernet device
        em(4)       Intel PRO/1000 10/100/Gigabit Ethernet device
        ep(4)       3Com EtherLink III and Fast EtherLink III 10/100 Ethernet
                    device
        epic(4)     SMC 83C170 (EPIC/100) 10/100 Ethernet device
        et(4)       Agere/LSI ET1310 10/100/Gigabit Ethernet device
        fpa(4)      DEC DEFPA/DEFEA/DEFTA FDDI network device
        fxp(4)      Intel EtherExpress PRO/100 10/100 Ethernet device
        gem(4)      GEM 10/100/Gigabit Ethernet device
        hme(4)      Sun Happy Meal 10/100 Ethernet device
        ix(4)       Intel 82598/82599 PCI Express 10Gb Ethernet device
        ixgb(4)     Intel PRO/10GbE 10Gb Ethernet device
        jme(4)      JMicron JMC250/JMC260 10/100/Gigabit Ethernet device
        lge(4)      Level 1 LXT1001 NetCellerator PCI Gigabit Ethernet device
        lii(4)      Attansic L2 10/100 Ethernet device
        lmc(4)      Lan Media Corporation SSI/T1/DS1/HSSI/DS3 card device
        msk(4)      Marvell Yukon-2 10/100/Gigabit Ethernet device
        mtd(4)      Myson Technology MTD800/MTD803/MTD891 10/100/Gigabit Eth-
                    ernet device
        ne(4)       NE2000 and compatible 10/100 Ethernet device
        nfe(4)      NVIDIA nForce MCP 10/100/Gigabit Ethernet device
        nge(4)      National Semiconductor PCI 10/100/Gigabit Ethernet device
        pcn(4)      AMD PCnet-PCI 10/100 Ethernet device
        re(4)       Realtek 8139C+/8169/816xS/811xS/8168/810xE 10/100/Gigabit
                    Ethernet device
        rl(4)       Realtek 8129/8139 10/100 Ethernet device
        san(4)      Sangoma Technologies AFT T1/E1 network device
        sf(4)       Adaptec AIC-6915 "Starfire" PCI 10/100 Ethernet device
        sis(4)      SiS 900, SiS 7016, and NS DP83815/6 10/100 Ethernet device
        sk(4)       SysKonnect XMAC II and Marvell Yukon 10/100/Gigabit Ether-
                    net device
        ste(4)      Sundance Technologies ST201 10/100 Ethernet device
        stge(4)     Sundance/Tamarack TC9021 Gigabit Ethernet device
        tht(4)      Tehuti Networks 10Gb Ethernet device
        ti(4)       Alteon Networks Tigon I and II Gigabit Ethernet device
        tl(4)       Texas Instruments ThunderLAN 10/100 Ethernet device
        txp(4)      3Com 3XP Typhoon/Sidewinder (3CR990) 10/100 Ethernet de-
                    vice
        vic(4)      VMware VMXnet Virtual Interface Controller device
        vge(4)      VIA VT6122 PCI 10/100/Gigabit Ethernet device
        vr(4)       VIA VT3043/VT86C100A/VT6105/VT6105M 10/100 Ethernet device
        wb(4)       Winbond W89C840F 10/100 Ethernet device
        xge(4)      Neterion Xframe/Xframe II 10Gb Ethernet device
        xl(4)       3Com EtherLink XL and Fast EtherLink XL 10/100 Ethernet
                    device

   Wireless network interfaces
        acx(4)      TI ACX100/ACX111 IEEE 802.11a/b/g wireless network device
        an(4)       Aironet Communications 4500/4800 IEEE 802.11FH/b wireless
                    network device
        ath(4)      Atheros IEEE 802.11a/b/g wireless network device with GPIO
        athn(4)     Atheros IEEE 802.11a/g/n wireless network device
        atw(4)      ADMtek ADM8211 IEEE 802.11b wireless network device
        bwi(4)      Broadcom AirForce IEEE 802.11b/g wireless network device
        ipw(4)      Intel PRO/Wireless 2100 IEEE 802.11b wireless network de-
                    vice
        iwi(4)      Intel PRO/Wireless 2200BG/2225BG/2915ABG IEEE 802.11a/b/g
                    wireless network device
        iwn(4)      Intel WiFi Link 4965/5000/1000/6000 IEEE 802.11a/g/n wire-
                    less network devices
        malo(4)     Marvell Libertas IEEE 802.11b/g wireless network device
        pgt(4)      Conexant/Intersil Prism GT Full-MAC IEEE 802.11a/b/g wire-
                    less network device
        ral(4)      Ralink Technology IEEE 802.11a/g/n wireless network device
        rtw(4)      Realtek RTL8180L IEEE 802.11b wireless network device
        wi(4)       WaveLAN/IEEE, PRISM 2-3, and Spectrum24 IEEE 802.11b wire-
                    less network device
        wpi(4)      Intel PRO/Wireless 3945ABG IEEE 802.11a/b/g wireless net-
                    work device

   Cryptography accelerators
        glxsb(4)    Geode LX Security Block crypto accelerator
        hifn(4)     Hifn 7751/7811/7951/7955/7956/9751 crypto accelerator
        lofn(4)     Hifn 6500 crypto accelerator
        noct(4)     NetOctave NSP2000 crypto accelerator
        nofn(4)     Hifn 7814/7851/7854 HIPP1 crypto accelerator
        safe(4)     SafeNet crypto accelerator
        ubsec(4)    Broadcom and BlueSteel uBsec 5x0x crypto accelerator

   Serial interfaces
        cy(4)       Cyclades Cyclom-4Y, -8Y, and -16Y asynchronous serial com-
                    munications devices
        cz(4)       Cyclades-Z series multi-port serial adapter device
        puc(4)      PCI ``universal'' communications card driver

   Display adapters
        sti(4)      HP Standard Text Interface
        tga(4)      TGA graphics driver
        vga(4)      VGA graphics cards

   Audio devices
        auacer(4)   Acer Labs I/O Controller Hub integrated AC'97 audio device
        auglx(4)    AMD Geode LX CS5536 integrated AC'97 audio device
        auich(4)    Intel ICH integrated AC'97 audio device
        auixp(4)    ATI SB200/SB300/SB400/SB600 integrated AC'97 audio device
        autri(4)    Trident 4DWAVE-DX/NX, SiS 7018, ALi M5451 audio device
        auvia(4)    VIA VT82C686A/VT8233/VT8235/VT8237 integrated AC'97 audio
                    device
        azalia(4)   generic High Definition Audio device
        clcs(4)     Cirrus Logic CS4280/CS4610/CS4615 audio device
        clct(4)     Cirrus Logic CS4281 audio device
        cmpci(4)    C-Media CMI8338, CMI8738, CMI8768 PCI audio device
        eap(4)      Ensoniq AudioPCI audio device
        emu(4)      Creative Labs SBLive!, PCI 512, and Audigy audio device
        envy(4)     VIA Envy24 audio device
        esa(4)      ESS Technology Allegro-1/Maestro-3 family audio device
        eso(4)      ESS Technology Solo-1 PCI AudioDrive audio device
        fms(4)      Forte Media FM801 audio device
        maestro(4)  ESS Maestro 1 and 2 audio device
        neo(4)      NeoMagic 256AV/ZX audio device
        sv(4)       S3 SonicVibes audio device
        yds(4)      Yamaha DS-XG audio device

   Time receiver devices
        mbg(4)      Meinberg Funkuhren timedelta sensor

   Radio receiver devices
        fms(4)      Forte Media FM801 audio device
        gtp(4)      Gemtek PCI FM radio device

   Hardware Sensors
        berkwdt(4)  Berkshire Products watchdog timer device
        elansc(4)   AMD Elan SC520 System Controller with watchdog timer and
                    GPIO
        geodesc(4)  Geode SC1100/SCx200 IAOC watchdog timer device
        ichwdt(4)   Intel 6300ESB ICH watchdog timer device
        kate(4)     AMD K8 temperature sensor
        km(4)       AMD K10 temperature sensor
        pwdog(4)    Quancom PWDOG1 watchdog timer device
        viaenv(4)   VIA VT82C686A/VT8231 hardware monitor
        wdt(4)      ICS PCI-WDT500/501 watchdog timer device

   Miscellaneous devices
        alipm(4)     Acer Labs M7101 SMBus controller
        amas(4)      AMD memory address map
        amdiic(4)    AMD-8111 SMBus controller
        amdpcib(4)   AMD-8111 series LPC bridge and timecounter
        amdpm(4)     AMD-756/766/768/8111 Power Management and SMBus con-
                     troller
        bktr(4)      Brooktree Bt848/849/878/879 PCI TV tuners and video cap-
                     ture boards
        cbb(4)       PCI Yenta compatible CardBus bridges
        ehci(4)      USB Enhanced Host Controller Interface
        gcu(4)       Intel EP80579 Global Configuration Unit
        glxpcib(4)   CS5536 PCI-ISA Bridge with timecounter, watchdog timer,
                     and GPIO
        gscpcib(4)   National Semiconductor Geode SC1100 PCI-ISA bridge with
                     GPIO
        ichiic(4)    Intel ICH SMBus controller
        nviic(4)     NVIDIA nForce2/3/4 SMBus controller
        ohci(4)      USB Open Host Controller Interface
        pcib(4)      PCI-ISA bridge
        pcic(4)      PCI PCMCIA controllers, including the Cirrus Logic GD6729
        piixpcib(4)  Intel PIIX4 ISA bridges
        piixpm(4)    Intel PIIX SMBus controller
        ppb(4)       Generic PCI-PCI bridges, including PCI expansion back-
                     planes
        sdhc(4)      SD Host Controller
        ssio(4)      National Semiconductor PC87560 Legacy IO
        uhci(4)      USB Universal Host Controller Interface
        viapm(4)     VIA SMBus controller

IOCTLS
     If the kernel is compiled with the USER_PCICONF kernel option, the fol-
     lowing ioctl(2) calls are supported by the pci driver.  They are defined
     in the header file <sys/pciio.h>.

     PCIOCREAD        This ioctl(2) reads the PCI configuration registers
                      specified by the passed-in pci_io structure.  The pci_io
                      structure consists of the following fields:

                      pi_sel    A pcisel structure which specifies the bus,
                                slot and function the user would like to
                                query.

                      pi_reg    The PCI configuration register the user would
                                like to access.

                      pi_width  The width, in bytes, of the data the user
                                would like to read.  This value can be only 4.

                      pi_data   The data returned by the kernel.

     PCIOCWRITE       This ioctl(2) allows users to write to the PCI device
                      specified in the passed-in pci_io structure.  The pci_io
                      structure is described above.  The limitations on data
                      width described for reading registers, above, also apply
                      to writing PCI configuration registers.

     PCIOCGETROM      This ioctl(2) allows users to read the contents of the
                      PCI ROM specified in the passed-in pci_rom structure.
                      The pci_rom structure consists of the following fields:

                      pr_sel     A pcisel structure which specifies the bus,
                                 slot and function the user would like to
                                 query.

                      pr_romlen  Size of the buffer to store the contents of
                                 the ROM.  Upon return, this field will con-
                                 tain the size of the ROM

                      pr_rom     The address of the buffer to store the con-
                                 tents of the ROM.

                      If the ROM is larger than the specified buffer size,
                      ENOMEM will be returned.

FILES
     /dev/pci*  Character device for the pci driver.

SEE ALSO
     intro(4), pcidump(8)

HISTORY
     The machine-independent PCI subsystem appeared in OpenBSD 1.2.

OpenBSD 4.7                      March 1, 2010                               5
