NetBSD/sys/dev/pci
sommerfeld 851de295eb Change pci_intr_map to get interrupt source information from a "struct
pci_attach_args *" instead of from four separate parameters which in
all cases were extracted from the same "struct pci_attach_args".

This both simplifies the driver api, and allows for alternate PCI
interrupt mapping schemes, such as one using the tables described in
the Intel Multiprocessor Spec which describe interrupt wirings for
devices behind pci-pci bridges based on the device's location rather
the bridge's location.

Tested on alpha and i386; welcome to 1.5Q
2000-12-28 22:59:06 +00:00
..
bktr Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
Makefile
Makefile.pcidevs
README
adv_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
adw_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
ahc_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
auich.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
auichreg.h Use AC97_REG_* constants rather than defining them ourselves. 2000-11-28 16:57:16 +00:00
auvia.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
auviavar.h do not try to get/set sample rate on codecs which don't support variable 2000-12-10 15:43:02 +00:00
bha_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
btvmei.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
btvmeii.c
btvmeireg.h
btvmeivar.h
cac_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
cmpci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
cmpcireg.h
cmpcivar.h
com_puc.c
cs4280.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
cs4280_image.h
cs4280reg.h Use <dev/ic/ac97reg.h> 2000-05-15 01:35:29 +00:00
cy82c693.c adjust the spinlock macros in the non-MULTIPROCESSOR, non-LOCKDEBUG case 2000-11-24 03:59:07 +00:00
cy82c693reg.h Common routines for read/writing Cypress 82c693 control registers. Needed 2000-06-06 03:07:39 +00:00
cy82c693var.h Common routines for read/writing Cypress 82c693 control registers. Needed 2000-06-06 03:07:39 +00:00
cy_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
cz.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
czreg.h Add a device driver for the Cyclades-Z series of intelligent multi-port 2000-05-17 17:58:09 +00:00
devlist2h.awk
dpt_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
eap.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
eapreg.h
ehci_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
eso.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
esoreg.h
esovar.h
files.pci Add some placeholders for the EHCI (USB 2) driver. 2000-12-24 06:39:01 +00:00
fms.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
fmsvar.h
fwohci_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
hifn7751.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
hifn7751reg.h hifn7751 crypto card driver. from openbsd. 2000-10-12 02:59:59 +00:00
hifn7751var.h hifn7751 crypto card driver. from openbsd. 2000-10-12 02:59:59 +00:00
i82365_pci.c
i82365_pcivar.h
if_an_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_de.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_devar.h
if_en_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_ep_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_epic_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_esh_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_ex_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_fpa.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_fxp_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_hme_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_le_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_levar.h
if_lmc.c NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
if_lmc_common.c remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
if_lmc_media.c remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
if_lmc_nbsd.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_lmc_types.h
if_lmcioctl.h
if_lmcvar.h Adapt to bpfattach() changes, and further centralize the bpfattach() 2000-12-12 18:00:22 +00:00
if_ne_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_ntwoc_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_ntwoc_pcireg.h
if_rtk_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_sip.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_sipreg.h Some more register definitions for the DP83815. 2000-09-21 04:05:43 +00:00
if_ti.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_tireg.h Pull up FreeBSD changes: 2000-11-17 19:33:25 +00:00
if_tl.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_tlp_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_tlregs.h
if_tlvar.h
if_vr.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
if_vrreg.h
iop_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
isp_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
ld_twe.c lsu -> ld, by popular request. 2000-11-26 17:44:02 +00:00
lpt_puc.c
mpu_eso.c
mpu_fms.c ac97.h -> ac97var.h 2000-05-15 01:27:44 +00:00
ncr.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
ncrreg.h
ncrstat.c
neo-coeff.h Driver for NeoMagic 256 audio. Based on the OpenBSD driver, which is 2000-11-05 06:43:45 +00:00
neo.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
neoreg.h Driver for NeoMagic 256 audio. Based on the OpenBSD driver, which is 2000-11-05 06:43:45 +00:00
ohci_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
opl_eso.c
opl_fms.c ac97.h -> ac97var.h 2000-05-15 01:27:44 +00:00
opl_sv.c
pccbb.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
pccbbreg.h Turn off the damned TI `VCC protection' bit. 2000-12-08 21:51:02 +00:00
pccbbvar.h Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
pci.c remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
pci_map.c ANSI'ify. 2000-11-29 18:22:17 +00:00
pci_quirks.c
pci_subr.c s/iRDA/IrDA/ 2000-11-21 00:20:30 +00:00
pcidevs Fix entries of Acard UDMA IDE controllers. 2000-12-27 15:32:33 +00:00
pcidevs.h Regen. (Fix Acard UDMA IDE) 2000-12-27 15:36:42 +00:00
pcidevs_data.h Regen. (Fix Acard UDMA IDE) 2000-12-27 15:36:42 +00:00
pciide.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
pciide_acer_reg.h Sync my copyrigth notice. 2000-05-15 08:46:00 +00:00
pciide_amd_reg.h Work around a bug in AMD756 rev D2, from patches provided by David Sainty: 2000-07-06 15:08:11 +00:00
pciide_apollo_reg.h Sync my copyrigth notice. 2000-05-15 08:46:00 +00:00
pciide_cmd_reg.h Add support for the CMD PCI646U. Linux claims that this driver is brocken 2000-08-02 20:23:45 +00:00
pciide_cy693_reg.h Sync my copyrigth notice. 2000-05-15 08:46:00 +00:00
pciide_hpt_reg.h Ops, forgot this one: Add interrupt disable bit #define for HPT370 2000-07-27 15:26:16 +00:00
pciide_opti_reg.h The OPTi controller supports a 32-bit dataport after all. 2000-06-07 20:42:52 +00:00
pciide_pdc202xx_reg.h Sync my copyrigth notice. 2000-05-15 08:46:00 +00:00
pciide_piix_reg.h Sync my copyrigth notice. 2000-05-15 08:46:00 +00:00
pciide_sis_reg.h Sync my copyrigth notice. 2000-05-15 08:46:00 +00:00
pciidereg.h NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
pciidevar.h Actually program the DMA mode of the drives into the Cypress 2000-06-06 17:34:22 +00:00
pcireg.h Update for current PCI device class/subclass and capability codes. 2000-10-07 18:58:13 +00:00
pcivar.h remove include of <vm/vm.h>. <vm/vm.h> -> <uvm/uvm_extern.h> 2000-06-28 16:08:42 +00:00
pcscp.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
pcscpreg.h
plx9060reg.h Register definitions and preliminary API definition for the PLX 9060 2000-05-17 17:47:00 +00:00
plx9060var.h Register definitions and preliminary API definition for the PLX 9060 2000-05-17 17:47:00 +00:00
ppb.c
ppbreg.h
puc.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
puccn.c Change $Id: to $NetBSD$ 2000-12-09 06:54:27 +00:00
puccn.h Change $Id: to $NetBSD$ 2000-12-09 06:54:27 +00:00
pucdata.c Add definition for "Actiontec 56K PCI Master", from Bill Hudspeth. 2000-09-06 15:27:37 +00:00
pucvar.h Add code to allow the PCI com serial ports to be used as the system 2000-07-25 23:18:42 +00:00
siop_pci.c - split siop_pci in attachements vs helper functions, for comming esiop 2000-05-15 07:53:17 +00:00
siop_pci_common.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
siop_pci_common.h Add ram size to struct properties, and pass it to the bus independant part. 2000-10-23 14:57:23 +00:00
sv.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
svreg.h
svvar.h
tga.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
tga_conf.c
tgareg.h
tgavar.h
ti_fw.h Update to firmware 12.4.13+wpaul, from FreeBSD 2000-11-17 19:23:35 +00:00
ti_fw2.h Update to firmware 12.4.13+wpaul, from FreeBSD 2000-11-17 19:23:35 +00:00
twe.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
twereg.h NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
twevar.h NBPG -> PAGE_SIZE 2000-11-14 18:42:55 +00:00
uhci_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
universe_pci.c Change pci_intr_map to get interrupt source information from a "struct 2000-12-28 22:59:06 +00:00
universe_pci_var.h
vga_pci.c Just add the mmap argument to vga_common_attach(), don't bother 2000-08-14 20:14:50 +00:00
vga_pcivar.h
viaenv.c Add a clearing-house pseudo-device for system monitoring devices 2000-06-24 00:37:19 +00:00
viapm.c
viapmvar.h

README

$NetBSD: README,v 1.3 1998/08/15 03:02:46 mycroft Exp $

This directory contains files which are used during PCI configuration
and PCI device drivers.  Eventually, most of the device drivers and
some of the configuration support should become machine-independent
and be moved to a more general location.

The configuration support was implemented according to the `PCI Local
Bus Specification, Production Version, Revision 2.0' dated April 30,
1993.  Section numbers referred to in the code may be specific to that
edition of the specification.

Some attempt has been made to insure that the code works on rogue
machines where the BIOS doesn't do its job, but in general I can't
guarantee that.

--
- Charles M. Hannum
  NetBSD group
  August 8, 1994