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.
|
|
|
|
#
|
2004-06-30 04:54:39 +00:00
|
|
|
acpi_quirks.h optional acpi \
|
2004-06-24 06:29:22 +00:00
|
|
|
dependency "$S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \
|
|
|
|
compile-with "${AWK} -f $S/tools/acpi_quirks2h.awk $S/dev/acpica/acpi_quirks" \
|
2004-06-30 05:21:43 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
2004-06-24 06:29:22 +00:00
|
|
|
clean "acpi_quirks.h"
|
2005-11-27 21:41:58 +00:00
|
|
|
aicasm optional ahc | ahd \
|
2005-11-25 22:36:40 +00:00
|
|
|
dependency "$S/dev/aic7xxx/aicasm/*.[chyl]" \
|
2006-03-13 06:38:22 +00:00
|
|
|
compile-with "CC='${CC}' ${MAKE} -f $S/dev/aic7xxx/aicasm/Makefile MAKESRCPATH=$S/dev/aic7xxx/aicasm" \
|
1998-09-15 09:59:15 +00:00
|
|
|
no-obj no-implicit-rule \
|
2002-08-31 06:55:59 +00:00
|
|
|
clean "aicasm* y.tab.h"
|
2005-04-22 20:00:41 +00:00
|
|
|
aic7xxx_seq.h optional ahc \
|
|
|
|
compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
|
|
|
|
no-obj no-implicit-rule before-depend local \
|
|
|
|
clean "aic7xxx_seq.h" \
|
|
|
|
dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
|
|
|
|
aic7xxx_reg.h optional ahc \
|
|
|
|
compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
|
|
|
|
no-obj no-implicit-rule before-depend local \
|
|
|
|
clean "aic7xxx_reg.h" \
|
|
|
|
dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
|
|
|
|
aic7xxx_reg_print.c optional ahc \
|
|
|
|
compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic7xxx_seq.h -r aic7xxx_reg.h -p aic7xxx_reg_print.c -i $S/dev/aic7xxx/aic7xxx_osm.h $S/dev/aic7xxx/aic7xxx.seq" \
|
|
|
|
no-obj no-implicit-rule local \
|
|
|
|
clean "aic7xxx_reg_print.c" \
|
1998-09-15 09:59:15 +00:00
|
|
|
dependency "$S/dev/aic7xxx/aic7xxx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
|
2002-08-31 06:55:59 +00:00
|
|
|
aic7xxx_reg_print.o optional ahc ahc_reg_pretty_print \
|
|
|
|
compile-with "${NORMAL_C}" \
|
|
|
|
no-implicit-rule local
|
2005-04-22 20:00:41 +00:00
|
|
|
aic79xx_seq.h optional ahd pci \
|
2002-08-31 06:55:59 +00:00
|
|
|
compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
|
2005-04-22 20:00:41 +00:00
|
|
|
no-obj no-implicit-rule before-depend local \
|
|
|
|
clean "aic79xx_seq.h" \
|
|
|
|
dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
|
|
|
|
aic79xx_reg.h optional ahd pci \
|
|
|
|
compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
|
|
|
|
no-obj no-implicit-rule before-depend local \
|
|
|
|
clean "aic79xx_reg.h" \
|
|
|
|
dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
|
|
|
|
aic79xx_reg_print.c optional ahd pci \
|
|
|
|
compile-with "./aicasm ${INCLUDES} -I$S/cam/scsi -I$S/dev/aic7xxx -o aic79xx_seq.h -r aic79xx_reg.h -p aic79xx_reg_print.c -i $S/dev/aic7xxx/aic79xx_osm.h $S/dev/aic7xxx/aic79xx.seq" \
|
|
|
|
no-obj no-implicit-rule local \
|
|
|
|
clean "aic79xx_reg_print.c" \
|
|
|
|
dependency "$S/dev/aic7xxx/aic79xx.{reg,seq} $S/cam/scsi/scsi_message.h aicasm"
|
2002-08-31 06:55:59 +00:00
|
|
|
aic79xx_reg_print.o optional ahd pci ahd_reg_pretty_print \
|
|
|
|
compile-with "${NORMAL_C}" \
|
|
|
|
no-implicit-rule local
|
2010-06-13 13:02:43 +00:00
|
|
|
#
|
|
|
|
# The 'fdt_dtb_file' target covers an actual DTB file name, which is derived
|
|
|
|
# from the specified source (DTS) file: <platform>.dts -> <platform>.dtb
|
|
|
|
#
|
|
|
|
fdt_dtb_file optional fdt \
|
|
|
|
compile-with "if [ -f $S/boot/fdt/dts/${FDT_DTS_FILE} ]; then dtc -O dtb -o `echo ${FDT_DTS_FILE} | cut -d. -f1`.dtb -b 0 -p 1024 $S/boot/fdt/dts/${FDT_DTS_FILE}; fi" \
|
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "`echo ${FDT_DTS_FILE} | cut -d. -f1`.dtb"
|
|
|
|
fdt_static_dtb.h optional fdt fdt_dtb_static \
|
|
|
|
compile-with "sh $S/tools/fdt/make_dtbh.sh ${FDT_DTS_FILE} ." \
|
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "fdt_static_dtb.h"
|
Sound Mega-commit. Expect further cleanup until code freeze.
For a slightly thorough explaination, please refer to
[1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html .
Summary of changes includes:
1 Volume Per-Channel (vpc). Provides private / standalone volume control
unique per-stream pcm channel without touching master volume / pcm.
Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for
backwards compatibility, SOUND_MIXER_PCM through the opened dsp device
instead of /dev/mixer. Special "bypass" mode is enabled through
/dev/mixer which will automatically detect if the adjustment is made
through /dev/mixer and forward its request to this private volume
controller. Changes to this volume object will not interfere with
other channels.
Requirements:
- SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which
require specific application modifications (preferred).
- No modifications required for using bypass mode, so applications
like mplayer or xmms should work out of the box.
Kernel hints:
- hint.pcm.%d.vpc (0 = disable vpc).
Kernel sysctls:
- hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer
bypass mode.
- hw.snd.vpc_autoreset (default: 1). By default, closing/opening
/dev/dsp will reset the volume back to 0 db gain/attenuation.
Setting this to 0 will preserve its settings across device
closing/opening.
- hw.snd.vpc_reset (default: 0). Panic/reset button to reset all
volume settings back to 0 db.
- hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value.
2 High quality fixed-point Bandlimited SINC sampling rate converter,
based on Julius O'Smith's Digital Audio Resampling -
http://ccrma.stanford.edu/~jos/resample/. It includes a filter design
script written in awk (the clumsiest joke I've ever written)
- 100% 32bit fixed-point, 64bit accumulator.
- Possibly among the fastest (if not fastest) of its kind.
- Resampling quality is tunable, either runtime or during kernel
compilation (FEEDER_RATE_PRESETS).
- Quality can be further customized during kernel compilation by
defining FEEDER_RATE_PRESETS in /etc/make.conf.
Kernel sysctls:
- hw.snd.feeder_rate_quality.
0 - Zero-order Hold (ZOH). Fastest, bad quality.
1 - Linear Interpolation (LINEAR). Slightly slower than ZOH,
better quality but still does not eliminate aliasing.
2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC
quality always start from 2 and above.
Rough quality comparisons:
- http://people.freebsd.org/~ariff/z_comparison/
3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be
directly fed into the hardware.
4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can
be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf.
5 Transparent/Adaptive Virtual Channel. Now you don't have to disable
vchans in order to make digital format pass through. It also makes
vchans more dynamic by choosing a better format/rate among all the
concurrent streams, which means that dev.pcm.X.play.vchanformat/rate
becomes sort of optional.
6 Exclusive Stream, with special open() mode O_EXCL. This will "mute"
other concurrent vchan streams and only allow a single channel with
O_EXCL set to keep producing sound.
Other Changes:
* most feeder_* stuffs are compilable in userland. Let's not
speculate whether we should go all out for it (save that for
FreeBSD 16.0-RELEASE).
* kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org>
* pull out channel mixing logic out of vchan.c and create its own
feeder_mixer for world justice.
* various refactoring here and there, for good or bad.
* activation of few more OSSv4 ioctls() (see [1] above).
* opt_snd.h for possible compile time configuration:
(mostly for debugging purposes, don't try these at home)
SND_DEBUG
SND_DIAGNOSTIC
SND_FEEDER_MULTIFORMAT
SND_FEEDER_FULL_MULTIFORMAT
SND_FEEDER_RATE_HP
SND_PCM_64
SND_OLDSTEREO
Manual page updates are on the way.
Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many
unsung / unnamed heroes.
2009-06-07 19:12:08 +00:00
|
|
|
feeder_eq_gen.h optional sound \
|
2009-06-10 06:49:45 +00:00
|
|
|
dependency "$S/tools/sound/feeder_eq_mkfilter.awk" \
|
|
|
|
compile-with "${AWK} -f $S/tools/sound/feeder_eq_mkfilter.awk -- ${FEEDER_EQ_PRESETS} > feeder_eq_gen.h" \
|
Sound Mega-commit. Expect further cleanup until code freeze.
For a slightly thorough explaination, please refer to
[1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html .
Summary of changes includes:
1 Volume Per-Channel (vpc). Provides private / standalone volume control
unique per-stream pcm channel without touching master volume / pcm.
Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for
backwards compatibility, SOUND_MIXER_PCM through the opened dsp device
instead of /dev/mixer. Special "bypass" mode is enabled through
/dev/mixer which will automatically detect if the adjustment is made
through /dev/mixer and forward its request to this private volume
controller. Changes to this volume object will not interfere with
other channels.
Requirements:
- SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which
require specific application modifications (preferred).
- No modifications required for using bypass mode, so applications
like mplayer or xmms should work out of the box.
Kernel hints:
- hint.pcm.%d.vpc (0 = disable vpc).
Kernel sysctls:
- hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer
bypass mode.
- hw.snd.vpc_autoreset (default: 1). By default, closing/opening
/dev/dsp will reset the volume back to 0 db gain/attenuation.
Setting this to 0 will preserve its settings across device
closing/opening.
- hw.snd.vpc_reset (default: 0). Panic/reset button to reset all
volume settings back to 0 db.
- hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value.
2 High quality fixed-point Bandlimited SINC sampling rate converter,
based on Julius O'Smith's Digital Audio Resampling -
http://ccrma.stanford.edu/~jos/resample/. It includes a filter design
script written in awk (the clumsiest joke I've ever written)
- 100% 32bit fixed-point, 64bit accumulator.
- Possibly among the fastest (if not fastest) of its kind.
- Resampling quality is tunable, either runtime or during kernel
compilation (FEEDER_RATE_PRESETS).
- Quality can be further customized during kernel compilation by
defining FEEDER_RATE_PRESETS in /etc/make.conf.
Kernel sysctls:
- hw.snd.feeder_rate_quality.
0 - Zero-order Hold (ZOH). Fastest, bad quality.
1 - Linear Interpolation (LINEAR). Slightly slower than ZOH,
better quality but still does not eliminate aliasing.
2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC
quality always start from 2 and above.
Rough quality comparisons:
- http://people.freebsd.org/~ariff/z_comparison/
3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be
directly fed into the hardware.
4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can
be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf.
5 Transparent/Adaptive Virtual Channel. Now you don't have to disable
vchans in order to make digital format pass through. It also makes
vchans more dynamic by choosing a better format/rate among all the
concurrent streams, which means that dev.pcm.X.play.vchanformat/rate
becomes sort of optional.
6 Exclusive Stream, with special open() mode O_EXCL. This will "mute"
other concurrent vchan streams and only allow a single channel with
O_EXCL set to keep producing sound.
Other Changes:
* most feeder_* stuffs are compilable in userland. Let's not
speculate whether we should go all out for it (save that for
FreeBSD 16.0-RELEASE).
* kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org>
* pull out channel mixing logic out of vchan.c and create its own
feeder_mixer for world justice.
* various refactoring here and there, for good or bad.
* activation of few more OSSv4 ioctls() (see [1] above).
* opt_snd.h for possible compile time configuration:
(mostly for debugging purposes, don't try these at home)
SND_DEBUG
SND_DIAGNOSTIC
SND_FEEDER_MULTIFORMAT
SND_FEEDER_FULL_MULTIFORMAT
SND_FEEDER_RATE_HP
SND_PCM_64
SND_OLDSTEREO
Manual page updates are on the way.
Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many
unsung / unnamed heroes.
2009-06-07 19:12:08 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "feeder_eq_gen.h"
|
|
|
|
feeder_rate_gen.h optional sound \
|
2010-11-02 05:39:57 +00:00
|
|
|
dependency "$S/tools/sound/feeder_rate_mkfilter.awk" \
|
2009-06-10 06:49:45 +00:00
|
|
|
compile-with "${AWK} -f $S/tools/sound/feeder_rate_mkfilter.awk -- ${FEEDER_RATE_PRESETS} > feeder_rate_gen.h" \
|
Sound Mega-commit. Expect further cleanup until code freeze.
For a slightly thorough explaination, please refer to
[1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html .
Summary of changes includes:
1 Volume Per-Channel (vpc). Provides private / standalone volume control
unique per-stream pcm channel without touching master volume / pcm.
Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for
backwards compatibility, SOUND_MIXER_PCM through the opened dsp device
instead of /dev/mixer. Special "bypass" mode is enabled through
/dev/mixer which will automatically detect if the adjustment is made
through /dev/mixer and forward its request to this private volume
controller. Changes to this volume object will not interfere with
other channels.
Requirements:
- SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which
require specific application modifications (preferred).
- No modifications required for using bypass mode, so applications
like mplayer or xmms should work out of the box.
Kernel hints:
- hint.pcm.%d.vpc (0 = disable vpc).
Kernel sysctls:
- hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer
bypass mode.
- hw.snd.vpc_autoreset (default: 1). By default, closing/opening
/dev/dsp will reset the volume back to 0 db gain/attenuation.
Setting this to 0 will preserve its settings across device
closing/opening.
- hw.snd.vpc_reset (default: 0). Panic/reset button to reset all
volume settings back to 0 db.
- hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value.
2 High quality fixed-point Bandlimited SINC sampling rate converter,
based on Julius O'Smith's Digital Audio Resampling -
http://ccrma.stanford.edu/~jos/resample/. It includes a filter design
script written in awk (the clumsiest joke I've ever written)
- 100% 32bit fixed-point, 64bit accumulator.
- Possibly among the fastest (if not fastest) of its kind.
- Resampling quality is tunable, either runtime or during kernel
compilation (FEEDER_RATE_PRESETS).
- Quality can be further customized during kernel compilation by
defining FEEDER_RATE_PRESETS in /etc/make.conf.
Kernel sysctls:
- hw.snd.feeder_rate_quality.
0 - Zero-order Hold (ZOH). Fastest, bad quality.
1 - Linear Interpolation (LINEAR). Slightly slower than ZOH,
better quality but still does not eliminate aliasing.
2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC
quality always start from 2 and above.
Rough quality comparisons:
- http://people.freebsd.org/~ariff/z_comparison/
3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be
directly fed into the hardware.
4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can
be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf.
5 Transparent/Adaptive Virtual Channel. Now you don't have to disable
vchans in order to make digital format pass through. It also makes
vchans more dynamic by choosing a better format/rate among all the
concurrent streams, which means that dev.pcm.X.play.vchanformat/rate
becomes sort of optional.
6 Exclusive Stream, with special open() mode O_EXCL. This will "mute"
other concurrent vchan streams and only allow a single channel with
O_EXCL set to keep producing sound.
Other Changes:
* most feeder_* stuffs are compilable in userland. Let's not
speculate whether we should go all out for it (save that for
FreeBSD 16.0-RELEASE).
* kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org>
* pull out channel mixing logic out of vchan.c and create its own
feeder_mixer for world justice.
* various refactoring here and there, for good or bad.
* activation of few more OSSv4 ioctls() (see [1] above).
* opt_snd.h for possible compile time configuration:
(mostly for debugging purposes, don't try these at home)
SND_DEBUG
SND_DIAGNOSTIC
SND_FEEDER_MULTIFORMAT
SND_FEEDER_FULL_MULTIFORMAT
SND_FEEDER_RATE_HP
SND_PCM_64
SND_OLDSTEREO
Manual page updates are on the way.
Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many
unsung / unnamed heroes.
2009-06-07 19:12:08 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "feeder_rate_gen.h"
|
|
|
|
snd_fxdiv_gen.h optional sound \
|
2010-11-02 05:39:57 +00:00
|
|
|
dependency "$S/tools/sound/snd_fxdiv_gen.awk" \
|
2009-06-10 06:49:45 +00:00
|
|
|
compile-with "${AWK} -f $S/tools/sound/snd_fxdiv_gen.awk -- > snd_fxdiv_gen.h" \
|
Sound Mega-commit. Expect further cleanup until code freeze.
For a slightly thorough explaination, please refer to
[1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html .
Summary of changes includes:
1 Volume Per-Channel (vpc). Provides private / standalone volume control
unique per-stream pcm channel without touching master volume / pcm.
Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for
backwards compatibility, SOUND_MIXER_PCM through the opened dsp device
instead of /dev/mixer. Special "bypass" mode is enabled through
/dev/mixer which will automatically detect if the adjustment is made
through /dev/mixer and forward its request to this private volume
controller. Changes to this volume object will not interfere with
other channels.
Requirements:
- SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which
require specific application modifications (preferred).
- No modifications required for using bypass mode, so applications
like mplayer or xmms should work out of the box.
Kernel hints:
- hint.pcm.%d.vpc (0 = disable vpc).
Kernel sysctls:
- hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer
bypass mode.
- hw.snd.vpc_autoreset (default: 1). By default, closing/opening
/dev/dsp will reset the volume back to 0 db gain/attenuation.
Setting this to 0 will preserve its settings across device
closing/opening.
- hw.snd.vpc_reset (default: 0). Panic/reset button to reset all
volume settings back to 0 db.
- hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value.
2 High quality fixed-point Bandlimited SINC sampling rate converter,
based on Julius O'Smith's Digital Audio Resampling -
http://ccrma.stanford.edu/~jos/resample/. It includes a filter design
script written in awk (the clumsiest joke I've ever written)
- 100% 32bit fixed-point, 64bit accumulator.
- Possibly among the fastest (if not fastest) of its kind.
- Resampling quality is tunable, either runtime or during kernel
compilation (FEEDER_RATE_PRESETS).
- Quality can be further customized during kernel compilation by
defining FEEDER_RATE_PRESETS in /etc/make.conf.
Kernel sysctls:
- hw.snd.feeder_rate_quality.
0 - Zero-order Hold (ZOH). Fastest, bad quality.
1 - Linear Interpolation (LINEAR). Slightly slower than ZOH,
better quality but still does not eliminate aliasing.
2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC
quality always start from 2 and above.
Rough quality comparisons:
- http://people.freebsd.org/~ariff/z_comparison/
3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be
directly fed into the hardware.
4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can
be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf.
5 Transparent/Adaptive Virtual Channel. Now you don't have to disable
vchans in order to make digital format pass through. It also makes
vchans more dynamic by choosing a better format/rate among all the
concurrent streams, which means that dev.pcm.X.play.vchanformat/rate
becomes sort of optional.
6 Exclusive Stream, with special open() mode O_EXCL. This will "mute"
other concurrent vchan streams and only allow a single channel with
O_EXCL set to keep producing sound.
Other Changes:
* most feeder_* stuffs are compilable in userland. Let's not
speculate whether we should go all out for it (save that for
FreeBSD 16.0-RELEASE).
* kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org>
* pull out channel mixing logic out of vchan.c and create its own
feeder_mixer for world justice.
* various refactoring here and there, for good or bad.
* activation of few more OSSv4 ioctls() (see [1] above).
* opt_snd.h for possible compile time configuration:
(mostly for debugging purposes, don't try these at home)
SND_DEBUG
SND_DIAGNOSTIC
SND_FEEDER_MULTIFORMAT
SND_FEEDER_FULL_MULTIFORMAT
SND_FEEDER_RATE_HP
SND_PCM_64
SND_OLDSTEREO
Manual page updates are on the way.
Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many
unsung / unnamed heroes.
2009-06-07 19:12:08 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "snd_fxdiv_gen.h"
|
2006-02-07 18:41:56 +00:00
|
|
|
miidevs.h optional miibus | mii \
|
2004-05-26 00:38:52 +00:00
|
|
|
dependency "$S/tools/miidevs2h.awk $S/dev/mii/miidevs" \
|
|
|
|
compile-with "${AWK} -f $S/tools/miidevs2h.awk $S/dev/mii/miidevs" \
|
2004-06-26 05:58:43 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
2004-05-26 00:38:52 +00:00
|
|
|
clean "miidevs.h"
|
2004-06-30 14:52:49 +00:00
|
|
|
pccarddevs.h standard \
|
2004-05-26 00:53:10 +00:00
|
|
|
dependency "$S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \
|
|
|
|
compile-with "${AWK} -f $S/tools/pccarddevs2h.awk $S/dev/pccard/pccarddevs" \
|
2004-06-26 05:58:43 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
2004-05-26 00:53:10 +00:00
|
|
|
clean "pccarddevs.h"
|
Replace syscons terminal renderer by a new renderer that uses libteken.
Some time ago I started working on a library called libteken, which is
terminal emulator. It does not buffer any screen contents, but only
keeps terminal state, such as cursor position, attributes, etc. It
should implement all escape sequences that are implemented by the
cons25 terminal emulator, but also a fair amount of sequences that are
present in VT100 and xterm.
A lot of random notes, which could be of interest to users/developers:
- Even though I'm leaving the terminal type set to `cons25', users can
do experiments with placing `xterm-color' in /etc/ttys. Because we
only implement a subset of features of xterm, this may cause
artifacts. We should consider extending libteken, because in my
opinion xterm is the way to go. Some missing features:
- Keypad application mode (DECKPAM)
- Character sets (SCS)
- libteken is filled with a fair amount of assertions, but unfortunately
we cannot go into the debugger anymore if we fail them. I've done
development of this library almost entirely in userspace. In
sys/dev/syscons/teken there are two applications that can be helpful
when debugging the code:
- teken_demo: a terminal emulator that can be started from a regular
xterm that emulates a terminal using libteken. This application can
be very useful to debug any rendering issues.
- teken_stress: a stress testing application that emulates random
terminal output. libteken has literally survived multiple terabytes
of random input.
- libteken also includes support for UTF-8, but unfortunately our input
layer and font renderer don't support this. If users want to
experiment with UTF-8 support, they can enable `TEKEN_UTF8' in
teken.h. If you recompile your kernel or the teken_demo application,
you can hold some nice experiments.
- I've left PC98 the way it is right now. The PC98 platform has a custom
syscons renderer, which supports some form of localised input. Maybe
we should port PC98 to libteken by the time syscons supports UTF-8?
- I've removed the `dumb' terminal emulator. It has been broken for
years. It hasn't survived the `struct proc' -> `struct thread'
conversion.
- To prevent confusion among people that want to hack on libteken:
unlike syscons, the state machines that parse the escape sequences are
machine generated. This means that if you want to add new escape
sequences, you have to add an entry to the `sequences' file. This will
cause new entries to be added to `teken_state.h'.
- Any rendering artifacts that didn't occur prior to this commit are by
accident. They should be reported to me, so I can fix them.
Discussed on: current@, hackers@
Discussed with: philip (at 25C3)
2009-01-01 13:26:53 +00:00
|
|
|
teken_state.h optional sc \
|
2009-09-03 09:33:57 +00:00
|
|
|
dependency "$S/teken/gensequences $S/teken/sequences" \
|
|
|
|
compile-with "${AWK} -f $S/teken/gensequences $S/teken/sequences > teken_state.h" \
|
Replace syscons terminal renderer by a new renderer that uses libteken.
Some time ago I started working on a library called libteken, which is
terminal emulator. It does not buffer any screen contents, but only
keeps terminal state, such as cursor position, attributes, etc. It
should implement all escape sequences that are implemented by the
cons25 terminal emulator, but also a fair amount of sequences that are
present in VT100 and xterm.
A lot of random notes, which could be of interest to users/developers:
- Even though I'm leaving the terminal type set to `cons25', users can
do experiments with placing `xterm-color' in /etc/ttys. Because we
only implement a subset of features of xterm, this may cause
artifacts. We should consider extending libteken, because in my
opinion xterm is the way to go. Some missing features:
- Keypad application mode (DECKPAM)
- Character sets (SCS)
- libteken is filled with a fair amount of assertions, but unfortunately
we cannot go into the debugger anymore if we fail them. I've done
development of this library almost entirely in userspace. In
sys/dev/syscons/teken there are two applications that can be helpful
when debugging the code:
- teken_demo: a terminal emulator that can be started from a regular
xterm that emulates a terminal using libteken. This application can
be very useful to debug any rendering issues.
- teken_stress: a stress testing application that emulates random
terminal output. libteken has literally survived multiple terabytes
of random input.
- libteken also includes support for UTF-8, but unfortunately our input
layer and font renderer don't support this. If users want to
experiment with UTF-8 support, they can enable `TEKEN_UTF8' in
teken.h. If you recompile your kernel or the teken_demo application,
you can hold some nice experiments.
- I've left PC98 the way it is right now. The PC98 platform has a custom
syscons renderer, which supports some form of localised input. Maybe
we should port PC98 to libteken by the time syscons supports UTF-8?
- I've removed the `dumb' terminal emulator. It has been broken for
years. It hasn't survived the `struct proc' -> `struct thread'
conversion.
- To prevent confusion among people that want to hack on libteken:
unlike syscons, the state machines that parse the escape sequences are
machine generated. This means that if you want to add new escape
sequences, you have to add an entry to the `sequences' file. This will
cause new entries to be added to `teken_state.h'.
- Any rendering artifacts that didn't occur prior to this commit are by
accident. They should be reported to me, so I can fix them.
Discussed on: current@, hackers@
Discussed with: philip (at 25C3)
2009-01-01 13:26:53 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "teken_state.h"
|
2009-05-27 16:16:56 +00:00
|
|
|
usbdevs.h optional usb \
|
2004-05-26 00:53:10 +00:00
|
|
|
dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \
|
2004-12-30 23:19:40 +00:00
|
|
|
compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -h" \
|
2004-06-26 05:58:43 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
2004-12-30 23:19:40 +00:00
|
|
|
clean "usbdevs.h"
|
2009-05-27 16:16:56 +00:00
|
|
|
usbdevs_data.h optional usb \
|
2004-12-30 23:19:40 +00:00
|
|
|
dependency "$S/tools/usbdevs2h.awk $S/dev/usb/usbdevs" \
|
|
|
|
compile-with "${AWK} -f $S/tools/usbdevs2h.awk $S/dev/usb/usbdevs -d" \
|
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "usbdevs_data.h"
|
2005-01-04 06:07:25 +00:00
|
|
|
cam/cam.c optional scbus
|
|
|
|
cam/cam_periph.c optional scbus
|
|
|
|
cam/cam_queue.c optional scbus
|
|
|
|
cam/cam_sim.c optional scbus
|
|
|
|
cam/cam_xpt.c optional scbus
|
Separate the parallel scsi knowledge out of the core of the XPT, and
modularize it so that new transports can be created.
Add a transport for SATA
Add a periph+protocol layer for ATA
Add a driver for AHCI-compliant hardware.
Add a maxio field to CAM so that drivers can advertise their max
I/O capability. Modify various drivers so that they are insulated
from the value of MAXPHYS.
The new ATA/SATA code supports AHCI-compliant hardware, and will override
the classic ATA driver if it is loaded as a module at boot time or compiled
into the kernel. The stack now support NCQ (tagged queueing) for increased
performance on modern SATA drives. It also supports port multipliers.
ATA drives are accessed via 'ada' device nodes. ATAPI drives are
accessed via 'cd' device nodes. They can all be enumerated and manipulated
via camcontrol, just like SCSI drives. SCSI commands are not translated to
their ATA equivalents; ATA native commands are used throughout the entire
stack, including camcontrol. See the camcontrol manpage for further
details. Testing this code may require that you update your fstab, and
possibly modify your BIOS to enable AHCI functionality, if available.
This code is very experimental at the moment. The userland ABI/API has
changed, so applications will need to be recompiled. It may change
further in the near future. The 'ada' device name may also change as
more infrastructure is completed in this project. The goal is to
eventually put all CAM busses and devices until newbus, allowing for
interesting topology and management options.
Few functional changes will be seen with existing SCSI/SAS/FC drivers,
though the userland ABI has still changed. In the future, transports
specific modules for SAS and FC may appear in order to better support
the topologies and capabilities of these technologies.
The modularization of CAM and the addition of the ATA/SATA modules is
meant to break CAM out of the mold of being specific to SCSI, letting it
grow to be a framework for arbitrary transports and protocols. It also
allows drivers to be written to support discrete hardware without
jeopardizing the stability of non-related hardware. While only an AHCI
driver is provided now, a Silicon Image driver is also in the works.
Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware
is possible and encouraged. Help with new transports is also encouraged.
Submitted by: scottl, mav
Approved by: re
2009-07-10 08:18:08 +00:00
|
|
|
cam/ata/ata_all.c optional scbus
|
|
|
|
cam/ata/ata_xpt.c optional scbus
|
2009-11-19 16:26:07 +00:00
|
|
|
cam/ata/ata_pmp.c optional scbus
|
Separate the parallel scsi knowledge out of the core of the XPT, and
modularize it so that new transports can be created.
Add a transport for SATA
Add a periph+protocol layer for ATA
Add a driver for AHCI-compliant hardware.
Add a maxio field to CAM so that drivers can advertise their max
I/O capability. Modify various drivers so that they are insulated
from the value of MAXPHYS.
The new ATA/SATA code supports AHCI-compliant hardware, and will override
the classic ATA driver if it is loaded as a module at boot time or compiled
into the kernel. The stack now support NCQ (tagged queueing) for increased
performance on modern SATA drives. It also supports port multipliers.
ATA drives are accessed via 'ada' device nodes. ATAPI drives are
accessed via 'cd' device nodes. They can all be enumerated and manipulated
via camcontrol, just like SCSI drives. SCSI commands are not translated to
their ATA equivalents; ATA native commands are used throughout the entire
stack, including camcontrol. See the camcontrol manpage for further
details. Testing this code may require that you update your fstab, and
possibly modify your BIOS to enable AHCI functionality, if available.
This code is very experimental at the moment. The userland ABI/API has
changed, so applications will need to be recompiled. It may change
further in the near future. The 'ada' device name may also change as
more infrastructure is completed in this project. The goal is to
eventually put all CAM busses and devices until newbus, allowing for
interesting topology and management options.
Few functional changes will be seen with existing SCSI/SAS/FC drivers,
though the userland ABI has still changed. In the future, transports
specific modules for SAS and FC may appear in order to better support
the topologies and capabilities of these technologies.
The modularization of CAM and the addition of the ATA/SATA modules is
meant to break CAM out of the mold of being specific to SCSI, letting it
grow to be a framework for arbitrary transports and protocols. It also
allows drivers to be written to support discrete hardware without
jeopardizing the stability of non-related hardware. While only an AHCI
driver is provided now, a Silicon Image driver is also in the works.
Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware
is possible and encouraged. Help with new transports is also encouraged.
Submitted by: scottl, mav
Approved by: re
2009-07-10 08:18:08 +00:00
|
|
|
cam/scsi/scsi_xpt.c optional scbus
|
2005-01-04 06:07:25 +00:00
|
|
|
cam/scsi/scsi_all.c optional scbus
|
|
|
|
cam/scsi/scsi_cd.c optional cd
|
|
|
|
cam/scsi/scsi_ch.c optional ch
|
2009-11-19 16:26:07 +00:00
|
|
|
cam/ata/ata_da.c optional ada | da
|
Add the CAM Target Layer (CTL).
CTL is a disk and processor device emulation subsystem originally written
for Copan Systems under Linux starting in 2003. It has been shipping in
Copan (now SGI) products since 2005.
It was ported to FreeBSD in 2008, and thanks to an agreement between SGI
(who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is
available under a BSD-style license. The intent behind the agreement was
that Spectra would work to get CTL into the FreeBSD tree.
Some CTL features:
- Disk and processor device emulation.
- Tagged queueing
- SCSI task attribute support (ordered, head of queue, simple tags)
- SCSI implicit command ordering support. (e.g. if a read follows a mode
select, the read will be blocked until the mode select completes.)
- Full task management support (abort, LUN reset, target reset, etc.)
- Support for multiple ports
- Support for multiple simultaneous initiators
- Support for multiple simultaneous backing stores
- Persistent reservation support
- Mode sense/select support
- Error injection support
- High Availability support (1)
- All I/O handled in-kernel, no userland context switch overhead.
(1) HA Support is just an API stub, and needs much more to be fully
functional.
ctl.c: The core of CTL. Command handlers and processing,
character driver, and HA support are here.
ctl.h: Basic function declarations and data structures.
ctl_backend.c,
ctl_backend.h: The basic CTL backend API.
ctl_backend_block.c,
ctl_backend_block.h: The block and file backend. This allows for using
a disk or a file as the backing store for a LUN.
Multiple threads are started to do I/O to the
backing device, primarily because the VFS API
requires that to get any concurrency.
ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a
small amount of memory to act as a source and sink
for reads and writes from an initiator. Therefore
it cannot be used for any real data, but it can be
used to test for throughput. It can also be used
to test initiators' support for extremely large LUNs.
ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes,
and command handler functions defined for supported
opcodes.
ctl_debug.h: Debugging support.
ctl_error.c,
ctl_error.h: CTL-specific wrappers around the CAM sense building
functions.
ctl_frontend.c,
ctl_frontend.h: These files define the basic CTL frontend port API.
ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM.
This frontend allows for using CTL without any
target-capable hardware. So any LUNs you create in
CTL are visible in CAM via this port.
ctl_frontend_internal.c,
ctl_frontend_internal.h:
This is a frontend port written for Copan to do
some system-specific tasks that required sending
commands into CTL from inside the kernel. This
isn't entirely relevant to FreeBSD in general,
but can perhaps be repurposed.
ctl_ha.h: This is a stubbed-out High Availability API. Much
more is needed for full HA support. See the
comments in the header and the description of what
is needed in the README.ctl.txt file for more
details.
ctl_io.h: This defines most of the core CTL I/O structures.
union ctl_io is conceptually very similar to CAM's
union ccb.
ctl_ioctl.h: This defines all ioctls available through the CTL
character device, and the data structures needed
for those ioctls.
ctl_mem_pool.c,
ctl_mem_pool.h: Generic memory pool implementation used by the
internal frontend.
ctl_private.h: Private data structres (e.g. CTL softc) and
function prototypes. This also includes the SCSI
vendor and product names used by CTL.
ctl_scsi_all.c,
ctl_scsi_all.h: CTL wrappers around CAM sense printing functions.
ctl_ser_table.c: Command serialization table. This defines what
happens when one type of command is followed by
another type of command.
ctl_util.c,
ctl_util.h: CTL utility functions, primarily designed to be
used from userland. See ctladm for the primary
consumer of these functions. These include CDB
building functions.
scsi_ctl.c: CAM target peripheral driver and CTL frontend port.
This is the path into CTL for commands from
target-capable hardware/SIMs.
README.ctl.txt: CTL code features, roadmap, to-do list.
usr.sbin/Makefile: Add ctladm.
ctladm/Makefile,
ctladm/ctladm.8,
ctladm/ctladm.c,
ctladm/ctladm.h,
ctladm/util.c: ctladm(8) is the CTL management utility.
It fills a role similar to camcontrol(8).
It allow configuring LUNs, issuing commands,
injecting errors and various other control
functions.
usr.bin/Makefile: Add ctlstat.
ctlstat/Makefile
ctlstat/ctlstat.8,
ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8).
It reports I/O statistics for CTL.
sys/conf/files: Add CTL files.
sys/conf/NOTES: Add device ctl.
sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB
length field is now 2 bytes long.
Add several mode page definitions for CTL.
sys/cam/scsi_all.c: Handle the new 2 byte inquiry length.
sys/dev/ciss/ciss.c,
sys/dev/ata/atapi-cam.c,
sys/cam/scsi/scsi_targ_bh.c,
scsi_target/scsi_cmds.c,
mlxcontrol/interface.c: Update for 2 byte inquiry length field.
scsi_da.h: Add versions of the format and rigid disk pages
that are in a more reasonable format for CTL.
amd64/conf/GENERIC,
i386/conf/GENERIC,
ia64/conf/GENERIC,
sparc64/conf/GENERIC: Add device ctl.
i386/conf/PAE: The CTL frontend SIM at least does not compile
cleanly on PAE.
Sponsored by: Copan Systems, SGI and Spectra Logic
MFC after: 1 month
2012-01-12 00:34:33 +00:00
|
|
|
cam/ctl/ctl.c optional ctl
|
2012-02-23 21:32:32 +00:00
|
|
|
cam/ctl/ctl_backend.c optional ctl
|
Add the CAM Target Layer (CTL).
CTL is a disk and processor device emulation subsystem originally written
for Copan Systems under Linux starting in 2003. It has been shipping in
Copan (now SGI) products since 2005.
It was ported to FreeBSD in 2008, and thanks to an agreement between SGI
(who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is
available under a BSD-style license. The intent behind the agreement was
that Spectra would work to get CTL into the FreeBSD tree.
Some CTL features:
- Disk and processor device emulation.
- Tagged queueing
- SCSI task attribute support (ordered, head of queue, simple tags)
- SCSI implicit command ordering support. (e.g. if a read follows a mode
select, the read will be blocked until the mode select completes.)
- Full task management support (abort, LUN reset, target reset, etc.)
- Support for multiple ports
- Support for multiple simultaneous initiators
- Support for multiple simultaneous backing stores
- Persistent reservation support
- Mode sense/select support
- Error injection support
- High Availability support (1)
- All I/O handled in-kernel, no userland context switch overhead.
(1) HA Support is just an API stub, and needs much more to be fully
functional.
ctl.c: The core of CTL. Command handlers and processing,
character driver, and HA support are here.
ctl.h: Basic function declarations and data structures.
ctl_backend.c,
ctl_backend.h: The basic CTL backend API.
ctl_backend_block.c,
ctl_backend_block.h: The block and file backend. This allows for using
a disk or a file as the backing store for a LUN.
Multiple threads are started to do I/O to the
backing device, primarily because the VFS API
requires that to get any concurrency.
ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a
small amount of memory to act as a source and sink
for reads and writes from an initiator. Therefore
it cannot be used for any real data, but it can be
used to test for throughput. It can also be used
to test initiators' support for extremely large LUNs.
ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes,
and command handler functions defined for supported
opcodes.
ctl_debug.h: Debugging support.
ctl_error.c,
ctl_error.h: CTL-specific wrappers around the CAM sense building
functions.
ctl_frontend.c,
ctl_frontend.h: These files define the basic CTL frontend port API.
ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM.
This frontend allows for using CTL without any
target-capable hardware. So any LUNs you create in
CTL are visible in CAM via this port.
ctl_frontend_internal.c,
ctl_frontend_internal.h:
This is a frontend port written for Copan to do
some system-specific tasks that required sending
commands into CTL from inside the kernel. This
isn't entirely relevant to FreeBSD in general,
but can perhaps be repurposed.
ctl_ha.h: This is a stubbed-out High Availability API. Much
more is needed for full HA support. See the
comments in the header and the description of what
is needed in the README.ctl.txt file for more
details.
ctl_io.h: This defines most of the core CTL I/O structures.
union ctl_io is conceptually very similar to CAM's
union ccb.
ctl_ioctl.h: This defines all ioctls available through the CTL
character device, and the data structures needed
for those ioctls.
ctl_mem_pool.c,
ctl_mem_pool.h: Generic memory pool implementation used by the
internal frontend.
ctl_private.h: Private data structres (e.g. CTL softc) and
function prototypes. This also includes the SCSI
vendor and product names used by CTL.
ctl_scsi_all.c,
ctl_scsi_all.h: CTL wrappers around CAM sense printing functions.
ctl_ser_table.c: Command serialization table. This defines what
happens when one type of command is followed by
another type of command.
ctl_util.c,
ctl_util.h: CTL utility functions, primarily designed to be
used from userland. See ctladm for the primary
consumer of these functions. These include CDB
building functions.
scsi_ctl.c: CAM target peripheral driver and CTL frontend port.
This is the path into CTL for commands from
target-capable hardware/SIMs.
README.ctl.txt: CTL code features, roadmap, to-do list.
usr.sbin/Makefile: Add ctladm.
ctladm/Makefile,
ctladm/ctladm.8,
ctladm/ctladm.c,
ctladm/ctladm.h,
ctladm/util.c: ctladm(8) is the CTL management utility.
It fills a role similar to camcontrol(8).
It allow configuring LUNs, issuing commands,
injecting errors and various other control
functions.
usr.bin/Makefile: Add ctlstat.
ctlstat/Makefile
ctlstat/ctlstat.8,
ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8).
It reports I/O statistics for CTL.
sys/conf/files: Add CTL files.
sys/conf/NOTES: Add device ctl.
sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB
length field is now 2 bytes long.
Add several mode page definitions for CTL.
sys/cam/scsi_all.c: Handle the new 2 byte inquiry length.
sys/dev/ciss/ciss.c,
sys/dev/ata/atapi-cam.c,
sys/cam/scsi/scsi_targ_bh.c,
scsi_target/scsi_cmds.c,
mlxcontrol/interface.c: Update for 2 byte inquiry length field.
scsi_da.h: Add versions of the format and rigid disk pages
that are in a more reasonable format for CTL.
amd64/conf/GENERIC,
i386/conf/GENERIC,
ia64/conf/GENERIC,
sparc64/conf/GENERIC: Add device ctl.
i386/conf/PAE: The CTL frontend SIM at least does not compile
cleanly on PAE.
Sponsored by: Copan Systems, SGI and Spectra Logic
MFC after: 1 month
2012-01-12 00:34:33 +00:00
|
|
|
cam/ctl/ctl_backend_block.c optional ctl
|
|
|
|
cam/ctl/ctl_backend_ramdisk.c optional ctl
|
2012-02-23 21:32:32 +00:00
|
|
|
cam/ctl/ctl_cmd_table.c optional ctl
|
|
|
|
cam/ctl/ctl_frontend.c optional ctl
|
Add the CAM Target Layer (CTL).
CTL is a disk and processor device emulation subsystem originally written
for Copan Systems under Linux starting in 2003. It has been shipping in
Copan (now SGI) products since 2005.
It was ported to FreeBSD in 2008, and thanks to an agreement between SGI
(who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is
available under a BSD-style license. The intent behind the agreement was
that Spectra would work to get CTL into the FreeBSD tree.
Some CTL features:
- Disk and processor device emulation.
- Tagged queueing
- SCSI task attribute support (ordered, head of queue, simple tags)
- SCSI implicit command ordering support. (e.g. if a read follows a mode
select, the read will be blocked until the mode select completes.)
- Full task management support (abort, LUN reset, target reset, etc.)
- Support for multiple ports
- Support for multiple simultaneous initiators
- Support for multiple simultaneous backing stores
- Persistent reservation support
- Mode sense/select support
- Error injection support
- High Availability support (1)
- All I/O handled in-kernel, no userland context switch overhead.
(1) HA Support is just an API stub, and needs much more to be fully
functional.
ctl.c: The core of CTL. Command handlers and processing,
character driver, and HA support are here.
ctl.h: Basic function declarations and data structures.
ctl_backend.c,
ctl_backend.h: The basic CTL backend API.
ctl_backend_block.c,
ctl_backend_block.h: The block and file backend. This allows for using
a disk or a file as the backing store for a LUN.
Multiple threads are started to do I/O to the
backing device, primarily because the VFS API
requires that to get any concurrency.
ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a
small amount of memory to act as a source and sink
for reads and writes from an initiator. Therefore
it cannot be used for any real data, but it can be
used to test for throughput. It can also be used
to test initiators' support for extremely large LUNs.
ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes,
and command handler functions defined for supported
opcodes.
ctl_debug.h: Debugging support.
ctl_error.c,
ctl_error.h: CTL-specific wrappers around the CAM sense building
functions.
ctl_frontend.c,
ctl_frontend.h: These files define the basic CTL frontend port API.
ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM.
This frontend allows for using CTL without any
target-capable hardware. So any LUNs you create in
CTL are visible in CAM via this port.
ctl_frontend_internal.c,
ctl_frontend_internal.h:
This is a frontend port written for Copan to do
some system-specific tasks that required sending
commands into CTL from inside the kernel. This
isn't entirely relevant to FreeBSD in general,
but can perhaps be repurposed.
ctl_ha.h: This is a stubbed-out High Availability API. Much
more is needed for full HA support. See the
comments in the header and the description of what
is needed in the README.ctl.txt file for more
details.
ctl_io.h: This defines most of the core CTL I/O structures.
union ctl_io is conceptually very similar to CAM's
union ccb.
ctl_ioctl.h: This defines all ioctls available through the CTL
character device, and the data structures needed
for those ioctls.
ctl_mem_pool.c,
ctl_mem_pool.h: Generic memory pool implementation used by the
internal frontend.
ctl_private.h: Private data structres (e.g. CTL softc) and
function prototypes. This also includes the SCSI
vendor and product names used by CTL.
ctl_scsi_all.c,
ctl_scsi_all.h: CTL wrappers around CAM sense printing functions.
ctl_ser_table.c: Command serialization table. This defines what
happens when one type of command is followed by
another type of command.
ctl_util.c,
ctl_util.h: CTL utility functions, primarily designed to be
used from userland. See ctladm for the primary
consumer of these functions. These include CDB
building functions.
scsi_ctl.c: CAM target peripheral driver and CTL frontend port.
This is the path into CTL for commands from
target-capable hardware/SIMs.
README.ctl.txt: CTL code features, roadmap, to-do list.
usr.sbin/Makefile: Add ctladm.
ctladm/Makefile,
ctladm/ctladm.8,
ctladm/ctladm.c,
ctladm/ctladm.h,
ctladm/util.c: ctladm(8) is the CTL management utility.
It fills a role similar to camcontrol(8).
It allow configuring LUNs, issuing commands,
injecting errors and various other control
functions.
usr.bin/Makefile: Add ctlstat.
ctlstat/Makefile
ctlstat/ctlstat.8,
ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8).
It reports I/O statistics for CTL.
sys/conf/files: Add CTL files.
sys/conf/NOTES: Add device ctl.
sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB
length field is now 2 bytes long.
Add several mode page definitions for CTL.
sys/cam/scsi_all.c: Handle the new 2 byte inquiry length.
sys/dev/ciss/ciss.c,
sys/dev/ata/atapi-cam.c,
sys/cam/scsi/scsi_targ_bh.c,
scsi_target/scsi_cmds.c,
mlxcontrol/interface.c: Update for 2 byte inquiry length field.
scsi_da.h: Add versions of the format and rigid disk pages
that are in a more reasonable format for CTL.
amd64/conf/GENERIC,
i386/conf/GENERIC,
ia64/conf/GENERIC,
sparc64/conf/GENERIC: Add device ctl.
i386/conf/PAE: The CTL frontend SIM at least does not compile
cleanly on PAE.
Sponsored by: Copan Systems, SGI and Spectra Logic
MFC after: 1 month
2012-01-12 00:34:33 +00:00
|
|
|
cam/ctl/ctl_frontend_cam_sim.c optional ctl
|
2012-02-23 21:32:32 +00:00
|
|
|
cam/ctl/ctl_frontend_internal.c optional ctl
|
Add the CAM Target Layer (CTL).
CTL is a disk and processor device emulation subsystem originally written
for Copan Systems under Linux starting in 2003. It has been shipping in
Copan (now SGI) products since 2005.
It was ported to FreeBSD in 2008, and thanks to an agreement between SGI
(who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is
available under a BSD-style license. The intent behind the agreement was
that Spectra would work to get CTL into the FreeBSD tree.
Some CTL features:
- Disk and processor device emulation.
- Tagged queueing
- SCSI task attribute support (ordered, head of queue, simple tags)
- SCSI implicit command ordering support. (e.g. if a read follows a mode
select, the read will be blocked until the mode select completes.)
- Full task management support (abort, LUN reset, target reset, etc.)
- Support for multiple ports
- Support for multiple simultaneous initiators
- Support for multiple simultaneous backing stores
- Persistent reservation support
- Mode sense/select support
- Error injection support
- High Availability support (1)
- All I/O handled in-kernel, no userland context switch overhead.
(1) HA Support is just an API stub, and needs much more to be fully
functional.
ctl.c: The core of CTL. Command handlers and processing,
character driver, and HA support are here.
ctl.h: Basic function declarations and data structures.
ctl_backend.c,
ctl_backend.h: The basic CTL backend API.
ctl_backend_block.c,
ctl_backend_block.h: The block and file backend. This allows for using
a disk or a file as the backing store for a LUN.
Multiple threads are started to do I/O to the
backing device, primarily because the VFS API
requires that to get any concurrency.
ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a
small amount of memory to act as a source and sink
for reads and writes from an initiator. Therefore
it cannot be used for any real data, but it can be
used to test for throughput. It can also be used
to test initiators' support for extremely large LUNs.
ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes,
and command handler functions defined for supported
opcodes.
ctl_debug.h: Debugging support.
ctl_error.c,
ctl_error.h: CTL-specific wrappers around the CAM sense building
functions.
ctl_frontend.c,
ctl_frontend.h: These files define the basic CTL frontend port API.
ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM.
This frontend allows for using CTL without any
target-capable hardware. So any LUNs you create in
CTL are visible in CAM via this port.
ctl_frontend_internal.c,
ctl_frontend_internal.h:
This is a frontend port written for Copan to do
some system-specific tasks that required sending
commands into CTL from inside the kernel. This
isn't entirely relevant to FreeBSD in general,
but can perhaps be repurposed.
ctl_ha.h: This is a stubbed-out High Availability API. Much
more is needed for full HA support. See the
comments in the header and the description of what
is needed in the README.ctl.txt file for more
details.
ctl_io.h: This defines most of the core CTL I/O structures.
union ctl_io is conceptually very similar to CAM's
union ccb.
ctl_ioctl.h: This defines all ioctls available through the CTL
character device, and the data structures needed
for those ioctls.
ctl_mem_pool.c,
ctl_mem_pool.h: Generic memory pool implementation used by the
internal frontend.
ctl_private.h: Private data structres (e.g. CTL softc) and
function prototypes. This also includes the SCSI
vendor and product names used by CTL.
ctl_scsi_all.c,
ctl_scsi_all.h: CTL wrappers around CAM sense printing functions.
ctl_ser_table.c: Command serialization table. This defines what
happens when one type of command is followed by
another type of command.
ctl_util.c,
ctl_util.h: CTL utility functions, primarily designed to be
used from userland. See ctladm for the primary
consumer of these functions. These include CDB
building functions.
scsi_ctl.c: CAM target peripheral driver and CTL frontend port.
This is the path into CTL for commands from
target-capable hardware/SIMs.
README.ctl.txt: CTL code features, roadmap, to-do list.
usr.sbin/Makefile: Add ctladm.
ctladm/Makefile,
ctladm/ctladm.8,
ctladm/ctladm.c,
ctladm/ctladm.h,
ctladm/util.c: ctladm(8) is the CTL management utility.
It fills a role similar to camcontrol(8).
It allow configuring LUNs, issuing commands,
injecting errors and various other control
functions.
usr.bin/Makefile: Add ctlstat.
ctlstat/Makefile
ctlstat/ctlstat.8,
ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8).
It reports I/O statistics for CTL.
sys/conf/files: Add CTL files.
sys/conf/NOTES: Add device ctl.
sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB
length field is now 2 bytes long.
Add several mode page definitions for CTL.
sys/cam/scsi_all.c: Handle the new 2 byte inquiry length.
sys/dev/ciss/ciss.c,
sys/dev/ata/atapi-cam.c,
sys/cam/scsi/scsi_targ_bh.c,
scsi_target/scsi_cmds.c,
mlxcontrol/interface.c: Update for 2 byte inquiry length field.
scsi_da.h: Add versions of the format and rigid disk pages
that are in a more reasonable format for CTL.
amd64/conf/GENERIC,
i386/conf/GENERIC,
ia64/conf/GENERIC,
sparc64/conf/GENERIC: Add device ctl.
i386/conf/PAE: The CTL frontend SIM at least does not compile
cleanly on PAE.
Sponsored by: Copan Systems, SGI and Spectra Logic
MFC after: 1 month
2012-01-12 00:34:33 +00:00
|
|
|
cam/ctl/ctl_mem_pool.c optional ctl
|
|
|
|
cam/ctl/ctl_scsi_all.c optional ctl
|
2012-02-23 21:32:32 +00:00
|
|
|
cam/ctl/ctl_error.c optional ctl
|
Add the CAM Target Layer (CTL).
CTL is a disk and processor device emulation subsystem originally written
for Copan Systems under Linux starting in 2003. It has been shipping in
Copan (now SGI) products since 2005.
It was ported to FreeBSD in 2008, and thanks to an agreement between SGI
(who acquired Copan's assets in 2010) and Spectra Logic in 2010, CTL is
available under a BSD-style license. The intent behind the agreement was
that Spectra would work to get CTL into the FreeBSD tree.
Some CTL features:
- Disk and processor device emulation.
- Tagged queueing
- SCSI task attribute support (ordered, head of queue, simple tags)
- SCSI implicit command ordering support. (e.g. if a read follows a mode
select, the read will be blocked until the mode select completes.)
- Full task management support (abort, LUN reset, target reset, etc.)
- Support for multiple ports
- Support for multiple simultaneous initiators
- Support for multiple simultaneous backing stores
- Persistent reservation support
- Mode sense/select support
- Error injection support
- High Availability support (1)
- All I/O handled in-kernel, no userland context switch overhead.
(1) HA Support is just an API stub, and needs much more to be fully
functional.
ctl.c: The core of CTL. Command handlers and processing,
character driver, and HA support are here.
ctl.h: Basic function declarations and data structures.
ctl_backend.c,
ctl_backend.h: The basic CTL backend API.
ctl_backend_block.c,
ctl_backend_block.h: The block and file backend. This allows for using
a disk or a file as the backing store for a LUN.
Multiple threads are started to do I/O to the
backing device, primarily because the VFS API
requires that to get any concurrency.
ctl_backend_ramdisk.c: A "fake" ramdisk backend. It only allocates a
small amount of memory to act as a source and sink
for reads and writes from an initiator. Therefore
it cannot be used for any real data, but it can be
used to test for throughput. It can also be used
to test initiators' support for extremely large LUNs.
ctl_cmd_table.c: This is a table with all 256 possible SCSI opcodes,
and command handler functions defined for supported
opcodes.
ctl_debug.h: Debugging support.
ctl_error.c,
ctl_error.h: CTL-specific wrappers around the CAM sense building
functions.
ctl_frontend.c,
ctl_frontend.h: These files define the basic CTL frontend port API.
ctl_frontend_cam_sim.c: This is a CTL frontend port that is also a CAM SIM.
This frontend allows for using CTL without any
target-capable hardware. So any LUNs you create in
CTL are visible in CAM via this port.
ctl_frontend_internal.c,
ctl_frontend_internal.h:
This is a frontend port written for Copan to do
some system-specific tasks that required sending
commands into CTL from inside the kernel. This
isn't entirely relevant to FreeBSD in general,
but can perhaps be repurposed.
ctl_ha.h: This is a stubbed-out High Availability API. Much
more is needed for full HA support. See the
comments in the header and the description of what
is needed in the README.ctl.txt file for more
details.
ctl_io.h: This defines most of the core CTL I/O structures.
union ctl_io is conceptually very similar to CAM's
union ccb.
ctl_ioctl.h: This defines all ioctls available through the CTL
character device, and the data structures needed
for those ioctls.
ctl_mem_pool.c,
ctl_mem_pool.h: Generic memory pool implementation used by the
internal frontend.
ctl_private.h: Private data structres (e.g. CTL softc) and
function prototypes. This also includes the SCSI
vendor and product names used by CTL.
ctl_scsi_all.c,
ctl_scsi_all.h: CTL wrappers around CAM sense printing functions.
ctl_ser_table.c: Command serialization table. This defines what
happens when one type of command is followed by
another type of command.
ctl_util.c,
ctl_util.h: CTL utility functions, primarily designed to be
used from userland. See ctladm for the primary
consumer of these functions. These include CDB
building functions.
scsi_ctl.c: CAM target peripheral driver and CTL frontend port.
This is the path into CTL for commands from
target-capable hardware/SIMs.
README.ctl.txt: CTL code features, roadmap, to-do list.
usr.sbin/Makefile: Add ctladm.
ctladm/Makefile,
ctladm/ctladm.8,
ctladm/ctladm.c,
ctladm/ctladm.h,
ctladm/util.c: ctladm(8) is the CTL management utility.
It fills a role similar to camcontrol(8).
It allow configuring LUNs, issuing commands,
injecting errors and various other control
functions.
usr.bin/Makefile: Add ctlstat.
ctlstat/Makefile
ctlstat/ctlstat.8,
ctlstat/ctlstat.c: ctlstat(8) fills a role similar to iostat(8).
It reports I/O statistics for CTL.
sys/conf/files: Add CTL files.
sys/conf/NOTES: Add device ctl.
sys/cam/scsi_all.h: To conform to more recent specs, the inquiry CDB
length field is now 2 bytes long.
Add several mode page definitions for CTL.
sys/cam/scsi_all.c: Handle the new 2 byte inquiry length.
sys/dev/ciss/ciss.c,
sys/dev/ata/atapi-cam.c,
sys/cam/scsi/scsi_targ_bh.c,
scsi_target/scsi_cmds.c,
mlxcontrol/interface.c: Update for 2 byte inquiry length field.
scsi_da.h: Add versions of the format and rigid disk pages
that are in a more reasonable format for CTL.
amd64/conf/GENERIC,
i386/conf/GENERIC,
ia64/conf/GENERIC,
sparc64/conf/GENERIC: Add device ctl.
i386/conf/PAE: The CTL frontend SIM at least does not compile
cleanly on PAE.
Sponsored by: Copan Systems, SGI and Spectra Logic
MFC after: 1 month
2012-01-12 00:34:33 +00:00
|
|
|
cam/ctl/ctl_util.c optional ctl
|
|
|
|
cam/ctl/scsi_ctl.c optional ctl
|
2005-01-04 06:07:25 +00:00
|
|
|
cam/scsi/scsi_da.c optional da
|
2005-11-27 21:41:58 +00:00
|
|
|
cam/scsi/scsi_low.c optional ct | ncv | nsp | stg
|
|
|
|
cam/scsi/scsi_low_pisa.c optional ct | ncv | nsp | stg
|
2005-01-04 06:07:25 +00:00
|
|
|
cam/scsi/scsi_pass.c optional pass
|
|
|
|
cam/scsi/scsi_pt.c optional pt
|
|
|
|
cam/scsi/scsi_sa.c optional sa
|
|
|
|
cam/scsi/scsi_ses.c optional ses
|
2007-04-07 19:40:58 +00:00
|
|
|
cam/scsi/scsi_sg.c optional sg
|
2005-01-04 06:07:25 +00:00
|
|
|
cam/scsi/scsi_targ_bh.c optional targbh
|
|
|
|
cam/scsi/scsi_target.c optional targ
|
Add Serial Management Protocol (SMP) passthrough support to CAM.
This includes support in the kernel, camcontrol(8), libcam and the mps(4)
driver for SMP passthrough.
The CAM SCSI probe code has been modified to fetch Inquiry VPD page 0x00
to determine supported pages, and will now fetch page 0x83 in addition to
page 0x80 if supported.
Add two new CAM CCBs, XPT_SMP_IO, and XPT_GDEV_ADVINFO. The SMP CCB is
intended for SMP requests and responses. The ADVINFO is currently used to
fetch cached VPD page 0x83 data from the transport layer, but is intended
to be extensible to fetch other types of device-specific data.
SMP-only devices are not currently represented in the CAM topology, and so
the current semantics are that the SIM will route SMP CCBs to either the
addressed device, if it contains an SMP target, or its parent, if it
contains an SMP target. (This is noted in cam_ccb.h, since it will change
later once we have the ability to have SMP-only devices in CAM's topology.)
smp_all.c,
smp_all.h: New helper routines for SMP. This includes
SMP request building routines, response parsing
routines, error decoding routines, and structure
definitions for a number of SMP commands.
libcam/Makefile: Add smp_all.c to libcam, so that SMP functionality
is available to userland applications.
camcontrol.8,
camcontrol.c: Add smp passthrough support to camcontrol. Several
new subcommands are now available:
'smpcmd' functions much like 'cmd', except that it
allows the user to send generic SMP commands.
'smprg' sends the SMP report general command, and
displays the decoded output. It will automatically
fetch extended output if it is available.
'smppc' sends the SMP phy control command, with any
number of potential options. Among other things,
this allows the user to reset a phy on a SAS
expander, or disable a phy on an expander.
'smpmaninfo' sends the SMP report manufacturer
information and displays the decoded output.
'smpphylist' displays a list of phys on an
expander, and the CAM devices attached to those
phys, if any.
cam.h,
cam.c: Add a status value for SMP errors
(CAM_SMP_STATUS_ERROR).
Add a missing description for CAM_SCSI_IT_NEXUS_LOST.
Add support for SMP commands to cam_error_string().
cam_ccb.h: Rename the CAM_DIR_RESV flag to CAM_DIR_BOTH. SMP
commands are by nature bi-directional, and we may
need to support bi-directional SCSI commands later.
Add the XPT_SMP_IO CCB. Since SMP commands are
bi-directional, there are pointers for both the
request and response.
Add a fill routine for SMP CCBs.
Add the XPT_GDEV_ADVINFO CCB. This is currently
used to fetch cached page 0x83 data from the
transport later, but is extensible to fetch many
other types of data.
cam_periph.c: Add support in cam_periph_mapmem() for XPT_SMP_IO
and XPT_GDEV_ADVINFO CCBs.
cam_xpt.c: Add support for executing XPT_SMP_IO CCBs.
cam_xpt_internal.h: Add fields for VPD pages 0x00 and 0x83 in struct
cam_ed.
scsi_all.c: Add scsi_get_sas_addr(), a function that parses
VPD page 0x83 data and pulls out a SAS address.
scsi_all.h: Add VPD page 0x00 and 0x83 structures, and a
prototype for scsi_get_sas_addr().
scsi_pass.c: Add support for mapping buffers in XPT_SMP_IO and
XPT_GDEV_ADVINFO CCBs.
scsi_xpt.c: In the SCSI probe code, first ask the device for
VPD page 0x00. If any VPD pages are supported,
that page is required to be implemented. Based on
the response, we may probe for the serial number
(page 0x80) or device id (page 0x83).
Add support for the XPT_GDEV_ADVINFO CCB.
sys/conf/files: Add smp_all.c.
mps.c: Add support for passing in a uio in mps_map_command(),
so we can map a S/G list at once.
Add support for SMP passthrough commands in
mps_data_cb(). SMP is a special case, because the
first buffer in the S/G list is outbound and the
second buffer is inbound.
Add support for warning the user if the busdma code
comes back with more buffers than will work for the
command. This will, for example, help the user
determine why an SMP command failed if busdma comes
back with three buffers.
mps_pci.c: Add sys/uio.h.
mps_sas.c: Add the SAS address and the parent handle to the
list of fields we pull from device page 0 and cache
in struct mpssas_target. These are needed for SMP
passthrough.
Add support for the XPT_SMP_IO CCB. For now, this
CCB is routed to the addressed device if it supports
SMP, or to its parent if it does not and the parent
does. This is necessary because CAM does not
currently support SMP-only nodes in the topology.
Make SMP passthrough support conditional on
__FreeBSD_version >= 900026. This will make it
easier to MFC this change to the driver without
MFCing the CAM changes as well.
mps_user.c: Un-staticize mpi_init_sge() so we can use it for
the SMP passthrough code.
mpsvar.h: Add a uio and iovecs into struct mps_command for
SMP passthrough commands.
Add a cm_max_segs field to struct mps_command so
that we can warn the user if busdma comes back with
too many segments.
Clear the cm_reply when a command gets freed. If
it is not cleared, reply frames will eventually get
freed into the pool multiple times and corrupt the
pool. (This fix is from scottl.)
Add a prototype for mpi_init_sge().
sys/param.h: Bump __FreeBSD_version to 900026 for the for the
inclusion of the XPT_GDEV_ADVINFO and XPT_SMP_IO
CAM CCBs.
2010-11-30 22:39:46 +00:00
|
|
|
cam/scsi/smp_all.c optional scbus
|
2005-09-11 02:04:04 +00:00
|
|
|
contrib/altq/altq/altq_cbq.c optional altq \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2005-01-04 06:07:25 +00:00
|
|
|
contrib/altq/altq/altq_cdnr.c optional altq
|
2005-09-11 02:04:04 +00:00
|
|
|
contrib/altq/altq/altq_hfsc.c optional altq \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
|
|
|
contrib/altq/altq/altq_priq.c optional altq \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
|
|
|
contrib/altq/altq/altq_red.c optional altq \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
|
|
|
contrib/altq/altq/altq_rio.c optional altq \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2004-06-13 17:29:10 +00:00
|
|
|
contrib/altq/altq/altq_rmclass.c optional altq
|
2005-09-11 02:04:04 +00:00
|
|
|
contrib/altq/altq/altq_subr.c optional altq \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/debugger/dbcmds.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbdisply.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbexec.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbfileio.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbhistry.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbinput.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbmethod.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbnames.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbstats.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbutils.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/debugger/dbxface.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmbuffer.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmnames.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmopcode.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmobject.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmresrc.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmresrcl.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmresrcl2.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmresrcs.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmutils.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/disassembler/dmwalk.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/components/dispatcher/dsargs.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dscontrol.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dsfield.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dsinit.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dsmethod.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dsmthdat.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dsobject.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dsopcode.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dsutils.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dswexec.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dswload.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dswload2.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dswscope.c optional acpi
|
|
|
|
contrib/dev/acpica/components/dispatcher/dswstate.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evevent.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evglock.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evgpe.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evgpeblk.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evgpeinit.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evgpeutil.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evmisc.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evregion.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evrgnini.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evsci.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evxface.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evxfevnt.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evxfgpe.c optional acpi
|
|
|
|
contrib/dev/acpica/components/events/evxfregn.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exconfig.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exconvrt.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/excreate.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exdebug.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exdump.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exfield.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exfldio.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exmisc.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exmutex.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exnames.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exoparg1.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exoparg2.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exoparg3.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exoparg6.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exprep.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exregion.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exresnte.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exresolv.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exresop.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exstore.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exstoren.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exstorob.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exsystem.c optional acpi
|
|
|
|
contrib/dev/acpica/components/executer/exutils.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwacpi.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwesleep.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwgpe.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwpci.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwregs.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwsleep.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwtimer.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwvalid.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwxface.c optional acpi
|
|
|
|
contrib/dev/acpica/components/hardware/hwxfsleep.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsaccess.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsalloc.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsdump.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nseval.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsinit.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsload.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsnames.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsobject.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsparse.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nspredef.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsrepair.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsrepair2.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nssearch.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsutils.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nswalk.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsxfeval.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsxfname.c optional acpi
|
|
|
|
contrib/dev/acpica/components/namespace/nsxfobj.c optional acpi
|
|
|
|
contrib/dev/acpica/components/parser/psargs.c optional acpi
|
|
|
|
contrib/dev/acpica/components/parser/psloop.c optional acpi
|
|
|
|
contrib/dev/acpica/components/parser/psopcode.c optional acpi
|
|
|
|
contrib/dev/acpica/components/parser/psparse.c optional acpi
|
|
|
|
contrib/dev/acpica/components/parser/psscope.c optional acpi
|
|
|
|
contrib/dev/acpica/components/parser/pstree.c optional acpi
|
|
|
|
contrib/dev/acpica/components/parser/psutils.c optional acpi
|
|
|
|
contrib/dev/acpica/components/parser/pswalk.c optional acpi
|
|
|
|
contrib/dev/acpica/components/parser/psxface.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsaddr.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rscalc.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rscreate.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsdump.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsinfo.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsio.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsirq.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rslist.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsmemory.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsmisc.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsserial.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsutils.c optional acpi
|
|
|
|
contrib/dev/acpica/components/resources/rsxface.c optional acpi
|
|
|
|
contrib/dev/acpica/components/tables/tbfadt.c optional acpi
|
|
|
|
contrib/dev/acpica/components/tables/tbfind.c optional acpi
|
|
|
|
contrib/dev/acpica/components/tables/tbinstal.c optional acpi
|
|
|
|
contrib/dev/acpica/components/tables/tbutils.c optional acpi
|
|
|
|
contrib/dev/acpica/components/tables/tbxface.c optional acpi
|
|
|
|
contrib/dev/acpica/components/tables/tbxfroot.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utaddress.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utalloc.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utcache.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utcopy.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utdebug.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utdecode.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utdelete.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/uteval.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utglobal.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utids.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utinit.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utlock.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utmath.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utmisc.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utmutex.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utobject.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utosi.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utresrc.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utstate.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utxface.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utxferror.c optional acpi
|
|
|
|
#contrib/dev/acpica/components/utilities/utxfmutex.c optional acpi
|
2005-09-11 02:27:34 +00:00
|
|
|
contrib/ipfilter/netinet/fil.c optional ipfilter inet \
|
2011-12-30 13:16:59 +00:00
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -I$S/contrib/ipfilter"
|
2005-09-11 02:27:34 +00:00
|
|
|
contrib/ipfilter/netinet/ip_auth.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
|
|
|
contrib/ipfilter/netinet/ip_fil_freebsd.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
|
|
|
contrib/ipfilter/netinet/ip_frag.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
|
|
|
contrib/ipfilter/netinet/ip_log.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
|
|
|
contrib/ipfilter/netinet/ip_nat.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
|
|
|
contrib/ipfilter/netinet/ip_proxy.c optional ipfilter inet \
|
2011-12-30 13:16:59 +00:00
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -I$S/contrib/ipfilter"
|
2005-09-11 02:27:34 +00:00
|
|
|
contrib/ipfilter/netinet/ip_state.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
|
|
|
contrib/ipfilter/netinet/ip_lookup.c optional ipfilter inet \
|
2011-12-30 13:16:59 +00:00
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-error -I$S/contrib/ipfilter"
|
2005-09-11 02:27:34 +00:00
|
|
|
contrib/ipfilter/netinet/ip_pool.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
|
|
|
contrib/ipfilter/netinet/ip_htable.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
|
|
|
contrib/ipfilter/netinet/ip_sync.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
|
|
|
contrib/ipfilter/netinet/mlfk_ipl.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ipfilter"
|
2010-06-13 13:02:43 +00:00
|
|
|
contrib/libfdt/fdt.c optional fdt
|
|
|
|
contrib/libfdt/fdt_ro.c optional fdt
|
|
|
|
contrib/libfdt/fdt_rw.c optional fdt
|
|
|
|
contrib/libfdt/fdt_strerror.c optional fdt
|
|
|
|
contrib/libfdt/fdt_sw.c optional fdt
|
|
|
|
contrib/libfdt/fdt_wip.c optional fdt
|
2005-09-11 01:28:05 +00:00
|
|
|
contrib/ngatm/netnatm/api/cc_conn.c optional ngatm_ccatm \
|
2007-07-05 07:04:17 +00:00
|
|
|
compile-with "${NORMAL_C_NOWERROR} -I$S/contrib/ngatm"
|
2005-09-11 01:28:05 +00:00
|
|
|
contrib/ngatm/netnatm/api/cc_data.c optional ngatm_ccatm \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/api/cc_dump.c optional ngatm_ccatm \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/api/cc_port.c optional ngatm_ccatm \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/api/cc_sig.c optional ngatm_ccatm \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/api/cc_user.c optional ngatm_ccatm \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/api/unisap.c optional ngatm_ccatm \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/misc/straddr.c optional ngatm_atmbase \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/misc/unimsg_common.c optional ngatm_atmbase \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/msg/traffic.c optional ngatm_atmbase \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/msg/uni_ie.c optional ngatm_atmbase \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/msg/uni_msg.c optional ngatm_atmbase \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/saal/saal_sscfu.c optional ngatm_sscfu \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/saal/saal_sscop.c optional ngatm_sscop \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/sig/sig_call.c optional ngatm_uni \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/sig/sig_coord.c optional ngatm_uni \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/sig/sig_party.c optional ngatm_uni \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/sig/sig_print.c optional ngatm_uni \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/sig/sig_reset.c optional ngatm_uni \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/sig/sig_uni.c optional ngatm_uni \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/sig/sig_unimsgcpy.c optional ngatm_uni \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
contrib/ngatm/netnatm/sig/sig_verify.c optional ngatm_uni \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
2009-06-10 21:51:05 +00:00
|
|
|
contrib/pf/net/if_pflog.c optional pflog pf inet \
|
2005-09-11 02:04:04 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2009-06-10 21:51:05 +00:00
|
|
|
contrib/pf/net/if_pfsync.c optional pfsync pf inet \
|
2005-09-11 02:04:04 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2009-06-10 21:51:05 +00:00
|
|
|
contrib/pf/net/pf.c optional pf inet \
|
2005-09-11 02:04:04 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2009-06-10 21:51:05 +00:00
|
|
|
contrib/pf/net/pf_if.c optional pf inet \
|
2005-09-11 02:04:04 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2009-06-10 21:51:05 +00:00
|
|
|
contrib/pf/net/pf_ioctl.c optional pf inet \
|
2005-09-11 02:04:04 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2011-06-28 11:57:25 +00:00
|
|
|
contrib/pf/net/pf_lb.c optional pf inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2009-06-10 21:51:05 +00:00
|
|
|
contrib/pf/net/pf_norm.c optional pf inet \
|
2005-09-11 02:04:04 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2009-06-10 21:51:05 +00:00
|
|
|
contrib/pf/net/pf_osfp.c optional pf inet \
|
2005-09-11 02:04:04 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2009-06-10 21:51:05 +00:00
|
|
|
contrib/pf/net/pf_ruleset.c optional pf inet \
|
2007-07-03 12:46:08 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2009-06-10 21:51:05 +00:00
|
|
|
contrib/pf/net/pf_table.c optional pf inet \
|
2007-07-03 12:46:08 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2005-01-04 06:07:25 +00:00
|
|
|
contrib/pf/netinet/in4_cksum.c optional pf inet
|
2007-07-03 12:13:45 +00:00
|
|
|
crypto/blowfish/bf_ecb.c optional ipsec
|
|
|
|
crypto/blowfish/bf_skey.c optional crypto | ipsec
|
|
|
|
crypto/camellia/camellia.c optional crypto | ipsec
|
|
|
|
crypto/camellia/camellia-api.c optional crypto | ipsec
|
|
|
|
crypto/des/des_ecb.c optional crypto | ipsec | netsmb
|
|
|
|
crypto/des/des_setkey.c optional crypto | ipsec | netsmb
|
Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager. I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.
The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.
The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.
Sponsored by: Isilon Systems
MFC after: 1 month
2008-11-03 10:38:00 +00:00
|
|
|
crypto/rc4/rc4.c optional netgraph_mppc_encryption | kgssapi
|
2005-11-27 21:41:58 +00:00
|
|
|
crypto/rijndael/rijndael-alg-fst.c optional crypto | geom_bde | \
|
|
|
|
ipsec | random | wlan_ccmp
|
|
|
|
crypto/rijndael/rijndael-api-fst.c optional geom_bde | random
|
|
|
|
crypto/rijndael/rijndael-api.c optional crypto | ipsec | wlan_ccmp
|
|
|
|
crypto/sha1.c optional carp | crypto | ipsec | \
|
2006-11-03 15:23:16 +00:00
|
|
|
netgraph_mppc_encryption | sctp
|
|
|
|
crypto/sha2/sha2.c optional crypto | geom_bde | ipsec | random | \
|
2006-11-03 21:09:03 +00:00
|
|
|
sctp
|
2004-07-10 23:47:20 +00:00
|
|
|
ddb/db_access.c optional ddb
|
|
|
|
ddb/db_break.c optional ddb
|
Add a new DDB(4) facility, output capture. Input and output from DDB may be
captured to a memory buffer for later inspection using sysctl(8), or in the
future, to a textdump.
A new DDB command, "capture", is added, which accepts arguments "on", "off",
"reset", and "status".
A new DDB sysctl tree, debug.ddb.capture, is added, which can be used to
resize the capture buffer and extract buffer contents.
MFC after: 3 months
2007-12-25 23:06:51 +00:00
|
|
|
ddb/db_capture.c optional ddb
|
2004-07-10 23:47:20 +00:00
|
|
|
ddb/db_command.c optional ddb
|
|
|
|
ddb/db_examine.c optional ddb
|
|
|
|
ddb/db_expr.c optional ddb
|
|
|
|
ddb/db_input.c optional ddb
|
|
|
|
ddb/db_lex.c optional ddb
|
|
|
|
ddb/db_main.c optional ddb
|
|
|
|
ddb/db_output.c optional ddb
|
|
|
|
ddb/db_print.c optional ddb
|
|
|
|
ddb/db_ps.c optional ddb
|
|
|
|
ddb/db_run.c optional ddb
|
Add a simple scripting facility to DDB(4), allowing the user to
define a set of named scripts. Each script consists of a list of DDB
commands separated by ";"s that will be executed verbatim. No higher
level language constructs, such as branching, are provided for:
scripts are executed by sequentially injecting commands into the DDB
input buffer.
Four new commands are present in DDB: "run" to run a specific script,
"script" to define or print a script, "scripts" to list currently
defined scripts, and "unscript" to delete a script, modeled on shell
alias commands. Scripts may also be manipulated using sysctls in the
debug.ddb.scripting MIB space, although users will prefer to use the
soon-to-be-added ddb(8) tool for usability reasons.
Scripts with certain names are automatically executed on various DDB
events, such as entering the debugger via a panic, a witness error,
watchdog, breakpoint, sysctl, serial break, etc, allowing customized
handling.
MFC after: 3 months
2007-12-26 09:33:19 +00:00
|
|
|
ddb/db_script.c optional ddb
|
2004-07-10 23:47:20 +00:00
|
|
|
ddb/db_sym.c optional ddb
|
|
|
|
ddb/db_thread.c optional ddb
|
Add textdump(4) facility, which provides an alternative form of kernel
dump using mechanically generated/extracted debugging output rather than
a simple memory dump. Current sources of debugging output are:
- DDB output capture buffer, if there is captured output to save
- Kernel message buffer
- Kernel configuration, if included in kernel
- Kernel version string
- Panic message
Textdumps are stored in swap/dump partitions as with regular dumps, but
are laid out as ustar files in order to allow multiple parts to be stored
as a stream of sequentially written blocks. Blocks are written out in
reverse order, as the size of a textdump isn't known a priori. As with
regular dumps, they will be extracted using savecore(8).
One new DDB(4) command is added, "textdump", which accepts "set",
"unset", and "status" arguments. By default, normal kernel dumps are
generated unless "textdump set" is run in order to schedule a textdump.
It can be canceled using "textdump unset" to restore generation of a
normal kernel dump.
Several sysctls exist to configure aspects of textdumps;
debug.ddb.textdump.pending can be set to check whether a textdump is
pending, or set/unset in order to control whether the next kernel dump
will be a textdump from userspace.
While textdumps don't have to be generated as a result of a DDB script
run automatically as part of a kernel panic, this is a particular useful
way to use them, as instead of generating a complete memory dump, a
simple transcript of an automated DDB session can be captured using the
DDB output capture and textdump facilities. This can be used to
generate quite brief kernel bug reports rich in debugging information
but not dependent on kernel symbol tables or precisely synchronized
source code. Most textdumps I generate are less than 100k including
the full message buffer. Using textdumps with an interactive debugging
session is also useful, with capture being enabled/disabled in order to
record some but not all of the DDB session.
MFC after: 3 months
2007-12-26 11:32:33 +00:00
|
|
|
ddb/db_textdump.c optional ddb
|
2004-07-10 23:47:20 +00:00
|
|
|
ddb/db_variables.c optional ddb
|
|
|
|
ddb/db_watch.c optional ddb
|
|
|
|
ddb/db_write_cmd.c optional ddb
|
2005-01-10 05:11:40 +00:00
|
|
|
#dev/dpt/dpt_control.c optional dpt
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/aac/aac.c optional aac
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/aac/aac_cam.c optional aacp aac
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/aac/aac_debug.c optional aac
|
|
|
|
dev/aac/aac_disk.c optional aac
|
2002-09-25 15:21:50 +00:00
|
|
|
dev/aac/aac_linux.c optional aac compat_linux
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/aac/aac_pci.c optional aac pci
|
2009-06-23 13:17:25 +00:00
|
|
|
dev/acpi_support/acpi_wmi.c optional acpi_wmi acpi
|
2004-11-15 07:48:22 +00:00
|
|
|
dev/acpi_support/acpi_asus.c optional acpi_asus acpi
|
2005-03-18 09:34:52 +00:00
|
|
|
dev/acpi_support/acpi_fujitsu.c optional acpi_fujitsu acpi
|
2009-06-23 13:17:25 +00:00
|
|
|
dev/acpi_support/acpi_hp.c optional acpi_hp acpi
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/acpi_support/acpi_ibm.c optional acpi_ibm acpi
|
2004-11-15 07:48:22 +00:00
|
|
|
dev/acpi_support/acpi_panasonic.c optional acpi_panasonic acpi
|
|
|
|
dev/acpi_support/acpi_sony.c optional acpi_sony acpi
|
|
|
|
dev/acpi_support/acpi_toshiba.c optional acpi_toshiba acpi
|
2010-06-25 15:32:46 +00:00
|
|
|
dev/acpi_support/atk0110.c optional aibs acpi
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/acpica/Osd/OsdDebug.c optional acpi
|
|
|
|
dev/acpica/Osd/OsdHardware.c optional acpi
|
|
|
|
dev/acpica/Osd/OsdInterrupt.c optional acpi
|
|
|
|
dev/acpica/Osd/OsdMemory.c optional acpi
|
|
|
|
dev/acpica/Osd/OsdSchedule.c optional acpi
|
|
|
|
dev/acpica/Osd/OsdStream.c optional acpi
|
|
|
|
dev/acpica/Osd/OsdSynch.c optional acpi
|
|
|
|
dev/acpica/Osd/OsdTable.c optional acpi
|
2002-10-24 19:05:04 +00:00
|
|
|
dev/acpica/acpi.c optional acpi
|
2003-04-29 19:19:47 +00:00
|
|
|
dev/acpica/acpi_acad.c optional acpi
|
2002-10-24 19:05:04 +00:00
|
|
|
dev/acpica/acpi_battery.c optional acpi
|
|
|
|
dev/acpica/acpi_button.c optional acpi
|
2003-04-29 19:19:47 +00:00
|
|
|
dev/acpica/acpi_cmbat.c optional acpi
|
2002-10-24 19:05:04 +00:00
|
|
|
dev/acpica/acpi_cpu.c optional acpi
|
|
|
|
dev/acpica/acpi_ec.c optional acpi
|
2005-10-31 21:40:40 +00:00
|
|
|
dev/acpica/acpi_hpet.c optional acpi
|
2003-07-09 16:14:10 +00:00
|
|
|
dev/acpica/acpi_isab.c optional acpi isa
|
2002-10-24 19:05:04 +00:00
|
|
|
dev/acpica/acpi_lid.c optional acpi
|
2003-11-15 19:26:06 +00:00
|
|
|
dev/acpica/acpi_package.c optional acpi
|
2002-10-24 19:05:04 +00:00
|
|
|
dev/acpica/acpi_pci.c optional acpi pci
|
|
|
|
dev/acpica/acpi_pci_link.c optional acpi pci
|
|
|
|
dev/acpica/acpi_pcib.c optional acpi pci
|
|
|
|
dev/acpica/acpi_pcib_acpi.c optional acpi pci
|
|
|
|
dev/acpica/acpi_pcib_pci.c optional acpi pci
|
2005-02-24 20:48:07 +00:00
|
|
|
dev/acpica/acpi_perf.c optional acpi
|
2004-04-14 18:13:16 +00:00
|
|
|
dev/acpica/acpi_powerres.c optional acpi
|
2004-06-30 04:47:31 +00:00
|
|
|
dev/acpica/acpi_quirk.c optional acpi
|
2002-10-24 19:05:04 +00:00
|
|
|
dev/acpica/acpi_resource.c optional acpi
|
2005-10-23 00:22:02 +00:00
|
|
|
dev/acpica/acpi_smbat.c optional acpi
|
2002-10-24 19:05:04 +00:00
|
|
|
dev/acpica/acpi_thermal.c optional acpi
|
2005-02-24 20:48:07 +00:00
|
|
|
dev/acpica/acpi_throttle.c optional acpi
|
2002-10-24 19:05:04 +00:00
|
|
|
dev/acpica/acpi_timer.c optional acpi
|
2004-03-01 08:12:55 +00:00
|
|
|
dev/acpica/acpi_video.c optional acpi_video acpi
|
2006-04-15 12:31:34 +00:00
|
|
|
dev/acpica/acpi_dock.c optional acpi_dock acpi
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/adlink/adlink.c optional adlink
|
|
|
|
dev/advansys/adv_eisa.c optional adv eisa
|
|
|
|
dev/advansys/adv_pci.c optional adv pci
|
|
|
|
dev/advansys/advansys.c optional adv
|
|
|
|
dev/advansys/advlib.c optional adv
|
|
|
|
dev/advansys/advmcode.c optional adv
|
|
|
|
dev/advansys/adw_pci.c optional adw pci
|
|
|
|
dev/advansys/adwcam.c optional adw
|
|
|
|
dev/advansys/adwlib.c optional adw
|
|
|
|
dev/advansys/adwmcode.c optional adw
|
2008-10-03 10:31:31 +00:00
|
|
|
dev/ae/if_ae.c optional ae pci
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/age/if_age.c optional age pci
|
2007-11-12 21:51:38 +00:00
|
|
|
dev/agp/agp.c optional agp pci
|
|
|
|
dev/agp/agp_if.m optional agp pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/aha/aha.c optional aha
|
|
|
|
dev/aha/aha_isa.c optional aha isa
|
|
|
|
dev/aha/aha_mca.c optional aha mca
|
|
|
|
dev/ahb/ahb.c optional ahb eisa
|
Separate the parallel scsi knowledge out of the core of the XPT, and
modularize it so that new transports can be created.
Add a transport for SATA
Add a periph+protocol layer for ATA
Add a driver for AHCI-compliant hardware.
Add a maxio field to CAM so that drivers can advertise their max
I/O capability. Modify various drivers so that they are insulated
from the value of MAXPHYS.
The new ATA/SATA code supports AHCI-compliant hardware, and will override
the classic ATA driver if it is loaded as a module at boot time or compiled
into the kernel. The stack now support NCQ (tagged queueing) for increased
performance on modern SATA drives. It also supports port multipliers.
ATA drives are accessed via 'ada' device nodes. ATAPI drives are
accessed via 'cd' device nodes. They can all be enumerated and manipulated
via camcontrol, just like SCSI drives. SCSI commands are not translated to
their ATA equivalents; ATA native commands are used throughout the entire
stack, including camcontrol. See the camcontrol manpage for further
details. Testing this code may require that you update your fstab, and
possibly modify your BIOS to enable AHCI functionality, if available.
This code is very experimental at the moment. The userland ABI/API has
changed, so applications will need to be recompiled. It may change
further in the near future. The 'ada' device name may also change as
more infrastructure is completed in this project. The goal is to
eventually put all CAM busses and devices until newbus, allowing for
interesting topology and management options.
Few functional changes will be seen with existing SCSI/SAS/FC drivers,
though the userland ABI has still changed. In the future, transports
specific modules for SAS and FC may appear in order to better support
the topologies and capabilities of these technologies.
The modularization of CAM and the addition of the ATA/SATA modules is
meant to break CAM out of the mold of being specific to SCSI, letting it
grow to be a framework for arbitrary transports and protocols. It also
allows drivers to be written to support discrete hardware without
jeopardizing the stability of non-related hardware. While only an AHCI
driver is provided now, a Silicon Image driver is also in the works.
Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware
is possible and encouraged. Help with new transports is also encouraged.
Submitted by: scottl, mav
Approved by: re
2009-07-10 08:18:08 +00:00
|
|
|
dev/ahci/ahci.c optional ahci pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/aic/aic.c optional aic
|
|
|
|
dev/aic/aic_pccard.c optional aic pccard
|
|
|
|
dev/aic7xxx/ahc_eisa.c optional ahc eisa
|
|
|
|
dev/aic7xxx/ahc_isa.c optional ahc isa
|
2011-12-21 15:59:18 +00:00
|
|
|
dev/aic7xxx/ahc_pci.c optional ahc pci \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}"
|
|
|
|
dev/aic7xxx/ahd_pci.c optional ahd pci \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}"
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/aic7xxx/aic7770.c optional ahc
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/aic7xxx/aic79xx.c optional ahd pci
|
2002-06-06 16:35:58 +00:00
|
|
|
dev/aic7xxx/aic79xx_osm.c optional ahd pci
|
|
|
|
dev/aic7xxx/aic79xx_pci.c optional ahd pci
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/aic7xxx/aic7xxx.c optional ahc
|
|
|
|
dev/aic7xxx/aic7xxx_93cx6.c optional ahc
|
|
|
|
dev/aic7xxx/aic7xxx_osm.c optional ahc
|
|
|
|
dev/aic7xxx/aic7xxx_pci.c optional ahc pci
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/alc/if_alc.c optional alc pci
|
|
|
|
dev/ale/if_ale.c optional ale pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/amr/amr.c optional amr
|
2008-11-03 00:53:54 +00:00
|
|
|
dev/amr/amr_cam.c optional amrp amr
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/amr/amr_disk.c optional amr
|
2006-01-24 21:13:50 +00:00
|
|
|
dev/amr/amr_linux.c optional amr compat_linux
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/amr/amr_pci.c optional amr pci
|
|
|
|
dev/an/if_an.c optional an
|
|
|
|
dev/an/if_an_isa.c optional an isa
|
|
|
|
dev/an/if_an_pccard.c optional an pccard
|
|
|
|
dev/an/if_an_pci.c optional an pci
|
2011-12-21 16:38:37 +00:00
|
|
|
dev/asr/asr.c optional asr pci \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WARRAY_BOUNDS}"
|
This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.
However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:
atacore: ATA core functionality, always needed for any ATA setup
atacard: CARDBUS support
atacbus: PC98 cbus support
ataisa: ISA bus support
atapci: PCI bus support only generic chipset support.
ataahci: AHCI support, also pulled in by some vendor modules.
ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets
atadisk: ATA disk driver
ataraid: ATA softraid driver
atapicd: ATAPI cd/dvd driver
atapifd: ATAPI floppy/flashdisk driver
atapist: ATAPI tape driver
atausb: ATA<>USB bridge
atapicam: ATA<>CAM bridge
This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:
device atacore
device atapci
device atavia
And then you need the atadisk, atapicd etc lines in there just as usual.
If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.
However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
2008-10-09 12:56:57 +00:00
|
|
|
#
|
|
|
|
dev/ata/ata_if.m optional ata | atacore
|
|
|
|
dev/ata/ata-all.c optional ata | atacore
|
2009-06-25 18:09:23 +00:00
|
|
|
dev/ata/ata-dma.c optional ata | atacore
|
This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.
However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:
atacore: ATA core functionality, always needed for any ATA setup
atacard: CARDBUS support
atacbus: PC98 cbus support
ataisa: ISA bus support
atapci: PCI bus support only generic chipset support.
ataahci: AHCI support, also pulled in by some vendor modules.
ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets
atadisk: ATA disk driver
ataraid: ATA softraid driver
atapicd: ATAPI cd/dvd driver
atapifd: ATAPI floppy/flashdisk driver
atapist: ATAPI tape driver
atausb: ATA<>USB bridge
atapicam: ATA<>CAM bridge
This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:
device atacore
device atapci
device atavia
And then you need the atadisk, atapicd etc lines in there just as usual.
If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.
However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
2008-10-09 12:56:57 +00:00
|
|
|
dev/ata/ata-lowlevel.c optional ata | atacore
|
|
|
|
dev/ata/ata-queue.c optional ata | atacore
|
2009-06-25 18:09:23 +00:00
|
|
|
dev/ata/ata-sata.c optional ata | atacore
|
This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.
However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:
atacore: ATA core functionality, always needed for any ATA setup
atacard: CARDBUS support
atacbus: PC98 cbus support
ataisa: ISA bus support
atapci: PCI bus support only generic chipset support.
ataahci: AHCI support, also pulled in by some vendor modules.
ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets
atadisk: ATA disk driver
ataraid: ATA softraid driver
atapicd: ATAPI cd/dvd driver
atapifd: ATAPI floppy/flashdisk driver
atapist: ATAPI tape driver
atausb: ATA<>USB bridge
atapicam: ATA<>CAM bridge
This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:
device atacore
device atapci
device atavia
And then you need the atadisk, atapicd etc lines in there just as usual.
If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.
However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
2008-10-09 12:56:57 +00:00
|
|
|
dev/ata/ata-card.c optional ata pccard | atapccard
|
|
|
|
dev/ata/ata-cbus.c optional ata pc98 | atapc98
|
|
|
|
dev/ata/ata-isa.c optional ata isa | ataisa
|
|
|
|
dev/ata/ata-pci.c optional ata pci | atapci
|
|
|
|
dev/ata/chipsets/ata-ahci.c optional ata pci | ataahci | ataacerlabs | \
|
2009-07-05 14:50:45 +00:00
|
|
|
ataati | ataintel | atajmicron | \
|
|
|
|
atavia | atanvidia
|
This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.
However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:
atacore: ATA core functionality, always needed for any ATA setup
atacard: CARDBUS support
atacbus: PC98 cbus support
ataisa: ISA bus support
atapci: PCI bus support only generic chipset support.
ataahci: AHCI support, also pulled in by some vendor modules.
ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets
atadisk: ATA disk driver
ataraid: ATA softraid driver
atapicd: ATAPI cd/dvd driver
atapifd: ATAPI floppy/flashdisk driver
atapist: ATAPI tape driver
atausb: ATA<>USB bridge
atapicam: ATA<>CAM bridge
This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:
device atacore
device atapci
device atavia
And then you need the atadisk, atapicd etc lines in there just as usual.
If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.
However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
2008-10-09 12:56:57 +00:00
|
|
|
dev/ata/chipsets/ata-acard.c optional ata pci | ataacard
|
|
|
|
dev/ata/chipsets/ata-acerlabs.c optional ata pci | ataacerlabs
|
|
|
|
dev/ata/chipsets/ata-adaptec.c optional ata pci | ataadaptec
|
|
|
|
dev/ata/chipsets/ata-amd.c optional ata pci | ataamd
|
|
|
|
dev/ata/chipsets/ata-ati.c optional ata pci | ataati
|
|
|
|
dev/ata/chipsets/ata-cenatek.c optional ata pci | atacenatek
|
|
|
|
dev/ata/chipsets/ata-cypress.c optional ata pci | atacypress
|
|
|
|
dev/ata/chipsets/ata-cyrix.c optional ata pci | atacyrix
|
|
|
|
dev/ata/chipsets/ata-highpoint.c optional ata pci | atahighpoint
|
|
|
|
dev/ata/chipsets/ata-intel.c optional ata pci | ataintel
|
|
|
|
dev/ata/chipsets/ata-ite.c optional ata pci | ataite
|
|
|
|
dev/ata/chipsets/ata-jmicron.c optional ata pci | atajmicron
|
2009-10-29 20:53:26 +00:00
|
|
|
dev/ata/chipsets/ata-marvell.c optional ata pci | atamarvell | ataadaptec
|
This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.
However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:
atacore: ATA core functionality, always needed for any ATA setup
atacard: CARDBUS support
atacbus: PC98 cbus support
ataisa: ISA bus support
atapci: PCI bus support only generic chipset support.
ataahci: AHCI support, also pulled in by some vendor modules.
ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets
atadisk: ATA disk driver
ataraid: ATA softraid driver
atapicd: ATAPI cd/dvd driver
atapifd: ATAPI floppy/flashdisk driver
atapist: ATAPI tape driver
atausb: ATA<>USB bridge
atapicam: ATA<>CAM bridge
This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:
device atacore
device atapci
device atavia
And then you need the atadisk, atapicd etc lines in there just as usual.
If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.
However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
2008-10-09 12:56:57 +00:00
|
|
|
dev/ata/chipsets/ata-micron.c optional ata pci | atamicron
|
|
|
|
dev/ata/chipsets/ata-national.c optional ata pci | atanational
|
|
|
|
dev/ata/chipsets/ata-netcell.c optional ata pci | atanetcell
|
|
|
|
dev/ata/chipsets/ata-nvidia.c optional ata pci | atanvidia
|
|
|
|
dev/ata/chipsets/ata-promise.c optional ata pci | atapromise
|
|
|
|
dev/ata/chipsets/ata-serverworks.c optional ata pci | ataserverworks
|
2009-10-29 20:53:26 +00:00
|
|
|
dev/ata/chipsets/ata-siliconimage.c optional ata pci | atasiliconimage | ataati
|
This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.
However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:
atacore: ATA core functionality, always needed for any ATA setup
atacard: CARDBUS support
atacbus: PC98 cbus support
ataisa: ISA bus support
atapci: PCI bus support only generic chipset support.
ataahci: AHCI support, also pulled in by some vendor modules.
ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets
atadisk: ATA disk driver
ataraid: ATA softraid driver
atapicd: ATAPI cd/dvd driver
atapifd: ATAPI floppy/flashdisk driver
atapist: ATAPI tape driver
atausb: ATA<>USB bridge
atapicam: ATA<>CAM bridge
This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:
device atacore
device atapci
device atavia
And then you need the atadisk, atapicd etc lines in there just as usual.
If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.
However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
2008-10-09 12:56:57 +00:00
|
|
|
dev/ata/chipsets/ata-sis.c optional ata pci | atasis
|
|
|
|
dev/ata/chipsets/ata-via.c optional ata pci | atavia
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ata/ata-disk.c optional atadisk
|
|
|
|
dev/ata/ata-raid.c optional ataraid
|
|
|
|
dev/ata/atapi-cd.c optional atapicd
|
|
|
|
dev/ata/atapi-fd.c optional atapifd
|
|
|
|
dev/ata/atapi-tape.c optional atapist
|
This is the roumored ATA modulerisation works, and it needs a little explanation.
If you just config KERNEL as usual there should be no apparent changes, you'll get all chipset support code compiled in.
However there is now a way to only compile in code for chipsets needed on a pr vendor basis. ATA now has the following "device" entries:
atacore: ATA core functionality, always needed for any ATA setup
atacard: CARDBUS support
atacbus: PC98 cbus support
ataisa: ISA bus support
atapci: PCI bus support only generic chipset support.
ataahci: AHCI support, also pulled in by some vendor modules.
ataacard, ataacerlabs, ataadaptec, ataamd, ataati, atacenatek, atacypress, atacyrix, atahighpoint, ataintel, ataite, atajmicron, atamarvell, atamicron, atanational, atanetcell, atanvidia, atapromise, ataserverworks, atasiliconimage, atasis, atavia; Vendor support, ie atavia for VIA chipsets
atadisk: ATA disk driver
ataraid: ATA softraid driver
atapicd: ATAPI cd/dvd driver
atapifd: ATAPI floppy/flashdisk driver
atapist: ATAPI tape driver
atausb: ATA<>USB bridge
atapicam: ATA<>CAM bridge
This makes it possible to config a kernel with just VIA chipset support by having the following ATA lines in the kernel config file:
device atacore
device atapci
device atavia
And then you need the atadisk, atapicd etc lines in there just as usual.
If you use ATA as modules loaded at boot there is few changes except the rename of the "ata" module to "atacore", things looks just as usual.
However under atapci you now have a whole bunch of vendor specific drivers, that you can kldload individually depending on you needs. Drivers have the same names as used in the kernel config explained above.
2008-10-09 12:56:57 +00:00
|
|
|
dev/ata/atapi-cam.c optional atapicam
|
|
|
|
#
|
2011-03-31 08:07:13 +00:00
|
|
|
dev/ath/if_ath_pci.c optional ath_pci pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
|
|
|
#
|
|
|
|
dev/ath/if_ath_ahb.c optional ath_ahb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
|
|
|
#
|
2008-12-01 16:53:01 +00:00
|
|
|
dev/ath/if_ath.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2011-01-29 05:08:21 +00:00
|
|
|
dev/ath/if_ath_debug.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2011-03-02 17:19:54 +00:00
|
|
|
dev/ath/if_ath_keycache.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2011-12-26 05:37:09 +00:00
|
|
|
dev/ath/if_ath_led.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2011-01-29 11:35:23 +00:00
|
|
|
dev/ath/if_ath_tx.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2011-02-01 08:03:01 +00:00
|
|
|
dev/ath/if_ath_tx_ht.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2011-03-02 16:03:19 +00:00
|
|
|
dev/ath/if_ath_sysctl.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2008-12-01 16:53:01 +00:00
|
|
|
dev/ath/ah_osdep.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2009-03-12 18:18:28 +00:00
|
|
|
#
|
2008-12-01 16:53:01 +00:00
|
|
|
dev/ath/ath_hal/ah.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
|
|
|
dev/ath/ath_hal/ah_eeprom_v1.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
|
|
|
dev/ath/ath_hal/ah_eeprom_v3.c optional ath_hal | ath_ar5211 | ath_ar5212 \
|
2006-09-18 16:30:28 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2009-03-12 18:18:28 +00:00
|
|
|
dev/ath/ath_hal/ah_eeprom_v14.c \
|
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2010-01-29 10:10:14 +00:00
|
|
|
dev/ath/ath_hal/ah_eeprom_v4k.c \
|
2010-02-15 17:49:49 +00:00
|
|
|
optional ath_hal | ath_ar9285 \
|
2010-01-29 10:10:14 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2011-05-26 20:31:08 +00:00
|
|
|
dev/ath/ath_hal/ah_eeprom_9287.c \
|
|
|
|
optional ath_hal | ath_ar9287 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2008-12-01 16:53:01 +00:00
|
|
|
dev/ath/ath_hal/ah_regdomain.c optional ath \
|
2011-12-21 17:01:13 +00:00
|
|
|
compile-with "${NORMAL_C} ${NO_WSHIFT_COUNT_NEGATIVE} ${NO_WSHIFT_COUNT_OVERFLOW} -I$S/dev/ath"
|
2009-03-12 18:18:28 +00:00
|
|
|
# ar5210
|
2008-12-01 16:53:01 +00:00
|
|
|
dev/ath/ath_hal/ar5210/ar5210_attach.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5210/ar5210_beacon.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5210/ar5210_interrupts.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5210/ar5210_keycache.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5210/ar5210_misc.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5210/ar5210_phy.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5210/ar5210_power.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5210/ar5210_recv.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5210/ar5210_reset.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5210/ar5210_xmit.c optional ath_hal | ath_ar5210 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2009-03-12 18:18:28 +00:00
|
|
|
# ar5211
|
2008-12-01 16:53:01 +00:00
|
|
|
dev/ath/ath_hal/ar5211/ar5211_attach.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5211/ar5211_beacon.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5211/ar5211_interrupts.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5211/ar5211_keycache.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5211/ar5211_misc.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5211/ar5211_phy.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5211/ar5211_power.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5211/ar5211_recv.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5211/ar5211_reset.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5211/ar5211_xmit.c optional ath_hal | ath_ar5211 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2009-03-12 18:18:28 +00:00
|
|
|
# ar5212
|
2008-12-01 16:53:01 +00:00
|
|
|
dev/ath/ath_hal/ar5212/ar5212_ani.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_attach.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_beacon.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_eeprom.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_gpio.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_interrupts.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_keycache.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_misc.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_phy.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_power.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_recv.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_reset.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_rfgain.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5212_xmit.c \
|
2010-01-29 10:10:14 +00:00
|
|
|
optional ath_hal | ath_ar5212 | ath_ar5416 | ath_ar9160 | ath_ar9280 | \
|
2011-05-26 20:31:08 +00:00
|
|
|
ath_ar9285 ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2009-03-12 18:18:28 +00:00
|
|
|
# ar5416 (depends on ar5212)
|
2008-12-01 16:53:01 +00:00
|
|
|
dev/ath/ath_hal/ar5416/ar5416_ani.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_attach.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_beacon.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_cal.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_cal_iq.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_cal_adcgain.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_cal_adcdc.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_eeprom.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_gpio.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_interrupts.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_keycache.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_misc.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_phy.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_power.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2012-02-20 03:07:07 +00:00
|
|
|
dev/ath/ath_hal/ar5416/ar5416_radar.c \
|
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2008-12-01 16:53:01 +00:00
|
|
|
dev/ath/ath_hal/ar5416/ar5416_recv.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_reset.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5416/ar5416_xmit.c \
|
2011-05-26 20:31:08 +00:00
|
|
|
optional ath_hal | ath_ar5416 | ath_ar9160 | ath_ar9280 | ath_ar9285 | \
|
|
|
|
ath_ar9287 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-04-28 12:47:40 +00:00
|
|
|
# ar9130 (depends upon ar5416) - also requires AH_SUPPORT_AR9130
|
2011-11-24 06:27:47 +00:00
|
|
|
#
|
|
|
|
# Since this is an embedded MAC SoC, there's no need to compile it into the
|
|
|
|
# default HAL.
|
|
|
|
dev/ath/ath_hal/ar9001/ar9130_attach.c optional ath_ar9130 \
|
2011-04-28 12:47:40 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-11-24 06:27:47 +00:00
|
|
|
dev/ath/ath_hal/ar9001/ar9130_phy.c optional ath_ar9130 \
|
2011-04-28 12:47:40 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-11-24 06:27:47 +00:00
|
|
|
dev/ath/ath_hal/ar9001/ar9130_eeprom.c optional ath_ar9130 \
|
2011-04-28 12:47:40 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2009-03-12 18:18:28 +00:00
|
|
|
# ar9160 (depends on ar5416)
|
2011-01-20 09:03:40 +00:00
|
|
|
dev/ath/ath_hal/ar9001/ar9160_attach.c optional ath_hal | ath_ar9160 \
|
2008-12-01 16:53:01 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2010-02-15 17:49:49 +00:00
|
|
|
# ar9280 (depends on ar5416)
|
2011-01-20 09:03:40 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9280_attach.c optional ath_hal | ath_ar9280 | \
|
2010-02-15 17:49:49 +00:00
|
|
|
ath_ar9285 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-03-08 06:59:59 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9280_olc.c optional ath_hal | ath_ar9280 | \
|
|
|
|
ath_ar9285 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2010-02-15 17:49:49 +00:00
|
|
|
# ar9285 (depends on ar5416 and ar9280)
|
2011-01-20 09:03:40 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285_attach.c optional ath_hal | ath_ar9285 \
|
2010-02-15 17:49:49 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-01-20 09:03:40 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285_reset.c optional ath_hal | ath_ar9285 \
|
2009-03-12 18:18:28 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-03-11 11:58:54 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285_cal.c optional ath_hal | ath_ar9285 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-04-13 02:40:45 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285_phy.c optional ath_hal | ath_ar9285 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-04-13 11:32:15 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285_diversity.c optional ath_hal | ath_ar9285 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-05-26 20:31:08 +00:00
|
|
|
# ar9287 (depends on ar5416)
|
|
|
|
dev/ath/ath_hal/ar9002/ar9287_attach.c optional ath_hal | ath_ar9287 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar9002/ar9287_reset.c optional ath_hal | ath_ar9287 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar9002/ar9287_cal.c optional ath_hal | ath_ar9287 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar9002/ar9287_olc.c optional ath_hal | ath_ar9287 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
|
2009-03-12 18:18:28 +00:00
|
|
|
# rf backends
|
|
|
|
dev/ath/ath_hal/ar5212/ar2316.c optional ath_rf2316 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar2317.c optional ath_rf2317 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar2413.c optional ath_hal | ath_rf2413 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar2425.c optional ath_hal | ath_rf2425 | ath_rf2417 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5111.c optional ath_hal | ath_rf5111 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5112.c optional ath_hal | ath_rf5112 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
dev/ath/ath_hal/ar5212/ar5413.c optional ath_hal | ath_rf5413 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-11-24 06:27:47 +00:00
|
|
|
dev/ath/ath_hal/ar5416/ar2133.c optional ath_hal | ath_ar5416 | \
|
|
|
|
ath_ar9130 | ath_ar9160 | ath_ar9280 \
|
2009-03-12 18:18:28 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-01-20 09:03:40 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9280.c optional ath_hal | ath_ar9280 | ath_ar9285 \
|
2009-03-12 18:18:28 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-01-20 09:03:40 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285.c optional ath_hal | ath_ar9285 \
|
2010-02-15 17:49:49 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2011-05-26 20:31:08 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9287.c optional ath_hal | ath_ar9287 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2009-03-12 18:18:28 +00:00
|
|
|
# ath rate control algorithms
|
2008-03-31 18:49:09 +00:00
|
|
|
dev/ath/ath_rate/amrr/amrr.c optional ath_rate_amrr \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2005-11-25 22:36:40 +00:00
|
|
|
dev/ath/ath_rate/onoe/onoe.c optional ath_rate_onoe \
|
2006-09-18 16:30:28 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2005-11-25 22:36:40 +00:00
|
|
|
dev/ath/ath_rate/sample/sample.c optional ath_rate_sample \
|
2006-09-18 16:30:28 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2011-06-01 20:09:49 +00:00
|
|
|
# ath DFS modules
|
|
|
|
dev/ath/ath_dfs/null/dfs_null.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
|
|
|
#
|
2006-04-10 20:04:22 +00:00
|
|
|
dev/bce/if_bce.c optional bce
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/bfe/if_bfe.c optional bfe
|
|
|
|
dev/bge/if_bge.c optional bge
|
|
|
|
dev/bktr/bktr_audio.c optional bktr pci
|
|
|
|
dev/bktr/bktr_card.c optional bktr pci
|
|
|
|
dev/bktr/bktr_core.c optional bktr pci
|
|
|
|
dev/bktr/bktr_i2c.c optional bktr pci smbus
|
|
|
|
dev/bktr/bktr_os.c optional bktr pci
|
|
|
|
dev/bktr/bktr_tuner.c optional bktr pci
|
|
|
|
dev/bktr/msp34xx.c optional bktr pci
|
|
|
|
dev/buslogic/bt.c optional bt
|
|
|
|
dev/buslogic/bt_eisa.c optional bt eisa
|
|
|
|
dev/buslogic/bt_isa.c optional bt isa
|
|
|
|
dev/buslogic/bt_mca.c optional bt mca
|
|
|
|
dev/buslogic/bt_pci.c optional bt pci
|
Bring in Andrew Thompson's port of Sepherosa Ziehau's bwi driver for
Broadcom BCM43xx chipsets. This driver uses the v3 firmware that
needs to be fetched separately. A port will be committed to create
the bwi firmware module.
The driver matches the following chips: Broadcom BCM4301, BCM4307,
BCM4306, BCM4309, BCM4311, BCM4312, BCM4318, BCM4319
The driver works for 802.11b and 802.11g.
Limitations:
This doesn't support the 802.11a or 802.11n portion of radios.
Some BCM4306 and BCM4309 cards don't work with Channel 1, 2 or 3.
Documenation for this firmware is reverse engineered from
http://bcm.sipsolutions.net/
V4 of the firmware is needed for 11a or 11n support
http://bcm-v4.sipsolutions.net/
Firmware needs to be fetched from a third party, port to be committed
# I've tested this with a BCM4319 mini-pci and a BCM4318 CardBus card, and
# not connected it to the build until the firmware port is committed.
Obtained from: DragonFlyBSD, //depot/projects/vap
Reviewed by: sam@, thompsa@
2009-05-03 04:01:43 +00:00
|
|
|
dev/bwi/bwimac.c optional bwi
|
|
|
|
dev/bwi/bwiphy.c optional bwi
|
2009-05-11 04:57:40 +00:00
|
|
|
dev/bwi/bwirf.c optional bwi
|
Bring in Andrew Thompson's port of Sepherosa Ziehau's bwi driver for
Broadcom BCM43xx chipsets. This driver uses the v3 firmware that
needs to be fetched separately. A port will be committed to create
the bwi firmware module.
The driver matches the following chips: Broadcom BCM4301, BCM4307,
BCM4306, BCM4309, BCM4311, BCM4312, BCM4318, BCM4319
The driver works for 802.11b and 802.11g.
Limitations:
This doesn't support the 802.11a or 802.11n portion of radios.
Some BCM4306 and BCM4309 cards don't work with Channel 1, 2 or 3.
Documenation for this firmware is reverse engineered from
http://bcm.sipsolutions.net/
V4 of the firmware is needed for 11a or 11n support
http://bcm-v4.sipsolutions.net/
Firmware needs to be fetched from a third party, port to be committed
# I've tested this with a BCM4319 mini-pci and a BCM4318 CardBus card, and
# not connected it to the build until the firmware port is committed.
Obtained from: DragonFlyBSD, //depot/projects/vap
Reviewed by: sam@, thompsa@
2009-05-03 04:01:43 +00:00
|
|
|
dev/bwi/if_bwi.c optional bwi
|
|
|
|
dev/bwi/if_bwi_pci.c optional bwi pci
|
2010-03-03 21:10:13 +00:00
|
|
|
dev/bwn/if_bwn.c optional bwn siba_bwn
|
2011-03-14 22:42:41 +00:00
|
|
|
dev/bxe/if_bxe.c optional bxe
|
|
|
|
dev/bxe/bxe_link.c optional bxe
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/cardbus/cardbus.c optional cardbus
|
2000-10-18 03:25:13 +00:00
|
|
|
dev/cardbus/cardbus_cis.c optional cardbus
|
2005-12-29 01:43:47 +00:00
|
|
|
dev/cardbus/cardbus_device.c optional cardbus
|
2009-06-15 18:22:41 +00:00
|
|
|
dev/cas/if_cas.c optional cas
|
2008-10-25 06:18:12 +00:00
|
|
|
dev/cfi/cfi_core.c optional cfi
|
|
|
|
dev/cfi/cfi_dev.c optional cfi
|
2009-03-09 23:16:02 +00:00
|
|
|
dev/cfi/cfi_disk.c optional cfid
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ciss/ciss.c optional ciss
|
|
|
|
dev/cm/smc90cx6.c optional cm
|
2008-03-06 08:09:45 +00:00
|
|
|
dev/cmx/cmx.c optional cmx
|
|
|
|
dev/cmx/cmx_pccard.c optional cmx pccard
|
2005-02-05 21:01:09 +00:00
|
|
|
dev/cpufreq/ichss.c optional cpufreq
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/cs/if_cs.c optional cs
|
|
|
|
dev/cs/if_cs_isa.c optional cs isa
|
|
|
|
dev/cs/if_cs_pccard.c optional cs pccard
|
2008-09-23 03:16:54 +00:00
|
|
|
dev/cxgb/cxgb_main.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/cxgb_offload.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/cxgb_sge.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/common/cxgb_mc5.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/common/cxgb_vsc7323.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/common/cxgb_vsc8211.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/common/cxgb_ael1002.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
2009-10-05 20:21:41 +00:00
|
|
|
dev/cxgb/common/cxgb_aq100x.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
2008-09-23 03:16:54 +00:00
|
|
|
dev/cxgb/common/cxgb_mv88e1xxx.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/common/cxgb_xgmac.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/common/cxgb_t3_hw.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/common/cxgb_tn1010.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/sys/uipc_mvec.c optional cxgb pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
|
|
|
dev/cxgb/cxgb_t3fw.c optional cxgb cxgb_t3fw \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
2011-02-18 08:00:26 +00:00
|
|
|
dev/cxgbe/t4_main.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
|
|
|
dev/cxgbe/t4_sge.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2011-05-30 21:07:26 +00:00
|
|
|
dev/cxgbe/t4_l2t.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2011-02-18 08:00:26 +00:00
|
|
|
dev/cxgbe/common/t4_hw.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/cy/cy.c optional cy
|
|
|
|
dev/cy/cy_isa.c optional cy isa
|
|
|
|
dev/cy/cy_pci.c optional cy pci
|
2005-10-18 06:11:59 +00:00
|
|
|
dev/dc/if_dc.c optional dc pci
|
|
|
|
dev/dc/dcphy.c optional dc pci
|
|
|
|
dev/dc/pnphy.c optional dc pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/dcons/dcons.c optional dcons
|
|
|
|
dev/dcons/dcons_crom.c optional dcons_crom
|
|
|
|
dev/dcons/dcons_os.c optional dcons
|
2006-02-26 17:54:04 +00:00
|
|
|
dev/de/if_de.c optional de pci
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/digi/digi.c optional digi
|
|
|
|
dev/digi/digi_isa.c optional digi isa
|
|
|
|
dev/digi/digi_pci.c optional digi pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/dpt/dpt_eisa.c optional dpt eisa
|
|
|
|
dev/dpt/dpt_pci.c optional dpt pci
|
|
|
|
dev/dpt/dpt_scsi.c optional dpt
|
Update to DRM CVS as of 2005-04-12, bringing many changes:
- Split core DRM routines back into their own module, rather than using the
nasty templated system like before.
- Development-class R300 support in radeon driver (requires userland pieces, of
course).
- Mach64 driver (haven't tested in a while -- my mach64s no longer fit in the
testbox). Covers Rage Pros, Rage Mobility P/M, Rage XL, and some others.
- i915 driver files, which just need to get drm_drv.c fixed to allow attachment
to the drmsub device. Covers i830 through i915 integrated graphics.
- savage driver files, which should require minimal changes to work. Covers the
Savage3D, Savage IX/MX, Savage 4, ProSavage.
- Support for color and texture tiling and HyperZ features of Radeon.
Thanks to: scottl (much p4 handholding)
Jung-uk Kim (helpful prodding)
PR: [1] kern/76879, [2] kern/72548
Submitted by: [1] Alex, lesha at intercaf dot ru
[2] Shaun Jurrens, shaun at shamz dot net
2005-04-16 03:44:47 +00:00
|
|
|
dev/drm/ati_pcigart.c optional drm
|
|
|
|
dev/drm/drm_agpsupport.c optional drm
|
|
|
|
dev/drm/drm_auth.c optional drm
|
|
|
|
dev/drm/drm_bufs.c optional drm
|
|
|
|
dev/drm/drm_context.c optional drm
|
|
|
|
dev/drm/drm_dma.c optional drm
|
|
|
|
dev/drm/drm_drawable.c optional drm
|
|
|
|
dev/drm/drm_drv.c optional drm
|
|
|
|
dev/drm/drm_fops.c optional drm
|
2010-01-31 14:25:29 +00:00
|
|
|
dev/drm/drm_hashtab.c optional drm
|
Update to DRM CVS as of 2005-04-12, bringing many changes:
- Split core DRM routines back into their own module, rather than using the
nasty templated system like before.
- Development-class R300 support in radeon driver (requires userland pieces, of
course).
- Mach64 driver (haven't tested in a while -- my mach64s no longer fit in the
testbox). Covers Rage Pros, Rage Mobility P/M, Rage XL, and some others.
- i915 driver files, which just need to get drm_drv.c fixed to allow attachment
to the drmsub device. Covers i830 through i915 integrated graphics.
- savage driver files, which should require minimal changes to work. Covers the
Savage3D, Savage IX/MX, Savage 4, ProSavage.
- Support for color and texture tiling and HyperZ features of Radeon.
Thanks to: scottl (much p4 handholding)
Jung-uk Kim (helpful prodding)
PR: [1] kern/76879, [2] kern/72548
Submitted by: [1] Alex, lesha at intercaf dot ru
[2] Shaun Jurrens, shaun at shamz dot net
2005-04-16 03:44:47 +00:00
|
|
|
dev/drm/drm_ioctl.c optional drm
|
|
|
|
dev/drm/drm_irq.c optional drm
|
|
|
|
dev/drm/drm_lock.c optional drm
|
|
|
|
dev/drm/drm_memory.c optional drm
|
2010-01-31 14:25:29 +00:00
|
|
|
dev/drm/drm_mm.c optional drm
|
Update to DRM CVS as of 2005-04-12, bringing many changes:
- Split core DRM routines back into their own module, rather than using the
nasty templated system like before.
- Development-class R300 support in radeon driver (requires userland pieces, of
course).
- Mach64 driver (haven't tested in a while -- my mach64s no longer fit in the
testbox). Covers Rage Pros, Rage Mobility P/M, Rage XL, and some others.
- i915 driver files, which just need to get drm_drv.c fixed to allow attachment
to the drmsub device. Covers i830 through i915 integrated graphics.
- savage driver files, which should require minimal changes to work. Covers the
Savage3D, Savage IX/MX, Savage 4, ProSavage.
- Support for color and texture tiling and HyperZ features of Radeon.
Thanks to: scottl (much p4 handholding)
Jung-uk Kim (helpful prodding)
PR: [1] kern/76879, [2] kern/72548
Submitted by: [1] Alex, lesha at intercaf dot ru
[2] Shaun Jurrens, shaun at shamz dot net
2005-04-16 03:44:47 +00:00
|
|
|
dev/drm/drm_pci.c optional drm
|
|
|
|
dev/drm/drm_scatter.c optional drm
|
2010-01-31 14:25:29 +00:00
|
|
|
dev/drm/drm_sman.c optional drm
|
Update to DRM CVS as of 2005-04-12, bringing many changes:
- Split core DRM routines back into their own module, rather than using the
nasty templated system like before.
- Development-class R300 support in radeon driver (requires userland pieces, of
course).
- Mach64 driver (haven't tested in a while -- my mach64s no longer fit in the
testbox). Covers Rage Pros, Rage Mobility P/M, Rage XL, and some others.
- i915 driver files, which just need to get drm_drv.c fixed to allow attachment
to the drmsub device. Covers i830 through i915 integrated graphics.
- savage driver files, which should require minimal changes to work. Covers the
Savage3D, Savage IX/MX, Savage 4, ProSavage.
- Support for color and texture tiling and HyperZ features of Radeon.
Thanks to: scottl (much p4 handholding)
Jung-uk Kim (helpful prodding)
PR: [1] kern/76879, [2] kern/72548
Submitted by: [1] Alex, lesha at intercaf dot ru
[2] Shaun Jurrens, shaun at shamz dot net
2005-04-16 03:44:47 +00:00
|
|
|
dev/drm/drm_sysctl.c optional drm
|
|
|
|
dev/drm/drm_vm.c optional drm
|
2005-12-03 01:23:50 +00:00
|
|
|
dev/drm/i915_dma.c optional i915drm
|
|
|
|
dev/drm/i915_drv.c optional i915drm
|
|
|
|
dev/drm/i915_irq.c optional i915drm
|
|
|
|
dev/drm/i915_mem.c optional i915drm
|
2008-08-23 20:59:12 +00:00
|
|
|
dev/drm/i915_suspend.c optional i915drm
|
Update to DRM CVS as of 2005-04-12, bringing many changes:
- Split core DRM routines back into their own module, rather than using the
nasty templated system like before.
- Development-class R300 support in radeon driver (requires userland pieces, of
course).
- Mach64 driver (haven't tested in a while -- my mach64s no longer fit in the
testbox). Covers Rage Pros, Rage Mobility P/M, Rage XL, and some others.
- i915 driver files, which just need to get drm_drv.c fixed to allow attachment
to the drmsub device. Covers i830 through i915 integrated graphics.
- savage driver files, which should require minimal changes to work. Covers the
Savage3D, Savage IX/MX, Savage 4, ProSavage.
- Support for color and texture tiling and HyperZ features of Radeon.
Thanks to: scottl (much p4 handholding)
Jung-uk Kim (helpful prodding)
PR: [1] kern/76879, [2] kern/72548
Submitted by: [1] Alex, lesha at intercaf dot ru
[2] Shaun Jurrens, shaun at shamz dot net
2005-04-16 03:44:47 +00:00
|
|
|
dev/drm/mach64_dma.c optional mach64drm
|
|
|
|
dev/drm/mach64_drv.c optional mach64drm
|
|
|
|
dev/drm/mach64_irq.c optional mach64drm
|
|
|
|
dev/drm/mach64_state.c optional mach64drm
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/drm/mga_dma.c optional mgadrm
|
|
|
|
dev/drm/mga_drv.c optional mgadrm
|
|
|
|
dev/drm/mga_irq.c optional mgadrm
|
|
|
|
dev/drm/mga_state.c optional mgadrm \
|
2005-01-04 10:22:11 +00:00
|
|
|
compile-with "${NORMAL_C} -finline-limit=13500"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/drm/mga_warp.c optional mgadrm
|
2011-12-30 01:54:45 +00:00
|
|
|
dev/drm/r128_cce.c optional r128drm \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WUNUSED_VALUE} ${NO_WCONSTANT_CONVERSION}"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/drm/r128_drv.c optional r128drm
|
|
|
|
dev/drm/r128_irq.c optional r128drm
|
|
|
|
dev/drm/r128_state.c optional r128drm \
|
2011-12-30 01:54:45 +00:00
|
|
|
compile-with "${NORMAL_C} ${NO_WUNUSED_VALUE} -finline-limit=13500"
|
2005-07-20 21:10:57 +00:00
|
|
|
dev/drm/r300_cmdbuf.c optional radeondrm
|
2009-08-23 14:55:57 +00:00
|
|
|
dev/drm/r600_blit.c optional radeondrm
|
2011-12-30 01:54:45 +00:00
|
|
|
dev/drm/r600_cp.c optional radeondrm \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WUNUSED_VALUE} ${NO_WCONSTANT_CONVERSION}"
|
|
|
|
dev/drm/radeon_cp.c optional radeondrm \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WUNUSED_VALUE} ${NO_WCONSTANT_CONVERSION}"
|
2009-08-23 14:55:57 +00:00
|
|
|
dev/drm/radeon_cs.c optional radeondrm
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/drm/radeon_drv.c optional radeondrm
|
|
|
|
dev/drm/radeon_irq.c optional radeondrm
|
|
|
|
dev/drm/radeon_mem.c optional radeondrm
|
|
|
|
dev/drm/radeon_state.c optional radeondrm
|
2005-11-28 23:13:57 +00:00
|
|
|
dev/drm/savage_bci.c optional savagedrm
|
|
|
|
dev/drm/savage_drv.c optional savagedrm
|
|
|
|
dev/drm/savage_state.c optional savagedrm
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/drm/sis_drv.c optional sisdrm
|
|
|
|
dev/drm/sis_ds.c optional sisdrm
|
|
|
|
dev/drm/sis_mm.c optional sisdrm
|
|
|
|
dev/drm/tdfx_drv.c optional tdfxdrm
|
2010-01-31 14:30:39 +00:00
|
|
|
dev/drm/via_dma.c optional viadrm
|
|
|
|
dev/drm/via_dmablit.c optional viadrm
|
|
|
|
dev/drm/via_drv.c optional viadrm
|
|
|
|
dev/drm/via_irq.c optional viadrm
|
|
|
|
dev/drm/via_map.c optional viadrm
|
|
|
|
dev/drm/via_mm.c optional viadrm
|
|
|
|
dev/drm/via_verifier.c optional viadrm
|
|
|
|
dev/drm/via_video.c optional viadrm
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ed/if_ed.c optional ed
|
2005-02-09 20:03:40 +00:00
|
|
|
dev/ed/if_ed_novell.c optional ed
|
2005-10-05 21:56:27 +00:00
|
|
|
dev/ed/if_ed_rtl80x9.c optional ed
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ed/if_ed_pccard.c optional ed pccard
|
|
|
|
dev/ed/if_ed_pci.c optional ed pci
|
|
|
|
dev/eisa/eisa_if.m standard
|
|
|
|
dev/eisa/eisaconf.c optional eisa
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/e1000/if_em.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/e1000/if_lem.c optional em \
|
Update to igb and em:
em revision 7.0.0:
- Using driver devclass, seperate legacy (pre-pcie) code
into a seperate source file. This will at least help
protect against regression issues. It compiles along
with em, and is transparent to end use, devices in each
appear to be 'emX'. When using em in a modular form this
also allows the legacy stuff to be defined out.
- Add tx and rx rings as in igb, in the 82574 this becomes
actual multiqueue for the first time (2 queues) while in
other PCIE adapters its just make code cleaner.
- Add RX mbuf handling logic that matches igb, this will
eliminate packet drops due to temporary mbuf shortage.
igb revision 1.9.3:
- Following the ixgbe code, use a new approach in what
was called 'get_buf', the routine now has been made
independent of rxeof, it now does the update to the
engine TDT register, this design allows temporary
mbuf resources to become non-critical, not requiring
a packet to be discarded, instead it just returns and
does not increment the tail pointer.
- With the above change it was also unnecessary to keep
'spare' maps around, since we do not have the discard
issue.
- Performance tweaks and improvements to the code also.
MFC in a week
2010-03-29 23:36:34 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/e1000/if_igb.c optional igb \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_80003es2lan.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_82540.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_82541.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_82542.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_82543.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_82571.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_82575.c optional em | igb \
|
2011-02-04 18:36:09 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2008-07-30 22:01:32 +00:00
|
|
|
dev/e1000/e1000_ich8lan.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_api.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_mac.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_manage.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_nvm.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_phy.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2010-06-30 21:05:51 +00:00
|
|
|
dev/e1000/e1000_vf.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
|
|
|
dev/e1000/e1000_mbx.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2008-07-30 22:01:32 +00:00
|
|
|
dev/e1000/e1000_osdep.c optional em | igb \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2008-06-20 19:28:33 +00:00
|
|
|
dev/et/if_et.c optional et
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/en/if_en_pci.c optional en pci
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/en/midway.c optional en
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ep/if_ep.c optional ep
|
|
|
|
dev/ep/if_ep_eisa.c optional ep eisa
|
|
|
|
dev/ep/if_ep_isa.c optional ep isa
|
|
|
|
dev/ep/if_ep_mca.c optional ep mca
|
|
|
|
dev/ep/if_ep_pccard.c optional ep pccard
|
2011-11-01 21:26:57 +00:00
|
|
|
dev/esp/esp_pci.c optional esp pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/esp/ncr53c9x.c optional esp
|
|
|
|
dev/ex/if_ex.c optional ex
|
|
|
|
dev/ex/if_ex_isa.c optional ex isa
|
2005-07-19 02:06:48 +00:00
|
|
|
dev/ex/if_ex_pccard.c optional ex pccard
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/exca/exca.c optional cbb
|
|
|
|
dev/fatm/if_fatm.c optional fatm pci
|
2006-10-23 13:23:14 +00:00
|
|
|
dev/fb/splash.c optional splash
|
2010-06-13 13:02:43 +00:00
|
|
|
dev/fdt/fdt_common.c optional fdt
|
|
|
|
dev/fdt/fdt_pci.c optional fdt pci
|
|
|
|
dev/fdt/fdt_static_dtb.S optional fdt fdt_dtb_static
|
|
|
|
dev/fdt/fdtbus.c optional fdt
|
|
|
|
dev/fdt/simplebus.c optional fdt
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/fe/if_fe.c optional fe
|
|
|
|
dev/fe/if_fe_pccard.c optional fe pccard
|
|
|
|
dev/firewire/firewire.c optional firewire
|
|
|
|
dev/firewire/fwcrom.c optional firewire
|
|
|
|
dev/firewire/fwdev.c optional firewire
|
|
|
|
dev/firewire/fwdma.c optional firewire
|
|
|
|
dev/firewire/fwmem.c optional firewire
|
|
|
|
dev/firewire/fwohci.c optional firewire
|
2002-10-14 19:21:44 +00:00
|
|
|
dev/firewire/fwohci_pci.c optional firewire pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/firewire/if_fwe.c optional fwe
|
|
|
|
dev/firewire/if_fwip.c optional fwip
|
|
|
|
dev/firewire/sbp.c optional sbp
|
|
|
|
dev/firewire/sbp_targ.c optional sbp_targ
|
2006-11-29 08:08:30 +00:00
|
|
|
dev/flash/at45d.c optional at45d
|
2010-01-10 05:28:36 +00:00
|
|
|
dev/flash/mx25l.c optional mx25l
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/fxp/if_fxp.c optional fxp
|
2011-10-08 12:33:10 +00:00
|
|
|
dev/fxp/inphy.c optional fxp
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/gem/if_gem.c optional gem
|
|
|
|
dev/gem/if_gem_pci.c optional gem pci
|
2009-06-23 20:36:59 +00:00
|
|
|
dev/gem/if_gem_sbus.c optional gem sbus
|
2010-09-28 03:24:53 +00:00
|
|
|
dev/gpio/gpiobus.c optional gpio \
|
|
|
|
dependency "gpiobus_if.h"
|
|
|
|
dev/gpio/gpioc.c optional gpio \
|
|
|
|
dependency "gpio_if.h"
|
|
|
|
dev/gpio/gpioiic.c optional gpioiic
|
|
|
|
dev/gpio/gpioled.c optional gpioled
|
|
|
|
dev/gpio/gpio_if.m optional gpio
|
|
|
|
dev/gpio/gpiobus_if.m optional gpio
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/hatm/if_hatm.c optional hatm pci
|
|
|
|
dev/hatm/if_hatm_intr.c optional hatm pci
|
2003-06-17 16:12:50 +00:00
|
|
|
dev/hatm/if_hatm_ioctl.c optional hatm pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/hatm/if_hatm_rx.c optional hatm pci
|
|
|
|
dev/hatm/if_hatm_tx.c optional hatm pci
|
|
|
|
dev/hifn/hifn7751.c optional hifn
|
|
|
|
dev/hme/if_hme.c optional hme
|
|
|
|
dev/hme/if_hme_pci.c optional hme pci
|
|
|
|
dev/hme/if_hme_sbus.c optional hme sbus
|
2008-10-04 10:39:31 +00:00
|
|
|
dev/hptiop/hptiop.c optional hptiop scbus
|
2005-06-16 15:07:16 +00:00
|
|
|
dev/hwpmc/hwpmc_logging.c optional hwpmc
|
|
|
|
dev/hwpmc/hwpmc_mod.c optional hwpmc
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ichsmb/ichsmb.c optional ichsmb
|
|
|
|
dev/ichsmb/ichsmb_pci.c optional ichsmb pci
|
|
|
|
dev/ida/ida.c optional ida
|
|
|
|
dev/ida/ida_disk.c optional ida
|
|
|
|
dev/ida/ida_eisa.c optional ida eisa
|
|
|
|
dev/ida/ida_pci.c optional ida pci
|
|
|
|
dev/ie/if_ie.c optional ie isa nowerror
|
|
|
|
dev/ie/if_ie_isa.c optional ie isa
|
2005-11-27 21:41:58 +00:00
|
|
|
dev/ieee488/ibfoo.c optional pcii | tnt4882
|
|
|
|
dev/ieee488/pcii.c optional pcii
|
2005-09-15 13:28:33 +00:00
|
|
|
dev/ieee488/tnt4882.c optional tnt4882
|
2005-11-27 21:41:58 +00:00
|
|
|
dev/ieee488/upd7210.c optional pcii | tnt4882
|
2006-11-19 23:43:29 +00:00
|
|
|
dev/iicbus/ad7418.c optional ad7418
|
2008-08-11 19:26:55 +00:00
|
|
|
dev/iicbus/ds133x.c optional ds133x
|
2012-03-27 09:48:18 +00:00
|
|
|
dev/iicbus/ds1374.c optional ds1374
|
2006-11-19 23:43:29 +00:00
|
|
|
dev/iicbus/ds1672.c optional ds1672
|
2007-03-23 23:10:35 +00:00
|
|
|
dev/iicbus/icee.c optional icee
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/iicbus/if_ic.c optional ic
|
|
|
|
dev/iicbus/iic.c optional iic
|
|
|
|
dev/iicbus/iicbb.c optional iicbb
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/iicbus/iicbb_if.m optional iicbb
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/iicbus/iicbus.c optional iicbus
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/iicbus/iicbus_if.m optional iicbus
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/iicbus/iiconf.c optional iicbus
|
|
|
|
dev/iicbus/iicsmb.c optional iicsmb \
|
2000-03-23 19:08:49 +00:00
|
|
|
dependency "iicbus_if.h"
|
2012-03-27 10:44:32 +00:00
|
|
|
dev/iicbus/iicoc.c optional iicoc
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/iir/iir.c optional iir
|
|
|
|
dev/iir/iir_ctrl.c optional iir
|
|
|
|
dev/iir/iir_pci.c optional iir pci
|
|
|
|
dev/ips/ips.c optional ips
|
|
|
|
dev/ips/ips_commands.c optional ips
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/ips/ips_disk.c optional ips
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ips/ips_ioctl.c optional ips
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/ips/ips_pci.c optional ips pci
|
2005-04-18 18:47:38 +00:00
|
|
|
dev/ipw/if_ipw.c optional ipw
|
2008-04-25 20:42:48 +00:00
|
|
|
ipwbssfw.c optional ipwbssfw | ipwfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk ipw_bss.fw:ipw_bss:130 -lintel_ipw -mipw_bss -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "ipwbssfw.c"
|
|
|
|
ipw_bss.fwo optional ipwbssfw | ipwfw \
|
|
|
|
dependency "ipw_bss.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} ipw_bss.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "ipw_bss.fwo"
|
|
|
|
ipw_bss.fw optional ipwbssfw | ipwfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/ipw/ipw2100-1.3.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/ipw/ipw2100-1.3.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "ipw_bss.fw"
|
|
|
|
ipwibssfw.c optional ipwibssfw | ipwfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk ipw_ibss.fw:ipw_ibss:130 -lintel_ipw -mipw_ibss -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "ipwibssfw.c"
|
|
|
|
ipw_ibss.fwo optional ipwibssfw | ipwfw \
|
|
|
|
dependency "ipw_ibss.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} ipw_ibss.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "ipw_ibss.fwo"
|
|
|
|
ipw_ibss.fw optional ipwibssfw | ipwfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/ipw/ipw2100-1.3-i.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/ipw/ipw2100-1.3-i.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "ipw_ibss.fw"
|
|
|
|
ipwmonitorfw.c optional ipwmonitorfw | ipwfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk ipw_monitor.fw:ipw_monitor:130 -lintel_ipw -mipw_monitor -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "ipwmonitorfw.c"
|
|
|
|
ipw_monitor.fwo optional ipwmonitorfw | ipwfw \
|
|
|
|
dependency "ipw_monitor.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} ipw_monitor.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "ipw_monitor.fwo"
|
|
|
|
ipw_monitor.fw optional ipwmonitorfw | ipwfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/ipw/ipw2100-1.3-p.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/ipw/ipw2100-1.3-p.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "ipw_monitor.fw"
|
2007-07-24 15:35:02 +00:00
|
|
|
dev/iscsi/initiator/iscsi.c optional iscsi_initiator scbus
|
|
|
|
dev/iscsi/initiator/iscsi_subr.c optional iscsi_initiator scbus
|
|
|
|
dev/iscsi/initiator/isc_cam.c optional iscsi_initiator scbus
|
|
|
|
dev/iscsi/initiator/isc_soc.c optional iscsi_initiator scbus
|
|
|
|
dev/iscsi/initiator/isc_sm.c optional iscsi_initiator scbus
|
|
|
|
dev/iscsi/initiator/isc_subr.c optional iscsi_initiator scbus
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/isp/isp.c optional isp
|
|
|
|
dev/isp/isp_freebsd.c optional isp
|
2006-02-03 00:36:19 +00:00
|
|
|
dev/isp/isp_library.c optional isp
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/isp/isp_pci.c optional isp pci
|
|
|
|
dev/isp/isp_sbus.c optional isp sbus
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/isp/isp_target.c optional isp
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ispfw/ispfw.c optional ispfw
|
2005-04-18 18:47:38 +00:00
|
|
|
dev/iwi/if_iwi.c optional iwi
|
2008-04-25 20:42:48 +00:00
|
|
|
iwibssfw.c optional iwibssfw | iwifw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwi_bss.fw:iwi_bss:300 -lintel_iwi -miwi_bss -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwibssfw.c"
|
|
|
|
iwi_bss.fwo optional iwibssfw | iwifw \
|
|
|
|
dependency "iwi_bss.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwi_bss.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwi_bss.fwo"
|
|
|
|
iwi_bss.fw optional iwibssfw | iwifw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/iwi/ipw2200-bss.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwi/ipw2200-bss.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwi_bss.fw"
|
|
|
|
iwiibssfw.c optional iwiibssfw | iwifw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwi_ibss.fw:iwi_ibss:300 -lintel_iwi -miwi_ibss -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwiibssfw.c"
|
|
|
|
iwi_ibss.fwo optional iwiibssfw | iwifw \
|
|
|
|
dependency "iwi_ibss.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwi_ibss.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwi_ibss.fwo"
|
|
|
|
iwi_ibss.fw optional iwiibssfw | iwifw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/iwi/ipw2200-ibss.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwi/ipw2200-ibss.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwi_ibss.fw"
|
|
|
|
iwimonitorfw.c optional iwimonitorfw | iwifw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwi_monitor.fw:iwi_monitor:300 -lintel_iwi -miwi_monitor -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwimonitorfw.c"
|
|
|
|
iwi_monitor.fwo optional iwimonitorfw | iwifw \
|
|
|
|
dependency "iwi_monitor.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwi_monitor.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwi_monitor.fwo"
|
|
|
|
iwi_monitor.fw optional iwimonitorfw | iwifw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/iwi/ipw2200-sniffer.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwi/ipw2200-sniffer.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwi_monitor.fw"
|
2008-04-29 21:36:17 +00:00
|
|
|
dev/iwn/if_iwn.c optional iwn
|
2009-12-29 19:47:34 +00:00
|
|
|
iwn1000fw.c optional iwn1000fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn1000.fw:iwn1000fw -miwn1000fw -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwn1000fw.c"
|
|
|
|
iwn1000fw.fwo optional iwn1000fw | iwnfw \
|
|
|
|
dependency "iwn1000.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwn1000.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn1000fw.fwo"
|
|
|
|
iwn1000.fw optional iwn1000fw | iwnfw \
|
2011-04-20 17:32:20 +00:00
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-1000-39.31.5.1.fw.uu" \
|
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-1000-39.31.5.1.fw.uu" \
|
2009-12-29 19:47:34 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn1000.fw"
|
2009-10-25 10:23:11 +00:00
|
|
|
iwn4965fw.c optional iwn4965fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn4965.fw:iwn4965fw -miwn4965fw -c${.TARGET}" \
|
2008-04-29 21:36:17 +00:00
|
|
|
no-implicit-rule before-depend local \
|
2009-10-25 10:23:11 +00:00
|
|
|
clean "iwn4965fw.c"
|
|
|
|
iwn4965fw.fwo optional iwn4965fw | iwnfw \
|
|
|
|
dependency "iwn4965.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwn4965.fw" \
|
2008-04-29 21:36:17 +00:00
|
|
|
no-implicit-rule \
|
2009-10-25 10:23:11 +00:00
|
|
|
clean "iwn4965fw.fwo"
|
|
|
|
iwn4965.fw optional iwn4965fw | iwnfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-4965-228.61.2.24.fw.uu" \
|
2009-12-29 19:47:34 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-4965-228.61.2.24.fw.uu" \
|
2008-04-29 21:36:17 +00:00
|
|
|
no-obj no-implicit-rule \
|
2009-10-25 10:23:11 +00:00
|
|
|
clean "iwn4965.fw"
|
|
|
|
iwn5000fw.c optional iwn5000fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn5000.fw:iwn5000fw -miwn5000fw -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwn5000fw.c"
|
|
|
|
iwn5000fw.fwo optional iwn5000fw | iwnfw \
|
|
|
|
dependency "iwn5000.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwn5000.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn5000fw.fwo"
|
|
|
|
iwn5000.fw optional iwn5000fw | iwnfw \
|
2011-04-20 17:32:20 +00:00
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-5000-8.83.5.1.fw.uu" \
|
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-5000-8.83.5.1.fw.uu" \
|
2009-10-25 10:23:11 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn5000.fw"
|
|
|
|
iwn5150fw.c optional iwn5150fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn5150.fw:iwn5150fw -miwn5150fw -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwn5150fw.c"
|
|
|
|
iwn5150fw.fwo optional iwn5150fw | iwnfw \
|
|
|
|
dependency "iwn5150.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwn5150.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn5150fw.fwo"
|
|
|
|
iwn5150.fw optional iwn5150fw | iwnfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-5150-8.24.2.2.fw.uu"\
|
2009-10-25 10:23:11 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-5150-8.24.2.2.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn5150.fw"
|
2009-12-29 19:47:34 +00:00
|
|
|
iwn6000fw.c optional iwn6000fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn6000.fw:iwn6000fw -miwn6000fw -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwn6000fw.c"
|
|
|
|
iwn6000fw.fwo optional iwn6000fw | iwnfw \
|
|
|
|
dependency "iwn6000.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwn6000.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn6000fw.fwo"
|
|
|
|
iwn6000.fw optional iwn6000fw | iwnfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-6000-9.221.4.1.fw.uu" \
|
2010-07-15 11:26:07 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-6000-9.221.4.1.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn6000.fw"
|
2011-04-20 17:34:09 +00:00
|
|
|
iwn6000g2afw.c optional iwn6000g2afw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn6000g2a.fw:iwn6000g2afw -miwn6000g2afw -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwn6000g2afw.c"
|
|
|
|
iwn6000g2afw.fwo optional iwn6000g2afw | iwnfw \
|
|
|
|
dependency "iwn6000g2a.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwn6000g2a.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn6000g2afw.fwo"
|
|
|
|
iwn6000g2a.fw optional iwn6000g2afw | iwnfw \
|
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu" \
|
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-6000g2a-17.168.5.2.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn6000g2a.fw"
|
|
|
|
iwn6000g2bfw.c optional iwn6000g2bfw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn6000g2b.fw:iwn6000g2bfw -miwn6000g2bfw -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwn6000g2bfw.c"
|
|
|
|
iwn6000g2bfw.fwo optional iwn6000g2bfw | iwnfw \
|
|
|
|
dependency "iwn6000g2b.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwn6000g2b.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn6000g2bfw.fwo"
|
|
|
|
iwn6000g2b.fw optional iwn6000g2bfw | iwnfw \
|
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu" \
|
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-6000g2b-17.168.5.2.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn6000g2b.fw"
|
2010-07-15 11:26:07 +00:00
|
|
|
iwn6050fw.c optional iwn6050fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn6050.fw:iwn6050fw -miwn6050fw -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "iwn6050fw.c"
|
|
|
|
iwn6050fw.fwo optional iwn6050fw | iwnfw \
|
|
|
|
dependency "iwn6050.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} iwn6050.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn6050fw.fwo"
|
|
|
|
iwn6050.fw optional iwn6050fw | iwnfw \
|
2011-04-20 17:32:20 +00:00
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-6050-41.28.5.1.fw.uu" \
|
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/iwn/iwlwifi-6050-41.28.5.1.fw.uu" \
|
2009-12-29 19:47:34 +00:00
|
|
|
no-obj no-implicit-rule \
|
2011-02-06 10:25:11 +00:00
|
|
|
clean "iwn6050.fw"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ixgb/if_ixgb.c optional ixgb
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/ixgb/ixgb_ee.c optional ixgb
|
|
|
|
dev/ixgb/ixgb_hw.c optional ixgb
|
2009-06-11 12:44:13 +00:00
|
|
|
dev/ixgbe/ixgbe.c optional ixgbe inet \
|
2007-07-11 22:59:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2010-11-26 22:46:32 +00:00
|
|
|
dev/ixgbe/ixv.c optional ixgbe inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2009-06-11 12:44:13 +00:00
|
|
|
dev/ixgbe/ixgbe_phy.c optional ixgbe inet \
|
2007-07-11 22:59:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2009-06-11 12:44:13 +00:00
|
|
|
dev/ixgbe/ixgbe_api.c optional ixgbe inet \
|
2007-07-11 22:59:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2009-06-11 12:44:13 +00:00
|
|
|
dev/ixgbe/ixgbe_common.c optional ixgbe inet \
|
2007-07-11 22:59:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2010-11-26 22:46:32 +00:00
|
|
|
dev/ixgbe/ixgbe_mbx.c optional ixgbe inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
|
|
|
dev/ixgbe/ixgbe_vf.c optional ixgbe inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2009-06-11 12:44:13 +00:00
|
|
|
dev/ixgbe/ixgbe_82598.c optional ixgbe inet \
|
2007-07-11 22:59:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2009-06-11 12:44:13 +00:00
|
|
|
dev/ixgbe/ixgbe_82599.c optional ixgbe inet \
|
2009-04-10 00:34:55 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2012-01-30 16:42:02 +00:00
|
|
|
dev/ixgbe/ixgbe_x540.c optional ixgbe inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/jme/if_jme.c optional jme pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/joy/joy.c optional joy
|
|
|
|
dev/joy/joy_isa.c optional joy isa
|
|
|
|
dev/joy/joy_pccard.c optional joy pccard
|
2005-07-14 23:04:23 +00:00
|
|
|
dev/kbdmux/kbdmux.c optional kbdmux
|
2009-05-26 21:39:09 +00:00
|
|
|
dev/ksyms/ksyms.c optional ksyms
|
2006-01-31 22:34:13 +00:00
|
|
|
dev/le/am7990.c optional le
|
|
|
|
dev/le/am79900.c optional le
|
|
|
|
dev/le/if_le_pci.c optional le pci
|
|
|
|
dev/le/lance.c optional le
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/led/led.c standard
|
|
|
|
dev/lge/if_lge.c optional lge
|
2005-10-03 07:05:34 +00:00
|
|
|
dev/lmc/if_lmc.c optional lmc
|
2008-04-20 20:35:46 +00:00
|
|
|
dev/malo/if_malo.c optional malo
|
|
|
|
dev/malo/if_malohal.c optional malo
|
|
|
|
dev/malo/if_malo_pci.c optional malo pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/mc146818/mc146818.c optional mc146818
|
|
|
|
dev/mca/mca_bus.c optional mca
|
|
|
|
dev/mcd/mcd.c optional mcd isa nowerror
|
|
|
|
dev/mcd/mcd_isa.c optional mcd isa nowerror
|
|
|
|
dev/md/md.c optional md
|
|
|
|
dev/mem/memdev.c optional mem
|
2011-01-17 22:58:28 +00:00
|
|
|
dev/mem/memutil.c optional mem
|
2006-03-29 09:57:22 +00:00
|
|
|
dev/mfi/mfi.c optional mfi
|
2006-09-25 11:40:14 +00:00
|
|
|
dev/mfi/mfi_debug.c optional mfi
|
2006-03-29 09:57:22 +00:00
|
|
|
dev/mfi/mfi_pci.c optional mfi pci
|
|
|
|
dev/mfi/mfi_disk.c optional mfi
|
2006-05-18 23:30:48 +00:00
|
|
|
dev/mfi/mfi_linux.c optional mfi compat_linux
|
2007-05-16 17:19:47 +00:00
|
|
|
dev/mfi/mfi_cam.c optional mfip scbus
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/acphy.c optional miibus | acphy
|
|
|
|
dev/mii/amphy.c optional miibus | amphy
|
2008-05-19 01:18:02 +00:00
|
|
|
dev/mii/atphy.c optional miibus | atphy
|
2009-03-30 16:01:09 +00:00
|
|
|
dev/mii/axphy.c optional miibus | axphy
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/bmtphy.c optional miibus | bmtphy
|
|
|
|
dev/mii/brgphy.c optional miibus | brgphy
|
|
|
|
dev/mii/ciphy.c optional miibus | ciphy
|
|
|
|
dev/mii/e1000phy.c optional miibus | e1000phy
|
2006-07-25 00:20:11 +00:00
|
|
|
dev/mii/gentbi.c optional miibus | gentbi
|
2007-06-11 02:07:08 +00:00
|
|
|
dev/mii/icsphy.c optional miibus | icsphy
|
2006-07-25 00:20:11 +00:00
|
|
|
dev/mii/ip1000phy.c optional miibus | ip1000phy
|
2008-05-27 01:23:17 +00:00
|
|
|
dev/mii/jmphy.c optional miibus | jmphy
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/lxtphy.c optional miibus | lxtphy
|
|
|
|
dev/mii/mii.c optional miibus | mii
|
2011-11-01 16:13:59 +00:00
|
|
|
dev/mii/mii_bitbang.c optional miibus | mii_bitbang
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/mii_physubr.c optional miibus | mii
|
|
|
|
dev/mii/miibus_if.m optional miibus | mii
|
|
|
|
dev/mii/mlphy.c optional miibus | mlphy
|
|
|
|
dev/mii/nsgphy.c optional miibus | nsgphy
|
|
|
|
dev/mii/nsphy.c optional miibus | nsphy
|
2008-01-27 01:10:41 +00:00
|
|
|
dev/mii/nsphyter.c optional miibus | nsphyter
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/pnaphy.c optional miibus | pnaphy
|
|
|
|
dev/mii/qsphy.c optional miibus | qsphy
|
2010-12-30 23:50:25 +00:00
|
|
|
dev/mii/rdcphy.c optional miibus | rdcphy
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/rgephy.c optional miibus | rgephy
|
|
|
|
dev/mii/rlphy.c optional miibus | rlphy
|
2007-01-05 01:46:26 +00:00
|
|
|
dev/mii/rlswitch.c optional rlswitch
|
2008-06-06 05:00:49 +00:00
|
|
|
dev/mii/smcphy.c optional miibus | smcphy
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/tdkphy.c optional miibus | tdkphy
|
|
|
|
dev/mii/tlphy.c optional miibus | tlphy
|
2008-06-20 19:28:33 +00:00
|
|
|
dev/mii/truephy.c optional miibus | truephy
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/ukphy.c optional miibus | mii
|
|
|
|
dev/mii/ukphy_subr.c optional miibus | mii
|
|
|
|
dev/mii/xmphy.c optional miibus | xmphy
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/mk48txx/mk48txx.c optional mk48txx
|
|
|
|
dev/mlx/mlx.c optional mlx
|
|
|
|
dev/mlx/mlx_disk.c optional mlx
|
|
|
|
dev/mlx/mlx_pci.c optional mlx pci
|
|
|
|
dev/mly/mly.c optional mly
|
2006-10-20 06:39:59 +00:00
|
|
|
dev/mmc/mmc.c optional mmc
|
2007-02-03 06:45:02 +00:00
|
|
|
dev/mmc/mmcbr_if.m standard
|
|
|
|
dev/mmc/mmcbus_if.m standard
|
2006-10-20 06:39:59 +00:00
|
|
|
dev/mmc/mmcsd.c optional mmcsd
|
2008-11-02 17:04:54 +00:00
|
|
|
dev/mn/if_mn.c optional mn pci
|
2010-09-10 15:03:56 +00:00
|
|
|
dev/mps/mps.c optional mps
|
2012-01-26 18:17:21 +00:00
|
|
|
dev/mps/mps_config.c optional mps
|
|
|
|
dev/mps/mps_mapping.c optional mps
|
2010-09-10 15:03:56 +00:00
|
|
|
dev/mps/mps_pci.c optional mps pci
|
2012-03-23 11:35:01 +00:00
|
|
|
dev/mps/mps_sas.c optional mps \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WUNNEEDED_INTERNAL_DECL}"
|
2012-01-26 18:17:21 +00:00
|
|
|
dev/mps/mps_sas_lsi.c optional mps
|
2010-09-10 15:03:56 +00:00
|
|
|
dev/mps/mps_table.c optional mps
|
|
|
|
dev/mps/mps_user.c optional mps
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/mpt/mpt.c optional mpt
|
2005-07-10 15:07:57 +00:00
|
|
|
dev/mpt/mpt_cam.c optional mpt
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/mpt/mpt_debug.c optional mpt
|
|
|
|
dev/mpt/mpt_pci.c optional mpt pci
|
2005-07-10 15:07:57 +00:00
|
|
|
dev/mpt/mpt_raid.c optional mpt
|
2008-05-06 20:49:53 +00:00
|
|
|
dev/mpt/mpt_user.c optional mpt
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/msk/if_msk.c optional msk
|
2010-05-02 19:28:30 +00:00
|
|
|
dev/mvs/mvs.c optional mvs
|
2010-05-17 03:51:57 +00:00
|
|
|
dev/mvs/mvs_if.m optional mvs
|
2010-05-02 19:28:30 +00:00
|
|
|
dev/mvs/mvs_pci.c optional mvs pci
|
2009-06-01 18:07:01 +00:00
|
|
|
dev/mwl/if_mwl.c optional mwl
|
|
|
|
dev/mwl/if_mwl_pci.c optional mwl pci
|
|
|
|
dev/mwl/mwlhal.c optional mwl
|
|
|
|
mwlfw.c optional mwlfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk mw88W8363.fw:mw88W8363fw mwlboot.fw:mwlboot -mmwl -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "mwlfw.c"
|
|
|
|
mw88W8363.fwo optional mwlfw \
|
|
|
|
dependency "mw88W8363.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} mw88W8363.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "mw88W8363.fwo"
|
|
|
|
mw88W8363.fw optional mwlfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/mwl/mw88W8363.fw.uu" \
|
2009-06-01 18:07:01 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/mwl/mw88W8363.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "mw88W8363.fw"
|
|
|
|
mwlboot.fwo optional mwlfw \
|
|
|
|
dependency "mwlboot.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} mwlboot.fw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "mwlboot.fwo"
|
|
|
|
mwlboot.fw optional mwlfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/mwl/mwlboot.fw.uu" \
|
2009-06-01 18:07:01 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/mwl/mwlboot.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "mwlboot.fw"
|
2009-06-23 17:42:06 +00:00
|
|
|
dev/mxge/if_mxge.c optional mxge pci
|
|
|
|
dev/mxge/mxge_lro.c optional mxge pci
|
|
|
|
dev/mxge/mxge_eth_z8e.c optional mxge pci
|
|
|
|
dev/mxge/mxge_ethp_z8e.c optional mxge pci
|
|
|
|
dev/mxge/mxge_rss_eth_z8e.c optional mxge pci
|
|
|
|
dev/mxge/mxge_rss_ethp_z8e.c optional mxge pci
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/my/if_my.c optional my
|
|
|
|
dev/ncv/ncr53c500.c optional ncv
|
|
|
|
dev/ncv/ncr53c500_pccard.c optional ncv pccard
|
2011-11-22 21:50:38 +00:00
|
|
|
dev/netmap/netmap.c optional netmap
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/nge/if_nge.c optional nge
|
2011-12-30 13:16:59 +00:00
|
|
|
dev/nxge/if_nxge.c optional nxge \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}"
|
|
|
|
dev/nxge/xgehal/xgehal-device.c optional nxge \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}"
|
2007-06-29 22:47:18 +00:00
|
|
|
dev/nxge/xgehal/xgehal-mm.c optional nxge
|
|
|
|
dev/nxge/xgehal/xge-queue.c optional nxge
|
2011-12-30 13:16:59 +00:00
|
|
|
dev/nxge/xgehal/xgehal-driver.c optional nxge \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}"
|
|
|
|
dev/nxge/xgehal/xgehal-ring.c optional nxge \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}"
|
|
|
|
dev/nxge/xgehal/xgehal-channel.c optional nxge \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}"
|
|
|
|
dev/nxge/xgehal/xgehal-fifo.c optional nxge \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}"
|
|
|
|
dev/nxge/xgehal/xgehal-stats.c optional nxge \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}"
|
2007-06-29 22:47:18 +00:00
|
|
|
dev/nxge/xgehal/xgehal-config.c optional nxge
|
2011-12-30 13:16:59 +00:00
|
|
|
dev/nxge/xgehal/xgehal-mgmt.c optional nxge \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN}"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/nmdm/nmdm.c optional nmdm
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/nsp/nsp.c optional nsp
|
|
|
|
dev/nsp/nsp_pccard.c optional nsp pccard
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/null/null.c standard
|
2012-02-14 10:11:53 +00:00
|
|
|
dev/oce/oce_hw.c optional oce pci
|
|
|
|
dev/oce/oce_if.c optional oce pci
|
|
|
|
dev/oce/oce_mbox.c optional oce pci
|
|
|
|
dev/oce/oce_queue.c optional oce pci
|
|
|
|
dev/oce/oce_sysctl.c optional oce pci
|
|
|
|
dev/oce/oce_util.c optional oce pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/patm/if_patm.c optional patm pci
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/patm/if_patm_attach.c optional patm pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/patm/if_patm_intr.c optional patm pci
|
2003-07-15 11:57:24 +00:00
|
|
|
dev/patm/if_patm_ioctl.c optional patm pci
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/patm/if_patm_rtables.c optional patm pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/patm/if_patm_rx.c optional patm pci
|
|
|
|
dev/patm/if_patm_tx.c optional patm pci
|
|
|
|
dev/pbio/pbio.c optional pbio isa
|
|
|
|
dev/pccard/card_if.m standard
|
|
|
|
dev/pccard/pccard.c optional pccard
|
|
|
|
dev/pccard/pccard_cis.c optional pccard
|
|
|
|
dev/pccard/pccard_cis_quirks.c optional pccard
|
2005-09-20 06:48:55 +00:00
|
|
|
dev/pccard/pccard_device.c optional pccard
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/pccard/power_if.m standard
|
|
|
|
dev/pccbb/pccbb.c optional cbb
|
|
|
|
dev/pccbb/pccbb_isa.c optional cbb isa
|
|
|
|
dev/pccbb/pccbb_pci.c optional cbb pci
|
2005-10-28 15:58:19 +00:00
|
|
|
dev/pcf/pcf.c optional pcf
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/pci/eisa_pci.c optional pci eisa
|
|
|
|
dev/pci/fixup_pci.c optional pci
|
2005-12-20 21:09:45 +00:00
|
|
|
dev/pci/hostb_pci.c optional pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/pci/ignore_pci.c optional pci
|
|
|
|
dev/pci/isa_pci.c optional pci isa
|
|
|
|
dev/pci/pci.c optional pci
|
|
|
|
dev/pci/pci_if.m standard
|
|
|
|
dev/pci/pci_pci.c optional pci
|
2011-06-24 21:39:38 +00:00
|
|
|
dev/pci/pci_subr.c optional pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/pci/pci_user.c optional pci
|
|
|
|
dev/pci/pcib_if.m standard
|
2005-12-20 22:35:39 +00:00
|
|
|
dev/pci/vga_pci.c optional pci
|
2008-08-14 20:34:46 +00:00
|
|
|
dev/pcn/if_pcn.c optional pcn pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/pdq/if_fea.c optional fea eisa
|
|
|
|
dev/pdq/if_fpa.c optional fpa pci
|
2005-11-27 21:41:58 +00:00
|
|
|
dev/pdq/pdq.c optional nowerror fea eisa | fpa pci
|
|
|
|
dev/pdq/pdq_ifsubr.c optional nowerror fea eisa | fpa pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ppbus/if_plip.c optional plip
|
|
|
|
dev/ppbus/immio.c optional vpo
|
|
|
|
dev/ppbus/lpbb.c optional lpbb
|
|
|
|
dev/ppbus/lpt.c optional lpt
|
|
|
|
dev/ppbus/pcfclock.c optional pcfclock
|
|
|
|
dev/ppbus/ppb_1284.c optional ppbus
|
|
|
|
dev/ppbus/ppb_base.c optional ppbus
|
|
|
|
dev/ppbus/ppb_msq.c optional ppbus
|
|
|
|
dev/ppbus/ppbconf.c optional ppbus
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/ppbus/ppbus_if.m optional ppbus
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ppbus/ppi.c optional ppi
|
|
|
|
dev/ppbus/pps.c optional pps
|
|
|
|
dev/ppbus/vpo.c optional vpo
|
|
|
|
dev/ppbus/vpoio.c optional vpo
|
2006-04-24 23:31:51 +00:00
|
|
|
dev/ppc/ppc.c optional ppc
|
|
|
|
dev/ppc/ppc_acpi.c optional ppc acpi
|
|
|
|
dev/ppc/ppc_isa.c optional ppc isa
|
|
|
|
dev/ppc/ppc_pci.c optional ppc pci
|
|
|
|
dev/ppc/ppc_puc.c optional ppc puc
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/pst/pst-iop.c optional pst
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/pst/pst-pci.c optional pst pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/pst/pst-raid.c optional pst
|
2009-08-23 20:26:09 +00:00
|
|
|
dev/pty/pty.c optional pty
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/puc/puc.c optional puc
|
2006-04-28 21:21:53 +00:00
|
|
|
dev/puc/puc_cfg.c optional puc
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/puc/puc_pccard.c optional puc pccard
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/puc/puc_pci.c optional puc pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/puc/pucdata.c optional puc pci
|
2008-03-03 20:40:20 +00:00
|
|
|
dev/quicc/quicc_core.c optional quicc
|
2006-03-05 20:36:56 +00:00
|
|
|
dev/ral/rt2560.c optional ral
|
|
|
|
dev/ral/rt2661.c optional ral
|
2005-04-18 18:47:38 +00:00
|
|
|
dev/ral/if_ral_pci.c optional ral pci
|
2008-04-25 20:42:48 +00:00
|
|
|
rt2561fw.c optional rt2561fw | ralfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rt2561.fw:rt2561fw -mrt2561 -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "rt2561fw.c"
|
|
|
|
rt2561fw.fwo optional rt2561fw | ralfw \
|
|
|
|
dependency "rt2561.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} rt2561.fw" \
|
|
|
|
no-implicit-rule \
|
2009-02-08 14:43:20 +00:00
|
|
|
clean "rt2561fw.fwo"
|
2008-04-25 20:42:48 +00:00
|
|
|
rt2561.fw optional rt2561fw | ralfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/ral/rt2561.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/ral/rt2561.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rt2561.fw"
|
|
|
|
rt2561sfw.c optional rt2561sfw | ralfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rt2561s.fw:rt2561sfw -mrt2561s -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "rt2561sfw.c"
|
|
|
|
rt2561sfw.fwo optional rt2561sfw | ralfw \
|
|
|
|
dependency "rt2561s.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} rt2561s.fw" \
|
|
|
|
no-implicit-rule \
|
2009-02-08 14:43:20 +00:00
|
|
|
clean "rt2561sfw.fwo"
|
2008-04-25 20:42:48 +00:00
|
|
|
rt2561s.fw optional rt2561sfw | ralfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/ral/rt2561s.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/ral/rt2561s.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rt2561s.fw"
|
|
|
|
rt2661fw.c optional rt2661fw | ralfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rt2661.fw:rt2661fw -mrt2661 -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "rt2661fw.c"
|
|
|
|
rt2661fw.fwo optional rt2661fw | ralfw \
|
|
|
|
dependency "rt2661.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} rt2661.fw" \
|
|
|
|
no-implicit-rule \
|
2009-02-08 14:43:20 +00:00
|
|
|
clean "rt2661fw.fwo"
|
2008-04-25 20:42:48 +00:00
|
|
|
rt2661.fw optional rt2661fw | ralfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/ral/rt2661.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/ral/rt2661.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rt2661.fw"
|
|
|
|
rt2860fw.c optional rt2860fw | ralfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rt2860.fw:rt2860fw -mrt2860 -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "rt2860fw.c"
|
|
|
|
rt2860fw.fwo optional rt2860fw | ralfw \
|
|
|
|
dependency "rt2860.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} rt2860.fw" \
|
|
|
|
no-implicit-rule \
|
2009-02-08 14:43:20 +00:00
|
|
|
clean "rt2860fw.fwo"
|
2008-04-25 20:42:48 +00:00
|
|
|
rt2860.fw optional rt2860fw | ralfw \
|
2010-09-10 18:19:38 +00:00
|
|
|
dependency "$S/contrib/dev/ral/rt2860.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/ral/rt2860.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rt2860.fw"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/random/harvest.c standard
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/random/hash.c optional random
|
|
|
|
dev/random/probe.c optional random
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/random/randomdev.c optional random
|
2004-04-09 15:47:10 +00:00
|
|
|
dev/random/randomdev_soft.c optional random
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/random/yarrow.c optional random
|
|
|
|
dev/rc/rc.c optional rc
|
|
|
|
dev/re/if_re.c optional re
|
|
|
|
dev/rndtest/rndtest.c optional rndtest
|
|
|
|
dev/rp/rp.c optional rp
|
|
|
|
dev/rp/rp_isa.c optional rp isa
|
|
|
|
dev/rp/rp_pci.c optional rp pci
|
|
|
|
dev/safe/safe.c optional safe
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/scc/scc_if.m optional scc
|
|
|
|
dev/scc/scc_bfe_ebus.c optional scc ebus
|
2008-03-03 20:40:20 +00:00
|
|
|
dev/scc/scc_bfe_quicc.c optional scc quicc
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/scc/scc_bfe_sbus.c optional scc fhc | scc sbus
|
|
|
|
dev/scc/scc_core.c optional scc
|
2008-03-03 20:40:20 +00:00
|
|
|
dev/scc/scc_dev_quicc.c optional scc quicc
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/scc/scc_dev_sab82532.c optional scc
|
|
|
|
dev/scc/scc_dev_z8530.c optional scc
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/scd/scd.c optional scd isa
|
|
|
|
dev/scd/scd_isa.c optional scd isa
|
2008-10-21 20:33:40 +00:00
|
|
|
dev/sdhci/sdhci.c optional sdhci pci
|
2008-01-21 04:27:32 +00:00
|
|
|
dev/sf/if_sf.c optional sf pci
|
2010-04-14 20:45:33 +00:00
|
|
|
dev/sge/if_sge.c optional sge pci
|
2005-01-04 06:07:25 +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
|
2010-03-03 21:10:13 +00:00
|
|
|
dev/siba/siba_bwn.c optional siba_bwn pci
|
|
|
|
dev/siba/siba_core.c optional siba_bwn pci
|
2009-07-21 12:32:46 +00:00
|
|
|
dev/siis/siis.c optional siis pci
|
2008-08-10 10:00:14 +00:00
|
|
|
dev/sis/if_sis.c optional sis pci
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/sk/if_sk.c optional sk pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/smbus/smb.c optional smb
|
|
|
|
dev/smbus/smbconf.c optional smbus
|
|
|
|
dev/smbus/smbus.c optional smbus
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/smbus/smbus_if.m optional smbus
|
2008-06-06 05:00:49 +00:00
|
|
|
dev/smc/if_smc.c optional smc
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sn/if_sn.c optional sn
|
|
|
|
dev/sn/if_sn_isa.c optional sn isa
|
|
|
|
dev/sn/if_sn_pccard.c optional sn pccard
|
|
|
|
dev/snp/snp.c optional snp
|
Last major commit and updates for RELENG_7:
- Rework the entire pcm_channel structure:
* Remove rarely used link placeholder, instead, make each pcm_channel
as head/link of each own/each other. Unlock - Lock sequence due to
sleep malloc has been reduced.
* Implement "busy" queue which will contain list of busy/active
channels. This greatly reduce locking contention for example while
servicing interrupt for hardware with many channels or when virtual
channels reach its 256 peak channels.
- So I heard you like v chan ... O RLY?
Welcome to Virtual **Record** Channels (vrec, rec vchans, vchans for
recording, Rec-Chan, you decide), the ultimate solutions for your
nagging O_RDWR full-duplex wannabe (note: flash plugins) monopolizing
single record channel causing EBUSY. Vrec works exactly like Vchans
(or, should I rename it to "Vplay" :) , except that it operates on the
opposite direction (recording). Up to 256 vrecs (like vchans) are
possible.
Notes:
* Relocate dev.pcm.%d.{vchans,vchanformat,vchanrate} to each of its
respective node/direction:
dev.pcm.%d.play.* for "play" (cdev = dsp%d.vp%d)
dev.pcm.%d.rec.* for "record" (cdev = dsp%d.vr%d)
* Don't expect that it will magically give you ability to split
"recording source" (eg: 1 channel for cdrom, 1 channel for mic,
etc). Just admit that you only have a *single* recording source /
channel. Please bug your hardware vendor instead :)
- Bump maxautovchans from 4 to 16. For a full-fledged multimedia
desktop/workstation with too many soundservers installed (esound,
artsd, jackd, pulse/polypaudio, ding-dong pling plong mudkip fuh fuh,
etc), 4 seems inadequate. There will be no memory penalty here, since
virtual channels are allocate only by demand.
- Nuke/Rework the entire statically created cdev entries. Everything is
clonable through snd own clone manager which designed to withstand many
kind of abusive devfs droids such as:
* while : ; do /bin/test -e /dev/dsp ; done
* jot 16777216 0 | while read x ; do ls /dev/dsp0.$x ; done
* hundreds (could be thousands) concurrent threads/process opening
"/dev/dsp" (previously, this might result EBUSY even with just
3 contesting threads/procs).
o Reusable clone objects (instead of creating new one like there's no
tomorrow) after certain expiration deadline. The clone allocator will
decide whether to reuse, share, or creating new clone.
o Automatic garbage collector.
- Dynamic unit magic allocator. Maximum attached soundcards can be tuned
using tunable "hw.snd.maxunit" (Default to 512). Minimum is 16, and
maximum is 2048.
- ..other fixes, mostly related to concurrency issues.
joel@ will do the manpage updates on sound(4).
Have fun.
2007-05-31 18:43:33 +00:00
|
|
|
dev/sound/clone.c optional sound
|
|
|
|
dev/sound/unit.c optional sound
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/isa/ad1816.c optional snd_ad1816 isa
|
|
|
|
dev/sound/isa/ess.c optional snd_ess isa
|
|
|
|
dev/sound/isa/gusc.c optional snd_gusc isa
|
|
|
|
dev/sound/isa/mss.c optional snd_mss isa
|
|
|
|
dev/sound/isa/sb16.c optional snd_sb16 isa
|
|
|
|
dev/sound/isa/sb8.c optional snd_sb8 isa
|
|
|
|
dev/sound/isa/sbc.c optional snd_sbc isa
|
2004-07-16 04:00:08 +00:00
|
|
|
dev/sound/isa/sndbuf_dma.c optional sound isa
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pci/als4000.c optional snd_als4000 pci
|
2005-11-27 03:29:59 +00:00
|
|
|
dev/sound/pci/atiixp.c optional snd_atiixp pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pci/cmi.c optional snd_cmi pci
|
|
|
|
dev/sound/pci/cs4281.c optional snd_cs4281 pci
|
2012-02-01 21:38:01 +00:00
|
|
|
dev/sound/pci/csa.c optional snd_csa pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pci/csapcm.c optional snd_csa pci
|
|
|
|
dev/sound/pci/ds1.c optional snd_ds1 pci
|
2012-01-03 21:04:54 +00:00
|
|
|
dev/sound/pci/emu10k1.c optional snd_emu10k1 pci
|
2012-01-11 21:17:14 +00:00
|
|
|
dev/sound/pci/emu10kx.c optional snd_emu10kx pci
|
|
|
|
dev/sound/pci/emu10kx-pcm.c optional snd_emu10kx pci
|
|
|
|
dev/sound/pci/emu10kx-midi.c optional snd_emu10kx pci
|
2006-07-28 21:20:00 +00:00
|
|
|
dev/sound/pci/envy24.c optional snd_envy24 pci
|
2006-09-30 17:59:08 +00:00
|
|
|
dev/sound/pci/envy24ht.c optional snd_envy24ht pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pci/es137x.c optional snd_es137x pci
|
|
|
|
dev/sound/pci/fm801.c optional snd_fm801 pci
|
|
|
|
dev/sound/pci/ich.c optional snd_ich pci
|
2005-11-25 22:36:40 +00:00
|
|
|
dev/sound/pci/maestro.c optional snd_maestro pci
|
2012-01-20 22:37:10 +00:00
|
|
|
dev/sound/pci/maestro3.c optional snd_maestro3 pci
|
2004-07-16 04:00:08 +00:00
|
|
|
dev/sound/pci/neomagic.c optional snd_neomagic pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pci/solo.c optional snd_solo pci
|
2006-10-01 11:34:54 +00:00
|
|
|
dev/sound/pci/spicds.c optional snd_spicds pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pci/t4dwave.c optional snd_t4dwave pci
|
|
|
|
dev/sound/pci/via8233.c optional snd_via8233 pci
|
2004-07-16 04:00:08 +00:00
|
|
|
dev/sound/pci/via82c686.c optional snd_via82c686 pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pci/vibes.c optional snd_vibes pci
|
Major snd_hda driver rewrite:
- Huge old hdac driver was split into three independent pieces: HDA
controller driver (hdac), HDA CODEC driver (hdacc) and HDA sudio function
driver (hdaa).
- Support for multichannel recording was added. Now, as specification
defines, driver checks input associations for pins with sequence numbers
14 and 15, and if found (usually) -- works as before, mixing signals
together. If it doesn't, it configures input association as multichannel.
- Signal tracer was improved to look for cases where several DACs/ADCs in
CODEC can work with the same audio signal. If such case found, driver
registers additional playback/record stream (channel) for the pcm device.
- New controller streams reservation mechanism was implemented. That
allows to have more pcm devices then streams supported by the controller
(usually 4 in each direction). Now it limits only number of simultaneously
transferred audio streams, that is rarely reachable and properly reported
if happens.
- Codec pins and GPIO signals configuration was exported via set of
writable sysctls. Another sysctl dev.hdaa.X.reconfig allows to trigger
driver reconfiguration in run-time.
- Driver now decodes pins location and connector type names. In some cases
it allows to hint user where on the system case connectors, related to the
pcm device, are located. Number of channels supported by pcm device,
reported now (if it is not 2), should also make search easier.
- Added workaround for digital mic on some Asus laptops/netbooks.
MFC after: 2 months
Sponsored by: iXsystems, Inc.
2012-01-15 13:21:36 +00:00
|
|
|
dev/sound/pci/hda/hdaa.c optional snd_hda pci
|
|
|
|
dev/sound/pci/hda/hdaa_patches.c optional snd_hda pci
|
2006-10-01 11:18:56 +00:00
|
|
|
dev/sound/pci/hda/hdac.c optional snd_hda pci
|
Major snd_hda driver rewrite:
- Huge old hdac driver was split into three independent pieces: HDA
controller driver (hdac), HDA CODEC driver (hdacc) and HDA sudio function
driver (hdaa).
- Support for multichannel recording was added. Now, as specification
defines, driver checks input associations for pins with sequence numbers
14 and 15, and if found (usually) -- works as before, mixing signals
together. If it doesn't, it configures input association as multichannel.
- Signal tracer was improved to look for cases where several DACs/ADCs in
CODEC can work with the same audio signal. If such case found, driver
registers additional playback/record stream (channel) for the pcm device.
- New controller streams reservation mechanism was implemented. That
allows to have more pcm devices then streams supported by the controller
(usually 4 in each direction). Now it limits only number of simultaneously
transferred audio streams, that is rarely reachable and properly reported
if happens.
- Codec pins and GPIO signals configuration was exported via set of
writable sysctls. Another sysctl dev.hdaa.X.reconfig allows to trigger
driver reconfiguration in run-time.
- Driver now decodes pins location and connector type names. In some cases
it allows to hint user where on the system case connectors, related to the
pcm device, are located. Number of channels supported by pcm device,
reported now (if it is not 2), should also make search easier.
- Added workaround for digital mic on some Asus laptops/netbooks.
MFC after: 2 months
Sponsored by: iXsystems, Inc.
2012-01-15 13:21:36 +00:00
|
|
|
dev/sound/pci/hda/hdac_if.m optional snd_hda pci
|
|
|
|
dev/sound/pci/hda/hdacc.c optional snd_hda pci
|
2012-03-01 13:10:18 +00:00
|
|
|
dev/sound/pci/hdspe.c optional snd_hdspe pci
|
|
|
|
dev/sound/pci/hdspe-pcm.c optional snd_hdspe pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pcm/ac97.c optional sound
|
|
|
|
dev/sound/pcm/ac97_if.m optional sound
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/sound/pcm/ac97_patch.c optional sound
|
Sound Mega-commit. Expect further cleanup until code freeze.
For a slightly thorough explaination, please refer to
[1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html .
Summary of changes includes:
1 Volume Per-Channel (vpc). Provides private / standalone volume control
unique per-stream pcm channel without touching master volume / pcm.
Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for
backwards compatibility, SOUND_MIXER_PCM through the opened dsp device
instead of /dev/mixer. Special "bypass" mode is enabled through
/dev/mixer which will automatically detect if the adjustment is made
through /dev/mixer and forward its request to this private volume
controller. Changes to this volume object will not interfere with
other channels.
Requirements:
- SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which
require specific application modifications (preferred).
- No modifications required for using bypass mode, so applications
like mplayer or xmms should work out of the box.
Kernel hints:
- hint.pcm.%d.vpc (0 = disable vpc).
Kernel sysctls:
- hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer
bypass mode.
- hw.snd.vpc_autoreset (default: 1). By default, closing/opening
/dev/dsp will reset the volume back to 0 db gain/attenuation.
Setting this to 0 will preserve its settings across device
closing/opening.
- hw.snd.vpc_reset (default: 0). Panic/reset button to reset all
volume settings back to 0 db.
- hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value.
2 High quality fixed-point Bandlimited SINC sampling rate converter,
based on Julius O'Smith's Digital Audio Resampling -
http://ccrma.stanford.edu/~jos/resample/. It includes a filter design
script written in awk (the clumsiest joke I've ever written)
- 100% 32bit fixed-point, 64bit accumulator.
- Possibly among the fastest (if not fastest) of its kind.
- Resampling quality is tunable, either runtime or during kernel
compilation (FEEDER_RATE_PRESETS).
- Quality can be further customized during kernel compilation by
defining FEEDER_RATE_PRESETS in /etc/make.conf.
Kernel sysctls:
- hw.snd.feeder_rate_quality.
0 - Zero-order Hold (ZOH). Fastest, bad quality.
1 - Linear Interpolation (LINEAR). Slightly slower than ZOH,
better quality but still does not eliminate aliasing.
2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC
quality always start from 2 and above.
Rough quality comparisons:
- http://people.freebsd.org/~ariff/z_comparison/
3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be
directly fed into the hardware.
4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can
be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf.
5 Transparent/Adaptive Virtual Channel. Now you don't have to disable
vchans in order to make digital format pass through. It also makes
vchans more dynamic by choosing a better format/rate among all the
concurrent streams, which means that dev.pcm.X.play.vchanformat/rate
becomes sort of optional.
6 Exclusive Stream, with special open() mode O_EXCL. This will "mute"
other concurrent vchan streams and only allow a single channel with
O_EXCL set to keep producing sound.
Other Changes:
* most feeder_* stuffs are compilable in userland. Let's not
speculate whether we should go all out for it (save that for
FreeBSD 16.0-RELEASE).
* kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org>
* pull out channel mixing logic out of vchan.c and create its own
feeder_mixer for world justice.
* various refactoring here and there, for good or bad.
* activation of few more OSSv4 ioctls() (see [1] above).
* opt_snd.h for possible compile time configuration:
(mostly for debugging purposes, don't try these at home)
SND_DEBUG
SND_DIAGNOSTIC
SND_FEEDER_MULTIFORMAT
SND_FEEDER_FULL_MULTIFORMAT
SND_FEEDER_RATE_HP
SND_PCM_64
SND_OLDSTEREO
Manual page updates are on the way.
Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many
unsung / unnamed heroes.
2009-06-07 19:12:08 +00:00
|
|
|
dev/sound/pcm/buffer.c optional sound \
|
|
|
|
dependency "snd_fxdiv_gen.h"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pcm/channel.c optional sound
|
2004-07-16 04:00:08 +00:00
|
|
|
dev/sound/pcm/channel_if.m optional sound
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pcm/dsp.c optional sound
|
|
|
|
dev/sound/pcm/feeder.c optional sound
|
Sound Mega-commit. Expect further cleanup until code freeze.
For a slightly thorough explaination, please refer to
[1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html .
Summary of changes includes:
1 Volume Per-Channel (vpc). Provides private / standalone volume control
unique per-stream pcm channel without touching master volume / pcm.
Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for
backwards compatibility, SOUND_MIXER_PCM through the opened dsp device
instead of /dev/mixer. Special "bypass" mode is enabled through
/dev/mixer which will automatically detect if the adjustment is made
through /dev/mixer and forward its request to this private volume
controller. Changes to this volume object will not interfere with
other channels.
Requirements:
- SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which
require specific application modifications (preferred).
- No modifications required for using bypass mode, so applications
like mplayer or xmms should work out of the box.
Kernel hints:
- hint.pcm.%d.vpc (0 = disable vpc).
Kernel sysctls:
- hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer
bypass mode.
- hw.snd.vpc_autoreset (default: 1). By default, closing/opening
/dev/dsp will reset the volume back to 0 db gain/attenuation.
Setting this to 0 will preserve its settings across device
closing/opening.
- hw.snd.vpc_reset (default: 0). Panic/reset button to reset all
volume settings back to 0 db.
- hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value.
2 High quality fixed-point Bandlimited SINC sampling rate converter,
based on Julius O'Smith's Digital Audio Resampling -
http://ccrma.stanford.edu/~jos/resample/. It includes a filter design
script written in awk (the clumsiest joke I've ever written)
- 100% 32bit fixed-point, 64bit accumulator.
- Possibly among the fastest (if not fastest) of its kind.
- Resampling quality is tunable, either runtime or during kernel
compilation (FEEDER_RATE_PRESETS).
- Quality can be further customized during kernel compilation by
defining FEEDER_RATE_PRESETS in /etc/make.conf.
Kernel sysctls:
- hw.snd.feeder_rate_quality.
0 - Zero-order Hold (ZOH). Fastest, bad quality.
1 - Linear Interpolation (LINEAR). Slightly slower than ZOH,
better quality but still does not eliminate aliasing.
2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC
quality always start from 2 and above.
Rough quality comparisons:
- http://people.freebsd.org/~ariff/z_comparison/
3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be
directly fed into the hardware.
4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can
be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf.
5 Transparent/Adaptive Virtual Channel. Now you don't have to disable
vchans in order to make digital format pass through. It also makes
vchans more dynamic by choosing a better format/rate among all the
concurrent streams, which means that dev.pcm.X.play.vchanformat/rate
becomes sort of optional.
6 Exclusive Stream, with special open() mode O_EXCL. This will "mute"
other concurrent vchan streams and only allow a single channel with
O_EXCL set to keep producing sound.
Other Changes:
* most feeder_* stuffs are compilable in userland. Let's not
speculate whether we should go all out for it (save that for
FreeBSD 16.0-RELEASE).
* kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org>
* pull out channel mixing logic out of vchan.c and create its own
feeder_mixer for world justice.
* various refactoring here and there, for good or bad.
* activation of few more OSSv4 ioctls() (see [1] above).
* opt_snd.h for possible compile time configuration:
(mostly for debugging purposes, don't try these at home)
SND_DEBUG
SND_DIAGNOSTIC
SND_FEEDER_MULTIFORMAT
SND_FEEDER_FULL_MULTIFORMAT
SND_FEEDER_RATE_HP
SND_PCM_64
SND_OLDSTEREO
Manual page updates are on the way.
Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many
unsung / unnamed heroes.
2009-06-07 19:12:08 +00:00
|
|
|
dev/sound/pcm/feeder_chain.c optional sound
|
|
|
|
dev/sound/pcm/feeder_eq.c optional sound \
|
|
|
|
dependency "feeder_eq_gen.h" \
|
|
|
|
dependency "snd_fxdiv_gen.h"
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/sound/pcm/feeder_if.m optional sound
|
Sound Mega-commit. Expect further cleanup until code freeze.
For a slightly thorough explaination, please refer to
[1] http://people.freebsd.org/~ariff/SOUND_4.TXT.html .
Summary of changes includes:
1 Volume Per-Channel (vpc). Provides private / standalone volume control
unique per-stream pcm channel without touching master volume / pcm.
Applications can directly use SNDCTL_DSP_[GET|SET][PLAY|REC]VOL, or for
backwards compatibility, SOUND_MIXER_PCM through the opened dsp device
instead of /dev/mixer. Special "bypass" mode is enabled through
/dev/mixer which will automatically detect if the adjustment is made
through /dev/mixer and forward its request to this private volume
controller. Changes to this volume object will not interfere with
other channels.
Requirements:
- SNDCTL_DSP_[GET|SET][PLAY|REC]_VOL are newer ioctls (OSSv4) which
require specific application modifications (preferred).
- No modifications required for using bypass mode, so applications
like mplayer or xmms should work out of the box.
Kernel hints:
- hint.pcm.%d.vpc (0 = disable vpc).
Kernel sysctls:
- hw.snd.vpc_mixer_bypass (default: 1). Enable or disable /dev/mixer
bypass mode.
- hw.snd.vpc_autoreset (default: 1). By default, closing/opening
/dev/dsp will reset the volume back to 0 db gain/attenuation.
Setting this to 0 will preserve its settings across device
closing/opening.
- hw.snd.vpc_reset (default: 0). Panic/reset button to reset all
volume settings back to 0 db.
- hw.snd.vpc_0db (default: 45). 0 db relative to linear mixer value.
2 High quality fixed-point Bandlimited SINC sampling rate converter,
based on Julius O'Smith's Digital Audio Resampling -
http://ccrma.stanford.edu/~jos/resample/. It includes a filter design
script written in awk (the clumsiest joke I've ever written)
- 100% 32bit fixed-point, 64bit accumulator.
- Possibly among the fastest (if not fastest) of its kind.
- Resampling quality is tunable, either runtime or during kernel
compilation (FEEDER_RATE_PRESETS).
- Quality can be further customized during kernel compilation by
defining FEEDER_RATE_PRESETS in /etc/make.conf.
Kernel sysctls:
- hw.snd.feeder_rate_quality.
0 - Zero-order Hold (ZOH). Fastest, bad quality.
1 - Linear Interpolation (LINEAR). Slightly slower than ZOH,
better quality but still does not eliminate aliasing.
2 - (and above) - Sinc Interpolation(SINC). Best quality. SINC
quality always start from 2 and above.
Rough quality comparisons:
- http://people.freebsd.org/~ariff/z_comparison/
3 Bit-perfect mode. Bypasses all feeder/dsp effects. Pure sound will be
directly fed into the hardware.
4 Parametric (compile time) Software Equalizer (Bass/Treble mixer). Can
be customized by defining FEEDER_EQ_PRESETS in /etc/make.conf.
5 Transparent/Adaptive Virtual Channel. Now you don't have to disable
vchans in order to make digital format pass through. It also makes
vchans more dynamic by choosing a better format/rate among all the
concurrent streams, which means that dev.pcm.X.play.vchanformat/rate
becomes sort of optional.
6 Exclusive Stream, with special open() mode O_EXCL. This will "mute"
other concurrent vchan streams and only allow a single channel with
O_EXCL set to keep producing sound.
Other Changes:
* most feeder_* stuffs are compilable in userland. Let's not
speculate whether we should go all out for it (save that for
FreeBSD 16.0-RELEASE).
* kobj signature fixups, thanks to Andriy Gapon <avg@freebsd.org>
* pull out channel mixing logic out of vchan.c and create its own
feeder_mixer for world justice.
* various refactoring here and there, for good or bad.
* activation of few more OSSv4 ioctls() (see [1] above).
* opt_snd.h for possible compile time configuration:
(mostly for debugging purposes, don't try these at home)
SND_DEBUG
SND_DIAGNOSTIC
SND_FEEDER_MULTIFORMAT
SND_FEEDER_FULL_MULTIFORMAT
SND_FEEDER_RATE_HP
SND_PCM_64
SND_OLDSTEREO
Manual page updates are on the way.
Tested by: joel, Olivier SMEDTS <olivier at gid0 d org>, too many
unsung / unnamed heroes.
2009-06-07 19:12:08 +00:00
|
|
|
dev/sound/pcm/feeder_format.c optional sound \
|
|
|
|
dependency "snd_fxdiv_gen.h"
|
|
|
|
dev/sound/pcm/feeder_matrix.c optional sound \
|
|
|
|
dependency "snd_fxdiv_gen.h"
|
|
|
|
dev/sound/pcm/feeder_mixer.c optional sound \
|
|
|
|
dependency "snd_fxdiv_gen.h"
|
|
|
|
dev/sound/pcm/feeder_rate.c optional sound \
|
|
|
|
dependency "feeder_rate_gen.h" \
|
|
|
|
dependency "snd_fxdiv_gen.h"
|
|
|
|
dev/sound/pcm/feeder_volume.c optional sound \
|
|
|
|
dependency "snd_fxdiv_gen.h"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pcm/mixer.c optional sound
|
2004-07-16 04:00:08 +00:00
|
|
|
dev/sound/pcm/mixer_if.m optional sound
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sound/pcm/sndstat.c optional sound
|
|
|
|
dev/sound/pcm/sound.c optional sound
|
|
|
|
dev/sound/pcm/vchan.c optional sound
|
2009-02-23 21:19:18 +00:00
|
|
|
dev/sound/usb/uaudio.c optional snd_uaudio usb
|
|
|
|
dev/sound/usb/uaudio_pcm.c optional snd_uaudio usb
|
Commit the new (old) midi framework. It's based in parts on the NetBSD code,
but large parts are rewritten by matk and tanimura.
This is old code, it's not maintained since 2003. We also don't have a
maintainer for this! Yuriy Tsibizov took it and uses it in his emu10kx
driver. Since the emu10kx driver will enter the tree "soon" (some bugs
have to be fixed after Yuriy return from his holidays), I add it here
already.
This also contains some changes to emu10k1 and cmi, so if you're lucky,
you can now make some kind of use of midi with those soundcards.
To all those poor souls which don't have such a card: feel free to send
patches, we don't have a maintainer for this.
To those which miss a specific feature in the midi code: feel free to
submit patches, we don't have a maintainer for this.
Oh, did I already told that it would be nice if someone would take care
of it? Maintainer with midi equipment wanted! :-)
If you get LOR's, submit a PR and notify multimedia@ please. If you get
panics, submit a PR with a backtrace (compile the sound system into your
kernel instead of using modules in this case) and notify multimedia@
please.
Written by: matk, tanimura
Submitted by: "Yuriy Tsibizov" <Yuriy.Tsibizov@gfk.ru>
Based upon: code from NetBSD
2006-05-27 16:32:05 +00:00
|
|
|
dev/sound/midi/midi.c optional sound
|
|
|
|
dev/sound/midi/mpu401.c optional sound
|
|
|
|
dev/sound/midi/mpu_if.m optional sound
|
|
|
|
dev/sound/midi/mpufoi_if.m optional sound
|
|
|
|
dev/sound/midi/sequencer.c optional sound
|
|
|
|
dev/sound/midi/synth_if.m optional sound
|
2006-07-14 22:50:46 +00:00
|
|
|
dev/spibus/spibus.c optional spibus \
|
|
|
|
dependency "spibus_if.h"
|
|
|
|
dev/spibus/spibus_if.m optional spibus
|
2008-08-14 20:09:58 +00:00
|
|
|
dev/ste/if_ste.c optional ste pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/stg/tmc18c30.c optional stg
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/stg/tmc18c30_isa.c optional stg isa
|
2002-11-28 01:17:48 +00:00
|
|
|
dev/stg/tmc18c30_pccard.c optional stg pccard
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/stg/tmc18c30_pci.c optional stg pci
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/stg/tmc18c30_subr.c optional stg
|
2006-07-25 00:45:55 +00:00
|
|
|
dev/stge/if_stge.c optional stge
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/streams/streams.c optional streams
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/sym/sym_hipd.c optional sym \
|
2000-03-23 19:08:49 +00:00
|
|
|
dependency "$S/dev/sym/sym_{conf,defs}.h"
|
2001-08-09 00:02:30 +00:00
|
|
|
dev/syscons/blank/blank_saver.c optional blank_saver
|
|
|
|
dev/syscons/daemon/daemon_saver.c optional daemon_saver
|
2005-01-13 15:55:34 +00:00
|
|
|
dev/syscons/dragon/dragon_saver.c optional dragon_saver
|
2001-08-09 00:02:30 +00:00
|
|
|
dev/syscons/fade/fade_saver.c optional fade_saver
|
|
|
|
dev/syscons/fire/fire_saver.c optional fire_saver
|
|
|
|
dev/syscons/green/green_saver.c optional green_saver
|
|
|
|
dev/syscons/logo/logo.c optional logo_saver
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/syscons/logo/logo_saver.c optional logo_saver
|
2001-08-09 00:02:30 +00:00
|
|
|
dev/syscons/rain/rain_saver.c optional rain_saver
|
2006-10-23 13:05:01 +00:00
|
|
|
dev/syscons/schistory.c optional sc
|
|
|
|
dev/syscons/scmouse.c optional sc
|
|
|
|
dev/syscons/scterm.c optional sc
|
|
|
|
dev/syscons/scvidctl.c optional sc
|
2005-01-13 15:55:34 +00:00
|
|
|
dev/syscons/snake/snake_saver.c optional snake_saver
|
2001-08-09 00:02:30 +00:00
|
|
|
dev/syscons/star/star_saver.c optional star_saver
|
2006-10-23 13:05:01 +00:00
|
|
|
dev/syscons/syscons.c optional sc
|
|
|
|
dev/syscons/sysmouse.c optional sc
|
2001-08-09 00:02:30 +00:00
|
|
|
dev/syscons/warp/warp_saver.c optional warp_saver
|
2006-03-03 21:37:38 +00:00
|
|
|
dev/tdfx/tdfx_linux.c optional tdfx_linux tdfx compat_linux
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/tdfx/tdfx_pci.c optional tdfx pci
|
2005-12-10 00:38:33 +00:00
|
|
|
dev/ti/if_ti.c optional ti pci
|
2008-08-14 20:02:34 +00:00
|
|
|
dev/tl/if_tl.c optional tl pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/trm/trm.c optional trm
|
2005-09-11 00:52:05 +00:00
|
|
|
dev/twa/tw_cl_init.c optional twa \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/twa"
|
|
|
|
dev/twa/tw_cl_intr.c optional twa \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/twa"
|
|
|
|
dev/twa/tw_cl_io.c optional twa \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/twa"
|
|
|
|
dev/twa/tw_cl_misc.c optional twa \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/twa"
|
2005-11-08 22:51:43 +00:00
|
|
|
dev/twa/tw_osl_cam.c optional twa \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/twa"
|
|
|
|
dev/twa/tw_osl_freebsd.c optional twa \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/twa"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/twe/twe.c optional twe
|
|
|
|
dev/twe/twe_freebsd.c optional twe
|
2011-10-04 21:40:25 +00:00
|
|
|
dev/tws/tws.c optional tws
|
|
|
|
dev/tws/tws_cam.c optional tws
|
|
|
|
dev/tws/tws_hdm.c optional tws
|
|
|
|
dev/tws/tws_services.c optional tws
|
|
|
|
dev/tws/tws_user.c optional tws
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/tx/if_tx.c optional tx
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/txp/if_txp.c optional txp
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/uart/uart_bus_acpi.c optional uart acpi
|
|
|
|
#dev/uart/uart_bus_cbus.c optional uart cbus
|
|
|
|
dev/uart/uart_bus_ebus.c optional uart ebus
|
2010-06-13 13:02:43 +00:00
|
|
|
dev/uart/uart_bus_fdt.c optional uart fdt
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/uart/uart_bus_isa.c optional uart isa
|
|
|
|
dev/uart/uart_bus_pccard.c optional uart pccard
|
|
|
|
dev/uart/uart_bus_pci.c optional uart pci
|
|
|
|
dev/uart/uart_bus_puc.c optional uart puc
|
|
|
|
dev/uart/uart_bus_scc.c optional uart scc
|
|
|
|
dev/uart/uart_core.c optional uart
|
|
|
|
dev/uart/uart_dbg.c optional uart gdb
|
|
|
|
dev/uart/uart_dev_ns8250.c optional uart uart_ns8250
|
2008-03-03 20:40:20 +00:00
|
|
|
dev/uart/uart_dev_quicc.c optional uart quicc
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/uart/uart_dev_sab82532.c optional uart uart_sab82532
|
|
|
|
dev/uart/uart_dev_sab82532.c optional uart scc
|
|
|
|
dev/uart/uart_dev_z8530.c optional uart uart_z8530
|
|
|
|
dev/uart/uart_dev_z8530.c optional uart scc
|
|
|
|
dev/uart/uart_if.m optional uart
|
|
|
|
dev/uart/uart_subr.c optional uart
|
|
|
|
dev/uart/uart_tty.c optional uart
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ubsec/ubsec.c optional ubsec
|
2000-03-23 19:08:49 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB controller drivers
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/controller/at91dci.c optional at91dci
|
|
|
|
dev/usb/controller/at91dci_atmelarm.c optional at91dci at91rm9200
|
|
|
|
dev/usb/controller/musb_otg.c optional musb
|
|
|
|
dev/usb/controller/musb_otg_atmelarm.c optional musb at91rm9200
|
|
|
|
dev/usb/controller/ehci.c optional ehci
|
|
|
|
dev/usb/controller/ehci_pci.c optional ehci pci
|
|
|
|
dev/usb/controller/ohci.c optional ohci
|
|
|
|
dev/usb/controller/ohci_atmelarm.c optional ohci at91rm9200
|
|
|
|
dev/usb/controller/ohci_pci.c optional ohci pci
|
|
|
|
dev/usb/controller/uhci.c optional uhci
|
|
|
|
dev/usb/controller/uhci_pci.c optional uhci pci
|
2010-10-04 23:22:03 +00:00
|
|
|
dev/usb/controller/xhci.c optional xhci
|
|
|
|
dev/usb/controller/xhci_pci.c optional xhci pci
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/controller/uss820dci.c optional uss820dci
|
|
|
|
dev/usb/controller/uss820dci_atmelarm.c optional uss820dci at91rm9200
|
|
|
|
dev/usb/controller/usb_controller.c optional usb
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB storage drivers
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/storage/umass.c optional umass
|
|
|
|
dev/usb/storage/urio.c optional urio
|
|
|
|
dev/usb/storage/ustorage_fs.c optional usfs
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB core
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/usb_busdma.c optional usb
|
|
|
|
dev/usb/usb_compat_linux.c optional usb
|
|
|
|
dev/usb/usb_core.c optional usb
|
|
|
|
dev/usb/usb_debug.c optional usb
|
|
|
|
dev/usb/usb_dev.c optional usb
|
|
|
|
dev/usb/usb_device.c optional usb
|
|
|
|
dev/usb/usb_dynamic.c optional usb
|
|
|
|
dev/usb/usb_error.c optional usb
|
|
|
|
dev/usb/usb_generic.c optional usb
|
|
|
|
dev/usb/usb_handle_request.c optional usb
|
|
|
|
dev/usb/usb_hid.c optional usb
|
|
|
|
dev/usb/usb_hub.c optional usb
|
|
|
|
dev/usb/usb_if.m optional usb
|
|
|
|
dev/usb/usb_lookup.c optional usb
|
|
|
|
dev/usb/usb_mbuf.c optional usb
|
|
|
|
dev/usb/usb_msctest.c optional usb
|
|
|
|
dev/usb/usb_parse.c optional usb
|
2010-11-22 01:11:28 +00:00
|
|
|
dev/usb/usb_pf.c optional usb
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/usb_process.c optional usb
|
|
|
|
dev/usb/usb_request.c optional usb
|
|
|
|
dev/usb/usb_transfer.c optional usb
|
|
|
|
dev/usb/usb_util.c optional usb
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2010-01-13 03:16:31 +00:00
|
|
|
# USB network drivers
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/net/if_aue.c optional aue
|
|
|
|
dev/usb/net/if_axe.c optional axe
|
|
|
|
dev/usb/net/if_cdce.c optional cdce
|
|
|
|
dev/usb/net/if_cue.c optional cue
|
2010-10-13 21:36:42 +00:00
|
|
|
dev/usb/net/if_ipheth.c optional ipheth
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/net/if_kue.c optional kue
|
2011-02-17 07:39:53 +00:00
|
|
|
dev/usb/net/if_mos.c optional mos
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/net/if_rue.c optional rue
|
|
|
|
dev/usb/net/if_udav.c optional udav
|
2011-07-08 10:58:56 +00:00
|
|
|
dev/usb/net/if_usie.c optional usie
|
2011-10-08 12:33:10 +00:00
|
|
|
dev/usb/net/ruephy.c optional rue
|
2011-02-17 07:39:53 +00:00
|
|
|
dev/usb/net/usb_ethernet.c optional aue | axe | cdce | cue | kue | mos | \
|
|
|
|
rue | udav
|
2010-01-13 03:16:31 +00:00
|
|
|
dev/usb/net/uhso.c optional uhso
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB WLAN drivers
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/wlan/if_rum.c optional rum
|
2010-01-28 22:24:54 +00:00
|
|
|
dev/usb/wlan/if_run.c optional run
|
2011-01-11 21:46:29 +00:00
|
|
|
runfw.c optional runfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk runfw:runfw -mrunfw -c${.TARGET}" \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "runfw.c"
|
|
|
|
runfw.fwo optional runfw \
|
|
|
|
dependency "runfw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} runfw" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "runfw.fwo"
|
|
|
|
runfw optional runfw \
|
|
|
|
dependency "$S/contrib/dev/run/rt2870.fw.uu" \
|
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/run/rt2870.fw.uu" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "runfw"
|
2009-05-01 17:16:33 +00:00
|
|
|
dev/usb/wlan/if_uath.c optional uath
|
2009-07-31 17:57:16 +00:00
|
|
|
dev/usb/wlan/if_upgt.c optional upgt
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/wlan/if_ural.c optional ural
|
2009-07-19 16:54:24 +00:00
|
|
|
dev/usb/wlan/if_urtw.c optional urtw
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/wlan/if_zyd.c optional zyd
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB serial and parallel port drivers
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/serial/u3g.c optional u3g
|
|
|
|
dev/usb/serial/uark.c optional uark
|
|
|
|
dev/usb/serial/ubsa.c optional ubsa
|
|
|
|
dev/usb/serial/ubser.c optional ubser
|
|
|
|
dev/usb/serial/uchcom.c optional uchcom
|
|
|
|
dev/usb/serial/ucycom.c optional ucycom
|
|
|
|
dev/usb/serial/ufoma.c optional ufoma
|
|
|
|
dev/usb/serial/uftdi.c optional uftdi
|
|
|
|
dev/usb/serial/ugensa.c optional ugensa
|
|
|
|
dev/usb/serial/uipaq.c optional uipaq
|
|
|
|
dev/usb/serial/ulpt.c optional ulpt
|
2011-06-04 20:40:24 +00:00
|
|
|
dev/usb/serial/umcs.c optional umcs
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/serial/umct.c optional umct
|
|
|
|
dev/usb/serial/umodem.c optional umodem
|
|
|
|
dev/usb/serial/umoscom.c optional umoscom
|
|
|
|
dev/usb/serial/uplcom.c optional uplcom
|
|
|
|
dev/usb/serial/uslcom.c optional uslcom
|
|
|
|
dev/usb/serial/uvisor.c optional uvisor
|
|
|
|
dev/usb/serial/uvscom.c optional uvscom
|
2009-11-30 21:03:44 +00:00
|
|
|
dev/usb/serial/usb_serial.c optional ucom | u3g | uark | ubsa | ubser | \
|
|
|
|
uchcom | ucycom | ufoma | uftdi | \
|
2011-06-04 20:40:24 +00:00
|
|
|
ugensa | uipaq | umcs | umct | \
|
2011-07-08 10:58:56 +00:00
|
|
|
umodem | umoscom | uplcom | usie | \
|
|
|
|
uslcom | uvisor | uvscom
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB misc drivers
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/misc/ufm.c optional ufm
|
|
|
|
dev/usb/misc/udbp.c optional udbp
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB input drivers
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-11-09 15:59:09 +00:00
|
|
|
dev/usb/input/atp.c optional atp
|
2010-05-25 21:20:56 +00:00
|
|
|
dev/usb/input/uep.c optional uep
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/input/uhid.c optional uhid
|
|
|
|
dev/usb/input/ukbd.c optional ukbd
|
|
|
|
dev/usb/input/ums.c optional ums
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB quirks
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/quirk/usb_quirk.c optional usb
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB templates
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2011-06-23 07:54:03 +00:00
|
|
|
dev/usb/template/usb_template.c optional usb_template
|
|
|
|
dev/usb/template/usb_template_audio.c optional usb_template
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/template/usb_template_cdce.c optional usb_template
|
2011-06-23 07:54:03 +00:00
|
|
|
dev/usb/template/usb_template_kbd.c optional usb_template
|
|
|
|
dev/usb/template/usb_template_modem.c optional usb_template
|
|
|
|
dev/usb/template/usb_template_mouse.c optional usb_template
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/template/usb_template_msc.c optional usb_template
|
|
|
|
dev/usb/template/usb_template_mtp.c optional usb_template
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2009-02-23 18:34:56 +00:00
|
|
|
# USB END
|
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack
that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB
stack, including Host Controller and Device Controller drivers and
updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver
unloading" problem. The new BSD licensed libusb20 library is fully
compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your
full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers
for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing
and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode,
using the same API like the USB host side. In other words the new
USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput
and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config
file.
2.b) Add the following USB device options to your kernel configuration
file:
# USB core support
device usb2_core
# USB controller support
device usb2_controller
device usb2_controller_ehci
device usb2_controller_ohci
device usb2_controller_uhci
# USB mass storage support
device usb2_storage
device usb2_storage_mass
# USB ethernet support, requires miibus
device usb2_ethernet
device usb2_ethernet_aue
device usb2_ethernet_axe
device usb2_ethernet_cdce
device usb2_ethernet_cue
device usb2_ethernet_kue
device usb2_ethernet_rue
device usb2_ethernet_dav
# USB wireless LAN support
device usb2_wlan
device usb2_wlan_rum
device usb2_wlan_ral
device usb2_wlan_zyd
# USB serial device support
device usb2_serial
device usb2_serial_ark
device usb2_serial_bsa
device usb2_serial_bser
device usb2_serial_chcom
device usb2_serial_cycom
device usb2_serial_foma
device usb2_serial_ftdi
device usb2_serial_gensa
device usb2_serial_ipaq
device usb2_serial_lpt
device usb2_serial_mct
device usb2_serial_modem
device usb2_serial_moscom
device usb2_serial_plcom
device usb2_serial_visor
device usb2_serial_vscom
# USB bluetooth support
device usb2_bluetooth
device usb2_bluetooth_ng
# USB input device support
device usb2_input
device usb2_input_hid
device usb2_input_kbd
device usb2_input_ms
# USB sound and MIDI device support
device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the
kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same
base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net
Reviewed by: imp, alfred
2008-11-04 02:31:03 +00:00
|
|
|
#
|
2005-02-24 16:56:36 +00:00
|
|
|
dev/utopia/idtphy.c optional utopia
|
|
|
|
dev/utopia/suni.c optional utopia
|
2003-06-13 12:08:09 +00:00
|
|
|
dev/utopia/utopia.c optional utopia
|
2004-09-10 20:57:46 +00:00
|
|
|
dev/vge/if_vge.c optional vge
|
2004-11-16 17:19:04 +00:00
|
|
|
dev/vkbd/vkbd.c optional vkbd
|
2008-03-11 03:50:57 +00:00
|
|
|
dev/vr/if_vr.c optional vr pci
|
2010-12-31 00:21:41 +00:00
|
|
|
dev/vte/if_vte.c optional vte pci
|
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
|
2011-04-28 14:33:15 +00:00
|
|
|
dev/vxge/vxge.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-ifmsg.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-mrpcim.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxge-queue.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-ring.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-swapper.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-mgmt.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-srpcim.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-config.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-blockpool.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-doorbells.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-mgmtaux.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-device.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-mm.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-driver.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-virtualpath.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-channel.c optional vxge
|
|
|
|
dev/vxge/vxgehal/vxgehal-fifo.c optional vxge
|
2004-02-28 20:06:59 +00:00
|
|
|
dev/watchdog/watchdog.c standard
|
2008-08-14 21:26:29 +00:00
|
|
|
dev/wb/if_wb.c optional wb pci
|
2000-11-16 15:16:41 +00:00
|
|
|
dev/wds/wd7000.c optional wds isa
|
2001-08-23 23:58:49 +00:00
|
|
|
dev/wi/if_wi.c optional wi
|
2002-04-02 02:50:48 +00:00
|
|
|
dev/wi/if_wi_pccard.c optional wi pccard
|
|
|
|
dev/wi/if_wi_pci.c optional wi pci
|
2001-07-02 05:58:47 +00:00
|
|
|
dev/wl/if_wl.c optional wl isa
|
2011-05-01 18:42:56 +00:00
|
|
|
dev/wpi/if_wpi.c optional wpi pci
|
2008-04-25 20:42:48 +00:00
|
|
|
wpifw.c optional wpifw \
|
2010-12-19 11:37:44 +00:00
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk wpi.fw:wpifw:153229 -mwpi -c${.TARGET}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "wpifw.c"
|
|
|
|
wpifw.fwo optional wpifw \
|
|
|
|
dependency "wpi.fw" \
|
|
|
|
compile-with "${LD} -b binary -d -warn-common -r -d -o ${.TARGET} wpi.fw" \
|
|
|
|
no-implicit-rule \
|
2009-02-08 14:43:20 +00:00
|
|
|
clean "wpifw.fwo"
|
2008-04-25 20:42:48 +00:00
|
|
|
wpi.fw optional wpifw \
|
2010-12-19 11:37:44 +00:00
|
|
|
dependency "$S/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu" \
|
|
|
|
compile-with "uudecode -o ${.TARGET} $S/contrib/dev/wpi/iwlwifi-3945-15.32.2.9.fw.uu" \
|
2008-04-25 20:42:48 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "wpi.fw"
|
2002-02-20 14:33:42 +00:00
|
|
|
dev/xe/if_xe.c optional xe
|
|
|
|
dev/xe/if_xe_pccard.c optional xe pccard
|
2008-08-10 09:45:52 +00:00
|
|
|
dev/xl/if_xl.c optional xl pci
|
2011-10-08 12:33:10 +00:00
|
|
|
dev/xl/xlphy.c optional xl pci
|
2007-07-12 21:04:58 +00:00
|
|
|
fs/coda/coda_fbsd.c optional vcoda
|
|
|
|
fs/coda/coda_psdev.c optional vcoda
|
|
|
|
fs/coda/coda_subr.c optional vcoda
|
|
|
|
fs/coda/coda_venus.c optional vcoda
|
|
|
|
fs/coda/coda_vfsops.c optional vcoda
|
|
|
|
fs/coda/coda_vnops.c optional vcoda
|
2005-01-04 06:07:25 +00:00
|
|
|
fs/deadfs/dead_vnops.c standard
|
2001-05-13 20:52:40 +00:00
|
|
|
fs/devfs/devfs_devs.c standard
|
2010-09-27 17:47:09 +00:00
|
|
|
fs/devfs/devfs_dir.c standard
|
2002-07-17 01:46:48 +00:00
|
|
|
fs/devfs/devfs_rule.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
|
2005-01-04 06:07:25 +00:00
|
|
|
fs/fifofs/fifo_vnops.c standard
|
2001-05-23 09:42:29 +00:00
|
|
|
fs/hpfs/hpfs_alsubr.c optional hpfs
|
2001-01-31 05:33:23 +00:00
|
|
|
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
|
2007-01-30 03:11:45 +00:00
|
|
|
fs/msdosfs/msdosfs_fileno.c optional msdosfs
|
2005-01-10 05:11:40 +00:00
|
|
|
fs/msdosfs/msdosfs_iconv.c optional msdosfs_iconv
|
2001-05-25 08:14:14 +00:00
|
|
|
fs/msdosfs/msdosfs_lookup.c optional msdosfs
|
|
|
|
fs/msdosfs/msdosfs_vfsops.c optional msdosfs
|
|
|
|
fs/msdosfs/msdosfs_vnops.c optional msdosfs
|
2009-05-28 19:45:11 +00:00
|
|
|
fs/nfs/nfs_commonkrpc.c optional nfscl | nfsd
|
|
|
|
fs/nfs/nfs_commonsubs.c optional nfscl | nfsd
|
|
|
|
fs/nfs/nfs_commonport.c optional nfscl | nfsd
|
|
|
|
fs/nfs/nfs_commonacl.c optional nfscl | nfsd
|
|
|
|
fs/nfsclient/nfs_clcomsubs.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clsubs.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clstate.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clkrpc.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clrpcops.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clvnops.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clnode.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clvfsops.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clport.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clbio.c optional nfscl
|
|
|
|
fs/nfsclient/nfs_clnfsiod.c optional nfscl
|
2009-06-10 21:31:57 +00:00
|
|
|
fs/nfsserver/nfs_nfsdsocket.c optional nfsd inet
|
|
|
|
fs/nfsserver/nfs_nfsdsubs.c optional nfsd inet
|
|
|
|
fs/nfsserver/nfs_nfsdstate.c optional nfsd inet
|
|
|
|
fs/nfsserver/nfs_nfsdkrpc.c optional nfsd inet
|
|
|
|
fs/nfsserver/nfs_nfsdserv.c optional nfsd inet
|
|
|
|
fs/nfsserver/nfs_nfsdport.c optional nfsd inet
|
|
|
|
fs/nfsserver/nfs_nfsdcache.c optional nfsd inet
|
2001-05-26 11:57:45 +00:00
|
|
|
fs/ntfs/ntfs_compr.c optional ntfs
|
2005-01-10 05:11:40 +00:00
|
|
|
fs/ntfs/ntfs_iconv.c optional ntfs_iconv
|
2001-05-26 11:57:45 +00:00
|
|
|
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
|
2005-01-04 06:07:25 +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
|
2005-01-04 06:07:25 +00:00
|
|
|
fs/procfs/procfs.c optional procfs
|
|
|
|
fs/procfs/procfs_ctl.c optional procfs
|
Dissociate ptrace from procfs.
Until now, the ptrace syscall was implemented as a wrapper that called
various functions in procfs depending on which ptrace operation was
requested. Most of these functions were themselves wrappers around
procfs_{read,write}_{,db,fp}regs(), with only some extra error checks,
which weren't necessary in the ptrace case anyway.
This commit moves procfs_rwmem() from procfs_mem.c into sys_process.c
(renaming it to proc_rwmem() in the process), and implements ptrace()
directly in terms of procfs_{read,write}_{,db,fp}regs() instead of
having it fake up a struct uio and then call procfs_do{,db,fp}regs().
It also moves the prototypes for procfs_{read,write}_{,db,fp}regs()
and proc_rwmem() from proc.h to ptrace.h, and marks all procfs files
except procfs_machdep.c as "optional procfs" instead of "standard".
2001-10-07 20:08:42 +00:00
|
|
|
fs/procfs/procfs_dbregs.c optional procfs
|
|
|
|
fs/procfs/procfs_fpregs.c optional procfs
|
2001-12-04 01:35:06 +00:00
|
|
|
fs/procfs/procfs_ioctl.c optional procfs
|
2005-01-04 06:07:25 +00:00
|
|
|
fs/procfs/procfs_map.c optional procfs
|
|
|
|
fs/procfs/procfs_mem.c optional procfs
|
|
|
|
fs/procfs/procfs_note.c optional procfs
|
2009-09-23 12:08:08 +00:00
|
|
|
fs/procfs/procfs_osrel.c optional procfs
|
2005-01-04 06:07:25 +00:00
|
|
|
fs/procfs/procfs_regs.c optional procfs
|
2001-05-23 09:42:29 +00:00
|
|
|
fs/procfs/procfs_rlimit.c optional procfs
|
|
|
|
fs/procfs/procfs_status.c optional procfs
|
2005-01-04 06:07:25 +00:00
|
|
|
fs/procfs/procfs_type.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
|
2002-07-15 19:11:21 +00:00
|
|
|
fs/smbfs/smbfs_io.c optional smbfs
|
|
|
|
fs/smbfs/smbfs_node.c optional smbfs
|
|
|
|
fs/smbfs/smbfs_smb.c optional smbfs
|
|
|
|
fs/smbfs/smbfs_subr.c optional smbfs
|
|
|
|
fs/smbfs/smbfs_vfsops.c optional smbfs
|
|
|
|
fs/smbfs/smbfs_vnops.c optional smbfs
|
2005-01-10 05:11:40 +00:00
|
|
|
fs/udf/osta.c optional udf
|
2005-01-04 06:07:25 +00:00
|
|
|
fs/udf/udf_iconv.c optional udf_iconv
|
|
|
|
fs/udf/udf_vfsops.c optional udf
|
|
|
|
fs/udf/udf_vnops.c optional udf
|
|
|
|
fs/unionfs/union_subr.c optional unionfs
|
2001-05-23 09:42:29 +00:00
|
|
|
fs/unionfs/union_vfsops.c optional unionfs
|
|
|
|
fs/unionfs/union_vnops.c optional unionfs
|
2007-06-16 01:56:05 +00:00
|
|
|
fs/tmpfs/tmpfs_vnops.c optional tmpfs
|
|
|
|
fs/tmpfs/tmpfs_fifoops.c optional tmpfs
|
|
|
|
fs/tmpfs/tmpfs_vfsops.c optional tmpfs
|
|
|
|
fs/tmpfs/tmpfs_subr.c optional tmpfs
|
2006-03-23 23:06:14 +00:00
|
|
|
gdb/gdb_cons.c optional gdb
|
2005-01-04 06:07:25 +00:00
|
|
|
gdb/gdb_main.c optional gdb
|
|
|
|
gdb/gdb_packet.c optional gdb
|
2002-10-19 17:02:17 +00:00
|
|
|
geom/bde/g_bde.c optional geom_bde
|
|
|
|
geom/bde/g_bde_crypt.c optional geom_bde
|
|
|
|
geom/bde/g_bde_lock.c optional geom_bde
|
|
|
|
geom/bde/g_bde_work.c optional geom_bde
|
2006-10-06 10:43:42 +00:00
|
|
|
geom/cache/g_cache.c optional geom_cache
|
2005-01-04 06:07:25 +00:00
|
|
|
geom/concat/g_concat.c optional geom_concat
|
2005-07-27 21:47:55 +00:00
|
|
|
geom/eli/g_eli.c optional geom_eli
|
|
|
|
geom/eli/g_eli_crypto.c optional geom_eli
|
|
|
|
geom/eli/g_eli_ctl.c optional geom_eli
|
2006-06-05 21:42:26 +00:00
|
|
|
geom/eli/g_eli_integrity.c optional geom_eli
|
2005-07-27 21:47:55 +00:00
|
|
|
geom/eli/g_eli_key.c optional geom_eli
|
2011-04-21 21:15:11 +00:00
|
|
|
geom/eli/g_eli_key_cache.c optional geom_eli
|
2006-06-05 21:42:26 +00:00
|
|
|
geom/eli/g_eli_privacy.c optional geom_eli
|
2005-07-27 21:47:55 +00:00
|
|
|
geom/eli/pkcs5v2.c optional geom_eli
|
2005-01-04 06:07:25 +00:00
|
|
|
geom/gate/g_gate.c optional geom_gate
|
|
|
|
geom/geom_aes.c optional geom_aes
|
|
|
|
geom/geom_bsd.c optional geom_bsd
|
|
|
|
geom/geom_bsd_enc.c optional geom_bsd
|
2005-11-27 21:41:58 +00:00
|
|
|
geom/geom_ccd.c optional ccd | geom_ccd
|
2005-01-04 06:07:25 +00:00
|
|
|
geom/geom_ctl.c standard
|
|
|
|
geom/geom_dev.c standard
|
|
|
|
geom/geom_disk.c standard
|
|
|
|
geom/geom_dump.c standard
|
|
|
|
geom/geom_event.c standard
|
|
|
|
geom/geom_fox.c optional geom_fox
|
|
|
|
geom/geom_io.c standard
|
|
|
|
geom/geom_kern.c standard
|
2011-04-12 08:10:25 +00:00
|
|
|
geom/geom_map.c optional geom_map
|
2005-01-04 06:07:25 +00:00
|
|
|
geom/geom_mbr.c optional geom_mbr
|
2003-04-12 08:34:40 +00:00
|
|
|
geom/geom_mbr_enc.c optional geom_mbr
|
2005-01-04 06:07:25 +00:00
|
|
|
geom/geom_pc98.c optional geom_pc98
|
|
|
|
geom/geom_pc98_enc.c optional geom_pc98
|
2009-03-09 23:18:36 +00:00
|
|
|
geom/geom_redboot.c optional geom_redboot
|
2005-01-04 06:07:25 +00:00
|
|
|
geom/geom_slice.c standard
|
|
|
|
geom/geom_subr.c standard
|
|
|
|
geom/geom_sunlabel.c optional geom_sunlabel
|
2003-04-21 19:54:11 +00:00
|
|
|
geom/geom_sunlabel_enc.c optional geom_sunlabel
|
2004-10-29 09:56:56 +00:00
|
|
|
geom/geom_vfs.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
geom/geom_vol_ffs.c optional geom_vol
|
2006-10-31 22:22:30 +00:00
|
|
|
geom/journal/g_journal.c optional geom_journal
|
|
|
|
geom/journal/g_journal_ufs.c optional geom_journal
|
2005-01-10 05:11:40 +00:00
|
|
|
geom/label/g_label.c optional geom_label
|
2005-08-12 00:27:45 +00:00
|
|
|
geom/label/g_label_ext2fs.c optional geom_label
|
2005-01-10 05:11:40 +00:00
|
|
|
geom/label/g_label_iso9660.c optional geom_label
|
|
|
|
geom/label/g_label_msdosfs.c optional geom_label
|
2005-08-26 12:48:34 +00:00
|
|
|
geom/label/g_label_ntfs.c optional geom_label
|
2005-08-12 00:27:45 +00:00
|
|
|
geom/label/g_label_reiserfs.c optional geom_label
|
2005-01-10 05:11:40 +00:00
|
|
|
geom/label/g_label_ufs.c optional geom_label
|
2009-06-13 00:27:03 +00:00
|
|
|
geom/label/g_label_gpt.c optional geom_label
|
2008-02-20 07:50:13 +00:00
|
|
|
geom/linux_lvm/g_linux_lvm.c optional geom_linux_lvm
|
2005-01-10 05:11:40 +00:00
|
|
|
geom/mirror/g_mirror.c optional geom_mirror
|
|
|
|
geom/mirror/g_mirror_ctl.c optional geom_mirror
|
2010-01-16 09:52:49 +00:00
|
|
|
geom/mountver/g_mountver.c optional geom_mountver
|
2007-02-27 04:01:58 +00:00
|
|
|
geom/multipath/g_multipath.c optional geom_multipath
|
2005-01-10 05:11:40 +00:00
|
|
|
geom/nop/g_nop.c optional geom_nop
|
2007-02-07 18:55:31 +00:00
|
|
|
geom/part/g_part.c standard
|
|
|
|
geom/part/g_part_if.m standard
|
|
|
|
geom/part/g_part_apm.c optional geom_part_apm
|
2007-12-06 02:32:42 +00:00
|
|
|
geom/part/g_part_bsd.c optional geom_part_bsd
|
2009-02-15 03:50:27 +00:00
|
|
|
geom/part/g_part_ebr.c optional geom_part_ebr
|
2007-02-07 18:55:31 +00:00
|
|
|
geom/part/g_part_gpt.c optional geom_part_gpt
|
2012-03-19 13:16:46 +00:00
|
|
|
geom/part/g_part_ldm.c optional geom_part_ldm
|
2007-06-13 04:27:36 +00:00
|
|
|
geom/part/g_part_mbr.c optional geom_part_mbr
|
2008-03-28 17:58:55 +00:00
|
|
|
geom/part/g_part_pc98.c optional geom_part_pc98
|
2008-03-02 00:52:49 +00:00
|
|
|
geom/part/g_part_vtoc8.c optional geom_part_vtoc8
|
MFgraid/head:
Add new RAID GEOM class, that is going to replace ataraid(4) in supporting
various BIOS-based software RAIDs. Unlike ataraid(4) this implementation
does not depend on legacy ata(4) subsystem and can be used with any disk
drivers, including new CAM-based ones (ahci(4), siis(4), mvs(4), ata(4)
with `options ATA_CAM`). To make code more readable and extensible, this
implementation follows modular design, including core part and two sets
of modules, implementing support for different metadata formats and RAID
levels.
Support for such popular metadata formats is now implemented:
Intel, JMicron, NVIDIA, Promise (also used by AMD/ATI) and SiliconImage.
Such RAID levels are now supported:
RAID0, RAID1, RAID1E, RAID10, SINGLE, CONCAT.
For any all of these RAID levels and metadata formats this class supports
full cycle of volume operations: reading, writing, creation, deletion,
disk removal and insertion, rebuilding, dirty shutdown detection
and resynchronization, bad sector recovery, faulty disks tracking,
hot-spare disks. For Intel and Promise formats there is support multiple
volumes per disk set.
Look graid(8) manual page for additional details.
Co-authored by: imp
Sponsored by: Cisco Systems, Inc. and iXsystems, Inc.
2011-03-24 21:31:32 +00:00
|
|
|
geom/raid/g_raid.c optional geom_raid
|
|
|
|
geom/raid/g_raid_ctl.c optional geom_raid
|
|
|
|
geom/raid/g_raid_md_if.m optional geom_raid
|
|
|
|
geom/raid/g_raid_tr_if.m optional geom_raid
|
|
|
|
geom/raid/md_intel.c optional geom_raid
|
|
|
|
geom/raid/md_jmicron.c optional geom_raid
|
|
|
|
geom/raid/md_nvidia.c optional geom_raid
|
|
|
|
geom/raid/md_promise.c optional geom_raid
|
|
|
|
geom/raid/md_sii.c optional geom_raid
|
|
|
|
geom/raid/tr_concat.c optional geom_raid
|
|
|
|
geom/raid/tr_raid0.c optional geom_raid
|
|
|
|
geom/raid/tr_raid1.c optional geom_raid
|
|
|
|
geom/raid/tr_raid1e.c optional geom_raid
|
2005-01-10 05:11:40 +00:00
|
|
|
geom/raid3/g_raid3.c optional geom_raid3
|
|
|
|
geom/raid3/g_raid3_ctl.c optional geom_raid3
|
2005-01-11 18:18:40 +00:00
|
|
|
geom/shsec/g_shsec.c optional geom_shsec
|
2005-01-10 05:11:40 +00:00
|
|
|
geom/stripe/g_stripe.c optional geom_stripe
|
2012-01-04 23:39:11 +00:00
|
|
|
geom/uncompress/g_uncompress.c optional geom_uncompress
|
2012-01-04 23:26:22 +00:00
|
|
|
contrib/xz-embedded/freebsd/xz_malloc.c \
|
2012-01-04 23:39:11 +00:00
|
|
|
optional xz_embedded | geom_uncompress \
|
2012-01-04 23:26:22 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/"
|
|
|
|
contrib/xz-embedded/linux/lib/xz/xz_crc32.c \
|
2012-01-04 23:39:11 +00:00
|
|
|
optional xz_embedded | geom_uncompress \
|
2012-01-04 23:26:22 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/"
|
|
|
|
contrib/xz-embedded/linux/lib/xz/xz_dec_bcj.c \
|
2012-01-04 23:39:11 +00:00
|
|
|
optional xz_embedded | geom_uncompress \
|
2012-01-04 23:26:22 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/"
|
|
|
|
contrib/xz-embedded/linux/lib/xz/xz_dec_lzma2.c \
|
2012-01-04 23:39:11 +00:00
|
|
|
optional xz_embedded | geom_uncompress \
|
2012-01-04 23:26:22 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/"
|
|
|
|
contrib/xz-embedded/linux/lib/xz/xz_dec_stream.c \
|
2012-01-04 23:39:11 +00:00
|
|
|
optional xz_embedded | geom_uncompress \
|
2012-01-04 23:26:22 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/xz-embedded/freebsd/ -I$S/contrib/xz-embedded/linux/lib/xz/ -I$S/contrib/xz-embedded/linux/include/linux/"
|
2005-01-10 05:11:40 +00:00
|
|
|
geom/uzip/g_uzip.c optional geom_uzip
|
2007-09-23 07:34:23 +00:00
|
|
|
geom/virstor/binstream.c optional geom_virstor
|
|
|
|
geom/virstor/g_virstor.c optional geom_virstor
|
|
|
|
geom/virstor/g_virstor_md.c optional geom_virstor
|
2005-07-25 10:49:05 +00:00
|
|
|
geom/zero/g_zero.c optional geom_zero
|
2010-01-14 14:30:54 +00:00
|
|
|
fs/ext2fs/ext2_alloc.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_balloc.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_bmap.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_inode.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_inode_cnv.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_lookup.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_subr.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_vfsops.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_vnops.c optional ext2fs
|
2005-06-21 10:17:55 +00:00
|
|
|
gnu/fs/reiserfs/reiserfs_hashes.c optional reiserfs \
|
|
|
|
warning "kernel contains GPL contaminated ReiserFS filesystem"
|
|
|
|
gnu/fs/reiserfs/reiserfs_inode.c optional reiserfs
|
|
|
|
gnu/fs/reiserfs/reiserfs_item_ops.c optional reiserfs
|
|
|
|
gnu/fs/reiserfs/reiserfs_namei.c optional reiserfs
|
|
|
|
gnu/fs/reiserfs/reiserfs_prints.c optional reiserfs
|
|
|
|
gnu/fs/reiserfs/reiserfs_stree.c optional reiserfs
|
|
|
|
gnu/fs/reiserfs/reiserfs_vfsops.c optional reiserfs
|
|
|
|
gnu/fs/reiserfs/reiserfs_vnops.c optional reiserfs
|
2000-10-09 13:41:07 +00:00
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
isa/isa_if.m standard
|
|
|
|
isa/isa_common.c optional isa
|
|
|
|
isa/isahint.c optional isa
|
2006-06-12 21:07:13 +00:00
|
|
|
isa/pnp.c optional isa isapnp
|
|
|
|
isa/pnpparse.c optional isa isapnp
|
2007-02-11 14:01:32 +00:00
|
|
|
fs/cd9660/cd9660_bmap.c optional cd9660
|
|
|
|
fs/cd9660/cd9660_lookup.c optional cd9660
|
|
|
|
fs/cd9660/cd9660_node.c optional cd9660
|
|
|
|
fs/cd9660/cd9660_rrip.c optional cd9660
|
|
|
|
fs/cd9660/cd9660_util.c optional cd9660
|
|
|
|
fs/cd9660/cd9660_vfsops.c optional cd9660
|
|
|
|
fs/cd9660/cd9660_vnops.c optional cd9660
|
|
|
|
fs/cd9660/cd9660_iconv.c optional cd9660_iconv
|
2005-01-10 05:11:40 +00:00
|
|
|
kern/bus_if.m standard
|
2008-04-21 10:09:55 +00:00
|
|
|
kern/clock_if.m standard
|
2005-02-04 05:49:36 +00:00
|
|
|
kern/cpufreq_if.m standard
|
2005-01-10 05:11:40 +00:00
|
|
|
kern/device_if.m standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/imgact_elf.c standard
|
|
|
|
kern/imgact_shell.c standard
|
|
|
|
kern/inflate.c optional gzip
|
|
|
|
kern/init_main.c standard
|
|
|
|
kern/init_sysent.c standard
|
2006-11-11 16:26:58 +00:00
|
|
|
kern/ksched.c optional _kposix_priority_scheduling
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_acct.c standard
|
|
|
|
kern/kern_alq.c optional alq
|
|
|
|
kern/kern_clock.c standard
|
|
|
|
kern/kern_condvar.c standard
|
|
|
|
kern/kern_conf.c standard
|
2008-11-01 08:35:28 +00:00
|
|
|
kern/kern_cons.c standard
|
2005-02-04 05:49:36 +00:00
|
|
|
kern/kern_cpu.c standard
|
Add cpuset, an api for thread to cpu binding and cpu resource grouping
and assignment.
- Add a reference to a struct cpuset in each thread that is inherited from
the thread that created it.
- Release the reference when the thread is destroyed.
- Add prototypes for syscalls and macros for manipulating cpusets in
sys/cpuset.h
- Add syscalls to create, get, and set new numbered cpusets:
cpuset(), cpuset_{get,set}id()
- Add syscalls for getting and setting affinity masks for cpusets or
individual threads: cpuid_{get,set}affinity()
- Add types for the 'level' and 'which' parameters for the cpuset. This
will permit expansion of the api to cover cpu masks for other objects
identifiable with an id_t integer. For example, IRQs and Jails may be
coming soon.
- The root set 0 contains all valid cpus. All thread initially belong to
cpuset 1. This permits migrating all threads off of certain cpus to
reserve them for special applications.
Sponsored by: Nokia
Discussed with: arch, rwatson, brooks, davidxu, deischen
Reviewed by: antoine
2008-03-02 07:39:22 +00:00
|
|
|
kern/kern_cpuset.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_context.c standard
|
|
|
|
kern/kern_descrip.c standard
|
2008-05-18 19:47:49 +00:00
|
|
|
kern/kern_dtrace.c optional kdtrace_hooks
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_environment.c standard
|
Implement new event timers infrastructure. It provides unified APIs for
writing event timer drivers, for choosing best possible drivers by machine
independent code and for operating them to supply kernel with hardclock(),
statclock() and profclock() events in unified fashion on various hardware.
Infrastructure provides support for both per-CPU (independent for every CPU
core) and global timers in periodic and one-shot modes. MI management code
at this moment uses only periodic mode, but one-shot mode use planned for
later, as part of tickless kernel project.
For this moment infrastructure used on i386 and amd64 architectures. Other
archs are welcome to follow, while their current operation should not be
affected.
This patch updates existing drivers (i8254, RTC and LAPIC) for the new
order, and adds event timers support into the HPET driver. These drivers
have different capabilities:
LAPIC - per-CPU timer, supports periodic and one-shot operation, may
freeze in C3 state, calibrated on first use, so may be not exactly precise.
HPET - depending on hardware can work as per-CPU or global, supports
periodic and one-shot operation, usually provides several event timers.
i8254 - global, limited to periodic mode, because same hardware used also
as time counter.
RTC - global, supports only periodic mode, set of frequencies in Hz
limited by powers of 2.
Depending on hardware capabilities, drivers preferred in following orders,
either LAPIC, HPETs, i8254, RTC or HPETs, LAPIC, i8254, RTC.
User may explicitly specify wanted timers via loader tunables or sysctls:
kern.eventtimer.timer1 and kern.eventtimer.timer2.
If requested driver is unavailable or unoperational, system will try to
replace it. If no more timers available or "NONE" specified for second,
system will operate using only one timer, multiplying it's frequency by few
times and uing respective dividers to honor hz, stathz and profhz values,
set during initial setup.
2010-06-20 21:33:29 +00:00
|
|
|
kern/kern_et.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_event.c standard
|
|
|
|
kern/kern_exec.c standard
|
|
|
|
kern/kern_exit.c standard
|
2009-05-27 16:36:54 +00:00
|
|
|
kern/kern_fail.c standard
|
2011-11-21 01:26:10 +00:00
|
|
|
kern/kern_ffclock.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_fork.c standard
|
2010-03-02 06:58:58 +00:00
|
|
|
kern/kern_gzio.c optional gzio
|
2010-12-21 13:45:29 +00:00
|
|
|
kern/kern_hhook.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_idle.c standard
|
|
|
|
kern/kern_intr.c standard
|
|
|
|
kern/kern_jail.c standard
|
2010-12-21 13:45:29 +00:00
|
|
|
kern/kern_khelp.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_kthread.c standard
|
|
|
|
kern/kern_ktr.c optional ktr
|
|
|
|
kern/kern_ktrace.c standard
|
|
|
|
kern/kern_linker.c standard
|
|
|
|
kern/kern_lock.c standard
|
|
|
|
kern/kern_lockf.c standard
|
2009-05-26 20:28:22 +00:00
|
|
|
kern/kern_lockstat.c optional kdtrace_hooks
|
2011-03-05 12:40:35 +00:00
|
|
|
kern/kern_loginclass.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_malloc.c standard
|
|
|
|
kern/kern_mbuf.c standard
|
|
|
|
kern/kern_mib.c standard
|
|
|
|
kern/kern_module.c standard
|
|
|
|
kern/kern_mtxpool.c standard
|
2005-01-10 05:11:40 +00:00
|
|
|
kern/kern_mutex.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_ntptime.c standard
|
Update ZFS from version 6 to 13 and bring some FreeBSD-specific changes.
This bring huge amount of changes, I'll enumerate only user-visible changes:
- Delegated Administration
Allows regular users to perform ZFS operations, like file system
creation, snapshot creation, etc.
- L2ARC
Level 2 cache for ZFS - allows to use additional disks for cache.
Huge performance improvements mostly for random read of mostly
static content.
- slog
Allow to use additional disks for ZFS Intent Log to speed up
operations like fsync(2).
- vfs.zfs.super_owner
Allows regular users to perform privileged operations on files stored
on ZFS file systems owned by him. Very careful with this one.
- chflags(2)
Not all the flags are supported. This still needs work.
- ZFSBoot
Support to boot off of ZFS pool. Not finished, AFAIK.
Submitted by: dfr
- Snapshot properties
- New failure modes
Before if write requested failed, system paniced. Now one
can select from one of three failure modes:
- panic - panic on write error
- wait - wait for disk to reappear
- continue - serve read requests if possible, block write requests
- Refquota, refreservation properties
Just quota and reservation properties, but don't count space consumed
by children file systems, clones and snapshots.
- Sparse volumes
ZVOLs that don't reserve space in the pool.
- External attributes
Compatible with extattr(2).
- NFSv4-ACLs
Not sure about the status, might not be complete yet.
Submitted by: trasz
- Creation-time properties
- Regression tests for zpool(8) command.
Obtained from: OpenSolaris
2008-11-17 20:49:29 +00:00
|
|
|
kern/kern_osd.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_physio.c standard
|
2005-04-19 04:01:25 +00:00
|
|
|
kern/kern_pmc.c standard
|
2005-01-10 05:11:40 +00:00
|
|
|
kern/kern_poll.c optional device_polling
|
Add a new priv(9) kernel interface for checking the availability of
privilege for threads and credentials. Unlike the existing suser(9)
interface, priv(9) exposes a named privilege identifier to the privilege
checking code, allowing more complex policies regarding the granting of
privilege to be expressed. Two interfaces are provided, replacing the
existing suser(9) interface:
suser(td) -> priv_check(td, priv)
suser_cred(cred, flags) -> priv_check_cred(cred, priv, flags)
A comprehensive list of currently available kernel privileges may be
found in priv.h. New privileges are easily added as required, but the
comments on adding privileges found in priv.h and priv(9) should be read
before doing so.
The new privilege interface exposed sufficient information to the
privilege checking routine that it will now be possible for jail to
determine whether a particular privilege is granted in the check routine,
rather than relying on hints from the calling context via the
SUSER_ALLOWJAIL flag. For now, the flag is maintained, but a new jail
check function, prison_priv_check(), is exposed from kern_jail.c and used
by the privilege check routine to determine if the privilege is permitted
in jail. As a result, a centralized list of privileges permitted in jail
is now present in kern_jail.c.
The MAC Framework is now also able to instrument privilege checks, both
to deny privileges otherwise granted (mac_priv_check()), and to grant
privileges otherwise denied (mac_priv_grant()), permitting MAC Policy
modules to implement privilege models, as well as control a much broader
range of system behavior in order to constrain processes running with
root privilege.
The suser() and suser_cred() functions remain implemented, now in terms
of priv_check() and the PRIV_ROOT privilege, for use during the transition
and possibly continuing use by third party kernel modules that have not
been updated. The PRIV_DRIVER privilege exists to allow device drivers to
check privilege without adopting a more specific privilege identifier.
This change does not modify the actual security policy, rather, it
modifies the interface for privilege checks so changes to the security
policy become more feasible.
Sponsored by: nCircle Network Security, Inc.
Obtained from: TrustedBSD Project
Discussed on: arch@
Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri,
Alex Lyashkov <umka at sevcity dot net>,
Skip Ford <skip dot ford at verizon dot net>,
Antoine Brodin <antoine dot brodin at laposte dot net>
2006-11-06 13:37:19 +00:00
|
|
|
kern/kern_priv.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_proc.c standard
|
|
|
|
kern/kern_prot.c standard
|
2011-03-29 17:47:25 +00:00
|
|
|
kern/kern_racct.c standard
|
2011-03-30 17:48:15 +00:00
|
|
|
kern/kern_rctl.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_resource.c standard
|
2007-11-08 14:47:55 +00:00
|
|
|
kern/kern_rmlock.c standard
|
2006-01-27 23:13:26 +00:00
|
|
|
kern/kern_rwlock.c standard
|
2008-05-18 19:47:49 +00:00
|
|
|
kern/kern_sdt.c optional kdtrace_hooks
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_sema.c standard
|
|
|
|
kern/kern_shutdown.c standard
|
|
|
|
kern/kern_sig.c standard
|
2008-03-20 05:51:16 +00:00
|
|
|
kern/kern_switch.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_sx.c standard
|
|
|
|
kern/kern_synch.c standard
|
|
|
|
kern/kern_syscalls.c standard
|
|
|
|
kern/kern_sysctl.c standard
|
|
|
|
kern/kern_tc.c standard
|
|
|
|
kern/kern_thr.c standard
|
|
|
|
kern/kern_thread.c standard
|
|
|
|
kern/kern_time.c standard
|
|
|
|
kern/kern_timeout.c standard
|
|
|
|
kern/kern_umtx.c standard
|
|
|
|
kern/kern_uuid.c standard
|
Change the curvnet variable from a global const struct vnet *,
previously always pointing to the default vnet context, to a
dynamically changing thread-local one. The currvnet context
should be set on entry to networking code via CURVNET_SET() macros,
and reverted to previous state via CURVNET_RESTORE(). Recursions
on curvnet are permitted, though strongly discuouraged.
This change should have no functional impact on nooptions VIMAGE
kernel builds, where CURVNET_* macros expand to whitespace.
The curthread->td_vnet (aka curvnet) variable's purpose is to be an
indicator of the vnet context in which the current network-related
operation takes place, in case we cannot deduce the current vnet
context from any other source, such as by looking at mbuf's
m->m_pkthdr.rcvif->if_vnet, sockets's so->so_vnet etc. Moreover, so
far curvnet has turned out to be an invaluable consistency checking
aid: it helps to catch cases when sockets, ifnets or any other
vnet-aware structures may have leaked from one vnet to another.
The exact placement of the CURVNET_SET() / CURVNET_RESTORE() macros
was a result of an empirical iterative process, whith an aim to
reduce recursions on CURVNET_SET() to a minimum, while still reducing
the scope of CURVNET_SET() to networking only operations - the
alternative would be calling CURVNET_SET() on each system call entry.
In general, curvnet has to be set in three typicall cases: when
processing socket-related requests from userspace or from within the
kernel; when processing inbound traffic flowing from device drivers
to upper layers of the networking stack, and when executing
timer-driven networking functions.
This change also introduces a DDB subcommand to show the list of all
vnet instances.
Approved by: julian (mentor)
2009-05-05 10:56:12 +00:00
|
|
|
kern/kern_xxx.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/link_elf.c standard
|
2005-01-10 05:11:40 +00:00
|
|
|
kern/linker_if.m standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/md4c.c optional netsmb
|
|
|
|
kern/md5c.c standard
|
2006-11-11 16:26:58 +00:00
|
|
|
kern/p1003_1b.c standard
|
|
|
|
kern/posix4_mib.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/sched_4bsd.c optional sched_4bsd
|
|
|
|
kern/sched_ule.c optional sched_ule
|
2007-05-17 01:29:55 +00:00
|
|
|
kern/serdev_if.m standard
|
2008-06-25 21:33:28 +00:00
|
|
|
kern/stack_protector.c standard \
|
|
|
|
compile-with "${NORMAL_C:N-fstack-protector*}"
|
2012-03-13 20:29:56 +00:00
|
|
|
kern/subr_acl_nfs4.c optional ufs_acl
|
|
|
|
kern/subr_acl_posix1e.c optional ufs_acl
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_autoconf.c standard
|
|
|
|
kern/subr_blist.c standard
|
|
|
|
kern/subr_bus.c standard
|
2008-11-22 05:55:56 +00:00
|
|
|
kern/subr_bufring.c standard
|
2006-10-02 15:42:02 +00:00
|
|
|
kern/subr_clock.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_devstat.c standard
|
|
|
|
kern/subr_disk.c standard
|
1999-08-21 06:24:40 +00:00
|
|
|
kern/subr_eventhandler.c standard
|
2006-10-22 18:19:08 +00:00
|
|
|
kern/subr_fattime.c standard
|
2006-01-29 02:52:42 +00:00
|
|
|
kern/subr_firmware.c optional firmware
|
2010-02-21 19:53:33 +00:00
|
|
|
kern/subr_hash.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_hints.c standard
|
|
|
|
kern/subr_kdb.c standard
|
|
|
|
kern/subr_kobj.c standard
|
2006-01-17 16:55:17 +00:00
|
|
|
kern/subr_lock.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_log.c standard
|
|
|
|
kern/subr_mbpool.c optional libmbpool
|
|
|
|
kern/subr_mchain.c optional libmchain
|
|
|
|
kern/subr_module.c standard
|
|
|
|
kern/subr_msgbuf.c standard
|
|
|
|
kern/subr_param.c standard
|
|
|
|
kern/subr_pcpu.c standard
|
|
|
|
kern/subr_power.c standard
|
|
|
|
kern/subr_prf.c standard
|
|
|
|
kern/subr_prof.c standard
|
|
|
|
kern/subr_rman.c standard
|
2008-04-21 10:09:55 +00:00
|
|
|
kern/subr_rtc.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_sbuf.c standard
|
|
|
|
kern/subr_scanf.c standard
|
2009-06-01 20:35:39 +00:00
|
|
|
kern/subr_sglist.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_sleepqueue.c standard
|
|
|
|
kern/subr_smp.c standard
|
2008-10-30 21:48:28 +00:00
|
|
|
kern/subr_stack.c optional ddb | stack | ktr
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_taskqueue.c standard
|
|
|
|
kern/subr_trap.c standard
|
|
|
|
kern/subr_turnstile.c standard
|
2010-02-21 19:53:33 +00:00
|
|
|
kern/subr_uio.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_unit.c standard
|
|
|
|
kern/subr_witness.c optional witness
|
2011-03-01 13:24:49 +00:00
|
|
|
kern/sys_capability.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/sys_generic.c standard
|
|
|
|
kern/sys_pipe.c standard
|
Add experimental support for process descriptors
A "process descriptor" file descriptor is used to manage processes
without using the PID namespace. This is required for Capsicum's
Capability Mode, where the PID namespace is unavailable.
New system calls pdfork(2) and pdkill(2) offer the functional equivalents
of fork(2) and kill(2). pdgetpid(2) allows querying the PID of the remote
process for debugging purposes. The currently-unimplemented pdwait(2) will,
in the future, allow querying rusage/exit status. In the interim, poll(2)
may be used to check (and wait for) process termination.
When a process is referenced by a process descriptor, it does not issue
SIGCHLD to the parent, making it suitable for use in libraries---a common
scenario when using library compartmentalisation from within large
applications (such as web browsers). Some observers may note a similarity
to Mach task ports; process descriptors provide a subset of this behaviour,
but in a UNIX style.
This feature is enabled by "options PROCDESC", but as with several other
Capsicum kernel features, is not enabled by default in GENERIC 9.0.
Reviewed by: jhb, kib
Approved by: re (kib), mentor (rwatson)
Sponsored by: Google Inc
2011-08-18 22:51:30 +00:00
|
|
|
kern/sys_procdesc.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/sys_process.c standard
|
|
|
|
kern/sys_socket.c standard
|
Reorganize syscall entry and leave handling.
Extend struct sysvec with three new elements:
sv_fetch_syscall_args - the method to fetch syscall arguments from
usermode into struct syscall_args. The structure is machine-depended
(this might be reconsidered after all architectures are converted).
sv_set_syscall_retval - the method to set a return value for usermode
from the syscall. It is a generalization of
cpu_set_syscall_retval(9) to allow ABIs to override the way to set a
return value.
sv_syscallnames - the table of syscall names.
Use sv_set_syscall_retval in kern_sigsuspend() instead of hardcoding
the call to cpu_set_syscall_retval().
The new functions syscallenter(9) and syscallret(9) are provided that
use sv_*syscall* pointers and contain the common repeated code from
the syscall() implementations for the architecture-specific syscall
trap handlers.
Syscallenter() fetches arguments, calls syscall implementation from
ABI sysent table, and set up return frame. The end of syscall
bookkeeping is done by syscallret().
Take advantage of single place for MI syscall handling code and
implement ptrace_lwpinfo pl_flags PL_FLAG_SCE, PL_FLAG_SCX and
PL_FLAG_EXEC. The SCE and SCX flags notify the debugger that the
thread is stopped at syscall entry or return point respectively. The
EXEC flag augments SCX and notifies debugger that the process address
space was changed by one of exec(2)-family syscalls.
The i386, amd64, sparc64, sun4v, powerpc and ia64 syscall()s are
changed to use syscallenter()/syscallret(). MIPS and arm are not
converted and use the mostly unchanged syscall() implementation.
Reviewed by: jhb, marcel, marius, nwhitehorn, stas
Tested by: marcel (ia64), marius (sparc64), nwhitehorn (powerpc),
stas (mips)
MFC after: 1 month
2010-05-23 18:32:02 +00:00
|
|
|
kern/syscalls.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/sysv_ipc.c standard
|
|
|
|
kern/sysv_msg.c optional sysvmsg
|
|
|
|
kern/sysv_sem.c optional sysvsem
|
|
|
|
kern/sysv_shm.c optional sysvshm
|
|
|
|
kern/tty.c standard
|
2006-01-10 09:19:10 +00:00
|
|
|
kern/tty_compat.c optional compat_43tty
|
2008-07-25 14:31:00 +00:00
|
|
|
kern/tty_info.c standard
|
Integrate the new MPSAFE TTY layer to the FreeBSD operating system.
The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:
- Improved driver model:
The old TTY layer has a driver model that is not abstract enough to
make it friendly to use. A good example is the output path, where the
device drivers directly access the output buffers. This means that an
in-kernel PPP implementation must always convert network buffers into
TTY buffers.
If a PPP implementation would be built on top of the new TTY layer
(still needs a hooks layer, though), it would allow the PPP
implementation to directly hand the data to the TTY driver.
- Improved hotplugging:
With the old TTY layer, it isn't entirely safe to destroy TTY's from
the system. This implementation has a two-step destructing design,
where the driver first abandons the TTY. After all threads have left
the TTY, the TTY layer calls a routine in the driver, which can be
used to free resources (unit numbers, etc).
The pts(4) driver also implements this feature, which means
posix_openpt() will now return PTY's that are created on the fly.
- Improved performance:
One of the major improvements is the per-TTY mutex, which is expected
to improve scalability when compared to the old Giant locking.
Another change is the unbuffered copying to userspace, which is both
used on TTY device nodes and PTY masters.
Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.
Obtained from: //depot/projects/mpsafetty/...
Approved by: philip (ex-mentor)
Discussed: on the lists, at BSDCan, at the DevSummit
Sponsored by: Snow B.V., the Netherlands
dcons(4) fixed by: kan
2008-08-20 08:31:58 +00:00
|
|
|
kern/tty_inq.c standard
|
|
|
|
kern/tty_outq.c standard
|
|
|
|
kern/tty_pts.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/tty_tty.c standard
|
Integrate the new MPSAFE TTY layer to the FreeBSD operating system.
The last half year I've been working on a replacement TTY layer for the
FreeBSD kernel. The new TTY layer was designed to improve the following:
- Improved driver model:
The old TTY layer has a driver model that is not abstract enough to
make it friendly to use. A good example is the output path, where the
device drivers directly access the output buffers. This means that an
in-kernel PPP implementation must always convert network buffers into
TTY buffers.
If a PPP implementation would be built on top of the new TTY layer
(still needs a hooks layer, though), it would allow the PPP
implementation to directly hand the data to the TTY driver.
- Improved hotplugging:
With the old TTY layer, it isn't entirely safe to destroy TTY's from
the system. This implementation has a two-step destructing design,
where the driver first abandons the TTY. After all threads have left
the TTY, the TTY layer calls a routine in the driver, which can be
used to free resources (unit numbers, etc).
The pts(4) driver also implements this feature, which means
posix_openpt() will now return PTY's that are created on the fly.
- Improved performance:
One of the major improvements is the per-TTY mutex, which is expected
to improve scalability when compared to the old Giant locking.
Another change is the unbuffered copying to userspace, which is both
used on TTY device nodes and PTY masters.
Upgrading should be quite straightforward. Unlike previous versions,
existing kernel configuration files do not need to be changed, except
when they reference device drivers that are listed in UPDATING.
Obtained from: //depot/projects/mpsafetty/...
Approved by: philip (ex-mentor)
Discussed: on the lists, at BSDCan, at the DevSummit
Sponsored by: Snow B.V., the Netherlands
dcons(4) fixed by: kan
2008-08-20 08:31:58 +00:00
|
|
|
kern/tty_ttydisc.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/uipc_accf.c optional inet
|
|
|
|
kern/uipc_cow.c optional zero_copy_sockets
|
2007-02-15 01:28:22 +00:00
|
|
|
kern/uipc_debug.c optional ddb
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/uipc_domain.c standard
|
|
|
|
kern/uipc_mbuf.c standard
|
|
|
|
kern/uipc_mbuf2.c standard
|
2005-11-26 12:42:35 +00:00
|
|
|
kern/uipc_mqueue.c optional p1003_1b_mqueue
|
2005-01-10 05:11:40 +00:00
|
|
|
kern/uipc_sem.c optional p1003_1b_semaphores
|
Add a new file descriptor type for IPC shared memory objects and use it to
implement shm_open(2) and shm_unlink(2) in the kernel:
- Each shared memory file descriptor is associated with a swap-backed vm
object which provides the backing store. Each descriptor starts off with
a size of zero, but the size can be altered via ftruncate(2). The shared
memory file descriptors also support fstat(2). read(2), write(2),
ioctl(2), select(2), poll(2), and kevent(2) are not supported on shared
memory file descriptors.
- shm_open(2) and shm_unlink(2) are now implemented as system calls that
manage shared memory file descriptors. The virtual namespace that maps
pathnames to shared memory file descriptors is implemented as a hash
table where the hash key is generated via the 32-bit Fowler/Noll/Vo hash
of the pathname.
- As an extension, the constant 'SHM_ANON' may be specified in place of the
path argument to shm_open(2). In this case, an unnamed shared memory
file descriptor will be created similar to the IPC_PRIVATE key for
shmget(2). Note that the shared memory object can still be shared among
processes by sharing the file descriptor via fork(2) or sendmsg(2), but
it is unnamed. This effectively serves to implement the getmemfd() idea
bandied about the lists several times over the years.
- The backing store for shared memory file descriptors are garbage
collected when they are not referenced by any open file descriptors or
the shm_open(2) virtual namespace.
Submitted by: dillon, peter (previous versions)
Submitted by: rwatson (I based this on his version)
Reviewed by: alc (suggested converting getmemfd() to shm_open())
2008-01-08 21:58:16 +00:00
|
|
|
kern/uipc_shm.c standard
|
2006-07-25 02:15:28 +00:00
|
|
|
kern/uipc_sockbuf.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/uipc_socket.c standard
|
|
|
|
kern/uipc_syscalls.c standard
|
|
|
|
kern/uipc_usrreq.c standard
|
2007-03-05 13:24:01 +00:00
|
|
|
kern/vfs_acl.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/vfs_aio.c optional vfs_aio
|
|
|
|
kern/vfs_bio.c standard
|
|
|
|
kern/vfs_cache.c standard
|
|
|
|
kern/vfs_cluster.c standard
|
|
|
|
kern/vfs_default.c standard
|
|
|
|
kern/vfs_export.c standard
|
2006-12-23 00:11:02 +00:00
|
|
|
kern/vfs_extattr.c standard
|
2005-03-14 10:01:29 +00:00
|
|
|
kern/vfs_hash.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/vfs_init.c standard
|
|
|
|
kern/vfs_lookup.c standard
|
|
|
|
kern/vfs_mount.c standard
|
2010-10-02 19:44:13 +00:00
|
|
|
kern/vfs_mountroot.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/vfs_subr.c standard
|
|
|
|
kern/vfs_syscalls.c standard
|
|
|
|
kern/vfs_vnops.c standard
|
2000-03-23 19:08:49 +00:00
|
|
|
#
|
Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager. I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.
The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.
The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.
Sponsored by: Isilon Systems
MFC after: 1 month
2008-11-03 10:38:00 +00:00
|
|
|
# Kernel GSS-API
|
|
|
|
#
|
|
|
|
gssd.h optional kgssapi \
|
|
|
|
dependency "$S/kgssapi/gssd.x" \
|
2012-02-07 09:27:07 +00:00
|
|
|
compile-with "RPCGEN_CPP='${CPP}' rpcgen -hM $S/kgssapi/gssd.x | grep -v pthread.h > gssd.h" \
|
Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager. I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.
The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.
The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.
Sponsored by: Isilon Systems
MFC after: 1 month
2008-11-03 10:38:00 +00:00
|
|
|
no-obj no-implicit-rule before-depend local \
|
|
|
|
clean "gssd.h"
|
|
|
|
gssd_xdr.c optional kgssapi \
|
|
|
|
dependency "$S/kgssapi/gssd.x gssd.h" \
|
2012-02-07 09:27:07 +00:00
|
|
|
compile-with "RPCGEN_CPP='${CPP}' rpcgen -c $S/kgssapi/gssd.x -o gssd_xdr.c" \
|
Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager. I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.
The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.
The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.
Sponsored by: Isilon Systems
MFC after: 1 month
2008-11-03 10:38:00 +00:00
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "gssd_xdr.c"
|
|
|
|
gssd_clnt.c optional kgssapi \
|
|
|
|
dependency "$S/kgssapi/gssd.x gssd.h" \
|
2012-02-07 09:27:07 +00:00
|
|
|
compile-with "RPCGEN_CPP='${CPP}' rpcgen -lM $S/kgssapi/gssd.x | grep -v string.h > gssd_clnt.c" \
|
Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager. I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.
The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.
The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.
Sponsored by: Isilon Systems
MFC after: 1 month
2008-11-03 10:38:00 +00:00
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "gssd_clnt.c"
|
|
|
|
kgssapi/gss_accept_sec_context.c optional kgssapi
|
|
|
|
kgssapi/gss_add_oid_set_member.c optional kgssapi
|
|
|
|
kgssapi/gss_acquire_cred.c optional kgssapi
|
|
|
|
kgssapi/gss_canonicalize_name.c optional kgssapi
|
|
|
|
kgssapi/gss_create_empty_oid_set.c optional kgssapi
|
|
|
|
kgssapi/gss_delete_sec_context.c optional kgssapi
|
|
|
|
kgssapi/gss_display_status.c optional kgssapi
|
|
|
|
kgssapi/gss_export_name.c optional kgssapi
|
|
|
|
kgssapi/gss_get_mic.c optional kgssapi
|
|
|
|
kgssapi/gss_init_sec_context.c optional kgssapi
|
|
|
|
kgssapi/gss_impl.c optional kgssapi
|
|
|
|
kgssapi/gss_import_name.c optional kgssapi
|
|
|
|
kgssapi/gss_names.c optional kgssapi
|
|
|
|
kgssapi/gss_pname_to_uid.c optional kgssapi
|
|
|
|
kgssapi/gss_release_buffer.c optional kgssapi
|
|
|
|
kgssapi/gss_release_cred.c optional kgssapi
|
|
|
|
kgssapi/gss_release_name.c optional kgssapi
|
|
|
|
kgssapi/gss_release_oid_set.c optional kgssapi
|
|
|
|
kgssapi/gss_set_cred_option.c optional kgssapi
|
|
|
|
kgssapi/gss_test_oid_set_member.c optional kgssapi
|
|
|
|
kgssapi/gss_unwrap.c optional kgssapi
|
|
|
|
kgssapi/gss_verify_mic.c optional kgssapi
|
|
|
|
kgssapi/gss_wrap.c optional kgssapi
|
|
|
|
kgssapi/gss_wrap_size_limit.c optional kgssapi
|
|
|
|
kgssapi/gssd_prot.c optional kgssapi
|
|
|
|
kgssapi/krb5/krb5_mech.c optional kgssapi
|
|
|
|
kgssapi/krb5/kcrypto.c optional kgssapi
|
|
|
|
kgssapi/krb5/kcrypto_aes.c optional kgssapi
|
|
|
|
kgssapi/krb5/kcrypto_arcfour.c optional kgssapi
|
|
|
|
kgssapi/krb5/kcrypto_des.c optional kgssapi
|
|
|
|
kgssapi/krb5/kcrypto_des3.c optional kgssapi
|
|
|
|
kgssapi/kgss_if.m optional kgssapi
|
|
|
|
kgssapi/gsstest.c optional kgssapi_debug
|
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,
|
2002-07-30 22:28:43 +00:00
|
|
|
# the file should be moved to conf/files.<arch> from here.
|
2000-03-23 19:08:49 +00:00
|
|
|
#
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/arc4random.c standard
|
|
|
|
libkern/bcd.c standard
|
|
|
|
libkern/bsearch.c standard
|
|
|
|
libkern/crc32.c standard
|
2005-01-10 05:11:40 +00:00
|
|
|
libkern/fnmatch.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/iconv.c optional libiconv
|
2001-04-09 09:39:29 +00:00
|
|
|
libkern/iconv_converter_if.m optional libiconv
|
2011-11-18 03:05:20 +00:00
|
|
|
libkern/iconv_ucs.c optional libiconv
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/iconv_xlat.c optional libiconv
|
|
|
|
libkern/iconv_xlat16.c optional libiconv
|
2009-11-12 00:46:28 +00:00
|
|
|
libkern/inet_aton.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/inet_ntoa.c standard
|
2010-09-24 15:01:45 +00:00
|
|
|
libkern/inet_ntop.c standard
|
|
|
|
libkern/inet_pton.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/mcount.c optional profiling-routine
|
2012-01-01 20:26:11 +00:00
|
|
|
libkern/memcchr.c standard
|
2008-09-23 14:45:10 +00:00
|
|
|
libkern/memcmp.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/qsort.c standard
|
|
|
|
libkern/qsort_r.c standard
|
|
|
|
libkern/random.c standard
|
|
|
|
libkern/scanc.c standard
|
2005-08-08 18:31:13 +00:00
|
|
|
libkern/strcasecmp.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/strcat.c standard
|
2012-01-03 07:05:30 +00:00
|
|
|
libkern/strchr.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/strcmp.c standard
|
|
|
|
libkern/strcpy.c standard
|
2008-08-15 20:58:57 +00:00
|
|
|
libkern/strcspn.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/strdup.c standard
|
|
|
|
libkern/strlcat.c standard
|
|
|
|
libkern/strlcpy.c standard
|
|
|
|
libkern/strlen.c standard
|
|
|
|
libkern/strncmp.c standard
|
|
|
|
libkern/strncpy.c standard
|
2011-10-04 23:53:47 +00:00
|
|
|
libkern/strnlen.c standard
|
2012-01-03 07:05:30 +00:00
|
|
|
libkern/strrchr.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/strsep.c standard
|
2005-02-10 20:39:39 +00:00
|
|
|
libkern/strspn.c standard
|
2006-08-12 15:28:39 +00:00
|
|
|
libkern/strstr.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/strtol.c standard
|
|
|
|
libkern/strtoq.c standard
|
|
|
|
libkern/strtoul.c standard
|
|
|
|
libkern/strtouq.c standard
|
|
|
|
libkern/strvalid.c standard
|
|
|
|
net/bpf.c standard
|
Introduce support for zero-copy BPF buffering, which reduces the
overhead of packet capture by allowing a user process to directly "loan"
buffer memory to the kernel rather than using read(2) to explicitly copy
data from kernel address space.
The user process will issue new BPF ioctls to set the shared memory
buffer mode and provide pointers to buffers and their size. The kernel
then wires and maps the pages into kernel address space using sf_buf(9),
which on supporting architectures will use the direct map region. The
current "buffered" access mode remains the default, and support for
zero-copy buffers must, for the time being, be explicitly enabled using
a sysctl for the kernel to accept requests to use it.
The kernel and user process synchronize use of the buffers with atomic
operations, avoiding the need for system calls under load; the user
process may use select()/poll()/kqueue() to manage blocking while
waiting for network data if the user process is able to consume data
faster than the kernel generates it. Patchs to libpcap are available
to allow libpcap applications to transparently take advantage of this
support. Detailed information on the new API may be found in bpf(4),
including specific atomic operations and memory barriers required to
synchronize buffer use safely.
These changes modify the base BPF implementation to (roughly) abstrac
the current buffer model, allowing the new shared memory model to be
added, and add new monitoring statistics for netstat to print. The
implementation, with the exception of some monitoring hanges that break
the netstat monitoring ABI for BPF, will be MFC'd.
Zerocopy bpf buffers are still considered experimental are disabled
by default. To experiment with this new facility, adjust the
net.bpf.zerocopy_enable sysctl variable to 1.
Changes to libpcap will be made available as a patch for the time being,
and further refinements to the implementation are expected.
Sponsored by: Seccuris Inc.
In collaboration with: rwatson
Tested by: pwood, gallatin
MFC after: 4 months [1]
[1] Certain portions will probably not be MFCed, specifically things
that can break the monitoring ABI.
2008-03-24 13:49:17 +00:00
|
|
|
net/bpf_buffer.c optional bpf
|
2005-12-07 21:30:47 +00:00
|
|
|
net/bpf_jitter.c optional bpf_jitter
|
2005-11-27 21:41:58 +00:00
|
|
|
net/bpf_filter.c optional bpf | netgraph_bpf
|
Introduce support for zero-copy BPF buffering, which reduces the
overhead of packet capture by allowing a user process to directly "loan"
buffer memory to the kernel rather than using read(2) to explicitly copy
data from kernel address space.
The user process will issue new BPF ioctls to set the shared memory
buffer mode and provide pointers to buffers and their size. The kernel
then wires and maps the pages into kernel address space using sf_buf(9),
which on supporting architectures will use the direct map region. The
current "buffered" access mode remains the default, and support for
zero-copy buffers must, for the time being, be explicitly enabled using
a sysctl for the kernel to accept requests to use it.
The kernel and user process synchronize use of the buffers with atomic
operations, avoiding the need for system calls under load; the user
process may use select()/poll()/kqueue() to manage blocking while
waiting for network data if the user process is able to consume data
faster than the kernel generates it. Patchs to libpcap are available
to allow libpcap applications to transparently take advantage of this
support. Detailed information on the new API may be found in bpf(4),
including specific atomic operations and memory barriers required to
synchronize buffer use safely.
These changes modify the base BPF implementation to (roughly) abstrac
the current buffer model, allowing the new shared memory model to be
added, and add new monitoring statistics for netstat to print. The
implementation, with the exception of some monitoring hanges that break
the netstat monitoring ABI for BPF, will be MFC'd.
Zerocopy bpf buffers are still considered experimental are disabled
by default. To experiment with this new facility, adjust the
net.bpf.zerocopy_enable sysctl variable to 1.
Changes to libpcap will be made available as a patch for the time being,
and further refinements to the implementation are expected.
Sponsored by: Seccuris Inc.
In collaboration with: rwatson
Tested by: pwood, gallatin
MFC after: 4 months [1]
[1] Certain portions will probably not be MFCed, specifically things
that can break the monitoring ABI.
2008-03-24 13:49:17 +00:00
|
|
|
net/bpf_zerocopy.c optional bpf
|
2007-05-31 19:47:39 +00:00
|
|
|
net/bridgestp.c optional bridge | if_bridge
|
2011-04-30 12:07:31 +00:00
|
|
|
net/flowtable.c optional flowtable inet | flowtable inet6
|
2007-04-17 00:35:11 +00:00
|
|
|
net/ieee8023ad_lacp.c optional lagg
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if.c standard
|
|
|
|
net/if_arcsubr.c optional arcnet
|
|
|
|
net/if_atmsubr.c optional atm
|
2009-06-11 10:40:43 +00:00
|
|
|
net/if_bridge.c optional bridge inet | if_bridge inet
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_clone.c standard
|
2009-04-23 11:51:53 +00:00
|
|
|
net/if_dead.c standard
|
2010-10-25 08:30:19 +00:00
|
|
|
net/if_debug.c optional ddb
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_disc.c optional disc
|
2007-03-26 04:39:18 +00:00
|
|
|
net/if_edsc.c optional edsc
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_ef.c optional ef
|
2009-06-11 11:17:16 +00:00
|
|
|
net/if_enc.c optional enc ipsec inet | enc ipsec inet6
|
2009-07-26 12:20:07 +00:00
|
|
|
net/if_epair.c optional epair
|
2007-07-03 12:46:08 +00:00
|
|
|
net/if_ethersubr.c optional ether \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_faith.c optional faith
|
|
|
|
net/if_fddisubr.c optional fddi
|
|
|
|
net/if_fwsubr.c optional fwip
|
2010-03-31 20:15:20 +00:00
|
|
|
net/if_gif.c optional gif | netgraph_gif
|
2009-06-10 21:18:21 +00:00
|
|
|
net/if_gre.c optional gre inet
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_iso88025subr.c optional token
|
2007-04-17 00:35:11 +00:00
|
|
|
net/if_lagg.c optional lagg
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_loop.c optional loop
|
This main goals of this project are:
1. separating L2 tables (ARP, NDP) from the L3 routing tables
2. removing as much locking dependencies among these layers as
possible to allow for some parallelism in the search operations
3. simplify the logic in the routing code,
The most notable end result is the obsolescent of the route
cloning (RTF_CLONING) concept, which translated into code reduction
in both IPv4 ARP and IPv6 NDP related modules, and size reduction in
struct rtentry{}. The change in design obsoletes the semantics of
RTF_CLONING, RTF_WASCLONE and RTF_LLINFO routing flags. The userland
applications such as "arp" and "ndp" have been modified to reflect
those changes. The output from "netstat -r" shows only the routing
entries.
Quite a few developers have contributed to this project in the
past: Glebius Smirnoff, Luigi Rizzo, Alessandro Cerri, and
Andre Oppermann. And most recently:
- Kip Macy revised the locking code completely, thus completing
the last piece of the puzzle, Kip has also been conducting
active functional testing
- Sam Leffler has helped me improving/refactoring the code, and
provided valuable reviews
- Julian Elischer setup the perforce tree for me and has helped
me maintaining that branch before the svn conversion
2008-12-15 06:10:57 +00:00
|
|
|
net/if_llatbl.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_media.c standard
|
|
|
|
net/if_mib.c standard
|
2008-05-26 10:40:09 +00:00
|
|
|
net/if_spppfr.c optional sppp | netgraph_sppp
|
|
|
|
net/if_spppsubr.c optional sppp | netgraph_sppp
|
2009-06-11 11:13:35 +00:00
|
|
|
net/if_stf.c optional stf inet inet6
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_tun.c optional tun
|
|
|
|
net/if_tap.c optional tap
|
|
|
|
net/if_vlan.c optional vlan
|
2007-05-22 12:00:31 +00:00
|
|
|
net/mppcc.c optional netgraph_mppc_compression
|
|
|
|
net/mppcd.c optional netgraph_mppc_compression
|
2005-01-04 06:07:25 +00:00
|
|
|
net/netisr.c standard
|
2005-11-27 21:41:58 +00:00
|
|
|
net/pfil.c optional ether | inet
|
2005-01-04 06:07:25 +00:00
|
|
|
net/radix.c standard
|
This patch provides the back end support for equal-cost multi-path
(ECMP) for both IPv4 and IPv6. Previously, multipath route insertion
is disallowed. For example,
route add -net 192.103.54.0/24 10.9.44.1
route add -net 192.103.54.0/24 10.9.44.2
The second route insertion will trigger an error message of
"add net 192.103.54.0/24: gateway 10.2.5.2: route already in table"
Multiple default routes can also be inserted. Here is the netstat
output:
default 10.2.5.1 UGS 0 3074 bge0 =>
default 10.2.5.2 UGS 0 0 bge0
When multipath routes exist, the "route delete" command requires
a specific gateway to be specified or else an error message would
be displayed. For example,
route delete default
would fail and trigger the following error message:
"route: writing to routing socket: No such process"
"delete net default: not in table"
On the other hand,
route delete default 10.2.5.2
would be successful: "delete net default: gateway 10.2.5.2"
One does not have to specify a gateway if there is only a single
route for a particular destination.
I need to perform more testings on address aliases and multiple
interfaces that have the same IP prefixes. This patch as it
stands today is not yet ready for prime time. Therefore, the ECMP
code fragments are fully guarded by the RADIX_MPATH macro.
Include the "options RADIX_MPATH" in the kernel configuration
to enable this feature.
Reviewed by: robert, sam, gnn, julian, kmacy
2008-04-13 05:45:14 +00:00
|
|
|
net/radix_mpath.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
net/raw_cb.c standard
|
|
|
|
net/raw_usrreq.c standard
|
|
|
|
net/route.c standard
|
|
|
|
net/rtsock.c standard
|
2009-03-15 14:21:05 +00:00
|
|
|
net/slcompress.c optional netgraph_vjc | sppp | \
|
2007-04-25 15:30:17 +00:00
|
|
|
netgraph_sppp
|
Build on Jeff Roberson's linker-set based dynamic per-CPU allocator
(DPCPU), as suggested by Peter Wemm, and implement a new per-virtual
network stack memory allocator. Modify vnet to use the allocator
instead of monolithic global container structures (vinet, ...). This
change solves many binary compatibility problems associated with
VIMAGE, and restores ELF symbols for virtualized global variables.
Each virtualized global variable exists as a "reference copy", and also
once per virtual network stack. Virtualized global variables are
tagged at compile-time, placing the in a special linker set, which is
loaded into a contiguous region of kernel memory. Virtualized global
variables in the base kernel are linked as normal, but those in modules
are copied and relocated to a reserved portion of the kernel's vnet
region with the help of a the kernel linker.
Virtualized global variables exist in per-vnet memory set up when the
network stack instance is created, and are initialized statically from
the reference copy. Run-time access occurs via an accessor macro, which
converts from the current vnet and requested symbol to a per-vnet
address. When "options VIMAGE" is not compiled into the kernel, normal
global ELF symbols will be used instead and indirection is avoided.
This change restores static initialization for network stack global
variables, restores support for non-global symbols and types, eliminates
the need for many subsystem constructors, eliminates large per-subsystem
structures that caused many binary compatibility issues both for
monitoring applications (netstat) and kernel modules, removes the
per-function INIT_VNET_*() macros throughout the stack, eliminates the
need for vnet_symmap ksym(2) munging, and eliminates duplicate
definitions of virtualized globals under VIMAGE_GLOBALS.
Bump __FreeBSD_version and update UPDATING.
Portions submitted by: bz
Reviewed by: bz, zec
Discussed with: gnn, jamie, jeff, jhb, julian, sam
Suggested by: peter
Approved by: re (kensmith)
2009-07-14 22:48:30 +00:00
|
|
|
net/vnet.c optional vimage
|
2005-11-27 21:41:58 +00:00
|
|
|
net/zlib.c optional crypto | geom_uzip | ipsec | \
|
2009-03-15 14:21:05 +00:00
|
|
|
mxge | netgraph_deflate | \
|
2012-01-04 23:39:11 +00:00
|
|
|
ddb_ctf | gzio | geom_uncompress
|
2005-01-04 06:07:25 +00:00
|
|
|
net80211/ieee80211.c optional wlan
|
2009-03-24 17:10:42 +00:00
|
|
|
net80211/ieee80211_acl.c optional wlan wlan_acl
|
2009-07-05 17:59:19 +00:00
|
|
|
net80211/ieee80211_action.c optional wlan
|
2009-07-05 20:44:50 +00:00
|
|
|
net80211/ieee80211_ageq.c optional wlan
|
2008-04-20 20:35:46 +00:00
|
|
|
net80211/ieee80211_adhoc.c optional wlan
|
Implementation of the upcoming Wireless Mesh standard, 802.11s, on the
net80211 wireless stack. This work is based on the March 2009 D3.0 draft
standard. This standard is expected to become final next year.
This includes two main net80211 modules, ieee80211_mesh.c
which deals with peer link management, link metric calculation,
routing table control and mesh configuration and ieee80211_hwmp.c
which deals with the actually routing process on the mesh network.
HWMP is the mandatory routing protocol on by the mesh standard, but
others, such as RA-OLSR, can be implemented.
Authentication and encryption are not implemented.
There are several scripts under tools/tools/net80211/scripts that can be
used to test different mesh network topologies and they also teach you
how to setup a mesh vap (for the impatient: ifconfig wlan0 create
wlandev ... wlanmode mesh).
A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled
by default on GENERIC kernels for i386, amd64, sparc64 and pc98.
Drivers that support mesh networks right now are: ath, ral and mwl.
More information at: http://wiki.freebsd.org/WifiMesh
Please note that this work is experimental. Also, please note that
bridging a mesh vap with another network interface is not yet supported.
Many thanks to the FreeBSD Foundation for sponsoring this project and to
Sam Leffler for his support.
Also, I would like to thank Gateworks Corporation for sending me a
Cambria board which was used during the development of this project.
Reviewed by: sam
Approved by: re (kensmith)
Obtained from: projects/mesh11s
2009-07-11 15:02:45 +00:00
|
|
|
net80211/ieee80211_ageq.c optional wlan
|
2010-04-09 16:19:30 +00:00
|
|
|
net80211/ieee80211_amrr.c optional wlan | wlan_amrr
|
2003-06-28 06:12:41 +00:00
|
|
|
net80211/ieee80211_crypto.c optional wlan
|
2009-03-24 17:10:42 +00:00
|
|
|
net80211/ieee80211_crypto_ccmp.c optional wlan wlan_ccmp
|
2005-01-04 06:07:25 +00:00
|
|
|
net80211/ieee80211_crypto_none.c optional wlan
|
2009-03-24 17:10:42 +00:00
|
|
|
net80211/ieee80211_crypto_tkip.c optional wlan wlan_tkip
|
|
|
|
net80211/ieee80211_crypto_wep.c optional wlan wlan_wep
|
2008-04-20 20:35:46 +00:00
|
|
|
net80211/ieee80211_ddb.c optional wlan ddb
|
|
|
|
net80211/ieee80211_dfs.c optional wlan
|
2004-12-08 17:39:51 +00:00
|
|
|
net80211/ieee80211_freebsd.c optional wlan
|
2008-04-20 20:35:46 +00:00
|
|
|
net80211/ieee80211_hostap.c optional wlan
|
Update 802.11 wireless support:
o major overhaul of the way channels are handled: channels are now
fully enumerated and uniquely identify the operating characteristics;
these changes are visible to user applications which require changes
o make scanning support independent of the state machine to enable
background scanning and roaming
o move scanning support into loadable modules based on the operating
mode to enable different policies and reduce the memory footprint
on systems w/ constrained resources
o add background scanning in station mode (no support for adhoc/ibss
mode yet)
o significantly speedup sta mode scanning with a variety of techniques
o add roaming support when background scanning is supported; for now
we use a simple algorithm to trigger a roam: we threshold the rssi
and tx rate, if either drops too low we try to roam to a new ap
o add tx fragmentation support
o add first cut at 802.11n support: this code works with forthcoming
drivers but is incomplete; it's included now to establish a baseline
for other drivers to be developed and for user applications
o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates
prepending mbufs for traffic generated locally
o add support for Atheros protocol extensions; mainly the fast frames
encapsulation (note this can be used with any card that can tx+rx
large frames correctly)
o add sta support for ap's that beacon both WPA1+2 support
o change all data types from bsd-style to posix-style
o propagate noise floor data from drivers to net80211 and on to user apps
o correct various issues in the sta mode state machine related to handling
authentication and association failures
o enable the addition of sta mode power save support for drivers that need
net80211 support (not in this commit)
o remove old WI compatibility ioctls (wicontrol is officially dead)
o change the data structures returned for get sta info and get scan
results so future additions will not break user apps
o fixed tx rate is now maintained internally as an ieee rate and not an
index into the rate set; this needs to be extended to deal with
multi-mode operation
o add extended channel specifications to radiotap to enable 11n sniffing
Drivers:
o ath: add support for bg scanning, tx fragmentation, fast frames,
dynamic turbo (lightly tested), 11n (sniffing only and needs
new hal)
o awi: compile tested only
o ndis: lightly tested
o ipw: lightly tested
o iwi: add support for bg scanning (well tested but may have some
rough edges)
o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data
o wi: lightly tested
This work is based on contributions by Atheros, kmacy, sephe, thompsa,
mlaier, kevlo, and others. Much of the scanning work was supported by
Atheros. The 11n work was supported by Marvell.
2007-06-11 03:36:55 +00:00
|
|
|
net80211/ieee80211_ht.c optional wlan
|
Implementation of the upcoming Wireless Mesh standard, 802.11s, on the
net80211 wireless stack. This work is based on the March 2009 D3.0 draft
standard. This standard is expected to become final next year.
This includes two main net80211 modules, ieee80211_mesh.c
which deals with peer link management, link metric calculation,
routing table control and mesh configuration and ieee80211_hwmp.c
which deals with the actually routing process on the mesh network.
HWMP is the mandatory routing protocol on by the mesh standard, but
others, such as RA-OLSR, can be implemented.
Authentication and encryption are not implemented.
There are several scripts under tools/tools/net80211/scripts that can be
used to test different mesh network topologies and they also teach you
how to setup a mesh vap (for the impatient: ifconfig wlan0 create
wlandev ... wlanmode mesh).
A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled
by default on GENERIC kernels for i386, amd64, sparc64 and pc98.
Drivers that support mesh networks right now are: ath, ral and mwl.
More information at: http://wiki.freebsd.org/WifiMesh
Please note that this work is experimental. Also, please note that
bridging a mesh vap with another network interface is not yet supported.
Many thanks to the FreeBSD Foundation for sponsoring this project and to
Sam Leffler for his support.
Also, I would like to thank Gateworks Corporation for sending me a
Cambria board which was used during the development of this project.
Reviewed by: sam
Approved by: re (kensmith)
Obtained from: projects/mesh11s
2009-07-11 15:02:45 +00:00
|
|
|
net80211/ieee80211_hwmp.c optional wlan ieee80211_support_mesh
|
2003-06-28 06:12:41 +00:00
|
|
|
net80211/ieee80211_input.c optional wlan
|
|
|
|
net80211/ieee80211_ioctl.c optional wlan
|
Implementation of the upcoming Wireless Mesh standard, 802.11s, on the
net80211 wireless stack. This work is based on the March 2009 D3.0 draft
standard. This standard is expected to become final next year.
This includes two main net80211 modules, ieee80211_mesh.c
which deals with peer link management, link metric calculation,
routing table control and mesh configuration and ieee80211_hwmp.c
which deals with the actually routing process on the mesh network.
HWMP is the mandatory routing protocol on by the mesh standard, but
others, such as RA-OLSR, can be implemented.
Authentication and encryption are not implemented.
There are several scripts under tools/tools/net80211/scripts that can be
used to test different mesh network topologies and they also teach you
how to setup a mesh vap (for the impatient: ifconfig wlan0 create
wlandev ... wlanmode mesh).
A new build option is available: IEEE80211_SUPPORT_MESH and it's enabled
by default on GENERIC kernels for i386, amd64, sparc64 and pc98.
Drivers that support mesh networks right now are: ath, ral and mwl.
More information at: http://wiki.freebsd.org/WifiMesh
Please note that this work is experimental. Also, please note that
bridging a mesh vap with another network interface is not yet supported.
Many thanks to the FreeBSD Foundation for sponsoring this project and to
Sam Leffler for his support.
Also, I would like to thank Gateworks Corporation for sending me a
Cambria board which was used during the development of this project.
Reviewed by: sam
Approved by: re (kensmith)
Obtained from: projects/mesh11s
2009-07-11 15:02:45 +00:00
|
|
|
net80211/ieee80211_mesh.c optional wlan ieee80211_support_mesh
|
2008-04-20 20:35:46 +00:00
|
|
|
net80211/ieee80211_monitor.c optional wlan
|
2003-06-28 06:12:41 +00:00
|
|
|
net80211/ieee80211_node.c optional wlan
|
|
|
|
net80211/ieee80211_output.c optional wlan
|
2008-04-20 20:35:46 +00:00
|
|
|
net80211/ieee80211_phy.c optional wlan
|
Update 802.11 wireless support:
o major overhaul of the way channels are handled: channels are now
fully enumerated and uniquely identify the operating characteristics;
these changes are visible to user applications which require changes
o make scanning support independent of the state machine to enable
background scanning and roaming
o move scanning support into loadable modules based on the operating
mode to enable different policies and reduce the memory footprint
on systems w/ constrained resources
o add background scanning in station mode (no support for adhoc/ibss
mode yet)
o significantly speedup sta mode scanning with a variety of techniques
o add roaming support when background scanning is supported; for now
we use a simple algorithm to trigger a roam: we threshold the rssi
and tx rate, if either drops too low we try to roam to a new ap
o add tx fragmentation support
o add first cut at 802.11n support: this code works with forthcoming
drivers but is incomplete; it's included now to establish a baseline
for other drivers to be developed and for user applications
o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates
prepending mbufs for traffic generated locally
o add support for Atheros protocol extensions; mainly the fast frames
encapsulation (note this can be used with any card that can tx+rx
large frames correctly)
o add sta support for ap's that beacon both WPA1+2 support
o change all data types from bsd-style to posix-style
o propagate noise floor data from drivers to net80211 and on to user apps
o correct various issues in the sta mode state machine related to handling
authentication and association failures
o enable the addition of sta mode power save support for drivers that need
net80211 support (not in this commit)
o remove old WI compatibility ioctls (wicontrol is officially dead)
o change the data structures returned for get sta info and get scan
results so future additions will not break user apps
o fixed tx rate is now maintained internally as an ieee rate and not an
index into the rate set; this needs to be extended to deal with
multi-mode operation
o add extended channel specifications to radiotap to enable 11n sniffing
Drivers:
o ath: add support for bg scanning, tx fragmentation, fast frames,
dynamic turbo (lightly tested), 11n (sniffing only and needs
new hal)
o awi: compile tested only
o ndis: lightly tested
o ipw: lightly tested
o iwi: add support for bg scanning (well tested but may have some
rough edges)
o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data
o wi: lightly tested
This work is based on contributions by Atheros, kmacy, sephe, thompsa,
mlaier, kevlo, and others. Much of the scanning work was supported by
Atheros. The 11n work was supported by Marvell.
2007-06-11 03:36:55 +00:00
|
|
|
net80211/ieee80211_power.c optional wlan
|
2003-06-28 06:12:41 +00:00
|
|
|
net80211/ieee80211_proto.c optional wlan
|
2009-05-20 20:00:40 +00:00
|
|
|
net80211/ieee80211_radiotap.c optional wlan
|
2010-04-07 15:29:13 +00:00
|
|
|
net80211/ieee80211_ratectl.c optional wlan
|
2010-10-19 18:49:26 +00:00
|
|
|
net80211/ieee80211_ratectl_none.c optional wlan
|
Update 802.11 wireless support:
o major overhaul of the way channels are handled: channels are now
fully enumerated and uniquely identify the operating characteristics;
these changes are visible to user applications which require changes
o make scanning support independent of the state machine to enable
background scanning and roaming
o move scanning support into loadable modules based on the operating
mode to enable different policies and reduce the memory footprint
on systems w/ constrained resources
o add background scanning in station mode (no support for adhoc/ibss
mode yet)
o significantly speedup sta mode scanning with a variety of techniques
o add roaming support when background scanning is supported; for now
we use a simple algorithm to trigger a roam: we threshold the rssi
and tx rate, if either drops too low we try to roam to a new ap
o add tx fragmentation support
o add first cut at 802.11n support: this code works with forthcoming
drivers but is incomplete; it's included now to establish a baseline
for other drivers to be developed and for user applications
o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates
prepending mbufs for traffic generated locally
o add support for Atheros protocol extensions; mainly the fast frames
encapsulation (note this can be used with any card that can tx+rx
large frames correctly)
o add sta support for ap's that beacon both WPA1+2 support
o change all data types from bsd-style to posix-style
o propagate noise floor data from drivers to net80211 and on to user apps
o correct various issues in the sta mode state machine related to handling
authentication and association failures
o enable the addition of sta mode power save support for drivers that need
net80211 support (not in this commit)
o remove old WI compatibility ioctls (wicontrol is officially dead)
o change the data structures returned for get sta info and get scan
results so future additions will not break user apps
o fixed tx rate is now maintained internally as an ieee rate and not an
index into the rate set; this needs to be extended to deal with
multi-mode operation
o add extended channel specifications to radiotap to enable 11n sniffing
Drivers:
o ath: add support for bg scanning, tx fragmentation, fast frames,
dynamic turbo (lightly tested), 11n (sniffing only and needs
new hal)
o awi: compile tested only
o ndis: lightly tested
o ipw: lightly tested
o iwi: add support for bg scanning (well tested but may have some
rough edges)
o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data
o wi: lightly tested
This work is based on contributions by Atheros, kmacy, sephe, thompsa,
mlaier, kevlo, and others. Much of the scanning work was supported by
Atheros. The 11n work was supported by Marvell.
2007-06-11 03:36:55 +00:00
|
|
|
net80211/ieee80211_regdomain.c optional wlan
|
2009-03-24 17:10:42 +00:00
|
|
|
net80211/ieee80211_rssadapt.c optional wlan wlan_rssadapt
|
Update 802.11 wireless support:
o major overhaul of the way channels are handled: channels are now
fully enumerated and uniquely identify the operating characteristics;
these changes are visible to user applications which require changes
o make scanning support independent of the state machine to enable
background scanning and roaming
o move scanning support into loadable modules based on the operating
mode to enable different policies and reduce the memory footprint
on systems w/ constrained resources
o add background scanning in station mode (no support for adhoc/ibss
mode yet)
o significantly speedup sta mode scanning with a variety of techniques
o add roaming support when background scanning is supported; for now
we use a simple algorithm to trigger a roam: we threshold the rssi
and tx rate, if either drops too low we try to roam to a new ap
o add tx fragmentation support
o add first cut at 802.11n support: this code works with forthcoming
drivers but is incomplete; it's included now to establish a baseline
for other drivers to be developed and for user applications
o adjust max_linkhdr et. al. to reflect 802.11 requirements; this eliminates
prepending mbufs for traffic generated locally
o add support for Atheros protocol extensions; mainly the fast frames
encapsulation (note this can be used with any card that can tx+rx
large frames correctly)
o add sta support for ap's that beacon both WPA1+2 support
o change all data types from bsd-style to posix-style
o propagate noise floor data from drivers to net80211 and on to user apps
o correct various issues in the sta mode state machine related to handling
authentication and association failures
o enable the addition of sta mode power save support for drivers that need
net80211 support (not in this commit)
o remove old WI compatibility ioctls (wicontrol is officially dead)
o change the data structures returned for get sta info and get scan
results so future additions will not break user apps
o fixed tx rate is now maintained internally as an ieee rate and not an
index into the rate set; this needs to be extended to deal with
multi-mode operation
o add extended channel specifications to radiotap to enable 11n sniffing
Drivers:
o ath: add support for bg scanning, tx fragmentation, fast frames,
dynamic turbo (lightly tested), 11n (sniffing only and needs
new hal)
o awi: compile tested only
o ndis: lightly tested
o ipw: lightly tested
o iwi: add support for bg scanning (well tested but may have some
rough edges)
o ral, ural, rum: add suppoort for bg scanning, calibrate rssi data
o wi: lightly tested
This work is based on contributions by Atheros, kmacy, sephe, thompsa,
mlaier, kevlo, and others. Much of the scanning work was supported by
Atheros. The 11n work was supported by Marvell.
2007-06-11 03:36:55 +00:00
|
|
|
net80211/ieee80211_scan.c optional wlan
|
2008-04-20 20:35:46 +00:00
|
|
|
net80211/ieee80211_scan_sta.c optional wlan
|
|
|
|
net80211/ieee80211_sta.c optional wlan
|
2009-03-24 20:39:08 +00:00
|
|
|
net80211/ieee80211_superg.c optional wlan ieee80211_support_superg
|
2009-03-24 17:22:10 +00:00
|
|
|
net80211/ieee80211_tdma.c optional wlan ieee80211_support_tdma
|
2008-04-20 20:35:46 +00:00
|
|
|
net80211/ieee80211_wds.c optional wlan
|
2009-03-24 17:10:42 +00:00
|
|
|
net80211/ieee80211_xauth.c optional wlan wlan_xauth
|
2011-04-21 03:59:37 +00:00
|
|
|
net80211/ieee80211_alq.c optional wlan ieee80211_alq
|
2005-01-04 06:07:25 +00:00
|
|
|
netatalk/aarp.c optional netatalk
|
|
|
|
netatalk/at_control.c optional netatalk
|
|
|
|
netatalk/at_proto.c optional netatalk
|
2008-06-14 15:17:02 +00:00
|
|
|
netatalk/at_rmx.c optional netatalk
|
2005-01-04 06:07:25 +00:00
|
|
|
netatalk/ddp_input.c optional netatalk
|
|
|
|
netatalk/ddp_output.c optional netatalk
|
|
|
|
netatalk/ddp_pcb.c optional netatalk
|
|
|
|
netatalk/ddp_usrreq.c optional netatalk
|
2005-09-11 01:28:05 +00:00
|
|
|
netgraph/atm/ccatm/ng_ccatm.c optional ngatm_ccatm \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
2005-01-10 05:11:40 +00:00
|
|
|
netgraph/atm/ng_atm.c optional ngatm_atm
|
2005-09-11 01:28:05 +00:00
|
|
|
netgraph/atm/ngatmbase.c optional ngatm_atmbase \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
netgraph/atm/sscfu/ng_sscfu.c optional ngatm_sscfu \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
netgraph/atm/sscop/ng_sscop.c optional ngatm_sscop \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
netgraph/atm/uni/ng_uni.c optional ngatm_uni \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/bluetooth/common/ng_bluetooth.c optional netgraph_bluetooth
|
|
|
|
netgraph/bluetooth/drivers/bt3c/ng_bt3c_pccard.c optional netgraph_bluetooth_bt3c
|
|
|
|
netgraph/bluetooth/drivers/h4/ng_h4.c optional netgraph_bluetooth_h4
|
2009-05-27 16:43:40 +00:00
|
|
|
netgraph/bluetooth/drivers/ubt/ng_ubt.c optional netgraph_bluetooth_ubt usb
|
|
|
|
netgraph/bluetooth/drivers/ubtbcmfw/ubtbcmfw.c optional netgraph_bluetooth_ubtbcmfw usb
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/bluetooth/hci/ng_hci_cmds.c optional netgraph_bluetooth_hci
|
|
|
|
netgraph/bluetooth/hci/ng_hci_evnt.c optional netgraph_bluetooth_hci
|
|
|
|
netgraph/bluetooth/hci/ng_hci_main.c optional netgraph_bluetooth_hci
|
|
|
|
netgraph/bluetooth/hci/ng_hci_misc.c optional netgraph_bluetooth_hci
|
|
|
|
netgraph/bluetooth/hci/ng_hci_ulpi.c optional netgraph_bluetooth_hci
|
|
|
|
netgraph/bluetooth/l2cap/ng_l2cap_cmds.c optional netgraph_bluetooth_l2cap
|
|
|
|
netgraph/bluetooth/l2cap/ng_l2cap_evnt.c optional netgraph_bluetooth_l2cap
|
|
|
|
netgraph/bluetooth/l2cap/ng_l2cap_llpi.c optional netgraph_bluetooth_l2cap
|
|
|
|
netgraph/bluetooth/l2cap/ng_l2cap_main.c optional netgraph_bluetooth_l2cap
|
|
|
|
netgraph/bluetooth/l2cap/ng_l2cap_misc.c optional netgraph_bluetooth_l2cap
|
|
|
|
netgraph/bluetooth/l2cap/ng_l2cap_ulpi.c optional netgraph_bluetooth_l2cap
|
|
|
|
netgraph/bluetooth/socket/ng_btsocket.c optional netgraph_bluetooth_socket
|
2004-04-23 19:48:43 +00:00
|
|
|
netgraph/bluetooth/socket/ng_btsocket_hci_raw.c optional netgraph_bluetooth_socket
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/bluetooth/socket/ng_btsocket_l2cap.c optional netgraph_bluetooth_socket
|
|
|
|
netgraph/bluetooth/socket/ng_btsocket_l2cap_raw.c optional netgraph_bluetooth_socket
|
|
|
|
netgraph/bluetooth/socket/ng_btsocket_rfcomm.c optional netgraph_bluetooth_socket
|
2008-07-31 03:51:53 +00:00
|
|
|
netgraph/bluetooth/socket/ng_btsocket_sco.c optional netgraph_bluetooth_socket
|
2005-01-10 05:11:40 +00:00
|
|
|
netgraph/netflow/netflow.c optional netgraph_netflow
|
2011-03-02 16:15:11 +00:00
|
|
|
netgraph/netflow/netflow_v9.c optional netgraph_netflow
|
2005-01-10 05:11:40 +00:00
|
|
|
netgraph/netflow/ng_netflow.c optional netgraph_netflow
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_UI.c optional netgraph_UI
|
|
|
|
netgraph/ng_async.c optional netgraph_async
|
|
|
|
netgraph/ng_atmllc.c optional netgraph_atmllc
|
|
|
|
netgraph/ng_base.c optional netgraph
|
|
|
|
netgraph/ng_bpf.c optional netgraph_bpf
|
|
|
|
netgraph/ng_bridge.c optional netgraph_bridge
|
2007-05-15 16:43:01 +00:00
|
|
|
netgraph/ng_car.c optional netgraph_car
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_cisco.c optional netgraph_cisco
|
2006-12-29 13:16:43 +00:00
|
|
|
netgraph/ng_deflate.c optional netgraph_deflate
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_device.c optional netgraph_device
|
|
|
|
netgraph/ng_echo.c optional netgraph_echo
|
|
|
|
netgraph/ng_eiface.c optional netgraph_eiface
|
|
|
|
netgraph/ng_ether.c optional netgraph_ether
|
2008-12-25 07:34:14 +00:00
|
|
|
netgraph/ng_ether_echo.c optional netgraph_ether_echo
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_fec.c optional netgraph_fec
|
1999-10-21 09:06:11 +00:00
|
|
|
netgraph/ng_frame_relay.c optional netgraph_frame_relay
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_gif.c optional netgraph_gif
|
|
|
|
netgraph/ng_gif_demux.c optional netgraph_gif_demux
|
|
|
|
netgraph/ng_hole.c optional netgraph_hole
|
|
|
|
netgraph/ng_iface.c optional netgraph_iface
|
|
|
|
netgraph/ng_ip_input.c optional netgraph_ip_input
|
2009-06-11 12:17:57 +00:00
|
|
|
netgraph/ng_ipfw.c optional netgraph_ipfw inet ipfirewall
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_ksocket.c optional netgraph_ksocket
|
|
|
|
netgraph/ng_l2tp.c optional netgraph_l2tp
|
2005-01-10 05:11:40 +00:00
|
|
|
netgraph/ng_lmi.c optional netgraph_lmi
|
2005-11-27 21:41:58 +00:00
|
|
|
netgraph/ng_mppc.c optional netgraph_mppc_compression | \
|
|
|
|
netgraph_mppc_encryption
|
2009-06-11 12:17:57 +00:00
|
|
|
netgraph/ng_nat.c optional netgraph_nat inet libalias
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_one2many.c optional netgraph_one2many
|
|
|
|
netgraph/ng_parse.c optional netgraph
|
New netgraph node ng_patch(4). It performs data modification of packets
passing through. Modifications are restricted to a subset of C language
operations on unsigned integers of 8, 16, 32 or 64 bit size.
These are: set to new value (=), addition (+=), subtraction (-=),
multiplication (*=), division (/=), negation (= -), bitwise AND (&=),
bitwise OR (|=), bitwise eXclusive OR (^=), shift left (<<=),
shift right (>>=). Several operations are all applied to a packet
sequentially in order they were specified by user.
Submitted by: Maxim Ignatenko <gelraen.ua at gmail.com>
Vadim Goncharov <vadimnuclight at tpu.ru>
Discussed with: net@
Approved by: mav (mentor)
MFC after: 1 month
2010-06-09 12:25:57 +00:00
|
|
|
netgraph/ng_patch.c optional netgraph_patch
|
2009-06-23 06:11:04 +00:00
|
|
|
netgraph/ng_pipe.c optional netgraph_pipe
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_ppp.c optional netgraph_ppp
|
|
|
|
netgraph/ng_pppoe.c optional netgraph_pppoe
|
|
|
|
netgraph/ng_pptpgre.c optional netgraph_pptpgre
|
2006-12-29 13:16:43 +00:00
|
|
|
netgraph/ng_pred1.c optional netgraph_pred1
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_rfc1490.c optional netgraph_rfc1490
|
|
|
|
netgraph/ng_socket.c optional netgraph_socket
|
|
|
|
netgraph/ng_split.c optional netgraph_split
|
|
|
|
netgraph/ng_sppp.c optional netgraph_sppp
|
2006-06-27 12:45:28 +00:00
|
|
|
netgraph/ng_tag.c optional netgraph_tag
|
2005-06-10 08:05:13 +00:00
|
|
|
netgraph/ng_tcpmss.c optional netgraph_tcpmss
|
2005-01-04 06:07:25 +00:00
|
|
|
netgraph/ng_tee.c optional netgraph_tee
|
|
|
|
netgraph/ng_tty.c optional netgraph_tty
|
|
|
|
netgraph/ng_vjc.c optional netgraph_vjc
|
2009-11-11 11:07:30 +00:00
|
|
|
netgraph/ng_vlan.c optional netgraph_vlan
|
2009-06-11 12:21:41 +00:00
|
|
|
netinet/accf_data.c optional accept_filter_data inet
|
|
|
|
netinet/accf_dns.c optional accept_filter_dns inet
|
|
|
|
netinet/accf_http.c optional accept_filter_http inet
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/if_atm.c optional atm
|
2009-06-11 12:01:14 +00:00
|
|
|
netinet/if_ether.c optional inet ether
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/igmp.c optional inet
|
|
|
|
netinet/in.c optional inet
|
2010-10-24 22:02:36 +00:00
|
|
|
netinet/in_debug.c optional inet ddb
|
2009-06-11 10:26:38 +00:00
|
|
|
netinet/ip_carp.c optional inet carp | inet6 carp
|
2010-03-31 20:15:20 +00:00
|
|
|
netinet/in_gif.c optional gif inet | netgraph_gif inet
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/ip_gre.c optional gre inet
|
|
|
|
netinet/ip_id.c optional inet
|
Import rewrite of IPv4 socket multicast layer to support source-specific
and protocol-independent host mode multicast. The code is written to
accomodate IPv6, IGMPv3 and MLDv2 with only a little additional work.
This change only pertains to FreeBSD's use as a multicast end-station and
does not concern multicast routing; for an IGMPv3/MLDv2 router
implementation, consider the XORP project.
The work is based on Wilbert de Graaf's IGMPv3 code drop for FreeBSD 4.6,
which is available at: http://www.kloosterhof.com/wilbert/igmpv3.html
Summary
* IPv4 multicast socket processing is now moved out of ip_output.c
into a new module, in_mcast.c.
* The in_mcast.c module implements the IPv4 legacy any-source API in
terms of the protocol-independent source-specific API.
* Source filters are lazy allocated as the common case does not use them.
They are part of per inpcb state and are covered by the inpcb lock.
* struct ip_mreqn is now supported to allow applications to specify
multicast joins by interface index in the legacy IPv4 any-source API.
* In UDP, an incoming multicast datagram only requires that the source
port matches the 4-tuple if the socket was already bound by source port.
An unbound socket SHOULD be able to receive multicasts sent from an
ephemeral source port.
* The UDP socket multicast filter mode defaults to exclusive, that is,
sources present in the per-socket list will be blocked from delivery.
* The RFC 3678 userland functions have been added to libc: setsourcefilter,
getsourcefilter, setipv4sourcefilter, getipv4sourcefilter.
* Definitions for IGMPv3 are merged but not yet used.
* struct sockaddr_storage is now referenced from <netinet/in.h>. It
is therefore defined there if not already declared in the same way
as for the C99 types.
* The RFC 1724 hack (specify 0.0.0.0/8 addresses to IP_MULTICAST_IF
which are then interpreted as interface indexes) is now deprecated.
* A patch for the Rhyolite.com routed in the FreeBSD base system
is available in the -net archives. This only affects individuals
running RIPv1 or RIPv2 via point-to-point and/or unnumbered interfaces.
* Make IPv6 detach path similar to IPv4's in code flow; functionally same.
* Bump __FreeBSD_version to 700048; see UPDATING.
This work was financially supported by another FreeBSD committer.
Obtained from: p4://bms_netdev
Submitted by: Wilbert de Graaf (original work)
Reviewed by: rwatson (locking), silence from fenner,
net@ (but with encouragement)
2007-06-12 16:24:56 +00:00
|
|
|
netinet/in_mcast.c optional inet
|
2011-03-12 21:50:48 +00:00
|
|
|
netinet/in_pcb.c optional inet | inet6
|
Implement a CPU-affine TCP and UDP connection lookup data structure,
struct inpcbgroup. pcbgroups, or "connection groups", supplement the
existing inpcbinfo connection hash table, which when pcbgroups are
enabled, might now be thought of more usefully as a per-protocol
4-tuple reservation table.
Connections are assigned to connection groups base on a hash of their
4-tuple; wildcard sockets require special handling, and are members
of all connection groups. During a connection lookup, a
per-connection group lock is employed rather than the global pcbinfo
lock. By aligning connection groups with input path processing,
connection groups take on an effective CPU affinity, especially when
aligned with RSS work placement (see a forthcoming commit for
details). This eliminates cache line migration associated with
global, protocol-layer data structures in steady state TCP and UDP
processing (with the exception of protocol-layer statistics; further
commit to follow).
Elements of this approach were inspired by Willman, Rixner, and Cox's
2006 USENIX paper, "An Evaluation of Network Stack Parallelization
Strategies in Modern Operating Systems". However, there are also
significant differences: we maintain the inpcb lock, rather than using
the connection group lock for per-connection state.
Likewise, the focus of this implementation is alignment with NIC
packet distribution strategies such as RSS, rather than pure software
strategies. Despite that focus, software distribution is supported
through the parallel netisr implementation, and works well in
configurations where the number of hardware threads is greater than
the number of NIC input queues, such as in the RMI XLR threaded MIPS
architecture.
Another important difference is the continued maintenance of existing
hash tables as "reservation tables" -- these are useful both to
distinguish the resource allocation aspect of protocol name management
and the more common-case lookup aspect. In configurations where
connection tables are aligned with hardware hashes, it is desirable to
use the traditional lookup tables for loopback or encapsulated traffic
rather than take the expense of hardware hashes that are hard to
implement efficiently in software (such as RSS Toeplitz).
Connection group support is enabled by compiling "options PCBGROUP"
into your kernel configuration; for the time being, this is an
experimental feature, and hence is not enabled by default.
Subject to the limited MFCability of change dependencies in inpcb,
and its change to the inpcbinfo init function signature, this change
in principle could be merged to FreeBSD 8.x.
Reviewed by: bz
Sponsored by: Juniper Networks, Inc.
2011-06-06 12:55:02 +00:00
|
|
|
netinet/in_pcbgroup.c optional inet pcbgroup | inet6 pcbgroup
|
2011-04-17 16:35:16 +00:00
|
|
|
netinet/in_proto.c optional inet | inet6 \
|
2005-09-11 02:04:04 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/in_rmx.c optional inet
|
2009-06-10 20:57:06 +00:00
|
|
|
netinet/ip_divert.c optional inet ipdivert ipfirewall
|
Bring in the most recent version of ipfw and dummynet, developed
and tested over the past two months in the ipfw3-head branch. This
also happens to be the same code available in the Linux and Windows
ports of ipfw and dummynet.
The major enhancement is a completely restructured version of
dummynet, with support for different packet scheduling algorithms
(loadable at runtime), faster queue/pipe lookup, and a much cleaner
internal architecture and kernel/userland ABI which simplifies
future extensions.
In addition to the existing schedulers (FIFO and WF2Q+), we include
a Deficit Round Robin (DRR or RR for brevity) scheduler, and a new,
very fast version of WF2Q+ called QFQ.
Some test code is also present (in sys/netinet/ipfw/test) that
lets you build and test schedulers in userland.
Also, we have added a compatibility layer that understands requests
from the RELENG_7 and RELENG_8 versions of the /sbin/ipfw binaries,
and replies correctly (at least, it does its best; sometimes you
just cannot tell who sent the request and how to answer).
The compatibility layer should make it possible to MFC this code in a
relatively short time.
Some minor glitches (e.g. handling of ipfw set enable/disable,
and a workaround for a bug in RELENG_7's /sbin/ipfw) will be
fixed with separate commits.
CREDITS:
This work has been partly supported by the ONELAB2 project, and
mostly developed by Riccardo Panicucci and myself.
The code for the qfq scheduler is mostly from Fabio Checconi,
and Marta Carbone and Francesco Magno have helped with testing,
debugging and some bug fixes.
2010-03-02 17:40:48 +00:00
|
|
|
netinet/ipfw/dn_heap.c optional inet dummynet
|
|
|
|
netinet/ipfw/dn_sched_fifo.c optional inet dummynet
|
2010-03-21 16:30:32 +00:00
|
|
|
netinet/ipfw/dn_sched_prio.c optional inet dummynet
|
|
|
|
netinet/ipfw/dn_sched_qfq.c optional inet dummynet
|
Bring in the most recent version of ipfw and dummynet, developed
and tested over the past two months in the ipfw3-head branch. This
also happens to be the same code available in the Linux and Windows
ports of ipfw and dummynet.
The major enhancement is a completely restructured version of
dummynet, with support for different packet scheduling algorithms
(loadable at runtime), faster queue/pipe lookup, and a much cleaner
internal architecture and kernel/userland ABI which simplifies
future extensions.
In addition to the existing schedulers (FIFO and WF2Q+), we include
a Deficit Round Robin (DRR or RR for brevity) scheduler, and a new,
very fast version of WF2Q+ called QFQ.
Some test code is also present (in sys/netinet/ipfw/test) that
lets you build and test schedulers in userland.
Also, we have added a compatibility layer that understands requests
from the RELENG_7 and RELENG_8 versions of the /sbin/ipfw binaries,
and replies correctly (at least, it does its best; sometimes you
just cannot tell who sent the request and how to answer).
The compatibility layer should make it possible to MFC this code in a
relatively short time.
Some minor glitches (e.g. handling of ipfw set enable/disable,
and a workaround for a bug in RELENG_7's /sbin/ipfw) will be
fixed with separate commits.
CREDITS:
This work has been partly supported by the ONELAB2 project, and
mostly developed by Riccardo Panicucci and myself.
The code for the qfq scheduler is mostly from Fabio Checconi,
and Marta Carbone and Francesco Magno have helped with testing,
debugging and some bug fixes.
2010-03-02 17:40:48 +00:00
|
|
|
netinet/ipfw/dn_sched_rr.c optional inet dummynet
|
|
|
|
netinet/ipfw/dn_sched_wf2q.c optional inet dummynet
|
2009-06-11 12:06:37 +00:00
|
|
|
netinet/ipfw/ip_dummynet.c optional inet dummynet
|
Bring in the most recent version of ipfw and dummynet, developed
and tested over the past two months in the ipfw3-head branch. This
also happens to be the same code available in the Linux and Windows
ports of ipfw and dummynet.
The major enhancement is a completely restructured version of
dummynet, with support for different packet scheduling algorithms
(loadable at runtime), faster queue/pipe lookup, and a much cleaner
internal architecture and kernel/userland ABI which simplifies
future extensions.
In addition to the existing schedulers (FIFO and WF2Q+), we include
a Deficit Round Robin (DRR or RR for brevity) scheduler, and a new,
very fast version of WF2Q+ called QFQ.
Some test code is also present (in sys/netinet/ipfw/test) that
lets you build and test schedulers in userland.
Also, we have added a compatibility layer that understands requests
from the RELENG_7 and RELENG_8 versions of the /sbin/ipfw binaries,
and replies correctly (at least, it does its best; sometimes you
just cannot tell who sent the request and how to answer).
The compatibility layer should make it possible to MFC this code in a
relatively short time.
Some minor glitches (e.g. handling of ipfw set enable/disable,
and a workaround for a bug in RELENG_7's /sbin/ipfw) will be
fixed with separate commits.
CREDITS:
This work has been partly supported by the ONELAB2 project, and
mostly developed by Riccardo Panicucci and myself.
The code for the qfq scheduler is mostly from Fabio Checconi,
and Marta Carbone and Francesco Magno have helped with testing,
debugging and some bug fixes.
2010-03-02 17:40:48 +00:00
|
|
|
netinet/ipfw/ip_dn_io.c optional inet dummynet
|
|
|
|
netinet/ipfw/ip_dn_glue.c optional inet dummynet
|
2005-11-27 21:41:58 +00:00
|
|
|
netinet/ip_ecn.c optional inet | inet6
|
|
|
|
netinet/ip_encap.c optional inet | inet6
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/ip_fastfwd.c optional inet
|
2009-06-10 21:06:07 +00:00
|
|
|
netinet/ipfw/ip_fw2.c optional inet ipfirewall \
|
2007-07-03 12:46:08 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/pf"
|
2009-12-15 16:15:14 +00:00
|
|
|
netinet/ipfw/ip_fw_dynamic.c optional inet ipfirewall
|
|
|
|
netinet/ipfw/ip_fw_log.c optional inet ipfirewall
|
2009-06-10 21:06:07 +00:00
|
|
|
netinet/ipfw/ip_fw_pfil.c optional inet ipfirewall
|
2009-12-15 21:24:12 +00:00
|
|
|
netinet/ipfw/ip_fw_sockopt.c optional inet ipfirewall
|
|
|
|
netinet/ipfw/ip_fw_table.c optional inet ipfirewall
|
2009-06-10 21:06:07 +00:00
|
|
|
netinet/ipfw/ip_fw_nat.c optional inet ipfirewall_nat
|
2011-04-27 19:36:35 +00:00
|
|
|
netinet/ip_icmp.c optional inet | inet6
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/ip_input.c optional inet
|
2009-06-10 20:44:13 +00:00
|
|
|
netinet/ip_ipsec.c optional inet ipsec
|
2011-04-30 12:07:31 +00:00
|
|
|
netinet/ip_mroute.c optional mrouting inet
|
2005-11-18 20:12:40 +00:00
|
|
|
netinet/ip_options.c optional inet
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/ip_output.c optional inet
|
2011-04-30 12:07:31 +00:00
|
|
|
netinet/raw_ip.c optional inet | inet6
|
2011-04-30 11:21:29 +00:00
|
|
|
netinet/cc/cc.c optional inet | inet6
|
|
|
|
netinet/cc/cc_newreno.c optional inet | inet6
|
2011-04-30 12:39:47 +00:00
|
|
|
netinet/sctp_asconf.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_auth.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_bsd_addr.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_cc_functions.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_crc32.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_indata.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_input.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_output.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_pcb.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_peeloff.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_ss_functions.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_sysctl.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_timer.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_usrreq.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctputil.c optional inet sctp | inet6 sctp
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/tcp_debug.c optional tcpdebug
|
2011-04-30 11:21:29 +00:00
|
|
|
netinet/tcp_hostcache.c optional inet | inet6
|
|
|
|
netinet/tcp_input.c optional inet | inet6
|
|
|
|
netinet/tcp_lro.c optional inet | inet6
|
|
|
|
netinet/tcp_output.c optional inet | inet6
|
|
|
|
netinet/tcp_offload.c optional inet | inet6
|
|
|
|
netinet/tcp_reass.c optional inet | inet6
|
|
|
|
netinet/tcp_sack.c optional inet | inet6
|
|
|
|
netinet/tcp_subr.c optional inet | inet6
|
|
|
|
netinet/tcp_syncache.c optional inet | inet6
|
|
|
|
netinet/tcp_timer.c optional inet | inet6
|
|
|
|
netinet/tcp_timewait.c optional inet | inet6
|
|
|
|
netinet/tcp_usrreq.c optional inet | inet6
|
2011-04-30 11:17:00 +00:00
|
|
|
netinet/udp_usrreq.c optional inet | inet6
|
2009-06-11 12:17:57 +00:00
|
|
|
netinet/libalias/alias.c optional libalias inet | netgraph_nat inet
|
|
|
|
netinet/libalias/alias_db.c optional libalias inet | netgraph_nat inet
|
2007-04-25 15:30:17 +00:00
|
|
|
netinet/libalias/alias_mod.c optional libalias | netgraph_nat
|
2009-06-11 12:17:57 +00:00
|
|
|
netinet/libalias/alias_proxy.c optional libalias inet | netgraph_nat inet
|
|
|
|
netinet/libalias/alias_util.c optional libalias inet | netgraph_nat inet
|
|
|
|
netinet/libalias/alias_sctp.c optional libalias inet | netgraph_nat inet
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet6/dest6.c optional inet6
|
|
|
|
netinet6/frag6.c optional inet6
|
|
|
|
netinet6/icmp6.c optional inet6
|
|
|
|
netinet6/in6.c optional inet6
|
|
|
|
netinet6/in6_cksum.c optional inet6
|
2010-03-31 20:15:20 +00:00
|
|
|
netinet6/in6_gif.c optional gif inet6 | netgraph_gif inet6
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet6/in6_ifattach.c optional inet6
|
Bite the bullet, and make the IPv6 SSM and MLDv2 mega-commit:
import from p4 bms_netdev. Summary of changes:
* Connect netinet6/in6_mcast.c to build.
The legacy KAME KPIs are mostly preserved.
* Eliminate now dead code from ip6_output.c.
Don't do mbuf bingo, we are not going to do RFC 2292 style
CMSG tricks for multicast options as they are not required
by any current IPv6 normative reference.
* Refactor transports (UDP, raw_ip6) to do own mcast filtering.
SCTP, TCP unaffected by this change.
* Add ip6_msource, in6_msource structs to in6_var.h.
* Hookup mld_ifinfo state to in6_ifextra, allocate from
domifattach path.
* Eliminate IN6_LOOKUP_MULTI(), it is no longer referenced.
Kernel consumers which need this should use in6m_lookup().
* Refactor IPv6 socket group memberships to use a vector (like IPv4).
* Update ifmcstat(8) for IPv6 SSM.
* Add witness lock order for IN6_MULTI_LOCK.
* Move IN6_MULTI_LOCK out of lower ip6_output()/ip6_input() paths.
* Introduce IP6STAT_ADD/SUB/INC/DEC as per rwatson's IPv4 cleanup.
* Update carp(4) for new IPv6 SSM KPIs.
* Virtualize ip6_mrouter socket.
Changes mostly localized to IPv6 MROUTING.
* Don't do a local group lookup in MROUTING.
* Kill unused KAME prototypes in6_purgemkludge(), in6_restoremkludge().
* Preserve KAME DAD timer jitter behaviour in MLDv1 compatibility mode.
* Bump __FreeBSD_version to 800084.
* Update UPDATING.
NOTE WELL:
* This code hasn't been tested against real MLDv2 queriers
(yet), although the on-wire protocol has been verified in Wireshark.
* There are a few unresolved issues in the socket layer APIs to
do with scope ID propagation.
* There is a LOR present in ip6_output()'s use of
in6_setscope() which needs to be resolved. See comments in mld6.c.
This is believed to be benign and can't be avoided for the moment
without re-introducing an indirect netisr.
This work was mostly derived from the IGMPv3 implementation, and
has been sponsored by a third party.
2009-04-29 19:19:13 +00:00
|
|
|
netinet6/in6_mcast.c optional inet6
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet6/in6_pcb.c optional inet6
|
Implement a CPU-affine TCP and UDP connection lookup data structure,
struct inpcbgroup. pcbgroups, or "connection groups", supplement the
existing inpcbinfo connection hash table, which when pcbgroups are
enabled, might now be thought of more usefully as a per-protocol
4-tuple reservation table.
Connections are assigned to connection groups base on a hash of their
4-tuple; wildcard sockets require special handling, and are members
of all connection groups. During a connection lookup, a
per-connection group lock is employed rather than the global pcbinfo
lock. By aligning connection groups with input path processing,
connection groups take on an effective CPU affinity, especially when
aligned with RSS work placement (see a forthcoming commit for
details). This eliminates cache line migration associated with
global, protocol-layer data structures in steady state TCP and UDP
processing (with the exception of protocol-layer statistics; further
commit to follow).
Elements of this approach were inspired by Willman, Rixner, and Cox's
2006 USENIX paper, "An Evaluation of Network Stack Parallelization
Strategies in Modern Operating Systems". However, there are also
significant differences: we maintain the inpcb lock, rather than using
the connection group lock for per-connection state.
Likewise, the focus of this implementation is alignment with NIC
packet distribution strategies such as RSS, rather than pure software
strategies. Despite that focus, software distribution is supported
through the parallel netisr implementation, and works well in
configurations where the number of hardware threads is greater than
the number of NIC input queues, such as in the RMI XLR threaded MIPS
architecture.
Another important difference is the continued maintenance of existing
hash tables as "reservation tables" -- these are useful both to
distinguish the resource allocation aspect of protocol name management
and the more common-case lookup aspect. In configurations where
connection tables are aligned with hardware hashes, it is desirable to
use the traditional lookup tables for loopback or encapsulated traffic
rather than take the expense of hardware hashes that are hard to
implement efficiently in software (such as RSS Toeplitz).
Connection group support is enabled by compiling "options PCBGROUP"
into your kernel configuration; for the time being, this is an
experimental feature, and hence is not enabled by default.
Subject to the limited MFCability of change dependencies in inpcb,
and its change to the inpcbinfo init function signature, this change
in principle could be merged to FreeBSD 8.x.
Reviewed by: bz
Sponsored by: Juniper Networks, Inc.
2011-06-06 12:55:02 +00:00
|
|
|
netinet6/in6_pcbgroup.c optional inet6 pcbgroup
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet6/in6_proto.c optional inet6
|
|
|
|
netinet6/in6_rmx.c optional inet6
|
|
|
|
netinet6/in6_src.c optional inet6
|
|
|
|
netinet6/ip6_forward.c optional inet6
|
|
|
|
netinet6/ip6_id.c optional inet6
|
|
|
|
netinet6/ip6_input.c optional inet6
|
2007-02-24 11:38:47 +00:00
|
|
|
netinet6/ip6_mroute.c optional mrouting inet6
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet6/ip6_output.c optional inet6
|
2007-07-04 03:44:57 +00:00
|
|
|
netinet6/ip6_ipsec.c optional inet6 ipsec
|
2005-01-04 06:07:25 +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
|
|
|
|
netinet6/route6.c optional inet6
|
|
|
|
netinet6/scope6.c optional inet6
|
2006-11-03 21:09:03 +00:00
|
|
|
netinet6/sctp6_usrreq.c optional inet6 sctp
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet6/udp6_usrreq.c optional inet6
|
2009-06-10 20:44:13 +00:00
|
|
|
netipsec/ipsec.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/ipsec_input.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/ipsec_mbuf.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/ipsec_output.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/key.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/key_debug.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/keysock.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/xform_ah.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/xform_esp.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/xform_ipcomp.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/xform_ipip.c optional ipsec inet | ipsec inet6
|
|
|
|
netipsec/xform_tcp.c optional ipsec inet tcp_signature | \
|
|
|
|
ipsec inet6 tcp_signature
|
2005-01-04 06:07:25 +00:00
|
|
|
netipx/ipx.c optional ipx
|
|
|
|
netipx/ipx_cksum.c optional ipx
|
|
|
|
netipx/ipx_input.c optional ipx
|
|
|
|
netipx/ipx_outputfl.c optional ipx
|
|
|
|
netipx/ipx_pcb.c optional ipx
|
|
|
|
netipx/ipx_proto.c optional ipx
|
|
|
|
netipx/ipx_usrreq.c optional ipx
|
|
|
|
netipx/spx_debug.c optional ipx
|
2009-05-25 09:28:54 +00:00
|
|
|
netipx/spx_reass.c optional ipx
|
2005-01-04 06:07:25 +00:00
|
|
|
netipx/spx_usrreq.c optional ipx
|
|
|
|
netnatm/natm.c optional natm
|
|
|
|
netnatm/natm_pcb.c optional natm
|
|
|
|
netnatm/natm_proto.c optional natm
|
|
|
|
netncp/ncp_conn.c optional ncp
|
|
|
|
netncp/ncp_crypt.c optional ncp
|
|
|
|
netncp/ncp_login.c optional ncp
|
|
|
|
netncp/ncp_mod.c optional ncp
|
|
|
|
netncp/ncp_ncp.c optional ncp
|
|
|
|
netncp/ncp_nls.c optional ncp
|
|
|
|
netncp/ncp_rq.c optional ncp
|
|
|
|
netncp/ncp_sock.c optional ncp
|
|
|
|
netncp/ncp_subr.c optional ncp
|
2002-11-08 22:33:14 +00:00
|
|
|
netsmb/smb_conn.c optional netsmb
|
|
|
|
netsmb/smb_crypt.c optional netsmb
|
|
|
|
netsmb/smb_dev.c optional netsmb
|
|
|
|
netsmb/smb_iod.c optional netsmb
|
|
|
|
netsmb/smb_rq.c optional netsmb
|
|
|
|
netsmb/smb_smb.c optional netsmb
|
|
|
|
netsmb/smb_subr.c optional netsmb
|
|
|
|
netsmb/smb_trantcp.c optional netsmb
|
|
|
|
netsmb/smb_usr.c optional netsmb
|
2011-04-25 22:22:51 +00:00
|
|
|
nfs/bootp_subr.c optional bootp nfsclient | bootp nfscl
|
|
|
|
nfs/krpc_subr.c optional bootp nfsclient | bootp nfscl
|
2005-11-27 21:41:58 +00:00
|
|
|
nfs/nfs_common.c optional nfsclient | nfsserver
|
2011-04-25 22:22:51 +00:00
|
|
|
nfs/nfs_diskless.c optional nfsclient nfs_root | nfscl nfs_root
|
2011-01-03 20:37:31 +00:00
|
|
|
nfs/nfs_lock.c optional nfsclient | nfscl | nfslockd | nfsd
|
2001-09-18 23:32:09 +00:00
|
|
|
nfsclient/nfs_bio.c optional nfsclient
|
|
|
|
nfsclient/nfs_node.c optional nfsclient
|
Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager. I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.
The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.
The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.
Sponsored by: Isilon Systems
MFC after: 1 month
2008-11-03 10:38:00 +00:00
|
|
|
nfsclient/nfs_krpc.c optional nfsclient
|
2001-09-18 23:32:09 +00:00
|
|
|
nfsclient/nfs_subs.c optional nfsclient
|
|
|
|
nfsclient/nfs_nfsiod.c optional nfsclient
|
|
|
|
nfsclient/nfs_vfsops.c optional nfsclient
|
|
|
|
nfsclient/nfs_vnops.c optional nfsclient
|
Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager. I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.
The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.
The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.
Sponsored by: Isilon Systems
MFC after: 1 month
2008-11-03 10:38:00 +00:00
|
|
|
nfsserver/nfs_fha.c optional nfsserver
|
2001-09-18 23:32:09 +00:00
|
|
|
nfsserver/nfs_serv.c optional nfsserver
|
Implement support for RPCSEC_GSS authentication to both the NFS client
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager. I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.
The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.
To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.
As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_<uid>). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.
Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/<fqdn>@<REALM>' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.
The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.
Sponsored by: Isilon Systems
MFC after: 1 month
2008-11-03 10:38:00 +00:00
|
|
|
nfsserver/nfs_srvkrpc.c optional nfsserver
|
2001-09-18 23:32:09 +00:00
|
|
|
nfsserver/nfs_srvsubs.c optional nfsserver
|
2009-05-28 19:45:11 +00:00
|
|
|
nfs/nfs_nfssvc.c optional nfsserver | nfscl | nfsd
|
2011-01-03 20:37:31 +00:00
|
|
|
nlm/nlm_advlock.c optional nfslockd | nfsd
|
2009-05-28 19:45:11 +00:00
|
|
|
nlm/nlm_prot_clnt.c optional nfslockd | nfsd
|
|
|
|
nlm/nlm_prot_impl.c optional nfslockd | nfsd
|
|
|
|
nlm/nlm_prot_server.c optional nfslockd | nfsd
|
|
|
|
nlm/nlm_prot_svc.c optional nfslockd | nfsd
|
|
|
|
nlm/nlm_prot_xdr.c optional nfslockd | nfsd
|
|
|
|
nlm/sm_inter_xdr.c optional nfslockd | nfsd
|
2011-03-21 09:40:01 +00:00
|
|
|
|
|
|
|
# OpenFabrics Enterprise Distribution (Infiniband)
|
|
|
|
ofed/include/linux/linux_compat.c optional ofed \
|
|
|
|
no-depend compile-with "${OFED_C}"
|
|
|
|
ofed/include/linux/linux_idr.c optional ofed \
|
|
|
|
no-depend compile-with "${OFED_C}"
|
|
|
|
ofed/include/linux/linux_radix.c optional ofed \
|
|
|
|
no-depend compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/addr.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/agent.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/cache.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
# XXX Mad.c must be ordered before cm.c for sysinit sets to occur in
|
|
|
|
# the correct order.
|
|
|
|
ofed/drivers/infiniband/core/mad.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/cm.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/cma.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/device.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/fmr_pool.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/iwcm.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/local_sa.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/mad_rmpp.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/multicast.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/notice.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/packer.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/sa_query.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/smi.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/sysfs.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/ucm.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/ucma.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/ud_header.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/umem.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/user_mad.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/uverbs_cmd.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/uverbs_main.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/uverbs_marshall.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
ofed/drivers/infiniband/core/verbs.c optional ofed \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/core/"
|
|
|
|
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c optional ipoib \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
#ofed/drivers/infiniband/ulp/ipoib/ipoib_fs.c optional ipoib \
|
|
|
|
# no-depend \
|
|
|
|
# compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c optional ipoib \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c optional ipoib \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c optional ipoib \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_verbs.c optional ipoib \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
#ofed/drivers/infiniband/ulp/ipoib/ipoib_vlan.c optional ipoib \
|
|
|
|
# no-depend \
|
|
|
|
# compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
|
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_bcopy.c optional sdp \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_main.c optional sdp \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_rx.c optional sdp \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_cma.c optional sdp \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_tx.c optional sdp \
|
|
|
|
no-depend \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
|
|
|
|
|
|
|
ofed/drivers/infiniband/hw/mlx4/ah.c optional mlx4ib \
|
|
|
|
no-depend obj-prefix "mlx4ib_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
|
|
|
|
ofed/drivers/infiniband/hw/mlx4/cq.c optional mlx4ib \
|
|
|
|
no-depend obj-prefix "mlx4ib_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
|
|
|
|
ofed/drivers/infiniband/hw/mlx4/doorbell.c optional mlx4ib \
|
|
|
|
no-depend obj-prefix "mlx4ib_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
|
|
|
|
ofed/drivers/infiniband/hw/mlx4/mad.c optional mlx4ib \
|
|
|
|
no-depend obj-prefix "mlx4ib_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
|
|
|
|
ofed/drivers/infiniband/hw/mlx4/main.c optional mlx4ib \
|
|
|
|
no-depend obj-prefix "mlx4ib_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
|
|
|
|
ofed/drivers/infiniband/hw/mlx4/mr.c optional mlx4ib \
|
|
|
|
no-depend obj-prefix "mlx4ib_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
|
|
|
|
ofed/drivers/infiniband/hw/mlx4/qp.c optional mlx4ib \
|
|
|
|
no-depend obj-prefix "mlx4ib_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
|
|
|
|
ofed/drivers/infiniband/hw/mlx4/srq.c optional mlx4ib \
|
|
|
|
no-depend obj-prefix "mlx4ib_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
|
|
|
|
ofed/drivers/infiniband/hw/mlx4/wc.c optional mlx4ib \
|
|
|
|
no-depend obj-prefix "mlx4ib_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/infiniband/hw/mlx4/"
|
|
|
|
|
|
|
|
ofed/drivers/net/mlx4/alloc.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/catas.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/cmd.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/cq.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/eq.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/fw.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/icm.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/intf.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/main.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/mcg.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/mr.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/pd.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/port.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/profile.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/qp.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/reset.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/sense.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/srq.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/xrcd.c optional mlx4ib | mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
|
|
|
|
ofed/drivers/net/mlx4/en_cq.c optional mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/en_frag.c optional mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/en_main.c optional mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/en_netdev.c optional mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/en_port.c optional mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/en_resources.c optional mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/en_rx.c optional mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
ofed/drivers/net/mlx4/en_tx.c optional mlxen \
|
|
|
|
no-depend obj-prefix "mlx4_" \
|
|
|
|
compile-with "${OFED_C_NOIMP} -I$S/ofed/drivers/net/mlx4/"
|
|
|
|
|
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_allocator.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_av.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_catas.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_cmd.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_cq.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_eq.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_mad.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_main.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_mcg.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_memfree.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_mr.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_pd.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_profile.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_provider.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_qp.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_reset.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_srq.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
ofed/drivers/infiniband/hw/mthca/mthca_uar.c optional mthca \
|
2011-06-10 22:38:31 +00:00
|
|
|
no-depend compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
|
2002-10-04 20:42:36 +00:00
|
|
|
# crypto support
|
2007-07-03 12:13:45 +00:00
|
|
|
opencrypto/cast.c optional crypto | ipsec
|
2002-10-04 20:42:36 +00:00
|
|
|
opencrypto/criov.c optional crypto
|
|
|
|
opencrypto/crypto.c optional crypto
|
|
|
|
opencrypto/cryptodev.c optional cryptodev
|
2007-03-21 03:42:51 +00:00
|
|
|
opencrypto/cryptodev_if.m optional crypto
|
2002-10-04 20:42:36 +00:00
|
|
|
opencrypto/cryptosoft.c optional crypto
|
|
|
|
opencrypto/deflate.c optional crypto
|
2005-11-27 21:41:58 +00:00
|
|
|
opencrypto/rmd160.c optional crypto | ipsec
|
2002-10-04 20:42:36 +00:00
|
|
|
opencrypto/skipjack.c optional crypto
|
|
|
|
opencrypto/xform.c optional crypto
|
2005-01-04 06:07:25 +00:00
|
|
|
pci/alpm.c optional alpm pci
|
2005-11-27 21:41:58 +00:00
|
|
|
pci/amdpm.c optional amdpm pci | nfpm pci
|
2005-12-21 15:49:51 +00:00
|
|
|
pci/amdsmb.c optional amdsmb pci
|
2005-01-04 06:07:25 +00:00
|
|
|
pci/if_rl.c optional rl pci
|
|
|
|
pci/intpm.c optional intpm pci
|
|
|
|
pci/ncr.c optional ncr pci
|
2005-12-21 15:49:51 +00:00
|
|
|
pci/nfsmb.c optional nfsmb pci
|
2005-01-04 06:07:25 +00:00
|
|
|
pci/viapm.c optional viapm pci
|
2009-05-28 19:45:11 +00:00
|
|
|
rpc/auth_none.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
rpc/auth_unix.c optional krpc | nfslockd | nfsclient | nfscl | nfsd
|
|
|
|
rpc/authunix_prot.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
rpc/clnt_dg.c optional krpc | nfslockd | nfsclient | nfscl | nfsd
|
|
|
|
rpc/clnt_rc.c optional krpc | nfslockd | nfsclient | nfscl | nfsd
|
|
|
|
rpc/clnt_vc.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
rpc/getnetconfig.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
rpc/replay.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
|
|
|
|
rpc/rpc_callmsg.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
rpc/rpc_generic.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
rpc/rpc_prot.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
rpc/rpcb_clnt.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
rpc/rpcb_prot.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
rpc/svc.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
|
|
|
|
rpc/svc_auth.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
|
|
|
|
rpc/svc_auth_unix.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
|
|
|
|
rpc/svc_dg.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
|
|
|
|
rpc/svc_generic.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
|
|
|
|
rpc/svc_vc.c optional krpc | nfslockd | nfsserver | nfscl | nfsd
|
|
|
|
rpc/rpcsec_gss/rpcsec_gss.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
|
|
|
|
rpc/rpcsec_gss/rpcsec_gss_conf.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
|
|
|
|
rpc/rpcsec_gss/rpcsec_gss_misc.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
|
|
|
|
rpc/rpcsec_gss/rpcsec_gss_prot.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
|
|
|
|
rpc/rpcsec_gss/svc_rpcsec_gss.c optional krpc kgssapi | nfslockd kgssapi | nfscl kgssapi | nfsd kgssapi
|
2006-02-01 21:00:16 +00:00
|
|
|
security/audit/audit.c optional audit
|
2006-02-06 22:34:29 +00:00
|
|
|
security/audit/audit_arg.c optional audit
|
2006-02-01 21:00:16 +00:00
|
|
|
security/audit/audit_bsm.c optional audit
|
Merge OpenBSM alpha 5 from OpenBSM vendor branch to head, both
contrib/openbsm (svn merge) and src/sys/{bsm,security/audit} (manual
merge). Hook up bsm_domain.c and bsm_socket_type.c to the libbsm
build along with man pages, add audit_bsm_domain.c and
audit_bsm_socket_type.c to the kernel environment.
OpenBSM history for imported revisions below for reference.
MFC after: 1 month
Sponsored by: Apple Inc.
Obtained from: TrustedBSD Project
OpenBSM 1.1 alpha 5
- Stub libauditd(3) man page added.
- All BSM error number constants with BSM_ERRNO_.
- Interfaces to convert between local and BSM socket types and protocol
families have been added: au_bsm_to_domain(3), au_bsm_to_socket_type(3),
au_domain_to_bsm(3), and au_socket_type_to_bsm(3), along with definitions
of constants in audit_domain.h and audit_socket_type.h. This improves
interoperability by converting local constant spaces, which vary by OS, to
and from Solaris constants (where available) or OpenBSM constants for
protocol domains not present in Solaris (a fair number). These routines
should be used when generating and interpreting extended socket tokens.
- Fix build warnings with full gcc warnings enabled on most supported
platforms.
- Don't compile error strings into bsm_errno.c when building it in the kernel
environment.
- When started by launchd, use the label com.apple.auditd rather than
org.trustedbsd.auditd.
2009-01-14 10:44:16 +00:00
|
|
|
security/audit/audit_bsm_domain.c optional audit
|
2008-12-31 13:56:31 +00:00
|
|
|
security/audit/audit_bsm_errno.c optional audit
|
2009-04-19 14:53:17 +00:00
|
|
|
security/audit/audit_bsm_fcntl.c optional audit
|
2006-02-01 21:00:16 +00:00
|
|
|
security/audit/audit_bsm_klib.c optional audit
|
Merge OpenBSM alpha 5 from OpenBSM vendor branch to head, both
contrib/openbsm (svn merge) and src/sys/{bsm,security/audit} (manual
merge). Hook up bsm_domain.c and bsm_socket_type.c to the libbsm
build along with man pages, add audit_bsm_domain.c and
audit_bsm_socket_type.c to the kernel environment.
OpenBSM history for imported revisions below for reference.
MFC after: 1 month
Sponsored by: Apple Inc.
Obtained from: TrustedBSD Project
OpenBSM 1.1 alpha 5
- Stub libauditd(3) man page added.
- All BSM error number constants with BSM_ERRNO_.
- Interfaces to convert between local and BSM socket types and protocol
families have been added: au_bsm_to_domain(3), au_bsm_to_socket_type(3),
au_domain_to_bsm(3), and au_socket_type_to_bsm(3), along with definitions
of constants in audit_domain.h and audit_socket_type.h. This improves
interoperability by converting local constant spaces, which vary by OS, to
and from Solaris constants (where available) or OpenBSM constants for
protocol domains not present in Solaris (a fair number). These routines
should be used when generating and interpreting extended socket tokens.
- Fix build warnings with full gcc warnings enabled on most supported
platforms.
- Don't compile error strings into bsm_errno.c when building it in the kernel
environment.
- When started by launchd, use the label com.apple.auditd rather than
org.trustedbsd.auditd.
2009-01-14 10:44:16 +00:00
|
|
|
security/audit/audit_bsm_socket_type.c optional audit
|
2006-02-01 21:00:16 +00:00
|
|
|
security/audit/audit_bsm_token.c optional audit
|
2006-02-06 22:50:39 +00:00
|
|
|
security/audit/audit_pipe.c optional audit
|
2006-02-06 22:34:29 +00:00
|
|
|
security/audit/audit_syscalls.c standard
|
|
|
|
security/audit/audit_trigger.c optional audit
|
Merge Perforce changes 93512, 93514, 93515 from TrustedBSD audit3
branch:
Integrate audit.c to audit_worker.c, so as to migrate the worker
thread implementation to its own .c file.
Populate audit_worker.c using parts now removed from audit.c:
- Move audit rotation global variables.
- Move audit_record_write(), audit_worker_rotate(),
audit_worker_drain(), audit_worker(), audit_rotate_vnode().
- Create audit_worker_init() from relevant parts of audit_init(),
which now calls this routine.
- Recreate audit_free(), which wraps uma_zfree() so that
audit_record_zone can be static to audit.c.
- Unstaticize various types and variables relating to the audit
record queue so that audit_worker can get to them. We may want
to wrap these in accessor methods at some point.
- Move AUDIT_PRINTF() to audit_private.h.
Addition of audit_worker.c to kernel configuration, missed in
earlier submit.
Obtained from: TrustedBSD Project
2006-03-19 16:03:43 +00:00
|
|
|
security/audit/audit_worker.c optional audit
|
2007-10-28 15:55:23 +00:00
|
|
|
security/mac/mac_atalk.c optional mac netatalk
|
2007-04-21 22:08:48 +00:00
|
|
|
security/mac/mac_audit.c optional mac audit
|
2008-10-28 21:53:10 +00:00
|
|
|
security/mac/mac_cred.c optional mac
|
2006-12-28 20:52:02 +00:00
|
|
|
security/mac/mac_framework.c optional mac
|
2011-04-30 14:22:45 +00:00
|
|
|
security/mac/mac_inet.c optional mac inet | mac inet6
|
2007-10-28 15:55:23 +00:00
|
|
|
security/mac/mac_inet6.c optional mac inet6
|
Modify the MAC Framework so that instead of embedding a (struct label)
in various kernel objects to represent security data, we embed a
(struct label *) pointer, which now references labels allocated using
a UMA zone (mac_label.c). This allows the size and shape of struct
label to be varied without changing the size and shape of these kernel
objects, which become part of the frozen ABI with 5-STABLE. This opens
the door for boot-time selection of the number of label slots, and hence
changes to the bound on the number of simultaneous labeled policies
at boot-time instead of compile-time. This also makes it easier to
embed label references in new objects as required for locking/caching
with fine-grained network stack locking, such as inpcb structures.
This change also moves us further in the direction of hiding the
structure of kernel objects from MAC policy modules, not to mention
dramatically reducing the number of '&' symbols appearing in both the
MAC Framework and MAC policy modules, and improving readability.
While this results in minimal performance change with MAC enabled, it
will observably shrink the size of a number of critical kernel data
structures for the !MAC case, and should have a small (but measurable)
performance benefit (i.e., struct vnode, struct socket) do to memory
conservation and reduced cost of zeroing memory.
NOTE: Users of MAC must recompile their kernel and all MAC modules as a
result of this change. Because this is an API change, third party
MAC modules will also need to be updated to make less use of the '&'
symbol.
Suggestions from: bmilekic
Obtained from: TrustedBSD Project
Sponsored by: DARPA, Network Associates Laboratories
2003-11-12 03:14:31 +00:00
|
|
|
security/mac/mac_label.c optional mac
|
2003-10-22 20:39:33 +00:00
|
|
|
security/mac/mac_net.c optional mac
|
|
|
|
security/mac/mac_pipe.c optional mac
|
2005-05-04 10:39:15 +00:00
|
|
|
security/mac/mac_posix_sem.c optional mac
|
Add a new file descriptor type for IPC shared memory objects and use it to
implement shm_open(2) and shm_unlink(2) in the kernel:
- Each shared memory file descriptor is associated with a swap-backed vm
object which provides the backing store. Each descriptor starts off with
a size of zero, but the size can be altered via ftruncate(2). The shared
memory file descriptors also support fstat(2). read(2), write(2),
ioctl(2), select(2), poll(2), and kevent(2) are not supported on shared
memory file descriptors.
- shm_open(2) and shm_unlink(2) are now implemented as system calls that
manage shared memory file descriptors. The virtual namespace that maps
pathnames to shared memory file descriptors is implemented as a hash
table where the hash key is generated via the 32-bit Fowler/Noll/Vo hash
of the pathname.
- As an extension, the constant 'SHM_ANON' may be specified in place of the
path argument to shm_open(2). In this case, an unnamed shared memory
file descriptor will be created similar to the IPC_PRIVATE key for
shmget(2). Note that the shared memory object can still be shared among
processes by sharing the file descriptor via fork(2) or sendmsg(2), but
it is unnamed. This effectively serves to implement the getmemfd() idea
bandied about the lists several times over the years.
- The backing store for shared memory file descriptors are garbage
collected when they are not referenced by any open file descriptors or
the shm_open(2) virtual namespace.
Submitted by: dillon, peter (previous versions)
Submitted by: rwatson (I based this on his version)
Reviewed by: alc (suggested converting getmemfd() to shm_open())
2008-01-08 21:58:16 +00:00
|
|
|
security/mac/mac_posix_shm.c optional mac
|
Add a new priv(9) kernel interface for checking the availability of
privilege for threads and credentials. Unlike the existing suser(9)
interface, priv(9) exposes a named privilege identifier to the privilege
checking code, allowing more complex policies regarding the granting of
privilege to be expressed. Two interfaces are provided, replacing the
existing suser(9) interface:
suser(td) -> priv_check(td, priv)
suser_cred(cred, flags) -> priv_check_cred(cred, priv, flags)
A comprehensive list of currently available kernel privileges may be
found in priv.h. New privileges are easily added as required, but the
comments on adding privileges found in priv.h and priv(9) should be read
before doing so.
The new privilege interface exposed sufficient information to the
privilege checking routine that it will now be possible for jail to
determine whether a particular privilege is granted in the check routine,
rather than relying on hints from the calling context via the
SUSER_ALLOWJAIL flag. For now, the flag is maintained, but a new jail
check function, prison_priv_check(), is exposed from kern_jail.c and used
by the privilege check routine to determine if the privilege is permitted
in jail. As a result, a centralized list of privileges permitted in jail
is now present in kern_jail.c.
The MAC Framework is now also able to instrument privilege checks, both
to deny privileges otherwise granted (mac_priv_check()), and to grant
privileges otherwise denied (mac_priv_grant()), permitting MAC Policy
modules to implement privilege models, as well as control a much broader
range of system behavior in order to constrain processes running with
root privilege.
The suser() and suser_cred() functions remain implemented, now in terms
of priv_check() and the PRIV_ROOT privilege, for use during the transition
and possibly continuing use by third party kernel modules that have not
been updated. The PRIV_DRIVER privilege exists to allow device drivers to
check privilege without adopting a more specific privilege identifier.
This change does not modify the actual security policy, rather, it
modifies the interface for privilege checks so changes to the security
policy become more feasible.
Sponsored by: nCircle Network Security, Inc.
Obtained from: TrustedBSD Project
Discussed on: arch@
Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri,
Alex Lyashkov <umka at sevcity dot net>,
Skip Ford <skip dot ford at verizon dot net>,
Antoine Brodin <antoine dot brodin at laposte dot net>
2006-11-06 13:37:19 +00:00
|
|
|
security/mac/mac_priv.c optional mac
|
2003-10-22 20:39:33 +00:00
|
|
|
security/mac/mac_process.c optional mac
|
2004-02-26 03:51:04 +00:00
|
|
|
security/mac/mac_socket.c optional mac
|
2006-12-28 20:52:02 +00:00
|
|
|
security/mac/mac_syscalls.c standard
|
2003-10-22 20:39:33 +00:00
|
|
|
security/mac/mac_system.c optional mac
|
2004-11-17 17:33:59 +00:00
|
|
|
security/mac/mac_sysv_msg.c optional mac
|
|
|
|
security/mac/mac_sysv_sem.c optional mac
|
|
|
|
security/mac/mac_sysv_shm.c optional mac
|
2003-10-22 20:39:33 +00:00
|
|
|
security/mac/mac_vfs.c optional mac
|
2002-10-24 17:21:40 +00:00
|
|
|
security/mac_biba/mac_biba.c optional mac_biba
|
2005-01-04 06:07:25 +00:00
|
|
|
security/mac_bsdextended/mac_bsdextended.c optional mac_bsdextended
|
2008-10-27 17:57:03 +00:00
|
|
|
security/mac_bsdextended/ugidfw_system.c optional mac_bsdextended
|
|
|
|
security/mac_bsdextended/ugidfw_vnode.c optional mac_bsdextended
|
2002-10-24 17:21:40 +00:00
|
|
|
security/mac_ifoff/mac_ifoff.c optional mac_ifoff
|
2002-11-26 17:32:39 +00:00
|
|
|
security/mac_lomac/mac_lomac.c optional mac_lomac
|
2002-10-24 17:21:40 +00:00
|
|
|
security/mac_mls/mac_mls.c optional mac_mls
|
2002-08-01 22:26:38 +00:00
|
|
|
security/mac_none/mac_none.c optional mac_none
|
2005-01-04 06:07:25 +00:00
|
|
|
security/mac_partition/mac_partition.c optional mac_partition
|
|
|
|
security/mac_portacl/mac_portacl.c optional mac_portacl
|
|
|
|
security/mac_seeotheruids/mac_seeotheruids.c optional mac_seeotheruids
|
2003-08-21 16:48:39 +00:00
|
|
|
security/mac_stub/mac_stub.c optional mac_stub
|
2002-10-24 17:21:40 +00:00
|
|
|
security/mac_test/mac_test.c optional mac_test
|
2009-09-03 09:33:57 +00:00
|
|
|
teken/teken.c optional sc
|
2005-01-04 06:07:25 +00:00
|
|
|
ufs/ffs/ffs_alloc.c optional ffs
|
|
|
|
ufs/ffs/ffs_balloc.c optional ffs
|
|
|
|
ufs/ffs/ffs_inode.c optional ffs
|
|
|
|
ufs/ffs/ffs_snapshot.c optional ffs
|
2005-02-11 08:13:31 +00:00
|
|
|
ufs/ffs/ffs_softdep.c optional ffs
|
2005-01-04 06:07:25 +00:00
|
|
|
ufs/ffs/ffs_subr.c optional ffs
|
|
|
|
ufs/ffs/ffs_tables.c optional ffs
|
|
|
|
ufs/ffs/ffs_vfsops.c optional ffs
|
|
|
|
ufs/ffs/ffs_vnops.c optional ffs
|
|
|
|
ufs/ffs/ffs_rawread.c optional directio
|
|
|
|
ufs/ufs/ufs_acl.c optional ffs
|
|
|
|
ufs/ufs/ufs_bmap.c optional ffs
|
|
|
|
ufs/ufs/ufs_dirhash.c optional ffs
|
|
|
|
ufs/ufs/ufs_extattr.c optional ffs
|
2009-09-22 16:22:05 +00:00
|
|
|
ufs/ufs/ufs_gjournal.c optional ffs UFS_GJOURNAL
|
2005-01-04 06:07:25 +00:00
|
|
|
ufs/ufs/ufs_inode.c optional ffs
|
|
|
|
ufs/ufs/ufs_lookup.c optional ffs
|
|
|
|
ufs/ufs/ufs_quota.c optional ffs
|
|
|
|
ufs/ufs/ufs_vfsops.c optional ffs
|
|
|
|
ufs/ufs/ufs_vnops.c optional ffs
|
|
|
|
vm/default_pager.c standard
|
|
|
|
vm/device_pager.c standard
|
|
|
|
vm/phys_pager.c standard
|
2006-01-31 11:09:21 +00:00
|
|
|
vm/redzone.c optional DEBUG_REDZONE
|
2009-07-24 13:50:29 +00:00
|
|
|
vm/sg_pager.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
vm/swap_pager.c standard
|
2005-01-10 05:11:40 +00:00
|
|
|
vm/uma_core.c standard
|
|
|
|
vm/uma_dbg.c standard
|
|
|
|
vm/vm_contig.c standard
|
2005-01-21 18:09:17 +00:00
|
|
|
vm/memguard.c optional DEBUG_MEMGUARD
|
2005-01-04 06:07:25 +00:00
|
|
|
vm/vm_fault.c standard
|
|
|
|
vm/vm_glue.c standard
|
|
|
|
vm/vm_init.c standard
|
|
|
|
vm/vm_kern.c standard
|
|
|
|
vm/vm_map.c standard
|
|
|
|
vm/vm_meter.c standard
|
|
|
|
vm/vm_mmap.c standard
|
|
|
|
vm/vm_object.c standard
|
|
|
|
vm/vm_page.c standard
|
|
|
|
vm/vm_pageout.c standard
|
|
|
|
vm/vm_pager.c standard
|
Enable the new physical memory allocator.
This allocator uses a binary buddy system with a twist. First and
foremost, this allocator is required to support the implementation of
superpages. As a side effect, it enables a more robust implementation
of contigmalloc(9). Moreover, this reimplementation of
contigmalloc(9) eliminates the acquisition of Giant by
contigmalloc(..., M_NOWAIT, ...).
The twist is that this allocator tries to reduce the number of TLB
misses incurred by accesses through a direct map to small, UMA-managed
objects and page table pages. Roughly speaking, the physical pages
that are allocated for such purposes are clustered together in the
physical address space. The performance benefits vary. In the most
extreme case, a uniprocessor kernel running on an Opteron, I measured
an 18% reduction in system time during a buildworld.
This allocator does not implement page coloring. The reason is that
superpages have much the same effect. The contiguous physical memory
allocation necessary for a superpage is inherently colored.
Finally, the one caveat is that this allocator does not effectively
support prezeroed pages. I hope this is temporary. On i386, this is
a slight pessimization. However, on amd64, the beneficial effects of
the direct-map optimization outweigh the ill effects. I speculate
that this is true in general of machines with a direct map.
Approved by: re
2007-06-16 04:57:06 +00:00
|
|
|
vm/vm_phys.c standard
|
2007-12-29 19:53:04 +00:00
|
|
|
vm/vm_reserv.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
vm/vm_unix.c standard
|
2005-01-10 05:11:40 +00:00
|
|
|
vm/vm_zeroidle.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
vm/vnode_pager.c standard
|
2009-10-02 12:47:01 +00:00
|
|
|
xdr/xdr.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
xdr/xdr_array.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
xdr/xdr_mbuf.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
xdr/xdr_mem.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
xdr/xdr_reference.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
|
|
|
xdr/xdr_sizeof.c optional krpc | nfslockd | nfsclient | nfsserver | nfscl | nfsd
|
2005-12-12 01:14:59 +00:00
|
|
|
#
|
|
|
|
gnu/fs/xfs/xfs_alloc.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs" \
|
|
|
|
warning "kernel contains GPL contaminated xfs filesystem"
|
|
|
|
gnu/fs/xfs/xfs_alloc_btree.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_bit.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_bmap.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_bmap_btree.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_btree.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_buf_item.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_da_btree.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dir.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dir2.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dir2_block.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dir2_data.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dir2_leaf.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dir2_node.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dir2_sf.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dir2_trace.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dir_leaf.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_error.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_extfree_item.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_fsops.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_ialloc.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_ialloc_btree.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_inode.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_inode_item.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_iocore.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_itable.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dfrag.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_log.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_log_recover.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_mount.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_rename.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_trans.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_trans_ail.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_trans_buf.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_trans_extfree.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_trans_inode.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_trans_item.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_utils.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_vfsops.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_vnodeops.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_rw.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_attr_leaf.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_attr.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_dmops.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_qmops.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
2006-06-09 06:13:45 +00:00
|
|
|
gnu/fs/xfs/xfs_iget.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_freebsd_iget.c optional xfs \
|
2005-12-12 01:14:59 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_mountops.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_vnops.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_frw.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_buf.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_globals.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_dmistubs.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_super.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_stats.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_vfs.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_vnode.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_sysctl.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_fs_subr.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/xfs_ioctl.c optional xfs \
|
2011-12-30 13:16:59 +00:00
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
2005-12-12 01:14:59 +00:00
|
|
|
gnu/fs/xfs/FreeBSD/support/debug.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/support/ktrace.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/support/mrlock.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/support/uuid.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/FreeBSD/support/kmem.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_iomap.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
|
|
|
gnu/fs/xfs/xfs_behavior.c optional xfs \
|
|
|
|
compile-with "${NORMAL_C} -I$S/gnu/fs/xfs/FreeBSD -I$S/gnu/fs/xfs/FreeBSD/support -I$S/gnu/fs/xfs"
|
2008-08-15 20:58:57 +00:00
|
|
|
|
2009-03-11 15:30:12 +00:00
|
|
|
xen/gnttab.c optional xen | xenhvm
|
|
|
|
xen/features.c optional xen | xenhvm
|
|
|
|
xen/evtchn/evtchn.c optional xen
|
|
|
|
xen/evtchn/evtchn_dev.c optional xen | xenhvm
|
|
|
|
xen/xenbus/xenbus_if.m optional xen | xenhvm
|
Improve the Xen para-virtualized device infrastructure of FreeBSD:
o Add support for backend devices (e.g. blkback)
o Implement extensions to the Xen para-virtualized block API to allow
for larger and more outstanding I/Os.
o Import a completely rewritten block back driver with support for fronting
I/O to both raw devices and files.
o General cleanup and documentation of the XenBus and XenStore support code.
o Robustness and performance updates for the block front driver.
o Fixes to the netfront driver.
Sponsored by: Spectra Logic Corporation
sys/xen/xenbus/init.txt:
Deleted: This file explains the Linux method for XenBus device
enumeration and thus does not apply to FreeBSD's NewBus approach.
sys/xen/xenbus/xenbus_probe_backend.c:
Deleted: Linux version of backend XenBus service routines. It
was never ported to FreeBSD. See xenbusb.c, xenbusb_if.m,
xenbusb_front.c xenbusb_back.c for details of FreeBSD's XenBus
support.
sys/xen/xenbus/xenbusvar.h:
sys/xen/xenbus/xenbus_xs.c:
sys/xen/xenbus/xenbus_comms.c:
sys/xen/xenbus/xenbus_comms.h:
sys/xen/xenstore/xenstorevar.h:
sys/xen/xenstore/xenstore.c:
Split XenStore into its own tree. XenBus is a software layer built
on top of XenStore. The old arrangement and the naming of some
structures and functions blurred these lines making it difficult to
discern what services are provided by which layer and at what times
these services are available (e.g. during system startup and shutdown).
sys/xen/xenbus/xenbus_client.c:
sys/xen/xenbus/xenbus.c:
sys/xen/xenbus/xenbus_probe.c:
sys/xen/xenbus/xenbusb.c:
sys/xen/xenbus/xenbusb.h:
Split up XenBus code into methods available for use by client
drivers (xenbus.c) and code used by the XenBus "bus code" to
enumerate, attach, detach, and service bus drivers.
sys/xen/reboot.c:
sys/dev/xen/control/control.c:
Add a XenBus front driver for handling shutdown, reboot, suspend, and
resume events published in the XenStore. Move all PV suspend/reboot
support from reboot.c into this driver.
sys/xen/blkif.h:
New file from Xen vendor with macros and structures used by
a block back driver to service requests from a VM running a
different ABI (e.g. amd64 back with i386 front).
sys/conf/files:
Adjust kernel build spec for new XenBus/XenStore layout and added
Xen functionality.
sys/dev/xen/balloon/balloon.c:
sys/dev/xen/netfront/netfront.c:
sys/dev/xen/blkfront/blkfront.c:
sys/xen/xenbus/...
sys/xen/xenstore/...
o Rename XenStore APIs and structures from xenbus_* to xs_*.
o Adjust to use of M_XENBUS and M_XENSTORE malloc types for allocation
of objects returned by these APIs.
o Adjust for changes in the bus interface for Xen drivers.
sys/xen/xenbus/...
sys/xen/xenstore/...
Add Doxygen comments for these interfaces and the code that
implements them.
sys/dev/xen/blkback/blkback.c:
o Rewrite the Block Back driver to attach properly via newbus,
operate correctly in both PV and HVM mode regardless of domain
(e.g. can be in a DOM other than 0), and to deal with the latest
metadata available in XenStore for block devices.
o Allow users to specify a file as a backend to blkback, in addition
to character devices. Use the namei lookup of the backend path
to automatically configure, based on file type, the appropriate
backend method.
The current implementation is limited to a single outstanding I/O
at a time to file backed storage.
sys/dev/xen/blkback/blkback.c:
sys/xen/interface/io/blkif.h:
sys/xen/blkif.h:
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkfront/block.h:
Extend the Xen blkif API: Negotiable request size and number of
requests.
This change extends the information recorded in the XenStore
allowing block front/back devices to negotiate for optimal I/O
parameters. This has been achieved without sacrificing backward
compatibility with drivers that are unaware of these protocol
enhancements. The extensions center around the connection protocol
which now includes these additions:
o The back-end device publishes its maximum supported values for,
request I/O size, the number of page segments that can be
associated with a request, the maximum number of requests that
can be concurrently active, and the maximum number of pages that
can be in the shared request ring. These values are published
before the back-end enters the XenbusStateInitWait state.
o The front-end waits for the back-end to enter either the InitWait
or Initialize state. At this point, the front end limits it's
own capabilities to the lesser of the values it finds published
by the backend, it's own maximums, or, should any back-end data
be missing in the store, the values supported by the original
protocol. It then initializes it's internal data structures
including allocation of the shared ring, publishes its maximum
capabilities to the XenStore and transitions to the Initialized
state.
o The back-end waits for the front-end to enter the Initalized
state. At this point, the back end limits it's own capabilities
to the lesser of the values it finds published by the frontend,
it's own maximums, or, should any front-end data be missing in
the store, the values supported by the original protocol. It
then initializes it's internal data structures, attaches to the
shared ring and transitions to the Connected state.
o The front-end waits for the back-end to enter the Connnected
state, transitions itself to the connected state, and can
commence I/O.
Although an updated front-end driver must be aware of the back-end's
InitWait state, the back-end has been coded such that it can
tolerate a front-end that skips this step and transitions directly
to the Initialized state without waiting for the back-end.
sys/xen/interface/io/blkif.h:
o Increase BLKIF_MAX_SEGMENTS_PER_REQUEST to 255. This is
the maximum number possible without changing the blkif
request header structure (nr_segs is a uint8_t).
o Add two new constants:
BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK, and
BLKIF_MAX_SEGMENTS_PER_SEGMENT_BLOCK. These respectively
indicate the number of segments that can fit in the first
ring-buffer entry of a request, and for each subsequent
(sg element only) ring-buffer entry associated with the
"header" ring-buffer entry of the request.
o Add the blkif_request_segment_t typedef for segment
elements.
o Add the BLKRING_GET_SG_REQUEST() macro which wraps the
RING_GET_REQUEST() macro and returns a properly cast
pointer to an array of blkif_request_segment_ts.
o Add the BLKIF_SEGS_TO_BLOCKS() macro which calculates the
number of ring entries that will be consumed by a blkif
request with the given number of segments.
sys/xen/blkif.h:
o Update for changes in interface/io/blkif.h macros.
o Update the BLKIF_MAX_RING_REQUESTS() macro to take the
ring size as an argument to allow this calculation on
multi-page rings.
o Add a companion macro to BLKIF_MAX_RING_REQUESTS(),
BLKIF_RING_PAGES(). This macro determines the number of
ring pages required in order to support a ring with the
supplied number of request blocks.
sys/dev/xen/blkback/blkback.c:
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkfront/block.h:
o Negotiate with the other-end with the following limits:
Reqeust Size: MAXPHYS
Max Segments: (MAXPHYS/PAGE_SIZE) + 1
Max Requests: 256
Max Ring Pages: Sufficient to support Max Requests with
Max Segments.
o Dynamically allocate request pools and segemnts-per-request.
o Update ring allocation/attachment code to support a
multi-page shared ring.
o Update routines that access the shared ring to handle
multi-block requests.
sys/dev/xen/blkfront/blkfront.c:
o Track blkfront allocations in a blkfront driver specific
malloc pool.
o Strip out XenStore transaction retry logic in the
connection code. Transactions only need to be used when
the update to multiple XenStore nodes must be atomic.
That is not the case here.
o Fully disable blkif_resume() until it can be fixed
properly (it didn't work before this change).
o Destroy bus-dma objects during device instance tear-down.
o Properly handle backend devices with powef-of-2 sector
sizes larger than 512b.
sys/dev/xen/blkback/blkback.c:
Advertise support for and implement the BLKIF_OP_WRITE_BARRIER
and BLKIF_OP_FLUSH_DISKCACHE blkif opcodes using BIO_FLUSH and
the BIO_ORDERED attribute of bios.
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkfront/block.h:
Fix various bugs in blkfront.
o gnttab_alloc_grant_references() returns 0 for success and
non-zero for failure. The check for < 0 is a leftover
Linuxism.
o When we negotiate with blkback and have to reduce some of our
capabilities, print out the original and reduced capability before
changing the local capability. So the user now gets the correct
information.
o Fix blkif_restart_queue_callback() formatting. Make sure we hold
the mutex in that function before calling xb_startio().
o Fix a couple of KASSERT()s.
o Fix a check in the xb_remove_* macro to be a little more specific.
sys/xen/gnttab.h:
sys/xen/gnttab.c:
Define GNTTAB_LIST_END publicly as GRANT_REF_INVALID.
sys/dev/xen/netfront/netfront.c:
Use GRANT_REF_INVALID instead of driver private definitions of the
same constant.
sys/xen/gnttab.h:
sys/xen/gnttab.c:
Add the gnttab_end_foreign_access_references() API.
This API allows a client to batch the release of an array of grant
references, instead of coding a private for loop. The implementation
takes advantage of this batching to reduce lock overhead to one
acquisition and release per-batch instead of per-freed grant reference.
While here, reduce the duration the gnttab_list_lock is held during
gnttab_free_grant_references() operations. The search to find the
tail of the incoming free list does not rely on global state and so
can be performed without holding the lock.
sys/dev/xen/xenpci/evtchn.c:
sys/dev/xen/evtchn/evtchn.c:
sys/xen/xen_intr.h:
o Implement the bind_interdomain_evtchn_to_irqhandler API for HVM mode.
This allows an HVM domain to serve back end devices to other domains.
This API is already implemented for PV mode.
o Synchronize the API between HVM and PV.
sys/dev/xen/xenpci/xenpci.c:
o Scan the full region of CPUID space in which the Xen VMM interface
may be implemented. On systems using SuSE as a Dom0 where the
Viridian API is also exported, the VMM interface is above the region
we used to search.
o Pass through bus_alloc_resource() calls so that XenBus drivers
attaching on an HVM system can allocate unused physical address
space from the nexus. The block back driver makes use of this
facility.
sys/i386/xen/xen_machdep.c:
Use the correct type for accessing the statically mapped xenstore
metadata.
sys/xen/interface/hvm/params.h:
sys/xen/xenstore/xenstore.c:
Move hvm_get_parameter() to the correct global header file instead
of as a private method to the XenStore.
sys/xen/interface/io/protocols.h:
Sync with vendor.
sys/xeninterface/io/ring.h:
Add macro for calculating the number of ring pages needed for an N
deep ring.
To avoid duplication within the macros, create and use the new
__RING_HEADER_SIZE() macro. This macro calculates the size of the
ring book keeping struct (producer/consumer indexes, etc.) that
resides at the head of the ring.
Add the __RING_PAGES() macro which calculates the number of shared
ring pages required to support a ring with the given number of
requests.
These APIs are used to support the multi-page ring version of the
Xen block API.
sys/xeninterface/io/xenbus.h:
Add Comments.
sys/xen/xenbus/...
o Refactor the FreeBSD XenBus support code to allow for both front and
backend device attachments.
o Make use of new config_intr_hook capabilities to allow front and back
devices to be probed/attached in parallel.
o Fix bugs in probe/attach state machine that could cause the system to
hang when confronted with a failure either in the local domain or in
a remote domain to which one of our driver instances is attaching.
o Publish all required state to the XenStore on device detach and
failure. The majority of the missing functionality was for serving
as a back end since the typical "hot-plug" scripts in Dom0 don't
handle the case of cleaning up for a "service domain" that is not
itself.
o Add dynamic sysctl nodes exposing the generic ivars of
XenBus devices.
o Add doxygen style comments to the majority of the code.
o Cleanup types, formatting, etc.
sys/xen/xenbus/xenbusb.c:
Common code used by both front and back XenBus busses.
sys/xen/xenbus/xenbusb_if.m:
Method definitions for a XenBus bus.
sys/xen/xenbus/xenbusb_front.c:
sys/xen/xenbus/xenbusb_back.c:
XenBus bus specialization for front and back devices.
MFC after: 1 month
2010-10-19 20:53:30 +00:00
|
|
|
xen/xenbus/xenbus.c optional xen | xenhvm
|
|
|
|
xen/xenbus/xenbusb_if.m optional xen | xenhvm
|
|
|
|
xen/xenbus/xenbusb.c optional xen | xenhvm
|
|
|
|
xen/xenbus/xenbusb_front.c optional xen | xenhvm
|
|
|
|
xen/xenbus/xenbusb_back.c optional xen | xenhvm
|
|
|
|
xen/xenstore/xenstore.c optional xen | xenhvm
|
|
|
|
xen/xenstore/xenstore_dev.c optional xen | xenhvm
|
2009-03-11 15:30:12 +00:00
|
|
|
dev/xen/balloon/balloon.c optional xen | xenhvm
|
Improve the Xen para-virtualized device infrastructure of FreeBSD:
o Add support for backend devices (e.g. blkback)
o Implement extensions to the Xen para-virtualized block API to allow
for larger and more outstanding I/Os.
o Import a completely rewritten block back driver with support for fronting
I/O to both raw devices and files.
o General cleanup and documentation of the XenBus and XenStore support code.
o Robustness and performance updates for the block front driver.
o Fixes to the netfront driver.
Sponsored by: Spectra Logic Corporation
sys/xen/xenbus/init.txt:
Deleted: This file explains the Linux method for XenBus device
enumeration and thus does not apply to FreeBSD's NewBus approach.
sys/xen/xenbus/xenbus_probe_backend.c:
Deleted: Linux version of backend XenBus service routines. It
was never ported to FreeBSD. See xenbusb.c, xenbusb_if.m,
xenbusb_front.c xenbusb_back.c for details of FreeBSD's XenBus
support.
sys/xen/xenbus/xenbusvar.h:
sys/xen/xenbus/xenbus_xs.c:
sys/xen/xenbus/xenbus_comms.c:
sys/xen/xenbus/xenbus_comms.h:
sys/xen/xenstore/xenstorevar.h:
sys/xen/xenstore/xenstore.c:
Split XenStore into its own tree. XenBus is a software layer built
on top of XenStore. The old arrangement and the naming of some
structures and functions blurred these lines making it difficult to
discern what services are provided by which layer and at what times
these services are available (e.g. during system startup and shutdown).
sys/xen/xenbus/xenbus_client.c:
sys/xen/xenbus/xenbus.c:
sys/xen/xenbus/xenbus_probe.c:
sys/xen/xenbus/xenbusb.c:
sys/xen/xenbus/xenbusb.h:
Split up XenBus code into methods available for use by client
drivers (xenbus.c) and code used by the XenBus "bus code" to
enumerate, attach, detach, and service bus drivers.
sys/xen/reboot.c:
sys/dev/xen/control/control.c:
Add a XenBus front driver for handling shutdown, reboot, suspend, and
resume events published in the XenStore. Move all PV suspend/reboot
support from reboot.c into this driver.
sys/xen/blkif.h:
New file from Xen vendor with macros and structures used by
a block back driver to service requests from a VM running a
different ABI (e.g. amd64 back with i386 front).
sys/conf/files:
Adjust kernel build spec for new XenBus/XenStore layout and added
Xen functionality.
sys/dev/xen/balloon/balloon.c:
sys/dev/xen/netfront/netfront.c:
sys/dev/xen/blkfront/blkfront.c:
sys/xen/xenbus/...
sys/xen/xenstore/...
o Rename XenStore APIs and structures from xenbus_* to xs_*.
o Adjust to use of M_XENBUS and M_XENSTORE malloc types for allocation
of objects returned by these APIs.
o Adjust for changes in the bus interface for Xen drivers.
sys/xen/xenbus/...
sys/xen/xenstore/...
Add Doxygen comments for these interfaces and the code that
implements them.
sys/dev/xen/blkback/blkback.c:
o Rewrite the Block Back driver to attach properly via newbus,
operate correctly in both PV and HVM mode regardless of domain
(e.g. can be in a DOM other than 0), and to deal with the latest
metadata available in XenStore for block devices.
o Allow users to specify a file as a backend to blkback, in addition
to character devices. Use the namei lookup of the backend path
to automatically configure, based on file type, the appropriate
backend method.
The current implementation is limited to a single outstanding I/O
at a time to file backed storage.
sys/dev/xen/blkback/blkback.c:
sys/xen/interface/io/blkif.h:
sys/xen/blkif.h:
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkfront/block.h:
Extend the Xen blkif API: Negotiable request size and number of
requests.
This change extends the information recorded in the XenStore
allowing block front/back devices to negotiate for optimal I/O
parameters. This has been achieved without sacrificing backward
compatibility with drivers that are unaware of these protocol
enhancements. The extensions center around the connection protocol
which now includes these additions:
o The back-end device publishes its maximum supported values for,
request I/O size, the number of page segments that can be
associated with a request, the maximum number of requests that
can be concurrently active, and the maximum number of pages that
can be in the shared request ring. These values are published
before the back-end enters the XenbusStateInitWait state.
o The front-end waits for the back-end to enter either the InitWait
or Initialize state. At this point, the front end limits it's
own capabilities to the lesser of the values it finds published
by the backend, it's own maximums, or, should any back-end data
be missing in the store, the values supported by the original
protocol. It then initializes it's internal data structures
including allocation of the shared ring, publishes its maximum
capabilities to the XenStore and transitions to the Initialized
state.
o The back-end waits for the front-end to enter the Initalized
state. At this point, the back end limits it's own capabilities
to the lesser of the values it finds published by the frontend,
it's own maximums, or, should any front-end data be missing in
the store, the values supported by the original protocol. It
then initializes it's internal data structures, attaches to the
shared ring and transitions to the Connected state.
o The front-end waits for the back-end to enter the Connnected
state, transitions itself to the connected state, and can
commence I/O.
Although an updated front-end driver must be aware of the back-end's
InitWait state, the back-end has been coded such that it can
tolerate a front-end that skips this step and transitions directly
to the Initialized state without waiting for the back-end.
sys/xen/interface/io/blkif.h:
o Increase BLKIF_MAX_SEGMENTS_PER_REQUEST to 255. This is
the maximum number possible without changing the blkif
request header structure (nr_segs is a uint8_t).
o Add two new constants:
BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK, and
BLKIF_MAX_SEGMENTS_PER_SEGMENT_BLOCK. These respectively
indicate the number of segments that can fit in the first
ring-buffer entry of a request, and for each subsequent
(sg element only) ring-buffer entry associated with the
"header" ring-buffer entry of the request.
o Add the blkif_request_segment_t typedef for segment
elements.
o Add the BLKRING_GET_SG_REQUEST() macro which wraps the
RING_GET_REQUEST() macro and returns a properly cast
pointer to an array of blkif_request_segment_ts.
o Add the BLKIF_SEGS_TO_BLOCKS() macro which calculates the
number of ring entries that will be consumed by a blkif
request with the given number of segments.
sys/xen/blkif.h:
o Update for changes in interface/io/blkif.h macros.
o Update the BLKIF_MAX_RING_REQUESTS() macro to take the
ring size as an argument to allow this calculation on
multi-page rings.
o Add a companion macro to BLKIF_MAX_RING_REQUESTS(),
BLKIF_RING_PAGES(). This macro determines the number of
ring pages required in order to support a ring with the
supplied number of request blocks.
sys/dev/xen/blkback/blkback.c:
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkfront/block.h:
o Negotiate with the other-end with the following limits:
Reqeust Size: MAXPHYS
Max Segments: (MAXPHYS/PAGE_SIZE) + 1
Max Requests: 256
Max Ring Pages: Sufficient to support Max Requests with
Max Segments.
o Dynamically allocate request pools and segemnts-per-request.
o Update ring allocation/attachment code to support a
multi-page shared ring.
o Update routines that access the shared ring to handle
multi-block requests.
sys/dev/xen/blkfront/blkfront.c:
o Track blkfront allocations in a blkfront driver specific
malloc pool.
o Strip out XenStore transaction retry logic in the
connection code. Transactions only need to be used when
the update to multiple XenStore nodes must be atomic.
That is not the case here.
o Fully disable blkif_resume() until it can be fixed
properly (it didn't work before this change).
o Destroy bus-dma objects during device instance tear-down.
o Properly handle backend devices with powef-of-2 sector
sizes larger than 512b.
sys/dev/xen/blkback/blkback.c:
Advertise support for and implement the BLKIF_OP_WRITE_BARRIER
and BLKIF_OP_FLUSH_DISKCACHE blkif opcodes using BIO_FLUSH and
the BIO_ORDERED attribute of bios.
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkfront/block.h:
Fix various bugs in blkfront.
o gnttab_alloc_grant_references() returns 0 for success and
non-zero for failure. The check for < 0 is a leftover
Linuxism.
o When we negotiate with blkback and have to reduce some of our
capabilities, print out the original and reduced capability before
changing the local capability. So the user now gets the correct
information.
o Fix blkif_restart_queue_callback() formatting. Make sure we hold
the mutex in that function before calling xb_startio().
o Fix a couple of KASSERT()s.
o Fix a check in the xb_remove_* macro to be a little more specific.
sys/xen/gnttab.h:
sys/xen/gnttab.c:
Define GNTTAB_LIST_END publicly as GRANT_REF_INVALID.
sys/dev/xen/netfront/netfront.c:
Use GRANT_REF_INVALID instead of driver private definitions of the
same constant.
sys/xen/gnttab.h:
sys/xen/gnttab.c:
Add the gnttab_end_foreign_access_references() API.
This API allows a client to batch the release of an array of grant
references, instead of coding a private for loop. The implementation
takes advantage of this batching to reduce lock overhead to one
acquisition and release per-batch instead of per-freed grant reference.
While here, reduce the duration the gnttab_list_lock is held during
gnttab_free_grant_references() operations. The search to find the
tail of the incoming free list does not rely on global state and so
can be performed without holding the lock.
sys/dev/xen/xenpci/evtchn.c:
sys/dev/xen/evtchn/evtchn.c:
sys/xen/xen_intr.h:
o Implement the bind_interdomain_evtchn_to_irqhandler API for HVM mode.
This allows an HVM domain to serve back end devices to other domains.
This API is already implemented for PV mode.
o Synchronize the API between HVM and PV.
sys/dev/xen/xenpci/xenpci.c:
o Scan the full region of CPUID space in which the Xen VMM interface
may be implemented. On systems using SuSE as a Dom0 where the
Viridian API is also exported, the VMM interface is above the region
we used to search.
o Pass through bus_alloc_resource() calls so that XenBus drivers
attaching on an HVM system can allocate unused physical address
space from the nexus. The block back driver makes use of this
facility.
sys/i386/xen/xen_machdep.c:
Use the correct type for accessing the statically mapped xenstore
metadata.
sys/xen/interface/hvm/params.h:
sys/xen/xenstore/xenstore.c:
Move hvm_get_parameter() to the correct global header file instead
of as a private method to the XenStore.
sys/xen/interface/io/protocols.h:
Sync with vendor.
sys/xeninterface/io/ring.h:
Add macro for calculating the number of ring pages needed for an N
deep ring.
To avoid duplication within the macros, create and use the new
__RING_HEADER_SIZE() macro. This macro calculates the size of the
ring book keeping struct (producer/consumer indexes, etc.) that
resides at the head of the ring.
Add the __RING_PAGES() macro which calculates the number of shared
ring pages required to support a ring with the given number of
requests.
These APIs are used to support the multi-page ring version of the
Xen block API.
sys/xeninterface/io/xenbus.h:
Add Comments.
sys/xen/xenbus/...
o Refactor the FreeBSD XenBus support code to allow for both front and
backend device attachments.
o Make use of new config_intr_hook capabilities to allow front and back
devices to be probed/attached in parallel.
o Fix bugs in probe/attach state machine that could cause the system to
hang when confronted with a failure either in the local domain or in
a remote domain to which one of our driver instances is attaching.
o Publish all required state to the XenStore on device detach and
failure. The majority of the missing functionality was for serving
as a back end since the typical "hot-plug" scripts in Dom0 don't
handle the case of cleaning up for a "service domain" that is not
itself.
o Add dynamic sysctl nodes exposing the generic ivars of
XenBus devices.
o Add doxygen style comments to the majority of the code.
o Cleanup types, formatting, etc.
sys/xen/xenbus/xenbusb.c:
Common code used by both front and back XenBus busses.
sys/xen/xenbus/xenbusb_if.m:
Method definitions for a XenBus bus.
sys/xen/xenbus/xenbusb_front.c:
sys/xen/xenbus/xenbusb_back.c:
XenBus bus specialization for front and back devices.
MFC after: 1 month
2010-10-19 20:53:30 +00:00
|
|
|
dev/xen/blkfront/blkfront.c optional xen | xenhvm
|
|
|
|
dev/xen/blkback/blkback.c optional xen | xenhvm
|
2009-03-11 15:30:12 +00:00
|
|
|
dev/xen/console/console.c optional xen
|
|
|
|
dev/xen/console/xencons_ring.c optional xen
|
Improve the Xen para-virtualized device infrastructure of FreeBSD:
o Add support for backend devices (e.g. blkback)
o Implement extensions to the Xen para-virtualized block API to allow
for larger and more outstanding I/Os.
o Import a completely rewritten block back driver with support for fronting
I/O to both raw devices and files.
o General cleanup and documentation of the XenBus and XenStore support code.
o Robustness and performance updates for the block front driver.
o Fixes to the netfront driver.
Sponsored by: Spectra Logic Corporation
sys/xen/xenbus/init.txt:
Deleted: This file explains the Linux method for XenBus device
enumeration and thus does not apply to FreeBSD's NewBus approach.
sys/xen/xenbus/xenbus_probe_backend.c:
Deleted: Linux version of backend XenBus service routines. It
was never ported to FreeBSD. See xenbusb.c, xenbusb_if.m,
xenbusb_front.c xenbusb_back.c for details of FreeBSD's XenBus
support.
sys/xen/xenbus/xenbusvar.h:
sys/xen/xenbus/xenbus_xs.c:
sys/xen/xenbus/xenbus_comms.c:
sys/xen/xenbus/xenbus_comms.h:
sys/xen/xenstore/xenstorevar.h:
sys/xen/xenstore/xenstore.c:
Split XenStore into its own tree. XenBus is a software layer built
on top of XenStore. The old arrangement and the naming of some
structures and functions blurred these lines making it difficult to
discern what services are provided by which layer and at what times
these services are available (e.g. during system startup and shutdown).
sys/xen/xenbus/xenbus_client.c:
sys/xen/xenbus/xenbus.c:
sys/xen/xenbus/xenbus_probe.c:
sys/xen/xenbus/xenbusb.c:
sys/xen/xenbus/xenbusb.h:
Split up XenBus code into methods available for use by client
drivers (xenbus.c) and code used by the XenBus "bus code" to
enumerate, attach, detach, and service bus drivers.
sys/xen/reboot.c:
sys/dev/xen/control/control.c:
Add a XenBus front driver for handling shutdown, reboot, suspend, and
resume events published in the XenStore. Move all PV suspend/reboot
support from reboot.c into this driver.
sys/xen/blkif.h:
New file from Xen vendor with macros and structures used by
a block back driver to service requests from a VM running a
different ABI (e.g. amd64 back with i386 front).
sys/conf/files:
Adjust kernel build spec for new XenBus/XenStore layout and added
Xen functionality.
sys/dev/xen/balloon/balloon.c:
sys/dev/xen/netfront/netfront.c:
sys/dev/xen/blkfront/blkfront.c:
sys/xen/xenbus/...
sys/xen/xenstore/...
o Rename XenStore APIs and structures from xenbus_* to xs_*.
o Adjust to use of M_XENBUS and M_XENSTORE malloc types for allocation
of objects returned by these APIs.
o Adjust for changes in the bus interface for Xen drivers.
sys/xen/xenbus/...
sys/xen/xenstore/...
Add Doxygen comments for these interfaces and the code that
implements them.
sys/dev/xen/blkback/blkback.c:
o Rewrite the Block Back driver to attach properly via newbus,
operate correctly in both PV and HVM mode regardless of domain
(e.g. can be in a DOM other than 0), and to deal with the latest
metadata available in XenStore for block devices.
o Allow users to specify a file as a backend to blkback, in addition
to character devices. Use the namei lookup of the backend path
to automatically configure, based on file type, the appropriate
backend method.
The current implementation is limited to a single outstanding I/O
at a time to file backed storage.
sys/dev/xen/blkback/blkback.c:
sys/xen/interface/io/blkif.h:
sys/xen/blkif.h:
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkfront/block.h:
Extend the Xen blkif API: Negotiable request size and number of
requests.
This change extends the information recorded in the XenStore
allowing block front/back devices to negotiate for optimal I/O
parameters. This has been achieved without sacrificing backward
compatibility with drivers that are unaware of these protocol
enhancements. The extensions center around the connection protocol
which now includes these additions:
o The back-end device publishes its maximum supported values for,
request I/O size, the number of page segments that can be
associated with a request, the maximum number of requests that
can be concurrently active, and the maximum number of pages that
can be in the shared request ring. These values are published
before the back-end enters the XenbusStateInitWait state.
o The front-end waits for the back-end to enter either the InitWait
or Initialize state. At this point, the front end limits it's
own capabilities to the lesser of the values it finds published
by the backend, it's own maximums, or, should any back-end data
be missing in the store, the values supported by the original
protocol. It then initializes it's internal data structures
including allocation of the shared ring, publishes its maximum
capabilities to the XenStore and transitions to the Initialized
state.
o The back-end waits for the front-end to enter the Initalized
state. At this point, the back end limits it's own capabilities
to the lesser of the values it finds published by the frontend,
it's own maximums, or, should any front-end data be missing in
the store, the values supported by the original protocol. It
then initializes it's internal data structures, attaches to the
shared ring and transitions to the Connected state.
o The front-end waits for the back-end to enter the Connnected
state, transitions itself to the connected state, and can
commence I/O.
Although an updated front-end driver must be aware of the back-end's
InitWait state, the back-end has been coded such that it can
tolerate a front-end that skips this step and transitions directly
to the Initialized state without waiting for the back-end.
sys/xen/interface/io/blkif.h:
o Increase BLKIF_MAX_SEGMENTS_PER_REQUEST to 255. This is
the maximum number possible without changing the blkif
request header structure (nr_segs is a uint8_t).
o Add two new constants:
BLKIF_MAX_SEGMENTS_PER_HEADER_BLOCK, and
BLKIF_MAX_SEGMENTS_PER_SEGMENT_BLOCK. These respectively
indicate the number of segments that can fit in the first
ring-buffer entry of a request, and for each subsequent
(sg element only) ring-buffer entry associated with the
"header" ring-buffer entry of the request.
o Add the blkif_request_segment_t typedef for segment
elements.
o Add the BLKRING_GET_SG_REQUEST() macro which wraps the
RING_GET_REQUEST() macro and returns a properly cast
pointer to an array of blkif_request_segment_ts.
o Add the BLKIF_SEGS_TO_BLOCKS() macro which calculates the
number of ring entries that will be consumed by a blkif
request with the given number of segments.
sys/xen/blkif.h:
o Update for changes in interface/io/blkif.h macros.
o Update the BLKIF_MAX_RING_REQUESTS() macro to take the
ring size as an argument to allow this calculation on
multi-page rings.
o Add a companion macro to BLKIF_MAX_RING_REQUESTS(),
BLKIF_RING_PAGES(). This macro determines the number of
ring pages required in order to support a ring with the
supplied number of request blocks.
sys/dev/xen/blkback/blkback.c:
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkfront/block.h:
o Negotiate with the other-end with the following limits:
Reqeust Size: MAXPHYS
Max Segments: (MAXPHYS/PAGE_SIZE) + 1
Max Requests: 256
Max Ring Pages: Sufficient to support Max Requests with
Max Segments.
o Dynamically allocate request pools and segemnts-per-request.
o Update ring allocation/attachment code to support a
multi-page shared ring.
o Update routines that access the shared ring to handle
multi-block requests.
sys/dev/xen/blkfront/blkfront.c:
o Track blkfront allocations in a blkfront driver specific
malloc pool.
o Strip out XenStore transaction retry logic in the
connection code. Transactions only need to be used when
the update to multiple XenStore nodes must be atomic.
That is not the case here.
o Fully disable blkif_resume() until it can be fixed
properly (it didn't work before this change).
o Destroy bus-dma objects during device instance tear-down.
o Properly handle backend devices with powef-of-2 sector
sizes larger than 512b.
sys/dev/xen/blkback/blkback.c:
Advertise support for and implement the BLKIF_OP_WRITE_BARRIER
and BLKIF_OP_FLUSH_DISKCACHE blkif opcodes using BIO_FLUSH and
the BIO_ORDERED attribute of bios.
sys/dev/xen/blkfront/blkfront.c:
sys/dev/xen/blkfront/block.h:
Fix various bugs in blkfront.
o gnttab_alloc_grant_references() returns 0 for success and
non-zero for failure. The check for < 0 is a leftover
Linuxism.
o When we negotiate with blkback and have to reduce some of our
capabilities, print out the original and reduced capability before
changing the local capability. So the user now gets the correct
information.
o Fix blkif_restart_queue_callback() formatting. Make sure we hold
the mutex in that function before calling xb_startio().
o Fix a couple of KASSERT()s.
o Fix a check in the xb_remove_* macro to be a little more specific.
sys/xen/gnttab.h:
sys/xen/gnttab.c:
Define GNTTAB_LIST_END publicly as GRANT_REF_INVALID.
sys/dev/xen/netfront/netfront.c:
Use GRANT_REF_INVALID instead of driver private definitions of the
same constant.
sys/xen/gnttab.h:
sys/xen/gnttab.c:
Add the gnttab_end_foreign_access_references() API.
This API allows a client to batch the release of an array of grant
references, instead of coding a private for loop. The implementation
takes advantage of this batching to reduce lock overhead to one
acquisition and release per-batch instead of per-freed grant reference.
While here, reduce the duration the gnttab_list_lock is held during
gnttab_free_grant_references() operations. The search to find the
tail of the incoming free list does not rely on global state and so
can be performed without holding the lock.
sys/dev/xen/xenpci/evtchn.c:
sys/dev/xen/evtchn/evtchn.c:
sys/xen/xen_intr.h:
o Implement the bind_interdomain_evtchn_to_irqhandler API for HVM mode.
This allows an HVM domain to serve back end devices to other domains.
This API is already implemented for PV mode.
o Synchronize the API between HVM and PV.
sys/dev/xen/xenpci/xenpci.c:
o Scan the full region of CPUID space in which the Xen VMM interface
may be implemented. On systems using SuSE as a Dom0 where the
Viridian API is also exported, the VMM interface is above the region
we used to search.
o Pass through bus_alloc_resource() calls so that XenBus drivers
attaching on an HVM system can allocate unused physical address
space from the nexus. The block back driver makes use of this
facility.
sys/i386/xen/xen_machdep.c:
Use the correct type for accessing the statically mapped xenstore
metadata.
sys/xen/interface/hvm/params.h:
sys/xen/xenstore/xenstore.c:
Move hvm_get_parameter() to the correct global header file instead
of as a private method to the XenStore.
sys/xen/interface/io/protocols.h:
Sync with vendor.
sys/xeninterface/io/ring.h:
Add macro for calculating the number of ring pages needed for an N
deep ring.
To avoid duplication within the macros, create and use the new
__RING_HEADER_SIZE() macro. This macro calculates the size of the
ring book keeping struct (producer/consumer indexes, etc.) that
resides at the head of the ring.
Add the __RING_PAGES() macro which calculates the number of shared
ring pages required to support a ring with the given number of
requests.
These APIs are used to support the multi-page ring version of the
Xen block API.
sys/xeninterface/io/xenbus.h:
Add Comments.
sys/xen/xenbus/...
o Refactor the FreeBSD XenBus support code to allow for both front and
backend device attachments.
o Make use of new config_intr_hook capabilities to allow front and back
devices to be probed/attached in parallel.
o Fix bugs in probe/attach state machine that could cause the system to
hang when confronted with a failure either in the local domain or in
a remote domain to which one of our driver instances is attaching.
o Publish all required state to the XenStore on device detach and
failure. The majority of the missing functionality was for serving
as a back end since the typical "hot-plug" scripts in Dom0 don't
handle the case of cleaning up for a "service domain" that is not
itself.
o Add dynamic sysctl nodes exposing the generic ivars of
XenBus devices.
o Add doxygen style comments to the majority of the code.
o Cleanup types, formatting, etc.
sys/xen/xenbus/xenbusb.c:
Common code used by both front and back XenBus busses.
sys/xen/xenbus/xenbusb_if.m:
Method definitions for a XenBus bus.
sys/xen/xenbus/xenbusb_front.c:
sys/xen/xenbus/xenbusb_back.c:
XenBus bus specialization for front and back devices.
MFC after: 1 month
2010-10-19 20:53:30 +00:00
|
|
|
dev/xen/control/control.c optional xen | xenhvm
|
2012-02-02 17:54:35 +00:00
|
|
|
dev/xen/netback/netback.c optional xen | xenhvm
|
2009-03-11 15:30:12 +00:00
|
|
|
dev/xen/netfront/netfront.c optional xen | xenhvm
|
|
|
|
dev/xen/xenpci/xenpci.c optional xenpci
|
|
|
|
dev/xen/xenpci/evtchn.c optional xenpci
|