1999-09-08 11:14:56 +00:00
|
|
|
# $FreeBSD$
|
1997-09-21 21:32:04 +00:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
1999-07-03 20:17:08 +00:00
|
|
|
aicasm optional ahc \
|
2000-10-05 04:07:06 +00:00
|
|
|
dependency "$S/dev/aic7xxx/aicasm/*.[chyl]" \
|
2000-09-16 20:00:13 +00:00
|
|
|
compile-with "${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 \
|
1998-09-21 04:41:11 +00:00
|
|
|
clean "aicasm aicasm_gram.c aicasm_scan.c y.tab.h"
|
1999-07-03 20:17:08 +00:00
|
|
|
aic7xxx_{seq,reg}.h optional ahc \
|
2000-09-22 22:06:28 +00:00
|
|
|
compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h $S/dev/aic7xxx/aic7xxx.seq" \
|
1997-09-21 21:32:04 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "aic7xxx_seq.h aic7xxx_reg.h" \
|
1998-09-15 09:59:15 +00:00
|
|
|
dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
|
2000-04-05 10:33:55 +00:00
|
|
|
kern/device_if.m standard
|
|
|
|
kern/bus_if.m standard
|
2000-04-24 23:08:23 +00:00
|
|
|
kern/linker_if.m standard
|
1998-09-15 09:59:15 +00:00
|
|
|
cam/cam.c optional scbus
|
|
|
|
cam/cam_extend.c optional scbus
|
|
|
|
cam/cam_periph.c optional scbus
|
2000-03-23 19:08:49 +00:00
|
|
|
cam/cam_queue.c optional scbus
|
1998-09-15 09:59:15 +00:00
|
|
|
cam/cam_sim.c optional scbus
|
2000-03-23 19:08:49 +00:00
|
|
|
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
|
2000-03-23 19:08:49 +00:00
|
|
|
cam/scsi/scsi_da.c optional da
|
2001-02-27 12:34:01 +00:00
|
|
|
cam/scsi/scsi_low.c optional ct
|
2000-10-23 12:55:51 +00:00
|
|
|
cam/scsi/scsi_low.c optional ncv
|
|
|
|
cam/scsi/scsi_low.c optional nsp
|
|
|
|
cam/scsi/scsi_low.c optional stg
|
2001-02-27 12:34:01 +00:00
|
|
|
cam/scsi/scsi_low_pisa.c optional ct
|
2000-10-23 12:55:51 +00:00
|
|
|
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
|
2000-03-23 19:08:49 +00:00
|
|
|
cam/scsi/scsi_pt.c optional pt
|
|
|
|
cam/scsi/scsi_sa.c optional sa
|
2000-01-15 07:11:36 +00:00
|
|
|
cam/scsi/scsi_ses.c optional ses
|
1999-01-14 06:16:45 +00:00
|
|
|
cam/scsi/scsi_targ_bh.c optional targbh
|
2000-03-23 19:08:49 +00:00
|
|
|
cam/scsi/scsi_target.c optional targ
|
2000-06-10 22:13:40 +00:00
|
|
|
coda/coda_fbsd.c count vcoda
|
2000-03-23 19:08:49 +00:00
|
|
|
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
|
2001-06-11 11:02:10 +00:00
|
|
|
compat/linprocfs/linprocfs.c optional linprocfs
|
2001-05-29 20:05:35 +00:00
|
|
|
contrib/dev/acpica/dbcmds.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dbdisasm.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dbdisply.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dbexec.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dbfileio.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dbhistry.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dbinput.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dbstats.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dbutils.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dbxface.c optional acpica acpi_debug
|
|
|
|
contrib/dev/acpica/dsfield.c optional acpica
|
|
|
|
contrib/dev/acpica/dsmethod.c optional acpica
|
|
|
|
contrib/dev/acpica/dsmthdat.c optional acpica
|
|
|
|
contrib/dev/acpica/dsobject.c optional acpica
|
|
|
|
contrib/dev/acpica/dsopcode.c optional acpica
|
|
|
|
contrib/dev/acpica/dsutils.c optional acpica
|
|
|
|
contrib/dev/acpica/dswexec.c optional acpica
|
|
|
|
contrib/dev/acpica/dswload.c optional acpica
|
|
|
|
contrib/dev/acpica/dswscope.c optional acpica
|
|
|
|
contrib/dev/acpica/dswstate.c optional acpica
|
|
|
|
contrib/dev/acpica/evevent.c optional acpica
|
|
|
|
contrib/dev/acpica/evmisc.c optional acpica
|
|
|
|
contrib/dev/acpica/evregion.c optional acpica
|
|
|
|
contrib/dev/acpica/evrgnini.c optional acpica
|
|
|
|
contrib/dev/acpica/evsci.c optional acpica
|
|
|
|
contrib/dev/acpica/evxface.c optional acpica
|
|
|
|
contrib/dev/acpica/evxfevnt.c optional acpica
|
|
|
|
contrib/dev/acpica/evxfregn.c optional acpica
|
|
|
|
contrib/dev/acpica/exconfig.c optional acpica
|
|
|
|
contrib/dev/acpica/exconvrt.c optional acpica
|
|
|
|
contrib/dev/acpica/excreate.c optional acpica
|
|
|
|
contrib/dev/acpica/exdump.c optional acpica
|
|
|
|
contrib/dev/acpica/exdyadic.c optional acpica
|
|
|
|
contrib/dev/acpica/exfield.c optional acpica
|
|
|
|
contrib/dev/acpica/exfldio.c optional acpica
|
|
|
|
contrib/dev/acpica/exmisc.c optional acpica
|
|
|
|
contrib/dev/acpica/exmonad.c optional acpica
|
|
|
|
contrib/dev/acpica/exmutex.c optional acpica
|
|
|
|
contrib/dev/acpica/exnames.c optional acpica
|
|
|
|
contrib/dev/acpica/exprep.c optional acpica
|
|
|
|
contrib/dev/acpica/exregion.c optional acpica
|
|
|
|
contrib/dev/acpica/exresnte.c optional acpica
|
|
|
|
contrib/dev/acpica/exresolv.c optional acpica
|
|
|
|
contrib/dev/acpica/exresop.c optional acpica
|
|
|
|
contrib/dev/acpica/exstore.c optional acpica
|
|
|
|
contrib/dev/acpica/exstoren.c optional acpica
|
|
|
|
contrib/dev/acpica/exstorob.c optional acpica
|
|
|
|
contrib/dev/acpica/exsystem.c optional acpica
|
|
|
|
contrib/dev/acpica/exutils.c optional acpica
|
|
|
|
contrib/dev/acpica/exxface.c optional acpica
|
|
|
|
contrib/dev/acpica/hwacpi.c optional acpica
|
|
|
|
contrib/dev/acpica/hwgpe.c optional acpica
|
|
|
|
contrib/dev/acpica/hwregs.c optional acpica
|
|
|
|
contrib/dev/acpica/hwsleep.c optional acpica
|
|
|
|
contrib/dev/acpica/hwtimer.c optional acpica
|
|
|
|
contrib/dev/acpica/nsaccess.c optional acpica
|
|
|
|
contrib/dev/acpica/nsalloc.c optional acpica
|
|
|
|
contrib/dev/acpica/nsdump.c optional acpica
|
|
|
|
contrib/dev/acpica/nseval.c optional acpica
|
|
|
|
contrib/dev/acpica/nsinit.c optional acpica
|
|
|
|
contrib/dev/acpica/nsload.c optional acpica
|
|
|
|
contrib/dev/acpica/nsnames.c optional acpica
|
|
|
|
contrib/dev/acpica/nsobject.c optional acpica
|
|
|
|
contrib/dev/acpica/nssearch.c optional acpica
|
|
|
|
contrib/dev/acpica/nsutils.c optional acpica
|
|
|
|
contrib/dev/acpica/nswalk.c optional acpica
|
|
|
|
contrib/dev/acpica/nsxfname.c optional acpica
|
|
|
|
contrib/dev/acpica/nsxfobj.c optional acpica
|
|
|
|
contrib/dev/acpica/psargs.c optional acpica
|
|
|
|
contrib/dev/acpica/psfind.c optional acpica
|
|
|
|
contrib/dev/acpica/psopcode.c optional acpica
|
|
|
|
contrib/dev/acpica/psparse.c optional acpica
|
|
|
|
contrib/dev/acpica/psscope.c optional acpica
|
|
|
|
contrib/dev/acpica/pstree.c optional acpica
|
|
|
|
contrib/dev/acpica/psutils.c optional acpica
|
|
|
|
contrib/dev/acpica/pswalk.c optional acpica
|
|
|
|
contrib/dev/acpica/psxface.c optional acpica
|
|
|
|
contrib/dev/acpica/rsaddr.c optional acpica
|
|
|
|
contrib/dev/acpica/rscalc.c optional acpica
|
|
|
|
contrib/dev/acpica/rscreate.c optional acpica
|
|
|
|
contrib/dev/acpica/rsdump.c optional acpica
|
|
|
|
contrib/dev/acpica/rsio.c optional acpica
|
|
|
|
contrib/dev/acpica/rsirq.c optional acpica
|
|
|
|
contrib/dev/acpica/rslist.c optional acpica
|
|
|
|
contrib/dev/acpica/rsmemory.c optional acpica
|
|
|
|
contrib/dev/acpica/rsmisc.c optional acpica
|
|
|
|
contrib/dev/acpica/rsutils.c optional acpica
|
|
|
|
contrib/dev/acpica/rsxface.c optional acpica
|
|
|
|
contrib/dev/acpica/tbconvrt.c optional acpica
|
|
|
|
contrib/dev/acpica/tbget.c optional acpica
|
|
|
|
contrib/dev/acpica/tbinstal.c optional acpica
|
|
|
|
contrib/dev/acpica/tbutils.c optional acpica
|
|
|
|
contrib/dev/acpica/tbxface.c optional acpica
|
|
|
|
contrib/dev/acpica/tbxfroot.c optional acpica
|
|
|
|
contrib/dev/acpica/utalloc.c optional acpica
|
|
|
|
contrib/dev/acpica/utclib.c optional acpica
|
|
|
|
contrib/dev/acpica/utcopy.c optional acpica
|
|
|
|
contrib/dev/acpica/utdebug.c optional acpica
|
|
|
|
contrib/dev/acpica/utdelete.c optional acpica
|
|
|
|
contrib/dev/acpica/uteval.c optional acpica
|
|
|
|
contrib/dev/acpica/utglobal.c optional acpica
|
|
|
|
contrib/dev/acpica/utinit.c optional acpica
|
|
|
|
contrib/dev/acpica/utmisc.c optional acpica
|
|
|
|
contrib/dev/acpica/utobject.c optional acpica
|
|
|
|
contrib/dev/acpica/utxface.c optional acpica
|
2001-06-07 04:06:21 +00:00
|
|
|
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
|
1999-12-27 18:53:24 +00:00
|
|
|
crypto/blowfish/bf_enc.c optional ipsec ipsec_esp
|
|
|
|
crypto/blowfish/bf_skey.c optional ipsec ipsec_esp
|
|
|
|
crypto/cast128/cast128.c optional ipsec ipsec_esp
|
2000-03-23 19:08:49 +00:00
|
|
|
crypto/des/des_ecb.c optional ipsec ipsec_esp
|
|
|
|
crypto/des/des_setkey.c optional ipsec ipsec_esp
|
2001-06-11 12:39:29 +00:00
|
|
|
crypto/rijndael/rijndael-alg-fst.c optional ipsec ipsec_esp
|
|
|
|
crypto/rijndael/rijndael-api-fst.c optional ipsec ipsec_esp
|
2000-03-23 19:08:49 +00:00
|
|
|
crypto/sha1.c optional ipsec
|
2001-06-11 12:39:29 +00:00
|
|
|
crypto/sha2/sha2.c optional ipsec
|
1994-05-25 09:21:21 +00:00
|
|
|
ddb/db_access.c optional ddb
|
|
|
|
ddb/db_break.c optional ddb
|
|
|
|
ddb/db_command.c optional ddb
|
|
|
|
ddb/db_examine.c optional ddb
|
|
|
|
ddb/db_expr.c optional ddb
|
|
|
|
ddb/db_input.c optional ddb
|
2000-03-23 19:08:49 +00:00
|
|
|
ddb/db_kld.c optional ddb
|
1994-05-25 09:21:21 +00:00
|
|
|
ddb/db_lex.c optional ddb
|
|
|
|
ddb/db_output.c optional ddb
|
|
|
|
ddb/db_print.c optional ddb
|
1994-08-27 16:14:39 +00:00
|
|
|
ddb/db_ps.c optional ddb
|
1994-05-25 09:21:21 +00:00
|
|
|
ddb/db_run.c optional ddb
|
|
|
|
ddb/db_sym.c optional ddb
|
2000-01-27 22:29:19 +00:00
|
|
|
ddb/db_sysctl.c optional ddb
|
1994-05-25 09:21:21 +00:00
|
|
|
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
|
2000-09-13 03:20:35 +00:00
|
|
|
dev/aac/aac.c optional aac
|
2001-03-17 00:09:47 +00:00
|
|
|
dev/aac/aac_debug.c optional aac
|
2000-09-13 23:50:40 +00:00
|
|
|
dev/aac/aac_disk.c optional aac
|
|
|
|
dev/aac/aac_pci.c optional aac pci
|
2000-10-28 07:03:39 +00:00
|
|
|
dev/acpica/acpi.c optional acpica
|
2000-12-22 14:41:55 +00:00
|
|
|
dev/acpica/acpi_acad.c optional acpica
|
2001-01-31 09:26:25 +00:00
|
|
|
#dev/acpica/acpi_apic.c optional acpica
|
2001-07-05 07:14:30 +00:00
|
|
|
dev/acpica/acpi_battery.c optional acpica
|
2000-10-28 07:03:39 +00:00
|
|
|
dev/acpica/acpi_button.c optional acpica
|
2000-12-22 14:41:55 +00:00
|
|
|
dev/acpica/acpi_cmbat.c optional acpica
|
2000-10-28 07:03:39 +00:00
|
|
|
dev/acpica/acpi_ec.c optional acpica
|
|
|
|
dev/acpica/acpi_isa.c optional acpica isa
|
|
|
|
dev/acpica/acpi_lid.c optional acpica
|
|
|
|
dev/acpica/acpi_pcib.c optional acpica pci
|
2001-06-28 17:02:31 +00:00
|
|
|
dev/acpica/acpi_powerres.c optional acpica
|
2001-07-07 01:45:51 +00:00
|
|
|
dev/acpica/acpi_powerprofile.c optional acpica
|
2001-01-31 09:26:25 +00:00
|
|
|
#dev/acpica/acpi_processor.c optional acpica
|
2000-10-28 07:03:39 +00:00
|
|
|
dev/acpica/acpi_resource.c optional acpica
|
|
|
|
dev/acpica/acpi_thermal.c optional acpica
|
|
|
|
dev/acpica/acpi_timer.c optional acpica
|
|
|
|
dev/acpica/Osd/OsdDebug.c optional acpica
|
|
|
|
dev/acpica/Osd/OsdEnvironment.c optional acpica
|
|
|
|
dev/acpica/Osd/OsdHardware.c optional acpica
|
|
|
|
dev/acpica/Osd/OsdInterrupt.c optional acpica
|
|
|
|
dev/acpica/Osd/OsdMemory.c optional acpica
|
|
|
|
dev/acpica/Osd/OsdSchedule.c optional acpica
|
|
|
|
dev/acpica/Osd/OsdStream.c optional acpica
|
|
|
|
dev/acpica/Osd/OsdSynch.c optional acpica
|
2000-01-14 07:14:17 +00:00
|
|
|
dev/advansys/adv_eisa.c optional adv eisa
|
|
|
|
dev/advansys/adv_pci.c optional adv pci
|
1999-07-03 19:19:34 +00:00
|
|
|
dev/advansys/advansys.c optional adv
|
|
|
|
dev/advansys/advlib.c optional adv
|
|
|
|
dev/advansys/advmcode.c optional adv
|
2000-01-14 07:14:17 +00:00
|
|
|
dev/advansys/adw_pci.c optional adw pci
|
1999-07-03 19:19:34 +00:00
|
|
|
dev/advansys/adwcam.c optional adw
|
|
|
|
dev/advansys/adwlib.c optional adw
|
|
|
|
dev/advansys/adwmcode.c optional adw
|
2001-02-04 16:45:39 +00:00
|
|
|
dev/aha/aha.c optional aha
|
1999-09-27 01:51:18 +00:00
|
|
|
dev/aha/aha_isa.c optional aha isa
|
1999-10-01 03:12:15 +00:00
|
|
|
dev/aha/aha_mca.c optional aha mca
|
2000-01-14 07:14:17 +00:00
|
|
|
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
|
2001-01-08 01:59:15 +00:00
|
|
|
dev/aic/aic_pccard.c optional aic pccard
|
2000-09-16 20:00:13 +00:00
|
|
|
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
|
2000-09-23 22:21:39 +00:00
|
|
|
dev/aic7xxx/aic7xxx_freebsd.c optional ahc
|
2000-09-16 20:00:13 +00:00
|
|
|
dev/aic7xxx/aic7xxx_pci.c optional ahc pci
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/amr/amr.c optional amr
|
|
|
|
dev/amr/amr_disk.c optional amr
|
|
|
|
dev/amr/amr_pci.c optional amr
|
|
|
|
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-02-04 16:45:39 +00:00
|
|
|
#dev/an/if_an_pccard.c optional an pccard
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/an/if_an_pci.c optional an pci
|
2001-01-30 10:00:04 +00:00
|
|
|
dev/ar/if_ar.c optional ar
|
|
|
|
dev/ar/if_ar_pci.c optional ar pci
|
2000-09-01 07:51:25 +00:00
|
|
|
dev/asr/asr.c optional asr pci
|
2001-01-29 10:01:11 +00:00
|
|
|
dev/ata/ata-all.c optional ata
|
2001-03-06 21:43:46 +00:00
|
|
|
dev/ata/ata-isa.c optional ata isa
|
|
|
|
dev/ata/ata-card.c optional ata card
|
|
|
|
#dev/ata/ata-card.c optional ata pccard
|
|
|
|
dev/ata/ata-pci.c optional ata pci
|
|
|
|
dev/ata/ata-dma.c optional ata pci
|
2001-01-29 10:01:11 +00:00
|
|
|
dev/ata/ata-disk.c optional atadisk
|
|
|
|
dev/ata/ata-raid.c optional atadisk
|
2000-10-03 09:23:49 +00:00
|
|
|
dev/ata/atapi-all.c optional atapicd
|
|
|
|
dev/ata/atapi-all.c optional atapifd
|
|
|
|
dev/ata/atapi-all.c optional atapist
|
2001-01-29 10:01:11 +00:00
|
|
|
dev/ata/atapi-cd.c optional atapicd
|
|
|
|
dev/ata/atapi-fd.c optional atapifd
|
|
|
|
dev/ata/atapi-tape.c optional atapist
|
2000-04-06 02:48:48 +00:00
|
|
|
dev/awi/am79c930.c optional awi
|
|
|
|
dev/awi/awi.c optional awi
|
2000-08-14 13:45:42 +00:00
|
|
|
dev/awi/awi_wep.c optional awi
|
|
|
|
dev/awi/awi_wicfg.c optional awi
|
2000-04-06 02:48:48 +00:00
|
|
|
dev/awi/if_awi_pccard.c optional awi card
|
2001-02-04 16:45:39 +00:00
|
|
|
dev/awi/if_awi_pccard.c optional awi pccard
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/bktr/bktr_audio.c optional bktr pci
|
|
|
|
dev/bktr/bktr_card.c optional bktr pci
|
2000-06-10 22:13:40 +00:00
|
|
|
dev/bktr/bktr_core.c count bktr pci
|
2000-03-23 19:08:49 +00:00
|
|
|
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
|
2000-06-12 20:53:39 +00:00
|
|
|
dev/buslogic/bt.c optional bt
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/buslogic/bt_eisa.c optional bt eisa
|
1999-10-09 06:25:18 +00:00
|
|
|
dev/buslogic/bt_isa.c optional bt isa
|
1999-10-01 05:24:27 +00:00
|
|
|
dev/buslogic/bt_mca.c optional bt mca
|
1999-10-09 06:25:18 +00:00
|
|
|
dev/buslogic/bt_pci.c optional bt pci
|
1999-10-26 06:55:01 +00:00
|
|
|
dev/cardbus/cardbus.c optional cardbus
|
2000-10-18 03:25:13 +00:00
|
|
|
dev/cardbus/cardbus_cis.c optional cardbus
|
2000-06-10 22:13:40 +00:00
|
|
|
dev/ccd/ccd.c count ccd
|
2001-03-16 07:27:49 +00:00
|
|
|
dev/cnw/if_cnw.c optional cnw card
|
|
|
|
#dev/cnw/if_cnw.c optional cnw pccard
|
2000-03-30 05:16:16 +00:00
|
|
|
dev/cs/if_cs.c optional cs
|
2001-01-21 04:56:12 +00:00
|
|
|
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
|
2001-05-02 01:08:09 +00:00
|
|
|
dev/dgb/dgb.c count dgb
|
|
|
|
dev/digi/digi.c optional digi
|
|
|
|
dev/digi/digi_isa.c optional digi
|
|
|
|
dev/digi/digi_pci.c optional digi
|
|
|
|
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
|
1999-07-03 19:19:34 +00:00
|
|
|
#dev/dpt/dpt_control.c optional dpt
|
1999-10-09 03:46:28 +00:00
|
|
|
dev/dpt/dpt_eisa.c optional dpt eisa
|
|
|
|
dev/dpt/dpt_pci.c optional dpt pci
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/dpt/dpt_scsi.c optional dpt
|
2000-09-30 18:23:32 +00:00
|
|
|
dev/ed/if_ed.c optional ed
|
|
|
|
dev/ed/if_ed_pccard.c optional ed card
|
2000-11-25 03:36:09 +00:00
|
|
|
dev/ed/if_ed_pccard.c optional ed pccard
|
1999-09-20 05:48:16 +00:00
|
|
|
dev/ed/if_ed_pci.c optional ed pci
|
2001-01-29 11:21:00 +00:00
|
|
|
dev/en/midway.c optional en
|
1999-10-01 05:24:27 +00:00
|
|
|
dev/ep/if_ep.c optional ep
|
|
|
|
dev/ep/if_ep_eisa.c optional ep eisa
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/ep/if_ep_isa.c optional ep isa
|
1999-10-01 05:24:27 +00:00
|
|
|
dev/ep/if_ep_mca.c optional ep mca
|
|
|
|
dev/ep/if_ep_pccard.c optional ep card
|
2001-01-07 13:55:42 +00:00
|
|
|
dev/ep/if_ep_pccard.c optional ep pccard
|
2000-05-01 09:05:19 +00:00
|
|
|
dev/ex/if_ex.c optional ex
|
|
|
|
dev/ex/if_ex_isa.c optional ex isa
|
2000-09-29 03:58:06 +00:00
|
|
|
dev/ex/if_ex_pccard.c optional ex card
|
2001-02-04 16:45:39 +00:00
|
|
|
#dev/ex/if_ex_pccard.c optional ex pccard
|
2000-09-14 12:02:07 +00:00
|
|
|
dev/fe/if_fe.c optional fe
|
|
|
|
dev/fe/if_fe_pccard.c optional fe card
|
2001-02-04 16:45:39 +00:00
|
|
|
#dev/fe/if_fe_pccard.c optional fe pccard
|
2001-03-12 21:41:29 +00:00
|
|
|
dev/fxp/if_fxp.c optional fxp
|
1999-07-03 19:19:34 +00:00
|
|
|
dev/hea/eni.c optional hea
|
|
|
|
dev/hea/eni_buffer.c optional hea
|
|
|
|
dev/hea/eni_globals.c optional hea
|
|
|
|
dev/hea/eni_if.c optional hea
|
|
|
|
dev/hea/eni_init.c optional hea
|
|
|
|
dev/hea/eni_intr.c optional hea
|
|
|
|
dev/hea/eni_receive.c optional hea
|
|
|
|
dev/hea/eni_transmit.c optional hea
|
|
|
|
dev/hea/eni_vcm.c optional hea
|
|
|
|
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_load.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
|
2000-10-06 00:09:46 +00:00
|
|
|
dev/ichsmb/ichsmb.c optional ichsmb
|
|
|
|
dev/ichsmb/ichsmb_pci.c optional ichsmb pci
|
1999-07-03 19:19:34 +00:00
|
|
|
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
|
2000-02-09 04:17:10 +00:00
|
|
|
dev/ida/ida_pci.c optional ida pci
|
2000-06-10 22:13:40 +00:00
|
|
|
dev/ie/if_ie.c count ie isa
|
2000-04-05 10:33:55 +00:00
|
|
|
dev/iicbus/iicbb_if.m optional iicbb
|
|
|
|
dev/iicbus/iicbus_if.m optional iicbus
|
2000-03-23 19:08:49 +00:00
|
|
|
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"
|
1999-07-03 19:19:34 +00:00
|
|
|
dev/isp/isp.c optional isp
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/isp/isp_freebsd.c optional isp
|
2000-01-04 00:01:19 +00:00
|
|
|
dev/isp/isp_target.c optional isp
|
2001-01-09 19:15:12 +00:00
|
|
|
dev/isp/isp_pci.c optional isp
|
2000-06-18 05:35:07 +00:00
|
|
|
dev/ispfw/ispfw.c optional ispfw
|
2001-05-31 21:44:26 +00:00
|
|
|
dev/lge/if_lge.c optional lge
|
2000-04-26 20:16:56 +00:00
|
|
|
dev/lmc/if_lmc.c optional lmc
|
2001-01-29 11:21:00 +00:00
|
|
|
dev/lnc/if_lnc.c optional lnc
|
2000-05-14 19:10:46 +00:00
|
|
|
dev/lnc/if_lnc_pci.c optional lnc pci
|
2000-10-23 12:55:51 +00:00
|
|
|
dev/ncv/ncr53c500.c optional ncv
|
|
|
|
dev/ncv/ncr53c500_pccard.c optional ncv card
|
2001-02-04 16:45:39 +00:00
|
|
|
#dev/ncv/ncr53c500_pccard.c optional ncv pccard
|
2000-10-23 12:55:51 +00:00
|
|
|
dev/nsp/nsp.c optional nsp
|
|
|
|
dev/nsp/nsp_pccard.c optional nsp card
|
2001-02-04 16:45:39 +00:00
|
|
|
#dev/nsp/nsp_pccard.c optional nsp pccard
|
1999-10-01 05:24:27 +00:00
|
|
|
dev/mca/mca_bus.c optional mca
|
1999-09-21 11:00:49 +00:00
|
|
|
dev/md/md.c optional md
|
1999-09-06 05:27:55 +00:00
|
|
|
dev/mii/amphy.c optional miibus
|
2000-04-22 02:16:41 +00:00
|
|
|
dev/mii/brgphy.c optional miibus
|
2001-03-06 12:10:44 +00:00
|
|
|
dev/mii/dcphy.c optional miibus pci
|
2001-04-09 21:29:44 +00:00
|
|
|
dev/mii/e1000phy.c optional miibus
|
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
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/mii/mii.c optional miibus
|
|
|
|
dev/mii/mii_physubr.c optional miibus
|
1999-08-27 18:33:36 +00:00
|
|
|
dev/mii/mlphy.c optional miibus
|
1999-08-21 17:40:53 +00:00
|
|
|
dev/mii/nsphy.c optional miibus
|
2001-05-11 19:56:39 +00:00
|
|
|
dev/mii/nsgphy.c optional miibus
|
1999-12-04 20:07:54 +00:00
|
|
|
dev/mii/pnphy.c optional miibus
|
2000-09-20 17:04:30 +00:00
|
|
|
dev/mii/pnaphy.c optional miibus
|
1999-08-31 14:43:30 +00:00
|
|
|
dev/mii/rlphy.c optional miibus
|
2000-10-19 08:34:32 +00:00
|
|
|
dev/mii/tdkphy.c optional miibus
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/mii/tlphy.c optional miibus
|
|
|
|
dev/mii/ukphy.c optional miibus
|
|
|
|
dev/mii/ukphy_subr.c optional miibus
|
2000-04-22 02:16:41 +00:00
|
|
|
dev/mii/xmphy.c optional miibus
|
2001-02-08 04:58:17 +00:00
|
|
|
dev/mii/lxtphy.c optional miibus
|
|
|
|
dev/mii/qsphy.c optional miibus
|
|
|
|
dev/mii/acphy.c optional miibus
|
2000-04-05 10:33:55 +00:00
|
|
|
dev/mii/miibus_if.m optional miibus
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/mlx/mlx.c optional mlx
|
1999-10-07 02:24:22 +00:00
|
|
|
dev/mlx/mlx_disk.c optional mlx
|
|
|
|
dev/mlx/mlx_pci.c optional mlx
|
2000-08-23 03:22:41 +00:00
|
|
|
dev/mly/mly.c optional mly
|
|
|
|
dev/mly/mly_cam.c optional mly
|
|
|
|
dev/mly/mly_pci.c optional mly
|
2000-07-18 11:17:25 +00:00
|
|
|
dev/musycc/musycc.c optional musycc
|
2001-05-11 19:56:39 +00:00
|
|
|
dev/nge/if_nge.c optional nge
|
2000-10-02 20:16:37 +00:00
|
|
|
dev/null/null.c standard
|
2001-02-27 16:41:28 +00:00
|
|
|
dev/nmdm/nmdm.c optional nmdm
|
2000-04-20 07:55:56 +00:00
|
|
|
dev/pccard/card_if.m optional card
|
2000-10-18 03:25:13 +00:00
|
|
|
dev/pccard/card_if.m optional cardbus
|
2000-04-17 02:54:05 +00:00
|
|
|
dev/pccard/card_if.m optional pccard
|
1999-10-26 06:55:01 +00:00
|
|
|
dev/pccard/pccard.c optional pccard
|
|
|
|
dev/pccard/pccard_cis.c optional pccard
|
|
|
|
dev/pccard/pccard_cis_quirks.c optional pccard
|
2000-10-18 03:25:13 +00:00
|
|
|
dev/pccard/power_if.m optional pccbb
|
2000-04-05 10:33:55 +00:00
|
|
|
dev/pccard/power_if.m optional pccard
|
2000-12-12 08:23:50 +00:00
|
|
|
dev/pci/eisa_pci.c optional pci
|
2000-12-08 22:26:48 +00:00
|
|
|
dev/pci/fixup_pci.c optional pci
|
|
|
|
dev/pci/ignore_pci.c optional pci
|
2000-12-12 08:23:50 +00:00
|
|
|
dev/pci/isa_pci.c optional pci
|
2000-12-08 22:26:48 +00:00
|
|
|
dev/pci/pci.c count pci
|
|
|
|
dev/pci/pci_if.m optional pci
|
|
|
|
dev/pci/pci_pci.c optional pci
|
2000-12-13 01:25:11 +00:00
|
|
|
dev/pci/pci_user.c optional pci
|
2000-12-08 22:26:48 +00:00
|
|
|
dev/pci/pcib_if.m optional pci
|
1999-10-26 16:53:57 +00:00
|
|
|
dev/pcic/i82365.c optional pcic pccard
|
2001-06-05 04:26:12 +00:00
|
|
|
dev/pcic/i82365_isa.c optional pcic pccard isa
|
2000-01-14 07:14:17 +00:00
|
|
|
dev/pdq/if_fea.c optional fea eisa
|
2001-01-29 11:21:00 +00:00
|
|
|
dev/pdq/if_fpa.c optional fpa pci
|
2000-01-14 07:14:17 +00:00
|
|
|
dev/pdq/pdq.c optional fea eisa
|
|
|
|
dev/pdq/pdq.c optional fpa pci
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/pdq/pdq_ifsubr.c optional fea eisa
|
2000-01-14 07:14:17 +00:00
|
|
|
dev/pdq/pdq_ifsubr.c optional fpa pci
|
2000-04-05 10:33:55 +00:00
|
|
|
dev/ppbus/ppbus_if.m optional ppbus
|
1999-02-14 12:00:00 +00:00
|
|
|
dev/ppbus/if_plip.c optional plip
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/ppbus/immio.c optional vpo
|
1999-02-14 12:00:00 +00:00
|
|
|
dev/ppbus/lpbb.c optional lpbb
|
|
|
|
dev/ppbus/lpt.c optional lpt
|
2000-01-19 18:17:25 +00:00
|
|
|
dev/ppbus/pcfclock.c optional pcfclock
|
1997-08-16 14:06:05 +00:00
|
|
|
dev/ppbus/ppb_1284.c optional ppbus
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/ppbus/ppb_base.c optional ppbus
|
1998-08-03 19:14:33 +00:00
|
|
|
dev/ppbus/ppb_msq.c optional ppbus
|
1997-08-14 13:59:24 +00:00
|
|
|
dev/ppbus/ppbconf.c optional ppbus
|
1997-08-16 12:21:23 +00:00
|
|
|
dev/ppbus/ppi.c optional ppi
|
1998-02-13 13:00:02 +00:00
|
|
|
dev/ppbus/pps.c optional pps
|
1997-08-16 12:21:23 +00:00
|
|
|
dev/ppbus/vpo.c optional vpo
|
1998-08-03 19:14:33 +00:00
|
|
|
dev/ppbus/vpoio.c optional vpo
|
2000-10-14 10:59:56 +00:00
|
|
|
dev/random/harvest.c standard
|
|
|
|
dev/random/randomdev.c optional random
|
|
|
|
dev/random/yarrow.c optional random
|
|
|
|
dev/random/hash.c optional random
|
2001-03-10 12:57:08 +00:00
|
|
|
crypto/rijndael/rijndael-alg-fst.c optional random
|
|
|
|
crypto/rijndael/rijndael-api-fst.c optional random
|
2000-11-12 21:47:23 +00:00
|
|
|
dev/ray/if_ray.c optional ray card
|
|
|
|
dev/ray/if_ray.c optional ray pccard
|
2000-06-11 06:43:16 +00:00
|
|
|
dev/rp/rp.c optional rp
|
|
|
|
dev/rp/rp_isa.c optional rp isa
|
|
|
|
dev/rp/rp_pci.c optional rp pci
|
2000-03-23 19:08:49 +00:00
|
|
|
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
|
2000-04-05 10:33:55 +00:00
|
|
|
dev/smbus/smbus_if.m optional smbus
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/smbus/smb.c optional smb
|
1998-09-03 21:10:54 +00:00
|
|
|
dev/smbus/smbconf.c optional smbus
|
2000-06-10 22:13:40 +00:00
|
|
|
dev/smbus/smbus.c count smbus
|
1999-12-18 06:11:22 +00:00
|
|
|
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
|
2000-11-12 21:47:23 +00:00
|
|
|
dev/sn/if_sn_pccard.c optional sn pccard
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/isa/ad1816.c optional pcm isa
|
2000-07-11 11:49:33 +00:00
|
|
|
dev/sound/isa/emu8000.c optional midi isa
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/isa/es1888.c optional pcm isa
|
2000-03-28 18:31:01 +00:00
|
|
|
dev/sound/isa/ess.c optional pcm isa
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/isa/gusc.c optional gusc isa
|
|
|
|
dev/sound/isa/gusc.c optional pcm isa
|
2000-07-11 11:49:33 +00:00
|
|
|
dev/sound/isa/gusmidi.c optional midi isa
|
|
|
|
dev/sound/isa/mpu.c optional midi isa
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/isa/mss.c optional pcm isa
|
2000-07-11 11:49:33 +00:00
|
|
|
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
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/isa/sbc.c optional pcm isa
|
|
|
|
dev/sound/isa/sbc.c optional sbc isa
|
2000-07-11 11:49:33 +00:00
|
|
|
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
|
2001-04-23 21:53:12 +00:00
|
|
|
dev/sound/pci/als4000.c optional pcm pci
|
2001-02-04 19:13:40 +00:00
|
|
|
dev/sound/pci/cmi.c optional pcm pci
|
2001-02-04 19:23:35 +00:00
|
|
|
dev/sound/pci/cs4281.c optional pcm pci
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/pci/csa.c optional csa pci
|
|
|
|
dev/sound/pci/csa.c optional pcm pci
|
2000-07-11 11:49:33 +00:00
|
|
|
dev/sound/pci/csamidi.c optional midi csa
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/pci/csapcm.c optional pcm pci
|
2000-06-06 23:34:19 +00:00
|
|
|
dev/sound/pci/ds1.c optional pcm pci
|
2000-04-04 02:34:45 +00:00
|
|
|
dev/sound/pci/emu10k1.c optional pcm pci
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/pci/es137x.c optional pcm pci
|
2000-08-29 16:14:28 +00:00
|
|
|
dev/sound/pci/fm801.c optional pcm pci
|
2001-07-01 19:38:58 +00:00
|
|
|
dev/sound/pci/ich.c optional pcm pci
|
2000-09-23 17:10:40 +00:00
|
|
|
dev/sound/pci/maestro.c optional pcm pci
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/pci/neomagic.c optional pcm pci
|
2000-08-01 22:44:18 +00:00
|
|
|
dev/sound/pci/solo.c optional pcm pci
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/pci/t4dwave.c optional pcm pci
|
2000-08-09 01:08:59 +00:00
|
|
|
dev/sound/pci/via82c686.c optional pcm pci
|
2001-03-19 00:26:41 +00:00
|
|
|
dev/sound/pci/vibes.c optional pcm pci
|
2001-06-07 20:12:11 +00:00
|
|
|
#dev/sound/pci/vortex1.c optional pcm pci
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/pcm/ac97.c optional pcm
|
2000-12-18 01:36:41 +00:00
|
|
|
dev/sound/pcm/ac97_if.m optional pcm
|
2000-12-23 03:27:09 +00:00
|
|
|
dev/sound/pcm/buffer.c optional pcm
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/pcm/channel.c optional pcm
|
2000-12-18 01:36:41 +00:00
|
|
|
dev/sound/pcm/channel_if.m optional pcm
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/pcm/dsp.c optional pcm
|
|
|
|
dev/sound/pcm/fake.c optional pcm
|
|
|
|
dev/sound/pcm/feeder.c optional pcm
|
2000-12-18 01:36:41 +00:00
|
|
|
dev/sound/pcm/feeder_if.m optional pcm
|
2000-09-23 22:21:39 +00:00
|
|
|
dev/sound/pcm/feeder_fmt.c optional pcm
|
2001-04-09 12:04:44 +00:00
|
|
|
dev/sound/pcm/feeder_rate.c optional pcm
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sound/pcm/mixer.c optional pcm
|
2000-12-18 01:36:41 +00:00
|
|
|
dev/sound/pcm/mixer_if.m optional pcm
|
2001-07-01 19:38:58 +00:00
|
|
|
dev/sound/pcm/sndstat.c optional pcm
|
2000-03-23 19:08:49 +00:00
|
|
|
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
|
2001-01-30 10:00:04 +00:00
|
|
|
dev/sr/if_sr.c optional sr
|
|
|
|
dev/sr/if_sr_pci.c optional sr pci
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/streams/streams.c optional streams
|
2000-10-23 12:55:51 +00:00
|
|
|
dev/stg/tmc18c30.c optional stg
|
|
|
|
dev/stg/tmc18c30_pccard.c optional stg card
|
2001-02-04 16:45:39 +00:00
|
|
|
#dev/stg/tmc18c30_pccard.c optional stg pccard
|
2000-10-23 12:55:51 +00:00
|
|
|
dev/stg/tmc18c30_isa.c optional stg isa
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/sym/sym_hipd.c optional sym \
|
|
|
|
dependency "$S/dev/sym/sym_{conf,defs}.h"
|
2001-01-29 11:38:39 +00:00
|
|
|
dev/tdfx/tdfx_pci.c optional tdfx pci
|
2000-10-14 01:23:29 +00:00
|
|
|
dev/twe/twe.c optional twe
|
2000-10-25 06:59:06 +00:00
|
|
|
dev/twe/twe_freebsd.c optional twe
|
2000-03-23 19:08:49 +00:00
|
|
|
#
|
|
|
|
# USB support
|
2000-04-05 10:33:55 +00:00
|
|
|
dev/usb/usb_if.m optional usb
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/usb/hid.c optional usb
|
|
|
|
dev/usb/if_aue.c optional aue
|
|
|
|
dev/usb/if_cue.c optional cue
|
|
|
|
dev/usb/if_kue.c optional kue
|
|
|
|
dev/usb/ohci.c optional ohci
|
2000-05-01 22:48:23 +00:00
|
|
|
dev/usb/udbp.c optional udbp
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/usb/ugen.c optional ugen
|
|
|
|
dev/usb/uhci.c optional uhci
|
|
|
|
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
|
2000-07-18 10:49:45 +00:00
|
|
|
dev/usb/umodem.c optional umodem
|
2000-03-23 19:08:49 +00:00
|
|
|
dev/usb/ums.c optional ums
|
|
|
|
dev/usb/urio.c optional urio
|
2000-10-25 10:34:38 +00:00
|
|
|
dev/usb/uscanner.c optional uscanner
|
2000-03-23 19:08:49 +00:00
|
|
|
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
|
1999-07-03 19:19:34 +00:00
|
|
|
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
|
1999-08-08 08:29:58 +00:00
|
|
|
dev/vinum/vinumraid5.c optional vinum
|
1999-07-03 19:19:34 +00:00
|
|
|
dev/vinum/vinumrequest.c optional vinum
|
|
|
|
dev/vinum/vinumrevive.c optional vinum
|
|
|
|
dev/vinum/vinumstate.c optional vinum
|
|
|
|
dev/vinum/vinumutil.c optional vinum
|
2000-11-16 15:16:41 +00:00
|
|
|
dev/vx/if_vx.c optional vx
|
2000-01-14 07:14:17 +00:00
|
|
|
dev/vx/if_vx_eisa.c optional vx eisa
|
|
|
|
dev/vx/if_vx_pci.c optional vx pci
|
2001-02-04 16:45:39 +00:00
|
|
|
#dev/wlp/if_wlp.c optional wlp card
|
2000-11-16 15:16:41 +00:00
|
|
|
dev/wds/wd7000.c optional wds isa
|
2001-01-09 00:44:33 +00:00
|
|
|
dev/wi/if_wi.c optional wi card
|
2001-01-21 18:10:38 +00:00
|
|
|
dev/wi/if_wi.c optional wi pccard
|
2001-07-02 05:58:47 +00:00
|
|
|
dev/wl/if_wl.c optional wl isa
|
2001-01-09 00:44:33 +00:00
|
|
|
dev/xe/if_xe.c optional xe card
|
2001-05-23 09:42:29 +00:00
|
|
|
fs/deadfs/dead_vnops.c standard
|
2001-05-13 20:52:40 +00:00
|
|
|
fs/devfs/devfs_devs.c standard
|
2001-05-23 09:42:29 +00:00
|
|
|
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
|
2001-01-31 05:33:23 +00:00
|
|
|
fs/hpfs/hpfs_hash.c optional hpfs
|
|
|
|
fs/hpfs/hpfs_lookup.c optional hpfs
|
2001-05-23 09:42:29 +00:00
|
|
|
fs/hpfs/hpfs_subr.c optional hpfs
|
|
|
|
fs/hpfs/hpfs_vfsops.c optional hpfs
|
|
|
|
fs/hpfs/hpfs_vnops.c optional hpfs
|
2001-05-25 08:14:14 +00:00
|
|
|
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
|
2001-05-26 11:57:45 +00:00
|
|
|
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
|
2001-05-23 09:42:29 +00:00
|
|
|
fs/nullfs/null_subr.c optional nullfs
|
|
|
|
fs/nullfs/null_vfsops.c optional nullfs
|
|
|
|
fs/nullfs/null_vnops.c optional nullfs
|
2001-05-26 11:57:45 +00:00
|
|
|
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
|
2001-05-23 09:42:29 +00:00
|
|
|
fs/portalfs/portal_vfsops.c optional portalfs
|
|
|
|
fs/portalfs/portal_vnops.c optional portalfs
|
|
|
|
fs/procfs/procfs_ctl.c optional procfs
|
|
|
|
fs/procfs/procfs_dbregs.c standard
|
|
|
|
fs/procfs/procfs_fpregs.c standard
|
|
|
|
fs/procfs/procfs_map.c optional procfs
|
|
|
|
fs/procfs/procfs_mem.c standard
|
|
|
|
fs/procfs/procfs_note.c optional procfs
|
|
|
|
fs/procfs/procfs_regs.c standard
|
|
|
|
fs/procfs/procfs_rlimit.c optional procfs
|
|
|
|
fs/procfs/procfs_status.c optional procfs
|
|
|
|
fs/procfs/procfs_subr.c optional procfs
|
|
|
|
fs/procfs/procfs_type.c optional procfs
|
|
|
|
fs/procfs/procfs_vfsops.c optional procfs
|
|
|
|
fs/procfs/procfs_vnops.c optional procfs
|
2001-06-11 11:02:10 +00:00
|
|
|
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
|
2001-05-23 09:42:29 +00:00
|
|
|
fs/specfs/spec_vnops.c standard
|
|
|
|
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
|
2001-05-24 06:26:18 +00:00
|
|
|
gnu/ext2fs/ext2_alloc.c optional ext2fs \
|
|
|
|
warning "kernel contains GPL contaminated ext2fs file system"
|
1996-08-28 17:19:04 +00:00
|
|
|
gnu/ext2fs/ext2_balloc.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 count i4bctl
|
|
|
|
i4b/driver/i4b_ing.c count i4bing
|
|
|
|
i4b/driver/i4b_isppp.c count i4bisppp
|
|
|
|
i4b/driver/i4b_ispppsubr.c optional i4bisppp
|
|
|
|
net/slcompress.c optional i4bisppp
|
|
|
|
#
|
2001-05-25 08:43:30 +00:00
|
|
|
# isdn4bsd CAPI driver
|
|
|
|
#
|
|
|
|
i4b/capi/capi_l4if.c count 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 count iavc
|
|
|
|
i4b/capi/iavc/iavc_isa.c optional iavc
|
|
|
|
i4b/capi/iavc/iavc_lli.c optional iavc
|
|
|
|
i4b/capi/iavc/iavc_card.c optional iavc
|
|
|
|
#
|
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 count i4bq921
|
|
|
|
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 count i4bq931
|
|
|
|
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 count i4b
|
|
|
|
i4b/layer4/i4b_l4.c optional i4b
|
|
|
|
i4b/layer4/i4b_l4mgmt.c optional i4b
|
|
|
|
i4b/layer4/i4b_l4timer.c optional i4b
|
|
|
|
#
|
2000-04-05 10:33:55 +00:00
|
|
|
isa/isa_if.m optional isa
|
2001-01-29 09:38:39 +00:00
|
|
|
isa/isa_common.c optional isa
|
2000-03-23 19:08:49 +00:00
|
|
|
isa/isahint.c optional isa
|
|
|
|
isa/joy.c optional joy
|
2001-06-01 20:58:32 +00:00
|
|
|
isa/orm.c optional isa
|
2000-03-23 19:08:49 +00:00
|
|
|
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
|
1996-03-10 08:42:54 +00:00
|
|
|
kern/imgact_elf.c standard
|
1994-05-25 09:21:21 +00:00
|
|
|
kern/imgact_shell.c standard
|
1994-12-11 23:34:42 +00:00
|
|
|
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
|
1999-12-19 06:08:07 +00:00
|
|
|
kern/kern_acl.c standard
|
2000-06-07 04:53:49 +00:00
|
|
|
kern/kern_cap.c standard
|
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
|
1995-12-08 11:19:42 +00:00
|
|
|
kern/kern_conf.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/kern_descrip.c standard
|
1998-10-09 00:30:50 +00:00
|
|
|
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
|
2000-09-07 01:33:02 +00:00
|
|
|
kern/kern_idle.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
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
|
1999-07-01 13:21:46 +00:00
|
|
|
kern/kern_kthread.c standard
|
2000-09-07 01:33:02 +00:00
|
|
|
kern/kern_ktr.c optional ktr
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/kern_ktrace.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
kern/kern_linker.c standard
|
1997-02-10 02:22:35 +00:00
|
|
|
kern/kern_lock.c standard
|
1994-09-20 15:55:09 +00:00
|
|
|
kern/kern_lockf.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/kern_malloc.c standard
|
1996-04-07 13:03:06 +00:00
|
|
|
kern/kern_mib.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
kern/kern_module.c standard
|
2000-09-07 01:33:02 +00:00
|
|
|
kern/kern_mutex.c standard
|
1994-09-18 20:40:01 +00:00
|
|
|
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
|
1996-08-20 03:54:13 +00:00
|
|
|
kern/kern_shutdown.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/kern_sig.c standard
|
|
|
|
kern/kern_subr.c standard
|
1999-08-19 00:06:53 +00:00
|
|
|
kern/kern_switch.c standard
|
2001-03-05 19:59:41 +00:00
|
|
|
kern/kern_sx.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/kern_synch.c standard
|
1999-01-16 17:29:56 +00:00
|
|
|
kern/kern_syscalls.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/kern_sysctl.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
kern/kern_tc.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/kern_time.c standard
|
1998-01-10 13:16:26 +00:00
|
|
|
kern/kern_timeout.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/kern_xxx.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
kern/link_elf.c standard
|
1998-03-29 11:55:06 +00:00
|
|
|
kern/md5c.c standard
|
1997-09-21 21:32:04 +00:00
|
|
|
kern/subr_autoconf.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
kern/subr_blist.c standard
|
1999-07-03 20:17:08 +00:00
|
|
|
kern/subr_bus.c standard
|
1998-09-15 09:59:15 +00:00
|
|
|
kern/subr_devstat.c standard
|
1999-08-29 13:28:55 +00:00
|
|
|
kern/subr_disk.c standard
|
2000-07-10 13:48:06 +00:00
|
|
|
kern/subr_disklabel.c standard
|
1998-09-15 09:59:15 +00:00
|
|
|
kern/subr_diskslice.c standard
|
1999-08-21 06:24:40 +00:00
|
|
|
kern/subr_eventhandler.c standard
|
2000-04-08 14:17:18 +00:00
|
|
|
kern/subr_kobj.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/subr_log.c standard
|
2001-06-22 06:35:32 +00:00
|
|
|
kern/subr_mbuf.c standard
|
2001-02-24 15:44:30 +00:00
|
|
|
kern/subr_mchain.c optional libmchain
|
1998-10-09 00:30:50 +00:00
|
|
|
kern/subr_module.c standard
|
2001-05-10 17:45:49 +00:00
|
|
|
kern/subr_pcpu.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/subr_prf.c standard
|
|
|
|
kern/subr_prof.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
kern/subr_rman.c standard
|
2000-12-13 19:52:12 +00:00
|
|
|
kern/subr_sbuf.c standard
|
1999-01-15 00:03:39 +00:00
|
|
|
kern/subr_scanf.c standard
|
2001-04-27 19:28:25 +00:00
|
|
|
kern/subr_smp.c optional smp
|
2000-05-28 15:45:30 +00:00
|
|
|
kern/subr_taskqueue.c standard
|
2001-06-29 19:51:37 +00:00
|
|
|
kern/subr_trap.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/subr_xxx.c standard
|
|
|
|
kern/sys_generic.c standard
|
1996-08-28 17:19:04 +00:00
|
|
|
kern/sys_pipe.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/sys_process.c standard
|
|
|
|
kern/sys_socket.c standard
|
2000-12-12 01:14:32 +00:00
|
|
|
kern/syscalls.c optional witness
|
1996-01-08 04:39:20 +00:00
|
|
|
kern/sysv_ipc.c standard
|
1994-09-15 16:47:50 +00:00
|
|
|
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
|
1999-08-09 10:35:05 +00:00
|
|
|
kern/tty_cons.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/tty_pty.c optional pty
|
2001-01-29 09:43:36 +00:00
|
|
|
kern/tty_snoop.c optional snp
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/tty_subr.c standard
|
|
|
|
kern/tty_tty.c standard
|
2000-11-20 01:35:25 +00:00
|
|
|
kern/uipc_accf.c optional inet
|
1994-05-24 10:09:53 +00:00
|
|
|
kern/uipc_domain.c standard
|
|
|
|
kern/uipc_mbuf.c standard
|
2000-07-04 16:35:15 +00:00
|
|
|
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
|
2000-03-23 19:08:49 +00:00
|
|
|
kern/vfs_aio.c standard
|
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_conf.c standard
|
VFS mega cleanup commit (x/N)
1. Add new file "sys/kern/vfs_default.c" where default actions for
VOPs go. Implement proper defaults for ABORTOP, BWRITE, LEASE,
POLL, REVOKE and STRATEGY. Various stuff spread over the entire
tree belongs here.
2. Change VOP_BLKATOFF to a normal function in cd9660.
3. Kill VOP_BLKATOFF, VOP_TRUNCATE, VOP_VFREE, VOP_VALLOC. These
are private interface functions between UFS and the underlying
storage manager layer (FFS/LFS/MFS/EXT2FS). The functions now
live in struct ufsmount instead.
4. Remove a kludge of VOP_ functions in all filesystems, that did
nothing but obscure the simplicity and break the expandability.
If a filesystem doesn't implement VOP_FOO, it shouldn't have an
entry for it in its vnops table. The system will try to DTRT
if it is not implemented. There are still some cruft left, but
the bulk of it is done.
5. Fix another VCALL in vfs_cache.c (thanks Bruce!)
1997-10-16 10:50:27 +00:00
|
|
|
kern/vfs_default.c standard
|
2001-04-26 20:47:14 +00:00
|
|
|
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_subr.c standard
|
|
|
|
kern/vfs_syscalls.c standard
|
|
|
|
kern/vfs_vnops.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
#
|
|
|
|
# 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 <arch>/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
|
2001-04-09 09:39:29 +00:00
|
|
|
libkern/iconv.c optional libiconv
|
|
|
|
libkern/iconv_converter_if.m optional libiconv
|
|
|
|
libkern/iconv_xlat.c optional libiconv
|
2000-03-23 19:08:49 +00:00
|
|
|
libkern/index.c standard
|
|
|
|
libkern/inet_ntoa.c standard
|
|
|
|
libkern/mcount.c optional profiling-routine
|
|
|
|
libkern/qsort.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/strlen.c standard
|
|
|
|
libkern/strncmp.c standard
|
|
|
|
libkern/strncpy.c standard
|
|
|
|
libkern/strtol.c standard
|
|
|
|
libkern/strtoq.c standard
|
|
|
|
libkern/strtoul.c standard
|
|
|
|
libkern/strtouq.c standard
|
1999-04-28 01:18:13 +00:00
|
|
|
net/bpf.c standard
|
2001-01-29 13:26:14 +00:00
|
|
|
net/bpf_filter.c optional bpf
|
|
|
|
bpf.h standard \
|
|
|
|
compile-with "echo '#define NBPF 1' > bpf.h" \
|
|
|
|
no-obj no-implicit-rule before-depend
|
1998-12-14 17:46:15 +00:00
|
|
|
net/bridge.c optional bridge
|
1997-08-19 17:05:26 +00:00
|
|
|
net/bsd_comp.c optional ppp_bsdcomp
|
1998-03-18 01:40:12 +00:00
|
|
|
#net/hostcache.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
net/if.c standard
|
1997-05-09 12:19:06 +00:00
|
|
|
net/if_atmsubr.c optional atm
|
1994-12-22 21:00:05 +00:00
|
|
|
net/if_disc.c optional disc
|
2000-01-23 03:35:11 +00:00
|
|
|
net/if_ef.c optional ef
|
1994-05-24 10:09:53 +00:00
|
|
|
net/if_ethersubr.c optional ether
|
2000-06-10 22:13:40 +00:00
|
|
|
net/if_faith.c count faith
|
1995-03-14 09:16:07 +00:00
|
|
|
net/if_fddisubr.c optional fddi
|
2001-07-02 21:02:09 +00:00
|
|
|
net/if_gif.c optional gif
|
2000-03-23 19:08:49 +00:00
|
|
|
net/if_iso88025subr.c optional token
|
2001-01-29 11:21:00 +00:00
|
|
|
net/if_loop.c optional loop
|
1997-05-03 21:06:00 +00:00
|
|
|
net/if_media.c standard
|
1996-07-30 19:17:07 +00:00
|
|
|
net/if_mib.c standard
|
2000-06-10 22:13:40 +00:00
|
|
|
net/if_ppp.c count ppp
|
1994-05-24 10:09:53 +00:00
|
|
|
net/if_sl.c optional sl
|
2001-01-29 12:27:46 +00:00
|
|
|
net/if_spppsubr.c optional sppp
|
2001-07-02 21:02:09 +00:00
|
|
|
net/if_stf.c optional stf
|
1996-08-28 17:19:04 +00:00
|
|
|
net/if_tun.c optional tun
|
2000-07-20 17:01:10 +00:00
|
|
|
net/if_tap.c optional tap
|
2000-06-10 22:13:40 +00:00
|
|
|
net/if_vlan.c count vlan
|
2000-03-23 19:08:49 +00:00
|
|
|
net/intrq.c standard
|
1999-12-07 17:39:16 +00:00
|
|
|
net/net_osdep.c standard
|
1997-08-19 17:05:26 +00:00
|
|
|
net/ppp_deflate.c optional ppp_deflate
|
1995-10-31 20:33:23 +00:00
|
|
|
net/ppp_tty.c optional ppp
|
2000-08-03 02:03:30 +00:00
|
|
|
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
|
1995-10-31 20:33:23 +00:00
|
|
|
net/slcompress.c optional ppp
|
1994-05-24 10:09:53 +00:00
|
|
|
net/slcompress.c optional sl
|
1997-08-19 17:05:26 +00:00
|
|
|
net/zlib.c optional ppp_deflate
|
2000-07-04 16:35:15 +00:00
|
|
|
net/zlib.c optional ipsec
|
1996-05-24 01:35:45 +00:00
|
|
|
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_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
|
1998-10-25 07:23:32 +00:00
|
|
|
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 > spans_xdr.h" \
|
|
|
|
clean "spans_xdr.h" \
|
1999-07-03 19:19:34 +00:00
|
|
|
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 > spans_xdr.c" \
|
|
|
|
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
|
2000-03-23 19:08:49 +00:00
|
|
|
netgraph/ng_UI.c optional netgraph_UI
|
1999-10-21 09:06:11 +00:00
|
|
|
netgraph/ng_async.c optional netgraph_async
|
2000-03-23 19:08:49 +00:00
|
|
|
netgraph/ng_base.c optional netgraph
|
1999-12-03 21:21:49 +00:00
|
|
|
netgraph/ng_bpf.c optional netgraph_bpf
|
2000-04-09 21:15:23 +00:00
|
|
|
net/bpf_filter.c optional netgraph_bpf
|
2000-09-01 01:37:13 +00:00
|
|
|
netgraph/ng_bridge.c optional netgraph_bridge
|
1999-10-21 09:06:11 +00:00
|
|
|
netgraph/ng_cisco.c optional netgraph_cisco
|
|
|
|
netgraph/ng_echo.c optional netgraph_echo
|
2000-06-26 23:34:54 +00:00
|
|
|
netgraph/ng_ether.c optional netgraph_ether
|
1999-10-21 09:06:11 +00:00
|
|
|
netgraph/ng_frame_relay.c optional netgraph_frame_relay
|
|
|
|
netgraph/ng_hole.c optional netgraph_hole
|
|
|
|
netgraph/ng_iface.c optional netgraph_iface
|
1999-11-16 23:30:05 +00:00
|
|
|
netgraph/ng_ksocket.c optional netgraph_ksocket
|
1999-10-21 09:06:11 +00:00
|
|
|
netgraph/ng_lmi.c optional netgraph_lmi
|
2000-04-09 21:15:23 +00:00
|
|
|
netgraph/ng_mppc.c optional netgraph_mppc_compression
|
|
|
|
# The next two files (plus the header file net/mppc.h) are proprietary and
|
|
|
|
# must be obtained elsewhere in order to enable NETGRAPH_MPPC_COMPRESSION
|
|
|
|
net/mppcc.c optional netgraph_mppc_compression
|
|
|
|
net/mppcd.c optional netgraph_mppc_compression
|
|
|
|
netgraph/ng_mppc.c optional netgraph_mppc_encryption
|
2000-08-14 13:45:42 +00:00
|
|
|
crypto/rc4/rc4.c optional awi
|
2000-04-09 21:15:23 +00:00
|
|
|
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
|
2000-03-23 19:08:49 +00:00
|
|
|
netgraph/ng_parse.c optional netgraph
|
1999-11-02 22:36:09 +00:00
|
|
|
netgraph/ng_ppp.c optional netgraph_ppp
|
|
|
|
netgraph/ng_pppoe.c optional netgraph_pppoe
|
1999-12-08 18:55:39 +00:00
|
|
|
netgraph/ng_pptpgre.c optional netgraph_pptpgre
|
1999-10-21 09:06:11 +00:00
|
|
|
netgraph/ng_rfc1490.c optional netgraph_rfc1490
|
|
|
|
netgraph/ng_socket.c optional netgraph_socket
|
|
|
|
netgraph/ng_tee.c optional netgraph_tee
|
|
|
|
netgraph/ng_tty.c optional netgraph_tty
|
1999-10-23 04:28:11 +00:00
|
|
|
netgraph/ng_vjc.c optional netgraph_vjc
|
|
|
|
net/slcompress.c optional netgraph_vjc
|
2000-06-20 01:09:23 +00:00
|
|
|
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
|
2000-03-23 19:08:49 +00:00
|
|
|
netinet/in_gif.c optional gif inet
|
1998-03-18 01:40:12 +00:00
|
|
|
#netinet/in_hostcache.c optional inet
|
2001-06-01 10:02:28 +00:00
|
|
|
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
|
1994-12-11 21:36:10 +00:00
|
|
|
netinet/in_rmx.c optional inet
|
1996-08-28 17:19:04 +00:00
|
|
|
netinet/ip_divert.c optional ipdivert
|
1999-07-03 20:17:08 +00:00
|
|
|
netinet/ip_dummynet.c optional dummynet
|
2000-03-23 19:08:49 +00:00
|
|
|
netinet/ip_ecn.c optional inet
|
|
|
|
netinet/ip_ecn.c optional inet6
|
2000-07-04 16:35:15 +00:00
|
|
|
netinet/ip_encap.c optional inet
|
|
|
|
netinet/ip_encap.c optional inet6
|
1998-05-19 14:04:36 +00:00
|
|
|
netinet/ip_flow.c optional inet
|
1996-08-28 17:19:04 +00:00
|
|
|
netinet/ip_fw.c optional ipfirewall
|
1994-05-24 10:09:53 +00:00
|
|
|
netinet/ip_icmp.c optional inet
|
|
|
|
netinet/ip_input.c optional inet
|
1994-09-14 03:10:15 +00:00
|
|
|
netinet/ip_mroute.c optional inet
|
1994-05-24 10:09:53 +00:00
|
|
|
netinet/ip_output.c optional inet
|
|
|
|
netinet/raw_ip.c optional inet
|
1994-09-15 10:36:56 +00:00
|
|
|
netinet/tcp_debug.c optional tcpdebug
|
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_timer.c optional inet
|
|
|
|
netinet/tcp_usrreq.c optional inet
|
|
|
|
netinet/udp_usrreq.c optional inet
|
1999-12-22 19:13:38 +00:00
|
|
|
netinet6/ah_core.c optional ipsec
|
|
|
|
netinet6/ah_input.c optional ipsec
|
|
|
|
netinet6/ah_output.c optional ipsec
|
2000-03-23 19:08:49 +00:00
|
|
|
netinet6/dest6.c optional inet6
|
1999-12-27 18:53:24 +00:00
|
|
|
netinet6/esp_core.c optional ipsec ipsec_esp
|
|
|
|
netinet6/esp_input.c optional ipsec ipsec_esp
|
|
|
|
netinet6/esp_output.c optional ipsec ipsec_esp
|
2001-06-11 12:39:29 +00:00
|
|
|
netinet6/esp_rijndael.c optional ipsec ipsec_esp
|
1999-11-22 02:45:11 +00:00
|
|
|
netinet6/frag6.c optional inet6
|
|
|
|
netinet6/icmp6.c optional inet6
|
1999-12-07 17:39:16 +00:00
|
|
|
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
|
2000-07-04 16:35:15 +00:00
|
|
|
netinet6/in6_src.c optional inet6
|
2000-03-23 19:08:49 +00:00
|
|
|
netinet6/ip6_forward.c optional inet6
|
|
|
|
netinet6/ip6_fw.c optional inet6 ipv6firewall
|
|
|
|
netinet6/ip6_input.c optional inet6
|
|
|
|
netinet6/ip6_mroute.c optional inet6
|
|
|
|
netinet6/ip6_output.c optional inet6
|
2000-07-04 16:35:15 +00:00
|
|
|
netinet6/ipcomp_core.c optional ipsec
|
|
|
|
netinet6/ipcomp_input.c optional ipsec
|
|
|
|
netinet6/ipcomp_output.c optional ipsec
|
2000-03-23 19:08:49 +00:00
|
|
|
netinet6/ipsec.c optional ipsec
|
1999-11-22 02:45:11 +00:00
|
|
|
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
|
1999-12-07 17:39:16 +00:00
|
|
|
netinet6/route6.c optional inet6
|
2000-07-04 16:35:15 +00:00
|
|
|
netinet6/scope6.c optional inet6
|
|
|
|
netinet6/udp6_output.c optional inet6
|
1999-12-07 17:39:16 +00:00
|
|
|
netinet6/udp6_usrreq.c optional inet6
|
1995-10-26 20:31:59 +00:00
|
|
|
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_tun.c optional ipx
|
1996-08-28 17:19:04 +00:00
|
|
|
netipx/ipx_usrreq.c optional ipx
|
1995-10-26 20:31:59 +00:00
|
|
|
netipx/spx_debug.c optional ipx
|
|
|
|
netipx/spx_usrreq.c optional ipx
|
1999-12-22 19:13:38 +00:00
|
|
|
netkey/key.c optional ipsec
|
|
|
|
netkey/key_debug.c optional ipsec
|
2001-06-11 12:39:29 +00:00
|
|
|
netkey/keydb.c optional ipsec
|
1999-12-22 19:13:38 +00:00
|
|
|
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
|
1999-10-02 05:30:40 +00:00
|
|
|
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
|
1998-09-20 06:17:49 +00:00
|
|
|
netns/idp_usrreq.c optional ns
|
|
|
|
netns/ns.c optional ns
|
|
|
|
netns/ns_error.c optional ns
|
|
|
|
netns/ns_input.c optional ns
|
|
|
|
netns/ns_ip.c optional ns
|
|
|
|
netns/ns_output.c optional ns
|
|
|
|
netns/ns_pcb.c optional ns
|
|
|
|
netns/ns_proto.c optional ns
|
|
|
|
netns/spp_debug.c optional ns
|
|
|
|
netns/spp_usrreq.c optional ns
|
2000-03-23 19:08:49 +00:00
|
|
|
nfs/bootp_subr.c optional bootp
|
|
|
|
nfs/krpc_subr.c optional bootp
|
1994-05-24 10:09:53 +00:00
|
|
|
nfs/nfs_bio.c optional nfs
|
|
|
|
nfs/nfs_node.c optional nfs
|
2001-04-17 20:45:23 +00:00
|
|
|
nfs/nfs_lock.c optional nfs
|
1994-05-24 10:09:53 +00:00
|
|
|
nfs/nfs_nqlease.c optional nfs
|
|
|
|
nfs/nfs_serv.c optional nfs
|
|
|
|
nfs/nfs_socket.c optional nfs
|
|
|
|
nfs/nfs_srvcache.c optional nfs
|
|
|
|
nfs/nfs_subs.c optional nfs
|
|
|
|
nfs/nfs_syscalls.c optional nfs
|
|
|
|
nfs/nfs_vfsops.c optional nfs
|
|
|
|
nfs/nfs_vnops.c optional nfs
|
2000-06-10 22:13:40 +00:00
|
|
|
pccard/pccard.c count card
|
1997-10-26 06:06:54 +00:00
|
|
|
pccard/pccard_beep.c optional card
|
1999-09-06 11:36:25 +00:00
|
|
|
pccard/pccard_nbk.c optional card
|
1999-10-27 05:20:14 +00:00
|
|
|
pccard/pcic.c optional pcic card
|
2001-05-16 07:32:04 +00:00
|
|
|
pccard/pcic_isa.c optional pcic card isa
|
2001-05-13 01:52:55 +00:00
|
|
|
pccard/pcic_pci.c optional pcic card pci
|
2001-06-01 05:20:38 +00:00
|
|
|
pccard/plxcard.c optional plxcard pci
|
2000-06-09 16:05:39 +00:00
|
|
|
pci/agp.c optional agp
|
|
|
|
pci/agp_if.m optional agp
|
|
|
|
pci/agp_intel.c optional agp
|
|
|
|
pci/agp_via.c optional agp
|
|
|
|
pci/agp_sis.c optional agp
|
|
|
|
pci/agp_ali.c optional agp
|
|
|
|
pci/agp_amd.c optional agp
|
2000-07-12 10:13:07 +00:00
|
|
|
pci/agp_i810.c optional agp
|
2001-01-03 07:39:07 +00:00
|
|
|
pci/alpm.c optional alpm
|
1999-07-03 19:19:34 +00:00
|
|
|
pci/amd.c optional amd
|
1999-07-03 20:17:08 +00:00
|
|
|
pci/cy_pci.c optional cy pci
|
1999-12-04 17:41:31 +00:00
|
|
|
pci/if_dc.c optional dc
|
1999-07-03 19:19:34 +00:00
|
|
|
pci/if_de.c optional de
|
1999-07-03 20:17:08 +00:00
|
|
|
pci/if_en_pci.c optional en pci
|
2001-03-12 21:41:29 +00:00
|
|
|
#pci/if_fxp.c optional fxp
|
1999-11-02 14:23:14 +00:00
|
|
|
pci/if_mn.c optional mn
|
2000-09-20 17:30:22 +00:00
|
|
|
pci/if_pcn.c optional pcn
|
1999-07-03 19:19:34 +00:00
|
|
|
pci/if_rl.c optional rl
|
1999-07-25 04:32:50 +00:00
|
|
|
pci/if_sf.c optional sf
|
1999-09-06 05:27:55 +00:00
|
|
|
pci/if_sis.c optional sis
|
1999-07-09 04:30:09 +00:00
|
|
|
pci/if_sk.c optional sk
|
2000-03-23 19:08:49 +00:00
|
|
|
pci/if_ste.c optional ste
|
1999-07-03 19:19:34 +00:00
|
|
|
pci/if_ti.c optional ti
|
|
|
|
pci/if_tl.c optional tl
|
|
|
|
pci/if_tx.c optional tx
|
|
|
|
pci/if_vr.c optional vr
|
|
|
|
pci/if_wb.c optional wb
|
2000-01-04 11:01:36 +00:00
|
|
|
pci/if_wx.c optional wx
|
1999-07-03 19:19:34 +00:00
|
|
|
pci/if_xl.c optional xl
|
|
|
|
pci/intpm.c optional intpm
|
2000-06-10 22:13:40 +00:00
|
|
|
pci/meteor.c count meteor pci
|
1999-07-03 19:19:34 +00:00
|
|
|
pci/ncr.c optional ncr
|
2000-03-23 19:08:49 +00:00
|
|
|
pci/ohci_pci.c optional ohci
|
2000-10-18 03:25:13 +00:00
|
|
|
dev/pccbb/pccbb.c optional pccbb
|
1999-07-03 19:19:34 +00:00
|
|
|
pci/simos.c optional simos
|
2000-03-23 19:08:49 +00:00
|
|
|
pci/uhci_pci.c optional uhci
|
1999-07-03 19:19:34 +00:00
|
|
|
pci/xrpu.c optional xrpu
|
1998-03-28 11:51:01 +00:00
|
|
|
posix4/ksched.c optional _kposix_priority_scheduling
|
2000-03-23 19:08:49 +00:00
|
|
|
posix4/p1003_1b.c standard
|
|
|
|
posix4/posix4_mib.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ffs/ffs_alloc.c optional ffs
|
Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:
How it works:
--
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.
File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the
root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
|
|
|
ufs/ffs/ffs_alloc.c optional ifs
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ffs/ffs_balloc.c optional ffs
|
Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:
How it works:
--
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.
File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the
root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
|
|
|
ufs/ffs/ffs_balloc.c optional ifs
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ffs/ffs_inode.c optional ffs
|
Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:
How it works:
--
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.
File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the
root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
|
|
|
ufs/ffs/ffs_inode.c optional ifs
|
2000-07-11 22:07:57 +00:00
|
|
|
ufs/ffs/ffs_snapshot.c optional ffs
|
Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:
How it works:
--
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.
File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the
root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
|
|
|
ufs/ffs/ffs_snapshot.c optional ifs
|
1998-03-08 09:59:44 +00:00
|
|
|
ufs/ffs/ffs_softdep.c optional softupdates
|
2000-03-23 19:08:49 +00:00
|
|
|
ufs/ffs/ffs_softdep_stub.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ffs/ffs_subr.c optional ffs
|
Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:
How it works:
--
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.
File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the
root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
|
|
|
ufs/ffs/ffs_subr.c optional ifs
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ffs/ffs_tables.c optional ffs
|
Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:
How it works:
--
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.
File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the
root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
|
|
|
ufs/ffs/ffs_tables.c optional ifs
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ffs/ffs_vfsops.c optional ffs
|
Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:
How it works:
--
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.
File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the
root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
|
|
|
ufs/ffs/ffs_vfsops.c optional ifs
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ffs/ffs_vnops.c optional ffs
|
Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:
How it works:
--
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.
File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the
root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
|
|
|
ufs/ffs/ffs_vnops.c optional ifs
|
Introduce support for POSIX.1e ACLs on UFS-based file systems. This
implementation is still experimental, and while fairly broadly tested,
is not yet intended for production use. Support for POSIX.1e ACLs on
UFS will not be MFC'd to RELENG_4.
This implementation works by providing implementations of VOP_[GS]ETACL()
for FFS, as well as modifying the appropriate access control and file
creation routines. In this implementation, ACLs are backed into extended
attributes; the base ACL (owner, group, other) permissions remain in the
inode for performance and compatibility reasons, so only the extended and
default ACLs are placed in extended attributes. The logic for ACL
evaluation is provided by the fs-independent kern/kern_acl.c.
o Introduce UFS_ACL, a compile-time configuration option that enables
support for ACLs on FFS (and potentially other UFS-based file systems).
o Introduce ufs_getacl(), ufs_setacl(), ufs_aclcheck(), which
respectively get, set, and check the ACLs on the passed vnode.
o Introduce ufs_sync_acl_from_inode(), ufs_sync_inode_from_acl() to
maintain access control information between inode permissions and
extended attribute data.
o Modify ufs_access() to load a file access ACL and invoke
vaccess_acl_posix1e() if ACLs are available on the file system
o Modify ufs_mkdir() and ufs_makeinode() to associate ACLs with newly
created directories and files, inheriting from the parent directory's
default ACL.
o Enable these new vnode operations and conditionally compiled code
paths if UFS_ACL is defined.
A few notes:
o This implementation is fairly widely tested, but still should be
considered experimental.
o Currently, ACLs are not exported via NFS, instead, the summarizing
file mode/etc from the inode is. This results in conservative
protection behavior, similar to the behavior of ACL-nonaware programs
acting locally.
o It is possible that underlying binary data formats associated with
this implementation may change. Consumers of the implementation
should expect to find their local configuration obsoleted in the
next few months, resulting in possible loss of ACL data during an
upgrade.
o The extended attributes interface and implementation is still
undergoing modification to address portable interface concerns, as
well as performance.
o Many applications do not yet correctly handle ACLs. In general,
due to the POSIX.1e ACL model, behavior of ACL-unaware applications
will be conservative with respects to file protection; some caution
is recommended.
o Instructions for configuring and maintaining ACLs on UFS will be
committed in the near future; in the mean time it is possible to
reference the README included in the last UFS ACL distribution
placed in the TrustedBSD web site:
http://www.TrustedBSD.org/downloads/
Substantial debugging, hardware, travel, or connectivity support for this
project was provided by: BSDi, Safeport Network Services, and NAI Labs.
Significant coding contributions were made by Chris Faulhaber. Additional
support was provided by Brian Feldman, Thomas Moestl, and Ilmar Habibulin.
Reviewed by: jedgar, keichii, mckusick, trustedbsd-discuss, freebsd-fs
Obtained from: TrustedBSD Project
2001-03-26 17:53:19 +00:00
|
|
|
ufs/ufs/ufs_acl.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ufs/ufs_bmap.c standard
|
Introduce extended attribute support for FFS, allowing arbitrary
(name, value) pairs to be associated with inodes. This support is
used for ACLs, MAC labels, and Capabilities in the TrustedBSD
security extensions, which are currently under development.
In this implementation, attributes are backed to data vnodes in the
style of the quota support in FFS. Support for FFS extended
attributes may be enabled using the FFS_EXTATTR kernel option
(disabled by default). Userland utilities and man pages will be
committed in the next batch. VFS interfaces and man pages have
been in the repo since 4.0-RELEASE and are unchanged.
o ufs/ufs/extattr.h: UFS-specific extattr defines
o ufs/ufs/ufs_extattr.c: bulk of support routines
o ufs/{ufs,ffs,mfs}/*.[ch]: hooks and extattr.h includes
o contrib/softupdates/ffs_softdep.c: extattr.h includes
o conf/options, conf/files, i386/conf/LINT: added FFS_EXTATTR
o coda/coda_vfsops.c: XXX required extattr.h due to ufsmount.h
(This should not be the case, and will be fixed in a future commit)
Currently attributes are not supported in MFS. This will be fixed.
Reviewed by: adrian, bp, freebsd-fs, other unthanked souls
Obtained from: TrustedBSD Project
2000-04-15 03:34:27 +00:00
|
|
|
ufs/ufs/ufs_extattr.c standard
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ufs/ufs_ihash.c standard
|
|
|
|
ufs/ufs/ufs_inode.c standard
|
|
|
|
ufs/ufs/ufs_lookup.c standard
|
Initial commit of IFS - a inode-namespaced FFS. Here is a short
description:
How it works:
--
Basically ifs is a copy of ffs, overriding some vfs/vnops. (Yes, hack.)
I didn't see the need in duplicating all of sys/ufs/ffs to get this
off the ground.
File creation is done through a special file - 'newfile' . When newfile
is called, the system allocates and returns an inode. Note that newfile
is done in a cloning fashion:
fd = open("newfile", O_CREAT|O_RDWR, 0644);
fstat(fd, &st);
printf("new file is %d\n", (int)st.st_ino);
Once you have created a file, you can open() and unlink() it by its returned
inode number retrieved from the stat call, ie:
fd = open("5", O_RDWR);
The creation permissions depend entirely if you have write access to the
root directory of the filesystem.
To get the list of currently allocated inodes, VOP_READDIR has been added
which returns a directory listing of those currently allocated.
--
What this entails:
* patching conf/files and conf/options to include IFS as a new compile
option (and since ifs depends upon FFS, include the FFS routines)
* An entry in i386/conf/NOTES indicating IFS exists and where to go for
an explanation
* Unstaticize a couple of routines in src/sys/ufs/ffs/ which the IFS
routines require (ffs_mount() and ffs_reload())
* a new bunch of routines in src/sys/ufs/ifs/ which implement the IFS
routines. IFS replaces some of the vfsops, and a handful of vnops -
most notably are VFS_VGET(), VOP_LOOKUP(), VOP_UNLINK() and VOP_READDIR().
Any other directory operation is marked as invalid.
What this results in:
* an IFS partition's create permissions are controlled by the perm/ownership of
the root mount point, just like a normal directory
* Each inode has perm and ownership too
* IFS does *NOT* mean an FFS partition can be opened per inode. This is a
completely seperate filesystem here
* Softupdates doesn't work with IFS, and really I don't think it needs it.
Besides, fsck's are FAST. (Try it :-)
* Inodes 0 and 1 aren't allocatable because they are special (dump/swap IIRC).
Inode 2 isn't allocatable since UFS/FFS locks all inodes in the system against
this particular inode, and unravelling THAT code isn't trivial. Therefore,
useful inodes start at 3.
Enjoy, and feedback is definitely appreciated!
2000-10-14 03:02:30 +00:00
|
|
|
ufs/ifs/ifs_lookup.c optional ifs
|
|
|
|
ufs/ifs/ifs_vfsops.c optional ifs
|
|
|
|
ufs/ifs/ifs_vnops.c optional ifs
|
|
|
|
ufs/ifs/ifs_subr.c optional ifs
|
1994-05-24 10:09:53 +00:00
|
|
|
ufs/ufs/ufs_quota.c standard
|
|
|
|
ufs/ufs/ufs_vfsops.c standard
|
|
|
|
ufs/ufs/ufs_vnops.c standard
|
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
|
1994-05-25 09:21:21 +00:00
|
|
|
vm/device_pager.c standard
|
2000-05-21 13:41:29 +00:00
|
|
|
vm/phys_pager.c standard
|
1994-05-25 09:21:21 +00:00
|
|
|
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
|
2001-07-04 23:27:09 +00:00
|
|
|
vm/vm_pageq.c standard
|
|
|
|
vm/vm_contig.c standard
|
2001-07-05 01:32:42 +00:00
|
|
|
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_swap.c standard
|
|
|
|
vm/vm_unix.c standard
|
1998-01-27 01:54:25 +00:00
|
|
|
vm/vm_zone.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
vm/vnode_pager.c standard
|