NetBSD/sys/dev/pci
tls ab54d7e94f Add support for jumbo (9K) frames. Add support for larger receive
descriptor sizes if larger mbuf clusters are in use -- currently
commented out because, for some reason, transmit doesn't work at
all with large mbuf cluster sizes.

Note that using actual 9K frames is a _lot_ less efficient than
using frames that are a little smaller than 8K so that they fit
in one or two pages (instead of two or three) and avoid the extra
chained descriptor with only 1K of data in it, too.  TCP will
segment things just fine for an 8K total packet size, just as it
does for 1500-byte packets.

On my system, using "mtu 8000" with ifconfig, I get an almost 50%
performance boost for TCP (930Mbit/sec instead of 660Mbit/sec) over
1500-byte frames.  "mtu 9000" yields only 770Mbit/sec.
2003-09-10 04:02:17 +00:00
..
bktr Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
aac_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
adv_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
adw_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agp_ali.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agp_amd.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agp_i810.c Compile in the i845/i865 fallback attachment code only if generic AGP Intel 2003-09-07 15:40:57 +00:00
agp_intel.c Rework support for i845, i865 and i875P. agp(4) now doesn't "kill" the 2003-08-26 18:43:54 +00:00
agp_sis.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agp_via.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
agp.c Add support for i865G integrated graphics support to agp(4). Patches 2003-08-26 17:33:22 +00:00
agpreg.h Add support for i855 agp. From FreeBSD. 2003-07-20 18:56:32 +00:00
agpvar.h function prototype must not have variable name 2003-07-08 10:06:28 +00:00
ahc_pci.c make ahc(4) to recognize Adaptec 2915LP Ultra160 SCSI adapter. 2003-08-18 09:16:22 +00:00
ahd_pci.c Make this less chatty on probe/attach, to match the output of other controllers. 2003-09-02 20:59:51 +00:00
amdpm.c Revert previous change, which was wrong. As Enami points out, we really do 2003-09-01 06:30:24 +00:00
amdpmreg.h
amr.c Fix reversed arguments to bus_space_unmap. 2003-05-15 18:04:08 +00:00
amrreg.h - Fix the mailbox protocol. Not tested with newer 'Quartz' controllers. 2003-05-04 16:15:35 +00:00
amrvar.h Fix thinko. 2003-05-14 11:22:55 +00:00
auich.c Add entry for Intel 82801EB AC-97 audio. Audio sounds fine with this, 2003-08-19 21:04:22 +00:00
auichreg.h DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
autri.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
autrireg.h
autrivar.h
auvia.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
auviavar.h
bha_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
btvmei.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
btvmeii.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
btvmeireg.h
btvmeivar.h
cac_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
cmpci.c Add extensible malloc types, adapted from FreeBSD. This turns 2003-02-01 06:23:35 +00:00
cmpcireg.h
cmpcivar.h
com_puc.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
cs428x.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
cs428x.h DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
cs428xreg.h
cs4280_image.h
cs4280.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
cs4280reg.h
cs4281.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
cs4281reg.h
cy82c693.c
cy82c693reg.h
cy82c693var.h
cy_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
cz.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
czreg.h
devlist2h.awk
dpt_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
eap.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
eapreg.h
ehci_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
emuxki.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
emuxkireg.h unknown, not unkown. Noted by mjl. 2003-01-28 22:19:22 +00:00
emuxkivar.h DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
esa.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
esadsp.h
esareg.h
esavar.h
esiop_pci.c Need <uvm/uvm_extern.h>. 2003-04-09 01:35:12 +00:00
esm.c Fix printf format warnings. 2003-02-03 01:11:54 +00:00
esmreg.h
esmvar.h Add extensible malloc types, adapted from FreeBSD. This turns 2003-02-01 06:23:35 +00:00
eso.c unask -> unmask 2003-02-05 00:07:34 +00:00
esoreg.h
esovar.h
files.agp
files.pci Remove unused "skge" defns. 2003-09-08 18:59:48 +00:00
fms.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
fmsvar.h
fwlynx_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
fwohci_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
gtp.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
hifn7751.c Remove an unnececssary PCI config read. 2003-08-28 18:13:33 +00:00
hifn7751reg.h Discard previous driver; it didnt really do anything. 2003-07-30 18:49:27 +00:00
hifn7751var.h Discard previous driver; it didnt really do anything. 2003-07-30 18:49:27 +00:00
i82365_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
i82365_pcivar.h
icp_pci.c Only need to report the PCI product ID in the management ioctls. 2003-06-29 01:20:50 +00:00
if_an_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_atw_pci.c Oops. Add the atw(4) sources, too. 2003-07-06 22:57:23 +00:00
if_bge.c From FreeBSD as suggested by Nicolas Joly in PR kern/22682: 2003-09-05 08:53:23 +00:00
if_bgereg.h Support the BCM5704C rev 3. From Nicolas Joly, PR 22620 2003-08-27 23:13:50 +00:00
if_de.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
if_devar.h
if_en_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_ep_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_epic_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_esh_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_ex_pci.c Some models of the 556B don't turn on the transmitter without magic 2003-06-05 22:11:21 +00:00
if_fpa.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_fxp_pci.c Add support for another Intel Pro/100 variant. 2003-08-14 07:59:39 +00:00
if_gem_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
if_gsip.c
if_hme_pci.c
if_le_pci.c Move UCB-licensed code from 4-clause to 3-clause licence. 2003-08-07 16:26:28 +00:00
if_levar.h
if_lmc_common.c
if_lmc_media.c hz -> Hz 2003-02-22 04:57:48 +00:00
if_lmc_nbsd.c Use PAGE_SIZE rather than NBPG. 2003-04-01 02:01:43 +00:00
if_lmc_types.h
if_lmc.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
if_lmcioctl.h function prototype must not have variable name 2003-07-08 10:06:28 +00:00
if_lmcvar.h
if_mtd_pci.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
if_ne_pci.c
if_ntwoc_pci.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
if_ntwoc_pcireg.h
if_pcn.c add rnd hooks 2003-07-21 08:38:56 +00:00
if_pcnreg.h
if_rtk_pci.c Set RTK_ENABLE flag when it attached. This fixed multicast problem. 2003-01-29 12:57:36 +00:00
if_sf_pci.c
if_sip.c KNF 2003-08-25 20:36:47 +00:00
if_sipreg.h accept 1518-byte frames (needed for vlan). Valtteri Vuorikoski 2003-08-15 07:29:34 +00:00
if_sk.c Fix a printf format. 2003-09-08 19:17:29 +00:00
if_skreg.h retain the FreeBSD RCS Id for xmaciireg.h for reference 2003-08-26 21:14:08 +00:00
if_skvar.h Add driver for SysKonnect SK-9821 and 3COM 3C940 gigabit ethernet boards 2003-08-26 21:11:00 +00:00
if_ste.c Add a missed htole32() for DMA txdescs. 2003-06-05 16:33:43 +00:00
if_stereg.h
if_stge.c Argh. Commited the wrong file. 2003-03-01 19:49:45 +00:00
if_stgereg.h Centralize the interrupt bits for the 3 registers where they are being used. 2003-02-10 21:10:06 +00:00
if_ti.c Add missing binding of VLAN tag to received packet. 2003-02-09 21:43:43 +00:00
if_tireg.h coaless -> coalesce. 2003-05-14 13:03:36 +00:00
if_tl.c tl(4) supports ETHERCAP_VLAN_MTU. 2003-03-19 17:23:26 +00:00
if_tlp_pci.c Properly reset PHY on ZNYX boards which are composed of 2003-06-27 12:25:38 +00:00
if_tlregs.h
if_tlvar.h
if_txp.c make the vlan stuff work 2003-08-20 17:41:38 +00:00
if_txpreg.h some cleanup/fixes: 2003-07-07 15:18:24 +00:00
if_vr.c add VT6105 support to vr(4) 2003-08-23 00:14:28 +00:00
if_vrreg.h
if_wi_pci.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
if_wm.c Add support for jumbo (9K) frames. Add support for larger receive 2003-09-10 04:02:17 +00:00
if_wmreg.h Use proper shift marcos for EXT. This makes the PHY on i83543 get 2003-05-30 02:08:55 +00:00
ifpci2.c
ifpci.c
igsfb_pci.c Redo attachment to support proper cnattach. 2003-05-10 01:51:56 +00:00
igsfb_pcivar.h Redo attachment to support proper cnattach. 2003-05-10 01:51:56 +00:00
iha_pci.c
iop_pci.c
isic_pci_elsa_qs1p.c We are getting passed an integer value via a void* arg (in an ioctl() like 2003-05-08 21:18:42 +00:00
isic_pci.c
isic_pci.h
isp_pci.c Add in changes from Matt Thomas to check for 64 bit PCI stuff. 2003-08-07 01:05:56 +00:00
iwic_bchan.c
iwic_dchan.c
iwic_fsm.c
iwic_pci.c We are getting passed an integer value via a void* arg (in an ioctl() like 2003-05-08 21:18:42 +00:00
iwicreg.h
iwicvar.h function prototype must not have variable name 2003-07-08 10:06:28 +00:00
joy_eso.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
joy_pci.c
ld_amr.c - Fix the mailbox protocol. Not tested with newer 'Quartz' controllers. 2003-05-04 16:15:35 +00:00
ld_twe.c
lpt_puc.c
machfb.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
machfbreg.h
Makefile
Makefile.pcidevs
mlx_pci.c
mly_tables.h revert for now -- cancelled seems to be used more often than canceled 2003-03-31 03:35:02 +00:00
mly.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
mlyio.h
mlyreg.h
mlyvar.h
mpt_pci.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
mpu_cmpci.c
mpu_eso.c
mpu_fms.c
mpu_yds.c
neo-coeff.h
neo.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
neoreg.h
oboe.c add missing __KERNEL_RCSID() 2003-07-14 15:47:00 +00:00
oboereg.h
ohci_pci.c
opl_cmpci.c
opl_eso.c
opl_fms.c
opl_sv.c
opl_yds.c
pccbb.c regard as the card is removed if one of CCD1# and CCD2# is deasserted. 2003-06-19 10:48:58 +00:00
pccbbreg.h
pccbbvar.h PCI-CardBus bridge support for sparc64: 2003-03-22 06:25:14 +00:00
pci_map.c
pci_quirks.c - check HDRTYPE early, and ignore if it is not supported (n > 2). 2003-08-15 07:17:21 +00:00
pci_subr.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
pci_usrreq.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
pci.c support new quirk bits on debug output 2003-08-18 05:39:07 +00:00
pciconf.c Add an option to disable fast back-to-back transfers since this 2003-03-31 21:04:40 +00:00
pciconf.h
pcidevs Hi/Fn is now spelled Hifn. Add some more Hifn products (from openbsd). 2003-08-28 15:17:54 +00:00
pcidevs_data.h Regen; spell Hifn correctly, add more Hifn products. 2003-08-28 15:18:32 +00:00
pcidevs.h Regen; spell Hifn correctly, add more Hifn products. 2003-08-28 15:18:32 +00:00
pciide_acard_reg.h
pciide_acer_reg.h
pciide_amd_reg.h * Enable Ultra133 on the NVIDIA nForce 2. 2003-01-24 05:51:04 +00:00
pciide_apollo_reg.h
pciide_cmd_reg.h
pciide_cy693_reg.h
pciide_hpt_reg.h
pciide_i31244_reg.h Add register definitions for the Intel i31244 Serial ATA controller. 2003-03-18 01:41:54 +00:00
pciide_opti_reg.h
pciide_pdc202xx_reg.h Correct setup of General Purpose Register for PDC20265 (Ultra/100) and newer. 2003-06-28 23:13:26 +00:00
pciide_piix_reg.h
pciide_sii3112_reg.h Add support for the Silicon Image SATALink 3112 Serial ATA controller. 2003-03-20 04:22:49 +00:00
pciide_sis_reg.h Rework SiS support: more controller supported (up to Ultra/133) and better 2003-03-14 22:46:05 +00:00
pciide_sl82c105_reg.h
pciide.c Add support for VIA VT8237 (KT600) IDE controller. From Stephen Degler in 2003-08-17 15:52:06 +00:00
pciidereg.h
pciidevar.h Add support for the Silicon Image SATALink 3112 Serial ATA controller. 2003-03-20 04:22:49 +00:00
pciio.h
pcireg.h Define PCI32_DMA_BOUNCE_THRESHOLD 2003-05-05 13:04:29 +00:00
pcivar.h - check HDRTYPE early, and ignore if it is not supported (n > 2). 2003-08-15 07:17:21 +00:00
pcscp.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
pcscpreg.h
plx9060reg.h
plx9060var.h
ppb.c Handle 64bit DMA addresses on PCI for platforms that can (currently only 2003-06-15 23:08:53 +00:00
ppbreg.h
puc.c It is not appropriate for pcivar.h to include "locators.h" 2003-03-19 17:56:58 +00:00
puccn.c Also pass a type argument to comcnattach() and com_kgdb_attach(). 2003-06-14 17:01:06 +00:00
puccn.h function prototype must not have variable name 2003-07-08 10:06:28 +00:00
pucdata.c
pucvar.h
README
siop_pci_common.c Use PAGE_SIZE rather than NBPG. 2003-04-09 00:28:28 +00:00
siop_pci_common.h
siop_pci.c Use PAGE_SIZE rather than NBPG. 2003-04-09 00:28:28 +00:00
sv.c DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
svreg.h
svvar.h DMA, not dma nor Dma. 2003-05-03 18:10:37 +00:00
tga_conf.c
tga.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
tgareg.h
tgavar.h
trm.c
trmreg.h
twe.c tweioctl(): store the result of twe_param_get() directly to the right 2003-08-03 18:45:46 +00:00
tweio.h
twereg.h
twevar.h
ubsec.c * Make matching and chip info table-driven. 2003-08-28 19:00:52 +00:00
ubsecreg.h Preliminary port of merged OpenBSD/FreeBSD ubsec driver for Bluesteel 2003-08-01 00:08:55 +00:00
ubsecvar.h Preliminary port of merged OpenBSD/FreeBSD ubsec driver for Bluesteel 2003-08-01 00:08:55 +00:00
uhci_pci.c
universe_pci_var.h
universe_pci.c Use aprint_*(). 2003-01-31 00:07:39 +00:00
usb_pci.c
usb_pci.h
vga_pci.c Back out the lwp/ktrace changes. They contained a lot of colateral damage, 2003-06-29 22:28:00 +00:00
vga_pcivar.h
viaenv.c
viapm.c
viapmvar.h
weasel_pci.c
weaselreg.h
yds.c Disable ISA DMA emulation for SoundBlaster module explicitly. 2003-03-12 13:36:22 +00:00
ydsreg.h Disable ISA DMA emulation for SoundBlaster module explicitly. 2003-03-12 13:36:22 +00:00
ydsvar.h

$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