freebsd-skq/sys/conf/files

1680 lines
62 KiB
Plaintext
Raw Normal View History

1999-09-08 11:14:56 +00:00
# $FreeBSD$
#
# The long compile-with and dependency lines are required because of
# limitations in config: backslash-newline doesn't work in strings, and
# dependency lines other than the first are silently ignored.
#
aicasm optional ahc \
dependency "$S/dev/aic7xxx/aicasm/*.[chyl]" \
compile-with "CC=${CC} ${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \
no-obj no-implicit-rule \
clean "aicasm* y.tab.h"
aicasm optional ahd \
2000-10-05 04:07:06 +00:00
dependency "$S/dev/aic7xxx/aicasm/*.[chyl]" \
compile-with "CC=${CC} ${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \
1998-09-15 09:59:15 +00:00
no-obj no-implicit-rule \
clean "aicasm* y.tab.h"
aic7xxx_{seq.h,reg.h,reg_print.c} optional ahc \
compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
no-obj no-implicit-rule before-depend \
clean "aic7xxx_seq.h aic7xxx_reg.h aic7xxx_reg_print.c" \
1998-09-15 09:59:15 +00:00
dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
aic7xxx_reg_print.o optional ahc ahc_reg_pretty_print \
compile-with "${NORMAL_C}" \
no-implicit-rule local
aic79xx_{seq.h,reg.h,reg_print.c} optional ahd pci \
compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
2002-06-06 16:35:58 +00:00
no-obj no-implicit-rule before-depend \
clean "aic79xx_seq.h aic79xx_reg.h aic79xx_reg_print.c" \
dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
aic79xx_reg_print.o optional ahd pci ahd_reg_pretty_print \
compile-with "${NORMAL_C}" \
no-implicit-rule local
emu10k1-alsa%diked.h optional pcm pci \
dependency "$S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/emu10k1-alsa.h" \
compile-with "CC=${CC} AWK=${AWK} sh $S/tools/emu10k1-mkalsa.sh $S/gnu/dev/sound/pci/emu10k1-alsa.h emu10k1-alsa%diked.h" \
no-obj no-implicit-rule before-depend \
clean "emu10k1-alsa%diked.h"
miidevs.h standard \
dependency "$S/tools/miidevs2h.awk $S/dev/mii/miidevs" \
compile-with "${AWK} -f $S/tools/miidevs2h.awk $S/dev/mii/miidevs" \
no-obj no-implicit-rule \
clean "miidevs.h"
kern/device_if.m standard
kern/bus_if.m standard
kern/clock_if.m optional genclock
kern/linker_if.m standard
1998-09-15 09:59:15 +00:00
cam/cam.c optional scbus
cam/cam_periph.c optional scbus
cam/cam_queue.c optional scbus
1998-09-15 09:59:15 +00:00
cam/cam_sim.c optional scbus
cam/cam_xpt.c optional scbus
1998-09-15 09:59:15 +00:00
cam/scsi/scsi_all.c optional scbus
cam/scsi/scsi_cd.c optional cd
cam/scsi/scsi_ch.c optional ch
cam/scsi/scsi_da.c optional da
cam/scsi/scsi_low.c optional ct
cam/scsi/scsi_low.c optional ncv
cam/scsi/scsi_low.c optional nsp
cam/scsi/scsi_low.c optional stg
cam/scsi/scsi_low_pisa.c optional ct
cam/scsi/scsi_low_pisa.c optional ncv
cam/scsi/scsi_low_pisa.c optional nsp
cam/scsi/scsi_low_pisa.c optional stg
1998-09-15 09:59:15 +00:00
cam/scsi/scsi_pass.c optional pass
cam/scsi/scsi_pt.c optional pt
cam/scsi/scsi_sa.c optional sa
cam/scsi/scsi_ses.c optional ses
cam/scsi/scsi_targ_bh.c optional targbh
cam/scsi/scsi_target.c optional targ
coda/coda_fbsd.c count vcoda
coda/coda_namecache.c optional vcoda
coda/coda_psdev.c optional vcoda
coda/coda_subr.c optional vcoda
coda/coda_venus.c optional vcoda
coda/coda_vfsops.c optional vcoda
coda/coda_vnops.c optional vcoda
compat/linprocfs/linprocfs.c optional linprocfs
contrib/dev/acpica/dbcmds.c optional acpi acpi_debug
contrib/dev/acpica/dbdisply.c optional acpi acpi_debug
contrib/dev/acpica/dbexec.c optional acpi acpi_debug
contrib/dev/acpica/dbfileio.c optional acpi acpi_debug
contrib/dev/acpica/dbhistry.c optional acpi acpi_debug
contrib/dev/acpica/dbinput.c optional acpi acpi_debug
contrib/dev/acpica/dbstats.c optional acpi acpi_debug
contrib/dev/acpica/dbutils.c optional acpi acpi_debug
contrib/dev/acpica/dbxface.c optional acpi acpi_debug
contrib/dev/acpica/dmbuffer.c optional acpi acpi_debug
contrib/dev/acpica/dmnames.c optional acpi acpi_debug
contrib/dev/acpica/dmopcode.c optional acpi acpi_debug
contrib/dev/acpica/dmobject.c optional acpi acpi_debug
contrib/dev/acpica/dmresrc.c optional acpi acpi_debug
contrib/dev/acpica/dmresrcl.c optional acpi acpi_debug
contrib/dev/acpica/dmresrcs.c optional acpi acpi_debug
contrib/dev/acpica/dmutils.c optional acpi acpi_debug
contrib/dev/acpica/dmwalk.c optional acpi acpi_debug
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/dsfield.c optional acpi
contrib/dev/acpica/dsinit.c optional acpi
contrib/dev/acpica/dsmethod.c optional acpi
contrib/dev/acpica/dsmthdat.c optional acpi
contrib/dev/acpica/dsobject.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/dsopcode.c optional acpi
contrib/dev/acpica/dsutils.c optional acpi
contrib/dev/acpica/dswexec.c optional acpi
contrib/dev/acpica/dswload.c optional acpi
contrib/dev/acpica/dswscope.c optional acpi
contrib/dev/acpica/dswstate.c optional acpi
contrib/dev/acpica/evevent.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/evgpe.c optional acpi
contrib/dev/acpica/evgpeblk.c optional acpi
contrib/dev/acpica/evmisc.c optional acpi
contrib/dev/acpica/evregion.c optional acpi
contrib/dev/acpica/evrgnini.c optional acpi
contrib/dev/acpica/evsci.c optional acpi
contrib/dev/acpica/evxface.c optional acpi
contrib/dev/acpica/evxfevnt.c optional acpi
contrib/dev/acpica/evxfregn.c optional acpi
contrib/dev/acpica/exconfig.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/exconvrt.c optional acpi
contrib/dev/acpica/excreate.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/exdump.c optional acpi
contrib/dev/acpica/exfield.c optional acpi
contrib/dev/acpica/exfldio.c optional acpi
contrib/dev/acpica/exmisc.c optional acpi
contrib/dev/acpica/exmutex.c optional acpi
contrib/dev/acpica/exnames.c optional acpi
contrib/dev/acpica/exoparg1.c optional acpi
contrib/dev/acpica/exoparg2.c optional acpi
contrib/dev/acpica/exoparg3.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/exoparg6.c optional acpi
contrib/dev/acpica/exprep.c optional acpi
contrib/dev/acpica/exregion.c optional acpi
contrib/dev/acpica/exresnte.c optional acpi
contrib/dev/acpica/exresolv.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/exresop.c optional acpi
contrib/dev/acpica/exstore.c optional acpi
contrib/dev/acpica/exstoren.c optional acpi
contrib/dev/acpica/exstorob.c optional acpi
contrib/dev/acpica/exsystem.c optional acpi
contrib/dev/acpica/exutils.c optional acpi
contrib/dev/acpica/hwacpi.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/hwgpe.c optional acpi
contrib/dev/acpica/hwregs.c optional acpi
contrib/dev/acpica/hwsleep.c optional acpi
contrib/dev/acpica/hwtimer.c optional acpi
contrib/dev/acpica/nsaccess.c optional acpi
contrib/dev/acpica/nsalloc.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/nsdump.c optional acpi
contrib/dev/acpica/nseval.c optional acpi
contrib/dev/acpica/nsinit.c optional acpi
contrib/dev/acpica/nsload.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/nsnames.c optional acpi
contrib/dev/acpica/nsobject.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/nsparse.c optional acpi
contrib/dev/acpica/nssearch.c optional acpi
contrib/dev/acpica/nsutils.c optional acpi
contrib/dev/acpica/nswalk.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/nsxfeval.c optional acpi
contrib/dev/acpica/nsxfname.c optional acpi
contrib/dev/acpica/nsxfobj.c optional acpi
contrib/dev/acpica/psargs.c optional acpi
contrib/dev/acpica/psopcode.c optional acpi
contrib/dev/acpica/psparse.c optional acpi
contrib/dev/acpica/psscope.c optional acpi
contrib/dev/acpica/pstree.c optional acpi
contrib/dev/acpica/psutils.c optional acpi
contrib/dev/acpica/pswalk.c optional acpi
contrib/dev/acpica/psxface.c optional acpi
contrib/dev/acpica/rsaddr.c optional acpi
contrib/dev/acpica/rscalc.c optional acpi
contrib/dev/acpica/rscreate.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/rsdump.c optional acpi
contrib/dev/acpica/rsio.c optional acpi
contrib/dev/acpica/rsirq.c optional acpi
contrib/dev/acpica/rslist.c optional acpi
contrib/dev/acpica/rsmemory.c optional acpi
contrib/dev/acpica/rsmisc.c optional acpi
contrib/dev/acpica/rsutils.c optional acpi
contrib/dev/acpica/rsxface.c optional acpi
contrib/dev/acpica/tbconvrt.c optional acpi
contrib/dev/acpica/tbget.c optional acpi
contrib/dev/acpica/tbgetall.c optional acpi
contrib/dev/acpica/tbinstal.c optional acpi
contrib/dev/acpica/tbrsdt.c optional acpi
contrib/dev/acpica/tbutils.c optional acpi
contrib/dev/acpica/tbxface.c optional acpi
contrib/dev/acpica/tbxfroot.c optional acpi
contrib/dev/acpica/utalloc.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/utclib.c optional acpi
contrib/dev/acpica/utcopy.c optional acpi
contrib/dev/acpica/utdebug.c optional acpi
contrib/dev/acpica/utdelete.c optional acpi
contrib/dev/acpica/uteval.c optional acpi
contrib/dev/acpica/utglobal.c optional acpi
contrib/dev/acpica/utinit.c optional acpi
contrib/dev/acpica/utmath.c optional acpi
2003-04-29 19:19:47 +00:00
contrib/dev/acpica/utmisc.c optional acpi
contrib/dev/acpica/utobject.c optional acpi
contrib/dev/acpica/utxface.c optional acpi
2003-06-25 14:51:20 +00:00
contrib/dev/ath/freebsd/ah_osdep.c optional ath_hal
contrib/ipfilter/netinet/fil.c optional ipfilter inet
contrib/ipfilter/netinet/ip_auth.c optional ipfilter inet
contrib/ipfilter/netinet/ip_fil.c optional ipfilter inet
contrib/ipfilter/netinet/ip_frag.c optional ipfilter inet
contrib/ipfilter/netinet/ip_log.c optional ipfilter inet
contrib/ipfilter/netinet/ip_nat.c optional ipfilter inet
contrib/ipfilter/netinet/ip_proxy.c optional ipfilter inet
contrib/ipfilter/netinet/ip_state.c optional ipfilter inet
contrib/ipfilter/netinet/mlfk_ipl.c optional ipfilter inet
contrib/pf/net/if_pflog.c optional pflog
contrib/pf/net/if_pfsync.c optional pfsync
contrib/pf/net/pf.c optional pf
contrib/pf/net/pf_ioctl.c optional pf
contrib/pf/net/pf_norm.c optional pf
contrib/pf/net/pf_table.c optional pf
contrib/pf/net/pf_osfp.c optional pf
contrib/pf/netinet/in4_cksum.c optional pf inet
crypto/blowfish/bf_ecb.c optional ipsec ipsec_esp
crypto/blowfish/bf_skey.c optional ipsec ipsec_esp
crypto/cast128/cast128.c optional ipsec ipsec_esp
crypto/des/des_ecb.c optional ipsec ipsec_esp
crypto/des/des_setkey.c optional ipsec ipsec_esp
crypto/rijndael/rijndael-alg-fst.c optional ipsec
crypto/rijndael/rijndael-api.c optional ipsec
opencrypto/rmd160.c optional ipsec
crypto/sha1.c optional ipsec
crypto/sha2/sha2.c optional ipsec
ddb/db_access.c optional ddb
ddb/db_break.c optional ddb
ddb/db_command.c optional ddb
ddb/db_elf.c optional ddb
ddb/db_examine.c optional ddb
ddb/db_expr.c optional ddb
ddb/db_input.c optional ddb
ddb/db_kld.c optional ddb
ddb/db_lex.c optional ddb
ddb/db_output.c optional ddb
ddb/db_print.c optional ddb
ddb/db_ps.c optional ddb
ddb/db_run.c optional ddb
ddb/db_sym.c optional ddb
ddb/db_sysctl.c optional ddb
ddb/db_trap.c optional ddb
ddb/db_variables.c optional ddb
ddb/db_watch.c optional ddb
ddb/db_write_cmd.c optional ddb
dev/aac/aac.c optional aac
dev/aac/aac_debug.c optional aac
dev/aac/aac_disk.c optional aac
dev/aac/aac_pci.c optional aac pci
dev/aac/aac_cam.c optional aacp aac
dev/aac/aac_linux.c optional aac compat_linux
dev/acpica/acpi.c optional acpi
2003-04-29 19:19:47 +00:00
dev/acpica/acpi_acad.c optional acpi
dev/acpica/acpi_battery.c optional acpi
dev/acpica/acpi_button.c optional acpi
2003-04-29 19:19:47 +00:00
dev/acpica/acpi_cmbat.c optional acpi
dev/acpica/acpi_cpu.c optional acpi
dev/acpica/acpi_ec.c optional acpi
dev/acpica/acpi_isab.c optional acpi isa
dev/acpica/acpi_lid.c optional acpi
dev/acpica/acpi_package.c optional acpi
dev/acpica/acpi_pci.c optional acpi pci
dev/acpica/acpi_pci_link.c optional acpi pci
dev/acpica/acpi_pcib.c optional acpi pci
dev/acpica/acpi_pcib_acpi.c optional acpi pci
dev/acpica/acpi_pcib_pci.c optional acpi pci
dev/acpica/acpi_powerres.c optional acpi
dev/acpica/acpi_resource.c optional acpi
dev/acpica/acpi_thermal.c optional acpi
dev/acpica/acpi_timer.c optional acpi
dev/acpica/Osd/OsdDebug.c optional acpi
dev/acpica/Osd/OsdHardware.c optional acpi
dev/acpica/Osd/OsdInterrupt.c optional acpi
dev/acpica/Osd/OsdMemory.c optional acpi
dev/acpica/Osd/OsdSchedule.c optional acpi
dev/acpica/Osd/OsdStream.c optional acpi
dev/acpica/Osd/OsdSynch.c optional acpi
dev/acpica/Osd/OsdTable.c optional acpi
dev/acpica/acpi_video.c optional acpi_video acpi
dev/adlink/adlink.c optional adlink
dev/advansys/adv_eisa.c optional adv eisa
dev/advansys/adv_pci.c optional adv pci
dev/advansys/advansys.c optional adv
dev/advansys/advlib.c optional adv
dev/advansys/advmcode.c optional adv
dev/advansys/adw_pci.c optional adw pci
dev/advansys/adwcam.c optional adw
dev/advansys/adwlib.c optional adw
dev/advansys/adwmcode.c optional adw
dev/aha/aha.c optional aha
dev/aha/aha_isa.c optional aha isa
dev/aha/aha_mca.c optional aha mca
dev/ahb/ahb.c optional ahb eisa
1999-10-21 09:00:20 +00:00
dev/aic/aic.c optional aic
2000-01-14 23:44:32 +00:00
dev/aic/aic_pccard.c optional aic card
dev/aic/aic_pccard.c optional aic pccard
dev/aic7xxx/aic7770.c optional ahc eisa
dev/aic7xxx/ahc_eisa.c optional ahc eisa
#dev/aic7xxx/ahc_isa.c optional ahc isa
dev/aic7xxx/ahc_pci.c optional ahc pci
dev/aic7xxx/aic7xxx.c optional ahc
dev/aic7xxx/aic7xxx_93cx6.c optional ahc
2002-04-24 16:59:47 +00:00
dev/aic7xxx/aic7xxx_osm.c optional ahc
dev/aic7xxx/aic7xxx_pci.c optional ahc pci
2002-06-06 16:35:58 +00:00
dev/aic7xxx/ahd_pci.c optional ahd pci
dev/aic7xxx/aic79xx.c optional ahd pci
dev/aic7xxx/aic79xx_osm.c optional ahd pci
dev/aic7xxx/aic79xx_pci.c optional ahd pci
dev/amd/amd.c optional amd
dev/amr/amr_cam.c optional amr
dev/amr/amr.c optional amr
dev/amr/amr_disk.c optional amr
dev/amr/amr_pci.c optional amr pci
dev/an/if_an.c optional an
dev/an/if_an_isa.c optional an isa
dev/an/if_an_pccard.c optional an card
2001-11-15 06:18:58 +00:00
dev/an/if_an_pccard.c optional an pccard
dev/an/if_an_pci.c optional an pci
dev/asr/asr.c optional asr pci
dev/ata/ata-all.c optional ata
dev/ata/ata-queue.c optional ata
dev/ata/ata-lowlevel.c optional ata
dev/ata/ata-isa.c optional ata isa
dev/ata/ata-cbus.c optional ata pc98
dev/ata/ata-card.c optional ata card
2002-01-28 13:13:14 +00:00
dev/ata/ata-card.c optional ata pccard
dev/ata/ata-pci.c optional ata pci
dev/ata/ata-chipset.c optional ata pci
dev/ata/ata-dma.c optional ata pci
dev/ata/ata-disk.c optional atadisk
dev/ata/ata-raid.c optional ataraid
dev/ata/atapi-cd.c optional atapicd
dev/ata/atapi-fd.c optional atapifd
dev/ata/atapi-tape.c optional atapist
dev/ata/atapi-cam.c optional atapicam
2003-06-25 14:51:20 +00:00
dev/ath/if_ath.c optional ath
dev/ath/if_ath_pci.c optional ath pci
dev/ath/if_ath_pci.c optional ath card
dev/awi/am79c930.c optional awi
dev/awi/awi.c optional awi
dev/awi/if_awi_pccard.c optional awi card
dev/awi/if_awi_pccard.c optional awi pccard
dev/bfe/if_bfe.c optional bfe
dev/bge/if_bge.c optional bge
dev/bktr/bktr_audio.c optional bktr pci
dev/bktr/bktr_card.c optional bktr pci
dev/bktr/bktr_core.c optional bktr pci
dev/bktr/bktr_i2c.c optional bktr pci smbus
dev/bktr/bktr_os.c optional bktr pci
dev/bktr/bktr_tuner.c optional bktr pci
dev/bktr/msp34xx.c optional bktr pci
dev/buslogic/bt.c optional bt
dev/buslogic/bt_eisa.c optional bt eisa
dev/buslogic/bt_isa.c optional bt isa
dev/buslogic/bt_mca.c optional bt mca
dev/buslogic/bt_pci.c optional bt pci
dev/cardbus/cardbus.c optional cardbus
dev/cardbus/cardbus_cis.c optional cardbus
dev/ciss/ciss.c optional ciss
dev/cm/smc90cx6.c optional cm
2001-03-16 07:27:49 +00:00
dev/cnw/if_cnw.c optional cnw card
#dev/cnw/if_cnw.c optional cnw pccard
dev/cs/if_cs.c optional cs
dev/cs/if_cs_isa.c optional cs isa
dev/cs/if_cs_pccard.c optional cs card
dev/cs/if_cs_pccard.c optional cs pccard
dev/cy/cy.c optional cy
dev/cy/cy_isa.c optional cy isa
dev/cy/cy_pci.c optional cy pci
dev/dcons/dcons.c optional dcons
dev/dcons/dcons_crom.c optional dcons_crom
dev/digi/digi.c optional digi
dev/digi/digi_isa.c optional digi isa
dev/digi/digi_pci.c optional digi pci
dev/digi/CX.c optional digi_CX
dev/digi/CX_PCI.c optional digi_CX_PCI
dev/digi/EPCX.c optional digi_EPCX
dev/digi/EPCX_PCI.c optional digi_EPCX_PCI
dev/digi/Xe.c optional digi_Xe
dev/digi/Xem.c optional digi_Xem
dev/digi/Xr.c optional digi_Xr
#dev/dpt/dpt_control.c optional dpt
dev/dpt/dpt_eisa.c optional dpt eisa
dev/dpt/dpt_pci.c optional dpt pci
dev/dpt/dpt_scsi.c optional dpt
dev/drm/mga_dma.c optional mgadrm
dev/drm/mga_drv.c optional mgadrm
dev/drm/mga_irq.c optional mgadrm
dev/drm/mga_state.c optional mgadrm \
compile-with "${NORMAL_C} -finline-limit=13500"
dev/drm/mga_warp.c optional mgadrm
dev/drm/r128_cce.c optional r128drm
dev/drm/r128_drv.c optional r128drm
dev/drm/r128_irq.c optional r128drm
dev/drm/r128_state.c optional r128drm \
compile-with "${NORMAL_C} -finline-limit=13500"
dev/drm/radeon_cp.c optional radeondrm
dev/drm/radeon_drv.c optional radeondrm
dev/drm/radeon_irq.c optional radeondrm
dev/drm/radeon_mem.c optional radeondrm
dev/drm/radeon_state.c optional radeondrm
dev/drm/sis_drv.c optional sisdrm
dev/drm/sis_ds.c optional sisdrm
dev/drm/sis_mm.c optional sisdrm
dev/drm/tdfx_drv.c optional tdfxdrm
dev/ed/if_ed.c optional ed
dev/ed/if_ed_pccard.c optional ed card
dev/ed/if_ed_pccard.c optional ed pccard
dev/ed/if_ed_pci.c optional ed pci
dev/eisa/eisaconf.c optional eisa
dev/em/if_em.c optional em
dev/em/if_em_hw.c optional em
dev/en/midway.c optional en
dev/en/if_en_pci.c optional en pci
dev/ep/if_ep.c optional ep
dev/ep/if_ep_eisa.c optional ep eisa
dev/ep/if_ep_isa.c optional ep isa
dev/ep/if_ep_mca.c optional ep mca
dev/ep/if_ep_pccard.c optional ep card
dev/ep/if_ep_pccard.c optional ep pccard
dev/ex/if_ex.c optional ex
dev/ex/if_ex_isa.c optional ex isa
dev/ex/if_ex_pccard.c optional ex card
#dev/ex/if_ex_pccard.c optional ex pccard
2002-08-15 08:05:40 +00:00
dev/exca/exca.c optional cbb
dev/fatm/if_fatm.c optional fatm pci
dev/fe/if_fe.c optional fe
dev/fe/if_fe_pccard.c optional fe card
dev/fe/if_fe_pccard.c optional fe pccard
dev/firewire/firewire.c optional firewire
dev/firewire/fwcrom.c optional firewire
dev/firewire/fwdev.c optional firewire
2003-04-17 03:39:27 +00:00
dev/firewire/fwdma.c optional firewire
dev/firewire/fwmem.c optional firewire
dev/firewire/fwohci.c optional firewire
dev/firewire/fwohci_pci.c optional firewire pci
dev/firewire/if_fwe.c optional fwe
dev/firewire/sbp.c optional sbp
dev/firewire/sbp_targ.c optional sbp_targ
dev/fxp/if_fxp.c optional fxp
2002-02-27 17:46:04 +00:00
dev/gem/if_gem.c optional gem
dev/gem/if_gem_pci.c optional gem pci
2001-10-19 02:28:12 +00:00
dev/gx/if_gx.c optional gx
dev/harp/if_harp.c optional harp pci
dev/hatm/if_hatm.c optional hatm pci
dev/hatm/if_hatm_intr.c optional hatm pci
dev/hatm/if_hatm_ioctl.c optional hatm pci
dev/hatm/if_hatm_rx.c optional hatm pci
dev/hatm/if_hatm_tx.c optional hatm pci
dev/hfa/fore_buffer.c optional hfa
dev/hfa/fore_command.c optional hfa
dev/hfa/fore_globals.c optional hfa
dev/hfa/fore_if.c optional hfa
dev/hfa/fore_init.c optional hfa
dev/hfa/fore_intr.c optional hfa
dev/hfa/fore_output.c optional hfa
dev/hfa/fore_receive.c optional hfa
dev/hfa/fore_stats.c optional hfa
dev/hfa/fore_timer.c optional hfa
dev/hfa/fore_transmit.c optional hfa
dev/hfa/fore_vcm.c optional hfa
dev/hfa/hfa_freebsd.c optional hfa
#dev/hfa/hfa_eisa.c optional hfa eisa
dev/hfa/hfa_pci.c optional hfa pci
#dev/hfa/hfa_sbus.c optional hfa sbus
dev/hifn/hifn7751.c optional hifn
2002-02-27 17:46:04 +00:00
dev/hme/if_hme.c optional hme
dev/hme/if_hme_pci.c optional hme pci
dev/hme/if_hme_sbus.c optional hme sbus
dev/ichsmb/ichsmb.c optional ichsmb
dev/ichsmb/ichsmb_pci.c optional ichsmb pci
dev/ida/ida.c optional ida
2000-03-08 16:17:06 +00:00
dev/ida/ida_disk.c optional ida
dev/ida/ida_eisa.c optional ida eisa
dev/ida/ida_pci.c optional ida pci
dev/ie/if_ie.c optional ie isa nowerror
dev/ie/if_ie_isa.c optional ie isa
dev/iicbus/iicbb_if.m optional iicbb
dev/iicbus/iicbus_if.m optional iicbus
dev/iicbus/if_ic.c optional ic
dev/iicbus/iic.c optional iic
dev/iicbus/iicbb.c optional iicbb
dev/iicbus/iicbus.c optional iicbus
dev/iicbus/iiconf.c optional iicbus
dev/iicbus/iicsmb.c optional iicsmb \
dependency "iicbus_if.h"
dev/iir/iir.c optional iir
dev/iir/iir_ctrl.c optional iir
dev/iir/iir_pci.c optional iir pci
2003-05-11 06:37:52 +00:00
dev/ips/ips.c optional ips
dev/ips/ips_pci.c optional ips pci
dev/ips/ips_disk.c optional ips
dev/ips/ips_commands.c optional ips
dev/ips/ips_ioctl.c optional ips
2002-07-11 03:26:39 +00:00
dev/isp/isp.c optional isp
dev/isp/isp_freebsd.c optional isp
dev/isp/isp_target.c optional isp
2002-07-11 03:26:39 +00:00
dev/isp/isp_pci.c optional isp pci
dev/isp/isp_sbus.c optional isp sbus
dev/ispfw/ispfw.c optional ispfw
dev/joy/joy.c optional joy
dev/joy/joy_isa.c optional joy isa
dev/joy/joy_pccard.c optional joy pccard
dev/led/led.c standard
dev/lge/if_lge.c optional lge
dev/lnc/if_lnc.c optional lnc
2000-05-14 19:10:46 +00:00
dev/lnc/if_lnc_pci.c optional lnc pci
dev/ncv/ncr53c500.c optional ncv
dev/ncv/ncr53c500_pccard.c optional ncv card
dev/ncv/ncr53c500_pccard.c optional ncv pccard
dev/nsp/nsp.c optional nsp
dev/nsp/nsp_pccard.c optional nsp card
dev/nsp/nsp_pccard.c optional nsp pccard
dev/mca/mca_bus.c optional mca
dev/mcd/mcd.c optional mcd isa nowerror
dev/mcd/mcd_isa.c optional mcd isa nowerror
dev/md/md.c optional md
dev/mii/amphy.c optional miibus
2002-07-05 11:08:55 +00:00
dev/mii/bmtphy.c optional miibus
dev/mii/brgphy.c optional miibus
dev/mii/dcphy.c optional miibus pci
dev/mii/e1000phy.c optional miibus
This commit adds support for the NetBSD MII abstraction layer and MII-compliant PHY drivers. Many 10/100 ethernet NICs available today either use an MII transceiver or have built-in transceivers that can be programmed using an MII interface. It makes sense then to separate this support out into common code instead of duplicating it in all of the NIC drivers. The mii code also handles all of the media detection, selection and reporting via the ifmedia interface. This is basically the same code from NetBSD's /sys/dev/mii, except it's been adapted to FreeBSD's bus architecture. The advantage to this is that it automatically allows everything to be turned into a loadable module. There are some common functions for use in drivers once an miibus has been attached (mii_mediachg(), mii_pollstat(), mii_tick()) as well as individual PHY drivers. There is also a generic driver for all PHYs that aren't handled by a specific driver. It's possible to do this because all 10/100 PHYs implement the same general register set in addition to their vendor-specific register sets, so for the most part you can use one driver for pretty much any PHY. There are a couple of oddball exceptions though, hence the need to have specific drivers. There are two layers: the generic "miibus" layer and the PHY driver layer. The drivers are child devices of "miibus" and the "miibus" is a child of a given NIC driver. The "miibus" code and the PHY drivers can actually be compiled and kldoaded as completely separate modules or compiled together into one module. For the moment I'm using the latter approach since the code is relatively small. Currently there are only three PHY drivers here: the generic driver, the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding others later as I convert various NIC drivers to use this code. I realize that I'm cvs adding this stuff instead of importing it onto a separate vendor branch, but in my opinion the import approach doesn't really offer any significant advantage: I'm going to be maintaining this stuff and writing my own PHY drivers one way or the other.
1999-08-21 17:40:53 +00:00
dev/mii/exphy.c optional miibus
2001-03-12 02:43:03 +00:00
dev/mii/inphy.c optional miibus
dev/mii/mii.c optional miibus
dev/mii/mii_physubr.c optional miibus
dev/mii/mlphy.c optional miibus
This commit adds support for the NetBSD MII abstraction layer and MII-compliant PHY drivers. Many 10/100 ethernet NICs available today either use an MII transceiver or have built-in transceivers that can be programmed using an MII interface. It makes sense then to separate this support out into common code instead of duplicating it in all of the NIC drivers. The mii code also handles all of the media detection, selection and reporting via the ifmedia interface. This is basically the same code from NetBSD's /sys/dev/mii, except it's been adapted to FreeBSD's bus architecture. The advantage to this is that it automatically allows everything to be turned into a loadable module. There are some common functions for use in drivers once an miibus has been attached (mii_mediachg(), mii_pollstat(), mii_tick()) as well as individual PHY drivers. There is also a generic driver for all PHYs that aren't handled by a specific driver. It's possible to do this because all 10/100 PHYs implement the same general register set in addition to their vendor-specific register sets, so for the most part you can use one driver for pretty much any PHY. There are a couple of oddball exceptions though, hence the need to have specific drivers. There are two layers: the generic "miibus" layer and the PHY driver layer. The drivers are child devices of "miibus" and the "miibus" is a child of a given NIC driver. The "miibus" code and the PHY drivers can actually be compiled and kldoaded as completely separate modules or compiled together into one module. For the moment I'm using the latter approach since the code is relatively small. Currently there are only three PHY drivers here: the generic driver, the built-in 3Com XL driver and the NS DP83840 driver. I'll be adding others later as I convert various NIC drivers to use this code. I realize that I'm cvs adding this stuff instead of importing it onto a separate vendor branch, but in my opinion the import approach doesn't really offer any significant advantage: I'm going to be maintaining this stuff and writing my own PHY drivers one way or the other.
1999-08-21 17:40:53 +00:00
dev/mii/nsphy.c optional miibus
dev/mii/nsgphy.c optional miibus
dev/mii/pnphy.c optional miibus
dev/mii/pnaphy.c optional miibus
dev/mii/rgephy.c optional miibus
dev/mii/rlphy.c optional miibus
dev/mii/ruephy.c optional miibus
dev/mii/tdkphy.c optional miibus
dev/mii/tlphy.c optional miibus
dev/mii/ukphy.c optional miibus
dev/mii/ukphy_subr.c optional miibus
dev/mii/xmphy.c optional miibus
dev/mii/lxtphy.c optional miibus
dev/mii/qsphy.c optional miibus
dev/mii/acphy.c optional miibus
dev/mii/miibus_if.m optional miibus
dev/mk48txx/mk48txx.c optional mk48txx
dev/mlx/mlx.c optional mlx
dev/mlx/mlx_disk.c optional mlx
dev/mlx/mlx_pci.c optional mlx pci
dev/mly/mly.c optional mly
dev/mpt/mpt.c optional mpt
dev/mpt/mpt_debug.c optional mpt
dev/mpt/mpt_freebsd.c optional mpt
dev/mpt/mpt_pci.c optional mpt pci
dev/my/if_my.c optional my
dev/musycc/musycc.c optional musycc
dev/nge/if_nge.c optional nge
dev/null/null.c standard
dev/nmdm/nmdm.c optional nmdm
dev/patm/if_patm.c optional patm pci
dev/patm/if_patm_intr.c optional patm pci
dev/patm/if_patm_ioctl.c optional patm pci
dev/patm/if_patm_rx.c optional patm pci
dev/patm/if_patm_tx.c optional patm pci
dev/patm/if_patm_attach.c optional patm pci
dev/patm/if_patm_rtables.c optional patm pci
dev/pccard/card_if.m standard
dev/pccard/pccard.c optional pccard
dev/pccard/pccard_cis.c optional pccard
dev/pccard/pccard_cis_quirks.c optional pccard
dev/pccard/power_if.m standard
2002-08-15 08:05:40 +00:00
dev/pccbb/pccbb.c optional cbb
dev/pci/eisa_pci.c optional pci eisa
dev/pci/fixup_pci.c optional pci
dev/pci/ignore_pci.c optional pci
dev/pci/isa_pci.c optional pci isa
dev/pci/pci.c optional pci
dev/pci/pci_if.m standard
dev/pci/pci_pci.c optional pci
dev/pci/pci_user.c optional pci
dev/pci/pcib_if.m standard
dev/pcic/i82365.c optional pcic pccard
dev/pcic/i82365_isa.c optional pcic pccard isa
dev/pdq/if_fea.c optional fea eisa
dev/pdq/if_fpa.c optional fpa pci
2002-03-30 17:41:23 +00:00
dev/pdq/pdq.c optional fea eisa nowerror
dev/pdq/pdq.c optional fpa pci nowerror
dev/pdq/pdq_ifsubr.c optional fea eisa nowerror
dev/pdq/pdq_ifsubr.c optional fpa pci nowerror
dev/ppbus/ppbus_if.m optional ppbus
dev/ppbus/if_plip.c optional plip
dev/ppbus/immio.c optional vpo
dev/ppbus/lpbb.c optional lpbb
dev/ppbus/lpt.c optional lpt
dev/ppbus/pcfclock.c optional pcfclock
dev/ppbus/ppb_1284.c optional ppbus
dev/ppbus/ppb_base.c optional ppbus
dev/ppbus/ppb_msq.c optional ppbus
dev/ppbus/ppbconf.c optional ppbus
dev/ppbus/ppi.c optional ppi
dev/ppbus/pps.c optional pps
dev/ppbus/vpo.c optional vpo
dev/ppbus/vpoio.c optional vpo
dev/pst/pst-pci.c optional pst pci
dev/pst/pst-iop.c optional pst
dev/pst/pst-raid.c optional pst
dev/puc/puc.c optional puc
dev/puc/puc_ebus.c optional puc ebus
dev/puc/puc_pci.c optional puc pci
dev/puc/puc_pccard.c optional puc pccard
dev/puc/puc_sbus.c optional puc sbus
dev/puc/pucdata.c optional puc pci
dev/random/harvest.c standard
dev/random/randomdev.c optional random
dev/random/randomdev_soft.c optional random
dev/random/probe.c optional random
dev/random/yarrow.c optional random
dev/random/hash.c optional random
crypto/rijndael/rijndael-alg-fst.c optional random
crypto/rijndael/rijndael-api-fst.c optional random
crypto/sha2/sha2.c optional random
dev/ray/if_ray.c optional ray card
dev/ray/if_ray.c optional ray pccard
dev/rc/rc.c optional rc
Take the support for the 8139C+/8169/8169S/8110S chips out of the rl(4) driver and put it in a new re(4) driver. The re(4) driver shares the if_rlreg.h file with rl(4) but is a separate module. (Ultimately I may change this. For now, it's convenient.) rl(4) has been modified so that it will never attach to an 8139C+ chip, leaving it to re(4) instead. Only re(4) has the PCI IDs to match the 8169/8169S/8110S gigE chips. if_re.c contains the same basic code that was originally bolted onto if_rl.c, with the following updates: - Added support for jumbo frames. Currently, there seems to be a limit of approximately 6200 bytes for jumbo frames on transmit. (This was determined via experimentation.) The 8169S/8110S chips apparently are limited to 7.5K frames on transmit. This may require some more work, though the framework to handle jumbo frames on RX is in place: the re_rxeof() routine will gather up frames than span multiple 2K clusters into a single mbuf list. - Fixed bug in re_txeof(): if we reap some of the TX buffers, but there are still some pending, re-arm the timer before exiting re_txeof() so that another timeout interrupt will be generated, just in case re_start() doesn't do it for us. - Handle the 'link state changed' interrupt - Fix a detach bug. If re(4) is loaded as a module, and you do tcpdump -i re0, then you do 'kldunload if_re,' the system will panic after a few seconds. This happens because ether_ifdetach() ends up calling the BPF detach code, which notices the interface is in promiscuous mode and tries to switch promisc mode off while detaching the BPF listner. This ultimately results in a call to re_ioctl() (due to SIOCSIFFLAGS), which in turn calls re_init() to handle the IFF_PROMISC flag change. Unfortunately, calling re_init() here turns the chip back on and restarts the 1-second timeout loop that drives re_tick(). By the time the timeout fires, if_re.ko has been unloaded, which results in a call to invalid code and blows up the system. To fix this, I cleared the IFF_UP flag before calling ether_ifdetach(), which stops the ioctl routine from trying to reset the chip. - Modified comments in re_rxeof() relating to the difference in RX descriptor status bit layout between the 8139C+ and the gigE chips. The layout is different because the frame length field was expanded from 12 bits to 13, and they got rid of one of the status bits to make room. - Add diagnostic code (re_diag()) to test for the case where a user has installed a broken 32-bit 8169 PCI NIC in a 64-bit slot. Some NICs have the REQ64# and ACK64# lines connected even though the board is 32-bit only (in this case, they should be pulled high). This fools the chip into doing 64-bit DMA transfers even though there is no 64-bit data path. To detect this, re_diag() puts the chip into digital loopback mode and sets the receiver to promiscuous mode, then initiates a single 64-byte packet transmission. The frame is echoed back to the host, and if the frame contents are intact, we know DMA is working correctly, otherwise we complain loudly on the console and abort the device attach. (At the moment, I don't know of any way to work around the problem other than physically modifying the board, so until/unless I can think of a software workaround, this will have do to.) - Created re(4) man page - Modified rlphy.c to allow re(4) to attach as well as rl(4). Note that this code works for the sample 8169/Marvell 88E1000 NIC that I have, but probably won't work for the 8169S/8110S chips. RealTek has sent me some sample NICs, but they haven't arrived yet. I will probably need to add an rlgphy driver to handle the on-board PHY in the 8169S/8110S (it needs special DSP initialization).
2003-09-08 02:11:25 +00:00
dev/re/if_re.c optional re
dev/rndtest/rndtest.c optional rndtest
dev/rp/rp.c optional rp
dev/rp/rp_isa.c optional rp isa
dev/rp/rp_pci.c optional rp pci
2002-08-04 19:07:15 +00:00
dev/sab/sab.c optional sab ebus
dev/safe/safe.c optional safe
dev/sbsh/if_sbsh.c optional sbsh
dev/scd/scd.c optional scd isa
dev/scd/scd_isa.c optional scd isa
dev/si/si.c optional si
dev/si/si2_z280.c optional si
dev/si/si3_t225.c optional si
dev/si/si_eisa.c optional si eisa
dev/si/si_isa.c optional si isa
dev/si/si_pci.c optional si pci
dev/sio/sio_pccard.c optional sio card
dev/sio/sio_pccard.c optional sio pccard
dev/sio/sio_pci.c optional sio pci
dev/sio/sio_puc.c optional sio puc pci
dev/smbus/smbus_if.m optional smbus
dev/smbus/smb.c optional smb
dev/smbus/smbconf.c optional smbus
dev/smbus/smbus.c optional smbus
dev/sn/if_sn.c optional sn
1999-12-22 09:30:51 +00:00
dev/sn/if_sn_isa.c optional sn isa
dev/sn/if_sn_pccard.c optional sn card
dev/sn/if_sn_pccard.c optional sn pccard
dev/snp/snp.c optional snp
dev/sound/isa/ad1816.c optional pcm isa
dev/sound/isa/emu8000.c optional midi isa
dev/sound/isa/es1888.c optional pcm isa
dev/sound/isa/ess.c optional pcm isa
dev/sound/isa/gusc.c optional gusc isa
dev/sound/isa/gusc.c optional pcm isa
dev/sound/isa/gusmidi.c optional midi isa
dev/sound/isa/mpu.c optional midi isa
dev/sound/isa/mss.c optional pcm isa
dev/sound/isa/opl.c optional midi isa
2000-11-01 00:53:16 +00:00
dev/sound/isa/sb16.c optional pcm isa
dev/sound/isa/sb8.c optional pcm isa
dev/sound/isa/sbc.c optional pcm isa
dev/sound/isa/sbc.c optional sbc isa
dev/sound/isa/sndbuf_dma.c optional pcm isa
dev/sound/isa/uartsio.c optional midi isa
dev/sound/midi/midi.c optional midi
dev/sound/midi/midibuf.c optional midi
dev/sound/midi/midisynth.c optional midi
dev/sound/midi/sequencer.c optional seq midi
dev/sound/midi/timer.c optional seq midi
dev/sound/pci/als4000.c optional pcm pci
#dev/sound/pci/au88x0.c optional pcm pci
dev/sound/pci/cmi.c optional pcm pci
dev/sound/pci/cs4281.c optional pcm pci
dev/sound/pci/csa.c optional csa pci
dev/sound/pci/csa.c optional pcm pci
dev/sound/pci/csamidi.c optional midi csa
dev/sound/pci/csapcm.c optional pcm pci
2000-06-06 23:34:19 +00:00
dev/sound/pci/ds1.c optional pcm pci
dev/sound/pci/emu10k1.c optional pcm pci dependency "emu10k1-alsa%diked.h"
dev/sound/pci/es137x.c optional pcm pci
2000-08-29 16:14:28 +00:00
dev/sound/pci/fm801.c optional pcm pci
dev/sound/pci/ich.c optional pcm pci
dev/sound/pci/maestro.c optional pcm pci
dev/sound/pci/neomagic.c optional pcm pci
dev/sound/pci/solo.c optional pcm pci
dev/sound/pci/t4dwave.c optional pcm pci
dev/sound/pci/via8233.c optional pcm pci
2000-08-09 01:08:59 +00:00
dev/sound/pci/via82c686.c optional pcm pci
dev/sound/pci/vibes.c optional pcm pci
2001-06-07 20:12:11 +00:00
#dev/sound/pci/vortex1.c optional pcm pci
dev/sound/pcm/ac97.c optional pcm
dev/sound/pcm/ac97_patch.c optional pcm
dev/sound/pcm/ac97_if.m optional pcm
dev/sound/pcm/buffer.c optional pcm
dev/sound/pcm/channel.c optional pcm
dev/sound/pcm/channel_if.m optional pcm
dev/sound/pcm/dsp.c optional pcm
dev/sound/pcm/fake.c optional pcm
dev/sound/pcm/feeder.c optional pcm
dev/sound/pcm/feeder_if.m optional pcm
2000-09-23 22:21:39 +00:00
dev/sound/pcm/feeder_fmt.c optional pcm
dev/sound/pcm/feeder_rate.c optional pcm
dev/sound/pcm/mixer.c optional pcm
dev/sound/pcm/mixer_if.m optional pcm
dev/sound/pcm/sndstat.c optional pcm
dev/sound/pcm/sound.c optional pcm
2001-06-07 20:12:11 +00:00
dev/sound/pcm/vchan.c optional pcm
2000-08-09 01:08:59 +00:00
#dev/sound/usb/upcm.c optional pcm usb
dev/sound/usb/uaudio.c optional pcm usb
dev/sound/usb/uaudio_pcm.c optional pcm usb
dev/sr/if_sr.c optional sr
dev/sr/if_sr_pci.c optional sr pci
dev/streams/streams.c optional streams
dev/stg/tmc18c30.c optional stg
dev/stg/tmc18c30_subr.c optional stg
dev/stg/tmc18c30_pccard.c optional stg card
dev/stg/tmc18c30_pccard.c optional stg pccard
dev/stg/tmc18c30_pci.c optional stg pci
dev/stg/tmc18c30_isa.c optional stg isa
2004-04-11 20:01:18 +00:00
dev/sx/sx.c optional sx
dev/sx/sx_util.c optional sx
#dev/sx/sx_isa.c optional sx isa
dev/sx/sx_pci.c optional sx pci
dev/sym/sym_hipd.c optional sym \
dependency "$S/dev/sym/sym_{conf,defs}.h"
dev/syscons/blank/blank_saver.c optional blank_saver
dev/syscons/daemon/daemon_saver.c optional daemon_saver
dev/syscons/fade/fade_saver.c optional fade_saver
dev/syscons/fire/fire_saver.c optional fire_saver
dev/syscons/green/green_saver.c optional green_saver
dev/syscons/logo/logo_saver.c optional logo_saver
dev/syscons/logo/logo.c optional logo_saver
dev/syscons/rain/rain_saver.c optional rain_saver
dev/syscons/star/star_saver.c optional star_saver
dev/syscons/warp/warp_saver.c optional warp_saver
dev/tdfx/tdfx_pci.c optional tdfx pci
dev/trm/trm.c optional trm
dev/twa/twa.c optional twa
dev/twa/twa_cam.c optional twa
dev/twa/twa_freebsd.c optional twa
dev/twa/twa_fwimg.c optional twa
dev/twa/twa_globals.c optional twa
dev/twe/twe.c optional twe
dev/twe/twe_freebsd.c optional twe
dev/tx/if_tx.c optional tx
dev/txp/if_txp.c optional txp
dev/uart/uart_if.m optional uart
dev/uart/uart_bus_acpi.c optional uart acpi
dev/uart/uart_bus_ebus.c optional uart ebus
dev/uart/uart_bus_isa.c optional uart isa
#dev/uart/uart_bus_cbus.c optional uart cbus
dev/uart/uart_bus_pccard.c optional uart pccard
dev/uart/uart_bus_pci.c optional uart cardbus
dev/uart/uart_bus_pci.c optional uart pci
dev/uart/uart_bus_puc.c optional uart puc
dev/uart/uart_core.c optional uart
dev/uart/uart_dev_i8251.c optional uart
dev/uart/uart_dev_ns8250.c optional uart
dev/uart/uart_dev_sab82532.c optional uart
dev/uart/uart_dev_z8530.c optional uart
dev/uart/uart_subr.c optional uart
dev/uart/uart_tty.c optional uart
dev/ubsec/ubsec.c optional ubsec
#
# USB support
dev/usb/usb_if.m optional usb
dev/usb/hid.c optional usb
dev/usb/if_aue.c optional aue
dev/usb/if_axe.c optional axe
dev/usb/if_cue.c optional cue
dev/usb/if_udav.c optional udav
dev/usb/if_kue.c optional kue
dev/usb/if_rue.c optional rue
dev/usb/ehci.c optional ehci
dev/usb/ehci_pci.c optional ehci pci
dev/usb/ohci.c optional ohci
dev/usb/ohci_pci.c optional ohci pci
dev/usb/ubsa.c optional ubsa ucom
dev/usb/ubser.c optional ubser
dev/usb/ucom.c optional ucom
dev/usb/udbp.c optional udbp
dev/usb/ufm.c optional ufm
dev/usb/uftdi.c optional uftdi ucom
dev/usb/ugen.c optional ugen
dev/usb/uhci.c optional uhci
dev/usb/uhci_pci.c optional uhci pci
dev/usb/uhid.c optional uhid
dev/usb/uhub.c optional usb
dev/usb/ukbd.c optional ukbd
dev/usb/ulpt.c optional ulpt
dev/usb/umass.c optional umass
2003-06-28 05:47:34 +00:00
dev/usb/umct.c optional umct
2000-07-18 10:49:45 +00:00
dev/usb/umodem.c optional umodem
dev/usb/ums.c optional ums
dev/usb/uplcom.c optional uplcom ucom
dev/usb/urio.c optional urio
dev/usb/uscanner.c optional uscanner
dev/usb/uvisor.c optional uvisor ucom
dev/usb/uvscom.c optional uvscom ucom
dev/usb/usb.c optional usb
dev/usb/usb_ethersubr.c optional usb
dev/usb/usb_mem.c optional usb
dev/usb/usb_quirks.c optional usb
dev/usb/usb_subr.c optional usb
dev/usb/usbdi.c optional usb
dev/usb/usbdi_util.c optional usb
dev/utopia/utopia.c optional utopia
dev/vinum/vinum.c optional vinum
dev/vinum/vinumconfig.c optional vinum
dev/vinum/vinumdaemon.c optional vinum
dev/vinum/vinuminterrupt.c optional vinum
dev/vinum/vinumio.c optional vinum
dev/vinum/vinumioctl.c optional vinum
dev/vinum/vinumlock.c optional vinum
dev/vinum/vinummemory.c optional vinum
dev/vinum/vinumparser.c optional vinum
dev/vinum/vinumraid5.c optional vinum
dev/vinum/vinumrequest.c optional vinum
dev/vinum/vinumrevive.c optional vinum
dev/vinum/vinumstate.c optional vinum
dev/vinum/vinumutil.c optional vinum
dev/vx/if_vx.c optional vx
dev/vx/if_vx_eisa.c optional vx eisa
dev/vx/if_vx_pci.c optional vx pci
#dev/wlp/if_wlp.c optional wlp card
dev/watchdog/watchdog.c standard
dev/wds/wd7000.c optional wds isa
dev/wi/if_wi.c optional wi
dev/wi/if_wi_pccard.c optional wi pccard
dev/wi/if_wi_pccard.c optional wi card
dev/wi/if_wi_pci.c optional wi pci
dev/wl/if_wl.c optional wl isa
dev/xe/if_xe.c optional xe
dev/xe/if_xe_pccard.c optional xe card
dev/xe/if_xe_pccard.c optional xe pccard
2003-01-08 23:36:59 +00:00
dev/zs/zs.c optional zs
dev/zs/zs_sbus.c optional zs fhc
dev/zs/zs_sbus.c optional zs sbus
fs/deadfs/dead_vnops.c standard
fs/devfs/devfs_devs.c standard
fs/devfs/devfs_rule.c standard
fs/devfs/devfs_vfsops.c standard
fs/devfs/devfs_vnops.c standard
fs/fdescfs/fdesc_vfsops.c optional fdescfs
fs/fdescfs/fdesc_vnops.c optional fdescfs
fs/fifofs/fifo_vnops.c standard
fs/hpfs/hpfs_alsubr.c optional hpfs
fs/hpfs/hpfs_hash.c optional hpfs
fs/hpfs/hpfs_lookup.c optional hpfs
fs/hpfs/hpfs_subr.c optional hpfs
fs/hpfs/hpfs_vfsops.c optional hpfs
fs/hpfs/hpfs_vnops.c optional hpfs
fs/msdosfs/msdosfs_conv.c optional msdosfs
fs/msdosfs/msdosfs_denode.c optional msdosfs
fs/msdosfs/msdosfs_fat.c optional msdosfs
fs/msdosfs/msdosfs_lookup.c optional msdosfs
fs/msdosfs/msdosfs_vfsops.c optional msdosfs
fs/msdosfs/msdosfs_vnops.c optional msdosfs
fs/msdosfs/msdosfs_iconv.c optional msdosfs_iconv
fs/ntfs/ntfs_compr.c optional ntfs
fs/ntfs/ntfs_ihash.c optional ntfs
fs/ntfs/ntfs_subr.c optional ntfs
fs/ntfs/ntfs_vfsops.c optional ntfs
fs/ntfs/ntfs_vnops.c optional ntfs
fs/ntfs/ntfs_iconv.c optional ntfs_iconv
fs/nullfs/null_subr.c optional nullfs
fs/nullfs/null_vfsops.c optional nullfs
fs/nullfs/null_vnops.c optional nullfs
fs/nwfs/nwfs_io.c optional nwfs
fs/nwfs/nwfs_ioctl.c optional nwfs
fs/nwfs/nwfs_node.c optional nwfs
fs/nwfs/nwfs_subr.c optional nwfs
fs/nwfs/nwfs_vfsops.c optional nwfs
fs/nwfs/nwfs_vnops.c optional nwfs
fs/portalfs/portal_vfsops.c optional portalfs
fs/portalfs/portal_vnops.c optional portalfs
2001-12-04 01:35:06 +00:00
fs/procfs/procfs.c optional procfs
fs/procfs/procfs_ctl.c optional procfs
fs/procfs/procfs_dbregs.c optional procfs
fs/procfs/procfs_fpregs.c optional procfs
2001-12-04 01:35:06 +00:00
fs/procfs/procfs_ioctl.c optional procfs
fs/procfs/procfs_map.c optional procfs
fs/procfs/procfs_mem.c optional procfs
fs/procfs/procfs_note.c optional procfs
fs/procfs/procfs_regs.c optional procfs
fs/procfs/procfs_rlimit.c optional procfs
fs/procfs/procfs_status.c optional procfs
fs/procfs/procfs_type.c optional procfs
fs/pseudofs/pseudofs.c optional pseudofs
fs/pseudofs/pseudofs_fileno.c optional pseudofs
fs/pseudofs/pseudofs_vncache.c optional pseudofs
fs/pseudofs/pseudofs_vnops.c optional pseudofs
fs/smbfs/smbfs_io.c optional smbfs
fs/smbfs/smbfs_node.c optional smbfs
fs/smbfs/smbfs_smb.c optional smbfs
fs/smbfs/smbfs_subr.c optional smbfs
fs/smbfs/smbfs_vfsops.c optional smbfs
fs/smbfs/smbfs_vnops.c optional smbfs
fs/specfs/spec_vnops.c standard
fs/udf/udf_iconv.c optional udf_iconv
fs/udf/udf_vfsops.c optional udf
fs/udf/udf_vnops.c optional udf
fs/udf/osta.c optional udf
fs/umapfs/umap_subr.c optional umapfs
fs/umapfs/umap_vfsops.c optional umapfs
fs/umapfs/umap_vnops.c optional umapfs
fs/unionfs/union_subr.c optional unionfs
fs/unionfs/union_vfsops.c optional unionfs
fs/unionfs/union_vnops.c optional unionfs
geom/bde/g_bde.c optional geom_bde
geom/bde/g_bde_crypt.c optional geom_bde
geom/bde/g_bde_lock.c optional geom_bde
geom/bde/g_bde_work.c optional geom_bde
crypto/rijndael/rijndael-alg-fst.c optional geom_bde
crypto/rijndael/rijndael-api-fst.c optional geom_bde
crypto/sha2/sha2.c optional geom_bde
geom/concat/g_concat.c optional geom_concat
geom/gate/g_gate.c optional geom_gate
geom/nop/g_nop.c optional geom_nop
geom/stripe/g_stripe.c optional geom_stripe
geom/geom_aes.c optional geom_aes
geom/geom_apple.c optional geom_apple
geom/geom_bsd.c optional geom_bsd
geom/geom_bsd_enc.c optional geom_bsd
geom/geom_ccd.c optional ccd
geom/geom_ccd.c optional geom_ccd
geom/geom_ctl.c standard
geom/geom_dev.c standard
geom/geom_disk.c standard
geom/geom_dump.c standard
geom/geom_event.c standard
geom/geom_fox.c optional geom_fox
geom/geom_gpt.c optional geom_gpt
geom/geom_io.c standard
geom/geom_kern.c standard
geom/geom_mbr.c optional geom_mbr
geom/geom_mbr_enc.c optional geom_mbr
geom/geom_mirror.c optional geom_mirror
geom/geom_pc98.c optional geom_pc98
geom/geom_pc98_enc.c optional geom_pc98
geom/geom_slice.c standard
geom/geom_subr.c standard
geom/geom_sunlabel.c optional geom_sunlabel
geom/geom_sunlabel_enc.c optional geom_sunlabel
geom/geom_vol_ffs.c optional geom_vol
gnu/ext2fs/ext2_alloc.c optional ext2fs \
2002-05-16 21:28:32 +00:00
warning "kernel contains GPL contaminated ext2fs filesystem"
gnu/ext2fs/ext2_balloc.c optional ext2fs
gnu/ext2fs/ext2_bmap.c optional ext2fs
gnu/ext2fs/ext2_ihash.c optional ext2fs
gnu/ext2fs/ext2_inode.c optional ext2fs
gnu/ext2fs/ext2_inode_cnv.c optional ext2fs
gnu/ext2fs/ext2_linux_balloc.c optional ext2fs
gnu/ext2fs/ext2_linux_ialloc.c optional ext2fs
gnu/ext2fs/ext2_lookup.c optional ext2fs
gnu/ext2fs/ext2_subr.c optional ext2fs
gnu/ext2fs/ext2_vfsops.c optional ext2fs
gnu/ext2fs/ext2_vnops.c optional ext2fs
2000-10-09 13:41:07 +00:00
#
# isdn4bsd device drivers
#
i4b/driver/i4b_trace.c count i4btrc
i4b/driver/i4b_rbch.c count i4brbch
i4b/driver/i4b_tel.c count i4btel
i4b/driver/i4b_ipr.c count i4bipr
net/slcompress.c optional i4bipr
i4b/driver/i4b_ctl.c optional i4bctl
2000-10-09 13:41:07 +00:00
i4b/driver/i4b_ing.c count i4bing
i4b/driver/i4b_isppp.c count i4bisppp
net/slcompress.c optional i4bisppp
#
# isdn4bsd CAPI driver
#
i4b/capi/capi_l4if.c optional i4bcapi
i4b/capi/capi_llif.c optional i4bcapi
i4b/capi/capi_msgs.c optional i4bcapi
#
# isdn4bsd AVM B1/T1 CAPI driver
#
i4b/capi/iavc/iavc_pci.c optional iavc i4bcapi pci
i4b/capi/iavc/iavc_isa.c optional iavc i4bcapi isa
i4b/capi/iavc/iavc_lli.c optional iavc i4bcapi
i4b/capi/iavc/iavc_card.c optional iavc i4bcapi
#
2000-10-09 13:41:07 +00:00
# isdn4bsd support
#
i4b/layer2/i4b_mbuf.c optional i4btrc
#
# isdn4bsd Q.921 handler
#
i4b/layer2/i4b_l2.c optional i4bq921
2000-10-09 13:41:07 +00:00
i4b/layer2/i4b_l2fsm.c optional i4bq921
i4b/layer2/i4b_uframe.c optional i4bq921
i4b/layer2/i4b_tei.c optional i4bq921
i4b/layer2/i4b_sframe.c optional i4bq921
i4b/layer2/i4b_iframe.c optional i4bq921
i4b/layer2/i4b_l2timer.c optional i4bq921
i4b/layer2/i4b_util.c optional i4bq921
i4b/layer2/i4b_lme.c optional i4bq921
#
# isdn4bsd Q.931 handler
#
i4b/layer3/i4b_q931.c optional i4bq931
2000-10-09 13:41:07 +00:00
i4b/layer3/i4b_l3fsm.c optional i4bq931
i4b/layer3/i4b_l3timer.c optional i4bq931
i4b/layer3/i4b_l2if.c optional i4bq931
i4b/layer3/i4b_l4if.c optional i4bq931
i4b/layer3/i4b_q932fac.c optional i4bq931
#
# isdn4bsd control device driver, interface to isdnd
#
i4b/layer4/i4b_i4bdrv.c optional i4b
2000-10-09 13:41:07 +00:00
i4b/layer4/i4b_l4.c optional i4b
i4b/layer4/i4b_l4mgmt.c optional i4b
i4b/layer4/i4b_l4timer.c optional i4b
#
isa/isa_if.m standard
isa/isa_common.c optional isa
isa/isahint.c optional isa
isa/orm.c optional isa
isa/pnp.c optional isa
isa/pnpparse.c optional isa
1994-05-24 10:09:53 +00:00
isofs/cd9660/cd9660_bmap.c optional cd9660
isofs/cd9660/cd9660_lookup.c optional cd9660
isofs/cd9660/cd9660_node.c optional cd9660
isofs/cd9660/cd9660_rrip.c optional cd9660
isofs/cd9660/cd9660_util.c optional cd9660
isofs/cd9660/cd9660_vfsops.c optional cd9660
isofs/cd9660/cd9660_vnops.c optional cd9660
isofs/cd9660/cd9660_iconv.c optional cd9660_iconv
kern/imgact_elf.c standard
kern/imgact_shell.c standard
kern/inflate.c optional gzip
1994-05-24 10:09:53 +00:00
kern/init_main.c standard
kern/init_sysent.c standard
kern/kern_acct.c standard
kern/kern_acl.c standard
2002-09-22 07:19:37 +00:00
kern/kern_alq.c optional alq
1994-05-24 10:09:53 +00:00
kern/kern_clock.c standard
2001-01-16 01:00:43 +00:00
kern/kern_condvar.c standard
kern/kern_conf.c standard
kern/kern_context.c standard
1994-05-24 10:09:53 +00:00
kern/kern_descrip.c standard
kern/kern_poll.c optional device_polling
kern/kern_environment.c standard
2000-04-17 03:06:27 +00:00
kern/kern_event.c standard
1994-05-24 10:09:53 +00:00
kern/kern_exec.c standard
kern/kern_exit.c standard
kern/kern_fork.c standard
kern/kern_idle.c standard
kern/kern_intr.c standard
This Implements the mumbled about "Jail" feature. This is a seriously beefed up chroot kind of thing. The process is jailed along the same lines as a chroot does it, but with additional tough restrictions imposed on what the superuser can do. For all I know, it is safe to hand over the root bit inside a prison to the customer living in that prison, this is what it was developed for in fact: "real virtual servers". Each prison has an ip number associated with it, which all IP communications will be coerced to use and each prison has its own hostname. Needless to say, you need more RAM this way, but the advantage is that each customer can run their own particular version of apache and not stomp on the toes of their neighbors. It generally does what one would expect, but setting up a jail still takes a little knowledge. A few notes: I have no scripts for setting up a jail, don't ask me for them. The IP number should be an alias on one of the interfaces. mount a /proc in each jail, it will make ps more useable. /proc/<pid>/status tells the hostname of the prison for jailed processes. Quotas are only sensible if you have a mountpoint per prison. There are no privisions for stopping resource-hogging. Some "#ifdef INET" and similar may be missing (send patches!) If somebody wants to take it from here and develop it into more of a "virtual machine" they should be most welcome! Tools, comments, patches & documentation most welcome. Have fun... Sponsored by: http://www.rndassociates.com/ Run for almost a year by: http://www.servetheweb.com/
1999-04-28 11:38:52 +00:00
kern/kern_jail.c standard
2003-04-01 00:30:54 +00:00
kern/kern_thr.c standard
kern/kern_kthread.c standard
kern/kern_ktr.c optional ktr
1994-05-24 10:09:53 +00:00
kern/kern_ktrace.c standard
kern/kern_linker.c standard
kern/kern_lock.c standard
1994-09-20 15:55:09 +00:00
kern/kern_lockf.c standard
kern/kern_mac.c standard
1994-05-24 10:09:53 +00:00
kern/kern_malloc.c standard
kern/kern_mib.c standard
kern/kern_module.c standard
kern/kern_mutex.c standard
kern/kern_mtxpool.c standard
kern/kern_ntptime.c standard
1994-05-24 10:09:53 +00:00
kern/kern_physio.c standard
kern/kern_proc.c standard
kern/kern_prot.c standard
kern/kern_resource.c standard
kern/kern_sema.c standard
kern/kern_shutdown.c standard
1994-05-24 10:09:53 +00:00
kern/kern_sig.c standard
kern/kern_subr.c standard
kern/kern_switch.c standard
kern/kern_sx.c standard
1994-05-24 10:09:53 +00:00
kern/kern_synch.c standard
kern/kern_syscalls.c standard
1994-05-24 10:09:53 +00:00
kern/kern_sysctl.c standard
kern/kern_tc.c standard
kern/kern_thread.c standard
1994-05-24 10:09:53 +00:00
kern/kern_time.c standard
kern/kern_timeout.c standard
kern/kern_umtx.c standard
Add uuidgen(2) and uuidgen(1). The uuidgen command, by means of the uuidgen syscall, generates one or more Universally Unique Identifiers compatible with OSF/DCE 1.1 version 1 UUIDs. From the Perforce logs (change 11995): Round of cleanups: o Give uuidgen() the correct prototype in syscalls.master o Define struct uuid according to DCE 1.1 in sys/uuid.h o Use struct uuid instead of uuid_t. The latter is defined in sys/uuid.h but should not be used in kernel land. o Add snprintf_uuid(), printf_uuid() and sbuf_printf_uuid() to kern_uuid.c for use in the kernel (currently geom_gpt.c). o Rename the non-standard struct uuid in kern/kern_uuid.c to struct uuid_private and give it a slightly better definition for better byte-order handling. See below. o In sys/gpt.h, fix the broken uuid definitions to match the now compliant struct uuid definition. See below. o In usr.bin/uuidgen/uuidgen.c catch up with struct uuid change. A note about byte-order: The standard failed to provide a non-conflicting and unambiguous definition for the binary representation. My initial implementation always wrote the timestamp as a 64-bit little-endian (2s-complement) integral. The clock sequence was always written as a 16-bit big-endian (2s-complement) integral. After a good nights sleep and couple of Pan Galactic Gargle Blasters (not necessarily in that order :-) I reread the spec and came to the conclusion that the time fields are always written in the native by order, provided the the low, mid and hi chopping still occurs. The spec mentions that you "might need to swap bytes if you talk to a machine that has a different byte-order". The clock sequence is always written in big-endian order (as is the IEEE 802 address) because its division is resulting in bytes, making the ordering unambiguous.
2002-05-28 06:16:08 +00:00
kern/kern_uuid.c standard
1994-05-24 10:09:53 +00:00
kern/kern_xxx.c standard
kern/link_elf.c standard
kern/md4c.c optional netsmb
kern/md5c.c standard
kern/sched_4bsd.c optional sched_4bsd
kern/sched_ule.c optional sched_ule
kern/subr_autoconf.c standard
kern/subr_blist.c standard
kern/subr_bus.c standard
kern/subr_clock.c optional genclock
1998-09-15 09:59:15 +00:00
kern/subr_devstat.c standard
kern/subr_disk.c standard
kern/subr_eventhandler.c standard
kern/subr_hints.c standard
kern/subr_kobj.c standard
1994-05-24 10:09:53 +00:00
kern/subr_log.c standard
kern/subr_mbpool.c optional libmbpool
Introduce numerous SMP friendly changes to the mbuf allocator. Namely, introduce a modified allocation mechanism for mbufs and mbuf clusters; one which can scale under SMP and which offers the possibility of resource reclamation to be implemented in the future. Notable advantages: o Reduce contention for SMP by offering per-CPU pools and locks. o Better use of data cache due to per-CPU pools. o Much less code cache pollution due to excessively large allocation macros. o Framework for `grouping' objects from same page together so as to be able to possibly free wired-down pages back to the system if they are no longer needed by the network stacks. Additional things changed with this addition: - Moved some mbuf specific declarations and initializations from sys/conf/param.c into mbuf-specific code where they belong. - m_getclr() has been renamed to m_get_clrd() because the old name is really confusing. m_getclr() HAS been preserved though and is defined to the new name. No tree sweep has been done "to change the interface," as the old name will continue to be supported and is not depracated. The change was merely done because m_getclr() sounds too much like "m_get a cluster." - TEMPORARILY disabled mbtypes statistics displaying in netstat(1) and systat(1) (see TODO below). - Fixed systat(1) to display number of "free mbufs" based on new per-CPU stat structures. - Fixed netstat(1) to display new per-CPU stats based on sysctl-exported per-CPU stat structures. All infos are fetched via sysctl. TODO (in order of priority): - Re-enable mbtypes statistics in both netstat(1) and systat(1) after introducing an SMP friendly way to collect the mbtypes stats under the already introduced per-CPU locks (i.e. hopefully don't use atomic() - it seems too costly for a mere stat update, especially when other locks are already present). - Optionally have systat(1) display not only "total free mbufs" but also "total free mbufs per CPU pool." - Fix minor length-fetching issues in netstat(1) related to recently re-enabled option to read mbuf stats from a core file. - Move reference counters at least for mbuf clusters into an unused portion of the cluster itself, to save space and need to allocate a counter. - Look into introducing resource freeing possibly from a kproc. Reviewed by (in parts): jlemon, jake, silby, terry Tested by: jlemon (Intel & Alpha), mjacob (Intel & Alpha) Preliminary performance measurements: jlemon (and me, obviously) URL: http://people.freebsd.org/~bmilekic/mb_alloc/
2001-06-22 06:35:32 +00:00
kern/subr_mbuf.c standard
kern/subr_mchain.c optional libmchain
kern/subr_module.c standard
kern/subr_msgbuf.c standard
kern/subr_param.c standard
kern/subr_pcpu.c standard
kern/subr_power.c standard
1994-05-24 10:09:53 +00:00
kern/subr_prf.c standard
kern/subr_prof.c standard
kern/subr_rman.c standard
2000-12-13 19:52:12 +00:00
kern/subr_sbuf.c standard
kern/subr_scanf.c standard
Switch the sleep/wakeup and condition variable implementations to use the sleep queue interface: - Sleep queues attempt to merge some of the benefits of both sleep queues and condition variables. Having sleep qeueus in a hash table avoids having to allocate a queue head for each wait channel. Thus, struct cv has shrunk down to just a single char * pointer now. However, the hash table does not hold threads directly, but queue heads. This means that once you have located a queue in the hash bucket, you no longer have to walk the rest of the hash chain looking for threads. Instead, you have a list of all the threads sleeping on that wait channel. - Outside of the sleepq code and the sleep/cv code the kernel no longer differentiates between cv's and sleep/wakeup. For example, calls to abortsleep() and cv_abort() are replaced with a call to sleepq_abort(). Thus, the TDF_CVWAITQ flag is removed. Also, calls to unsleep() and cv_waitq_remove() have been replaced with calls to sleepq_remove(). - The sched_sleep() function no longer accepts a priority argument as sleep's no longer inherently bump the priority. Instead, this is soley a propery of msleep() which explicitly calls sched_prio() before blocking. - The TDF_ONSLEEPQ flag has been dropped as it was never used. The associated TDF_SET_ONSLEEPQ and TDF_CLR_ON_SLEEPQ macros have also been dropped and replaced with a single explicit clearing of td_wchan. TD_SET_ONSLEEPQ() would really have only made sense if it had taken the wait channel and message as arguments anyway. Now that that only happens in one place, a macro would be overkill.
2004-02-27 18:52:44 +00:00
kern/subr_sleepqueue.c standard
kern/subr_smp.c standard
kern/subr_taskqueue.c standard
kern/subr_trap.c standard
Add an implementation of turnstiles and change the sleep mutex code to use turnstiles to implement blocking isntead of implementing a thread queue directly. These turnstiles are somewhat similar to those used in Solaris 7 as described in Solaris Internals but are also different. Turnstiles do not come out of a fixed-sized pool. Rather, each thread is assigned a turnstile when it is created that it frees when it is destroyed. When a thread blocks on a lock, it donates its turnstile to that lock to serve as queue of blocked threads. The queue associated with a given lock is found by a lookup in a simple hash table. The turnstile itself is protected by a lock associated with its entry in the hash table. This means that sched_lock is no longer needed to contest on a mutex. Instead, sched_lock is only used when manipulating run queues or thread priorities. Turnstiles also implement priority propagation inherently. Currently turnstiles only support mutexes. Eventually, however, turnstiles may grow two queue's to support a non-sleepable reader/writer lock implementation. For more details, see the comments in sys/turnstile.h and kern/subr_turnstile.c. The two primary advantages from the turnstile code include: 1) the size of struct mutex shrinks by four pointers as it no longer stores the thread queue linkages directly, and 2) less contention on sched_lock in SMP systems including the ability for multiple CPUs to contend on different locks simultaneously (not that this last detail is necessarily that much of a big win). Note that 1) means that this commit is a kernel ABI breaker, so don't mix old modules with a new kernel and vice versa. Tested on: i386 SMP, sparc64 SMP, alpha SMP
2003-11-11 22:07:29 +00:00
kern/subr_turnstile.c standard
Rework the witness code to work with sx locks as well as mutexes. - Introduce lock classes and lock objects. Each lock class specifies a name and set of flags (or properties) shared by all locks of a given type. Currently there are three lock classes: spin mutexes, sleep mutexes, and sx locks. A lock object specifies properties of an additional lock along with a lock name and all of the extra stuff needed to make witness work with a given lock. This abstract lock stuff is defined in sys/lock.h. The lockmgr constants, types, and prototypes have been moved to sys/lockmgr.h. For temporary backwards compatability, sys/lock.h includes sys/lockmgr.h. - Replace proc->p_spinlocks with a per-CPU list, PCPU(spinlocks), of spin locks held. By making this per-cpu, we do not have to jump through magic hoops to deal with sched_lock changing ownership during context switches. - Replace proc->p_heldmtx, formerly a list of held sleep mutexes, with proc->p_sleeplocks, which is a list of held sleep locks including sleep mutexes and sx locks. - Add helper macros for logging lock events via the KTR_LOCK KTR logging level so that the log messages are consistent. - Add some new flags that can be passed to mtx_init(): - MTX_NOWITNESS - specifies that this lock should be ignored by witness. This is used for the mutex that blocks a sx lock for example. - MTX_QUIET - this is not new, but you can pass this to mtx_init() now and no events will be logged for this lock, so that one doesn't have to change all the individual mtx_lock/unlock() operations. - All lock objects maintain an initialized flag. Use this flag to export a mtx_initialized() macro that can be safely called from drivers. Also, we on longer walk the all_mtx list if MUTEX_DEBUG is defined as witness performs the corresponding checks using the initialized flag. - The lock order reversal messages have been improved to output slightly more accurate file and line numbers.
2001-03-28 09:03:24 +00:00
kern/subr_witness.c optional witness
1994-05-24 10:09:53 +00:00
kern/sys_generic.c standard
kern/sys_pipe.c standard
1994-05-24 10:09:53 +00:00
kern/sys_process.c standard
kern/sys_socket.c standard
kern/syscalls.c optional witness
kern/sysv_ipc.c standard
kern/sysv_msg.c optional sysvmsg
kern/sysv_sem.c optional sysvsem
1994-05-24 10:09:53 +00:00
kern/sysv_shm.c optional sysvshm
kern/tty.c standard
kern/tty_compat.c standard
kern/tty_conf.c standard
kern/tty_cons.c standard
1994-05-24 10:09:53 +00:00
kern/tty_pty.c optional pty
kern/tty_subr.c standard
kern/tty_tty.c standard
kern/uipc_accf.c optional inet
At long last, commit the zero copy sockets code. MAKEDEV: Add MAKEDEV glue for the ti(4) device nodes. ti.4: Update the ti(4) man page to include information on the TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options, and also include information about the new character device interface and the associated ioctls. man9/Makefile: Add jumbo.9 and zero_copy.9 man pages and associated links. jumbo.9: New man page describing the jumbo buffer allocator interface and operation. zero_copy.9: New man page describing the general characteristics of the zero copy send and receive code, and what an application author should do to take advantage of the zero copy functionality. NOTES: Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS, TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT. conf/files: Add uipc_jumbo.c and uipc_cow.c. conf/options: Add the 5 options mentioned above. kern_subr.c: Receive side zero copy implementation. This takes "disposable" pages attached to an mbuf, gives them to a user process, and then recycles the user's page. This is only active when ZERO_COPY_SOCKETS is turned on and the kern.ipc.zero_copy.receive sysctl variable is set to 1. uipc_cow.c: Send side zero copy functions. Takes a page written by the user and maps it copy on write and assigns it kernel virtual address space. Removes copy on write mapping once the buffer has been freed by the network stack. uipc_jumbo.c: Jumbo disposable page allocator code. This allocates (optionally) disposable pages for network drivers that want to give the user the option of doing zero copy receive. uipc_socket.c: Add kern.ipc.zero_copy.{send,receive} sysctls that are enabled if ZERO_COPY_SOCKETS is turned on. Add zero copy send support to sosend() -- pages get mapped into the kernel instead of getting copied if they meet size and alignment restrictions. uipc_syscalls.c:Un-staticize some of the sf* functions so that they can be used elsewhere. (uipc_cow.c) if_media.c: In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid calling malloc() with M_WAITOK. Return an error if the M_NOWAIT malloc fails. The ti(4) driver and the wi(4) driver, at least, call this with a mutex held. This causes witness warnings for 'ifconfig -a' with a wi(4) or ti(4) board in the system. (I've only verified for ti(4)). ip_output.c: Fragment large datagrams so that each segment contains a multiple of PAGE_SIZE amount of data plus headers. This allows the receiver to potentially do page flipping on receives. if_ti.c: Add zero copy receive support to the ti(4) driver. If TI_PRIVATE_JUMBOS is not defined, it now uses the jumbo(9) buffer allocator for jumbo receive buffers. Add a new character device interface for the ti(4) driver for the new debugging interface. This allows (a patched version of) gdb to talk to the Tigon board and debug the firmware. There are also a few additional debugging ioctls available through this interface. Add header splitting support to the ti(4) driver. Tweak some of the default interrupt coalescing parameters to more useful defaults. Add hooks for supporting transmit flow control, but leave it turned off with a comment describing why it is turned off. if_tireg.h: Change the firmware rev to 12.4.11, since we're really at 12.4.11 plus fixes from 12.4.13. Add defines needed for debugging. Remove the ti_stats structure, it is now defined in sys/tiio.h. ti_fw.h: 12.4.11 firmware. ti_fw2.h: 12.4.11 firmware, plus selected fixes from 12.4.13, and my header splitting patches. Revision 12.4.13 doesn't handle 10/100 negotiation properly. (This firmware is the same as what was in the tree previously, with the addition of header splitting support.) sys/jumbo.h: Jumbo buffer allocator interface. sys/mbuf.h: Add a new external mbuf type, EXT_DISPOSABLE, to indicate that the payload buffer can be thrown away / flipped to a userland process. socketvar.h: Add prototype for socow_setup. tiio.h: ioctl interface to the character portion of the ti(4) driver, plus associated structure/type definitions. uio.h: Change prototype for uiomoveco() so that we'll know whether the source page is disposable. ufs_readwrite.c:Update for new prototype of uiomoveco(). vm_fault.c: In vm_fault(), check to see whether we need to do a page based copy on write fault. vm_object.c: Add a new function, vm_object_allocate_wait(). This does the same thing that vm_object allocate does, except that it gives the caller the opportunity to specify whether it should wait on the uma_zalloc() of the object structre. This allows vm objects to be allocated while holding a mutex. (Without generating WITNESS warnings.) vm_object_allocate() is implemented as a call to vm_object_allocate_wait() with the malloc flag set to M_WAITOK. vm_object.h: Add prototype for vm_object_allocate_wait(). vm_page.c: Add page-based copy on write setup, clear and fault routines. vm_page.h: Add page based COW function prototypes and variable in the vm_page structure. Many thanks to Drew Gallatin, who wrote the zero copy send and receive code, and to all the other folks who have tested and reviewed this code over the years.
2002-06-26 03:37:47 +00:00
kern/uipc_cow.c optional zero_copy_sockets
1994-05-24 10:09:53 +00:00
kern/uipc_domain.c standard
At long last, commit the zero copy sockets code. MAKEDEV: Add MAKEDEV glue for the ti(4) device nodes. ti.4: Update the ti(4) man page to include information on the TI_JUMBO_HDRSPLIT and TI_PRIVATE_JUMBOS kernel options, and also include information about the new character device interface and the associated ioctls. man9/Makefile: Add jumbo.9 and zero_copy.9 man pages and associated links. jumbo.9: New man page describing the jumbo buffer allocator interface and operation. zero_copy.9: New man page describing the general characteristics of the zero copy send and receive code, and what an application author should do to take advantage of the zero copy functionality. NOTES: Add entries for ZERO_COPY_SOCKETS, TI_PRIVATE_JUMBOS, TI_JUMBO_HDRSPLIT, MSIZE, and MCLSHIFT. conf/files: Add uipc_jumbo.c and uipc_cow.c. conf/options: Add the 5 options mentioned above. kern_subr.c: Receive side zero copy implementation. This takes "disposable" pages attached to an mbuf, gives them to a user process, and then recycles the user's page. This is only active when ZERO_COPY_SOCKETS is turned on and the kern.ipc.zero_copy.receive sysctl variable is set to 1. uipc_cow.c: Send side zero copy functions. Takes a page written by the user and maps it copy on write and assigns it kernel virtual address space. Removes copy on write mapping once the buffer has been freed by the network stack. uipc_jumbo.c: Jumbo disposable page allocator code. This allocates (optionally) disposable pages for network drivers that want to give the user the option of doing zero copy receive. uipc_socket.c: Add kern.ipc.zero_copy.{send,receive} sysctls that are enabled if ZERO_COPY_SOCKETS is turned on. Add zero copy send support to sosend() -- pages get mapped into the kernel instead of getting copied if they meet size and alignment restrictions. uipc_syscalls.c:Un-staticize some of the sf* functions so that they can be used elsewhere. (uipc_cow.c) if_media.c: In the SIOCGIFMEDIA ioctl in ifmedia_ioctl(), avoid calling malloc() with M_WAITOK. Return an error if the M_NOWAIT malloc fails. The ti(4) driver and the wi(4) driver, at least, call this with a mutex held. This causes witness warnings for 'ifconfig -a' with a wi(4) or ti(4) board in the system. (I've only verified for ti(4)). ip_output.c: Fragment large datagrams so that each segment contains a multiple of PAGE_SIZE amount of data plus headers. This allows the receiver to potentially do page flipping on receives. if_ti.c: Add zero copy receive support to the ti(4) driver. If TI_PRIVATE_JUMBOS is not defined, it now uses the jumbo(9) buffer allocator for jumbo receive buffers. Add a new character device interface for the ti(4) driver for the new debugging interface. This allows (a patched version of) gdb to talk to the Tigon board and debug the firmware. There are also a few additional debugging ioctls available through this interface. Add header splitting support to the ti(4) driver. Tweak some of the default interrupt coalescing parameters to more useful defaults. Add hooks for supporting transmit flow control, but leave it turned off with a comment describing why it is turned off. if_tireg.h: Change the firmware rev to 12.4.11, since we're really at 12.4.11 plus fixes from 12.4.13. Add defines needed for debugging. Remove the ti_stats structure, it is now defined in sys/tiio.h. ti_fw.h: 12.4.11 firmware. ti_fw2.h: 12.4.11 firmware, plus selected fixes from 12.4.13, and my header splitting patches. Revision 12.4.13 doesn't handle 10/100 negotiation properly. (This firmware is the same as what was in the tree previously, with the addition of header splitting support.) sys/jumbo.h: Jumbo buffer allocator interface. sys/mbuf.h: Add a new external mbuf type, EXT_DISPOSABLE, to indicate that the payload buffer can be thrown away / flipped to a userland process. socketvar.h: Add prototype for socow_setup. tiio.h: ioctl interface to the character portion of the ti(4) driver, plus associated structure/type definitions. uio.h: Change prototype for uiomoveco() so that we'll know whether the source page is disposable. ufs_readwrite.c:Update for new prototype of uiomoveco(). vm_fault.c: In vm_fault(), check to see whether we need to do a page based copy on write fault. vm_object.c: Add a new function, vm_object_allocate_wait(). This does the same thing that vm_object allocate does, except that it gives the caller the opportunity to specify whether it should wait on the uma_zalloc() of the object structre. This allows vm objects to be allocated while holding a mutex. (Without generating WITNESS warnings.) vm_object_allocate() is implemented as a call to vm_object_allocate_wait() with the malloc flag set to M_WAITOK. vm_object.h: Add prototype for vm_object_allocate_wait(). vm_page.c: Add page-based copy on write setup, clear and fault routines. vm_page.h: Add page based COW function prototypes and variable in the vm_page structure. Many thanks to Drew Gallatin, who wrote the zero copy send and receive code, and to all the other folks who have tested and reviewed this code over the years.
2002-06-26 03:37:47 +00:00
kern/uipc_jumbo.c standard
1994-05-24 10:09:53 +00:00
kern/uipc_mbuf.c standard
kern/uipc_mbuf2.c standard
1994-05-24 10:09:53 +00:00
kern/uipc_proto.c standard
kern/uipc_socket.c standard
kern/uipc_socket2.c standard
kern/uipc_syscalls.c standard
kern/uipc_usrreq.c standard
kern/vfs_aio.c optional vfs_aio
1994-05-24 10:09:53 +00:00
kern/vfs_bio.c standard
kern/vfs_cache.c standard
kern/vfs_cluster.c standard
kern/vfs_default.c standard
kern/vfs_export.c standard
1994-05-24 10:09:53 +00:00
kern/vfs_init.c standard
kern/vfs_lookup.c standard
kern/vfs_mount.c standard
1994-05-24 10:09:53 +00:00
kern/vfs_subr.c standard
kern/vfs_syscalls.c standard
kern/vfs_vnops.c standard
#
# These files in libkern/ are those needed by all architectures. Some
# of the files in libkern/ are only needed on some architectures, e.g.,
# libkern/divdi3.c is needed by i386 but not alpha. Also, some of these
# routines may be optimized for a particular platform. In either case,
# the file should be moved to conf/files.<arch> from here.
#
libkern/arc4random.c standard
libkern/bcd.c standard
Rewrite of the CAM error recovery code. Some of the major changes include: - The SCSI error handling portion of cam_periph_error() has been broken out into a number of subfunctions to better modularize the code that handles the hierarchy of SCSI errors. As a result, the code is now much easier to read. - String handling and error printing has been significantly revamped. We now use sbufs to do string formatting instead of using printfs (for the kernel) and snprintf/strncat (for userland) as before. There is a new catchall error printing routine, cam_error_print() and its string-based counterpart, cam_error_string() that allow the kernel and userland applications to pass in a CCB and have errors printed out properly, whether or not they're SCSI errors. Among other things, this helped eliminate a fair amount of duplicate code in camcontrol. We now print out more information than before, including the CAM status and SCSI status and the error recovery action taken to remedy the problem. - sbufs are now available in userland, via libsbuf. This change was necessary since most of the error printing code is shared between libcam and the kernel. - A new transfer settings interface is included in this checkin. This code is #ifdef'ed out, and is primarily intended to aid discussion with HBA driver authors on the final form the interface should take. There is example code in the ahc(4) driver that implements the HBA driver side of the new interface. The new transfer settings code won't be enabled until we're ready to switch all HBA drivers over to the new interface. src/Makefile.inc1, lib/Makefile: Add libsbuf. It must be built before libcam, since libcam uses sbuf routines. libcam/Makefile: libcam now depends on libsbuf. libsbuf/Makefile: Add a makefile for libsbuf. This pulls in the sbuf sources from sys/kern. bsd.libnames.mk: Add LIBSBUF. camcontrol/Makefile: Add -lsbuf. Since camcontrol is statically linked, we can't depend on the dynamic linker to pull in libsbuf. camcontrol.c: Use cam_error_print() instead of checking for CAM_SCSI_STATUS_ERROR on every failed CCB. sbuf.9: Change the prototypes for sbuf_cat() and sbuf_cpy() so that the source string is now a const char *. This is more in line wth the standard system string functions, and helps eliminate warnings when dealing with a const source buffer. Fix a typo. cam.c: Add description strings for the various CAM error status values, as well as routines to look up those strings. Add new cam_error_string() and cam_error_print() routines for userland and the kernel. cam.h: Add a new CAM flag, CAM_RETRY_SELTO. Add enumerated types for the various options available with cam_error_print() and cam_error_string(). cam_ccb.h: Add new transfer negotiation structures/types. Change inq_len in the ccb_getdev structure to be "reserved". This field has never been filled in, and will be removed when we next bump the CAM version. cam_debug.h: Fix typo. cam_periph.c: Modularize cam_periph_error(). The SCSI error handling part of cam_periph_error() is now in camperiphscsistatuserror() and camperiphscsisenseerror(). In cam_periph_lock(), increase the reference count on the periph while we wait for our lock attempt to succeed so that the periph won't go away while we're sleeping. cam_xpt.c: Add new transfer negotiation code. (ifdefed out) Add a new function, xpt_path_string(). This is a string/sbuf analog to xpt_print_path(). scsi_all.c: Revamp string handing and error printing code. We now use sbufs for much of the string formatting code. More of that code is shared between userland the kernel. scsi_all.h: Get rid of SS_TURSTART, it wasn't terribly useful in the first place. Add a new error action, SS_REQSENSE. (Send a request sense and then retry the command.) This is useful when the controller hasn't performed autosense for some reason. Change the default actions around a bit. scsi_cd.c, scsi_da.c, scsi_pt.c, scsi_ses.c: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Selection timeouts shouldn't be covered by a sense flag. scsi_pass.[ch]: SF_RETRY_SELTO -> CAM_RETRY_SELTO. Get rid of the last vestiges of a read/write interface. libkern/bsearch.c, sys/libkern.h, conf/files: Add bsearch.c, which is needed for some of the new table lookup routines. aic7xxx_freebsd.c: Define AHC_NEW_TRAN_SETTINGS if CAM_NEW_TRAN_CODE is defined. sbuf.h, subr_sbuf.c: Add the appropriate #ifdefs so sbufs can compile and run in userland. Change sbuf_printf() to use vsnprintf() instead of kvprintf(), which is only available in the kernel. Change the source string for sbuf_cpy() and sbuf_cat() to be a const char *. Add __BEGIN_DECLS and __END_DECLS around function prototypes since they're now exported to userland. kdump/mkioctls: Include stdio.h before cam.h since cam.h now includes a function with a FILE * argument. Submitted by: gibbs (mostly) Reviewed by: jdp, marcel (libsbuf makefile changes) Reviewed by: des (sbuf changes) Reviewed by: ken
2001-03-27 05:45:52 +00:00
libkern/bsearch.c standard
libkern/crc32.c standard
libkern/iconv.c optional libiconv
libkern/iconv_converter_if.m optional libiconv
libkern/iconv_xlat.c optional libiconv
libkern/iconv_xlat16.c optional libiconv
libkern/index.c standard
libkern/inet_ntoa.c standard
libkern/mcount.c optional profiling-routine
libkern/qsort.c standard
libkern/fnmatch.c standard
libkern/random.c standard
libkern/rindex.c standard
libkern/scanc.c standard
libkern/skpc.c standard
libkern/strcat.c standard
libkern/strcmp.c standard
libkern/strcpy.c standard
libkern/strdup.c standard
libkern/strlcat.c standard
libkern/strlcpy.c standard
libkern/strlen.c standard
libkern/strncmp.c standard
libkern/strncpy.c standard
libkern/strsep.c standard
libkern/strtol.c standard
libkern/strtoq.c standard
libkern/strtoul.c standard
libkern/strtouq.c standard
libkern/strvalid.c standard
net/bpf.c standard
net/bpf_filter.c optional bpf
net/bridge.c optional bridge
net/bsd_comp.c optional ppp_bsdcomp
1994-05-24 10:09:53 +00:00
net/if.c standard
net/if_arcsubr.c optional arcnet
1997-05-09 12:19:06 +00:00
net/if_atmsubr.c optional atm
net/if_disc.c optional disc
net/if_ef.c optional ef
1994-05-24 10:09:53 +00:00
net/if_ethersubr.c optional ether
net/if_faith.c optional faith
net/if_fddisubr.c optional fddi
net/if_gif.c optional gif
net/if_gre.c optional gre
net/if_iso88025subr.c optional token
net/if_loop.c optional loop
1997-05-03 21:06:00 +00:00
net/if_media.c standard
net/if_mib.c standard
net/if_ppp.c optional ppp
1994-05-24 10:09:53 +00:00
net/if_sl.c optional sl
net/if_spppsubr.c optional sppp
net/if_spppsubr.c optional i4bisppp
net/if_stf.c optional stf
net/if_tun.c optional tun
net/if_tap.c optional tap
net/if_vlan.c optional vlan
net/net_osdep.c standard
net/netisr.c standard
net/ppp_deflate.c optional ppp_deflate
net/ppp_tty.c optional ppp
net/pfil.c optional pfil_hooks
net/pfil.c optional ipfilter
1994-05-24 10:09:53 +00:00
net/radix.c standard
net/raw_cb.c standard
net/raw_usrreq.c standard
net/route.c standard
net/rtsock.c standard
net/slcompress.c optional ppp
1994-05-24 10:09:53 +00:00
net/slcompress.c optional sl
net/slcompress.c optional sppp
net/zlib.c optional ppp_deflate
net/zlib.c optional ipsec
net/zlib.c optional crypto
2003-06-28 06:12:41 +00:00
net80211/ieee80211.c optional wlan
net80211/ieee80211_crypto.c optional wlan
net80211/ieee80211_input.c optional wlan
net80211/ieee80211_ioctl.c optional wlan
net80211/ieee80211_node.c optional wlan
net80211/ieee80211_output.c optional wlan
net80211/ieee80211_proto.c optional wlan
netatalk/aarp.c optional netatalk
netatalk/at_control.c optional netatalk
netatalk/at_proto.c optional netatalk
netatalk/at_rmx.c optional netatalkdebug
netatalk/ddp_input.c optional netatalk
netatalk/ddp_output.c optional netatalk
netatalk/ddp_pcb.c optional netatalk
netatalk/ddp_usrreq.c optional netatalk
(this is an extract from src/share/examples/atm/README) =================================== HARP | Host ATM Research Platform =================================== HARP 3 What is this stuff? ------------------- The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center, Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed the Host ATM Research Platform (HARP) software, which allows IP hosts to communicate over ATM networks using standard protocols. It is intended to be a high-quality platform for IP/ATM research. HARP provides a way for IP hosts to connect to ATM networks. It supports standard methods of communication using IP over ATM. A host's standard IP software sends and receives datagrams via a HARP ATM interface. HARP provides functionality similar to (and typically replaces) vendor-provided ATM device driver software. HARP includes full source code, making it possible for researchers to experiment with different approaches to running IP over ATM. HARP is self-contained; it requires no other licenses or commercial software packages. HARP implements support for the IETF Classical IP model for using IP over ATM networks, including: o IETF ATMARP address resolution client o IETF ATMARP address resolution server o IETF SCSP/ATMARP server o UNI 3.1 and 3.0 signalling protocols o Fore Systems's SPANS signalling protocol What's supported ---------------- The following are supported by HARP 3: o ATM Host Interfaces - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs) o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP" o ATM Sockets interface - The file atm-sockets.txt contains further information What's not supported -------------------- The following major features of the above list are not currently supported: o UNI point-to-multipoint support o Driver support for Traffic Control/Quality of Service o SPANS multicast and MPP support o SPANS signalling using Efficient adapters This software was developed under the sponsorship of the Defense Advanced Research Projects Agency (DARPA). Reviewed (lightly) by: phk Submitted by: Network Computing Services, Inc.
1998-09-15 11:44:44 +00:00
netatm/atm_aal5.c optional atm_core
netatm/atm_cm.c optional atm_core
netatm/atm_device.c optional atm_core
netatm/atm_if.c optional atm_core
netatm/atm_proto.c optional atm_core
netatm/atm_signal.c optional atm_core
netatm/atm_socket.c optional atm_core
netatm/atm_subr.c optional atm_core
netatm/atm_usrreq.c optional atm_core
netatm/ipatm/ipatm_event.c optional atm_ip atm_core
netatm/ipatm/ipatm_if.c optional atm_ip atm_core
netatm/ipatm/ipatm_input.c optional atm_ip atm_core
netatm/ipatm/ipatm_load.c optional atm_ip atm_core
netatm/ipatm/ipatm_output.c optional atm_ip atm_core
netatm/ipatm/ipatm_usrreq.c optional atm_ip atm_core
netatm/ipatm/ipatm_vcm.c optional atm_ip atm_core
netatm/sigpvc/sigpvc_if.c optional atm_sigpvc atm_core
netatm/sigpvc/sigpvc_subr.c optional atm_sigpvc atm_core
netatm/spans/spans_arp.c optional atm_spans atm_core \
dependency "spans_xdr.h"
(this is an extract from src/share/examples/atm/README) =================================== HARP | Host ATM Research Platform =================================== HARP 3 What is this stuff? ------------------- The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center, Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed the Host ATM Research Platform (HARP) software, which allows IP hosts to communicate over ATM networks using standard protocols. It is intended to be a high-quality platform for IP/ATM research. HARP provides a way for IP hosts to connect to ATM networks. It supports standard methods of communication using IP over ATM. A host's standard IP software sends and receives datagrams via a HARP ATM interface. HARP provides functionality similar to (and typically replaces) vendor-provided ATM device driver software. HARP includes full source code, making it possible for researchers to experiment with different approaches to running IP over ATM. HARP is self-contained; it requires no other licenses or commercial software packages. HARP implements support for the IETF Classical IP model for using IP over ATM networks, including: o IETF ATMARP address resolution client o IETF ATMARP address resolution server o IETF SCSP/ATMARP server o UNI 3.1 and 3.0 signalling protocols o Fore Systems's SPANS signalling protocol What's supported ---------------- The following are supported by HARP 3: o ATM Host Interfaces - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs) o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP" o ATM Sockets interface - The file atm-sockets.txt contains further information What's not supported -------------------- The following major features of the above list are not currently supported: o UNI point-to-multipoint support o Driver support for Traffic Control/Quality of Service o SPANS multicast and MPP support o SPANS signalling using Efficient adapters This software was developed under the sponsorship of the Defense Advanced Research Projects Agency (DARPA). Reviewed (lightly) by: phk Submitted by: Network Computing Services, Inc.
1998-09-15 11:44:44 +00:00
netatm/spans/spans_cls.c optional atm_spans atm_core
netatm/spans/spans_if.c optional atm_spans atm_core
netatm/spans/spans_kxdr.c optional atm_spans atm_core
netatm/spans/spans_msg.c optional atm_spans atm_core
netatm/spans/spans_print.c optional atm_spans atm_core
netatm/spans/spans_proto.c optional atm_spans atm_core
netatm/spans/spans_subr.c optional atm_spans atm_core
netatm/spans/spans_util.c optional atm_spans atm_core
spans_xdr.h optional atm_spans atm_core \
before-depend \
dependency "$S/netatm/spans/spans_xdr.x" \
compile-with "rpcgen -h -C $S/netatm/spans/spans_xdr.x | grep -v rpc/rpc.h > spans_xdr.h" \
(this is an extract from src/share/examples/atm/README) =================================== HARP | Host ATM Research Platform =================================== HARP 3 What is this stuff? ------------------- The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center, Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed the Host ATM Research Platform (HARP) software, which allows IP hosts to communicate over ATM networks using standard protocols. It is intended to be a high-quality platform for IP/ATM research. HARP provides a way for IP hosts to connect to ATM networks. It supports standard methods of communication using IP over ATM. A host's standard IP software sends and receives datagrams via a HARP ATM interface. HARP provides functionality similar to (and typically replaces) vendor-provided ATM device driver software. HARP includes full source code, making it possible for researchers to experiment with different approaches to running IP over ATM. HARP is self-contained; it requires no other licenses or commercial software packages. HARP implements support for the IETF Classical IP model for using IP over ATM networks, including: o IETF ATMARP address resolution client o IETF ATMARP address resolution server o IETF SCSP/ATMARP server o UNI 3.1 and 3.0 signalling protocols o Fore Systems's SPANS signalling protocol What's supported ---------------- The following are supported by HARP 3: o ATM Host Interfaces - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs) o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP" o ATM Sockets interface - The file atm-sockets.txt contains further information What's not supported -------------------- The following major features of the above list are not currently supported: o UNI point-to-multipoint support o Driver support for Traffic Control/Quality of Service o SPANS multicast and MPP support o SPANS signalling using Efficient adapters This software was developed under the sponsorship of the Defense Advanced Research Projects Agency (DARPA). Reviewed (lightly) by: phk Submitted by: Network Computing Services, Inc.
1998-09-15 11:44:44 +00:00
clean "spans_xdr.h" \
no-obj no-implicit-rule
(this is an extract from src/share/examples/atm/README) =================================== HARP | Host ATM Research Platform =================================== HARP 3 What is this stuff? ------------------- The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center, Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed the Host ATM Research Platform (HARP) software, which allows IP hosts to communicate over ATM networks using standard protocols. It is intended to be a high-quality platform for IP/ATM research. HARP provides a way for IP hosts to connect to ATM networks. It supports standard methods of communication using IP over ATM. A host's standard IP software sends and receives datagrams via a HARP ATM interface. HARP provides functionality similar to (and typically replaces) vendor-provided ATM device driver software. HARP includes full source code, making it possible for researchers to experiment with different approaches to running IP over ATM. HARP is self-contained; it requires no other licenses or commercial software packages. HARP implements support for the IETF Classical IP model for using IP over ATM networks, including: o IETF ATMARP address resolution client o IETF ATMARP address resolution server o IETF SCSP/ATMARP server o UNI 3.1 and 3.0 signalling protocols o Fore Systems's SPANS signalling protocol What's supported ---------------- The following are supported by HARP 3: o ATM Host Interfaces - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs) o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP" o ATM Sockets interface - The file atm-sockets.txt contains further information What's not supported -------------------- The following major features of the above list are not currently supported: o UNI point-to-multipoint support o Driver support for Traffic Control/Quality of Service o SPANS multicast and MPP support o SPANS signalling using Efficient adapters This software was developed under the sponsorship of the Defense Advanced Research Projects Agency (DARPA). Reviewed (lightly) by: phk Submitted by: Network Computing Services, Inc.
1998-09-15 11:44:44 +00:00
spans_xdr.c optional atm_spans atm_core \
before-depend \
dependency "$S/netatm/spans/spans_xdr.x" \
compile-with "rpcgen -c -C $S/netatm/spans/spans_xdr.x | grep -v rpc/rpc.h > spans_xdr.c" \
(this is an extract from src/share/examples/atm/README) =================================== HARP | Host ATM Research Platform =================================== HARP 3 What is this stuff? ------------------- The Advanced Networking Group (ANG) at the Minnesota Supercomputer Center, Inc. (MSCI), as part of its work on the MAGIC Gigabit Testbed, developed the Host ATM Research Platform (HARP) software, which allows IP hosts to communicate over ATM networks using standard protocols. It is intended to be a high-quality platform for IP/ATM research. HARP provides a way for IP hosts to connect to ATM networks. It supports standard methods of communication using IP over ATM. A host's standard IP software sends and receives datagrams via a HARP ATM interface. HARP provides functionality similar to (and typically replaces) vendor-provided ATM device driver software. HARP includes full source code, making it possible for researchers to experiment with different approaches to running IP over ATM. HARP is self-contained; it requires no other licenses or commercial software packages. HARP implements support for the IETF Classical IP model for using IP over ATM networks, including: o IETF ATMARP address resolution client o IETF ATMARP address resolution server o IETF SCSP/ATMARP server o UNI 3.1 and 3.0 signalling protocols o Fore Systems's SPANS signalling protocol What's supported ---------------- The following are supported by HARP 3: o ATM Host Interfaces - FORE Systems, Inc. SBA-200 and SBA-200E ATM SBus Adapters - FORE Systems, Inc. PCA-200E ATM PCI Adapters - Efficient Networks, Inc. ENI-155p ATM PCI Adapters o ATM Signalling Protocols - The ATM Forum UNI 3.1 signalling protocol - The ATM Forum UNI 3.0 signalling protocol - The ATM Forum ILMI address registration - FORE Systems's proprietary SPANS signalling protocol - Permanent Virtual Channels (PVCs) o IETF "Classical IP and ARP over ATM" model - RFC 1483, "Multiprotocol Encapsulation over ATM Adaptation Layer 5" - RFC 1577, "Classical IP and ARP over ATM" - RFC 1626, "Default IP MTU for use over ATM AAL5" - RFC 1755, "ATM Signaling Support for IP over ATM" - RFC 2225, "Classical IP and ARP over ATM" - RFC 2334, "Server Cache Synchronization Protocol (SCSP)" - Internet Draft draft-ietf-ion-scsp-atmarp-00.txt, "A Distributed ATMARP Service Using SCSP" o ATM Sockets interface - The file atm-sockets.txt contains further information What's not supported -------------------- The following major features of the above list are not currently supported: o UNI point-to-multipoint support o Driver support for Traffic Control/Quality of Service o SPANS multicast and MPP support o SPANS signalling using Efficient adapters This software was developed under the sponsorship of the Defense Advanced Research Projects Agency (DARPA). Reviewed (lightly) by: phk Submitted by: Network Computing Services, Inc.
1998-09-15 11:44:44 +00:00
clean "spans_xdr.c" \
no-obj no-implicit-rule local
spans_xdr.o optional atm_spans atm_core \
dependency "$S/netatm/spans/spans_xdr.x" \
compile-with "${NORMAL_C}" \
no-implicit-rule local
netatm/uni/q2110_sigaa.c optional atm_uni atm_core
netatm/uni/q2110_sigcpcs.c optional atm_uni atm_core
netatm/uni/q2110_subr.c optional atm_uni atm_core
netatm/uni/qsaal1_sigaa.c optional atm_uni atm_core
netatm/uni/qsaal1_sigcpcs.c optional atm_uni atm_core
netatm/uni/qsaal1_subr.c optional atm_uni atm_core
netatm/uni/sscf_uni.c optional atm_uni atm_core
netatm/uni/sscf_uni_lower.c optional atm_uni atm_core
netatm/uni/sscf_uni_upper.c optional atm_uni atm_core
netatm/uni/sscop.c optional atm_uni atm_core
netatm/uni/sscop_lower.c optional atm_uni atm_core
netatm/uni/sscop_pdu.c optional atm_uni atm_core
netatm/uni/sscop_sigaa.c optional atm_uni atm_core
netatm/uni/sscop_sigcpcs.c optional atm_uni atm_core
netatm/uni/sscop_subr.c optional atm_uni atm_core
netatm/uni/sscop_timer.c optional atm_uni atm_core
netatm/uni/sscop_upper.c optional atm_uni atm_core
netatm/uni/uni_load.c optional atm_uni atm_core
netatm/uni/uniarp.c optional atm_uni atm_core
netatm/uni/uniarp_cache.c optional atm_uni atm_core
netatm/uni/uniarp_input.c optional atm_uni atm_core
netatm/uni/uniarp_output.c optional atm_uni atm_core
netatm/uni/uniarp_timer.c optional atm_uni atm_core
netatm/uni/uniarp_vcm.c optional atm_uni atm_core
netatm/uni/uniip.c optional atm_uni atm_core
netatm/uni/unisig_decode.c optional atm_uni atm_core
netatm/uni/unisig_encode.c optional atm_uni atm_core
netatm/uni/unisig_if.c optional atm_uni atm_core
netatm/uni/unisig_mbuf.c optional atm_uni atm_core
netatm/uni/unisig_msg.c optional atm_uni atm_core
netatm/uni/unisig_print.c optional atm_uni atm_core
netatm/uni/unisig_proto.c optional atm_uni atm_core
netatm/uni/unisig_sigmgr_state.c optional atm_uni atm_core
netatm/uni/unisig_subr.c optional atm_uni atm_core
netatm/uni/unisig_util.c optional atm_uni atm_core
netatm/uni/unisig_vc_state.c optional atm_uni atm_core
netgraph/atm/atmpif/ng_atmpif.c optional netgraph_atm_atmpif
netgraph/atm/atmpif/ng_atmpif_harp.c optional netgraph_atm_atmpif
netgraph/atm/ngatmbase.c optional ngatm_atmbase
contrib/ngatm/netnatm/misc/unimsg_common.c optional ngatm_atmbase
contrib/ngatm/netnatm/misc/straddr.c optional ngatm_atmbase
contrib/ngatm/netnatm/msg/traffic.c optional ngatm_atmbase
contrib/ngatm/netnatm/msg/uni_ie.c optional ngatm_atmbase
contrib/ngatm/netnatm/msg/uni_msg.c optional ngatm_atmbase
netgraph/atm/ng_atm.c optional ngatm_atm
netgraph/atm/sscfu/ng_sscfu.c optional ngatm_sscfu
contrib/ngatm/netnatm/saal/saal_sscfu.c optional ngatm_sscfu
netgraph/atm/sscop/ng_sscop.c optional ngatm_sscop
contrib/ngatm/netnatm/saal/saal_sscop.c optional ngatm_sscop
netgraph/atm/uni/ng_uni.c optional ngatm_uni
contrib/ngatm/netnatm/sig/sig_call.c optional ngatm_uni
contrib/ngatm/netnatm/sig/sig_coord.c optional ngatm_uni
contrib/ngatm/netnatm/sig/sig_party.c optional ngatm_uni
contrib/ngatm/netnatm/sig/sig_print.c optional ngatm_uni
contrib/ngatm/netnatm/sig/sig_reset.c optional ngatm_uni
contrib/ngatm/netnatm/sig/sig_uni.c optional ngatm_uni
contrib/ngatm/netnatm/sig/sig_unimsgcpy.c optional ngatm_uni
contrib/ngatm/netnatm/sig/sig_verify.c optional ngatm_uni
netgraph/bluetooth/common/ng_bluetooth.c optional netgraph_bluetooth
netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c optional netgraph_bluetooth_bt3c
netgraph/bluetooth/drivers/h4/ng_h4.c optional netgraph_bluetooth_h4
netgraph/bluetooth/drivers/ubt/ng_ubt.c optional netgraph_bluetooth_ubt
netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c optional netgraph_bluetooth_ubtbcmfw
netgraph/bluetooth/hci/ng_hci_cmds.c optional netgraph_bluetooth_hci
netgraph/bluetooth/hci/ng_hci_evnt.c optional netgraph_bluetooth_hci
netgraph/bluetooth/hci/ng_hci_main.c optional netgraph_bluetooth_hci
netgraph/bluetooth/hci/ng_hci_misc.c optional netgraph_bluetooth_hci
netgraph/bluetooth/hci/ng_hci_ulpi.c optional netgraph_bluetooth_hci
netgraph/bluetooth/l2cap/ng_l2cap_cmds.c optional netgraph_bluetooth_l2cap
netgraph/bluetooth/l2cap/ng_l2cap_evnt.c optional netgraph_bluetooth_l2cap
netgraph/bluetooth/l2cap/ng_l2cap_llpi.c optional netgraph_bluetooth_l2cap
netgraph/bluetooth/l2cap/ng_l2cap_main.c optional netgraph_bluetooth_l2cap
netgraph/bluetooth/l2cap/ng_l2cap_misc.c optional netgraph_bluetooth_l2cap
netgraph/bluetooth/l2cap/ng_l2cap_ulpi.c optional netgraph_bluetooth_l2cap
netgraph/bluetooth/socket/ng_btsocket.c optional netgraph_bluetooth_socket
netgraph/bluetooth/socket/ng_btsocket_hci_raw.c optional netgraph_bluetooth_socket
netgraph/bluetooth/socket/ng_btsocket_l2cap.c optional netgraph_bluetooth_socket
netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c optional netgraph_bluetooth_socket
netgraph/bluetooth/socket/ng_btsocket_rfcomm.c optional netgraph_bluetooth_socket
netgraph/ng_UI.c optional netgraph_UI
netgraph/ng_async.c optional netgraph_async
netgraph/ng_atmllc.c optional netgraph_atmllc
netgraph/ng_base.c optional netgraph
netgraph/ng_bpf.c optional netgraph_bpf
net/bpf_filter.c optional netgraph_bpf
netgraph/ng_bridge.c optional netgraph_bridge
netgraph/ng_cisco.c optional netgraph_cisco
netgraph/ng_device.c optional netgraph_device
netgraph/ng_echo.c optional netgraph_echo
netgraph/ng_ether.c optional netgraph_ether
netgraph/ng_frame_relay.c optional netgraph_frame_relay
2001-09-26 23:50:17 +00:00
netgraph/ng_gif.c optional netgraph_gif
netgraph/ng_gif_demux.c optional netgraph_gif_demux
netgraph/ng_hole.c optional netgraph_hole
netgraph/ng_iface.c optional netgraph_iface
netgraph/ng_ip_input.c optional netgraph_ip_input
1999-11-16 23:30:05 +00:00
netgraph/ng_ksocket.c optional netgraph_ksocket
netgraph/ng_lmi.c optional netgraph_lmi
netgraph/ng_l2tp.c optional netgraph_l2tp
netgraph/ng_mppc.c optional netgraph_mppc_compression
netgraph/ng_mppc.c optional netgraph_mppc_encryption
crypto/rc4/rc4.c optional wlan
crypto/rc4/rc4.c optional netgraph_mppc_encryption
crypto/sha1.c optional netgraph_mppc_encryption
2000-11-16 16:59:26 +00:00
netgraph/ng_one2many.c optional netgraph_one2many
netgraph/ng_parse.c optional netgraph
netgraph/ng_ppp.c optional netgraph_ppp
netgraph/ng_pppoe.c optional netgraph_pppoe
netgraph/ng_pptpgre.c optional netgraph_pptpgre
netgraph/ng_rfc1490.c optional netgraph_rfc1490
netgraph/ng_socket.c optional netgraph_socket
netgraph/ng_split.c optional netgraph_split
2004-04-24 22:03:02 +00:00
netgraph/ng_sppp.c optional netgraph_sppp
netgraph/ng_tee.c optional netgraph_tee
netgraph/ng_tty.c optional netgraph_tty
netgraph/ng_vjc.c optional netgraph_vjc
net/slcompress.c optional netgraph_vjc
netinet/accf_data.c optional accept_filter_data
netinet/accf_http.c optional accept_filter_http
1997-05-09 12:19:06 +00:00
netinet/if_atm.c optional atm
1994-05-24 10:09:53 +00:00
netinet/if_ether.c optional ether
netinet/igmp.c optional inet
netinet/in.c optional inet
netinet/in_gif.c optional gif inet
netinet/ip_gre.c optional gre inet
netinet/ip_id.c optional inet
1994-05-24 10:09:53 +00:00
netinet/in_pcb.c optional inet
netinet/in_proto.c optional inet
netinet/in_rmx.c optional inet
netinet/ip_divert.c optional ipdivert
netinet/ip_dummynet.c optional dummynet
netinet/ip_ecn.c optional inet
netinet/ip_ecn.c optional inet6
netinet/ip_encap.c optional inet
netinet/ip_encap.c optional inet6
netinet/ip_fastfwd.c optional inet
The new ipfw code. This code makes use of variable-size kernel representation of rules (exactly the same concept of BPF instructions, as used in the BSDI's firewall), which makes firewall operation a lot faster, and the code more readable and easier to extend and debug. The interface with the rest of the system is unchanged, as witnessed by this commit. The only extra kernel files that I am touching are if_fw.h and ip_dummynet.c, which is quite tied to ipfw. In userland I only had to touch those programs which manipulate the internal representation of firewall rules). The code is almost entirely new (and I believe I have written the vast majority of those sections which were taken from the former ip_fw.c), so rather than modifying the old ip_fw.c I decided to create a new file, sys/netinet/ip_fw2.c . Same for the user interface, which is in sbin/ipfw/ipfw2.c (it still compiles to /sbin/ipfw). The old files are still there, and will be removed in due time. I have not renamed the header file because it would have required touching a one-line change to a number of kernel files. In terms of user interface, the new "ipfw" is supposed to accepts the old syntax for ipfw rules (and produce the same output with "ipfw show". Only a couple of the old options (out of some 30 of them) has not been implemented, but they will be soon. On the other hand, the new code has some very powerful extensions. First, you can put "or" connectives between match fields (and soon also between options), and write things like ipfw add allow ip from { 1.2.3.4/27 or 5.6.7.8/30 } 10-23,25,1024-3000 to any This should make rulesets slightly more compact (and lines longer!), by condensing 2 or more of the old rules into single ones. Also, as an example of how easy the rules can be extended, I have implemented an 'address set' match pattern, where you can specify an IP address in a format like this: 10.20.30.0/26{18,44,33,22,9} which will match the set of hosts listed in braces belonging to the subnet 10.20.30.0/26 . The match is done using a bitmap, so it is essentially a constant time operation requiring a handful of CPU instructions (and a very small amount of memmory -- for a full /24 subnet, the instruction only consumes 40 bytes). Again, in this commit I have focused on functionality and tried to minimize changes to the other parts of the system. Some performance improvement can be achieved with minor changes to the interface of ip_fw_chk_t. This will be done later when this code is settled. The code is meant to compile unmodified on RELENG_4 (once the PACKET_TAG_* changes have been merged), for this reason you will see #ifdef __FreeBSD_version in a couple of places. This should minimize errors when (hopefully soon) it will be time to do the MFC.
2002-06-27 23:02:18 +00:00
netinet/ip_fw2.c optional ipfirewall
1994-05-24 10:09:53 +00:00
netinet/ip_icmp.c optional inet
netinet/ip_input.c optional inet
Massive cleanup of the ip_mroute code. No functional changes, but: + the mrouting module now should behave the same as the compiled-in version (it did not before, some of the rsvp code was not loaded properly); + netinet/ip_mroute.c is now truly optional; + removed some redundant/unused code; + changed many instances of '0' to NULL and INADDR_ANY as appropriate; + removed several static variables to make the code more SMP-friendly; + fixed some minor bugs in the mrouting code (mostly, incorrect return values from functions). This commit is also a prerequisite to the addition of support for PIM, which i would like to put in before DP2 (it does not change any of the existing APIs, anyways). Note, in the process we found out that some device drivers fail to properly handle changes in IFF_ALLMULTI, leading to interesting behaviour when a multicast router is started. This bug is not corrected by this commit, and will be fixed with a separate commit. Detailed changes: -------------------- netinet/ip_mroute.c all the above. conf/files make ip_mroute.c optional net/route.c fix mrt_ioctl hook netinet/ip_input.c fix ip_mforward hook, move rsvp_input() here together with other rsvp code, and a couple of indentation fixes. netinet/ip_output.c fix ip_mforward and ip_mcast_src hooks netinet/ip_var.h rsvp function hooks netinet/raw_ip.c hooks for mrouting and rsvp functions, plus interface cleanup. netinet/ip_mroute.h remove an unused and optional field from a struct Most of the code is from Pavlin Radoslavov and the XORP project Reviewed by: sam MFC after: 1 week
2002-11-15 22:53:53 +00:00
netinet/ip_mroute.c optional mrouting
1994-05-24 10:09:53 +00:00
netinet/ip_output.c optional inet
netinet/raw_ip.c optional inet
netinet/tcp_debug.c optional tcpdebug
netinet/tcp_hostcache.c optional inet
1994-05-24 10:09:53 +00:00
netinet/tcp_input.c optional inet
netinet/tcp_output.c optional inet
netinet/tcp_subr.c optional inet
netinet/tcp_syncache.c optional inet
1994-05-24 10:09:53 +00:00
netinet/tcp_timer.c optional inet
netinet/tcp_usrreq.c optional inet
netinet/udp_usrreq.c optional inet
netinet6/ah_aesxcbcmac.c optional ipsec
netinet6/ah_core.c optional ipsec
netinet6/ah_input.c optional ipsec
netinet6/ah_output.c optional ipsec
netinet6/dest6.c optional inet6
netinet6/esp_aesctr.c optional ipsec ipsec_esp
netinet6/esp_core.c optional ipsec ipsec_esp
netinet6/esp_input.c optional ipsec ipsec_esp
netinet6/esp_output.c optional ipsec ipsec_esp
netinet6/esp_rijndael.c optional ipsec ipsec_esp
netinet6/frag6.c optional inet6
netinet6/icmp6.c optional inet6
netinet6/in6.c optional inet6
netinet6/in6_cksum.c optional inet6
netinet6/in6_gif.c optional gif inet6
netinet6/in6_ifattach.c optional inet6
netinet6/in6_pcb.c optional inet6
netinet6/in6_prefix.c optional inet6
netinet6/in6_proto.c optional inet6
netinet6/in6_rmx.c optional inet6
netinet6/in6_src.c optional inet6
netinet6/ip6_forward.c optional inet6
netinet6/ip6_fw.c optional inet6 ipv6firewall
netinet6/ip6_id.c optional inet6
netinet6/ip6_input.c optional inet6
netinet6/ip6_mroute.c optional inet6
netinet6/ip6_output.c optional inet6
netinet6/ipcomp_core.c optional ipsec
netinet6/ipcomp_input.c optional ipsec
netinet6/ipcomp_output.c optional ipsec
netinet6/ipsec.c optional ipsec
netinet6/mld6.c optional inet6
netinet6/nd6.c optional inet6
netinet6/nd6_nbr.c optional inet6
netinet6/nd6_rtr.c optional inet6
netinet6/raw_ip6.c optional inet6
netinet6/route6.c optional inet6
netinet6/scope6.c optional inet6
netinet6/udp6_output.c optional inet6
netinet6/udp6_usrreq.c optional inet6
netipsec/ipsec.c optional fast_ipsec
netipsec/ipsec_input.c optional fast_ipsec
netipsec/ipsec_mbuf.c optional fast_ipsec
netipsec/ipsec_output.c optional fast_ipsec
netipsec/key.c optional fast_ipsec
netipsec/key_debug.c optional fast_ipsec
netipsec/keysock.c optional fast_ipsec
netipsec/xform_ah.c optional fast_ipsec
netipsec/xform_esp.c optional fast_ipsec
netipsec/xform_ipcomp.c optional fast_ipsec
netipsec/xform_ipip.c optional fast_ipsec
Initial import of RFC 2385 (TCP-MD5) digest support. This is the first of two commits; bringing in the kernel support first. This can be enabled by compiling a kernel with options TCP_SIGNATURE and FAST_IPSEC. For the uninitiated, this is a TCP option which provides for a means of authenticating TCP sessions which came into being before IPSEC. It is still relevant today, however, as it is used by many commercial router vendors, particularly with BGP, and as such has become a requirement for interconnect at many major Internet points of presence. Several parts of the TCP and IP headers, including the segment payload, are digested with MD5, including a shared secret. The PF_KEY interface is used to manage the secrets using security associations in the SADB. There is a limitation here in that as there is no way to map a TCP flow per-port back to an SPI without polluting tcpcb or using the SPD; the code to do the latter is unstable at this time. Therefore this code only supports per-host keying granularity. Whilst FAST_IPSEC is mutually exclusive with KAME IPSEC (and thus IPv6), TCP_SIGNATURE applies only to IPv4. For the vast majority of prospective users of this feature, this will not pose any problem. This implementation is output-only; that is, the option is honoured when responding to a host initiating a TCP session, but no effort is made [yet] to authenticate inbound traffic. This is, however, sufficient to interwork with Cisco equipment. Tested with a Cisco 2501 running IOS 12.0(27), and Quagga 0.96.4 with local patches. Patches for tcpdump to validate TCP-MD5 sessions are also available from me upon request. Sponsored by: sentex.net
2004-02-11 04:26:04 +00:00
netipsec/xform_tcp.c optional fast_ipsec tcp_signature
netipx/ipx.c optional ipx
netipx/ipx_cksum.c optional ipx
netipx/ipx_input.c optional ipx
netipx/ipx_ip.c optional ipx
netipx/ipx_outputfl.c optional ipx
netipx/ipx_pcb.c optional ipx
netipx/ipx_proto.c optional ipx
netipx/ipx_usrreq.c optional ipx
netipx/spx_debug.c optional ipx
netipx/spx_usrreq.c optional ipx
netkey/key.c optional ipsec
netkey/key_debug.c optional ipsec
netkey/keydb.c optional ipsec
netkey/keysock.c optional ipsec
1997-05-09 12:19:06 +00:00
netnatm/natm.c optional natm
netnatm/natm_pcb.c optional natm
netnatm/natm_proto.c optional natm
netncp/ncp_conn.c optional ncp
netncp/ncp_crypt.c optional ncp
netncp/ncp_login.c optional ncp
netncp/ncp_mod.c optional ncp
netncp/ncp_ncp.c optional ncp
netncp/ncp_nls.c optional ncp
netncp/ncp_rq.c optional ncp
netncp/ncp_sock.c optional ncp
netncp/ncp_subr.c optional ncp
netsmb/smb_conn.c optional netsmb
netsmb/smb_crypt.c optional netsmb
netsmb/smb_dev.c optional netsmb
netsmb/smb_iod.c optional netsmb
netsmb/smb_rq.c optional netsmb
netsmb/smb_smb.c optional netsmb
netsmb/smb_subr.c optional netsmb
netsmb/smb_trantcp.c optional netsmb
netsmb/smb_usr.c optional netsmb
nfs/nfs_common.c optional nfsclient
nfs/nfs_common.c optional nfsserver
nfsclient/bootp_subr.c optional bootp nfsclient
nfsclient/krpc_subr.c optional bootp nfsclient
nfsclient/nfs_bio.c optional nfsclient
nfsclient/nfs_diskless.c optional nfsclient nfs_root
nfsclient/nfs_node.c optional nfsclient
nfsclient/nfs_socket.c optional nfsclient
nfsclient/nfs_subs.c optional nfsclient
nfsclient/nfs_nfsiod.c optional nfsclient
nfsclient/nfs_vfsops.c optional nfsclient
nfsclient/nfs_vnops.c optional nfsclient
nfsclient/nfs_lock.c optional nfsclient
nfs4client/nfs4_socket.c optional nfsclient
nfs4client/nfs4_vfsops.c optional nfsclient
nfs4client/nfs4_vnops.c optional nfsclient
nfs4client/nfs4_subs.c optional nfsclient
nfs4client/nfs4_vfs_subs.c optional nfsclient
nfs4client/nfs4_vn_subs.c optional nfsclient
nfs4client/nfs4_dev.c optional nfsclient
nfs4client/nfs4_idmap.c optional nfsclient
rpc/rpcclnt.c optional nfsclient
nfsserver/nfs_serv.c optional nfsserver
nfsserver/nfs_srvsock.c optional nfsserver
nfsserver/nfs_srvcache.c optional nfsserver
nfsserver/nfs_srvsubs.c optional nfsserver
nfsserver/nfs_syscalls.c optional nfsserver
# crypto support
opencrypto/cast.c optional crypto
opencrypto/criov.c optional crypto
opencrypto/crypto.c optional crypto
opencrypto/cryptodev.c optional cryptodev
opencrypto/cryptosoft.c optional crypto
opencrypto/deflate.c optional crypto
opencrypto/rmd160.c optional crypto
opencrypto/rijndael.c optional crypto
opencrypto/skipjack.c optional crypto
opencrypto/xform.c optional crypto
crypto/blowfish/bf_skey.c optional crypto
crypto/des/des_ecb.c optional crypto
crypto/des/des_setkey.c optional crypto
crypto/sha1.c optional crypto
crypto/sha2/sha2.c optional crypto
pccard/pccard.c count card
pccard/pccard_beep.c optional card
1999-09-06 11:36:25 +00:00
pccard/pccard_nbk.c optional card
pccard/pcic.c optional pcic card
pccard/pcic_isa.c optional pcic card isa
pccard/pcic_pci.c optional pcic card pci
pci/agp.c optional agp pci
pci/agp_if.m optional agp pci
pci/alpm.c optional alpm pci
pci/amdpm.c optional amdpm pci
pci/amdpm.c optional nfpm pci
pci/if_dc.c optional dc pci
pci/if_de.c optional de pci
pci/if_mn.c optional mn pci
pci/if_pcn.c optional pcn pci
pci/if_rl.c optional rl pci
pci/if_sf.c optional sf pci
pci/if_sis.c optional sis pci
pci/if_sk.c optional sk pci
pci/if_ste.c optional ste pci
pci/if_ti.c optional ti pci
pci/if_tl.c optional tl pci
pci/if_vr.c optional vr pci
pci/if_wb.c optional wb pci
pci/if_xl.c optional xl pci
pci/intpm.c optional intpm pci
pci/ncr.c optional ncr pci
pci/viapm.c optional viapm pci
pci/xrpu.c optional xrpu pci
posix4/ksched.c optional _kposix_priority_scheduling
posix4/p1003_1b.c standard
posix4/posix4_mib.c standard
2002-09-19 00:48:57 +00:00
kern/uipc_sem.c optional p1003_1b_semaphores
security/mac/mac_inet.c optional mac inet
Modify the MAC Framework so that instead of embedding a (struct label) in various kernel objects to represent security data, we embed a (struct label *) pointer, which now references labels allocated using a UMA zone (mac_label.c). This allows the size and shape of struct label to be varied without changing the size and shape of these kernel objects, which become part of the frozen ABI with 5-STABLE. This opens the door for boot-time selection of the number of label slots, and hence changes to the bound on the number of simultaneous labeled policies at boot-time instead of compile-time. This also makes it easier to embed label references in new objects as required for locking/caching with fine-grained network stack locking, such as inpcb structures. This change also moves us further in the direction of hiding the structure of kernel objects from MAC policy modules, not to mention dramatically reducing the number of '&' symbols appearing in both the MAC Framework and MAC policy modules, and improving readability. While this results in minimal performance change with MAC enabled, it will observably shrink the size of a number of critical kernel data structures for the !MAC case, and should have a small (but measurable) performance benefit (i.e., struct vnode, struct socket) do to memory conservation and reduced cost of zeroing memory. NOTE: Users of MAC must recompile their kernel and all MAC modules as a result of this change. Because this is an API change, third party MAC modules will also need to be updated to make less use of the '&' symbol. Suggestions from: bmilekic Obtained from: TrustedBSD Project Sponsored by: DARPA, Network Associates Laboratories
2003-11-12 03:14:31 +00:00
security/mac/mac_label.c optional mac
security/mac/mac_net.c optional mac
security/mac/mac_pipe.c optional mac
security/mac/mac_process.c optional mac
security/mac/mac_socket.c optional mac
security/mac/mac_system.c optional mac
security/mac/mac_vfs.c optional mac
security/mac_biba/mac_biba.c optional mac_biba
security/mac_bsdextended/mac_bsdextended.c optional mac_bsdextended
security/mac_ifoff/mac_ifoff.c optional mac_ifoff
security/mac_lomac/mac_lomac.c optional mac_lomac
security/mac_mls/mac_mls.c optional mac_mls
security/mac_none/mac_none.c optional mac_none
security/mac_partition/mac_partition.c optional mac_partition
security/mac_portacl/mac_portacl.c optional mac_portacl
security/mac_seeotheruids/mac_seeotheruids.c optional mac_seeotheruids
security/mac_stub/mac_stub.c optional mac_stub
security/mac_test/mac_test.c optional mac_test
1994-05-24 10:09:53 +00:00
ufs/ffs/ffs_alloc.c optional ffs
ufs/ffs/ffs_balloc.c optional ffs
ufs/ffs/ffs_inode.c optional ffs
ufs/ffs/ffs_snapshot.c optional ffs
ufs/ffs/ffs_softdep.c optional softupdates ffs
ufs/ffs/ffs_softdep_stub.c optional ffs
1994-05-24 10:09:53 +00:00
ufs/ffs/ffs_subr.c optional ffs
ufs/ffs/ffs_tables.c optional ffs
ufs/ffs/ffs_vfsops.c optional ffs
ufs/ffs/ffs_vnops.c optional ffs
ufs/ffs/ffs_rawread.c optional directio
ufs/ufs/ufs_acl.c optional ffs
ufs/ufs/ufs_bmap.c optional ffs
ufs/ufs/ufs_dirhash.c optional ffs
ufs/ufs/ufs_extattr.c optional ffs
ufs/ufs/ufs_ihash.c optional ffs
ufs/ufs/ufs_inode.c optional ffs
ufs/ufs/ufs_lookup.c optional ffs
ufs/ufs/ufs_quota.c optional ffs
ufs/ufs/ufs_vfsops.c optional ffs
ufs/ufs/ufs_vnops.c optional ffs
NOTE: libkvm, w, ps, 'top', and any other utility which depends on struct proc or any VM system structure will have to be rebuilt!!! Much needed overhaul of the VM system. Included in this first round of changes: 1) Improved pager interfaces: init, alloc, dealloc, getpages, putpages, haspage, and sync operations are supported. The haspage interface now provides information about clusterability. All pager routines now take struct vm_object's instead of "pagers". 2) Improved data structures. In the previous paradigm, there is constant confusion caused by pagers being both a data structure ("allocate a pager") and a collection of routines. The idea of a pager structure has escentially been eliminated. Objects now have types, and this type is used to index the appropriate pager. In most cases, items in the pager structure were duplicated in the object data structure and thus were unnecessary. In the few cases that remained, a un_pager structure union was created in the object to contain these items. 3) Because of the cleanup of #1 & #2, a lot of unnecessary layering can now be removed. For instance, vm_object_enter(), vm_object_lookup(), vm_object_remove(), and the associated object hash list were some of the things that were removed. 4) simple_lock's removed. Discussion with several people reveals that the SMP locking primitives used in the VM system aren't likely the mechanism that we'll be adopting. Even if it were, the locking that was in the code was very inadequate and would have to be mostly re-done anyway. The locking in a uni-processor kernel was a no-op but went a long way toward making the code difficult to read and debug. 5) Places that attempted to kludge-up the fact that we don't have kernel thread support have been fixed to reflect the reality that we are really dealing with processes, not threads. The VM system didn't have complete thread support, so the comments and mis-named routines were just wrong. We now use tsleep and wakeup directly in the lock routines, for instance. 6) Where appropriate, the pagers have been improved, especially in the pager_alloc routines. Most of the pager_allocs have been rewritten and are now faster and easier to maintain. 7) The pagedaemon pageout clustering algorithm has been rewritten and now tries harder to output an even number of pages before and after the requested page. This is sort of the reverse of the ideal pagein algorithm and should provide better overall performance. 8) Unnecessary (incorrect) casts to caddr_t in calls to tsleep & wakeup have been removed. Some other unnecessary casts have also been removed. 9) Some almost useless debugging code removed. 10) Terminology of shadow objects vs. backing objects straightened out. The fact that the vm_object data structure escentially had this backwards really confused things. The use of "shadow" and "backing object" throughout the code is now internally consistent and correct in the Mach terminology. 11) Several minor bug fixes, including one in the vm daemon that caused 0 RSS objects to not get purged as intended. 12) A "default pager" has now been created which cleans up the transition of objects to the "swap" type. The previous checks throughout the code for swp->pg_data != NULL were really ugly. This change also provides the rudiments for future backing of "anonymous" memory by something other than the swap pager (via the vnode pager, for example), and it allows the decision about which of these pagers to use to be made dynamically (although will need some additional decision code to do this, of course). 13) (dyson) MAP_COPY has been deprecated and the corresponding "copy object" code has been removed. MAP_COPY was undocumented and non- standard. It was furthermore broken in several ways which caused its behavior to degrade to MAP_PRIVATE. Binaries that use MAP_COPY will continue to work correctly, but via the slightly different semantics of MAP_PRIVATE. 14) (dyson) Sharing maps have been removed. It's marginal usefulness in a threads design can be worked around in other ways. Both #12 and #13 were done to simplify the code and improve readability and maintain- ability. (As were most all of these changes) TODO: 1) Rewrite most of the vnode pager to use VOP_GETPAGES/PUTPAGES. Doing this will reduce the vnode pager to a mere fraction of its current size. 2) Rewrite vm_fault and the swap/vnode pagers to use the clustering information provided by the new haspage pager interface. This will substantially reduce the overhead by eliminating a large number of VOP_BMAP() calls. The VOP_BMAP() filesystem interface should be improved to provide both a "behind" and "ahead" indication of contiguousness. 3) Implement the extended features of pager_haspage in swap_pager_haspage(). It currently just says 0 pages ahead/behind. 4) Re-implement the swap device (swstrategy) in a more elegant way, perhaps via a much more general mechanism that could also be used for disk striping of regular filesystems. 5) Do something to improve the architecture of vm_object_collapse(). The fact that it makes calls into the swap pager and knows too much about how the swap pager operates really bothers me. It also doesn't allow for collapsing of non-swap pager objects ("unnamed" objects backed by other pagers).
1995-07-13 08:48:48 +00:00
vm/default_pager.c standard
vm/device_pager.c standard
vm/phys_pager.c standard
vm/swap_pager.c standard
1994-05-24 10:09:53 +00:00
vm/vm_fault.c standard
vm/vm_glue.c standard
vm/vm_init.c standard
vm/vm_kern.c standard
vm/vm_map.c standard
vm/vm_meter.c standard
vm/vm_mmap.c standard
vm/vm_object.c standard
vm/vm_page.c standard
vm/vm_pageq.c standard
vm/vm_contig.c standard
vm/vm_zeroidle.c standard
1994-05-24 10:09:53 +00:00
vm/vm_pageout.c standard
vm/vm_pager.c standard
vm/vm_unix.c standard
vm/uma_core.c standard
vm/uma_dbg.c standard
vm/vnode_pager.c standard