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"
|
2016-06-04 19:53:47 +00:00
|
|
|
bhnd_nvram_map.h optional bhnd \
|
2016-05-13 18:54:48 +00:00
|
|
|
dependency "$S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/tools/nvram_map_gen.awk $S/dev/bhnd/nvram/nvram_map" \
|
2016-05-13 16:35:37 +00:00
|
|
|
compile-with "sh $S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/nvram/nvram_map -h" \
|
2016-05-08 19:14:05 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "bhnd_nvram_map.h"
|
2016-06-04 19:53:47 +00:00
|
|
|
bhnd_nvram_map_data.h optional bhnd \
|
2016-05-13 18:54:48 +00:00
|
|
|
dependency "$S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/tools/nvram_map_gen.awk $S/dev/bhnd/nvram/nvram_map" \
|
2016-05-13 16:35:37 +00:00
|
|
|
compile-with "sh $S/dev/bhnd/tools/nvram_map_gen.sh $S/dev/bhnd/nvram/nvram_map -d" \
|
2016-05-08 19:14:05 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "bhnd_nvram_map_data.h"
|
2010-06-13 13:02:43 +00:00
|
|
|
fdt_static_dtb.h optional fdt fdt_dtb_static \
|
2014-09-03 17:32:17 +00:00
|
|
|
compile-with "sh -c 'MACHINE=${MACHINE} $S/tools/fdt/make_dtbh.sh ${FDT_DTS_FILE} ${.CURDIR}'" \
|
2019-04-17 03:29:16 +00:00
|
|
|
dependency "${FDT_DTS_FILE:T:R}.dtb" \
|
2010-06-13 13:02:43 +00:00
|
|
|
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"
|
2020-02-02 08:27:26 +00:00
|
|
|
font.h optional sc_dflt_font \
|
2020-02-03 05:38:45 +00:00
|
|
|
compile-with "uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x16.fnt && file2c 'u_char dflt_font_16[16*256] = {' '};' < ${SC_DFLT_FONT}-8x16 > font.h && uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x14.fnt && file2c 'u_char dflt_font_14[14*256] = {' '};' < ${SC_DFLT_FONT}-8x14 >> font.h && uudecode < ${SRCTOP}/share/syscons/fonts/${SC_DFLT_FONT}-8x8.fnt && file2c 'u_char dflt_font_8[8*256] = {' '};' < ${SC_DFLT_FONT}-8x8 >> font.h" \
|
2020-02-02 08:27:26 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "font.h ${SC_DFLT_FONT}-8x14 ${SC_DFLT_FONT}-8x16 ${SC_DFLT_FONT}-8x8"
|
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
|
|
|
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"
|
2016-04-07 20:12:45 +00:00
|
|
|
kbdmuxmap.h optional kbdmux_dflt_keymap \
|
2020-02-02 08:27:20 +00:00
|
|
|
compile-with "${KEYMAP} -L ${KBDMUX_DFLT_KEYMAP} | ${KEYMAP_FIX} > ${.TARGET}" \
|
2016-04-07 20:12:45 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "kbdmuxmap.h"
|
2013-12-05 22:38:53 +00:00
|
|
|
teken_state.h optional sc | vt \
|
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"
|
2019-08-12 23:25:14 +00:00
|
|
|
ukbdmap.h optional ukbd_dflt_keymap \
|
2020-02-02 08:27:20 +00:00
|
|
|
compile-with "${KEYMAP} -L ${UKBD_DFLT_KEYMAP} | ${KEYMAP_FIX} > ${.TARGET}" \
|
2019-08-12 23:25:14 +00:00
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "ukbdmap.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"
|
2019-06-08 16:26:56 +00:00
|
|
|
sdiodevs.h optional mmccam \
|
|
|
|
dependency "$S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs" \
|
|
|
|
compile-with "${AWK} -f $S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs -h" \
|
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "sdiodevs.h"
|
|
|
|
sdiodevs_data.h optional mmccam \
|
|
|
|
dependency "$S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs" \
|
|
|
|
compile-with "${AWK} -f $S/tools/sdiodevs2h.awk $S/dev/sdio/sdiodevs -d" \
|
|
|
|
no-obj no-implicit-rule before-depend \
|
|
|
|
clean "sdiodevs_data.h"
|
2005-01-04 06:07:25 +00:00
|
|
|
cam/cam.c optional scbus
|
2013-06-17 10:21:38 +00:00
|
|
|
cam/cam_compat.c optional scbus
|
2016-04-14 21:47:58 +00:00
|
|
|
cam/cam_iosched.c optional scbus
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2019-04-02 20:27:56 +00:00
|
|
|
cam/nvme/nvme_all.c optional scbus
|
|
|
|
cam/nvme/nvme_da.c optional nda | da
|
|
|
|
cam/nvme/nvme_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/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
|
2015-08-15 15:42:21 +00:00
|
|
|
cam/ctl/ctl_frontend_ioctl.c optional ctl
|
2017-03-30 04:56:27 +00:00
|
|
|
cam/ctl/ctl_frontend_iscsi.c optional ctl cfiscsi
|
2015-09-10 12:40:31 +00:00
|
|
|
cam/ctl/ctl_ha.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_scsi_all.c optional ctl
|
2014-07-16 15:57:17 +00:00
|
|
|
cam/ctl/ctl_tpc.c optional ctl
|
|
|
|
cam/ctl/ctl_tpc_local.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
|
2017-07-09 16:57:24 +00:00
|
|
|
cam/mmc/mmc_xpt.c optional scbus mmccam
|
2021-04-21 11:52:29 +00:00
|
|
|
cam/mmc/mmc_sim.c optional scbus mmccam
|
|
|
|
cam/mmc/mmc_sim_if.m optional scbus mmccam
|
2017-07-09 16:57:24 +00:00
|
|
|
cam/mmc/mmc_da.c optional scbus mmccam da
|
2005-01-04 06:07:25 +00:00
|
|
|
cam/scsi/scsi_da.c optional da
|
|
|
|
cam/scsi/scsi_pass.c optional pass
|
|
|
|
cam/scsi/scsi_pt.c optional pt
|
|
|
|
cam/scsi/scsi_sa.c optional sa
|
2012-05-24 14:07:44 +00:00
|
|
|
cam/scsi/scsi_enc.c optional ses
|
|
|
|
cam/scsi/scsi_enc_ses.c optional ses
|
|
|
|
cam/scsi/scsi_enc_safte.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
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
|
2012-03-27 21:23:56 +00:00
|
|
|
# shared between zfs and dtrace
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
cddl/compat/opensolaris/kern/opensolaris.c optional dtrace compile-with "${CDDL_C}"
|
2016-09-24 21:40:14 +00:00
|
|
|
cddl/compat/opensolaris/kern/opensolaris_proc.c optional zfs | dtrace compile-with "${CDDL_C}"
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_misc.c optional zfs | dtrace compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_cmn_err.c optional zfs | dtrace compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_taskq.c optional zfs | dtrace compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_kmem.c optional zfs | dtrace compile-with "${ZFS_C}"
|
|
|
|
|
|
|
|
#zfs solaris portability layer
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/acl_common.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/callb.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/list.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_acl.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_dtrace.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_kstat.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_policy.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_string.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_sunddi.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_sysevent.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_uio.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_vfs.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_vm.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_zone.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_procfs_list.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/spl/spl_zlib.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
|
|
|
|
|
2012-03-27 21:23:56 +00:00
|
|
|
# zfs specific
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
|
|
|
|
#zfs avl
|
|
|
|
contrib/openzfs/module/avl/avl.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
|
MFV r323530,r323533,r323534: 7431 ZFS Channel Programs, and followups
7431 ZFS Channel Programs
illumos/illumos-gate@dfc115332c94a2f62058ac7f2bce7631fbd20b3d
https://github.com/illumos/illumos-gate/commit/dfc115332c94a2f62058ac7f2bce7631fbd20b3d
https://www.illumos.org/issues/7431
ZFS channel programs (ZCP) adds support for performing compound ZFS
administrative actions via Lua scripts in a sandboxed environment (with time
and memory limits).
This initial commit includes both base support for running ZCP scripts, and a
small initial library of API calls which support getting properties and
listing, destroying, and promoting datasets.
Testing: in addition to the included unit tests, channel programs have been in
use at Delphix for several months for batch destroying filesystems. The
dsl_destroy_snaps_nvl() call has also been replaced with
Reviewed by: Matthew Ahrens <mahrens@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Reviewed by: John Kennedy <john.kennedy@delphix.com>
Reviewed by: Dan Kimmel <dan.kimmel@delphix.com>
Approved by: Garrett D'Amore <garrett@damore.org>
Author: Chris Williamson <chris.williamson@delphix.com>
8552 ZFS LUA code uses floating point math
illumos/illumos-gate@916c8d881190bd2c3ca20d9fca919aecff504435
https://github.com/illumos/illumos-gate/commit/916c8d881190bd2c3ca20d9fca919aecff504435
https://www.illumos.org/issues/8552
In the LUA interpreter used by "zfs program", the lua format() function
accidentally includes support for '%f' and friends, which can cause compilation
problems when building on platforms that don't support floating-point math in
the kernel (e.g. sparc). Support for '%f' friends (%f %e %E %g %G) should be
removed, since there's no way to supply a floating-point value anyway (all
numbers in ZFS LUA are int64_t's).
Reviewed by: Yuri Pankov <yuripv@gmx.com>
Reviewed by: Igor Kozhukhov <igor@dilos.org>
Approved by: Dan McDonald <danmcd@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>
8590 memory leak in dsl_destroy_snapshots_nvl()
illumos/illumos-gate@e6ab4525d156c82445c116ecf6b2b874d5e9009d
https://github.com/illumos/illumos-gate/commit/e6ab4525d156c82445c116ecf6b2b874d5e9009d
https://www.illumos.org/issues/8590
In dsl_destroy_snapshots_nvl(), "snaps_normalized" is not freed after it is
added to "arg".
Reviewed by: Pavel Zakharov <pavel.zakharov@delphix.com>
Reviewed by: Steve Gonczi <steve.gonczi@delphix.com>
Reviewed by: George Wilson <george.wilson@delphix.com>
Approved by: Dan McDonald <danmcd@joyent.com>
Author: Matthew Ahrens <mahrens@delphix.com>
FreeBSD notes:
- zfs-program.8 manual page is taken almost as is from the vendor repository,
no FreeBSD-ification done
- fixed multiple instances of NULL being used where an integer is expected
- replaced ETIME and ECHRNG with ETIMEDOUT and EDOM respectively
This commit adds a modified version of Lua 5.2.4 under
sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lua, mirroring the
upstream. See README.zfs in that directory for the description of Lua
customizations.
See zfs-program.8 on how to use the new feature.
MFC after: 5 weeks
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D12528
2017-10-01 16:11:07 +00:00
|
|
|
# zfs lua support
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
contrib/openzfs/module/lua/lapi.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lauxlib.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lbaselib.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lcode.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lcompat.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lcorolib.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lctype.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/ldebug.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/ldo.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lfunc.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lgc.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/llex.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lmem.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lobject.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lopcodes.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lparser.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lstate.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lstring.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lstrlib.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/ltable.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/ltablib.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/ltm.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lvm.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/lua/lzio.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
|
|
|
|
# zfs nvpair support
|
|
|
|
contrib/openzfs/module/nvpair/fnvpair.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/nvpair/nvpair.c optional zfs compile-with "${ZFS_RPC_C}"
|
|
|
|
contrib/openzfs/module/nvpair/nvpair_alloc_fixed.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/nvpair/nvpair_alloc_spl.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
|
|
|
|
#zfs platform compatibility code
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/abd_os.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/arc_os.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/crypto_os.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/dmu_os.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/hkdf.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/kmod_core.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/spa_os.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/sysctl_os.c optional zfs compile-with "${ZFS_C} -include $S/modules/zfs/zfs_config.h"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/vdev_file.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/vdev_label_os.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/vdev_geom.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_acl.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_ctldir.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_debug.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_dir.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_file_os.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_compat.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_ioctl_os.c optional zfs compile-with "${ZFS_C}"
|
2021-02-22 14:06:48 +00:00
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_racct.c optional zfs compile-with "${ZFS_C}"
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_vfsops.c optional zfs compile-with "${ZFS_C}"
|
2021-01-08 00:03:48 +00:00
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_vnops_os.c optional zfs compile-with "${ZFS_C}"
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zfs_znode.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zio_crypt.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/os/freebsd/zfs/zvol_os.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
|
|
|
|
#zfs unicode support
|
|
|
|
contrib/openzfs/module/unicode/uconv.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/unicode/u8_textprep.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
|
|
|
|
#zfs checksums / zcommon
|
|
|
|
contrib/openzfs/module/zcommon/cityhash.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zfeature_common.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zfs_comutil.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zfs_deleg.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zfs_fletcher.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zfs_fletcher_superscalar.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zfs_fletcher_superscalar4.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zfs_namecheck.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zfs_prop.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zpool_prop.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zcommon/zprop_common.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
|
2021-11-17 12:16:39 +00:00
|
|
|
# zfs edon-r hash support
|
|
|
|
contrib/openzfs/module/icp/algs/edonr/edonr.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
#zfs core common code
|
|
|
|
contrib/openzfs/module/zfs/abd.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/aggsum.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/arc.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/blkptr.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/bplist.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/bpobj.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/bptree.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/btree.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/bqueue.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dbuf.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dbuf_stats.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dataset_kstats.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/ddt.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/ddt_zap.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu_diff.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu_object.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu_objset.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu_recv.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu_redact.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu_send.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu_traverse.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu_tx.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dmu_zfetch.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dnode.c optional zfs compile-with "${ZFS_C}" \
|
|
|
|
warning "kernel contains CDDL licensed ZFS filesystem"
|
|
|
|
contrib/openzfs/module/zfs/dnode_sync.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_bookmark.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_crypt.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_dataset.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_deadlist.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_deleg.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_destroy.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_dir.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_pool.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_prop.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_scan.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_synctask.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/dsl_userhold.c optional zfs compile-with "${ZFS_C}"
|
2021-11-17 12:16:39 +00:00
|
|
|
contrib/openzfs/module/zfs/edonr_zfs.c optional zfs compile-with "${ZFS_C}"
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
contrib/openzfs/module/zfs/fm.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/gzip.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/lzjb.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/lz4.c optional zfs compile-with "${ZFS_C}"
|
2022-01-23 08:24:00 +00:00
|
|
|
contrib/openzfs/module/zfs/lz4_zfs.c optional zfs compile-with "${ZFS_C}"
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
contrib/openzfs/module/zfs/metaslab.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/mmp.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/multilist.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/objlist.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/pathname.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/range_tree.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/refcount.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/rrwlock.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/sa.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/sha256.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/skein_zfs.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/spa.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/spa_boot.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/spa_checkpoint.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/spa_config.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/spa_errlog.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/spa_history.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/spa_log_spacemap.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/spa_misc.c optional zfs compile-with "${ZFS_C}"
|
2020-09-04 22:25:14 +00:00
|
|
|
contrib/openzfs/module/zfs/spa_stats.c optional zfs compile-with "${ZFS_C}"
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
contrib/openzfs/module/zfs/space_map.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/space_reftree.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/txg.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/uberblock.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/unique.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_cache.c optional zfs compile-with "${ZFS_C}"
|
2021-01-08 00:03:48 +00:00
|
|
|
contrib/openzfs/module/zfs/vdev_draid.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_draid_rand.c optional zfs compile-with "${ZFS_C}"
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
contrib/openzfs/module/zfs/vdev_indirect.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_indirect_births.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_indirect_mapping.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_initialize.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_label.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_mirror.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_missing.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_queue.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_raidz.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_raidz_math.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_raidz_math_scalar.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_rebuild.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_removal.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_root.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/vdev_trim.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zap.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zap_leaf.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zap_micro.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zcp.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zcp_get.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zcp_global.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zcp_iter.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zcp_set.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zcp_synctask.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfeature.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_byteswap.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_fm.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_fuid.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_ioctl.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_log.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_onexit.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_quota.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_ratelimit.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_replay.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_rlock.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zfs_sa.c optional zfs compile-with "${ZFS_C}"
|
2021-01-08 00:03:48 +00:00
|
|
|
contrib/openzfs/module/zfs/zfs_vnops.c optional zfs compile-with "${ZFS_C}"
|
Merge OpenZFS support in to HEAD.
The primary benefit is maintaining a completely shared
code base with the community allowing FreeBSD to receive
new features sooner and with less effort.
I would advise against doing 'zpool upgrade'
or creating indispensable pools using new
features until this change has had a month+
to soak.
Work on merging FreeBSD support in to what was
at the time "ZFS on Linux" began in August 2018.
I first publicly proposed transitioning FreeBSD
to (new) OpenZFS on December 18th, 2018. FreeBSD
support in OpenZFS was finally completed in December
2019. A CFT for downstreaming OpenZFS support in
to FreeBSD was first issued on July 8th. All issues
that were reported have been addressed or, for
a couple of less critical matters there are
pull requests in progress with OpenZFS. iXsystems
has tested and dogfooded extensively internally.
The TrueNAS 12 release is based on OpenZFS with
some additional features that have not yet made
it upstream.
Improvements include:
project quotas, encrypted datasets,
allocation classes, vectorized raidz,
vectorized checksums, various command line
improvements, zstd compression.
Thanks to those who have helped along the way:
Ryan Moeller, Allan Jude, Zack Welch, and many
others.
Sponsored by: iXsystems, Inc.
Differential Revision: https://reviews.freebsd.org/D25872
2020-08-25 02:21:27 +00:00
|
|
|
contrib/openzfs/module/zstd/zfs_zstd.c optional zfs zstdio compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zil.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zio.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zio_checksum.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zio_compress.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zio_inject.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zle.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zrlock.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zthr.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
contrib/openzfs/module/zfs/zvol.c optional zfs compile-with "${ZFS_C}"
|
|
|
|
|
2015-06-10 15:53:39 +00:00
|
|
|
# dtrace specific
|
|
|
|
cddl/contrib/opensolaris/uts/common/dtrace/dtrace.c optional dtrace compile-with "${DTRACE_C}" \
|
|
|
|
warning "kernel contains CDDL licensed DTRACE"
|
2017-02-10 16:06:14 +00:00
|
|
|
cddl/contrib/opensolaris/uts/common/dtrace/dtrace_xoroshiro128_plus.c optional dtrace compile-with "${DTRACE_C}"
|
2015-06-10 15:53:39 +00:00
|
|
|
cddl/dev/dtmalloc/dtmalloc.c optional dtmalloc | dtraceall compile-with "${CDDL_C}"
|
|
|
|
cddl/dev/profile/profile.c optional dtrace_profile | dtraceall compile-with "${CDDL_C}"
|
|
|
|
cddl/dev/sdt/sdt.c optional dtrace_sdt | dtraceall compile-with "${CDDL_C}"
|
|
|
|
cddl/dev/fbt/fbt.c optional dtrace_fbt | dtraceall compile-with "${FBT_C}"
|
|
|
|
cddl/dev/systrace/systrace.c optional dtrace_systrace | dtraceall compile-with "${CDDL_C}"
|
|
|
|
cddl/dev/prototype.c optional dtrace_prototype | dtraceall compile-with "${CDDL_C}"
|
|
|
|
fs/nfsclient/nfs_clkdtrace.c optional dtnfscl nfscl | dtraceall nfscl compile-with "${CDDL_C}"
|
2021-11-17 20:12:25 +00:00
|
|
|
compat/freebsd32/freebsd32_abort2.c optional compat_freebsd32
|
2013-08-18 10:30:41 +00:00
|
|
|
compat/freebsd32/freebsd32_capability.c optional compat_freebsd32
|
2012-11-13 06:07:13 +00:00
|
|
|
compat/freebsd32/freebsd32_ioctl.c optional compat_freebsd32
|
|
|
|
compat/freebsd32/freebsd32_misc.c optional compat_freebsd32
|
|
|
|
compat/freebsd32/freebsd32_syscalls.c optional compat_freebsd32
|
|
|
|
compat/freebsd32/freebsd32_sysent.c optional compat_freebsd32
|
2016-11-28 20:44:12 +00:00
|
|
|
contrib/ck/src/ck_array.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_barrier_centralized.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_barrier_combining.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_barrier_dissemination.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_barrier_mcs.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_barrier_tournament.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_epoch.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_hp.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_hs.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_ht.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
|
|
|
contrib/ck/src/ck_rhs.c standard compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
2014-10-02 19:11:18 +00:00
|
|
|
contrib/dev/acpica/common/ahids.c optional acpi acpi_debug
|
|
|
|
contrib/dev/acpica/common/ahuuids.c optional acpi acpi_debug
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/debugger/dbcmds.c optional acpi acpi_debug
|
2013-01-17 23:56:43 +00:00
|
|
|
contrib/dev/acpica/components/debugger/dbconvert.c optional acpi acpi_debug
|
2012-02-16 22:59:29 +00:00
|
|
|
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/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
|
2015-07-22 16:25:07 +00:00
|
|
|
contrib/dev/acpica/components/debugger/dbobject.c optional acpi acpi_debug
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/debugger/dbstats.c optional acpi acpi_debug
|
2014-10-02 19:11:18 +00:00
|
|
|
contrib/dev/acpica/components/debugger/dbtest.c optional acpi acpi_debug
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2015-02-18 20:33:00 +00:00
|
|
|
contrib/dev/acpica/components/disassembler/dmcstyle.c optional acpi acpi_debug
|
2012-11-20 21:01:59 +00:00
|
|
|
contrib/dev/acpica/components/disassembler/dmdeferred.c optional acpi acpi_debug
|
2012-02-16 22:59:29 +00:00
|
|
|
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/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
|
2015-07-22 16:25:07 +00:00
|
|
|
contrib/dev/acpica/components/dispatcher/dsdebug.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2017-07-28 22:23:29 +00:00
|
|
|
contrib/dev/acpica/components/dispatcher/dspkginit.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2013-01-17 23:56:43 +00:00
|
|
|
contrib/dev/acpica/components/events/evhandler.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2016-04-27 19:09:21 +00:00
|
|
|
contrib/dev/acpica/components/executer/exconcat.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2018-10-09 18:40:36 +00:00
|
|
|
contrib/dev/acpica/components/executer/exserial.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2016-04-27 19:09:21 +00:00
|
|
|
contrib/dev/acpica/components/executer/extrace.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2013-04-19 23:49:34 +00:00
|
|
|
contrib/dev/acpica/components/namespace/nsarguments.c optional acpi
|
2013-02-15 20:36:28 +00:00
|
|
|
contrib/dev/acpica/components/namespace/nsconvert.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2013-01-17 23:56:43 +00:00
|
|
|
contrib/dev/acpica/components/namespace/nsprepkg.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2013-01-17 23:56:43 +00:00
|
|
|
contrib/dev/acpica/components/parser/psobject.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/parser/psopcode.c optional acpi
|
2013-01-17 23:56:43 +00:00
|
|
|
contrib/dev/acpica/components/parser/psopinfo.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2015-08-26 17:13:47 +00:00
|
|
|
contrib/dev/acpica/components/resources/rsdump.c optional acpi acpi_debug
|
2013-01-17 23:56:43 +00:00
|
|
|
contrib/dev/acpica/components/resources/rsdumpinfo.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2014-10-02 19:11:18 +00:00
|
|
|
contrib/dev/acpica/components/tables/tbdata.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2013-05-20 23:52:49 +00:00
|
|
|
contrib/dev/acpica/components/tables/tbprint.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/tables/tbutils.c optional acpi
|
|
|
|
contrib/dev/acpica/components/tables/tbxface.c optional acpi
|
2012-07-11 23:18:35 +00:00
|
|
|
contrib/dev/acpica/components/tables/tbxfload.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2016-04-27 19:09:21 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utascii.c optional acpi
|
2013-05-20 23:52:49 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utbuffer.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2013-05-20 23:52:49 +00:00
|
|
|
contrib/dev/acpica/components/utilities/uterror.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/utilities/uteval.c optional acpi
|
2012-07-11 23:18:35 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utexcep.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utglobal.c optional acpi
|
2014-10-02 19:11:18 +00:00
|
|
|
contrib/dev/acpica/components/utilities/uthex.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
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
|
2015-07-22 16:25:07 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utnonansi.c optional acpi
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utobject.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utosi.c optional acpi
|
2013-01-17 23:56:43 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utownerid.c optional acpi
|
2013-04-04 22:11:30 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utpredef.c optional acpi
|
2017-06-01 00:01:19 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utresdecode.c optional acpi acpi_debug
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utresrc.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utstate.c optional acpi
|
2013-01-17 23:56:43 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utstring.c optional acpi
|
2017-08-31 22:47:04 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utstrsuppt.c optional acpi
|
2016-10-04 20:27:15 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utstrtoul64.c optional acpi
|
2014-10-02 19:11:18 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utuuid.c optional acpi acpi_debug
|
2012-02-16 22:59:29 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utxface.c optional acpi
|
|
|
|
contrib/dev/acpica/components/utilities/utxferror.c optional acpi
|
2012-08-16 20:54:52 +00:00
|
|
|
contrib/dev/acpica/components/utilities/utxfinit.c optional acpi
|
2017-01-05 21:28:25 +00:00
|
|
|
contrib/dev/acpica/os_specific/service_layers/osgendbg.c optional acpi acpi_debug
|
2021-12-15 16:28:18 +00:00
|
|
|
netpfil/ipfilter/netinet/fil.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_auth.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_fil_freebsd.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_frag.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_log.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_nat.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_proxy.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_state.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_lookup.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSELF_ASSIGN} -Wno-unused -Wno-error -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_pool.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_htable.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter ${NO_WTAUTOLOGICAL_POINTER_COMPARE}"
|
|
|
|
netpfil/ipfilter/netinet/ip_sync.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/mlfk_ipl.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_nat6.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_rules.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_scan.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/ip_dstlist.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused -I$S/netpfil/ipfilter"
|
|
|
|
netpfil/ipfilter/netinet/radix_ipf.c optional ipfilter inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/netpfil/ipfilter"
|
2012-11-13 06:07:13 +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
|
2016-08-27 13:37:30 +00:00
|
|
|
contrib/libnv/cnvlist.c standard
|
2015-07-04 16:33:37 +00:00
|
|
|
contrib/libnv/dnvlist.c standard
|
|
|
|
contrib/libnv/nvlist.c standard
|
2020-06-27 00:55:03 +00:00
|
|
|
contrib/libnv/bsd_nvpair.c standard
|
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"
|
2019-02-26 19:55:03 +00:00
|
|
|
# xz
|
|
|
|
dev/xz/xz_mod.c optional xz \
|
|
|
|
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 optional xz \
|
|
|
|
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 optional xz \
|
|
|
|
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 optional xz \
|
|
|
|
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 optional xz \
|
|
|
|
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/"
|
2018-01-08 20:14:16 +00:00
|
|
|
# Zstd
|
2018-07-05 17:07:23 +00:00
|
|
|
contrib/zstd/lib/freebsd/zstd_kmalloc.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/common/zstd_common.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/common/fse_decompress.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/common/entropy_common.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/common/error_private.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/common/xxhash.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/compress/zstd_compress.c optional zstdio compile-with ${ZSTD_C}
|
2019-08-08 16:54:22 +00:00
|
|
|
contrib/zstd/lib/compress/zstd_compress_literals.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/compress/zstd_compress_sequences.c optional zstdio compile-with ${ZSTD_C}
|
2020-05-23 21:23:46 +00:00
|
|
|
contrib/zstd/lib/compress/zstd_compress_superblock.c optional zstdio compile-with ${ZSTD_C}
|
2018-07-05 17:07:23 +00:00
|
|
|
contrib/zstd/lib/compress/fse_compress.c optional zstdio compile-with ${ZSTD_C}
|
2018-10-22 18:29:12 +00:00
|
|
|
contrib/zstd/lib/compress/hist.c optional zstdio compile-with ${ZSTD_C}
|
2018-07-05 17:07:23 +00:00
|
|
|
contrib/zstd/lib/compress/huf_compress.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/compress/zstd_double_fast.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/compress/zstd_fast.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/compress/zstd_lazy.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/compress/zstd_ldm.c optional zstdio compile-with ${ZSTD_C}
|
|
|
|
contrib/zstd/lib/compress/zstd_opt.c optional zstdio compile-with ${ZSTD_C}
|
2018-12-29 21:18:01 +00:00
|
|
|
contrib/zstd/lib/decompress/zstd_ddict.c optional zstdio compile-with ${ZSTD_C}
|
2018-07-05 17:07:23 +00:00
|
|
|
contrib/zstd/lib/decompress/zstd_decompress.c optional zstdio compile-with ${ZSTD_C}
|
2019-08-08 16:54:22 +00:00
|
|
|
# See comment in sys/conf/kern.pre.mk
|
|
|
|
contrib/zstd/lib/decompress/zstd_decompress_block.c optional zstdio \
|
|
|
|
compile-with "${ZSTD_C} ${ZSTD_DECOMPRESS_BLOCK_FLAGS}"
|
2022-02-08 20:46:03 +00:00
|
|
|
contrib/zstd/lib/decompress/huf_decompress.c optional zstdio compile-with "${ZSTD_C} ${NO_WBITWISE_INSTEAD_OF_LOGICAL}"
|
Import Blake2 algorithms (blake2b, blake2s) from libb2
The upstream repository is on github BLAKE2/libb2. Files landed in
sys/contrib/libb2 are the unmodified upstream files, except for one
difference: secure_zero_memory's contents have been replaced with
explicit_bzero() only because the previous implementation broke powerpc
link. Preferential use of explicit_bzero() is in progress upstream, so
it is anticipated we will be able to drop this diff in the future.
sys/crypto/blake2 contains the source files needed to port libb2 to our
build system, a wrapped (limited) variant of the algorithm to match the API
of our auth_transform softcrypto abstraction, incorporation into the Open
Crypto Framework (OCF) cryptosoft(4) driver, as well as an x86 SSE/AVX
accelerated OCF driver, blake2(4).
Optimized variants of blake2 are compiled for a number of x86 machines
(anything from SSE2 to AVX + XOP). On those machines, FPU context will need
to be explicitly saved before using blake2(4)-provided algorithms directly.
Use via cryptodev / OCF saves FPU state automatically, and use via the
auth_transform softcrypto abstraction does not use FPU.
The intent of the OCF driver is mostly to enable testing in userspace via
/dev/crypto. ATF tests are added with published KAT test vectors to
validate correctness.
Reviewed by: jhb, markj
Obtained from: github BLAKE2/libb2
Differential Revision: https://reviews.freebsd.org/D14662
2018-03-21 16:18:14 +00:00
|
|
|
# Blake 2
|
2022-01-24 23:27:39 +00:00
|
|
|
contrib/libb2/blake2b-ref.c optional crypto | !random_loadable random_fenestrasx \
|
2018-04-21 02:08:56 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/crypto/blake2 -Wno-cast-qual -DSUFFIX=_ref -Wno-unused-function"
|
2022-01-24 23:27:39 +00:00
|
|
|
contrib/libb2/blake2s-ref.c optional crypto \
|
2018-04-21 02:08:56 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/crypto/blake2 -Wno-cast-qual -DSUFFIX=_ref -Wno-unused-function"
|
2022-01-24 23:27:39 +00:00
|
|
|
crypto/blake2/blake2-sw.c optional crypto \
|
2018-04-21 02:08:56 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/crypto/blake2 -Wno-cast-qual"
|
2022-01-24 23:27:39 +00:00
|
|
|
crypto/camellia/camellia.c optional crypto
|
|
|
|
crypto/camellia/camellia-api.c optional crypto
|
2019-10-01 13:36:01 +00:00
|
|
|
crypto/chacha20/chacha.c standard
|
2022-01-24 23:27:39 +00:00
|
|
|
crypto/chacha20/chacha-sw.c optional crypto
|
2022-01-18 22:47:13 +00:00
|
|
|
crypto/chacha20_poly1305.c optional crypto
|
2022-01-24 23:27:39 +00:00
|
|
|
crypto/curve25519.c optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include -I$S/crypto/libsodium"
|
2020-05-11 21:34:29 +00:00
|
|
|
crypto/des/des_ecb.c optional netsmb
|
|
|
|
crypto/des/des_setkey.c optional netsmb
|
2020-12-04 20:54:20 +00:00
|
|
|
crypto/openssl/ossl.c optional ossl
|
2021-11-02 11:53:22 +00:00
|
|
|
crypto/openssl/ossl_aes.c optional ossl
|
2021-03-03 23:17:43 +00:00
|
|
|
crypto/openssl/ossl_chacha20.c optional ossl
|
2021-03-03 23:17:29 +00:00
|
|
|
crypto/openssl/ossl_poly1305.c optional ossl
|
2020-12-04 20:54:20 +00:00
|
|
|
crypto/openssl/ossl_sha1.c optional ossl
|
|
|
|
crypto/openssl/ossl_sha256.c optional ossl
|
|
|
|
crypto/openssl/ossl_sha512.c optional ossl
|
2020-05-11 21:39:02 +00:00
|
|
|
crypto/rc4/rc4.c optional netgraph_mppc_encryption
|
Add support for encrypted kernel crash dumps.
Changes include modifications in kernel crash dump routines, dumpon(8) and
savecore(8). A new tool called decryptcore(8) was added.
A new DIOCSKERNELDUMP I/O control was added to send a kernel crash dump
configuration in the diocskerneldump_arg structure to the kernel.
The old DIOCSKERNELDUMP I/O control was renamed to DIOCSKERNELDUMP_FREEBSD11 for
backward ABI compatibility.
dumpon(8) generates an one-time random symmetric key and encrypts it using
an RSA public key in capability mode. Currently only AES-256-CBC is supported
but EKCD was designed to implement support for other algorithms in the future.
The public key is chosen using the -k flag. The dumpon rc(8) script can do this
automatically during startup using the dumppubkey rc.conf(5) variable. Once the
keys are calculated dumpon sends them to the kernel via DIOCSKERNELDUMP I/O
control.
When the kernel receives the DIOCSKERNELDUMP I/O control it generates a random
IV and sets up the key schedule for the specified algorithm. Each time the
kernel tries to write a crash dump to the dump device, the IV is replaced by
a SHA-256 hash of the previous value. This is intended to make a possible
differential cryptanalysis harder since it is possible to write multiple crash
dumps without reboot by repeating the following commands:
# sysctl debug.kdb.enter=1
db> call doadump(0)
db> continue
# savecore
A kernel dump key consists of an algorithm identifier, an IV and an encrypted
symmetric key. The kernel dump key size is included in a kernel dump header.
The size is an unsigned 32-bit integer and it is aligned to a block size.
The header structure has 512 bytes to match the block size so it was required to
make a panic string 4 bytes shorter to add a new field to the header structure.
If the kernel dump key size in the header is nonzero it is assumed that the
kernel dump key is placed after the first header on the dump device and the core
dump is encrypted.
Separate functions were implemented to write the kernel dump header and the
kernel dump key as they need to be unencrypted. The dump_write function encrypts
data if the kernel was compiled with the EKCD option. Encrypted kernel textdumps
are not supported due to the way they are constructed which makes it impossible
to use the CBC mode for encryption. It should be also noted that textdumps don't
contain sensitive data by design as a user decides what information should be
dumped.
savecore(8) writes the kernel dump key to a key.# file if its size in the header
is nonzero. # is the number of the current core dump.
decryptcore(8) decrypts the core dump using a private RSA key and the kernel
dump key. This is performed by a child process in capability mode.
If the decryption was not successful the parent process removes a partially
decrypted core dump.
Description on how to encrypt crash dumps was added to the decryptcore(8),
dumpon(8), rc.conf(5) and savecore(8) manual pages.
EKCD was tested on amd64 using bhyve and i386, mipsel and sparc64 using QEMU.
The feature still has to be tested on arm and arm64 as it wasn't possible to run
FreeBSD due to the problems with QEMU emulation and lack of hardware.
Designed by: def, pjd
Reviewed by: cem, oshogbo, pjd
Partial review: delphij, emaste, jhb, kib
Approved by: pjd (mentor)
Differential Revision: https://reviews.freebsd.org/D4712
2016-12-10 16:20:39 +00:00
|
|
|
crypto/rijndael/rijndael-alg-fst.c optional crypto | ekcd | geom_bde | \
|
2022-01-24 23:27:39 +00:00
|
|
|
!random_loadable | wlan_ccmp
|
2019-06-21 00:16:30 +00:00
|
|
|
crypto/rijndael/rijndael-api-fst.c optional ekcd | geom_bde | !random_loadable
|
2022-01-24 23:27:39 +00:00
|
|
|
crypto/rijndael/rijndael-api.c optional crypto | wlan_ccmp
|
|
|
|
crypto/sha1.c optional carp | crypto | ether | \
|
|
|
|
netgraph_mppc_encryption | sctp
|
|
|
|
crypto/sha2/sha256c.c optional crypto | ekcd | geom_bde | \
|
|
|
|
!random_loadable | sctp | zfs
|
|
|
|
crypto/sha2/sha512c.c optional crypto | geom_bde | zfs
|
2016-05-31 04:12:14 +00:00
|
|
|
crypto/skein/skein.c optional crypto | zfs
|
|
|
|
crypto/skein/skein_block.c optional crypto | zfs
|
2013-07-11 15:29:25 +00:00
|
|
|
crypto/siphash/siphash.c optional inet | inet6
|
|
|
|
crypto/siphash/siphash_test.c optional inet | inet6
|
2012-11-13 06:07:13 +00:00
|
|
|
ddb/db_access.c optional ddb
|
|
|
|
ddb/db_break.c optional ddb
|
|
|
|
ddb/db_capture.c optional ddb
|
|
|
|
ddb/db_command.c optional ddb
|
|
|
|
ddb/db_examine.c optional ddb
|
|
|
|
ddb/db_expr.c optional ddb
|
|
|
|
ddb/db_input.c optional ddb
|
|
|
|
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
|
|
|
|
ddb/db_script.c optional ddb
|
|
|
|
ddb/db_sym.c optional ddb
|
|
|
|
ddb/db_thread.c optional ddb
|
|
|
|
ddb/db_textdump.c optional ddb
|
|
|
|
ddb/db_variables.c optional ddb
|
|
|
|
ddb/db_watch.c optional ddb
|
|
|
|
ddb/db_write_cmd.c optional ddb
|
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
|
2005-01-10 05:11:40 +00:00
|
|
|
dev/aac/aac_pci.c optional aac pci
|
2013-05-24 09:22:43 +00:00
|
|
|
dev/aacraid/aacraid.c optional aacraid
|
|
|
|
dev/aacraid/aacraid_cam.c optional aacraid scbus
|
|
|
|
dev/aacraid/aacraid_debug.c optional aacraid
|
|
|
|
dev/aacraid/aacraid_pci.c optional aacraid 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
|
Add acpi_asus_wmi(4) -- driver for random extras found on WMI-compatible
Asus laptops. It is alike to acpi_asus(4), but uses WMI interface instead
of separate ACPI device.
On Asus EeePC T101MT netbook it allows to handle hotkeys and on/off WLAN,
Bluetooth, LCD backlight, camera, cardreader and touchpad.
On Asus UX31A ultrabook it allows to handle hotkeys, on/off WLAN, Bluetooth,
Wireless LED, control keyboard backlight brightness, monitor temperature
and fan speed. LCD brightness control doesn't work now for unknown reason,
possibly requiring some video card initialization.
Sponsored by: iXsystems, Inc.
2012-07-02 08:31:29 +00:00
|
|
|
dev/acpi_support/acpi_asus_wmi.c optional acpi_asus_wmi 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
|
2020-07-27 21:19:41 +00:00
|
|
|
dev/acpica/acpi_apei.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
|
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
|
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
|
2017-05-10 05:28:14 +00:00
|
|
|
dev/acpica/acpi_container.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
|
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
|
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
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/agp/agp_if.m optional agp pci
|
2014-09-04 22:22:53 +00:00
|
|
|
dev/ahci/ahci.c optional ahci
|
|
|
|
dev/ahci/ahciem.c optional ahci
|
|
|
|
dev/ahci/ahci_pci.c optional ahci pci
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2014-01-07 19:33:17 +00:00
|
|
|
dev/aic7xxx/aic79xx_reg_print.c optional ahd pci ahd_reg_pretty_print
|
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
|
2014-01-07 19:33:17 +00:00
|
|
|
dev/aic7xxx/aic7xxx_reg_print.c optional ahc ahc_reg_pretty_print
|
2016-11-30 10:17:03 +00:00
|
|
|
dev/al_eth/al_eth.c optional al_eth fdt \
|
2016-10-20 11:31:11 +00:00
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-11-30 10:17:03 +00:00
|
|
|
dev/al_eth/al_init_eth_lm.c optional al_eth fdt \
|
2016-10-20 11:31:11 +00:00
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-11-30 10:17:03 +00:00
|
|
|
dev/al_eth/al_init_eth_kr.c optional al_eth fdt \
|
2016-10-20 11:31:11 +00:00
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/al_hal_iofic.c optional al_iofic \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/al_hal_serdes_25g.c optional al_serdes \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/al_hal_serdes_hssp.c optional al_serdes \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/al_hal_udma_config.c optional al_udma \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/al_hal_udma_debug.c optional al_udma \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/al_hal_udma_iofic.c optional al_udma \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/al_hal_udma_main.c optional al_udma \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/al_serdes.c optional al_serdes \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/eth/al_hal_eth_kr.c optional al_eth \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2016-10-20 11:31:11 +00:00
|
|
|
contrib/alpine-hal/eth/al_hal_eth_main.c optional al_eth \
|
|
|
|
no-depend \
|
2021-03-31 21:04:55 +00:00
|
|
|
compile-with "${CC} -c -o ${.TARGET} ${CFLAGS} -I$S/contrib/alpine-hal -I$S/contrib/alpine-hal/eth ${.IMPSRC}"
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/alc/if_alc.c optional alc pci
|
|
|
|
dev/ale/if_ale.c optional ale pci
|
2014-09-23 06:31:15 +00:00
|
|
|
dev/alpm/alpm.c optional alpm pci
|
Add altera_avgen(4), a generic device driver to be used by hard and soft
CPU cores on Altera FPGAs. The device driver allows memory-mapped devices
on Altera's Avalon SoC bus to be exported to userspace via device nodes.
device.hints directories dictate device name, permissible access methods,
physical address and length, and I/O alignment. Devices can be accessed
using read(2)/write(2), but also memory mapped in userspace using mmap(2).
Devices attach directly to the Nexus, as is common for embedded device
drivers; in the future something more mature might be desirable. There is
currently no facility to support directing device-originated interrupts to
userspace.
In the future, this device driver may be renamed to socgen(4), as it can
in principle also be used with other system-on-chip (SoC) busses, such as
Axi on ASICs and FPGAs. However, we have only tested it on Avalon busses
with memory-mapped ROMs, frame buffers, etc.
Sponsored by: DARPA, AFRL
2012-08-25 11:07:43 +00:00
|
|
|
dev/altera/avgen/altera_avgen.c optional altera_avgen
|
2013-01-13 16:51:57 +00:00
|
|
|
dev/altera/avgen/altera_avgen_fdt.c optional altera_avgen fdt
|
2013-01-13 16:43:59 +00:00
|
|
|
dev/altera/avgen/altera_avgen_nexus.c optional altera_avgen
|
2018-04-13 13:23:31 +00:00
|
|
|
dev/altera/msgdma/msgdma.c optional altera_msgdma xdma
|
Add a device driver for the Altera University Program SD Card IP Core,
which can be synthesised in Altera FPGAs. An altera_sdcardc device
probes during the boot, and /dev/altera_sdcard devices come and go as
inserted and removed. The device driver attaches directly to the
Nexus, as is common for system-on-chip device drivers.
This IP core suffers a number of significant limitations, including a
lack of interrupt-driven I/O -- we must implement timer-driven polling,
only CSD 0 cards (up to 2G) are supported, there are serious memory
access issues that require the driver to verify writes to memory-mapped
buffers, undocumented alignment requirements, and erroneous error
returns. The driver must therefore work quite hard, despite a fairly
simple hardware-software interface. The IP core also supports at most
one outstanding I/O at a time, so is not a speed demon.
However, with the above workarounds, and subject to performance
problems, it works quite reliably in practice, and we can use it for
read-write mounts of root file systems, etc.
Sponsored by: DARPA, AFRL
2012-08-25 11:19:20 +00:00
|
|
|
dev/altera/sdcard/altera_sdcard.c optional altera_sdcard
|
|
|
|
dev/altera/sdcard/altera_sdcard_disk.c optional altera_sdcard
|
|
|
|
dev/altera/sdcard/altera_sdcard_io.c optional altera_sdcard
|
2013-01-13 15:15:24 +00:00
|
|
|
dev/altera/sdcard/altera_sdcard_fdt.c optional altera_sdcard fdt
|
Add a device driver for the Altera University Program SD Card IP Core,
which can be synthesised in Altera FPGAs. An altera_sdcardc device
probes during the boot, and /dev/altera_sdcard devices come and go as
inserted and removed. The device driver attaches directly to the
Nexus, as is common for system-on-chip device drivers.
This IP core suffers a number of significant limitations, including a
lack of interrupt-driven I/O -- we must implement timer-driven polling,
only CSD 0 cards (up to 2G) are supported, there are serious memory
access issues that require the driver to verify writes to memory-mapped
buffers, undocumented alignment requirements, and erroneous error
returns. The driver must therefore work quite hard, despite a fairly
simple hardware-software interface. The IP core also supports at most
one outstanding I/O at a time, so is not a speed demon.
However, with the above workarounds, and subject to performance
problems, it works quite reliably in practice, and we can use it for
read-write mounts of root file systems, etc.
Sponsored by: DARPA, AFRL
2012-08-25 11:19:20 +00:00
|
|
|
dev/altera/sdcard/altera_sdcard_nexus.c optional altera_sdcard
|
2018-04-13 14:18:04 +00:00
|
|
|
dev/altera/softdma/softdma.c optional altera_softdma xdma fdt
|
2014-11-25 16:24:31 +00:00
|
|
|
dev/altera/pio/pio.c optional altera_pio
|
|
|
|
dev/altera/pio/pio_if.m optional altera_pio
|
2014-09-23 06:31:15 +00:00
|
|
|
dev/amdpm/amdpm.c optional amdpm pci | nfpm pci
|
2014-09-23 05:54:18 +00:00
|
|
|
dev/amdsmb/amdsmb.c optional amdsmb pci
|
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
|
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-isa.c optional ata isa | ataisa
|
|
|
|
dev/ata/ata-pci.c optional ata pci | atapci
|
|
|
|
dev/ata/chipsets/ata-acard.c optional ata pci | ataacard
|
|
|
|
dev/ata/chipsets/ata-acerlabs.c optional ata pci | ataacerlabs
|
|
|
|
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
|
2015-03-24 18:09:07 +00:00
|
|
|
dev/ata/chipsets/ata-marvell.c optional ata pci | atamarvell
|
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
|
|
|
|
#
|
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 \
|
2012-11-15 06:58:18 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2014-08-16 03:05:02 +00:00
|
|
|
dev/ath/if_ath_alq.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2012-05-20 04:14:29 +00:00
|
|
|
dev/ath/if_ath_beacon.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
Bring over the initial static bluetooth coexistence configuration
for the WB195 combo NIC - an AR9285 w/ an AR3011 USB bluetooth NIC.
The AR3011 is wired up using a 3-wire coexistence scheme to the AR9285.
The code in if_ath_btcoex.c sets up the initial hardware mapping
and coexistence configuration. There's nothing special about it -
it's static; it doesn't try to configure bluetooth / MAC traffic priorities
or try to figure out what's actually going on. It's enough to stop basic
bluetooth traffic from causing traffic stalls and diassociation from
the wireless network.
To use this code, you must have the above NIC. No, it won't work
for the AR9287+AR3012, nor the AR9485, AR9462 or AR955x combo cards.
Then you set a kernel hint before boot or before kldload, where 'X'
is the unit number of your AR9285 NIC:
# kenv hint.ath.X.btcoex_profile=wb195
This will then appear in your boot messages:
[100482] athX: Enabling WB195 BTCOEX
This code is going to evolve pretty quickly (well, depending upon my
spare time) so don't assume the btcoex API is going to stay stable.
In order to use the bluetooth side, you must also load in firmware using
ath3kfw and the binary firmware file (ath3k-1.fw in my case.)
Tested:
* AR9280, no interference
* WB195 - AR9285 + AR3011 combo; STA mode; basic bluetooth inquiries
were enough to cause traffic stalls and disassociations. This has
stopped with the btcoex profile code.
TODO:
* Importantly - the AR9285 needs ASPM disabled if bluetooth coexistence
is enabled. No, I don't know why. It's likely some kind of bug to do
with the AR3011 sending bluetooth coexistence signals whilst the device
is asleep. Since we don't actually sleep the MAC just yet, it shouldn't
be a problem. That said, to be totally correct:
+ ASPM should be disabled - upon attach and wakeup
+ The PCIe powersave HAL code should never be called
Look at what the ath9k driver does for inspiration.
* Add WB197 (AR9287+AR3012) support
* Add support for the AR9485, which is another combo like the AR9285
* The later NICs have a different signaling mechanism between the MAC
and the bluetooth device; I haven't even begun to experiment with
making that HAL code work. But it should be a lot more automatic.
* The hardware can do much more interesting traffic weighting with
bluetooth and wifi traffic. None of this is currently used.
Ideally someone would code up something to watch the bluetooth traffic
GPIO (via an interrupt) and then watch it go high/low; then figure out
what the bluetooth traffic is and adjust things appropriately.
* If I get the time I may add in some code to at least track this stuff
and expose statistics. But it's up to someone else to experiment with
the bluetooth coexistence support and add the interesting stuff (like
"real" detection of bulk, audio, etc bluetooth traffic patterns and
change wifi parameters appropriately - eg, maximum aggregate length,
transmit power, using quiet time to control TX duty cycle, etc.)
2013-06-07 09:02:02 +00:00
|
|
|
dev/ath/if_ath_btcoex.c optional ath \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
[ath] commit initial bluetooth coexistence support for the MCI NICs.
This is the initial framework to call into the MCI HAL routines and drive
the basic state engine.
The MCI bluetooth coex model uses a command channel between wlan and
bluetooth, rather than a 2-wire or 3-wire signaling protocol to control things.
This means the wlan and bluetooth chip exchange a lot more information and
signaling, even at the per-packet level. The NICs in question can share
the input LNA and output PA on the die, so they absolutely can't stomp
on each other in a silly fashion. It also allows for the bluetooth side
to signal when profiles come and go, so the driver can take appropriate
control. There's also the possibility of dynamic bluetooth/wlan duty cycle
control which I haven't yet really played with.
It configures things up with a static "wlan wins everything" coexistence,
configures up the available 2GHz channel map for bluetooth, sets a static
duty cycle for bluetooth/wifi traffic priority and drives the basics needed to
keep the MCI HAL code happy.
It doesn't do any actual coexistence except to default to "wlan wins everything",
which at least demonstrates that things do indeed work. Bluetooth inquiry frames
still trump wifi (including beacons), so that demonstrates things really do
indeed seem to work.
Tested:
* AR9462 (WB222), STA mode + bt
* QCA9565 (WB335), STA mode + bt
TODO:
* .. the rest of coexistence. yes, bluetooth, not people. That stuff's hard.
* It doesn't do the initial BT side calibration, which requires a WLAN chip
reset. I'll fix up the reset path a bit more first before I enable that.
* The 1-ant and 2-ant configuration bits aren't being set correctly in
if_ath_btcoex.c - I'll dig into that and fix it in a subsequent commit.
* It's not enabled by default for WB222/WB225 even though I believe it now
can be - I'll chase that up in a subsequent commit.
Obtained from: Qualcomm Atheros, Linux ath9k
2016-06-02 00:51:36 +00:00
|
|
|
dev/ath/if_ath_btcoex_mci.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"
|
2015-11-24 03:42:58 +00:00
|
|
|
dev/ath/if_ath_descdma.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"
|
2015-11-24 03:42:58 +00:00
|
|
|
dev/ath/if_ath_ioctl.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"
|
2013-06-12 14:52:57 +00:00
|
|
|
dev/ath/if_ath_lna_div.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"
|
2012-07-23 03:52:18 +00:00
|
|
|
dev/ath/if_ath_tx_edma.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"
|
2012-05-20 02:49:42 +00:00
|
|
|
dev/ath/if_ath_tdma.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"
|
2012-05-20 02:05:10 +00:00
|
|
|
dev/ath/if_ath_rx.c optional ath \
|
2012-07-03 07:01:12 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
|
|
|
dev/ath/if_ath_rx_edma.c optional ath \
|
2012-05-20 02:05:10 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2013-01-02 04:00:54 +00:00
|
|
|
dev/ath/if_ath_spectral.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 \
|
2012-08-29 18:14:20 +00:00
|
|
|
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"
|
2012-12-03 23:43:23 +00:00
|
|
|
dev/ath/ath_hal/ar5416/ar5416_btcoex.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_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"
|
2013-01-02 01:24:36 +00:00
|
|
|
dev/ath/ath_hal/ar5416/ar5416_spectral.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_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 | \
|
2012-11-13 06:07:13 +00:00
|
|
|
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-03-08 06:59:59 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9280_olc.c optional ath_hal | ath_ar9280 | \
|
2012-11-13 06:07:13 +00:00
|
|
|
ath_ar9285 \
|
2011-03-08 06:59:59 +00:00
|
|
|
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)
|
2012-11-13 06:07:13 +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"
|
2012-12-03 23:43:23 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285_btcoex.c optional ath_hal | ath_ar9285 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2012-11-13 06:07:13 +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"
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285_cal.c optional ath_hal | ath_ar9285 \
|
2011-03-11 11:58:54 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285_phy.c optional ath_hal | ath_ar9285 \
|
2011-04-13 02:40:45 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9285_diversity.c optional ath_hal | ath_ar9285 \
|
2011-04-13 11:32:15 +00:00
|
|
|
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)
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9287_attach.c optional ath_hal | ath_ar9287 \
|
2011-05-26 20:31:08 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9287_reset.c optional ath_hal | ath_ar9287 \
|
2011-05-26 20:31:08 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9287_cal.c optional ath_hal | ath_ar9287 \
|
2011-05-26 20:31:08 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/ath/ath_hal/ar9002/ar9287_olc.c optional ath_hal | ath_ar9287 \
|
2011-05-26 20:31:08 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal"
|
|
|
|
|
2013-05-02 07:05:34 +00:00
|
|
|
# ar9300
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_ani.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_attach.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_beacon.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_eeprom.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal ${NO_WCONSTANT_CONVERSION}"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_freebsd.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_gpio.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_interrupts.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_keycache.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_mci.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_misc.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_paprd.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_phy.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_power.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_radar.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_radio.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_recv.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_recv_ds.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_reset.c optional ath_hal | ath_ar9300 \
|
2013-12-28 23:12:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal ${NO_WSOMETIMES_UNINITIALIZED} -Wno-unused-function"
|
2013-05-02 07:05:34 +00:00
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_stub.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_stub_funcs.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
2015-12-02 05:36:45 +00:00
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_spectral.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
2013-05-02 07:05:34 +00:00
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_timer.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_xmit.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/dev/ath/ath_hal"
|
|
|
|
contrib/dev/ath/ath_hal/ar9300/ar9300_xmit_ds.c optional ath_hal | ath_ar9300 \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath -I$S/dev/ath/ath_hal -I$S/contrib/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"
|
2013-05-02 07:05:34 +00:00
|
|
|
|
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
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/ath/ath_dfs/null/dfs_null.c optional ath \
|
2011-06-01 20:09:49 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ath"
|
2012-11-13 06:07:13 +00:00
|
|
|
#
|
2020-10-24 15:38:04 +00:00
|
|
|
dev/backlight/backlight_if.m optional backlight | compat_linuxkpi
|
|
|
|
dev/backlight/backlight.c optional backlight | compat_linuxkpi
|
[bwn] [bhnd] initial support for using bhnd for if_bwn devices.
This is an initial work in progress to use the replacement bhnd
bus code for devices which support it.
* Add manpage updates for bhnd, bhndb, siba
* Add kernel options for bhnd, bhndbus, etc
* Add initial support in if_bwn_pci / if_bwn_mac for using bhnd
as the bus transport for suppoted NICs
* if_bwn_pci will eventually be the PCI bus glue to interface to bwn,
which will use the right backend bus to attach to, versus direct
nexus/bhnd attachments (as found in embedded broadcom devices.)
The PCI glue defaults to probing at a lower level than the bwn glue,
so bwn should still attach as per normal without a boot time tunable set.
It's also not fully fleshed out - the bwn probe/attach code needs to be
broken out into platform and bus specific things (just like ath, ath_pci,
ath_ahb) before we can shift the driver over to using this.
Tested:
* BCM4311, STA mode
* BCM4312, STA mode
Submitted by: Landon Fuller <landonf@landonf.org>
Differential Revision: https://reviews.freebsd.org/D6191
2016-05-04 23:38:27 +00:00
|
|
|
dev/bce/if_bce.c optional bce
|
|
|
|
dev/bfe/if_bfe.c optional bfe
|
|
|
|
dev/bge/if_bge.c optional bge
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/bhnd.c optional bhnd
|
Implement a generic bhnd(4) device enumeration table API.
This defines a new bhnd_erom_if API, providing a common interface to device
enumeration on siba(4) and bcma(4) devices, for use both in the bhndb bridge
and SoC early boot contexts, and migrates mips/broadcom over to the new API.
This also replaces the previous adhoc device enumeration support implemented
for mips/broadcom.
Migration of bhndb to the new API will be implemented in a follow-up commit.
- Defined new bhnd_erom_if interface for bhnd(4) device enumeration, along
with bcma(4) and siba(4)-specific implementations.
- Fixed a minor bug in bhndb that logged an error when we attempted to map the
full siba(4) bus space (18000000-17FFFFFF) in the siba EROM parser.
- Reverted use of the resource's start address as the ChipCommon enum_addr in
bhnd_read_chipid(). When called from bhndb, this address is found within the
host address space, resulting in an invalid bridged enum_addr.
- Added support for falling back on standard bus_activate_resource() in
bhnd_bus_generic_activate_resource(), enabling allocation of the bhnd_erom's
bhnd_resource directly from a nexus-attached bhnd(4) device.
- Removed BHND_BUS_GET_CORE_TABLE(); it has been replaced by the erom API.
- Added support for statically initializing bhnd_erom instances, for use prior
to malloc availability. The statically allocated buffer size is verified both
at runtime, and via a compile-time assertion (see BHND_EROM_STATIC_BYTES).
- bhnd_erom classes are registered within a module via a linker set, allowing
mips/broadcom to probe available EROM parser instances without creating a
strong reference to bcma/siba-specific symbols.
- Migrated mips/broadcom to bhnd_erom_if, replacing the previous MIPS-specific
device enumeration implementation.
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D7748
2016-09-03 23:57:17 +00:00
|
|
|
dev/bhnd/bhnd_erom.c optional bhnd
|
|
|
|
dev/bhnd/bhnd_erom_if.m optional bhnd
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/bhnd_subr.c optional bhnd
|
|
|
|
dev/bhnd/bhnd_bus_if.m optional bhnd
|
|
|
|
dev/bhnd/bhndb/bhnd_bhndb.c optional bhndb bhnd
|
|
|
|
dev/bhnd/bhndb/bhndb.c optional bhndb bhnd
|
|
|
|
dev/bhnd/bhndb/bhndb_bus_if.m optional bhndb bhnd
|
|
|
|
dev/bhnd/bhndb/bhndb_hwdata.c optional bhndb bhnd
|
|
|
|
dev/bhnd/bhndb/bhndb_if.m optional bhndb bhnd
|
2018-02-05 23:38:15 +00:00
|
|
|
dev/bhnd/bhndb/bhndb_pci.c optional bhndb_pci bhndb bhnd pci
|
|
|
|
dev/bhnd/bhndb/bhndb_pci_hwdata.c optional bhndb_pci bhndb bhnd pci
|
|
|
|
dev/bhnd/bhndb/bhndb_pci_sprom.c optional bhndb_pci bhndb bhnd pci
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/bhndb/bhndb_subr.c optional bhndb bhnd
|
|
|
|
dev/bhnd/bcma/bcma.c optional bcma bhnd
|
|
|
|
dev/bhnd/bcma/bcma_bhndb.c optional bcma bhnd bhndb
|
|
|
|
dev/bhnd/bcma/bcma_erom.c optional bcma bhnd
|
|
|
|
dev/bhnd/bcma/bcma_subr.c optional bcma bhnd
|
2016-08-27 00:03:02 +00:00
|
|
|
dev/bhnd/cores/chipc/bhnd_chipc_if.m optional bhnd
|
|
|
|
dev/bhnd/cores/chipc/bhnd_sprom_chipc.c optional bhnd
|
|
|
|
dev/bhnd/cores/chipc/bhnd_pmu_chipc.c optional bhnd
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/cores/chipc/chipc.c optional bhnd
|
|
|
|
dev/bhnd/cores/chipc/chipc_cfi.c optional bhnd cfi
|
2017-11-22 23:10:20 +00:00
|
|
|
dev/bhnd/cores/chipc/chipc_gpio.c optional bhnd gpio
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/cores/chipc/chipc_slicer.c optional bhnd cfi | bhnd spibus
|
|
|
|
dev/bhnd/cores/chipc/chipc_spi.c optional bhnd spibus
|
|
|
|
dev/bhnd/cores/chipc/chipc_subr.c optional bhnd
|
2016-08-27 00:03:02 +00:00
|
|
|
dev/bhnd/cores/chipc/pwrctl/bhnd_pwrctl.c optional bhnd
|
2017-11-22 20:27:46 +00:00
|
|
|
dev/bhnd/cores/chipc/pwrctl/bhnd_pwrctl_if.m optional bhnd
|
|
|
|
dev/bhnd/cores/chipc/pwrctl/bhnd_pwrctl_hostb_if.m optional bhnd
|
2016-08-27 00:03:02 +00:00
|
|
|
dev/bhnd/cores/chipc/pwrctl/bhnd_pwrctl_subr.c optional bhnd
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/cores/pci/bhnd_pci.c optional bhnd pci
|
|
|
|
dev/bhnd/cores/pci/bhnd_pci_hostb.c optional bhndb bhnd pci
|
[bwn] [bhnd] initial support for using bhnd for if_bwn devices.
This is an initial work in progress to use the replacement bhnd
bus code for devices which support it.
* Add manpage updates for bhnd, bhndb, siba
* Add kernel options for bhnd, bhndbus, etc
* Add initial support in if_bwn_pci / if_bwn_mac for using bhnd
as the bus transport for suppoted NICs
* if_bwn_pci will eventually be the PCI bus glue to interface to bwn,
which will use the right backend bus to attach to, versus direct
nexus/bhnd attachments (as found in embedded broadcom devices.)
The PCI glue defaults to probing at a lower level than the bwn glue,
so bwn should still attach as per normal without a boot time tunable set.
It's also not fully fleshed out - the bwn probe/attach code needs to be
broken out into platform and bus specific things (just like ath, ath_pci,
ath_ahb) before we can shift the driver over to using this.
Tested:
* BCM4311, STA mode
* BCM4312, STA mode
Submitted by: Landon Fuller <landonf@landonf.org>
Differential Revision: https://reviews.freebsd.org/D6191
2016-05-04 23:38:27 +00:00
|
|
|
dev/bhnd/cores/pci/bhnd_pcib.c optional bhnd_pcib bhnd pci
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/cores/pcie2/bhnd_pcie2.c optional bhnd pci
|
|
|
|
dev/bhnd/cores/pcie2/bhnd_pcie2_hostb.c optional bhndb bhnd pci
|
2016-05-17 06:52:53 +00:00
|
|
|
dev/bhnd/cores/pcie2/bhnd_pcie2b.c optional bhnd_pcie2b bhnd pci
|
2016-08-27 00:03:02 +00:00
|
|
|
dev/bhnd/cores/pmu/bhnd_pmu.c optional bhnd
|
|
|
|
dev/bhnd/cores/pmu/bhnd_pmu_core.c optional bhnd
|
|
|
|
dev/bhnd/cores/pmu/bhnd_pmu_if.m optional bhnd
|
|
|
|
dev/bhnd/cores/pmu/bhnd_pmu_subr.c optional bhnd
|
bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding.
- Defined an abstract NVRAM I/O API (bhnd_nvram_io), decoupling NVRAM/SPROM
parsing from the actual underlying NVRAM data provider (e.g. CFE firmware
devices).
- Defined an abstract NVRAM data API (bhnd_nvram_data), decoupling
higher-level NVRAM operations (indexed lookup, data conversion, etc) from
the underlying NVRAM file format parsing/serialization.
- Implemented a new high-level bhnd_nvram_store API, providing indexed
variable lookup, pending write tracking, etc on top of an arbitrary
bhnd_nvram_data instance.
- Migrated all bhnd(4) NVRAM device drivers to the common bhnd_nvram_store
API.
- Implemented a common bhnd_nvram_val API for parsing/encoding NVRAM
variable values, including applying format-specific behavior when
converting to/from the NVRAM string representations.
- Dropped the now unnecessary bhnd_nvram driver, and moved the
broadcom/mips-specific CFE NVRAM driver out into sys/mips/broadcom.
- Implemented a new nvram_map file format:
- Variable definitions are now defined separately from the SPROM
layout. This will also allow us to define CIS tuple NVRAM
mappings referencing the common NVRAM variable definitions.
- Variables can now be defined within arbitrary named groups.
- Textual descriptions and help information can be defined inline
for both variables and variable groups.
- Implemented a new, compact encoding of SPROM image layout
offsets.
- Source-level (but not build system) support for building the NVRAM file
format APIs (bhnd_nvram_io, bhnd_nvram_data, bhnd_nvram_store) as a
userspace library.
The new compact SPROM image layout encoding is loosely modeled on Apple
dyld compressed LINKEDIT symbol binding opcodes; it provides a compact
state-machine encoding of the mapping between NVRAM variables and the SPROM
image offset, mask, and shift instructions necessary to decode or encode
the SPROM variable data.
The compact encoding reduces the size of the generated SPROM layout data
from roughly 60KB to 3KB. The sequential nature SPROM layout opcode tables
also simplify iteration of the SPROM variables, as it's no longer
neccessary to iterate the full NVRAM variable definition table, but
instead simply scan the SPROM revision's layout opcode table.
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D8645
2016-11-26 23:22:32 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_data.c optional bhnd
|
|
|
|
dev/bhnd/nvram/bhnd_nvram_data_bcm.c optional bhnd
|
|
|
|
dev/bhnd/nvram/bhnd_nvram_data_bcmraw.c optional bhnd
|
|
|
|
dev/bhnd/nvram/bhnd_nvram_data_btxt.c optional bhnd
|
|
|
|
dev/bhnd/nvram/bhnd_nvram_data_sprom.c optional bhnd
|
2016-12-19 20:34:05 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_data_sprom_subr.c optional bhnd
|
bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding.
- Defined an abstract NVRAM I/O API (bhnd_nvram_io), decoupling NVRAM/SPROM
parsing from the actual underlying NVRAM data provider (e.g. CFE firmware
devices).
- Defined an abstract NVRAM data API (bhnd_nvram_data), decoupling
higher-level NVRAM operations (indexed lookup, data conversion, etc) from
the underlying NVRAM file format parsing/serialization.
- Implemented a new high-level bhnd_nvram_store API, providing indexed
variable lookup, pending write tracking, etc on top of an arbitrary
bhnd_nvram_data instance.
- Migrated all bhnd(4) NVRAM device drivers to the common bhnd_nvram_store
API.
- Implemented a common bhnd_nvram_val API for parsing/encoding NVRAM
variable values, including applying format-specific behavior when
converting to/from the NVRAM string representations.
- Dropped the now unnecessary bhnd_nvram driver, and moved the
broadcom/mips-specific CFE NVRAM driver out into sys/mips/broadcom.
- Implemented a new nvram_map file format:
- Variable definitions are now defined separately from the SPROM
layout. This will also allow us to define CIS tuple NVRAM
mappings referencing the common NVRAM variable definitions.
- Variables can now be defined within arbitrary named groups.
- Textual descriptions and help information can be defined inline
for both variables and variable groups.
- Implemented a new, compact encoding of SPROM image layout
offsets.
- Source-level (but not build system) support for building the NVRAM file
format APIs (bhnd_nvram_io, bhnd_nvram_data, bhnd_nvram_store) as a
userspace library.
The new compact SPROM image layout encoding is loosely modeled on Apple
dyld compressed LINKEDIT symbol binding opcodes; it provides a compact
state-machine encoding of the mapping between NVRAM variables and the SPROM
image offset, mask, and shift instructions necessary to decode or encode
the SPROM variable data.
The compact encoding reduces the size of the generated SPROM layout data
from roughly 60KB to 3KB. The sequential nature SPROM layout opcode tables
also simplify iteration of the SPROM variables, as it's no longer
neccessary to iterate the full NVRAM variable definition table, but
instead simply scan the SPROM revision's layout opcode table.
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D8645
2016-11-26 23:22:32 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_data_tlv.c optional bhnd
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_if.m optional bhnd
|
bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding.
- Defined an abstract NVRAM I/O API (bhnd_nvram_io), decoupling NVRAM/SPROM
parsing from the actual underlying NVRAM data provider (e.g. CFE firmware
devices).
- Defined an abstract NVRAM data API (bhnd_nvram_data), decoupling
higher-level NVRAM operations (indexed lookup, data conversion, etc) from
the underlying NVRAM file format parsing/serialization.
- Implemented a new high-level bhnd_nvram_store API, providing indexed
variable lookup, pending write tracking, etc on top of an arbitrary
bhnd_nvram_data instance.
- Migrated all bhnd(4) NVRAM device drivers to the common bhnd_nvram_store
API.
- Implemented a common bhnd_nvram_val API for parsing/encoding NVRAM
variable values, including applying format-specific behavior when
converting to/from the NVRAM string representations.
- Dropped the now unnecessary bhnd_nvram driver, and moved the
broadcom/mips-specific CFE NVRAM driver out into sys/mips/broadcom.
- Implemented a new nvram_map file format:
- Variable definitions are now defined separately from the SPROM
layout. This will also allow us to define CIS tuple NVRAM
mappings referencing the common NVRAM variable definitions.
- Variables can now be defined within arbitrary named groups.
- Textual descriptions and help information can be defined inline
for both variables and variable groups.
- Implemented a new, compact encoding of SPROM image layout
offsets.
- Source-level (but not build system) support for building the NVRAM file
format APIs (bhnd_nvram_io, bhnd_nvram_data, bhnd_nvram_store) as a
userspace library.
The new compact SPROM image layout encoding is loosely modeled on Apple
dyld compressed LINKEDIT symbol binding opcodes; it provides a compact
state-machine encoding of the mapping between NVRAM variables and the SPROM
image offset, mask, and shift instructions necessary to decode or encode
the SPROM variable data.
The compact encoding reduces the size of the generated SPROM layout data
from roughly 60KB to 3KB. The sequential nature SPROM layout opcode tables
also simplify iteration of the SPROM variables, as it's no longer
neccessary to iterate the full NVRAM variable definition table, but
instead simply scan the SPROM revision's layout opcode table.
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D8645
2016-11-26 23:22:32 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_io.c optional bhnd
|
|
|
|
dev/bhnd/nvram/bhnd_nvram_iobuf.c optional bhnd
|
2016-12-19 20:26:10 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_ioptr.c optional bhnd
|
bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding.
- Defined an abstract NVRAM I/O API (bhnd_nvram_io), decoupling NVRAM/SPROM
parsing from the actual underlying NVRAM data provider (e.g. CFE firmware
devices).
- Defined an abstract NVRAM data API (bhnd_nvram_data), decoupling
higher-level NVRAM operations (indexed lookup, data conversion, etc) from
the underlying NVRAM file format parsing/serialization.
- Implemented a new high-level bhnd_nvram_store API, providing indexed
variable lookup, pending write tracking, etc on top of an arbitrary
bhnd_nvram_data instance.
- Migrated all bhnd(4) NVRAM device drivers to the common bhnd_nvram_store
API.
- Implemented a common bhnd_nvram_val API for parsing/encoding NVRAM
variable values, including applying format-specific behavior when
converting to/from the NVRAM string representations.
- Dropped the now unnecessary bhnd_nvram driver, and moved the
broadcom/mips-specific CFE NVRAM driver out into sys/mips/broadcom.
- Implemented a new nvram_map file format:
- Variable definitions are now defined separately from the SPROM
layout. This will also allow us to define CIS tuple NVRAM
mappings referencing the common NVRAM variable definitions.
- Variables can now be defined within arbitrary named groups.
- Textual descriptions and help information can be defined inline
for both variables and variable groups.
- Implemented a new, compact encoding of SPROM image layout
offsets.
- Source-level (but not build system) support for building the NVRAM file
format APIs (bhnd_nvram_io, bhnd_nvram_data, bhnd_nvram_store) as a
userspace library.
The new compact SPROM image layout encoding is loosely modeled on Apple
dyld compressed LINKEDIT symbol binding opcodes; it provides a compact
state-machine encoding of the mapping between NVRAM variables and the SPROM
image offset, mask, and shift instructions necessary to decode or encode
the SPROM variable data.
The compact encoding reduces the size of the generated SPROM layout data
from roughly 60KB to 3KB. The sequential nature SPROM layout opcode tables
also simplify iteration of the SPROM variables, as it's no longer
neccessary to iterate the full NVRAM variable definition table, but
instead simply scan the SPROM revision's layout opcode table.
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D8645
2016-11-26 23:22:32 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_iores.c optional bhnd
|
2016-12-19 20:11:48 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_plist.c optional bhnd
|
bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding.
- Defined an abstract NVRAM I/O API (bhnd_nvram_io), decoupling NVRAM/SPROM
parsing from the actual underlying NVRAM data provider (e.g. CFE firmware
devices).
- Defined an abstract NVRAM data API (bhnd_nvram_data), decoupling
higher-level NVRAM operations (indexed lookup, data conversion, etc) from
the underlying NVRAM file format parsing/serialization.
- Implemented a new high-level bhnd_nvram_store API, providing indexed
variable lookup, pending write tracking, etc on top of an arbitrary
bhnd_nvram_data instance.
- Migrated all bhnd(4) NVRAM device drivers to the common bhnd_nvram_store
API.
- Implemented a common bhnd_nvram_val API for parsing/encoding NVRAM
variable values, including applying format-specific behavior when
converting to/from the NVRAM string representations.
- Dropped the now unnecessary bhnd_nvram driver, and moved the
broadcom/mips-specific CFE NVRAM driver out into sys/mips/broadcom.
- Implemented a new nvram_map file format:
- Variable definitions are now defined separately from the SPROM
layout. This will also allow us to define CIS tuple NVRAM
mappings referencing the common NVRAM variable definitions.
- Variables can now be defined within arbitrary named groups.
- Textual descriptions and help information can be defined inline
for both variables and variable groups.
- Implemented a new, compact encoding of SPROM image layout
offsets.
- Source-level (but not build system) support for building the NVRAM file
format APIs (bhnd_nvram_io, bhnd_nvram_data, bhnd_nvram_store) as a
userspace library.
The new compact SPROM image layout encoding is loosely modeled on Apple
dyld compressed LINKEDIT symbol binding opcodes; it provides a compact
state-machine encoding of the mapping between NVRAM variables and the SPROM
image offset, mask, and shift instructions necessary to decode or encode
the SPROM variable data.
The compact encoding reduces the size of the generated SPROM layout data
from roughly 60KB to 3KB. The sequential nature SPROM layout opcode tables
also simplify iteration of the SPROM variables, as it's no longer
neccessary to iterate the full NVRAM variable definition table, but
instead simply scan the SPROM revision's layout opcode table.
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D8645
2016-11-26 23:22:32 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_store.c optional bhnd
|
2016-12-19 20:28:27 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_store_subr.c optional bhnd
|
bhnd(4): Unify NVRAM/SPROM parsing, implement compact SPROM layout encoding.
- Defined an abstract NVRAM I/O API (bhnd_nvram_io), decoupling NVRAM/SPROM
parsing from the actual underlying NVRAM data provider (e.g. CFE firmware
devices).
- Defined an abstract NVRAM data API (bhnd_nvram_data), decoupling
higher-level NVRAM operations (indexed lookup, data conversion, etc) from
the underlying NVRAM file format parsing/serialization.
- Implemented a new high-level bhnd_nvram_store API, providing indexed
variable lookup, pending write tracking, etc on top of an arbitrary
bhnd_nvram_data instance.
- Migrated all bhnd(4) NVRAM device drivers to the common bhnd_nvram_store
API.
- Implemented a common bhnd_nvram_val API for parsing/encoding NVRAM
variable values, including applying format-specific behavior when
converting to/from the NVRAM string representations.
- Dropped the now unnecessary bhnd_nvram driver, and moved the
broadcom/mips-specific CFE NVRAM driver out into sys/mips/broadcom.
- Implemented a new nvram_map file format:
- Variable definitions are now defined separately from the SPROM
layout. This will also allow us to define CIS tuple NVRAM
mappings referencing the common NVRAM variable definitions.
- Variables can now be defined within arbitrary named groups.
- Textual descriptions and help information can be defined inline
for both variables and variable groups.
- Implemented a new, compact encoding of SPROM image layout
offsets.
- Source-level (but not build system) support for building the NVRAM file
format APIs (bhnd_nvram_io, bhnd_nvram_data, bhnd_nvram_store) as a
userspace library.
The new compact SPROM image layout encoding is loosely modeled on Apple
dyld compressed LINKEDIT symbol binding opcodes; it provides a compact
state-machine encoding of the mapping between NVRAM variables and the SPROM
image offset, mask, and shift instructions necessary to decode or encode
the SPROM variable data.
The compact encoding reduces the size of the generated SPROM layout data
from roughly 60KB to 3KB. The sequential nature SPROM layout opcode tables
also simplify iteration of the SPROM variables, as it's no longer
neccessary to iterate the full NVRAM variable definition table, but
instead simply scan the SPROM revision's layout opcode table.
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D8645
2016-11-26 23:22:32 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_subr.c optional bhnd
|
|
|
|
dev/bhnd/nvram/bhnd_nvram_value.c optional bhnd
|
|
|
|
dev/bhnd/nvram/bhnd_nvram_value_fmts.c optional bhnd
|
|
|
|
dev/bhnd/nvram/bhnd_nvram_value_prf.c optional bhnd
|
2016-12-19 20:20:33 +00:00
|
|
|
dev/bhnd/nvram/bhnd_nvram_value_subr.c optional bhnd
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/nvram/bhnd_sprom.c optional bhnd
|
|
|
|
dev/bhnd/siba/siba.c optional siba bhnd
|
|
|
|
dev/bhnd/siba/siba_bhndb.c optional siba bhnd bhndb
|
Implement a generic bhnd(4) device enumeration table API.
This defines a new bhnd_erom_if API, providing a common interface to device
enumeration on siba(4) and bcma(4) devices, for use both in the bhndb bridge
and SoC early boot contexts, and migrates mips/broadcom over to the new API.
This also replaces the previous adhoc device enumeration support implemented
for mips/broadcom.
Migration of bhndb to the new API will be implemented in a follow-up commit.
- Defined new bhnd_erom_if interface for bhnd(4) device enumeration, along
with bcma(4) and siba(4)-specific implementations.
- Fixed a minor bug in bhndb that logged an error when we attempted to map the
full siba(4) bus space (18000000-17FFFFFF) in the siba EROM parser.
- Reverted use of the resource's start address as the ChipCommon enum_addr in
bhnd_read_chipid(). When called from bhndb, this address is found within the
host address space, resulting in an invalid bridged enum_addr.
- Added support for falling back on standard bus_activate_resource() in
bhnd_bus_generic_activate_resource(), enabling allocation of the bhnd_erom's
bhnd_resource directly from a nexus-attached bhnd(4) device.
- Removed BHND_BUS_GET_CORE_TABLE(); it has been replaced by the erom API.
- Added support for statically initializing bhnd_erom instances, for use prior
to malloc availability. The statically allocated buffer size is verified both
at runtime, and via a compile-time assertion (see BHND_EROM_STATIC_BYTES).
- bhnd_erom classes are registered within a module via a linker set, allowing
mips/broadcom to probe available EROM parser instances without creating a
strong reference to bcma/siba-specific symbols.
- Migrated mips/broadcom to bhnd_erom_if, replacing the previous MIPS-specific
device enumeration implementation.
Approved by: adrian (mentor)
Differential Revision: https://reviews.freebsd.org/D7748
2016-09-03 23:57:17 +00:00
|
|
|
dev/bhnd/siba/siba_erom.c optional siba bhnd
|
2016-06-04 19:53:47 +00:00
|
|
|
dev/bhnd/siba/siba_subr.c optional siba bhnd
|
[bwn] [bhnd] initial support for using bhnd for if_bwn devices.
This is an initial work in progress to use the replacement bhnd
bus code for devices which support it.
* Add manpage updates for bhnd, bhndb, siba
* Add kernel options for bhnd, bhndbus, etc
* Add initial support in if_bwn_pci / if_bwn_mac for using bhnd
as the bus transport for suppoted NICs
* if_bwn_pci will eventually be the PCI bus glue to interface to bwn,
which will use the right backend bus to attach to, versus direct
nexus/bhnd attachments (as found in embedded broadcom devices.)
The PCI glue defaults to probing at a lower level than the bwn glue,
so bwn should still attach as per normal without a boot time tunable set.
It's also not fully fleshed out - the bwn probe/attach code needs to be
broken out into platform and bus specific things (just like ath, ath_pci,
ath_ahb) before we can shift the driver over to using this.
Tested:
* BCM4311, STA mode
* BCM4312, STA mode
Submitted by: Landon Fuller <landonf@landonf.org>
Differential Revision: https://reviews.freebsd.org/D6191
2016-05-04 23:38:27 +00:00
|
|
|
#
|
2016-11-15 20:35:29 +00:00
|
|
|
dev/bnxt/bnxt_hwrm.c optional bnxt iflib pci
|
|
|
|
dev/bnxt/bnxt_sysctl.c optional bnxt iflib pci
|
|
|
|
dev/bnxt/bnxt_txrx.c optional bnxt iflib pci
|
|
|
|
dev/bnxt/if_bnxt.c optional bnxt iflib 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
|
2018-02-12 22:21:11 +00:00
|
|
|
dev/bwn/if_bwn.c optional bwn bhnd
|
2018-02-05 23:38:15 +00:00
|
|
|
dev/bwn/if_bwn_pci.c optional bwn pci bhnd bhndb bhndb_pci
|
|
|
|
dev/bwn/if_bwn_phy_common.c optional bwn bhnd
|
2018-02-12 22:21:11 +00:00
|
|
|
dev/bwn/if_bwn_phy_g.c optional bwn bhnd
|
|
|
|
dev/bwn/if_bwn_phy_lp.c optional bwn bhnd
|
2018-02-05 23:38:15 +00:00
|
|
|
dev/bwn/if_bwn_phy_n.c optional bwn bhnd
|
|
|
|
dev/bwn/if_bwn_util.c optional bwn bhnd
|
2020-04-02 19:06:05 +00:00
|
|
|
dev/cadence/if_cgem.c optional cgem fdt
|
2021-07-13 22:40:39 +00:00
|
|
|
dev/cardbus/card_if.m standard
|
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
|
2021-01-08 00:00:23 +00:00
|
|
|
dev/cardbus/power_if.m standard
|
2009-06-15 18:22:41 +00:00
|
|
|
dev/cas/if_cas.c optional cas
|
2013-04-30 18:33:29 +00:00
|
|
|
dev/cfi/cfi_bus_fdt.c optional cfi fdt
|
2013-04-03 22:37:40 +00:00
|
|
|
dev/cfi/cfi_bus_nexus.c optional cfi
|
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
|
add iic interface to ig4 driver, move isl and cyapa to iicbus
Summary:
The hardware does not expose a classic SMBus interface.
Instead it has a lower level interface that can express a far richer
I2C protocol than what smbus offers. However, the interface does not
provide a way to explicitly generate the I2C stop and start conditions.
It's only possible to request that the stop condition is generated
after transferring the next byte in either direction. So, at least
one data byte must always be transferred.
Thus, some I2C sequences are impossible to generate, e.g., an equivalent
of smbus quick command (<start>-<slave addr>-<r/w bit>-<stop>).
At the same time isl(4) and cyapa(4) are moved to iicbus and now they use
iicbus_transfer for communication. Previously they used smbus_trans()
interface that is not defined by the SMBus protocol and was implemented
only by ig4(4). In fact, that interface was impossible to implement
for the typical SMBus controllers like intpm(4) or ichsmb(4) where
a type of the SMBus command must be programmed.
The plan is to remove smbus_trans() and all its uses.
As an aside, the smbus_trans() method deviates from the standard,
but perhaps backwards, FreeBSD convention of using 8-bit slave
addresses (shifted by 1 bit to the left). The method expects
7-bit addresses.
There is a user facing consequence of this change.
A user must now provide device hints for isl and cyapa that specify an iicbus to use
and a slave address on it.
On Chromebook hardware where isl and cyapa devices are commonly found
it is also possible to use a new chromebook_platform(4) driver that
automatically configures isl and cyapa devices. There is no need to
provide the device hints in that case,
Right now smbus(4) driver tries to discover all slaves on the bus.
That is very dangerous. Fortunately, the probing code uses smbus_trans()
to do its job, so it is really enabled for ig4 only.
The plan is to remove that auto-probing code and smbus_trans().
Tested by: grembo, Matthias Apitz <guru@unixarea.de> (w/o
chromebook_platform)
Discussed with: grembo, imp
Reviewed by: wblock (docs)
MFC after: 1 month
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D8172
2016-10-30 12:15:33 +00:00
|
|
|
dev/chromebook_platform/chromebook_platform.c optional chromebook_platform
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ciss/ciss.c optional ciss
|
2016-09-06 21:01:38 +00:00
|
|
|
dev/cpufreq/ichss.c optional cpufreq pci
|
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_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 \
|
2012-11-13 06:07:13 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgb"
|
2008-09-23 03:16:54 +00:00
|
|
|
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"
|
2018-11-29 01:15:53 +00:00
|
|
|
dev/cxgbe/t4_clip.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2018-05-01 20:17:22 +00:00
|
|
|
dev/cxgbe/t4_filter.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2016-07-23 15:12:03 +00:00
|
|
|
dev/cxgbe/t4_if.m optional cxgbe pci
|
2016-07-22 22:46:41 +00:00
|
|
|
dev/cxgbe/t4_iov.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2014-12-31 23:19:16 +00:00
|
|
|
dev/cxgbe/t4_mp_ring.c optional cxgbe pci \
|
2015-02-17 19:27:14 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2011-02-18 08:00:26 +00:00
|
|
|
dev/cxgbe/t4_main.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2014-05-27 18:18:41 +00:00
|
|
|
dev/cxgbe/t4_netmap.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2017-05-02 20:38:10 +00:00
|
|
|
dev/cxgbe/t4_sched.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2011-02-18 08:00:26 +00:00
|
|
|
dev/cxgbe/t4_sge.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2018-05-31 21:31:08 +00:00
|
|
|
dev/cxgbe/t4_smt.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"
|
Add support for packet-sniffing tracers to cxgbe(4). This works with
all T4 and T5 based cards and is useful for analyzing TSO, LRO, TOE, and
for general purpose monitoring without tapping any cxgbe or cxl ifnet
directly.
Tracers on the T4/T5 chips provide access to Ethernet frames exactly as
they were received from or transmitted on the wire. On transmit, a
tracer will capture a frame after TSO segmentation, hw VLAN tag
insertion, hw L3 & L4 checksum insertion, etc. It will also capture
frames generated by the TCP offload engine (TOE traffic is normally
invisible to the kernel). On receive, a tracer will capture a frame
before hw VLAN extraction, runt filtering, other badness filtering,
before the steering/drop/L2-rewrite filters or the TOE have had a go at
it, and of course before sw LRO in the driver.
There are 4 tracers on a chip. A tracer can trace only in one direction
(tx or rx). For now cxgbetool will set up tracers to capture the first
128B of every transmitted or received frame on a given port. This is a
small subset of what the hardware can do. A pseudo ifnet with the same
name as the nexus driver (t4nex0 or t5nex0) will be created for tracing.
The data delivered to this ifnet is an additional copy made inside the
chip. Normal delivery to cxgbe<n> or cxl<n> will be made as usual.
/* watch cxl0, which is the first port hanging off t5nex0. */
# cxgbetool t5nex0 tracer 0 tx0 (watch what cxl0 is transmitting)
# cxgbetool t5nex0 tracer 1 rx0 (watch what cxl0 is receiving)
# cxgbetool t5nex0 tracer list
# tcpdump -i t5nex0 <== all that cxl0 sees and puts on the wire
If you were doing TSO, a tcpdump on cxl0 may have shown you ~64K
"frames" with no L3/L4 checksum but this will show you the frames that
were actually transmitted.
/* all done */
# cxgbetool t5nex0 tracer 0 disable
# cxgbetool t5nex0 tracer 1 disable
# cxgbetool t5nex0 tracer list
# ifconfig t5nex0 destroy
2013-07-26 22:04:11 +00:00
|
|
|
dev/cxgbe/t4_tracer.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
Chelsio T4/T5 VF driver.
The cxgbev/cxlv driver supports Virtual Function devices for Chelsio
T4 and T4 adapters. The VF devices share most of their code with the
existing PF4 driver (cxgbe/cxl) and as such the VF device driver
currently depends on the PF4 driver.
Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf
PCI device driver that attaches to the VF device. It then creates
child cxgbev/cxlv devices representing ports assigned to the VF.
By default, the PF driver assigns a single port to each VF.
t4vf_hw.c contains VF-specific routines from the shared code used to
fetch VF-specific parameters from the firmware.
t4_vf.c contains the VF-specific PCI device driver and includes its
own attach routine.
VF devices are required to use a different firmware request when
transmitting packets (which in turn requires a different CPL message
to encapsulate messages). This alternate firmware request does not
permit chaining multiple packets in a single message, so each packet
results in a firmware request. In addition, the different CPL message
requires more detailed information when enabling hardware checksums,
so parse_pkt() on VF devices must examine L2 and L3 headers for all
packets (not just TSO packets) for VF devices. Finally, L2 checksums
on non-UDP/non-TCP packets do not work reliably (the firmware trashes
the IPv4 fragment field), so IPv4 checksums for such packets are
calculated in software.
Most of the other changes in the non-VF-specific code are to expose
various variables and functions private to the PF driver so that they
can be used by the VF driver.
Note that a limited subset of cxgbetool functions are supported on VF
devices including register dumps, scheduler classes, and clearing of
statistics. In addition, TOE is not supported on VF devices, only for
the PF interfaces.
Reviewed by: np
MFC after: 2 months
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D7599
2016-09-07 18:13:57 +00:00
|
|
|
dev/cxgbe/t4_vf.c optional cxgbev 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"
|
Chelsio T4/T5 VF driver.
The cxgbev/cxlv driver supports Virtual Function devices for Chelsio
T4 and T4 adapters. The VF devices share most of their code with the
existing PF4 driver (cxgbe/cxl) and as such the VF device driver
currently depends on the PF4 driver.
Similar to the cxgbe/cxl drivers, the VF driver includes a t4vf/t5vf
PCI device driver that attaches to the VF device. It then creates
child cxgbev/cxlv devices representing ports assigned to the VF.
By default, the PF driver assigns a single port to each VF.
t4vf_hw.c contains VF-specific routines from the shared code used to
fetch VF-specific parameters from the firmware.
t4_vf.c contains the VF-specific PCI device driver and includes its
own attach routine.
VF devices are required to use a different firmware request when
transmitting packets (which in turn requires a different CPL message
to encapsulate messages). This alternate firmware request does not
permit chaining multiple packets in a single message, so each packet
results in a firmware request. In addition, the different CPL message
requires more detailed information when enabling hardware checksums,
so parse_pkt() on VF devices must examine L2 and L3 headers for all
packets (not just TSO packets) for VF devices. Finally, L2 checksums
on non-UDP/non-TCP packets do not work reliably (the firmware trashes
the IPv4 fragment field), so IPv4 checksums for such packets are
calculated in software.
Most of the other changes in the non-VF-specific code are to expose
various variables and functions private to the PF driver so that they
can be used by the VF driver.
Note that a limited subset of cxgbetool functions are supported on VF
devices including register dumps, scheduler classes, and clearing of
statistics. In addition, TOE is not supported on VF devices, only for
the PF interfaces.
Reviewed by: np
MFC after: 2 months
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D7599
2016-09-07 18:13:57 +00:00
|
|
|
dev/cxgbe/common/t4vf_hw.c optional cxgbev pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
NIC KTLS for Chelsio T6 adapters.
This adds support for ifnet (NIC) KTLS using Chelsio T6 adapters.
Unlike the TOE-based KTLS in r353328, NIC TLS works with non-TOE
connections.
NIC KTLS on T6 is not able to use the normal TSO (LSO) path to segment
the encrypted TLS frames output by the crypto engine. Instead, the
TOE is placed into a special setup to permit "dummy" connections to be
associated with regular sockets using KTLS. This permits using the
TOE to segment the encrypted TLS records. However, this approach does
have some limitations:
1) Regular TOE sockets cannot be used when the TOE is in this special
mode. One can use either TOE and TOE-based KTLS or NIC KTLS, but
not both at the same time.
2) In NIC KTLS mode, the TOE is only able to accept a per-connection
timestamp offset that varies in the upper 4 bits. Put another way,
only connections whose timestamp offset has the 28 lower bits
cleared can use NIC KTLS and generate correct timestamps. The
driver will refuse to enable NIC KTLS on connections with a
timestamp offset with any of the lower 28 bits set. To use NIC
KTLS, users can either disable TCP timestamps by setting the
net.inet.tcp.rfc1323 sysctl to 0, or apply a local patch to the
tcp_new_ts_offset() function to clear the lower 28 bits of the
generated offset.
3) Because the TCP segmentation relies on fields mirrored in a TCB in
the TOE, not all fields in a TCP packet can be sent in the TCP
segments generated from a TLS record. Specifically, for packets
containing TCP options other than timestamps, the driver will
inject an "empty" TCP packet holding the requested options (e.g. a
SACK scoreboard) along with the segments from the TLS record.
These empty TCP packets are counted by the
dev.cc.N.txq.M.kern_tls_options sysctls.
Unlike TOE TLS which is able to buffer encrypted TLS records in
on-card memory to handle retransmits, NIC KTLS must re-encrypt TLS
records for retransmit requests as well as non-retransmit requests
that do not include the start of a TLS record but do include the
trailer. The T6 NIC KTLS code tries to optimize some of the cases for
requests to transmit partial TLS records. In particular it attempts
to minimize sending "waste" bytes that have to be given as input to
the crypto engine but are not needed on the wire to satisfy mbufs sent
from the TCP stack down to the driver.
TCP packets for TLS requests are broken down into the following
classes (with associated counters):
- Mbufs that send an entire TLS record in full do not have any waste
bytes (dev.cc.N.txq.M.kern_tls_full).
- Mbufs that send a short TLS record that ends before the end of the
trailer (dev.cc.N.txq.M.kern_tls_short). For sockets using AES-CBC,
the encryption must always start at the beginning, so if the mbuf
starts at an offset into the TLS record, the offset bytes will be
"waste" bytes. For sockets using AES-GCM, the encryption can start
at the 16 byte block before the starting offset capping the waste at
15 bytes.
- Mbufs that send a partial TLS record that has a non-zero starting
offset but ends at the end of the trailer
(dev.cc.N.txq.M.kern_tls_partial). In order to compute the
authentication hash stored in the trailer, the entire TLS record
must be sent as input to the crypto engine, so the bytes before the
offset are always "waste" bytes.
In addition, other per-txq sysctls are provided:
- dev.cc.N.txq.M.kern_tls_cbc: Count of sockets sent via this txq
using AES-CBC.
- dev.cc.N.txq.M.kern_tls_gcm: Count of sockets sent via this txq
using AES-GCM.
- dev.cc.N.txq.M.kern_tls_fin: Count of empty FIN-only packets sent to
compensate for the TOE engine not being able to set FIN on the last
segment of a TLS record if the TLS record mbuf had FIN set.
- dev.cc.N.txq.M.kern_tls_records: Count of TLS records sent via this
txq including full, short, and partial records.
- dev.cc.N.txq.M.kern_tls_octets: Count of non-waste bytes (TLS header
and payload) sent for TLS record requests.
- dev.cc.N.txq.M.kern_tls_waste: Count of waste bytes sent for TLS
record requests.
To enable NIC KTLS with T6, set the following tunables prior to
loading the cxgbe(4) driver:
hw.cxgbe.config_file=kern_tls
hw.cxgbe.kern_tls=1
Reviewed by: np
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D21962
2019-11-21 19:30:31 +00:00
|
|
|
dev/cxgbe/crypto/t4_kern_tls.c optional cxgbe pci kern_tls \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2019-11-13 17:06:10 +00:00
|
|
|
dev/cxgbe/crypto/t4_keyctx.c optional cxgbe pci \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2017-08-03 14:43:30 +00:00
|
|
|
dev/cxgbe/cudbg/cudbg_common.c optional cxgbe \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
|
|
|
dev/cxgbe/cudbg/cudbg_flash_utils.c optional cxgbe \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
|
|
|
dev/cxgbe/cudbg/cudbg_lib.c optional cxgbe \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
|
|
|
dev/cxgbe/cudbg/cudbg_wtp.c optional cxgbe \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
|
|
|
dev/cxgbe/cudbg/fastlz.c optional cxgbe \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
|
|
|
dev/cxgbe/cudbg/fastlz_api.c optional cxgbe \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
2012-09-13 09:01:52 +00:00
|
|
|
t4fw_cfg.c optional cxgbe \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk t4fw_cfg.fw:t4fw_cfg t4fw_cfg_uwire.fw:t4fw_cfg_uwire t4fw.fw:t4fw -mt4fw_cfg -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2012-09-13 09:01:52 +00:00
|
|
|
clean "t4fw_cfg.c"
|
|
|
|
t4fw_cfg.fwo optional cxgbe \
|
|
|
|
dependency "t4fw_cfg.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "t4fw_cfg.fwo"
|
|
|
|
t4fw_cfg.fw optional cxgbe \
|
|
|
|
dependency "$S/dev/cxgbe/firmware/t4fw_cfg.txt" \
|
|
|
|
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "t4fw_cfg.fw"
|
|
|
|
t4fw_cfg_uwire.fwo optional cxgbe \
|
|
|
|
dependency "t4fw_cfg_uwire.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "t4fw_cfg_uwire.fwo"
|
|
|
|
t4fw_cfg_uwire.fw optional cxgbe \
|
|
|
|
dependency "$S/dev/cxgbe/firmware/t4fw_cfg_uwire.txt" \
|
|
|
|
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "t4fw_cfg_uwire.fw"
|
|
|
|
t4fw.fwo optional cxgbe \
|
|
|
|
dependency "t4fw.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "t4fw.fwo"
|
|
|
|
t4fw.fw optional cxgbe \
|
2022-01-03 22:35:45 +00:00
|
|
|
dependency "$S/dev/cxgbe/firmware/t4fw-1.26.6.0.bin" \
|
2019-12-10 07:45:10 +00:00
|
|
|
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
|
2012-09-13 09:01:52 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "t4fw.fw"
|
2013-07-03 23:52:15 +00:00
|
|
|
t5fw_cfg.c optional cxgbe \
|
2017-08-18 14:30:12 +00:00
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk t5fw_cfg.fw:t5fw_cfg t5fw_cfg_uwire.fw:t5fw_cfg_uwire t5fw.fw:t5fw -mt5fw_cfg -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2013-07-03 23:52:15 +00:00
|
|
|
clean "t5fw_cfg.c"
|
|
|
|
t5fw_cfg.fwo optional cxgbe \
|
|
|
|
dependency "t5fw_cfg.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "t5fw_cfg.fwo"
|
|
|
|
t5fw_cfg.fw optional cxgbe \
|
|
|
|
dependency "$S/dev/cxgbe/firmware/t5fw_cfg.txt" \
|
|
|
|
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "t5fw_cfg.fw"
|
2017-08-07 14:04:19 +00:00
|
|
|
t5fw_cfg_uwire.fwo optional cxgbe \
|
|
|
|
dependency "t5fw_cfg_uwire.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "t5fw_cfg_uwire.fwo"
|
|
|
|
t5fw_cfg_uwire.fw optional cxgbe \
|
|
|
|
dependency "$S/dev/cxgbe/firmware/t5fw_cfg_uwire.txt" \
|
|
|
|
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "t5fw_cfg_uwire.fw"
|
2013-07-03 23:52:15 +00:00
|
|
|
t5fw.fwo optional cxgbe \
|
|
|
|
dependency "t5fw.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "t5fw.fwo"
|
|
|
|
t5fw.fw optional cxgbe \
|
2022-01-03 22:35:45 +00:00
|
|
|
dependency "$S/dev/cxgbe/firmware/t5fw-1.26.6.0.bin" \
|
2019-12-10 07:45:10 +00:00
|
|
|
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
|
2013-07-03 23:52:15 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "t5fw.fw"
|
2016-11-30 00:26:35 +00:00
|
|
|
t6fw_cfg.c optional cxgbe \
|
2017-08-07 14:04:19 +00:00
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk t6fw_cfg.fw:t6fw_cfg t6fw_cfg_uwire.fw:t6fw_cfg_uwire t6fw.fw:t6fw -mt6fw_cfg -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2016-11-30 00:26:35 +00:00
|
|
|
clean "t6fw_cfg.c"
|
|
|
|
t6fw_cfg.fwo optional cxgbe \
|
|
|
|
dependency "t6fw_cfg.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "t6fw_cfg.fwo"
|
|
|
|
t6fw_cfg.fw optional cxgbe \
|
|
|
|
dependency "$S/dev/cxgbe/firmware/t6fw_cfg.txt" \
|
|
|
|
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "t6fw_cfg.fw"
|
2017-08-07 14:04:19 +00:00
|
|
|
t6fw_cfg_uwire.fwo optional cxgbe \
|
|
|
|
dependency "t6fw_cfg_uwire.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "t6fw_cfg_uwire.fwo"
|
|
|
|
t6fw_cfg_uwire.fw optional cxgbe \
|
|
|
|
dependency "$S/dev/cxgbe/firmware/t6fw_cfg_uwire.txt" \
|
|
|
|
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "t6fw_cfg_uwire.fw"
|
2016-11-30 00:26:35 +00:00
|
|
|
t6fw.fwo optional cxgbe \
|
|
|
|
dependency "t6fw.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "t6fw.fwo"
|
|
|
|
t6fw.fw optional cxgbe \
|
2022-01-03 22:35:45 +00:00
|
|
|
dependency "$S/dev/cxgbe/firmware/t6fw-1.26.6.0.bin" \
|
2019-12-10 07:45:10 +00:00
|
|
|
compile-with "${CP} ${.ALLSRC} ${.TARGET}" \
|
2016-11-30 00:26:35 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "t6fw.fw"
|
Add a driver for the Chelsio T6 crypto accelerator engine.
The ccr(4) driver supports use of the crypto accelerator engine on
Chelsio T6 NICs in "lookaside" mode via the opencrypto framework.
Currently, the driver supports AES-CBC, AES-CTR, AES-GCM, and AES-XTS
cipher algorithms as well as the SHA1-HMAC, SHA2-256-HMAC, SHA2-384-HMAC,
and SHA2-512-HMAC authentication algorithms. The driver also supports
chaining one of AES-CBC, AES-CTR, or AES-XTS with an authentication
algorithm for encrypt-then-authenticate operations.
Note that this driver is still under active development and testing and
may not yet be ready for production use. It does pass the tests in
tests/sys/opencrypto with the exception that the AES-GCM implementation
in the driver does not yet support requests with a zero byte payload.
To use this driver currently, the "uwire" configuration must be used
along with explicitly enabling support for lookaside crypto capabilities
in the cxgbe(4) driver. These can be done by setting the following
tunables before loading the cxgbe(4) driver:
hw.cxgbe.config_file=uwire
hw.cxgbe.cryptocaps_allowed=-1
MFC after: 1 month
Relnotes: yes
Sponsored by: Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D10763
2017-05-17 22:13:07 +00:00
|
|
|
dev/cxgbe/crypto/t4_crypto.c optional ccr \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/cxgbe"
|
add iic interface to ig4 driver, move isl and cyapa to iicbus
Summary:
The hardware does not expose a classic SMBus interface.
Instead it has a lower level interface that can express a far richer
I2C protocol than what smbus offers. However, the interface does not
provide a way to explicitly generate the I2C stop and start conditions.
It's only possible to request that the stop condition is generated
after transferring the next byte in either direction. So, at least
one data byte must always be transferred.
Thus, some I2C sequences are impossible to generate, e.g., an equivalent
of smbus quick command (<start>-<slave addr>-<r/w bit>-<stop>).
At the same time isl(4) and cyapa(4) are moved to iicbus and now they use
iicbus_transfer for communication. Previously they used smbus_trans()
interface that is not defined by the SMBus protocol and was implemented
only by ig4(4). In fact, that interface was impossible to implement
for the typical SMBus controllers like intpm(4) or ichsmb(4) where
a type of the SMBus command must be programmed.
The plan is to remove smbus_trans() and all its uses.
As an aside, the smbus_trans() method deviates from the standard,
but perhaps backwards, FreeBSD convention of using 8-bit slave
addresses (shifted by 1 bit to the left). The method expects
7-bit addresses.
There is a user facing consequence of this change.
A user must now provide device hints for isl and cyapa that specify an iicbus to use
and a slave address on it.
On Chromebook hardware where isl and cyapa devices are commonly found
it is also possible to use a new chromebook_platform(4) driver that
automatically configures isl and cyapa devices. There is no need to
provide the device hints in that case,
Right now smbus(4) driver tries to discover all slaves on the bus.
That is very dangerous. Fortunately, the probing code uses smbus_trans()
to do its job, so it is really enabled for ig4 only.
The plan is to remove that auto-probing code and smbus_trans().
Tested by: grembo, Matthias Apitz <guru@unixarea.de> (w/o
chromebook_platform)
Discussed with: grembo, imp
Reviewed by: wblock (docs)
MFC after: 1 month
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D8172
2016-10-30 12:15:33 +00:00
|
|
|
dev/cyapa/cyapa.c optional cyapa iicbus
|
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
|
2016-11-17 11:48:07 +00:00
|
|
|
dev/dme/if_dme.c optional dme
|
2016-11-13 16:31:23 +00:00
|
|
|
dev/drm2/drm_agpsupport.c optional drm2
|
|
|
|
dev/drm2/drm_auth.c optional drm2
|
|
|
|
dev/drm2/drm_bufs.c optional drm2
|
|
|
|
dev/drm2/drm_buffer.c optional drm2
|
|
|
|
dev/drm2/drm_context.c optional drm2
|
|
|
|
dev/drm2/drm_crtc.c optional drm2
|
|
|
|
dev/drm2/drm_crtc_helper.c optional drm2
|
|
|
|
dev/drm2/drm_dma.c optional drm2
|
|
|
|
dev/drm2/drm_dp_helper.c optional drm2
|
|
|
|
dev/drm2/drm_dp_iic_helper.c optional drm2
|
|
|
|
dev/drm2/drm_drv.c optional drm2
|
|
|
|
dev/drm2/drm_edid.c optional drm2
|
|
|
|
dev/drm2/drm_fb_helper.c optional drm2
|
|
|
|
dev/drm2/drm_fops.c optional drm2
|
|
|
|
dev/drm2/drm_gem.c optional drm2
|
|
|
|
dev/drm2/drm_gem_names.c optional drm2
|
|
|
|
dev/drm2/drm_global.c optional drm2
|
|
|
|
dev/drm2/drm_hashtab.c optional drm2
|
|
|
|
dev/drm2/drm_ioctl.c optional drm2
|
|
|
|
dev/drm2/drm_irq.c optional drm2
|
|
|
|
dev/drm2/drm_linux_list_sort.c optional drm2
|
|
|
|
dev/drm2/drm_lock.c optional drm2
|
|
|
|
dev/drm2/drm_memory.c optional drm2
|
|
|
|
dev/drm2/drm_mm.c optional drm2
|
|
|
|
dev/drm2/drm_modes.c optional drm2
|
|
|
|
dev/drm2/drm_pci.c optional drm2
|
2016-12-26 14:28:23 +00:00
|
|
|
dev/drm2/drm_platform.c optional drm2
|
2016-11-13 16:31:23 +00:00
|
|
|
dev/drm2/drm_scatter.c optional drm2
|
|
|
|
dev/drm2/drm_stub.c optional drm2
|
|
|
|
dev/drm2/drm_sysctl.c optional drm2
|
|
|
|
dev/drm2/drm_vm.c optional drm2
|
|
|
|
dev/drm2/drm_os_freebsd.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_agp_backend.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_lock.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_object.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_tt.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_bo_util.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_bo.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_bo_manager.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_execbuf_util.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_memory.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_page_alloc.c optional drm2
|
|
|
|
dev/drm2/ttm/ttm_bo_vm.c optional drm2
|
2016-10-11 22:24:30 +00:00
|
|
|
dev/efidev/efidev.c optional efirt
|
2017-10-01 19:52:47 +00:00
|
|
|
dev/efidev/efirt.c optional efirt
|
2017-11-21 17:23:16 +00:00
|
|
|
dev/efidev/efirtc.c optional efirt
|
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"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/em_txrx.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"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/igb_txrx.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_80003es2lan.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_82540.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_82541.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_82542.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_82543.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_82571.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_82575.c optional em \
|
2011-02-04 18:36:09 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_ich8lan.c optional em \
|
2012-07-05 20:26:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_i210.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_api.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2020-07-06 08:12:05 +00:00
|
|
|
dev/e1000/e1000_base.c optional em \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_mac.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_manage.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_nvm.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_phy.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_vf.c optional em \
|
2010-06-30 21:05:51 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_mbx.c optional em \
|
2010-06-30 21:05:51 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2017-01-10 03:23:22 +00:00
|
|
|
dev/e1000/e1000_osdep.c optional em \
|
2008-07-30 22:01:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/e1000"
|
2008-06-20 19:28:33 +00:00
|
|
|
dev/et/if_et.c optional et
|
Add support for Amazon Elastic Network Adapter (ENA) NIC
ENA is a networking interface designed to make good use of modern CPU
features and system architectures.
The ENA device exposes a lightweight management interface with a
minimal set of memory mapped registers and extendable command set
through an Admin Queue.
The driver supports a range of ENA devices, is link-speed independent
(i.e., the same driver is used for 10GbE, 25GbE, 40GbE, etc.), and has
a negotiated and extendable feature set.
Some ENA devices support SR-IOV. This driver is used for both the
SR-IOV Physical Function (PF) and Virtual Function (VF) devices.
ENA devices enable high speed and low overhead network traffic
processing by providing multiple Tx/Rx queue pairs (the maximum number
is advertised by the device via the Admin Queue), a dedicated MSI-X
interrupt vector per Tx/Rx queue pair, and CPU cacheline optimized
data placement.
The ENA driver supports industry standard TCP/IP offload features such
as checksum offload and TCP transmit segmentation offload (TSO).
Receive-side scaling (RSS) is supported for multi-core scaling.
The ENA driver and its corresponding devices implement health
monitoring mechanisms such as watchdog, enabling the device and driver
to recover in a manner transparent to the application, as well as
debug logs.
Some of the ENA devices support a working mode called Low-latency
Queue (LLQ), which saves several more microseconds. This feature will
be implemented for driver in future releases.
Submitted by: Michal Krawczyk <mk@semihalf.com>
Jakub Palider <jpa@semihalf.com>
Jan Medala <jan@semihalf.com>
Obtained from: Semihalf
Sponsored by: Amazon.com Inc.
Differential revision: https://reviews.freebsd.org/D10427
2017-05-22 14:46:13 +00:00
|
|
|
dev/ena/ena.c optional ena \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib"
|
2020-07-28 10:08:07 +00:00
|
|
|
dev/ena/ena_datapath.c optional ena \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib"
|
|
|
|
dev/ena/ena_netmap.c optional ena \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib"
|
2021-09-16 12:14:54 +00:00
|
|
|
dev/ena/ena_rss.c optional ena \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib"
|
Add support for Amazon Elastic Network Adapter (ENA) NIC
ENA is a networking interface designed to make good use of modern CPU
features and system architectures.
The ENA device exposes a lightweight management interface with a
minimal set of memory mapped registers and extendable command set
through an Admin Queue.
The driver supports a range of ENA devices, is link-speed independent
(i.e., the same driver is used for 10GbE, 25GbE, 40GbE, etc.), and has
a negotiated and extendable feature set.
Some ENA devices support SR-IOV. This driver is used for both the
SR-IOV Physical Function (PF) and Virtual Function (VF) devices.
ENA devices enable high speed and low overhead network traffic
processing by providing multiple Tx/Rx queue pairs (the maximum number
is advertised by the device via the Admin Queue), a dedicated MSI-X
interrupt vector per Tx/Rx queue pair, and CPU cacheline optimized
data placement.
The ENA driver supports industry standard TCP/IP offload features such
as checksum offload and TCP transmit segmentation offload (TSO).
Receive-side scaling (RSS) is supported for multi-core scaling.
The ENA driver and its corresponding devices implement health
monitoring mechanisms such as watchdog, enabling the device and driver
to recover in a manner transparent to the application, as well as
debug logs.
Some of the ENA devices support a working mode called Low-latency
Queue (LLQ), which saves several more microseconds. This feature will
be implemented for driver in future releases.
Submitted by: Michal Krawczyk <mk@semihalf.com>
Jakub Palider <jpa@semihalf.com>
Jan Medala <jan@semihalf.com>
Obtained from: Semihalf
Sponsored by: Amazon.com Inc.
Differential revision: https://reviews.freebsd.org/D10427
2017-05-22 14:46:13 +00:00
|
|
|
dev/ena/ena_sysctl.c optional ena \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib"
|
|
|
|
contrib/ena-com/ena_com.c optional ena
|
|
|
|
contrib/ena-com/ena_eth_com.c optional ena
|
2012-10-24 16:37:53 +00:00
|
|
|
dev/etherswitch/arswitch/arswitch.c optional arswitch
|
|
|
|
dev/etherswitch/arswitch/arswitch_reg.c optional arswitch
|
|
|
|
dev/etherswitch/arswitch/arswitch_phy.c optional arswitch
|
|
|
|
dev/etherswitch/arswitch/arswitch_8216.c optional arswitch
|
|
|
|
dev/etherswitch/arswitch/arswitch_8226.c optional arswitch
|
|
|
|
dev/etherswitch/arswitch/arswitch_8316.c optional arswitch
|
2014-02-24 04:47:16 +00:00
|
|
|
dev/etherswitch/arswitch/arswitch_8327.c optional arswitch
|
2012-10-24 16:37:53 +00:00
|
|
|
dev/etherswitch/arswitch/arswitch_7240.c optional arswitch
|
2013-10-16 04:10:28 +00:00
|
|
|
dev/etherswitch/arswitch/arswitch_9340.c optional arswitch
|
2013-07-23 14:24:22 +00:00
|
|
|
dev/etherswitch/arswitch/arswitch_vlans.c optional arswitch
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/etherswitch/etherswitch.c optional etherswitch
|
2012-10-24 16:37:53 +00:00
|
|
|
dev/etherswitch/etherswitch_if.m optional etherswitch
|
2013-05-08 20:58:41 +00:00
|
|
|
dev/etherswitch/ip17x/ip17x.c optional ip17x
|
|
|
|
dev/etherswitch/ip17x/ip175c.c optional ip17x
|
|
|
|
dev/etherswitch/ip17x/ip175d.c optional ip17x
|
|
|
|
dev/etherswitch/ip17x/ip17x_phy.c optional ip17x
|
|
|
|
dev/etherswitch/ip17x/ip17x_vlans.c optional ip17x
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/etherswitch/miiproxy.c optional miiproxy
|
|
|
|
dev/etherswitch/rtl8366/rtl8366rb.c optional rtl8366rb
|
2017-01-05 17:10:52 +00:00
|
|
|
dev/etherswitch/e6000sw/e6000sw.c optional e6000sw
|
2017-03-27 19:26:09 +00:00
|
|
|
dev/etherswitch/e6000sw/e6060sw.c optional e6060sw
|
|
|
|
dev/etherswitch/infineon/adm6996fc.c optional adm6996fc
|
|
|
|
dev/etherswitch/micrel/ksz8995ma.c optional ksz8995ma
|
2013-04-19 17:50:38 +00:00
|
|
|
dev/etherswitch/ukswitch/ukswitch.c optional ukswitch
|
2016-09-11 18:56:38 +00:00
|
|
|
dev/evdev/cdev.c optional evdev
|
|
|
|
dev/evdev/evdev.c optional evdev
|
|
|
|
dev/evdev/evdev_mt.c optional evdev
|
|
|
|
dev/evdev/evdev_utils.c optional evdev
|
|
|
|
dev/evdev/uinput.c optional evdev uinput
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/exca/exca.c optional cbb
|
2016-11-21 19:03:51 +00:00
|
|
|
dev/extres/clk/clk.c optional ext_resources clk fdt
|
|
|
|
dev/extres/clk/clkdev_if.m optional ext_resources clk fdt
|
|
|
|
dev/extres/clk/clknode_if.m optional ext_resources clk fdt
|
2016-03-15 15:27:15 +00:00
|
|
|
dev/extres/clk/clk_bus.c optional ext_resources clk fdt
|
2016-11-21 19:03:51 +00:00
|
|
|
dev/extres/clk/clk_div.c optional ext_resources clk fdt
|
|
|
|
dev/extres/clk/clk_fixed.c optional ext_resources clk fdt
|
|
|
|
dev/extres/clk/clk_gate.c optional ext_resources clk fdt
|
2019-11-08 18:57:41 +00:00
|
|
|
dev/extres/clk/clk_link.c optional ext_resources clk fdt
|
2016-11-21 19:03:51 +00:00
|
|
|
dev/extres/clk/clk_mux.c optional ext_resources clk fdt
|
|
|
|
dev/extres/phy/phy.c optional ext_resources phy fdt
|
2018-01-20 17:02:17 +00:00
|
|
|
dev/extres/phy/phydev_if.m optional ext_resources phy fdt
|
|
|
|
dev/extres/phy/phynode_if.m optional ext_resources phy fdt
|
2018-11-23 19:43:18 +00:00
|
|
|
dev/extres/phy/phy_usb.c optional ext_resources phy fdt
|
|
|
|
dev/extres/phy/phynode_usb_if.m optional ext_resources phy fdt
|
2016-11-21 19:03:51 +00:00
|
|
|
dev/extres/hwreset/hwreset.c optional ext_resources hwreset fdt
|
|
|
|
dev/extres/hwreset/hwreset_if.m optional ext_resources hwreset fdt
|
2018-07-31 19:08:24 +00:00
|
|
|
dev/extres/nvmem/nvmem.c optional ext_resources nvmem fdt
|
|
|
|
dev/extres/nvmem/nvmem_if.m optional ext_resources nvmem fdt
|
2016-11-21 19:03:51 +00:00
|
|
|
dev/extres/regulator/regdev_if.m optional ext_resources regulator fdt
|
|
|
|
dev/extres/regulator/regnode_if.m optional ext_resources regulator fdt
|
|
|
|
dev/extres/regulator/regulator.c optional ext_resources regulator fdt
|
2016-03-15 15:30:17 +00:00
|
|
|
dev/extres/regulator/regulator_bus.c optional ext_resources regulator fdt
|
2016-11-21 19:03:51 +00:00
|
|
|
dev/extres/regulator/regulator_fixed.c optional ext_resources regulator fdt
|
2017-12-23 14:30:44 +00:00
|
|
|
dev/extres/syscon/syscon.c optional ext_resources syscon
|
|
|
|
dev/extres/syscon/syscon_generic.c optional ext_resources syscon fdt
|
|
|
|
dev/extres/syscon/syscon_if.m optional ext_resources syscon
|
2020-07-26 18:19:50 +00:00
|
|
|
dev/extres/syscon/syscon_power.c optional ext_resources syscon syscon_power fdt
|
2013-12-05 22:38:53 +00:00
|
|
|
dev/fb/fbd.c optional fbd | vt
|
2013-12-07 15:24:43 +00:00
|
|
|
dev/fb/fb_if.m standard
|
2013-12-08 22:49:12 +00:00
|
|
|
dev/fb/splash.c optional sc splash
|
2014-09-13 19:03:32 +00:00
|
|
|
dev/fdt/fdt_clock.c optional fdt fdt_clock
|
|
|
|
dev/fdt/fdt_clock_if.m optional fdt fdt_clock
|
2010-06-13 13:02:43 +00:00
|
|
|
dev/fdt/fdt_common.c optional fdt
|
2014-09-13 19:03:32 +00:00
|
|
|
dev/fdt/fdt_pinctrl.c optional fdt fdt_pinctrl
|
|
|
|
dev/fdt/fdt_pinctrl_if.m optional fdt fdt_pinctrl
|
2019-06-25 04:50:09 +00:00
|
|
|
dev/fdt/fdt_slicer.c optional fdt cfi | fdt mx25l | fdt n25q | fdt at45d
|
2013-02-13 15:13:47 +00:00
|
|
|
dev/fdt/fdt_static_dtb.S optional fdt fdt_dtb_static \
|
2019-04-17 03:29:16 +00:00
|
|
|
dependency "${FDT_DTS_FILE:T:R}.dtb"
|
2010-06-13 13:02:43 +00:00
|
|
|
dev/fdt/simplebus.c optional fdt
|
2019-07-03 01:40:29 +00:00
|
|
|
dev/fdt/simple_mfd.c optional syscon fdt
|
2013-07-03 20:22:12 +00:00
|
|
|
dev/filemon/filemon.c optional filemon
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2018-07-11 22:23:50 +00:00
|
|
|
dev/flash/cqspi.c optional cqspi fdt xdma
|
2010-01-10 05:28:36 +00:00
|
|
|
dev/flash/mx25l.c optional mx25l
|
2018-07-11 22:23:50 +00:00
|
|
|
dev/flash/n25q.c optional n25q fdt
|
|
|
|
dev/flash/qspi_if.m optional cqspi fdt | n25q fdt
|
2018-12-19 04:54:32 +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
|
2020-07-26 18:15:16 +00:00
|
|
|
dev/goldfish/goldfish_rtc.c optional goldfish_rtc fdt
|
2019-09-04 15:55:44 +00:00
|
|
|
dev/gpio/dwgpio/dwgpio.c optional gpio dwgpio fdt
|
|
|
|
dev/gpio/dwgpio/dwgpio_bus.c optional gpio dwgpio fdt
|
|
|
|
dev/gpio/dwgpio/dwgpio_if.m optional gpio dwgpio fdt
|
2015-07-30 19:04:14 +00:00
|
|
|
dev/gpio/gpiobacklight.c optional gpiobacklight fdt
|
2016-05-11 17:57:26 +00:00
|
|
|
dev/gpio/gpiokeys.c optional gpiokeys fdt
|
|
|
|
dev/gpio/gpiokeys_codes.c optional gpiokeys fdt
|
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
|
2016-11-07 21:15:39 +00:00
|
|
|
dev/gpio/gpioled.c optional gpioled !fdt
|
|
|
|
dev/gpio/gpioled_fdt.c optional gpioled fdt
|
2019-12-06 20:21:07 +00:00
|
|
|
dev/gpio/gpiomdio.c optional gpiomdio mii_bitbang
|
2016-11-16 02:14:07 +00:00
|
|
|
dev/gpio/gpiopower.c optional gpiopower fdt
|
2016-10-15 20:04:14 +00:00
|
|
|
dev/gpio/gpioregulator.c optional gpioregulator fdt ext_resources
|
2016-05-26 07:20:33 +00:00
|
|
|
dev/gpio/gpiospi.c optional gpiospi
|
2017-01-16 15:36:36 +00:00
|
|
|
dev/gpio/gpioths.c optional gpioths
|
2010-09-28 03:24:53 +00:00
|
|
|
dev/gpio/gpio_if.m optional gpio
|
|
|
|
dev/gpio/gpiobus_if.m optional gpio
|
2019-06-24 02:27:17 +00:00
|
|
|
dev/gpio/gpiopps.c optional gpiopps fdt
|
2014-02-13 17:08:29 +00:00
|
|
|
dev/gpio/ofw_gpiobus.c optional fdt gpio
|
2020-10-10 21:45:17 +00:00
|
|
|
dev/hid/hconf.c optional hconf
|
2020-10-14 22:02:15 +00:00
|
|
|
dev/hid/hcons.c optional hcons
|
2020-10-14 22:02:15 +00:00
|
|
|
dev/hid/hgame.c optional hgame
|
2020-10-04 22:21:08 +00:00
|
|
|
dev/hid/hid.c optional hid
|
2020-10-06 19:42:22 +00:00
|
|
|
dev/hid/hid_if.m optional hid
|
2020-10-09 01:10:23 +00:00
|
|
|
dev/hid/hidbus.c optional hidbus
|
2020-10-14 22:02:15 +00:00
|
|
|
dev/hid/hidmap.c optional hidmap
|
2020-10-05 10:42:53 +00:00
|
|
|
dev/hid/hidquirk.c optional hid
|
2020-10-14 00:52:47 +00:00
|
|
|
dev/hid/hidraw.c optional hidraw
|
2020-10-12 19:52:29 +00:00
|
|
|
dev/hid/hkbd.c optional hkbd
|
2020-10-14 22:02:15 +00:00
|
|
|
dev/hid/hms.c optional hms
|
2020-10-10 23:42:25 +00:00
|
|
|
dev/hid/hmt.c optional hmt hconf
|
2020-10-14 22:02:15 +00:00
|
|
|
dev/hid/hpen.c optional hpen
|
2020-10-14 22:02:15 +00:00
|
|
|
dev/hid/hsctrl.c optional hsctrl
|
|
|
|
dev/hid/ps4dshock.c optional ps4dshock
|
2020-10-14 22:02:15 +00:00
|
|
|
dev/hid/xb360gp.c optional xb360gp
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/hifn/hifn7751.c optional hifn
|
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
|
2012-03-28 20:58:30 +00:00
|
|
|
dev/hwpmc/hwpmc_soft.c optional hwpmc
|
2016-12-26 22:13:43 +00:00
|
|
|
dev/ichiic/ig4_acpi.c optional ig4 acpi iicbus
|
add iic interface to ig4 driver, move isl and cyapa to iicbus
Summary:
The hardware does not expose a classic SMBus interface.
Instead it has a lower level interface that can express a far richer
I2C protocol than what smbus offers. However, the interface does not
provide a way to explicitly generate the I2C stop and start conditions.
It's only possible to request that the stop condition is generated
after transferring the next byte in either direction. So, at least
one data byte must always be transferred.
Thus, some I2C sequences are impossible to generate, e.g., an equivalent
of smbus quick command (<start>-<slave addr>-<r/w bit>-<stop>).
At the same time isl(4) and cyapa(4) are moved to iicbus and now they use
iicbus_transfer for communication. Previously they used smbus_trans()
interface that is not defined by the SMBus protocol and was implemented
only by ig4(4). In fact, that interface was impossible to implement
for the typical SMBus controllers like intpm(4) or ichsmb(4) where
a type of the SMBus command must be programmed.
The plan is to remove smbus_trans() and all its uses.
As an aside, the smbus_trans() method deviates from the standard,
but perhaps backwards, FreeBSD convention of using 8-bit slave
addresses (shifted by 1 bit to the left). The method expects
7-bit addresses.
There is a user facing consequence of this change.
A user must now provide device hints for isl and cyapa that specify an iicbus to use
and a slave address on it.
On Chromebook hardware where isl and cyapa devices are commonly found
it is also possible to use a new chromebook_platform(4) driver that
automatically configures isl and cyapa devices. There is no need to
provide the device hints in that case,
Right now smbus(4) driver tries to discover all slaves on the bus.
That is very dangerous. Fortunately, the probing code uses smbus_trans()
to do its job, so it is really enabled for ig4 only.
The plan is to remove that auto-probing code and smbus_trans().
Tested by: grembo, Matthias Apitz <guru@unixarea.de> (w/o
chromebook_platform)
Discussed with: grembo, imp
Reviewed by: wblock (docs)
MFC after: 1 month
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D8172
2016-10-30 12:15:33 +00:00
|
|
|
dev/ichiic/ig4_iic.c optional ig4 iicbus
|
|
|
|
dev/ichiic/ig4_pci.c optional ig4 pci iicbus
|
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_pci.c optional ida pci
|
2021-11-04 09:42:37 +00:00
|
|
|
dev/iicbus/acpi_iicbus.c optional acpi iicbus | acpi compat_linuxkpi
|
2006-11-19 23:43:29 +00:00
|
|
|
dev/iicbus/ad7418.c optional ad7418
|
2019-08-05 15:56:44 +00:00
|
|
|
dev/iicbus/ads111x.c optional ads111x
|
2015-03-20 19:51:24 +00:00
|
|
|
dev/iicbus/ds1307.c optional ds1307
|
2017-08-13 22:07:42 +00:00
|
|
|
dev/iicbus/ds13rtc.c optional ds13rtc | ds133x | ds1374
|
2006-11-19 23:43:29 +00:00
|
|
|
dev/iicbus/ds1672.c optional ds1672
|
2015-02-28 19:02:44 +00:00
|
|
|
dev/iicbus/ds3231.c optional ds3231
|
2021-01-19 12:57:24 +00:00
|
|
|
dev/iicbus/htu21.c optional htu21
|
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
|
2021-11-04 09:42:37 +00:00
|
|
|
dev/iicbus/iic_recover_bus.c optional iicbus | compat_linuxkpi
|
|
|
|
dev/iicbus/iicbb.c optional iicbb | compat_linuxkpi
|
|
|
|
dev/iicbus/iicbb_if.m optional iicbb | compat_linuxkpi
|
|
|
|
dev/iicbus/iicbus.c optional iicbus | compat_linuxkpi
|
|
|
|
dev/iicbus/iicbus_if.m optional iicbus | compat_linuxkpi
|
2020-10-06 21:50:16 +00:00
|
|
|
dev/iicbus/iichid.c optional iichid acpi hid iicbus
|
2021-11-04 09:42:37 +00:00
|
|
|
dev/iicbus/iiconf.c optional iicbus | compat_linuxkpi
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2020-01-02 23:00:52 +00:00
|
|
|
dev/iicbus/iicoc_fdt.c optional iicoc ext_resources fdt
|
2019-12-20 03:40:46 +00:00
|
|
|
dev/iicbus/iicoc_pci.c optional iicoc pci
|
2017-08-01 04:16:52 +00:00
|
|
|
dev/iicbus/isl12xx.c optional isl12xx
|
2014-05-10 12:19:02 +00:00
|
|
|
dev/iicbus/lm75.c optional lm75
|
2020-08-20 08:11:31 +00:00
|
|
|
dev/iicbus/max44009.c optional max44009
|
2020-12-05 12:08:37 +00:00
|
|
|
dev/iicbus/mux/pca9547.c optional pca9547 iicmux fdt
|
Add support for i2c bus mux hardware.
An i2c bus can be divided into segments which can be selectively connected
and disconnected from the main bus. This is usually done to enable using
multiple slave devices having the same address, by isolating the devices
onto separate bus segments, only one of which is connected to the main bus
at once.
There are several types of i2c bus muxes, which break down into two general
categories...
- Muxes which are themselves i2c slaves. These devices respond to i2c
commands on their upstream bus, and based on those commands, connect
various downstream buses to the upstream. In newbus terms, they are both
a child of an iicbus and the parent of one or more iicbus instances.
- Muxes which are not i2c devices themselves. Such devices are part of the
i2c bus electrically, but in newbus terms their parent is some other
bus. The association with the upstream bus must be established by
separate metadata (such as FDT data).
In both cases, the mux driver has one or more iicbus child instances
representing the downstream buses. The mux driver implements the iicbus_if
interface, as if it were an iichb host bridge/i2c controller driver. It
services the IO requests sent to it by forwarding them to the iicbus
instance representing the upstream bus, after electrically connecting the
upstream bus to the downstream bus that hosts the i2c slave device which
made the IO request.
The net effect is automatic mux switching which is transparent to slaves on
the downstream buses. They just do i2c IO they way they normally do, and the
bus is electrically connected for the duration of the IO and then idled when
it is complete.
The existing iicbus_if callback() method is enhanced so that the parameter
passed to it can be a struct which contains a device_t for the requesting
bus and slave devices. This change is done by adding a flag that indicates
the extra values are present, and making the flags field the first field of
a new args struct. If the flag is set, the iichb or mux driver can recast
the pointer-to-flags into a pointer-to-struct and access the extra
fields. Thus abi compatibility with older drivers is retained (but a mux
cannot exist on the bus with the older iicbus driver in use.)
A new set of core support routines exists in iicbus.c. This code will help
implement mux drivers for any type of mux hardware by supplying all the
boilerplate code that forwards IO requests upstream. It also has code for
parsing metadata and instantiating the child iicbus instances based on it.
Two new hardware mux drivers are added. The ltc430x driver supports the
LTC4305/4306 mux chips which are controlled via i2c commands. The
iic_gpiomux driver supports any mux hardware which is controlled by
manipulating the state of one or more gpio pins. Test Plan
Tested locally using a variety of mux'd bus configurations involving both
ltc4305 and a homebrew gpio-controlled mux. Tested configurations included
cascaded muxes (unlikely in the real world, but useful to prove that 'it all
just works' in terms of the automatic switching and upstream forwarding of
IO requests).
2020-01-02 17:51:49 +00:00
|
|
|
dev/iicbus/mux/iicmux.c optional iicmux
|
|
|
|
dev/iicbus/mux/iicmux_if.m optional iicmux
|
|
|
|
dev/iicbus/mux/iic_gpiomux.c optional iic_gpiomux fdt
|
|
|
|
dev/iicbus/mux/ltc430x.c optional ltc430x
|
2020-08-18 09:16:28 +00:00
|
|
|
dev/iicbus/mux/pca954x.c optional pca954x
|
2017-07-29 23:45:57 +00:00
|
|
|
dev/iicbus/nxprtc.c optional nxprtc | pcf8563
|
2016-05-24 01:33:49 +00:00
|
|
|
dev/iicbus/ofw_iicbus.c optional fdt iicbus
|
2020-10-01 09:48:56 +00:00
|
|
|
dev/iicbus/pcf8574.c optional pcf8574
|
2020-08-17 10:05:11 +00:00
|
|
|
dev/iicbus/pcf8591.c optional pcf8591
|
2019-06-23 17:23:56 +00:00
|
|
|
dev/iicbus/rtc8583.c optional rtc8583
|
2021-10-08 08:42:30 +00:00
|
|
|
dev/iicbus/rtc/pcf85063.c optional pcf85063 iicbus fdt
|
2020-05-25 15:40:02 +00:00
|
|
|
dev/iicbus/rtc/rx8803.c optional rx8803 iicbus fdt
|
2012-08-21 17:31:10 +00:00
|
|
|
dev/iicbus/s35390a.c optional s35390a
|
2019-06-23 17:38:30 +00:00
|
|
|
dev/iicbus/sy8106a.c optional sy8106a ext_resources fdt
|
2021-01-19 12:57:24 +00:00
|
|
|
dev/iicbus/syr827.c optional syr827 ext_resources fdt
|
2021-10-22 11:51:45 +00:00
|
|
|
dev/iicbus/gpio/tca6408.c optional tca6408 fdt gpio
|
2020-05-25 15:31:43 +00:00
|
|
|
dev/iicbus/gpio/tca6416.c optional tca6416 fdt
|
2021-07-08 17:25:31 +00:00
|
|
|
dev/iicbus/pmic/fan53555.c optional fan53555 ext_resources fdt
|
2021-07-12 04:50:15 +00:00
|
|
|
dev/igc/if_igc.c optional igc iflib pci
|
|
|
|
dev/igc/igc_api.c optional igc iflib pci
|
|
|
|
dev/igc/igc_base.c optional igc iflib pci
|
|
|
|
dev/igc/igc_i225.c optional igc iflib pci
|
|
|
|
dev/igc/igc_mac.c optional igc iflib pci
|
|
|
|
dev/igc/igc_nvm.c optional igc iflib pci
|
|
|
|
dev/igc/igc_phy.c optional igc iflib pci
|
|
|
|
dev/igc/igc_txrx.c optional igc iflib pci
|
2014-09-23 06:31:15 +00:00
|
|
|
dev/intpm/intpm.c optional intpm pci
|
2012-08-20 18:33:03 +00:00
|
|
|
# XXX Work around clang warning, until maintainer approves fix.
|
|
|
|
dev/ips/ips.c optional ips \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSOMETIMES_UNINITIALIZED}"
|
2005-01-04 06:07:25 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "ipwbssfw.c"
|
|
|
|
ipw_bss.fwo optional ipwbssfw | ipwfw \
|
|
|
|
dependency "ipw_bss.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "ipwibssfw.c"
|
|
|
|
ipw_ibss.fwo optional ipwibssfw | ipwfw \
|
|
|
|
dependency "ipw_ibss.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "ipwmonitorfw.c"
|
|
|
|
ipw_monitor.fwo optional ipwmonitorfw | ipwfw \
|
|
|
|
dependency "ipw_monitor.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "ipw_monitor.fw"
|
2017-03-30 04:56:27 +00:00
|
|
|
dev/iscsi/icl.c optional iscsi
|
|
|
|
dev/iscsi/icl_conn_if.m optional cfiscsi | iscsi
|
|
|
|
dev/iscsi/icl_soft.c optional iscsi
|
|
|
|
dev/iscsi/icl_soft_proxy.c optional iscsi
|
2013-09-14 15:29:06 +00:00
|
|
|
dev/iscsi/iscsi.c optional iscsi scbus
|
2014-05-20 19:55:06 +00:00
|
|
|
dev/ismt/ismt.c optional ismt
|
add iic interface to ig4 driver, move isl and cyapa to iicbus
Summary:
The hardware does not expose a classic SMBus interface.
Instead it has a lower level interface that can express a far richer
I2C protocol than what smbus offers. However, the interface does not
provide a way to explicitly generate the I2C stop and start conditions.
It's only possible to request that the stop condition is generated
after transferring the next byte in either direction. So, at least
one data byte must always be transferred.
Thus, some I2C sequences are impossible to generate, e.g., an equivalent
of smbus quick command (<start>-<slave addr>-<r/w bit>-<stop>).
At the same time isl(4) and cyapa(4) are moved to iicbus and now they use
iicbus_transfer for communication. Previously they used smbus_trans()
interface that is not defined by the SMBus protocol and was implemented
only by ig4(4). In fact, that interface was impossible to implement
for the typical SMBus controllers like intpm(4) or ichsmb(4) where
a type of the SMBus command must be programmed.
The plan is to remove smbus_trans() and all its uses.
As an aside, the smbus_trans() method deviates from the standard,
but perhaps backwards, FreeBSD convention of using 8-bit slave
addresses (shifted by 1 bit to the left). The method expects
7-bit addresses.
There is a user facing consequence of this change.
A user must now provide device hints for isl and cyapa that specify an iicbus to use
and a slave address on it.
On Chromebook hardware where isl and cyapa devices are commonly found
it is also possible to use a new chromebook_platform(4) driver that
automatically configures isl and cyapa devices. There is no need to
provide the device hints in that case,
Right now smbus(4) driver tries to discover all slaves on the bus.
That is very dangerous. Fortunately, the probing code uses smbus_trans()
to do its job, so it is really enabled for ig4 only.
The plan is to remove that auto-probing code and smbus_trans().
Tested by: grembo, Matthias Apitz <guru@unixarea.de> (w/o
chromebook_platform)
Discussed with: grembo, imp
Reviewed by: wblock (docs)
MFC after: 1 month
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D8172
2016-10-30 12:15:33 +00:00
|
|
|
dev/isl/isl.c optional isl iicbus
|
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
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "iwibssfw.c"
|
|
|
|
iwi_bss.fwo optional iwibssfw | iwifw \
|
|
|
|
dependency "iwi_bss.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "iwiibssfw.c"
|
|
|
|
iwi_ibss.fwo optional iwiibssfw | iwifw \
|
|
|
|
dependency "iwi_ibss.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "iwimonitorfw.c"
|
|
|
|
iwi_monitor.fwo optional iwimonitorfw | iwifw \
|
|
|
|
dependency "iwi_monitor.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwi_monitor.fw"
|
2015-08-08 21:08:10 +00:00
|
|
|
dev/iwm/if_iwm.c optional iwm
|
2017-02-22 04:35:53 +00:00
|
|
|
dev/iwm/if_iwm_7000.c optional iwm
|
|
|
|
dev/iwm/if_iwm_8000.c optional iwm
|
2019-11-08 20:47:59 +00:00
|
|
|
dev/iwm/if_iwm_9000.c optional iwm
|
|
|
|
dev/iwm/if_iwm_9260.c optional iwm
|
2015-08-08 21:08:10 +00:00
|
|
|
dev/iwm/if_iwm_binding.c optional iwm
|
2017-02-24 07:07:58 +00:00
|
|
|
dev/iwm/if_iwm_fw.c optional iwm
|
2016-06-02 04:42:45 +00:00
|
|
|
dev/iwm/if_iwm_led.c optional iwm
|
2015-08-08 21:08:10 +00:00
|
|
|
dev/iwm/if_iwm_mac_ctxt.c optional iwm
|
2017-02-06 21:02:26 +00:00
|
|
|
dev/iwm/if_iwm_notif_wait.c optional iwm
|
2015-08-08 21:08:10 +00:00
|
|
|
dev/iwm/if_iwm_pcie_trans.c optional iwm
|
|
|
|
dev/iwm/if_iwm_phy_ctxt.c optional iwm
|
|
|
|
dev/iwm/if_iwm_phy_db.c optional iwm
|
|
|
|
dev/iwm/if_iwm_power.c optional iwm
|
|
|
|
dev/iwm/if_iwm_scan.c optional iwm
|
2017-06-04 21:05:58 +00:00
|
|
|
dev/iwm/if_iwm_sf.c optional iwm
|
2017-05-12 06:03:23 +00:00
|
|
|
dev/iwm/if_iwm_sta.c optional iwm
|
2015-08-08 21:08:10 +00:00
|
|
|
dev/iwm/if_iwm_time_event.c optional iwm
|
|
|
|
dev/iwm/if_iwm_util.c optional iwm
|
|
|
|
iwm3160fw.c optional iwm3160fw | iwmfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwm3160.fw:iwm3160fw -miwm3160fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2015-08-08 21:08:10 +00:00
|
|
|
clean "iwm3160fw.c"
|
|
|
|
iwm3160fw.fwo optional iwm3160fw | iwmfw \
|
|
|
|
dependency "iwm3160.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwm3160fw.fwo"
|
|
|
|
iwm3160.fw optional iwm3160fw | iwmfw \
|
2017-02-08 07:03:52 +00:00
|
|
|
dependency "$S/contrib/dev/iwm/iwm-3160-17.fw.uu" \
|
2015-08-08 21:08:10 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwm3160.fw"
|
2018-03-28 07:59:16 +00:00
|
|
|
iwm3168fw.c optional iwm3168fw | iwmfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwm3168.fw:iwm3168fw -miwm3168fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2018-03-28 07:59:16 +00:00
|
|
|
clean "iwm3168fw.c"
|
|
|
|
iwm3168fw.fwo optional iwm3168fw | iwmfw \
|
|
|
|
dependency "iwm3168.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwm3168fw.fwo"
|
|
|
|
iwm3168.fw optional iwm3168fw | iwmfw \
|
|
|
|
dependency "$S/contrib/dev/iwm/iwm-3168-22.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwm3168.fw"
|
2015-08-08 21:08:10 +00:00
|
|
|
iwm7260fw.c optional iwm7260fw | iwmfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwm7260.fw:iwm7260fw -miwm7260fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2015-08-08 21:08:10 +00:00
|
|
|
clean "iwm7260fw.c"
|
|
|
|
iwm7260fw.fwo optional iwm7260fw | iwmfw \
|
|
|
|
dependency "iwm7260.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwm7260fw.fwo"
|
|
|
|
iwm7260.fw optional iwm7260fw | iwmfw \
|
2017-02-08 07:03:52 +00:00
|
|
|
dependency "$S/contrib/dev/iwm/iwm-7260-17.fw.uu" \
|
2015-08-08 21:08:10 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwm7260.fw"
|
|
|
|
iwm7265fw.c optional iwm7265fw | iwmfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwm7265.fw:iwm7265fw -miwm7265fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2015-08-08 21:08:10 +00:00
|
|
|
clean "iwm7265fw.c"
|
|
|
|
iwm7265fw.fwo optional iwm7265fw | iwmfw \
|
|
|
|
dependency "iwm7265.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwm7265fw.fwo"
|
|
|
|
iwm7265.fw optional iwm7265fw | iwmfw \
|
2017-02-08 07:03:52 +00:00
|
|
|
dependency "$S/contrib/dev/iwm/iwm-7265-17.fw.uu" \
|
2015-08-08 21:08:10 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwm7265.fw"
|
2017-02-22 04:44:08 +00:00
|
|
|
iwm7265Dfw.c optional iwm7265Dfw | iwmfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwm7265D.fw:iwm7265Dfw -miwm7265Dfw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2017-02-22 04:44:08 +00:00
|
|
|
clean "iwm7265Dfw.c"
|
|
|
|
iwm7265Dfw.fwo optional iwm7265Dfw | iwmfw \
|
|
|
|
dependency "iwm7265D.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwm7265Dfw.fwo"
|
|
|
|
iwm7265D.fw optional iwm7265Dfw | iwmfw \
|
|
|
|
dependency "$S/contrib/dev/iwm/iwm-7265D-17.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwm7265D.fw"
|
2016-07-25 23:05:25 +00:00
|
|
|
iwm8000Cfw.c optional iwm8000Cfw | iwmfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwm8000C.fw:iwm8000Cfw -miwm8000Cfw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2016-07-25 23:05:25 +00:00
|
|
|
clean "iwm8000Cfw.c"
|
|
|
|
iwm8000Cfw.fwo optional iwm8000Cfw | iwmfw \
|
|
|
|
dependency "iwm8000C.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwm8000Cfw.fwo"
|
|
|
|
iwm8000C.fw optional iwm8000Cfw | iwmfw \
|
2017-02-08 07:07:23 +00:00
|
|
|
dependency "$S/contrib/dev/iwm/iwm-8000C-16.fw.uu" \
|
2016-07-25 23:05:25 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwm8000C.fw"
|
2017-10-30 06:35:09 +00:00
|
|
|
iwm8265.fw optional iwm8265fw | iwmfw \
|
|
|
|
dependency "$S/contrib/dev/iwm/iwm-8265-22.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwm8265.fw"
|
|
|
|
iwm8265fw.c optional iwm8265fw | iwmfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwm8265.fw:iwm8265fw -miwm8265fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2017-10-30 06:35:09 +00:00
|
|
|
clean "iwm8265fw.c"
|
2017-10-30 06:51:03 +00:00
|
|
|
iwm8265fw.fwo optional iwm8265fw | iwmfw \
|
2017-10-30 06:35:09 +00:00
|
|
|
dependency "iwm8265.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
2017-10-30 06:51:03 +00:00
|
|
|
clean "iwm8265fw.fwo"
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2009-12-29 19:47:34 +00:00
|
|
|
clean "iwn1000fw.c"
|
|
|
|
iwn1000fw.fwo optional iwn1000fw | iwnfw \
|
|
|
|
dependency "iwn1000.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2009-12-29 19:47:34 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2009-12-29 19:47:34 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn1000.fw"
|
2014-08-30 13:47:05 +00:00
|
|
|
iwn100fw.c optional iwn100fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn100.fw:iwn100fw -miwn100fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2014-08-30 13:47:05 +00:00
|
|
|
clean "iwn100fw.c"
|
|
|
|
iwn100fw.fwo optional iwn100fw | iwnfw \
|
|
|
|
dependency "iwn100.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn100fw.fwo"
|
|
|
|
iwn100.fw optional iwn100fw | iwnfw \
|
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-100-39.31.5.1.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn100.fw"
|
2014-08-14 18:16:27 +00:00
|
|
|
iwn105fw.c optional iwn105fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn105.fw:iwn105fw -miwn105fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2014-08-14 18:16:27 +00:00
|
|
|
clean "iwn105fw.c"
|
|
|
|
iwn105fw.fwo optional iwn105fw | iwnfw \
|
|
|
|
dependency "iwn105.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn105fw.fwo"
|
|
|
|
iwn105.fw optional iwn105fw | iwnfw \
|
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-105-6-18.168.6.1.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn105.fw"
|
|
|
|
iwn135fw.c optional iwn135fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn135.fw:iwn135fw -miwn135fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2014-08-14 18:16:27 +00:00
|
|
|
clean "iwn135fw.c"
|
|
|
|
iwn135fw.fwo optional iwn135fw | iwnfw \
|
|
|
|
dependency "iwn135.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn135fw.fwo"
|
|
|
|
iwn135.fw optional iwn135fw | iwnfw \
|
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-135-6-18.168.6.1.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn135.fw"
|
2014-02-09 22:42:14 +00:00
|
|
|
iwn2000fw.c optional iwn2000fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn2000.fw:iwn2000fw -miwn2000fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2014-02-09 22:42:14 +00:00
|
|
|
clean "iwn2000fw.c"
|
|
|
|
iwn2000fw.fwo optional iwn2000fw | iwnfw \
|
|
|
|
dependency "iwn2000.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn2000fw.fwo"
|
|
|
|
iwn2000.fw optional iwn2000fw | iwnfw \
|
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-2000-18.168.6.1.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn2000.fw"
|
|
|
|
iwn2030fw.c optional iwn2030fw | iwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk iwn2030.fw:iwn2030fw -miwn2030fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2014-02-09 22:42:14 +00:00
|
|
|
clean "iwn2030fw.c"
|
|
|
|
iwn2030fw.fwo optional iwn2030fw | iwnfw \
|
|
|
|
dependency "iwn2030.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn2030fw.fwo"
|
|
|
|
iwn2030.fw optional iwn2030fw | iwnfw \
|
|
|
|
dependency "$S/contrib/dev/iwn/iwnwifi-2030-18.168.6.1.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "iwn2030.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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert 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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2009-10-25 10:23:11 +00:00
|
|
|
clean "iwn5000fw.c"
|
|
|
|
iwn5000fw.fwo optional iwn5000fw | iwnfw \
|
|
|
|
dependency "iwn5000.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2009-10-25 10:23:11 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2009-10-25 10:23:11 +00:00
|
|
|
clean "iwn5150fw.c"
|
|
|
|
iwn5150fw.fwo optional iwn5150fw | iwnfw \
|
|
|
|
dependency "iwn5150.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2009-10-25 10:23:11 +00:00
|
|
|
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"\
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2009-10-25 10:23:11 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2009-12-29 19:47:34 +00:00
|
|
|
clean "iwn6000fw.c"
|
|
|
|
iwn6000fw.fwo optional iwn6000fw | iwnfw \
|
|
|
|
dependency "iwn6000.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2009-12-29 19:47:34 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2010-07-15 11:26:07 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2011-04-20 17:34:09 +00:00
|
|
|
clean "iwn6000g2afw.c"
|
|
|
|
iwn6000g2afw.fwo optional iwn6000g2afw | iwnfw \
|
|
|
|
dependency "iwn6000g2a.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2011-04-20 17:34:09 +00:00
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn6000g2afw.fwo"
|
|
|
|
iwn6000g2a.fw optional iwn6000g2afw | iwnfw \
|
2014-12-27 17:10:35 +00:00
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-6000g2a-18.168.6.1.fw.uu" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2011-04-20 17:34:09 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2011-04-20 17:34:09 +00:00
|
|
|
clean "iwn6000g2bfw.c"
|
|
|
|
iwn6000g2bfw.fwo optional iwn6000g2bfw | iwnfw \
|
|
|
|
dependency "iwn6000g2b.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2011-04-20 17:34:09 +00:00
|
|
|
no-implicit-rule \
|
|
|
|
clean "iwn6000g2bfw.fwo"
|
|
|
|
iwn6000g2b.fw optional iwn6000g2bfw | iwnfw \
|
2014-12-27 17:10:35 +00:00
|
|
|
dependency "$S/contrib/dev/iwn/iwlwifi-6000g2b-18.168.6.1.fw.uu" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2011-04-20 17:34:09 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2010-07-15 11:26:07 +00:00
|
|
|
clean "iwn6050fw.c"
|
|
|
|
iwn6050fw.fwo optional iwn6050fw | iwnfw \
|
|
|
|
dependency "iwn6050.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2010-07-15 11:26:07 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2009-12-29 19:47:34 +00:00
|
|
|
no-obj no-implicit-rule \
|
2011-02-06 10:25:11 +00:00
|
|
|
clean "iwn6050.fw"
|
2015-03-17 18:32:28 +00:00
|
|
|
dev/ixgbe/if_ix.c optional ix inet \
|
Disable flow-director support until it's been debugged and verified.
The flowdirector feature shares on-chip memory with other things
such as the RX buffers. In theory it should be configured in a way
that doesn't interfere with the rest of operation. In practice,
the RX buffer calculation didn't take the flow-director allocation
into account and there'd be overlap. This lead to various garbage
frames being received containing what looks like internal NIC state.
What _I_ saw was traffic ending up in the wrong RX queues.
If I was doing a UDP traffic test with only one NIC ring receiving
traffic, everything is fine. If I fired up a second UDP stream
which came in on another ring, there'd be a few percent of traffic
from both rings ending up in the wrong ring. Ie, the RSS hash would
indicate it was supposed to come in ring X, but it'd come in ring Y.
However, when the allocation was fixed up, the developers at Verisign
still saw traffic stalls.
The flowdirector feature ends up fiddling with the NIC to do various
attempts at load balancing connections by populating flow table rules
based on sampled traffic. It's likely that all of that has to be
carefully reviewed and made less "magic".
So for now the flow director feature is disabled (which fixes both
what I was seeing and what they were seeing) until it's all much
more debugged and verified.
Tested:
* (me) 82599EB 2x10G NIC, RSS UDP testing.
* (verisign) not sure on the NIC (but likely 82599), 100k-200k/sec TCP
transaction tests.
Submitted by: Marc De La Gueronniere <mdelagueronniere@verisign.com>
MFC after: 1 week
Sponsored by: Verisign, Inc.
2014-09-15 21:09:19 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe -DSMP"
|
2015-03-17 18:32:28 +00:00
|
|
|
dev/ixgbe/if_ixv.c optional ixv inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe -DSMP"
|
2017-07-05 17:27:03 +00:00
|
|
|
dev/ixgbe/if_bypass.c optional ix inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
|
|
|
dev/ixgbe/if_fdir.c optional ix inet | ixv inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2017-12-20 18:15:06 +00:00
|
|
|
dev/ixgbe/if_sriov.c optional ix inet \
|
2017-07-05 17:27:03 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ix_txrx.c optional ix inet | ixv inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-12-23 22:45:17 +00:00
|
|
|
dev/ixgbe/ixgbe_osdep.c optional ix inet | ixv inet \
|
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_phy.c optional ix inet | ixv inet \
|
2007-07-11 22:59:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_api.c optional ix inet | ixv inet \
|
2007-07-11 22:59:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_common.c optional ix inet | ixv inet \
|
2007-07-11 22:59:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_mbx.c optional ix inet | ixv inet \
|
2010-11-26 22:46:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_vf.c optional ix inet | ixv inet \
|
2010-11-26 22:46:32 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_82598.c optional ix inet | ixv inet \
|
2007-07-11 22:59:57 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_82599.c optional ix inet | ixv inet \
|
2009-04-10 00:34:55 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_x540.c optional ix inet | ixv inet \
|
2012-01-30 16:42:02 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_x550.c optional ix inet | ixv inet \
|
2015-05-01 03:33:31 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_dcb.c optional ix inet | ixv inet \
|
2013-06-18 21:28:19 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_dcb_82598.c optional ix inet | ixv inet \
|
2013-06-18 21:28:19 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2015-06-24 15:53:52 +00:00
|
|
|
dev/ixgbe/ixgbe_dcb_82599.c optional ix inet | ixv inet \
|
2013-06-18 21:28:19 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/dev/ixgbe"
|
2018-02-22 23:18:46 +00:00
|
|
|
dev/jedec_dimm/jedec_dimm.c optional jedec_dimm smbus
|
2011-04-25 16:33:42 +00:00
|
|
|
dev/jme/if_jme.c optional jme pci
|
2020-10-12 19:52:29 +00:00
|
|
|
dev/kbd/kbd.c optional atkbd | pckbd | sc | ukbd | vt | hkbd
|
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
|
2017-09-12 23:58:38 +00:00
|
|
|
dev/liquidio/base/cn23xx_pf_device.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/base/lio_console.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/base/lio_ctrl.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/base/lio_device.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/base/lio_droq.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/base/lio_mem_ops.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/base/lio_request_manager.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/base/lio_response_manager.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/lio_core.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/lio_ioctl.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/lio_main.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/lio_rss.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/lio_rxtx.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
dev/liquidio/lio_sysctl.c optional lio \
|
|
|
|
compile-with "${NORMAL_C} \
|
|
|
|
-I$S/dev/liquidio -I$S/dev/liquidio/base -DSMP"
|
|
|
|
lio.c optional lio \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk lio_23xx_nic.bin.fw:lio_23xx_nic.bin -mlio_23xx_nic.bin -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2017-09-12 23:58:38 +00:00
|
|
|
clean "lio.c"
|
|
|
|
lio_23xx_nic.bin.fw.fwo optional lio \
|
|
|
|
dependency "lio_23xx_nic.bin.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "lio_23xx_nic.bin.fw.fwo"
|
|
|
|
lio_23xx_nic.bin.fw optional lio \
|
|
|
|
dependency "$S/contrib/dev/liquidio/lio_23xx_nic.bin.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "lio_23xx_nic.bin.fw"
|
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/md/md.c optional md
|
2015-12-26 02:31:39 +00:00
|
|
|
dev/mdio/mdio_if.m optional miiproxy | mdio
|
|
|
|
dev/mdio/mdio.c optional miiproxy | mdio
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2011-11-04 02:34:52 +00:00
|
|
|
dev/mfi/mfi_syspd.c optional mfi
|
|
|
|
dev/mfi/mfi_tbolt.c optional mfi
|
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
|
2021-11-15 08:58:59 +00:00
|
|
|
dev/mii/dp83822phy.c optional miibus | dp83822phy
|
2021-11-15 08:57:45 +00:00
|
|
|
dev/mii/dp83867phy.c optional miibus | dp83867phy
|
2006-02-07 18:41:56 +00:00
|
|
|
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
|
2016-07-28 05:59:56 +00:00
|
|
|
dev/mii/micphy.c optional miibus fdt | micphy fdt
|
2006-02-07 18:41:56 +00:00
|
|
|
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
|
2017-06-11 00:16:21 +00:00
|
|
|
dev/mii/mii_fdt.c optional miibus fdt | mii fdt
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/miibus_if.m optional miibus | mii
|
|
|
|
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
|
2012-08-15 04:03:55 +00:00
|
|
|
dev/mii/smscphy.c optional miibus | smscphy
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/tdkphy.c optional miibus | tdkphy
|
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
|
2017-06-11 00:38:16 +00:00
|
|
|
dev/mii/vscphy.c optional miibus | vscphy
|
2006-02-07 18:41:56 +00:00
|
|
|
dev/mii/xmphy.c optional miibus | xmphy
|
2019-05-08 10:49:05 +00:00
|
|
|
dev/mlxfw/mlxfw_fsm.c optional mlxfw \
|
|
|
|
compile-with "${MLXFW_C}"
|
|
|
|
dev/mlxfw/mlxfw_mfa2.c optional mlxfw \
|
|
|
|
compile-with "${MLXFW_C}"
|
|
|
|
dev/mlxfw/mlxfw_mfa2_tlv_multi.c optional mlxfw \
|
|
|
|
compile-with "${MLXFW_C}"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/mlx/mlx.c optional mlx
|
|
|
|
dev/mlx/mlx_disk.c optional mlx
|
|
|
|
dev/mlx/mlx_pci.c optional mlx pci
|
2017-07-09 16:57:24 +00:00
|
|
|
dev/mmc/mmc_subr.c optional mmc | mmcsd !mmccam
|
|
|
|
dev/mmc/mmc.c optional mmc !mmccam
|
2007-02-03 06:45:02 +00:00
|
|
|
dev/mmc/mmcbr_if.m standard
|
|
|
|
dev/mmc/mmcbus_if.m standard
|
2017-07-09 16:57:24 +00:00
|
|
|
dev/mmc/mmcsd.c optional mmcsd !mmccam
|
2021-05-21 17:35:20 +00:00
|
|
|
dev/mmc/mmc_fdt_helpers.c optional ext_resources mmc fdt | ext_resources mmccam fdt
|
2021-08-02 14:27:23 +00:00
|
|
|
dev/mmc/mmc_helpers.c optional ext_resources mmc | ext_resources mmccam
|
2021-05-21 17:35:20 +00:00
|
|
|
dev/mmc/mmc_pwrseq.c optional ext_resources mmc fdt | ext_resources mmccam fdt
|
|
|
|
dev/mmc/mmc_pwrseq_if.m optional ext_resources mmc fdt | ext_resources mmccam fdt
|
2017-07-09 16:57:24 +00:00
|
|
|
dev/mmcnull/mmcnull.c optional mmcnull
|
2014-05-02 20:25:09 +00:00
|
|
|
dev/mpr/mpr.c optional mpr
|
|
|
|
dev/mpr/mpr_config.c optional mpr
|
|
|
|
# XXX Work around clang warning, until maintainer approves fix.
|
|
|
|
dev/mpr/mpr_mapping.c optional mpr \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSOMETIMES_UNINITIALIZED}"
|
|
|
|
dev/mpr/mpr_pci.c optional mpr pci
|
|
|
|
dev/mpr/mpr_sas.c optional mpr \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WUNNEEDED_INTERNAL_DECL}"
|
|
|
|
dev/mpr/mpr_sas_lsi.c optional mpr
|
|
|
|
dev/mpr/mpr_table.c optional mpr
|
|
|
|
dev/mpr/mpr_user.c optional mpr
|
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
|
2012-08-20 18:33:03 +00:00
|
|
|
# XXX Work around clang warning, until maintainer approves fix.
|
|
|
|
dev/mps/mps_mapping.c optional mps \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WSOMETIMES_UNINITIALIZED}"
|
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
|
2014-05-07 16:16:49 +00:00
|
|
|
dev/mrsas/mrsas.c optional mrsas
|
|
|
|
dev/mrsas/mrsas_cam.c optional mrsas
|
|
|
|
dev/mrsas/mrsas_ioctl.c optional mrsas
|
|
|
|
dev/mrsas/mrsas_fp.c optional mrsas
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2009-06-01 18:07:01 +00:00
|
|
|
clean "mwlfw.c"
|
|
|
|
mw88W8363.fwo optional mwlfw \
|
|
|
|
dependency "mw88W8363.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2009-06-01 18:07:01 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2009-06-01 18:07:01 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "mw88W8363.fw"
|
|
|
|
mwlboot.fwo optional mwlfw \
|
|
|
|
dependency "mwlboot.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2009-06-01 18:07:01 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2009-06-01 18:07:01 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "mwlboot.fw"
|
2019-08-07 01:41:17 +00:00
|
|
|
dev/mxge/if_mxge.c optional mxge pci
|
2009-06-23 17:42:06 +00:00
|
|
|
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
|
2016-10-21 15:17:42 +00:00
|
|
|
dev/netmap/if_ptnet.c optional netmap inet
|
2011-11-22 21:50:38 +00:00
|
|
|
dev/netmap/netmap.c optional netmap
|
2018-12-05 11:57:16 +00:00
|
|
|
dev/netmap/netmap_bdg.c optional netmap
|
2013-12-15 08:37:24 +00:00
|
|
|
dev/netmap/netmap_freebsd.c optional netmap
|
|
|
|
dev/netmap/netmap_generic.c optional netmap
|
2018-12-05 11:57:16 +00:00
|
|
|
dev/netmap/netmap_kloop.c optional netmap
|
|
|
|
dev/netmap/netmap_legacy.c optional netmap
|
This new version of netmap brings you the following:
- netmap pipes, providing bidirectional blocking I/O while moving
100+ Mpps between processes using shared memory channels
(no mistake: over one hundred million. But mind you, i said
*moving* not *processing*);
- kqueue support (BHyVe needs it);
- improved user library. Just the interface name lets you select a NIC,
host port, VALE switch port, netmap pipe, and individual queues.
The upcoming netmap-enabled libpcap will use this feature.
- optional extra buffers associated to netmap ports, for applications
that need to buffer data yet don't want to make copies.
- segmentation offloading for the VALE switch, useful between VMs.
and a number of bug fixes and performance improvements.
My colleagues Giuseppe Lettieri and Vincenzo Maffione did a substantial
amount of work on these features so we owe them a big thanks.
There are some external repositories that can be of interest:
https://code.google.com/p/netmap
our public repository for netmap/VALE code, including
linux versions and other stuff that does not belong here,
such as python bindings.
https://code.google.com/p/netmap-libpcap
a clone of the libpcap repository with netmap support.
With this any libpcap client has access to most netmap
feature with no recompilation. E.g. tcpdump can filter
packets at 10-15 Mpps.
https://code.google.com/p/netmap-ipfw
a userspace version of ipfw+dummynet which uses netmap
to send/receive packets. Speed is up in the 7-10 Mpps
range per core for simple rulesets.
Both netmap-libpcap and netmap-ipfw will be merged upstream at some
point, but while this happens it is useful to have access to them.
And yes, this code will be merged soon. It is infinitely better
than the version currently in 10 and 9.
MFC after: 3 days
2014-02-15 04:53:04 +00:00
|
|
|
dev/netmap/netmap_mbq.c optional netmap
|
2013-11-01 21:21:14 +00:00
|
|
|
dev/netmap/netmap_mem2.c optional netmap
|
Update to the current version of netmap.
Mostly bugfixes or features developed in the past 6 months,
so this is a 10.1 candidate.
Basically no user API changes (some bugfixes in sys/net/netmap_user.h).
In detail:
1. netmap support for virtio-net, including in netmap mode.
Under bhyve and with a netmap backend [2] we reach over 1Mpps
with standard APIs (e.g. libpcap), and 5-8 Mpps in netmap mode.
2. (kernel) add support for multiple memory allocators, so we can
better partition physical and virtual interfaces giving access
to separate users. The most visible effect is one additional
argument to the various kernel functions to compute buffer
addresses. All netmap-supported drivers are affected, but changes
are mechanical and trivial
3. (kernel) simplify the prototype for *txsync() and *rxsync()
driver methods. All netmap drivers affected, changes mostly mechanical.
4. add support for netmap-monitor ports. Think of it as a mirroring
port on a physical switch: a netmap monitor port replicates traffic
present on the main port. Restrictions apply. Drive carefully.
5. if_lem.c: support for various paravirtualization features,
experimental and disabled by default.
Most of these are described in our ANCS'13 paper [1].
Paravirtualized support in netmap mode is new, and beats the
numbers in the paper by a large factor (under qemu-kvm,
we measured gues-host throughput up to 10-12 Mpps).
A lot of refactoring and additional documentation in the files
in sys/dev/netmap, but apart from #2 and #3 above, almost nothing
of this stuff is visible to other kernel parts.
Example programs in tools/tools/netmap have been updated with bugfixes
and to support more of the existing features.
This is meant to go into 10.1 so we plan an MFC before the Aug.22 deadline.
A lot of this code has been contributed by my colleagues at UNIPI,
including Giuseppe Lettieri, Vincenzo Maffione, Stefano Garzarella.
MFC after: 3 days.
2014-08-16 15:00:01 +00:00
|
|
|
dev/netmap/netmap_monitor.c optional netmap
|
2018-12-05 11:57:16 +00:00
|
|
|
dev/netmap/netmap_null.c optional netmap
|
This new version of netmap brings you the following:
- netmap pipes, providing bidirectional blocking I/O while moving
100+ Mpps between processes using shared memory channels
(no mistake: over one hundred million. But mind you, i said
*moving* not *processing*);
- kqueue support (BHyVe needs it);
- improved user library. Just the interface name lets you select a NIC,
host port, VALE switch port, netmap pipe, and individual queues.
The upcoming netmap-enabled libpcap will use this feature.
- optional extra buffers associated to netmap ports, for applications
that need to buffer data yet don't want to make copies.
- segmentation offloading for the VALE switch, useful between VMs.
and a number of bug fixes and performance improvements.
My colleagues Giuseppe Lettieri and Vincenzo Maffione did a substantial
amount of work on these features so we owe them a big thanks.
There are some external repositories that can be of interest:
https://code.google.com/p/netmap
our public repository for netmap/VALE code, including
linux versions and other stuff that does not belong here,
such as python bindings.
https://code.google.com/p/netmap-libpcap
a clone of the libpcap repository with netmap support.
With this any libpcap client has access to most netmap
feature with no recompilation. E.g. tcpdump can filter
packets at 10-15 Mpps.
https://code.google.com/p/netmap-ipfw
a userspace version of ipfw+dummynet which uses netmap
to send/receive packets. Speed is up in the 7-10 Mpps
range per core for simple rulesets.
Both netmap-libpcap and netmap-ipfw will be merged upstream at some
point, but while this happens it is useful to have access to them.
And yes, this code will be merged soon. It is infinitely better
than the version currently in 10 and 9.
MFC after: 3 days
2014-02-15 04:53:04 +00:00
|
|
|
dev/netmap/netmap_offloadings.c optional netmap
|
|
|
|
dev/netmap/netmap_pipe.c optional netmap
|
2013-12-15 08:37:24 +00:00
|
|
|
dev/netmap/netmap_vale.c optional netmap
|
2013-11-01 21:21:14 +00:00
|
|
|
# compile-with "${NORMAL_C} -Wconversion -Wextra"
|
2014-09-23 05:54:18 +00:00
|
|
|
dev/nfsmb/nfsmb.c optional nfsmb pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/nge/if_nge.c optional nge
|
|
|
|
dev/nmdm/nmdm.c optional nmdm
|
|
|
|
dev/null/null.c standard
|
2018-02-22 13:32:31 +00:00
|
|
|
dev/nvd/nvd.c optional nvd nvme
|
|
|
|
dev/nvme/nvme.c optional nvme
|
2019-08-21 22:18:01 +00:00
|
|
|
dev/nvme/nvme_ahci.c optional nvme ahci
|
2018-02-22 13:32:31 +00:00
|
|
|
dev/nvme/nvme_ctrlr.c optional nvme
|
|
|
|
dev/nvme/nvme_ctrlr_cmd.c optional nvme
|
|
|
|
dev/nvme/nvme_ns.c optional nvme
|
|
|
|
dev/nvme/nvme_ns_cmd.c optional nvme
|
2019-08-21 22:17:55 +00:00
|
|
|
dev/nvme/nvme_pci.c optional nvme pci
|
2018-02-22 13:32:31 +00:00
|
|
|
dev/nvme/nvme_qpair.c optional nvme
|
|
|
|
dev/nvme/nvme_sim.c optional nvme scbus
|
|
|
|
dev/nvme/nvme_sysctl.c optional nvme
|
|
|
|
dev/nvme/nvme_test.c optional nvme
|
|
|
|
dev/nvme/nvme_util.c optional nvme
|
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
|
2021-07-06 19:03:06 +00:00
|
|
|
dev/ocs_fc/ocs_gendump.c optional ocs_fc pci
|
2018-03-30 15:28:25 +00:00
|
|
|
dev/ocs_fc/ocs_pci.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_ioctl.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_os.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_utils.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_hw.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_hw_queues.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/sli4.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_sm.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_device.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_xport.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_domain.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_sport.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_els.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_fabric.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_io.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_node.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_scsi.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_unsol.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_ddump.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_mgmt.c optional ocs_fc pci
|
|
|
|
dev/ocs_fc/ocs_cam.c optional ocs_fc pci
|
2012-10-24 16:53:02 +00:00
|
|
|
dev/ofw/ofw_bus_if.m optional fdt
|
|
|
|
dev/ofw/ofw_bus_subr.c optional fdt
|
2016-09-21 02:56:57 +00:00
|
|
|
dev/ofw/ofw_cpu.c optional fdt
|
2012-10-24 16:53:02 +00:00
|
|
|
dev/ofw/ofw_fdt.c optional fdt
|
2012-11-13 06:07:13 +00:00
|
|
|
dev/ofw/ofw_if.m optional fdt
|
2019-04-17 20:09:01 +00:00
|
|
|
dev/ofw/ofw_graph.c optional fdt
|
2015-12-21 18:07:32 +00:00
|
|
|
dev/ofw/ofw_subr.c optional fdt
|
2014-02-05 14:44:22 +00:00
|
|
|
dev/ofw/ofwbus.c optional fdt
|
2012-10-24 16:53:02 +00:00
|
|
|
dev/ofw/openfirm.c optional fdt
|
|
|
|
dev/ofw/openfirmio.c optional fdt
|
2015-08-27 23:33:38 +00:00
|
|
|
dev/ow/ow.c optional ow \
|
|
|
|
dependency "owll_if.h" \
|
|
|
|
dependency "own_if.h"
|
|
|
|
dev/ow/owll_if.m optional ow
|
|
|
|
dev/ow/own_if.m optional ow
|
|
|
|
dev/ow/ow_temp.c optional ow_temp
|
|
|
|
dev/ow/owc_gpiobus.c optional owc gpio
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/pbio/pbio.c optional pbio isa
|
|
|
|
dev/pccbb/pccbb.c optional cbb
|
|
|
|
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/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
|
2015-03-01 00:40:09 +00:00
|
|
|
dev/pci/pci_iov.c optional pci pci_iov
|
2015-05-28 22:01:50 +00:00
|
|
|
dev/pci/pci_iov_if.m standard
|
2015-03-01 00:40:42 +00:00
|
|
|
dev/pci/pci_iov_schema.c optional pci pci_iov
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2014-04-01 15:47:24 +00:00
|
|
|
dev/pci/pcib_support.c standard
|
2005-12-20 22:35:39 +00:00
|
|
|
dev/pci/vga_pci.c optional pci
|
2015-07-07 13:17:02 +00:00
|
|
|
dev/pms/freebsd/driver/ini/src/agtiapi.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/sadisc.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/mpi.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/saframe.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/sahw.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/sainit.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/saint.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/sampicmd.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/sampirsp.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/saphy.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/saport.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/sasata.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/sasmp.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/sassp.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/satimer.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/sautil.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/saioctlcmd.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sallsdk/spc/mpidebug.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/discovery/dm/dminit.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/discovery/dm/dmsmp.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/discovery/dm/dmdisc.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/discovery/dm/dmport.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/discovery/dm/dmtimer.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/discovery/dm/dmmisc.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sat/src/sminit.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sat/src/smmisc.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sat/src/smsat.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sat/src/smsatcb.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sat/src/smsathw.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/sat/src/smtimer.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tdinit.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tdmisc.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tdesgl.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tdport.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tdint.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tdioctl.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tdhw.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/ossacmnapi.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tddmcmnapi.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tdsmcmnapi.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/common/tdtimers.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/sas/ini/itdio.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/sas/ini/itdcb.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/sas/ini/itdinit.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/sas/ini/itddisc.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/sata/host/sat.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/sata/host/ossasat.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
|
|
|
dev/pms/RefTisa/tisa/sassata/sata/host/sathw.c optional pmspcv \
|
|
|
|
compile-with "${NORMAL_C} -Wunused-variable -Woverflow -Wparentheses -w"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/ppbus/if_plip.c optional plip
|
|
|
|
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
|
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
|
2015-07-03 15:56:00 +00:00
|
|
|
dev/proto/proto_bus_isa.c optional proto acpi | proto isa
|
|
|
|
dev/proto/proto_bus_pci.c optional proto pci
|
|
|
|
dev/proto/proto_busdma.c optional proto
|
|
|
|
dev/proto/proto_core.c optional proto
|
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-10 05:11:40 +00:00
|
|
|
dev/puc/puc_pci.c optional puc pci
|
2019-06-15 16:16:29 +00:00
|
|
|
dev/pwm/pwmc.c optional pwm | pwmc
|
|
|
|
dev/pwm/pwmbus.c optional pwm | pwmbus
|
|
|
|
dev/pwm/pwmbus_if.m optional pwm | pwmbus
|
|
|
|
dev/pwm/ofw_pwm.c optional pwm fdt | pwmbus fdt
|
2019-06-17 03:32:05 +00:00
|
|
|
dev/pwm/ofw_pwmbus.c optional pwm fdt | pwmbus fdt
|
2020-10-03 14:00:33 +00:00
|
|
|
dev/pwm/pwm_backlight.c optional pwm pwm_backlight ext_resources fdt
|
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
|
2012-05-10 17:41:16 +00:00
|
|
|
dev/ral/rt2860.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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "rt2561fw.c"
|
|
|
|
rt2561fw.fwo optional rt2561fw | ralfw \
|
|
|
|
dependency "rt2561.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "rt2561sfw.c"
|
|
|
|
rt2561sfw.fwo optional rt2561sfw | ralfw \
|
|
|
|
dependency "rt2561s.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "rt2661fw.c"
|
|
|
|
rt2661fw.fwo optional rt2661fw | ralfw \
|
|
|
|
dependency "rt2661.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "rt2860fw.c"
|
|
|
|
rt2860fw.fwo optional rt2860fw | ralfw \
|
|
|
|
dependency "rt2860.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rt2860.fw"
|
2019-06-21 00:16:30 +00:00
|
|
|
dev/random/random_infra.c standard
|
|
|
|
dev/random/random_harvestq.c standard
|
|
|
|
dev/random/randomdev.c optional !random_loadable
|
2020-10-10 21:45:59 +00:00
|
|
|
dev/random/fenestrasX/fx_brng.c optional !random_loadable random_fenestrasx
|
|
|
|
dev/random/fenestrasX/fx_main.c optional !random_loadable random_fenestrasx \
|
|
|
|
compile-with "${NORMAL_C} -I$S/crypto/blake2"
|
|
|
|
dev/random/fenestrasX/fx_pool.c optional !random_loadable random_fenestrasx \
|
|
|
|
compile-with "${NORMAL_C} -I$S/crypto/blake2"
|
|
|
|
dev/random/fenestrasX/fx_rng.c optional !random_loadable random_fenestrasx \
|
|
|
|
compile-with "${NORMAL_C} -I$S/crypto/blake2"
|
|
|
|
dev/random/fortuna.c optional !random_loadable !random_fenestrasx
|
2019-06-21 00:16:30 +00:00
|
|
|
dev/random/hash.c optional !random_loadable
|
2015-08-18 21:05:56 +00:00
|
|
|
dev/rccgpio/rccgpio.c optional rccgpio gpio
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/re/if_re.c optional re
|
2014-09-19 10:32:20 +00:00
|
|
|
dev/rl/if_rl.c optional rl pci
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/rndtest/rndtest.c optional rndtest
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
#
|
2020-11-24 21:28:44 +00:00
|
|
|
dev/rtsx/rtsx.c optional rtsx pci
|
|
|
|
#
|
2016-05-27 03:30:42 +00:00
|
|
|
dev/rtwn/if_rtwn.c optional rtwn
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
dev/rtwn/if_rtwn_beacon.c optional rtwn
|
|
|
|
dev/rtwn/if_rtwn_calib.c optional rtwn
|
|
|
|
dev/rtwn/if_rtwn_cam.c optional rtwn
|
|
|
|
dev/rtwn/if_rtwn_efuse.c optional rtwn
|
|
|
|
dev/rtwn/if_rtwn_fw.c optional rtwn
|
|
|
|
dev/rtwn/if_rtwn_rx.c optional rtwn
|
|
|
|
dev/rtwn/if_rtwn_task.c optional rtwn
|
|
|
|
dev/rtwn/if_rtwn_tx.c optional rtwn
|
|
|
|
#
|
|
|
|
dev/rtwn/pci/rtwn_pci_attach.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/pci/rtwn_pci_reg.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/pci/rtwn_pci_rx.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/pci/rtwn_pci_tx.c optional rtwn_pci pci
|
|
|
|
#
|
|
|
|
dev/rtwn/usb/rtwn_usb_attach.c optional rtwn_usb
|
|
|
|
dev/rtwn/usb/rtwn_usb_ep.c optional rtwn_usb
|
|
|
|
dev/rtwn/usb/rtwn_usb_reg.c optional rtwn_usb
|
|
|
|
dev/rtwn/usb/rtwn_usb_rx.c optional rtwn_usb
|
|
|
|
dev/rtwn/usb/rtwn_usb_tx.c optional rtwn_usb
|
|
|
|
# RTL8188E
|
|
|
|
dev/rtwn/rtl8188e/r88e_beacon.c optional rtwn
|
|
|
|
dev/rtwn/rtl8188e/r88e_calib.c optional rtwn
|
|
|
|
dev/rtwn/rtl8188e/r88e_chan.c optional rtwn
|
|
|
|
dev/rtwn/rtl8188e/r88e_fw.c optional rtwn
|
|
|
|
dev/rtwn/rtl8188e/r88e_init.c optional rtwn
|
|
|
|
dev/rtwn/rtl8188e/r88e_led.c optional rtwn
|
|
|
|
dev/rtwn/rtl8188e/r88e_tx.c optional rtwn
|
|
|
|
dev/rtwn/rtl8188e/r88e_rf.c optional rtwn
|
|
|
|
dev/rtwn/rtl8188e/r88e_rom.c optional rtwn
|
|
|
|
dev/rtwn/rtl8188e/r88e_rx.c optional rtwn
|
2019-01-02 15:01:55 +00:00
|
|
|
dev/rtwn/rtl8188e/pci/r88ee_attach.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/rtl8188e/pci/r88ee_init.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/rtl8188e/pci/r88ee_rx.c optional rtwn_pci pci
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
dev/rtwn/rtl8188e/usb/r88eu_attach.c optional rtwn_usb
|
|
|
|
dev/rtwn/rtl8188e/usb/r88eu_init.c optional rtwn_usb
|
|
|
|
# RTL8192C
|
|
|
|
dev/rtwn/rtl8192c/r92c_attach.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192c/r92c_beacon.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192c/r92c_calib.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192c/r92c_chan.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192c/r92c_fw.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192c/r92c_init.c optional rtwn
|
2017-01-24 02:35:38 +00:00
|
|
|
dev/rtwn/rtl8192c/r92c_llt.c optional rtwn
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
dev/rtwn/rtl8192c/r92c_rf.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192c/r92c_rom.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192c/r92c_rx.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192c/r92c_tx.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192c/pci/r92ce_attach.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/rtl8192c/pci/r92ce_calib.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/rtl8192c/pci/r92ce_fw.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/rtl8192c/pci/r92ce_init.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/rtl8192c/pci/r92ce_led.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/rtl8192c/pci/r92ce_rx.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/rtl8192c/pci/r92ce_tx.c optional rtwn_pci pci
|
|
|
|
dev/rtwn/rtl8192c/usb/r92cu_attach.c optional rtwn_usb
|
|
|
|
dev/rtwn/rtl8192c/usb/r92cu_init.c optional rtwn_usb
|
|
|
|
dev/rtwn/rtl8192c/usb/r92cu_led.c optional rtwn_usb
|
|
|
|
dev/rtwn/rtl8192c/usb/r92cu_rx.c optional rtwn_usb
|
|
|
|
dev/rtwn/rtl8192c/usb/r92cu_tx.c optional rtwn_usb
|
2017-01-24 02:35:38 +00:00
|
|
|
# RTL8192E
|
|
|
|
dev/rtwn/rtl8192e/r92e_chan.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192e/r92e_fw.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192e/r92e_init.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192e/r92e_led.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192e/r92e_rf.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192e/r92e_rom.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192e/r92e_rx.c optional rtwn
|
|
|
|
dev/rtwn/rtl8192e/usb/r92eu_attach.c optional rtwn_usb
|
|
|
|
dev/rtwn/rtl8192e/usb/r92eu_init.c optional rtwn_usb
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
# RTL8812A
|
|
|
|
dev/rtwn/rtl8812a/r12a_beacon.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_calib.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_caps.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_chan.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_fw.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_init.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_led.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_rf.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_rom.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_rx.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/r12a_tx.c optional rtwn
|
|
|
|
dev/rtwn/rtl8812a/usb/r12au_attach.c optional rtwn_usb
|
|
|
|
dev/rtwn/rtl8812a/usb/r12au_init.c optional rtwn_usb
|
|
|
|
dev/rtwn/rtl8812a/usb/r12au_rx.c optional rtwn_usb
|
|
|
|
dev/rtwn/rtl8812a/usb/r12au_tx.c optional rtwn_usb
|
|
|
|
# RTL8821A
|
|
|
|
dev/rtwn/rtl8821a/r21a_beacon.c optional rtwn
|
|
|
|
dev/rtwn/rtl8821a/r21a_calib.c optional rtwn
|
|
|
|
dev/rtwn/rtl8821a/r21a_chan.c optional rtwn
|
|
|
|
dev/rtwn/rtl8821a/r21a_fw.c optional rtwn
|
|
|
|
dev/rtwn/rtl8821a/r21a_init.c optional rtwn
|
|
|
|
dev/rtwn/rtl8821a/r21a_led.c optional rtwn
|
|
|
|
dev/rtwn/rtl8821a/r21a_rom.c optional rtwn
|
|
|
|
dev/rtwn/rtl8821a/r21a_rx.c optional rtwn
|
|
|
|
dev/rtwn/rtl8821a/usb/r21au_attach.c optional rtwn_usb
|
2017-01-17 00:48:02 +00:00
|
|
|
dev/rtwn/rtl8821a/usb/r21au_dfs.c optional rtwn_usb
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
dev/rtwn/rtl8821a/usb/r21au_init.c optional rtwn_usb
|
2019-01-02 15:01:55 +00:00
|
|
|
rtwn-rtl8188eefw.c optional rtwn-rtl8188eefw | rtwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rtwn-rtl8188eefw.fw:rtwn-rtl8188eefw:111 -mrtwn-rtl8188eefw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2019-01-02 15:01:55 +00:00
|
|
|
clean "rtwn-rtl8188eefw.c"
|
|
|
|
rtwn-rtl8188eefw.fwo optional rtwn-rtl8188eefw | rtwnfw \
|
|
|
|
dependency "rtwn-rtl8188eefw.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8188eefw.fwo"
|
|
|
|
rtwn-rtl8188eefw.fw optional rtwn-rtl8188eefw | rtwnfw \
|
|
|
|
dependency "$S/contrib/dev/rtwn/rtwn-rtl8188eefw.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8188eefw.fw"
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
rtwn-rtl8188eufw.c optional rtwn-rtl8188eufw | rtwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rtwn-rtl8188eufw.fw:rtwn-rtl8188eufw:111 -mrtwn-rtl8188eufw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
clean "rtwn-rtl8188eufw.c"
|
|
|
|
rtwn-rtl8188eufw.fwo optional rtwn-rtl8188eufw | rtwnfw \
|
|
|
|
dependency "rtwn-rtl8188eufw.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8188eufw.fwo"
|
|
|
|
rtwn-rtl8188eufw.fw optional rtwn-rtl8188eufw | rtwnfw \
|
|
|
|
dependency "$S/contrib/dev/rtwn/rtwn-rtl8188eufw.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8188eufw.fw"
|
|
|
|
rtwn-rtl8192cfwE.c optional rtwn-rtl8192cfwE | rtwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rtwn-rtl8192cfwE.fw:rtwn-rtl8192cfwE:111 -mrtwn-rtl8192cfwE -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
clean "rtwn-rtl8192cfwE.c"
|
|
|
|
rtwn-rtl8192cfwE.fwo optional rtwn-rtl8192cfwE | rtwnfw \
|
|
|
|
dependency "rtwn-rtl8192cfwE.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192cfwE.fwo"
|
|
|
|
rtwn-rtl8192cfwE.fw optional rtwn-rtl8192cfwE | rtwnfw \
|
|
|
|
dependency "$S/contrib/dev/rtwn/rtwn-rtl8192cfwE.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192cfwE.fw"
|
|
|
|
rtwn-rtl8192cfwE_B.c optional rtwn-rtl8192cfwE_B | rtwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rtwn-rtl8192cfwE_B.fw:rtwn-rtl8192cfwE_B:111 -mrtwn-rtl8192cfwE_B -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
clean "rtwn-rtl8192cfwE_B.c"
|
|
|
|
rtwn-rtl8192cfwE_B.fwo optional rtwn-rtl8192cfwE_B | rtwnfw \
|
|
|
|
dependency "rtwn-rtl8192cfwE_B.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192cfwE_B.fwo"
|
|
|
|
rtwn-rtl8192cfwE_B.fw optional rtwn-rtl8192cfwE_B | rtwnfw \
|
|
|
|
dependency "$S/contrib/dev/rtwn/rtwn-rtl8192cfwE_B.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192cfwE_B.fw"
|
|
|
|
rtwn-rtl8192cfwT.c optional rtwn-rtl8192cfwT | rtwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rtwn-rtl8192cfwT.fw:rtwn-rtl8192cfwT:111 -mrtwn-rtl8192cfwT -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
clean "rtwn-rtl8192cfwT.c"
|
|
|
|
rtwn-rtl8192cfwT.fwo optional rtwn-rtl8192cfwT | rtwnfw \
|
|
|
|
dependency "rtwn-rtl8192cfwT.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192cfwT.fwo"
|
|
|
|
rtwn-rtl8192cfwT.fw optional rtwn-rtl8192cfwT | rtwnfw \
|
|
|
|
dependency "$S/contrib/dev/rtwn/rtwn-rtl8192cfwT.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192cfwT.fw"
|
2016-05-27 03:30:42 +00:00
|
|
|
rtwn-rtl8192cfwU.c optional rtwn-rtl8192cfwU | rtwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rtwn-rtl8192cfwU.fw:rtwn-rtl8192cfwU:111 -mrtwn-rtl8192cfwU -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2016-05-27 03:30:42 +00:00
|
|
|
clean "rtwn-rtl8192cfwU.c"
|
|
|
|
rtwn-rtl8192cfwU.fwo optional rtwn-rtl8192cfwU | rtwnfw \
|
|
|
|
dependency "rtwn-rtl8192cfwU.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192cfwU.fwo"
|
|
|
|
rtwn-rtl8192cfwU.fw optional rtwn-rtl8192cfwU | rtwnfw \
|
|
|
|
dependency "$S/contrib/dev/rtwn/rtwn-rtl8192cfwU.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192cfwU.fw"
|
2017-01-24 02:35:38 +00:00
|
|
|
rtwn-rtl8192eufw.c optional rtwn-rtl8192eufw | rtwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rtwn-rtl8192eufw.fw:rtwn-rtl8192eufw:111 -mrtwn-rtl8192eufw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2017-01-24 02:35:38 +00:00
|
|
|
clean "rtwn-rtl8192eufw.c"
|
|
|
|
rtwn-rtl8192eufw.fwo optional rtwn-rtl8192eufw | rtwnfw \
|
|
|
|
dependency "rtwn-rtl8192eufw.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192eufw.fwo"
|
|
|
|
rtwn-rtl8192eufw.fw optional rtwn-rtl8192eufw | rtwnfw \
|
|
|
|
dependency "$S/contrib/dev/rtwn/rtwn-rtl8192eufw.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8192eufw.fw"
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
rtwn-rtl8812aufw.c optional rtwn-rtl8812aufw | rtwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rtwn-rtl8812aufw.fw:rtwn-rtl8812aufw:111 -mrtwn-rtl8812aufw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
clean "rtwn-rtl8812aufw.c"
|
|
|
|
rtwn-rtl8812aufw.fwo optional rtwn-rtl8812aufw | rtwnfw \
|
|
|
|
dependency "rtwn-rtl8812aufw.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8812aufw.fwo"
|
|
|
|
rtwn-rtl8812aufw.fw optional rtwn-rtl8812aufw | rtwnfw \
|
|
|
|
dependency "$S/contrib/dev/rtwn/rtwn-rtl8812aufw.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rtwn-rtl8812aufw.fw"
|
|
|
|
rtwn-rtl8821aufw.c optional rtwn-rtl8821aufw | rtwnfw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rtwn-rtl8821aufw.fw:rtwn-rtl8821aufw:111 -mrtwn-rtl8821aufw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
clean "rtwn-rtl8821aufw.c"
|
|
|
|
rtwn-rtl8821aufw.fwo optional rtwn-rtl8821aufw | rtwnfw \
|
|
|
|
dependency "rtwn-rtl8821aufw.fw" \
|
2016-05-27 03:30:42 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
clean "rtwn-rtl8821aufw.fwo"
|
|
|
|
rtwn-rtl8821aufw.fw optional rtwn-rtl8821aufw | rtwnfw \
|
|
|
|
dependency "$S/contrib/dev/rtwn/rtwn-rtl8821aufw.fw.uu" \
|
2016-05-27 03:30:42 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
rtwn(4), urtwn(4): merge common code, add support for 11ac devices.
All devices:
- add support for rate adaptation via ieee80211_amrr(9);
- use short preamble for transmitted frames when needed;
- multi-bss support:
* for RTL8821AU: 2 VAPs at the same time;
* other: 1 any VAP + 1 sta VAP.
RTL8188CE:
- fix IQ calibration bug (reason of significant speed degradation);
- add h/w crypto acceleration support.
USB:
- A-MPDU Tx support;
- short GI support;
Other:
- add support for RTL8812AU / RTL8821AU chipsets
(a/b/g/n only; no ac yet);
- split merged code into subparts:
* bus glue (usb/*, pci/*, rtl*/usb/*, rtl*/pci/*)
* common (if_rtwn*)
* chip-specific (rtl*/*)
- various other bugfixes.
Due to code reorganization, module names / requirements were changed too:
urtwn urtwnfw -> rtwn rtwn_usb rtwnfw
rtwn rtwnfw -> rtwn rtwn_pci rtwnfw
Tested with RTL8188CE, RTL8188CUS, RTL8188EU and RTL8821AU.
Tested by: kevlo, garga,
Peter Garshtja <peter.garshtja@ambient-md.com>,
Kevin McAleavey <kevin.mcaleavey@knosproject.com>,
Ilias-Dimitrios Vrachnis <id@vrachnis.com>,
<otacilio.neto@bsd.com.br>
Relnotes: yes
2016-10-17 20:38:24 +00:00
|
|
|
clean "rtwn-rtl8821aufw.fw"
|
2005-01-04 06:07:25 +00:00
|
|
|
dev/safe/safe.c optional safe
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/scc/scc_if.m optional scc
|
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_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_z8530.c optional scc
|
2012-10-16 01:10:43 +00:00
|
|
|
dev/sdhci/sdhci.c optional sdhci
|
2018-01-25 17:16:29 +00:00
|
|
|
dev/sdhci/sdhci_fdt.c optional sdhci fdt
|
2017-01-09 01:54:36 +00:00
|
|
|
dev/sdhci/sdhci_fdt_gpio.c optional sdhci fdt gpio
|
2020-09-02 11:18:21 +00:00
|
|
|
dev/sdhci/sdhci_fsl_fdt.c optional sdhci ext_resources fdt gpio
|
2012-10-16 01:10:43 +00:00
|
|
|
dev/sdhci/sdhci_if.m optional sdhci
|
2017-01-11 01:53:54 +00:00
|
|
|
dev/sdhci/sdhci_acpi.c optional sdhci acpi
|
2012-10-16 01:10:43 +00:00
|
|
|
dev/sdhci/sdhci_pci.c optional sdhci pci
|
2019-06-08 17:38:27 +00:00
|
|
|
dev/sdio/sdio_if.m optional mmccam
|
|
|
|
dev/sdio/sdio_subr.c optional mmccam
|
|
|
|
dev/sdio/sdiob.c optional mmccam
|
2010-04-14 20:45:33 +00:00
|
|
|
dev/sge/if_sge.c optional sge 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
|
2021-02-23 21:14:18 +00:00
|
|
|
dev/smbios/smbios.c optional smbios
|
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
|
2020-07-28 09:29:56 +00:00
|
|
|
dev/smc/if_smc_acpi.c optional smc acpi
|
2014-09-10 10:59:17 +00:00
|
|
|
dev/smc/if_smc_fdt.c optional smc fdt
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2013-10-24 16:56:38 +00:00
|
|
|
dev/spibus/ofw_spibus.c optional fdt spibus
|
2006-07-14 22:50:46 +00:00
|
|
|
dev/spibus/spibus.c optional spibus \
|
|
|
|
dependency "spibus_if.h"
|
2016-05-26 07:02:20 +00:00
|
|
|
dev/spibus/spigen.c optional spigen
|
2006-07-14 22:50:46 +00:00
|
|
|
dev/spibus/spibus_if.m optional spibus
|
2008-08-14 20:09:58 +00:00
|
|
|
dev/ste/if_ste.c optional ste pci
|
2006-07-25 00:45:55 +00:00
|
|
|
dev/stge/if_stge.c optional stge
|
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
|
2019-02-22 06:41:47 +00:00
|
|
|
dev/syscons/scterm-dumb.c optional sc !SC_NO_TERM_DUMB
|
|
|
|
dev/syscons/scterm-sc.c optional sc !SC_NO_TERM_SC
|
|
|
|
dev/syscons/scterm-teken.c optional sc !SC_NO_TERM_TEKEN
|
2006-10-23 13:05:01 +00:00
|
|
|
dev/syscons/scvidctl.c optional sc
|
2019-02-21 17:31:33 +00:00
|
|
|
dev/syscons/scvtb.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
|
2018-03-24 12:48:10 +00:00
|
|
|
dev/tcp_log/tcp_log_dev.c optional tcp_blackbox inet | tcp_blackbox inet6
|
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
|
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
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/uart/uart_bus_acpi.c optional uart acpi
|
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_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
|
2019-05-23 19:55:53 +00:00
|
|
|
dev/uart/uart_cpu_acpi.c optional uart acpi
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/uart/uart_dbg.c optional uart gdb
|
2020-07-01 00:33:16 +00:00
|
|
|
dev/uart/uart_dev_imx.c optional uart uart_imx fdt
|
2018-01-25 17:16:29 +00:00
|
|
|
dev/uart/uart_dev_msm.c optional uart uart_msm fdt
|
2017-09-09 20:07:04 +00:00
|
|
|
dev/uart/uart_dev_mvebu.c optional uart uart_mvebu
|
2016-04-01 20:26:45 +00:00
|
|
|
dev/uart/uart_dev_ns8250.c optional uart uart_ns8250 | uart uart_snps
|
2012-08-30 20:31:53 +00:00
|
|
|
dev/uart/uart_dev_pl011.c optional uart pl011
|
2008-03-03 20:40:20 +00:00
|
|
|
dev/uart/uart_dev_quicc.c optional uart quicc
|
2016-11-21 19:13:33 +00:00
|
|
|
dev/uart/uart_dev_snps.c optional uart uart_snps fdt
|
2019-10-01 13:36:01 +00:00
|
|
|
dev/uart/uart_dev_z8530.c optional uart uart_z8530 | uart scc
|
2007-10-25 14:16:07 +00:00
|
|
|
dev/uart/uart_if.m optional uart
|
|
|
|
dev/uart/uart_subr.c optional uart
|
|
|
|
dev/uart/uart_tty.c optional uart
|
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/musb_otg.c optional musb
|
2012-09-11 22:10:36 +00:00
|
|
|
dev/usb/controller/dwc_otg.c optional dwcotg
|
2014-05-29 11:13:40 +00:00
|
|
|
dev/usb/controller/dwc_otg_fdt.c optional dwcotg fdt
|
2020-06-30 15:58:29 +00:00
|
|
|
dev/usb/controller/dwc_otg_acpi.c optional dwcotg acpi
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/controller/ehci.c optional ehci
|
2018-01-25 17:16:29 +00:00
|
|
|
dev/usb/controller/ehci_msm.c optional ehci_msm fdt
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/controller/ehci_pci.c optional ehci pci
|
|
|
|
dev/usb/controller/ohci.c optional ohci
|
|
|
|
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
|
2014-05-29 10:46:09 +00:00
|
|
|
dev/usb/controller/saf1761_otg.c optional saf1761otg
|
|
|
|
dev/usb/controller/saf1761_otg_fdt.c optional saf1761otg fdt
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/controller/uss820dci.c optional uss820dci
|
|
|
|
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
|
|
|
#
|
2017-02-19 17:47:43 +00:00
|
|
|
dev/usb/storage/cfumass.c optional cfumass ctl
|
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_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
|
2019-05-19 16:56:59 +00:00
|
|
|
dev/usb/usb_fdt_support.c optional usb fdt
|
2009-02-23 18:34:56 +00:00
|
|
|
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
|
2019-07-08 20:53:25 +00:00
|
|
|
dev/usb/usb_hub_acpi.c optional uacpi acpi
|
2009-02-23 18:34:56 +00:00
|
|
|
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
|
2013-11-19 00:37:53 +00:00
|
|
|
dev/usb/net/if_axge.c optional axge
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/net/if_cdce.c optional cdce
|
2019-08-07 18:14:45 +00:00
|
|
|
dev/usb/net/if_cdceem.c optional cdceem
|
2009-02-23 18:34:56 +00:00
|
|
|
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
|
2018-08-21 21:30:19 +00:00
|
|
|
dev/usb/net/if_muge.c optional muge
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/net/if_rue.c optional rue
|
2012-08-15 04:03:55 +00:00
|
|
|
dev/usb/net/if_smsc.c optional smsc
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/net/if_udav.c optional udav
|
2015-12-01 05:12:13 +00:00
|
|
|
dev/usb/net/if_ure.c optional ure
|
2011-07-08 10:58:56 +00:00
|
|
|
dev/usb/net/if_usie.c optional usie
|
2014-02-06 08:47:14 +00:00
|
|
|
dev/usb/net/if_urndis.c optional urndis
|
2011-10-08 12:33:10 +00:00
|
|
|
dev/usb/net/ruephy.c optional rue
|
2015-11-24 08:34:48 +00:00
|
|
|
dev/usb/net/usb_ethernet.c optional uether | aue | axe | axge | cdce | \
|
2019-08-07 18:14:45 +00:00
|
|
|
cdceem | cue | ipheth | kue | mos | \
|
|
|
|
rue | smsc | udav | ure | urndis | muge
|
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
|
|
|
#
|
2013-07-30 02:07:57 +00:00
|
|
|
dev/usb/wlan/if_rsu.c optional rsu
|
|
|
|
rsu-rtl8712fw.c optional rsu-rtl8712fw | rsufw \
|
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk rsu-rtl8712fw.fw:rsu-rtl8712fw:120 -mrsu-rtl8712fw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2013-07-30 02:07:57 +00:00
|
|
|
clean "rsu-rtl8712fw.c"
|
|
|
|
rsu-rtl8712fw.fwo optional rsu-rtl8712fw | rsufw \
|
|
|
|
dependency "rsu-rtl8712fw.fw" \
|
|
|
|
compile-with "${NORMAL_FWO}" \
|
|
|
|
no-implicit-rule \
|
|
|
|
clean "rsu-rtl8712fw.fwo"
|
|
|
|
rsu-rtl8712fw.fw optional rsu-rtl8712.fw | rsufw \
|
|
|
|
dependency "$S/contrib/dev/rsu/rsu-rtl8712fw.fw.uu" \
|
|
|
|
compile-with "${NORMAL_FW}" \
|
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "rsu-rtl8712fw.fw"
|
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 \
|
2013-06-21 18:16:54 +00:00
|
|
|
compile-with "${AWK} -f $S/tools/fw_stub.awk run.fw:runfw -mrunfw -c${.TARGET}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2011-01-11 21:46:29 +00:00
|
|
|
clean "runfw.c"
|
|
|
|
runfw.fwo optional runfw \
|
2013-06-21 18:16:54 +00:00
|
|
|
dependency "run.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2011-01-11 21:46:29 +00:00
|
|
|
no-implicit-rule \
|
|
|
|
clean "runfw.fwo"
|
2013-06-21 18:16:54 +00:00
|
|
|
run.fw optional runfw \
|
2011-01-11 21:46:29 +00:00
|
|
|
dependency "$S/contrib/dev/run/rt2870.fw.uu" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2011-01-11 21:46:29 +00:00
|
|
|
no-obj no-implicit-rule \
|
2013-06-21 18:16:54 +00:00
|
|
|
clean "run.fw"
|
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
|
|
|
#
|
2020-08-06 13:41:42 +00:00
|
|
|
dev/usb/misc/cp2112.c optional cp2112
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/misc/udbp.c optional udbp
|
2015-06-19 06:48:55 +00:00
|
|
|
dev/usb/misc/ugold.c optional ugold
|
2014-09-05 11:25:58 +00:00
|
|
|
dev/usb/misc/uled.c optional uled
|
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
|
2018-05-15 15:36:34 +00:00
|
|
|
dev/usb/input/uhid_snes.c optional uhid_snes
|
2009-02-23 18:34:56 +00:00
|
|
|
dev/usb/input/ukbd.c optional ukbd
|
|
|
|
dev/usb/input/ums.c optional ums
|
2020-10-08 21:32:12 +00:00
|
|
|
dev/usb/input/usbhid.c optional usbhid
|
2017-08-19 17:00:10 +00:00
|
|
|
dev/usb/input/wmt.c optional wmt
|
2014-01-29 10:42:01 +00:00
|
|
|
dev/usb/input/wsp.c optional wsp
|
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
|
2014-08-05 07:03:16 +00:00
|
|
|
dev/usb/template/usb_template_phone.c optional usb_template
|
2015-01-13 14:03:56 +00:00
|
|
|
dev/usb/template/usb_template_serialnet.c optional usb_template
|
2015-06-01 11:24:34 +00:00
|
|
|
dev/usb/template/usb_template_midi.c optional usb_template
|
2018-05-17 19:54:11 +00:00
|
|
|
dev/usb/template/usb_template_multi.c optional usb_template
|
2019-08-07 18:14:45 +00:00
|
|
|
dev/usb/template/usb_template_cdceem.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
|
|
|
#
|
2015-02-15 12:02:17 +00:00
|
|
|
# USB video drivers
|
|
|
|
#
|
|
|
|
dev/usb/video/udl.c optional udl
|
|
|
|
#
|
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
|
|
|
#
|
2015-02-15 11:37:40 +00:00
|
|
|
dev/videomode/videomode.c optional videomode
|
|
|
|
dev/videomode/edid.c optional videomode
|
|
|
|
dev/videomode/pickmode.c optional videomode
|
|
|
|
dev/videomode/vesagtf.c optional videomode
|
2021-02-14 17:20:41 +00:00
|
|
|
dev/veriexec/verified_exec.c optional mac_veriexec
|
2004-09-10 20:57:46 +00:00
|
|
|
dev/vge/if_vge.c optional vge
|
2014-09-23 06:31:15 +00:00
|
|
|
dev/viapm/viapm.c optional viapm pci
|
2014-11-25 16:53:22 +00:00
|
|
|
dev/virtio/virtio.c optional virtio
|
|
|
|
dev/virtio/virtqueue.c optional virtio
|
|
|
|
dev/virtio/virtio_bus_if.m optional virtio
|
|
|
|
dev/virtio/virtio_if.m optional virtio
|
|
|
|
dev/virtio/pci/virtio_pci.c optional virtio_pci
|
2021-01-19 04:55:23 +00:00
|
|
|
dev/virtio/pci/virtio_pci_if.m optional virtio_pci
|
|
|
|
dev/virtio/pci/virtio_pci_legacy.c optional virtio_pci
|
|
|
|
dev/virtio/pci/virtio_pci_modern.c optional virtio_pci
|
2018-10-21 15:43:20 +00:00
|
|
|
dev/virtio/mmio/virtio_mmio.c optional virtio_mmio
|
|
|
|
dev/virtio/mmio/virtio_mmio_acpi.c optional virtio_mmio acpi
|
|
|
|
dev/virtio/mmio/virtio_mmio_fdt.c optional virtio_mmio fdt
|
|
|
|
dev/virtio/mmio/virtio_mmio_if.m optional virtio_mmio
|
2014-11-25 16:53:22 +00:00
|
|
|
dev/virtio/network/if_vtnet.c optional vtnet
|
|
|
|
dev/virtio/block/virtio_blk.c optional virtio_blk
|
|
|
|
dev/virtio/balloon/virtio_balloon.c optional virtio_balloon
|
|
|
|
dev/virtio/scsi/virtio_scsi.c optional virtio_scsi
|
|
|
|
dev/virtio/random/virtio_random.c optional virtio_random
|
|
|
|
dev/virtio/console/virtio_console.c optional virtio_console
|
2004-11-16 17:19:04 +00:00
|
|
|
dev/vkbd/vkbd.c optional vkbd
|
2019-12-22 06:25:20 +00:00
|
|
|
dev/vmgenc/vmgenc_acpi.c optional acpi
|
2020-10-15 14:37:51 +00:00
|
|
|
dev/vmware/vmxnet3/if_vmx.c optional vmx
|
|
|
|
dev/vmware/vmci/vmci.c optional vmci
|
|
|
|
dev/vmware/vmci/vmci_datagram.c optional vmci
|
|
|
|
dev/vmware/vmci/vmci_doorbell.c optional vmci
|
|
|
|
dev/vmware/vmci/vmci_driver.c optional vmci
|
|
|
|
dev/vmware/vmci/vmci_event.c optional vmci
|
|
|
|
dev/vmware/vmci/vmci_hashtable.c optional vmci
|
|
|
|
dev/vmware/vmci/vmci_kernel_if.c optional vmci
|
|
|
|
dev/vmware/vmci/vmci_qpair.c optional vmci
|
|
|
|
dev/vmware/vmci/vmci_queue_pair.c optional vmci
|
|
|
|
dev/vmware/vmci/vmci_resource.c optional vmci
|
|
|
|
dev/vmware/pvscsi/pvscsi.c optional pvscsi
|
2008-03-11 03:50:57 +00:00
|
|
|
dev/vr/if_vr.c optional vr pci
|
2013-12-05 22:38:53 +00:00
|
|
|
dev/vt/colors/vt_termcolors.c optional vt
|
|
|
|
dev/vt/font/vt_font_default.c optional vt
|
|
|
|
dev/vt/font/vt_mouse_cursor.c optional vt
|
2014-03-28 12:50:39 +00:00
|
|
|
dev/vt/hw/efifb/efifb.c optional vt_efifb
|
2020-11-30 08:22:40 +00:00
|
|
|
dev/vt/hw/vbefb/vbefb.c optional vt_vbefb
|
2013-12-05 22:38:53 +00:00
|
|
|
dev/vt/hw/fb/vt_fb.c optional vt
|
2014-06-18 22:10:10 +00:00
|
|
|
dev/vt/hw/vga/vt_vga.c optional vt vt_vga
|
2013-12-08 22:49:12 +00:00
|
|
|
dev/vt/logo/logo_freebsd.c optional vt splash
|
2015-07-21 20:33:36 +00:00
|
|
|
dev/vt/logo/logo_beastie.c optional vt splash
|
2013-12-05 22:38:53 +00:00
|
|
|
dev/vt/vt_buf.c optional vt
|
|
|
|
dev/vt/vt_consolectl.c optional vt
|
|
|
|
dev/vt/vt_core.c optional vt
|
2015-07-21 20:33:36 +00:00
|
|
|
dev/vt/vt_cpulogos.c optional vt splash
|
2013-12-05 22:38:53 +00:00
|
|
|
dev/vt/vt_font.c optional vt
|
|
|
|
dev/vt/vt_sysmouse.c optional vt
|
2010-12-31 00:21:41 +00:00
|
|
|
dev/vte/if_vte.c optional vte pci
|
2004-02-28 20:06:59 +00:00
|
|
|
dev/watchdog/watchdog.c standard
|
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}" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
2008-04-25 20:42:48 +00:00
|
|
|
clean "wpifw.c"
|
|
|
|
wpifw.fwo optional wpifw \
|
|
|
|
dependency "wpi.fw" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FWO}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
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" \
|
2012-08-31 20:54:30 +00:00
|
|
|
compile-with "${NORMAL_FW}" \
|
2008-04-25 20:42:48 +00:00
|
|
|
no-obj no-implicit-rule \
|
|
|
|
clean "wpi.fw"
|
2018-04-13 12:43:54 +00:00
|
|
|
dev/xdma/controller/pl330.c optional xdma pl330
|
2016-12-20 18:02:07 +00:00
|
|
|
dev/xdma/xdma.c optional xdma
|
2018-04-12 15:36:24 +00:00
|
|
|
dev/xdma/xdma_bank.c optional xdma
|
|
|
|
dev/xdma/xdma_bio.c optional xdma
|
2016-12-20 18:02:07 +00:00
|
|
|
dev/xdma/xdma_fdt_test.c optional xdma xdma_test fdt
|
2018-04-12 15:36:24 +00:00
|
|
|
dev/xdma/xdma_if.m optional xdma
|
2019-07-22 16:01:20 +00:00
|
|
|
dev/xdma/xdma_iommu.c optional xdma
|
2018-04-12 15:36:24 +00:00
|
|
|
dev/xdma/xdma_mbuf.c optional xdma
|
|
|
|
dev/xdma/xdma_queue.c optional xdma
|
|
|
|
dev/xdma/xdma_sg.c optional xdma
|
|
|
|
dev/xdma/xdma_sglist.c optional xdma
|
2015-04-30 15:48:48 +00:00
|
|
|
dev/xen/balloon/balloon.c optional xenhvm
|
|
|
|
dev/xen/blkfront/blkfront.c optional xenhvm
|
|
|
|
dev/xen/blkback/blkback.c optional xenhvm
|
2014-01-14 01:41:10 +00:00
|
|
|
dev/xen/bus/xenpv.c optional xenhvm
|
2015-10-08 16:39:43 +00:00
|
|
|
dev/xen/console/xen_console.c optional xenhvm
|
2015-04-30 15:48:48 +00:00
|
|
|
dev/xen/control/control.c optional xenhvm
|
2021-02-12 12:11:34 +00:00
|
|
|
dev/xen/efi/pvefi.c optional xenhvm efirt
|
2015-04-30 15:48:48 +00:00
|
|
|
dev/xen/grant_table/grant_table.c optional xenhvm
|
|
|
|
dev/xen/netback/netback.c optional xenhvm
|
|
|
|
dev/xen/netfront/netfront.c optional xenhvm
|
2014-01-14 01:41:14 +00:00
|
|
|
dev/xen/timer/timer.c optional xenhvm xentimer
|
2012-10-24 16:37:53 +00:00
|
|
|
dev/xen/xenpci/xenpci.c optional xenpci
|
2015-04-30 15:48:48 +00:00
|
|
|
dev/xen/xenstore/xenstore.c optional xenhvm
|
|
|
|
dev/xen/xenstore/xenstore_dev.c optional xenhvm
|
|
|
|
dev/xen/xenstore/xenstored_dev.c optional xenhvm
|
|
|
|
dev/xen/evtchn/evtchn_dev.c optional xenhvm
|
|
|
|
dev/xen/privcmd/privcmd.c optional xenhvm
|
2016-10-31 13:12:58 +00:00
|
|
|
dev/xen/gntdev/gntdev.c optional xenhvm
|
2015-04-30 15:48:48 +00:00
|
|
|
dev/xen/debug/debug.c optional xenhvm
|
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
|
2014-08-17 09:44:42 +00:00
|
|
|
fs/autofs/autofs.c optional autofs
|
|
|
|
fs/autofs/autofs_vfsops.c optional autofs
|
|
|
|
fs/autofs/autofs_vnops.c optional autofs
|
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
|
2014-05-23 08:46:28 +00:00
|
|
|
fs/cuse/cuse.c optional cuse
|
2019-03-20 21:48:43 +00:00
|
|
|
fs/fuse/fuse_device.c optional fusefs
|
|
|
|
fs/fuse/fuse_file.c optional fusefs
|
|
|
|
fs/fuse/fuse_internal.c optional fusefs
|
|
|
|
fs/fuse/fuse_io.c optional fusefs
|
|
|
|
fs/fuse/fuse_ipc.c optional fusefs
|
|
|
|
fs/fuse/fuse_main.c optional fusefs
|
|
|
|
fs/fuse/fuse_node.c optional fusefs
|
|
|
|
fs/fuse/fuse_vfsops.c optional fusefs
|
|
|
|
fs/fuse/fuse_vnops.c optional fusefs
|
2020-03-06 18:41:37 +00:00
|
|
|
fs/mntfs/mntfs_vnops.c standard
|
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
|
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
|
2020-04-09 14:44:46 +00:00
|
|
|
fs/nfs/nfs_commonkrpc.c optional nfscl | nfslockd | nfsd
|
|
|
|
fs/nfs/nfs_commonsubs.c optional nfscl | nfslockd | nfsd
|
|
|
|
fs/nfs/nfs_commonport.c optional nfscl | nfslockd | nfsd
|
|
|
|
fs/nfs/nfs_commonacl.c optional nfscl | nfslockd | nfsd
|
2009-05-28 19:45:11 +00:00
|
|
|
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
|
Revamp the old NFS server's File Handle Affinity (FHA) code so that
it will work with either the old or new server.
The FHA code keeps a cache of currently active file handles for
NFSv2 and v3 requests, so that read and write requests for the same
file are directed to the same group of threads (reads) or thread
(writes). It does not currently work for NFSv4 requests. They are
more complex, and will take more work to support.
This improves read-ahead performance, especially with ZFS, if the
FHA tuning parameters are configured appropriately. Without the
FHA code, concurrent reads that are part of a sequential read from
a file will be directed to separate NFS threads. This has the
effect of confusing the ZFS zfetch (prefetch) code and makes
sequential reads significantly slower with clients like Linux that
do a lot of prefetching.
The FHA code has also been updated to direct write requests to nearby
file offsets to the same thread in the same way it batches reads,
and the FHA code will now also send writes to multiple threads when
needed.
This improves sequential write performance in ZFS, because writes
to a file are now more ordered. Since NFS writes (generally
less than 64K) are smaller than the typical ZFS record size
(usually 128K), out of order NFS writes to the same block can
trigger a read in ZFS. Sending them down the same thread increases
the odds of their being in order.
In order for multiple write threads per file in the FHA code to be
useful, writes in the NFS server have been changed to use a LK_SHARED
vnode lock, and upgrade that to LK_EXCLUSIVE if the filesystem
doesn't allow multiple writers to a file at once. ZFS is currently
the only filesystem that allows multiple writers to a file, because
it has internal file range locking. This change does not affect the
NFSv4 code.
This improves random write performance to a single file in ZFS, since
we can now have multiple writers inside ZFS at one time.
I have changed the default tuning parameters to a 22 bit (4MB)
window size (from 256K) and unlimited commands per thread as a
result of my benchmarking with ZFS.
The FHA code has been updated to allow configuring the tuning
parameters from loader tunable variables in addition to sysctl
variables. The read offset window calculation has been slightly
modified as well. Instead of having separate bins, each file
handle has a rolling window of bin_shift size. This minimizes
glitches in throughput when shifting from one bin to another.
sys/conf/files:
Add nfs_fha_new.c and nfs_fha_old.c. Compile nfs_fha.c
when either the old or the new NFS server is built.
sys/fs/nfs/nfsport.h,
sys/fs/nfs/nfs_commonport.c:
Bring in changes from Rick Macklem to newnfs_realign that
allow it to operate in blocking (M_WAITOK) or non-blocking
(M_NOWAIT) mode.
sys/fs/nfs/nfs_commonsubs.c,
sys/fs/nfs/nfs_var.h:
Bring in a change from Rick Macklem to allow telling
nfsm_dissect() whether or not to wait for mallocs.
sys/fs/nfs/nfsm_subs.h:
Bring in changes from Rick Macklem to create a new
nfsm_dissect_nonblock() inline function and
NFSM_DISSECT_NONBLOCK() macro.
sys/fs/nfs/nfs_commonkrpc.c,
sys/fs/nfsclient/nfs_clkrpc.c:
Add the malloc wait flag to a newnfs_realign() call.
sys/fs/nfsserver/nfs_nfsdkrpc.c:
Setup the new NFS server's RPC thread pool so that it will
call the FHA code.
Add the malloc flag argument to newnfs_realign().
Unstaticize newnfs_nfsv3_procid[] so that we can use it in
the FHA code.
sys/fs/nfsserver/nfs_nfsdsocket.c:
In nfsrvd_dorpc(), add NFSPROC_WRITE to the list of RPC types
that use the LK_SHARED lock type.
sys/fs/nfsserver/nfs_nfsdport.c:
In nfsd_fhtovp(), if we're starting a write, check to see
whether the underlying filesystem supports shared writes.
If not, upgrade the lock type from LK_SHARED to LK_EXCLUSIVE.
sys/nfsserver/nfs_fha.c:
Remove all code that is specific to the NFS server
implementation. Anything that is server-specific is now
accessed through a callback supplied by that server's FHA
shim in the new softc.
There are now separate sysctls and tunables for the FHA
implementations for the old and new NFS servers. The new
NFS server has its tunables under vfs.nfsd.fha, the old
NFS server's tunables are under vfs.nfsrv.fha as before.
In fha_extract_info(), use callouts for all server-specific
code. Getting file handles and offsets is now done in the
individual server's shim module.
In fha_hash_entry_choose_thread(), change the way we decide
whether two reads are in proximity to each other.
Previously, the calculation was a simple shift operation to
see whether the offsets were in the same power of 2 bucket.
The issue was that there would be a bucket (and therefore
thread) transition, even if the reads were in close
proximity. When there is a thread transition, reads wind
up going somewhat out of order, and ZFS gets confused.
The new calculation simply tries to see whether the offsets
are within 1 << bin_shift of each other. If they are, the
reads will be sent to the same thread.
The effect of this change is that for sequential reads, if
the client doesn't exceed the max_reqs_per_nfsd parameter
and the bin_shift is set to a reasonable value (22, or
4MB works well in my tests), the reads in any sequential
stream will largely be confined to a single thread.
Change fha_assign() so that it takes a softc argument. It
is now called from the individual server's shim code, which
will pass in the softc.
Change fhe_stats_sysctl() so that it takes a softc
parameter. It is now called from the individual server's
shim code. Add the current offset to the list of things
printed out about each active thread.
Change the num_reads and num_writes counters in the
fha_hash_entry structure to 32-bit values, and rename them
num_rw and num_exclusive, respectively, to reflect their
changed usage.
Add an enable sysctl and tunable that allows the user to
disable the FHA code (when vfs.XXX.fha.enable = 0). This
is useful for before/after performance comparisons.
nfs_fha.h:
Move most structure definitions out of nfs_fha.c and into
the header file, so that the individual server shims can
see them.
Change the default bin_shift to 22 (4MB) instead of 18
(256K). Allow unlimited commands per thread.
sys/nfsserver/nfs_fha_old.c,
sys/nfsserver/nfs_fha_old.h,
sys/fs/nfsserver/nfs_fha_new.c,
sys/fs/nfsserver/nfs_fha_new.h:
Add shims for the old and new NFS servers to interface with
the FHA code, and callbacks for the
The shims contain all of the code and definitions that are
specific to the NFS servers.
They setup the server-specific callbacks and set the server
name for the sysctl and loader tunable variables.
sys/nfsserver/nfs_srvkrpc.c:
Configure the RPC code to call fhaold_assign() instead of
fha_assign().
sys/modules/nfsd/Makefile:
Add nfs_fha.c and nfs_fha_new.c.
sys/modules/nfsserver/Makefile:
Add nfs_fha_old.c.
Reviewed by: rmacklem
Sponsored by: Spectra Logic
MFC after: 2 weeks
2013-04-17 21:00:22 +00:00
|
|
|
fs/nfsserver/nfs_fha_new.c optional nfsd inet
|
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
|
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
|
|
|
|
fs/procfs/procfs.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
|
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
|
2013-06-28 21:00:08 +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
|
2019-10-17 21:33:01 +00:00
|
|
|
gdb/netgdb.c optional ddb debugnet gdb netgdb inet
|
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
|
2016-01-07 05:47:34 +00:00
|
|
|
geom/eli/g_eli_hmac.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
|
2019-08-13 20:06:55 +00:00
|
|
|
geom/geom_bsd_enc.c optional geom_part_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
|
2019-06-25 04:50:09 +00:00
|
|
|
geom/geom_flashmap.c optional fdt cfi | fdt mx25l | mmcsd | fdt n25q | fdt at45d
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
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
|
2004-10-29 09:56:56 +00:00
|
|
|
geom/geom_vfs.c standard
|
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
|
2014-04-06 02:44:37 +00:00
|
|
|
geom/label/g_label.c optional geom_label | geom_label_gpt
|
2005-08-12 00:27:45 +00:00
|
|
|
geom/label/g_label_ext2fs.c optional geom_label
|
2019-03-24 19:11:45 +00:00
|
|
|
geom/label/g_label_flashmap.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
|
2012-10-18 22:18:11 +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
|
2014-04-06 02:44:37 +00:00
|
|
|
geom/label/g_label_gpt.c optional geom_label | geom_label_gpt
|
2013-04-15 16:09:24 +00:00
|
|
|
geom/label/g_label_disk_ident.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
|
2014-06-11 10:48:11 +00:00
|
|
|
geom/part/g_part_bsd64.c optional geom_part_bsd64
|
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-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
|
2012-04-30 17:53:02 +00:00
|
|
|
geom/raid/md_ddf.c optional geom_raid
|
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/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
|
2012-04-19 12:30:12 +00:00
|
|
|
geom/raid/tr_raid5.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
|
|
|
|
geom/uzip/g_uzip.c optional geom_uzip
|
Improve mkuzip(8) and geom_uzip(4), merge in LZMA support from mkulzma(8)
and geom_uncompress(4):
1. mkuzip(8):
- Proper support for eliminating all-zero blocks when compressing an
image. This feature is already supported by the geom_uzip(4) module
and CLOOP format in general, so it's just a matter of making mkuzip(8)
match. It should be noted, however that this feature while it sounds
great, results in very slight improvement in the overall compression
ratio, since compressing default 16k all-zero block produces only 39
bytes compressed output block, which is 99.8% compression ratio. With
typical average compression ratio of amd64 binaries and data being
around 60-70% the difference between 99.8% and 100.0% is not that
great further diluted by the ratio of number of zero blocks in the
uncompressed image to the overall number of blocks being less than
0.5 (typically). However, this may be important from performance
standpoint, so that kernel are not spinning its wheels decompressing
those empty blocks every time this zero region is read. It could also
be important when you create huge image mostly filled with zero
blocks for testing purposes.
- New feature allowing to de-duplicate output image. It turns out that
if you twist CLOOP format a bit you can do that as well. And unlike
zero-blocks elimination, this gives a noticeable improvement in the
overall compression ratio, reducing output image by something like
3-4% on my test UFS2 3GB image consisting of full FreeBSD base system
plus some of the packages (openjdk, apache etc), about 2.3GB worth of
file data (800+MB compressed). The only caveat is that images created
with this feature "on" would not work on older versions of FeeBSDxi
kernel, hence it's turned off by default.
- provide options to control both features and document them in manual
page.
- merge in all relevant LZMA compression support from the mkulzma(8),
add new option to select between both.
- switch license from ad-hoc beerware into standard 2-clause BSD.
2. geom_uzip(4):
- implement support for de-duplicated images;
- optimize some code paths to handle "all-zero" blocks without reading
any compressed data;
- beef up manual page to explain that geom_uzip(4) is not limited only
to md(4) images. The compressed data can be written to the block
device and accessed directly via magic of GEOM(4) and devfs(4),
including to mount root fs from a compressed drive.
- convert debug log code from being compiled in conditionally into
being present all the time and provide two sysctls to turn it on or
off. Due to intended use of the module, it can be used in
environments where there may not be a luxury to put new kernel with
debug code enabled. Having those options handy allows debug issues
without as much problem by just having access to serial console or
network shell access to a box/appliance. The resulting additional
CPU cycles are just few int comparisons and branches, and those are
minuscule when compared to data decompression which is the main
feature of the module.
- hopefully improve robustness and resiliency of the geom_uzip(4) by
performing some of the data validation / range checking on the TOC
entries and rejecting to attach to an image if those checks fail.
- merge in all relevant LZMA decompression support from the
geom_uncompress(4), enable automatically when appropriate format is
indicated in the header.
- move compilation work into its own worker thread so that it does not
clog g_up. This allows multiple instances work in parallel utilizing
smp cores.
- document new knobs in the manual page.
Reviewed by: adrian
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D5333
2016-02-23 23:59:08 +00:00
|
|
|
geom/uzip/g_uzip_lzma.c optional geom_uzip
|
|
|
|
geom/uzip/g_uzip_wrkthr.c optional geom_uzip
|
|
|
|
geom/uzip/g_uzip_zlib.c optional geom_uzip
|
geom_uzip(4), mkuzip(8): Add Zstd image mode
The Zstd format bumps the CLOOP major number to 4 to avoid incompatibility
with older systems. Support in geom_uzip(4) is conditional on the ZSTDIO
kernel option, which is enabled in amd64 GENERIC, but not all in-tree
configurations.
mkuzip(8) was modified slightly to always initialize the nblocks + 1'th
offset in the CLOOP file format. Previously, it was only initialized in the
case where the final compressed block happened to be unaligned w.r.t.
DEV_BSIZE. The "Fake" last+1 block change in r298619 means that the final
compressed block's 'blen' was never correct unless the compressed uzip image
happened to be BSIZE-aligned. This happened in about 1 out of every 512
cases. The zlib and lzma decompressors are probably tolerant of extra trash
following the frame they were told to decode, but Zstd complains that the
input size is incorrect.
Correspondingly, geom_uzip(4) was modified slightly to avoid trashing the
nblocks + 1'th offset when it is known to be initialized to a good value.
This corrects the calculated final real cluster compressed length to match
that printed by mkuzip(8).
mkuzip(8) was refactored somewhat to reduce code duplication and increase
ease of adding other compression formats.
* Input block size validation was pulled out of individual compression
init routines into main().
* Init routines now validate a user-provided compression level or select
an algorithm-specific default, if none was provided.
* A new interface for calculating the maximal compressed size of an
incompressible input block was added for each driver. The generic code
uses it to validate against MAXPHYS as well as to allocate compression
result buffers in the generic code.
* Algorithm selection is now driven by a table lookup, to increase ease of
adding other formats in the future.
mkuzip(8) gained the ability to explicitly specify a compression level with
'-C'. The prior defaults -- 9 for zlib and 6 for lzma -- are maintained.
The new zstd default is 9, to match zlib.
Rather than select lzma or zlib with '-L' or its absense, respectively, a
new argument '-A <algorithm>' is provided to select 'zlib', 'lzma', or
'zstd'. '-L' is considered deprecated, but will probably never be removed.
All of the new features were documented in mkuzip.8; the page was also
cleaned up slightly.
Relnotes: yes
2019-08-13 23:32:56 +00:00
|
|
|
geom/uzip/g_uzip_zstd.c optional geom_uzip zstdio \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/zstd/lib/freebsd"
|
2014-05-02 23:23:18 +00:00
|
|
|
geom/vinum/geom_vinum.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_create.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_drive.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_plex.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_volume.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_subr.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_raid5.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_share.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_list.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_rm.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_init.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_state.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_rename.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_move.c optional geom_vinum
|
|
|
|
geom/vinum/geom_vinum_events.c optional geom_vinum
|
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
|
2017-05-28 15:39:11 +00:00
|
|
|
fs/ext2fs/ext2_acl.c optional ext2fs
|
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
|
2017-06-20 14:28:51 +00:00
|
|
|
fs/ext2fs/ext2_csum.c optional ext2fs
|
2017-04-01 01:00:36 +00:00
|
|
|
fs/ext2fs/ext2_extattr.c optional ext2fs
|
2013-08-12 21:34:48 +00:00
|
|
|
fs/ext2fs/ext2_extents.c optional ext2fs
|
2010-01-14 14:30:54 +00:00
|
|
|
fs/ext2fs/ext2_inode.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_inode_cnv.c optional ext2fs
|
2016-01-21 14:50:28 +00:00
|
|
|
fs/ext2fs/ext2_hash.c optional ext2fs
|
|
|
|
fs/ext2fs/ext2_htree.c optional ext2fs
|
2010-01-14 14:30:54 +00:00
|
|
|
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
|
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
|
2019-03-07 03:47:41 +00:00
|
|
|
gnu/gcov/gcc_4_7.c optional gcov \
|
|
|
|
warning "kernel contains GPL licensed gcov support"
|
2019-02-23 21:14:00 +00:00
|
|
|
gnu/gcov/gcov_fs.c optional gcov lindebugfs \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
|
|
|
gnu/gcov/gcov_subr.c optional gcov
|
|
|
|
|
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
|
2014-05-22 05:04:40 +00:00
|
|
|
kern/imgact_binmisc.c optional imagact_binmisc
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/imgact_elf.c standard
|
2012-11-13 06:07:13 +00:00
|
|
|
kern/imgact_elf32.c optional compat_freebsd32
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/imgact_shell.c standard
|
|
|
|
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
|
2020-11-19 02:53:29 +00:00
|
|
|
kern/kern_clocksource.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2015-01-07 01:01:39 +00:00
|
|
|
kern/kern_dump.c standard
|
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-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
|
Add support for the Clang Coverage Sanitizer in the kernel (KCOV).
When building with KCOV enabled the compiler will insert function calls
to probes allowing us to trace the execution of the kernel from userspace.
These probes are on function entry (trace-pc) and on comparison operations
(trace-cmp).
Userspace can enable the use of these probes on a single kernel thread with
an ioctl interface. It can allocate space for the probe with KIOSETBUFSIZE,
then mmap the allocated buffer and enable tracing with KIOENABLE, with the
trace mode being passed in as the int argument. When complete KIODISABLE
is used to disable tracing.
The first item in the buffer is the number of trace event that have
happened. Userspace can write 0 to this to reset the tracing, and is
expected to do so on first use.
The format of the buffer depends on the trace mode. When in PC tracing just
the return address of the probe is stored. Under comparison tracing the
comparison type, the two arguments, and the return address are traced. The
former method uses on entry per trace event, while the later uses 4. As
such they are incompatible so only a single mode may be enabled.
KCOV is expected to help fuzzing the kernel, and while in development has
already found a number of issues. It is required for the syzkaller system
call fuzzer [1]. Other kernel fuzzers could also make use of it, either
with the current interface, or by extending it with new modes.
A man page is currently being worked on and is expected to be committed
soon, however having the code in the kernel now is useful for other
developers to use.
[1] https://github.com/google/syzkaller
Submitted by: Mitchell Horne <mhorne063@gmail.com> (Earlier version)
Reviewed by: kib
Testing by: tuexen
Sponsored by: DARPA, AFRL
Sponsored by: The FreeBSD Foundation (Mitchell Horne)
Differential Revision: https://reviews.freebsd.org/D14599
2019-01-12 11:21:28 +00:00
|
|
|
kern/kern_kcov.c optional kcov \
|
2021-09-14 18:29:27 +00:00
|
|
|
compile-with "${NORMAL_C:N-fsanitize*} ${NORMAL_C:M-fsanitize=kernel-memory}"
|
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
|
2014-12-15 12:01:42 +00:00
|
|
|
kern/kern_procctl.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/kern_prot.c standard
|
2011-03-29 17:47:25 +00:00
|
|
|
kern/kern_racct.c standard
|
2012-05-30 16:06:38 +00:00
|
|
|
kern/kern_rangelock.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
|
2016-01-22 02:23:18 +00:00
|
|
|
kern/kern_sendfile.c standard
|
2012-06-23 10:15:23 +00:00
|
|
|
kern/kern_sharedpage.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2017-12-31 09:21:34 +00:00
|
|
|
kern/kern_tslog.c optional tslog
|
2018-11-06 17:32:07 +00:00
|
|
|
kern/kern_ubsan.c optional kubsan
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2013-06-28 21:00:08 +00:00
|
|
|
kern/md4c.c optional netsmb
|
2005-01-04 06:07:25 +00:00
|
|
|
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-04-29 16:14:09 +00:00
|
|
|
kern/subr_acl_nfs4.c optional ufs_acl | zfs
|
2012-03-13 20:29:56 +00:00
|
|
|
kern/subr_acl_posix1e.c optional ufs_acl
|
2021-04-13 21:39:19 +00:00
|
|
|
kern/subr_asan.c optional kasan \
|
|
|
|
compile-with "${NORMAL_C:N-fsanitize*}"
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_autoconf.c standard
|
|
|
|
kern/subr_blist.c standard
|
Create helper functions for parsing boot args.
boot_parse_arg to parse a single arg
boot_parse_cmdline to parse a command line string
boot_parse_args to parse all the args in a vector
boot_howto_to_env Convert howto bits to env vars
boot_env_to_howto Return howto mask mased on what's set in the environment.
All these routines return an int that's the bitmask of the args
translated to RB_* flags. As a special case, the 'S' flag sets the
comconsole_speed env var. Any arg that looks like a=b will set the env
key 'a' to value 'b'. If =b is omitted, 'a' is set to '1'. This
should help us reduce the number of redundant copies of these routines
in the tree. It should also give a more uniform experience between
platforms.
Also, invent a new flag RB_PROBE that's set when 'P' is parsed. On
x86 + BIOS, this means 'probe for the keyboard, and if it's not there
set both RB_MULTIPLE and RB_SERIAL (which means show the output on
both video and serial consoles, but make serial primary). Others it
may be some similar concept of probing, but it's loader dependent
what, exactly, it means.
These routines are suitable for /boot/loader and/or the kernel,
though they may not be suitable for the tightly hand-rolled-for-space
environments like boot2.
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D16205
2018-07-13 16:43:05 +00:00
|
|
|
kern/subr_boot.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_bus.c standard
|
2013-02-12 16:57:20 +00:00
|
|
|
kern/subr_bus_dma.c standard
|
2008-11-22 05:55:56 +00:00
|
|
|
kern/subr_bufring.c standard
|
Change the cap_rights_t type from uint64_t to a structure that we can extend
in the future in a backward compatible (API and ABI) way.
The cap_rights_t represents capability rights. We used to use one bit to
represent one right, but we are running out of spare bits. Currently the new
structure provides place for 114 rights (so 50 more than the previous
cap_rights_t), but it is possible to grow the structure to hold at least 285
rights, although we can make it even larger if 285 rights won't be enough.
The structure definition looks like this:
struct cap_rights {
uint64_t cr_rights[CAP_RIGHTS_VERSION + 2];
};
The initial CAP_RIGHTS_VERSION is 0.
The top two bits in the first element of the cr_rights[] array contain total
number of elements in the array - 2. This means if those two bits are equal to
0, we have 2 array elements.
The top two bits in all remaining array elements should be 0.
The next five bits in all array elements contain array index. Only one bit is
used and bit position in this five-bits range defines array index. This means
there can be at most five array elements in the future.
To define new right the CAPRIGHT() macro must be used. The macro takes two
arguments - an array index and a bit to set, eg.
#define CAP_PDKILL CAPRIGHT(1, 0x0000000000000800ULL)
We still support aliases that combine few rights, but the rights have to belong
to the same array element, eg:
#define CAP_LOOKUP CAPRIGHT(0, 0x0000000000000400ULL)
#define CAP_FCHMOD CAPRIGHT(0, 0x0000000000002000ULL)
#define CAP_FCHMODAT (CAP_FCHMOD | CAP_LOOKUP)
There is new API to manage the new cap_rights_t structure:
cap_rights_t *cap_rights_init(cap_rights_t *rights, ...);
void cap_rights_set(cap_rights_t *rights, ...);
void cap_rights_clear(cap_rights_t *rights, ...);
bool cap_rights_is_set(const cap_rights_t *rights, ...);
bool cap_rights_is_valid(const cap_rights_t *rights);
void cap_rights_merge(cap_rights_t *dst, const cap_rights_t *src);
void cap_rights_remove(cap_rights_t *dst, const cap_rights_t *src);
bool cap_rights_contains(const cap_rights_t *big, const cap_rights_t *little);
Capability rights to the cap_rights_init(), cap_rights_set(),
cap_rights_clear() and cap_rights_is_set() functions are provided by
separating them with commas, eg:
cap_rights_t rights;
cap_rights_init(&rights, CAP_READ, CAP_WRITE, CAP_FSTAT);
There is no need to terminate the list of rights, as those functions are
actually macros that take care of the termination, eg:
#define cap_rights_set(rights, ...) \
__cap_rights_set((rights), __VA_ARGS__, 0ULL)
void __cap_rights_set(cap_rights_t *rights, ...);
Thanks to using one bit as an array index we can assert in those functions that
there are no two rights belonging to different array elements provided
together. For example this is illegal and will be detected, because CAP_LOOKUP
belongs to element 0 and CAP_PDKILL to element 1:
cap_rights_init(&rights, CAP_LOOKUP | CAP_PDKILL);
Providing several rights that belongs to the same array's element this way is
correct, but is not advised. It should only be used for aliases definition.
This commit also breaks compatibility with some existing Capsicum system calls,
but I see no other way to do that. This should be fine as Capsicum is still
experimental and this change is not going to 9.x.
Sponsored by: The FreeBSD Foundation
2013-09-05 00:09:56 +00:00
|
|
|
kern/subr_capability.c standard
|
2006-10-02 15:42:02 +00:00
|
|
|
kern/subr_clock.c standard
|
2018-02-13 19:28:02 +00:00
|
|
|
kern/subr_compressor.c standard \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/zstd/lib/freebsd"
|
2019-01-29 11:04:17 +00:00
|
|
|
kern/subr_coverage.c optional coverage \
|
2019-02-11 15:38:05 +00:00
|
|
|
compile-with "${NORMAL_C:N-fsanitize*}"
|
2013-04-08 19:40:53 +00:00
|
|
|
kern/subr_counter.c standard
|
2019-11-21 11:22:08 +00:00
|
|
|
kern/subr_csan.c optional kcsan \
|
|
|
|
compile-with "${NORMAL_C:N-fsanitize*}"
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_devstat.c standard
|
|
|
|
kern/subr_disk.c standard
|
2018-10-11 23:28:04 +00:00
|
|
|
kern/subr_early.c standard
|
2018-05-10 17:55:24 +00:00
|
|
|
kern/subr_epoch.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
|
2019-09-24 21:41:19 +00:00
|
|
|
kern/subr_filter.c standard
|
2016-08-12 21:29:44 +00:00
|
|
|
kern/subr_gtaskqueue.c standard
|
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_mchain.c optional libmchain
|
|
|
|
kern/subr_module.c standard
|
2021-08-10 19:52:36 +00:00
|
|
|
kern/subr_msan.c optional kmsan \
|
|
|
|
compile-with "${NORMAL_C:N-fsanitize*}"
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_msgbuf.c standard
|
|
|
|
kern/subr_param.c standard
|
|
|
|
kern/subr_pcpu.c standard
|
2013-05-12 04:05:01 +00:00
|
|
|
kern/subr_pctrie.c standard
|
2018-02-23 22:51:51 +00:00
|
|
|
kern/subr_pidctrl.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_power.c standard
|
|
|
|
kern/subr_prf.c standard
|
2020-08-13 20:48:14 +00:00
|
|
|
kern/subr_prng.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_prof.c standard
|
2019-02-20 09:38:19 +00:00
|
|
|
kern/subr_rangeset.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2020-01-31 00:49:51 +00:00
|
|
|
kern/subr_smr.c standard
|
2008-10-30 21:48:28 +00:00
|
|
|
kern/subr_stack.c optional ddb | stack | ktr
|
2019-10-07 19:05:05 +00:00
|
|
|
kern/subr_stats.c optional stats
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_taskqueue.c standard
|
2013-12-05 22:38:53 +00:00
|
|
|
kern/subr_terminal.c optional vt
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2013-06-28 03:51:20 +00:00
|
|
|
kern/subr_vmem.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/subr_witness.c optional witness
|
2011-03-01 13:24:49 +00:00
|
|
|
kern/sys_capability.c standard
|
2020-12-23 14:14:04 +00:00
|
|
|
kern/sys_eventfd.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/sys_generic.c standard
|
2018-03-21 01:15:45 +00:00
|
|
|
kern/sys_getrandom.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2014-07-26 19:27:34 +00:00
|
|
|
kern/uipc_accf.c standard
|
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
|
Add kernel-side support for in-kernel TLS.
KTLS adds support for in-kernel framing and encryption of Transport
Layer Security (1.0-1.2) data on TCP sockets. KTLS only supports
offload of TLS for transmitted data. Key negotation must still be
performed in userland. Once completed, transmit session keys for a
connection are provided to the kernel via a new TCP_TXTLS_ENABLE
socket option. All subsequent data transmitted on the socket is
placed into TLS frames and encrypted using the supplied keys.
Any data written to a KTLS-enabled socket via write(2), aio_write(2),
or sendfile(2) is assumed to be application data and is encoded in TLS
frames with an application data type. Individual records can be sent
with a custom type (e.g. handshake messages) via sendmsg(2) with a new
control message (TLS_SET_RECORD_TYPE) specifying the record type.
At present, rekeying is not supported though the in-kernel framework
should support rekeying.
KTLS makes use of the recently added unmapped mbufs to store TLS
frames in the socket buffer. Each TLS frame is described by a single
ext_pgs mbuf. The ext_pgs structure contains the header of the TLS
record (and trailer for encrypted records) as well as references to
the associated TLS session.
KTLS supports two primary methods of encrypting TLS frames: software
TLS and ifnet TLS.
Software TLS marks mbufs holding socket data as not ready via
M_NOTREADY similar to sendfile(2) when TLS framing information is
added to an unmapped mbuf in ktls_frame(). ktls_enqueue() is then
called to schedule TLS frames for encryption. In the case of
sendfile_iodone() calls ktls_enqueue() instead of pru_ready() leaving
the mbufs marked M_NOTREADY until encryption is completed. For other
writes (vn_sendfile when pages are available, write(2), etc.), the
PRUS_NOTREADY is set when invoking pru_send() along with invoking
ktls_enqueue().
A pool of worker threads (the "KTLS" kernel process) encrypts TLS
frames queued via ktls_enqueue(). Each TLS frame is temporarily
mapped using the direct map and passed to a software encryption
backend to perform the actual encryption.
(Note: The use of PHYS_TO_DMAP could be replaced with sf_bufs if
someone wished to make this work on architectures without a direct
map.)
KTLS supports pluggable software encryption backends. Internally,
Netflix uses proprietary pure-software backends. This commit includes
a simple backend in a new ktls_ocf.ko module that uses the kernel's
OpenCrypto framework to provide AES-GCM encryption of TLS frames. As
a result, software TLS is now a bit of a misnomer as it can make use
of hardware crypto accelerators.
Once software encryption has finished, the TLS frame mbufs are marked
ready via pru_ready(). At this point, the encrypted data appears as
regular payload to the TCP stack stored in unmapped mbufs.
ifnet TLS permits a NIC to offload the TLS encryption and TCP
segmentation. In this mode, a new send tag type (IF_SND_TAG_TYPE_TLS)
is allocated on the interface a socket is routed over and associated
with a TLS session. TLS records for a TLS session using ifnet TLS are
not marked M_NOTREADY but are passed down the stack unencrypted. The
ip_output_send() and ip6_output_send() helper functions that apply
send tags to outbound IP packets verify that the send tag of the TLS
record matches the outbound interface. If so, the packet is tagged
with the TLS send tag and sent to the interface. The NIC device
driver must recognize packets with the TLS send tag and schedule them
for TLS encryption and TCP segmentation. If the the outbound
interface does not match the interface in the TLS send tag, the packet
is dropped. In addition, a task is scheduled to refresh the TLS send
tag for the TLS session. If a new TLS send tag cannot be allocated,
the connection is dropped. If a new TLS send tag is allocated,
however, subsequent packets will be tagged with the correct TLS send
tag. (This latter case has been tested by configuring both ports of a
Chelsio T6 in a lagg and failing over from one port to another. As
the connections migrated to the new port, new TLS send tags were
allocated for the new port and connections resumed without being
dropped.)
ifnet TLS can be enabled and disabled on supported network interfaces
via new '[-]txtls[46]' options to ifconfig(8). ifnet TLS is supported
across both vlan devices and lagg interfaces using failover, lacp with
flowid enabled, or lacp with flowid enabled.
Applications may request the current KTLS mode of a connection via a
new TCP_TXTLS_MODE socket option. They can also use this socket
option to toggle between software and ifnet TLS modes.
In addition, a testing tool is available in tools/tools/switch_tls.
This is modeled on tcpdrop and uses similar syntax. However, instead
of dropping connections, -s is used to force KTLS connections to
switch to software TLS and -i is used to switch to ifnet TLS.
Various sysctls and counters are available under the kern.ipc.tls
sysctl node. The kern.ipc.tls.enable node must be set to true to
enable KTLS (it is off by default). The use of unmapped mbufs must
also be enabled via kern.ipc.mb_use_ext_pgs to enable KTLS.
KTLS is enabled via the KERN_TLS kernel option.
This patch is the culmination of years of work by several folks
including Scott Long and Randall Stewart for the original design and
implementation; Drew Gallatin for several optimizations including the
use of ext_pgs mbufs, the M_NOTREADY mechanism for TLS records
awaiting software encryption, and pluggable software crypto backends;
and John Baldwin for modifications to support hardware TLS offload.
Reviewed by: gallatin, hselasky, rrs
Obtained from: Netflix
Sponsored by: Netflix, Chelsio Communications
Differential Revision: https://reviews.freebsd.org/D21277
2019-08-27 00:01:56 +00:00
|
|
|
kern/uipc_ktls.c optional kern_tls
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/uipc_mbuf.c standard
|
|
|
|
kern/uipc_mbuf2.c standard
|
2015-03-11 16:02:24 +00:00
|
|
|
kern/uipc_mbufhash.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
|
2016-03-01 18:12:14 +00:00
|
|
|
kern/vfs_aio.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
kern/vfs_bio.c standard
|
|
|
|
kern/vfs_cache.c standard
|
|
|
|
kern/vfs_cluster.c standard
|
|
|
|
kern/vfs_default.c standard
|
|
|
|
kern/vfs_export.c standard
|
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" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
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
|
|
|
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" \
|
2021-01-14 15:34:30 +00:00
|
|
|
no-ctfconvert no-implicit-rule before-depend local \
|
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
|
|
|
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/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
|
2020-05-23 17:51:06 +00:00
|
|
|
libkern/arc4random_uniform.c standard
|
2015-03-01 00:22:16 +00:00
|
|
|
libkern/asprintf.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/bcd.c standard
|
|
|
|
libkern/bsearch.c standard
|
2014-10-07 04:54:11 +00:00
|
|
|
libkern/explicit_bzero.c standard
|
2005-01-10 05:11:40 +00:00
|
|
|
libkern/fnmatch.c standard
|
2019-06-17 19:49:08 +00:00
|
|
|
libkern/gsb_crc32.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
|
2012-09-04 12:07:33 +00:00
|
|
|
libkern/jenkins_hash.c standard
|
2014-10-10 19:26:26 +00:00
|
|
|
libkern/murmur3_32.c standard
|
2012-01-01 20:26:11 +00:00
|
|
|
libkern/memcchr.c standard
|
2015-02-06 23:34:40 +00:00
|
|
|
libkern/memchr.c standard
|
2014-09-05 16:40:47 +00:00
|
|
|
libkern/memmem.c optional gdb
|
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
|
2020-10-06 14:50:52 +00:00
|
|
|
libkern/strcasestr.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
|
2019-08-19 22:53:05 +00:00
|
|
|
libkern/strchrnul.c optional gdb
|
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
|
2014-08-17 09:44:42 +00:00
|
|
|
libkern/strndup.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/strlcat.c standard
|
|
|
|
libkern/strlcpy.c standard
|
2016-04-27 19:09:21 +00:00
|
|
|
libkern/strncat.c standard
|
2005-01-04 06:07:25 +00:00
|
|
|
libkern/strncmp.c standard
|
|
|
|
libkern/strncpy.c standard
|
2011-10-04 23:53:47 +00:00
|
|
|
libkern/strnlen.c standard
|
2021-07-15 00:52:32 +00:00
|
|
|
libkern/strnstr.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
|
2014-12-12 19:56:36 +00:00
|
|
|
libkern/timingsafe_bcmp.c standard
|
2022-01-24 23:27:39 +00:00
|
|
|
contrib/zlib/adler32.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib
|
|
|
|
contrib/zlib/compress.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib \
|
2019-08-07 01:41:17 +00:00
|
|
|
compile-with "${NORMAL_C} -Wno-cast-qual"
|
2022-01-24 23:27:39 +00:00
|
|
|
contrib/zlib/crc32.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib
|
|
|
|
contrib/zlib/deflate.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib \
|
2019-08-07 01:41:17 +00:00
|
|
|
compile-with "${NORMAL_C} -Wno-cast-qual"
|
2022-01-24 23:27:39 +00:00
|
|
|
contrib/zlib/inffast.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib
|
|
|
|
contrib/zlib/inflate.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib
|
|
|
|
contrib/zlib/inftrees.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib
|
|
|
|
contrib/zlib/trees.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib
|
|
|
|
contrib/zlib/uncompr.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib \
|
2019-08-07 01:41:17 +00:00
|
|
|
compile-with "${NORMAL_C} -Wno-cast-qual"
|
2022-01-24 23:27:39 +00:00
|
|
|
contrib/zlib/zutil.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib
|
|
|
|
dev/zlib/zlib_mod.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib
|
|
|
|
dev/zlib/zcalloc.c optional crypto | geom_uzip | \
|
|
|
|
mxge | ddb_ctf | gzio | zfs | zlib
|
2015-04-16 20:22:40 +00:00
|
|
|
net/altq/altq_cbq.c optional altq
|
2015-08-21 22:02:22 +00:00
|
|
|
net/altq/altq_codel.c optional altq
|
2015-04-16 20:22:40 +00:00
|
|
|
net/altq/altq_hfsc.c optional altq
|
2015-06-24 19:16:41 +00:00
|
|
|
net/altq/altq_fairq.c optional altq
|
2015-04-16 20:22:40 +00:00
|
|
|
net/altq/altq_priq.c optional altq
|
|
|
|
net/altq/altq_red.c optional altq
|
|
|
|
net/altq/altq_rio.c optional altq
|
|
|
|
net/altq/altq_rmclass.c optional altq
|
|
|
|
net/altq/altq_subr.c optional altq
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
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
|
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
|
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
|
2015-11-25 07:31:59 +00:00
|
|
|
net/if_enc.c optional enc inet | enc inet6
|
2009-07-26 12:20:07 +00:00
|
|
|
net/if_epair.c optional epair
|
2012-09-14 11:51:49 +00:00
|
|
|
net/if_ethersubr.c optional ether
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_fwsubr.c optional fwip
|
2014-10-17 07:58:51 +00:00
|
|
|
net/if_gif.c optional gif inet | gif inet6 | \
|
|
|
|
netgraph_gif inet | netgraph_gif inet6
|
2014-11-07 19:13:19 +00:00
|
|
|
net/if_gre.c optional gre inet | gre inet6
|
2017-02-06 08:49:57 +00:00
|
|
|
net/if_ipsec.c optional inet ipsec | inet6 ipsec
|
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
|
2014-11-07 19:13:19 +00:00
|
|
|
net/if_me.c optional me inet
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_media.c standard
|
|
|
|
net/if_mib.c standard
|
2009-06-11 11:13:35 +00:00
|
|
|
net/if_stf.c optional stf inet inet6
|
tun/tap: merge and rename to `tuntap`
tun(4) and tap(4) share the same general management interface and have a lot
in common. Bugs exist in tap(4) that have been fixed in tun(4), and
vice-versa. Let's reduce the maintenance requirements by merging them
together and using flags to differentiate between the three interface types
(tun, tap, vmnet).
This fixes a couple of tap(4)/vmnet(4) issues right out of the gate:
- tap devices may no longer be destroyed while they're open [0]
- VIMAGE issues already addressed in tun by kp
[0] emaste had removed an easy-panic-button in r240938 due to devdrn
blocking. A naive glance over this leads me to believe that this isn't quite
complete -- destroy_devl will only block while executing d_* functions, but
doesn't block the device from being destroyed while a process has it open.
The latter is the intent of the condvar in tun, so this is "fixed" (for
certain definitions of the word -- it wasn't really broken in tap, it just
wasn't quite ideal).
ifconfig(8) also grew the ability to map an interface name to a kld, so
that `ifconfig {tun,tap}0` can continue to autoload the correct module, and
`ifconfig vmnet0 create` will now autoload the correct module. This is a
low overhead addition.
(MFC commentary)
This may get MFC'd if many bugs in tun(4)/tap(4) are discovered after this,
and how critical they are. Changes after this are likely easily MFC'd
without taking this merge, but the merge will be easier.
I have no plans to do this MFC as of now.
Reviewed by: bcr (manpages), tuexen (testing, syzkaller/packetdrill)
Input also from: melifaro
Relnotes: yes
Differential Revision: https://reviews.freebsd.org/D20044
2019-05-08 02:32:11 +00:00
|
|
|
net/if_tuntap.c optional tuntap
|
2005-01-04 06:07:25 +00:00
|
|
|
net/if_vlan.c optional vlan
|
2014-10-20 14:42:42 +00:00
|
|
|
net/if_vxlan.c optional vxlan inet | vxlan inet6
|
2019-01-31 19:05:56 +00:00
|
|
|
net/ifdi_if.m optional ether pci iflib
|
|
|
|
net/iflib.c optional ether pci iflib
|
|
|
|
net/iflib_clone.c optional ether pci iflib
|
|
|
|
net/mp_ring.c optional ether iflib
|
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
|
2019-10-17 16:23:03 +00:00
|
|
|
net/debugnet.c optional inet debugnet
|
|
|
|
net/debugnet_inet.c optional inet debugnet
|
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
|
|
|
|
net/raw_cb.c standard
|
|
|
|
net/raw_usrreq.c standard
|
|
|
|
net/route.c standard
|
2020-10-03 10:47:17 +00:00
|
|
|
net/route/mpath_ctl.c optional route_mpath
|
|
|
|
net/route/nhgrp.c optional route_mpath
|
|
|
|
net/route/nhgrp_ctl.c optional route_mpath
|
Introduce nexthop objects and new routing KPI.
This is the foundational change for the routing subsytem rearchitecture.
More details and goals are available in https://reviews.freebsd.org/D24141 .
This patch introduces concept of nexthop objects and new nexthop-based
routing KPI.
Nexthops are objects, containing all necessary information for performing
the packet output decision. Output interface, mtu, flags, gw address goes
there. For most of the cases, these objects will serve the same role as
the struct rtentry is currently serving.
Typically there will be low tens of such objects for the router even with
multiple BGP full-views, as these objects will be shared between routing
entries. This allows to store more information in the nexthop.
New KPI:
struct nhop_object *fib4_lookup(uint32_t fibnum, struct in_addr dst,
uint32_t scopeid, uint32_t flags, uint32_t flowid);
struct nhop_object *fib6_lookup(uint32_t fibnum, const struct in6_addr *dst6,
uint32_t scopeid, uint32_t flags, uint32_t flowid);
These 2 function are intended to replace all all flavours of
<in_|in6_>rtalloc[1]<_ign><_fib>, mpath functions and the previous
fib[46]-generation functions.
Upon successful lookup, they return nexthop object which is guaranteed to
exist within current NET_EPOCH. If longer lifetime is desired, one can
specify NHR_REF as a flag and get a referenced version of the nexthop.
Reference semantic closely resembles rtentry one, allowing sed-style conversion.
Additionally, another 2 functions are introduced to support uRPF functionality
inside variety of our firewalls. Their primary goal is to hide the multipath
implementation details inside the routing subsystem, greatly simplifying
firewalls implementation:
int fib4_lookup_urpf(uint32_t fibnum, struct in_addr dst, uint32_t scopeid,
uint32_t flags, const struct ifnet *src_if);
int fib6_lookup_urpf(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid,
uint32_t flags, const struct ifnet *src_if);
All functions have a separate scopeid argument, paving way to eliminating IPv6 scope
embedding and allowing to support IPv4 link-locals in the future.
Structure changes:
* rtentry gets new 'rt_nhop' pointer, slightly growing the overall size.
* rib_head gets new 'rnh_preadd' callback pointer, slightly growing overall sz.
Old KPI:
During the transition state old and new KPI will coexists. As there are another 4-5
decent-sized conversion patches, it will probably take a couple of weeks.
To support both KPIs, fields not required by the new KPI (most of rtentry) has to be
kept, resulting in the temporary size increase.
Once conversion is finished, rtentry will notably shrink.
More details:
* architectural overview: https://reviews.freebsd.org/D24141
* list of the next changes: https://reviews.freebsd.org/D24232
Reviewed by: ae,glebius(initial version)
Differential Revision: https://reviews.freebsd.org/D24232
2020-04-12 14:30:00 +00:00
|
|
|
net/route/nhop.c standard
|
|
|
|
net/route/nhop_ctl.c standard
|
|
|
|
net/route/nhop_utils.c standard
|
Add modular fib lookup framework.
This change introduces framework that allows to dynamically
attach or detach longest prefix match (lpm) lookup algorithms
to speed up datapath route tables lookups.
Framework takes care of handling initial synchronisation,
route subscription, nhop/nhop groups reference and indexing,
dataplane attachments and fib instance algorithm setup/teardown.
Framework features automatic algorithm selection, allowing for
picking the best matching algorithm on-the-fly based on the
amount of routes in the routing table.
Currently framework code is guarded under FIB_ALGO config option.
An idea is to enable it by default in the next couple of weeks.
The following algorithms are provided by default:
IPv4:
* bsearch4 (lockless binary search in a special IP array), tailored for
small-fib (<16 routes)
* radix4_lockless (lockless immutable radix, re-created on every rtable change),
tailored for small-fib (<1000 routes)
* radix4 (base system radix backend)
* dpdk_lpm4 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized
for large-fib (D27412)
IPv6:
* radix6_lockless (lockless immutable radix, re-created on every rtable change),
tailed for small-fib (<1000 routes)
* radix6 (base system radix backend)
* dpdk_lpm6 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized
for large-fib (D27412)
Performance changes:
Micro benchmarks (I7-7660U, single-core lookups, 2048k dst, code in D27604):
IPv4:
8 routes:
radix4: ~20mpps
radix4_lockless: ~24.8mpps
bsearch4: ~69mpps
dpdk_lpm4: ~67 mpps
700k routes:
radix4_lockless: 3.3mpps
dpdk_lpm4: 46mpps
IPv6:
8 routes:
radix6_lockless: ~20mpps
dpdk_lpm6: ~70mpps
100k routes:
radix6_lockless: 13.9mpps
dpdk_lpm6: 57mpps
Forwarding benchmarks:
+ 10-15% IPv4 forwarding performance (small-fib, bsearch4)
+ 25% IPv4 forwarding performance (full-view, dpdk_lpm4)
+ 20% IPv6 forwarding performance (full-view, dpdk_lpm6)
Control:
Framwork adds the following runtime sysctls:
List algos
* net.route.algo.inet.algo_list: bsearch4, radix4_lockless, radix4
* net.route.algo.inet6.algo_list: radix6_lockless, radix6, dpdk_lpm6
Debug level (7=LOG_DEBUG, per-route)
net.route.algo.debug_level: 5
Algo selection (currently only for fib 0):
net.route.algo.inet.algo: bsearch4
net.route.algo.inet6.algo: radix6_lockless
Support for manually changing algos in non-default fib will be added
soon. Some sysctl names will be changed in the near future.
Differential Revision: https://reviews.freebsd.org/D27401
2020-12-25 10:39:52 +00:00
|
|
|
net/route/fib_algo.c optional fib_algo
|
Introduce nexthop objects and new routing KPI.
This is the foundational change for the routing subsytem rearchitecture.
More details and goals are available in https://reviews.freebsd.org/D24141 .
This patch introduces concept of nexthop objects and new nexthop-based
routing KPI.
Nexthops are objects, containing all necessary information for performing
the packet output decision. Output interface, mtu, flags, gw address goes
there. For most of the cases, these objects will serve the same role as
the struct rtentry is currently serving.
Typically there will be low tens of such objects for the router even with
multiple BGP full-views, as these objects will be shared between routing
entries. This allows to store more information in the nexthop.
New KPI:
struct nhop_object *fib4_lookup(uint32_t fibnum, struct in_addr dst,
uint32_t scopeid, uint32_t flags, uint32_t flowid);
struct nhop_object *fib6_lookup(uint32_t fibnum, const struct in6_addr *dst6,
uint32_t scopeid, uint32_t flags, uint32_t flowid);
These 2 function are intended to replace all all flavours of
<in_|in6_>rtalloc[1]<_ign><_fib>, mpath functions and the previous
fib[46]-generation functions.
Upon successful lookup, they return nexthop object which is guaranteed to
exist within current NET_EPOCH. If longer lifetime is desired, one can
specify NHR_REF as a flag and get a referenced version of the nexthop.
Reference semantic closely resembles rtentry one, allowing sed-style conversion.
Additionally, another 2 functions are introduced to support uRPF functionality
inside variety of our firewalls. Their primary goal is to hide the multipath
implementation details inside the routing subsystem, greatly simplifying
firewalls implementation:
int fib4_lookup_urpf(uint32_t fibnum, struct in_addr dst, uint32_t scopeid,
uint32_t flags, const struct ifnet *src_if);
int fib6_lookup_urpf(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid,
uint32_t flags, const struct ifnet *src_if);
All functions have a separate scopeid argument, paving way to eliminating IPv6 scope
embedding and allowing to support IPv4 link-locals in the future.
Structure changes:
* rtentry gets new 'rt_nhop' pointer, slightly growing the overall size.
* rib_head gets new 'rnh_preadd' callback pointer, slightly growing overall sz.
Old KPI:
During the transition state old and new KPI will coexists. As there are another 4-5
decent-sized conversion patches, it will probably take a couple of weeks.
To support both KPIs, fields not required by the new KPI (most of rtentry) has to be
kept, resulting in the temporary size increase.
Once conversion is finished, rtentry will notably shrink.
More details:
* architectural overview: https://reviews.freebsd.org/D24141
* list of the next changes: https://reviews.freebsd.org/D24232
Reviewed by: ae,glebius(initial version)
Differential Revision: https://reviews.freebsd.org/D24232
2020-04-12 14:30:00 +00:00
|
|
|
net/route/route_ctl.c standard
|
2020-04-28 20:00:17 +00:00
|
|
|
net/route/route_ddb.c optional ddb
|
Introduce nexthop objects and new routing KPI.
This is the foundational change for the routing subsytem rearchitecture.
More details and goals are available in https://reviews.freebsd.org/D24141 .
This patch introduces concept of nexthop objects and new nexthop-based
routing KPI.
Nexthops are objects, containing all necessary information for performing
the packet output decision. Output interface, mtu, flags, gw address goes
there. For most of the cases, these objects will serve the same role as
the struct rtentry is currently serving.
Typically there will be low tens of such objects for the router even with
multiple BGP full-views, as these objects will be shared between routing
entries. This allows to store more information in the nexthop.
New KPI:
struct nhop_object *fib4_lookup(uint32_t fibnum, struct in_addr dst,
uint32_t scopeid, uint32_t flags, uint32_t flowid);
struct nhop_object *fib6_lookup(uint32_t fibnum, const struct in6_addr *dst6,
uint32_t scopeid, uint32_t flags, uint32_t flowid);
These 2 function are intended to replace all all flavours of
<in_|in6_>rtalloc[1]<_ign><_fib>, mpath functions and the previous
fib[46]-generation functions.
Upon successful lookup, they return nexthop object which is guaranteed to
exist within current NET_EPOCH. If longer lifetime is desired, one can
specify NHR_REF as a flag and get a referenced version of the nexthop.
Reference semantic closely resembles rtentry one, allowing sed-style conversion.
Additionally, another 2 functions are introduced to support uRPF functionality
inside variety of our firewalls. Their primary goal is to hide the multipath
implementation details inside the routing subsystem, greatly simplifying
firewalls implementation:
int fib4_lookup_urpf(uint32_t fibnum, struct in_addr dst, uint32_t scopeid,
uint32_t flags, const struct ifnet *src_if);
int fib6_lookup_urpf(uint32_t fibnum, const struct in6_addr *dst6, uint32_t scopeid,
uint32_t flags, const struct ifnet *src_if);
All functions have a separate scopeid argument, paving way to eliminating IPv6 scope
embedding and allowing to support IPv4 link-locals in the future.
Structure changes:
* rtentry gets new 'rt_nhop' pointer, slightly growing the overall size.
* rib_head gets new 'rnh_preadd' callback pointer, slightly growing overall sz.
Old KPI:
During the transition state old and new KPI will coexists. As there are another 4-5
decent-sized conversion patches, it will probably take a couple of weeks.
To support both KPIs, fields not required by the new KPI (most of rtentry) has to be
kept, resulting in the temporary size increase.
Once conversion is finished, rtentry will notably shrink.
More details:
* architectural overview: https://reviews.freebsd.org/D24141
* list of the next changes: https://reviews.freebsd.org/D24232
Reviewed by: ae,glebius(initial version)
Differential Revision: https://reviews.freebsd.org/D24232
2020-04-12 14:30:00 +00:00
|
|
|
net/route/route_helpers.c standard
|
2020-11-08 11:12:00 +00:00
|
|
|
net/route/route_ifaddrs.c standard
|
2020-08-21 21:34:52 +00:00
|
|
|
net/route/route_tables.c standard
|
2020-04-28 19:14:09 +00:00
|
|
|
net/route/route_temporal.c standard
|
2015-01-18 18:06:40 +00:00
|
|
|
net/rss_config.c optional inet rss | inet6 rss
|
2005-01-04 06:07:25 +00:00
|
|
|
net/rtsock.c standard
|
Retire synchronous PPP kernel driver sppp(4).
The last two drivers that required sppp are cp(4) and ce(4).
These devices are still produced and can be purchased
at Cronyx <http://cronyx.ru/hardware/wan.html>.
Since Roman Kurakin <rik@FreeBSD.org> has quit them, they no
longer support FreeBSD officially. Later they have dropped
support for Linux drivers to. As of mid-2020 they don't even
have a developer to maintain their Windows driver. However,
their support verbally told me that they could provide aid to
a FreeBSD developer with documentaion in case if there appears
a new customer for their devices.
These drivers have a feature to not use sppp(4) and create an
interface, but instead expose the device as netgraph(4) node.
Then, you can attach ng_ppp(4) with help of ports/net/mpd5 on
top of the node and get your synchronous PPP. Alternatively
you can attach ng_frame_relay(4) or ng_cisco(4) for HDLC.
Actually, last time I used cp(4) back in 2004, using netgraph(4)
instead of sppp(4) was already the right way to do.
Thus, remove the sppp(4) related part of the drivers and enable
by default the negraph(4) part. Further maintenance of these
drivers in the tree shouldn't be a big deal.
While doing that, remove some cruft and enable cp(4) compilation
on amd64. The ce(4) for some unknown reason marks its internal
DDK functions with __attribute__ fastcall, which most likely is
safe to remove, but without hardware I'm not going to do that, so
ce(4) remains i386-only.
Reviewed by: emaste, imp, donner
Differential Revision: https://reviews.freebsd.org/D32590
See also: https://reviews.freebsd.org/D23928
2021-10-21 04:08:13 +00:00
|
|
|
net/slcompress.c optional netgraph_vjc
|
2020-10-18 17:15:47 +00:00
|
|
|
net/toeplitz.c optional inet rss | inet6 rss | route_mpath
|
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-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
|
2014-02-14 20:11:06 +00:00
|
|
|
net80211/ieee80211_adhoc.c optional wlan \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused-function"
|
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
|
2013-12-28 23:17:24 +00:00
|
|
|
net80211/ieee80211_crypto.c optional wlan \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused-function"
|
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
|
2014-02-14 20:11:06 +00:00
|
|
|
net80211/ieee80211_hostap.c optional wlan \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused-function"
|
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
|
2013-12-28 23:17:24 +00:00
|
|
|
net80211/ieee80211_mesh.c optional wlan ieee80211_support_mesh \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused-function"
|
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
|
2014-02-14 20:11:06 +00:00
|
|
|
net80211/ieee80211_sta.c optional wlan \
|
|
|
|
compile-with "${NORMAL_C} -Wno-unused-function"
|
2009-03-24 20:39:08 +00:00
|
|
|
net80211/ieee80211_superg.c optional wlan ieee80211_support_superg
|
2015-01-06 09:39:42 +00:00
|
|
|
net80211/ieee80211_scan_sw.c optional wlan
|
2009-03-24 17:22:10 +00:00
|
|
|
net80211/ieee80211_tdma.c optional wlan ieee80211_support_tdma
|
2017-01-08 04:27:08 +00:00
|
|
|
net80211/ieee80211_vht.c optional wlan
|
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-09-11 01:28:05 +00:00
|
|
|
netgraph/atm/ccatm/ng_ccatm.c optional ngatm_ccatm \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ngatm"
|
|
|
|
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
|
2009-05-27 16:43:40 +00:00
|
|
|
netgraph/bluetooth/drivers/ubt/ng_ubt.c optional netgraph_bluetooth_ubt usb
|
2019-08-18 22:11:42 +00:00
|
|
|
netgraph/bluetooth/drivers/ubt/ng_ubt_intel.c optional netgraph_bluetooth_ubt usb
|
2009-05-27 16:43:40 +00:00
|
|
|
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
|
2018-12-12 19:02:37 +00:00
|
|
|
netgraph/ng_checksum.c optional netgraph_checksum
|
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
|
1999-10-21 09:06:11 +00:00
|
|
|
netgraph/ng_frame_relay.c optional netgraph_frame_relay
|
2014-10-17 07:58:51 +00:00
|
|
|
netgraph/ng_gif.c optional netgraph_gif inet6 | netgraph_gif inet
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2020-12-08 15:09:42 +00:00
|
|
|
netgraph/ng_macfilter.c optional netgraph_macfilter
|
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
|
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
|
2021-01-26 15:50:04 +00:00
|
|
|
netgraph/ng_vlan_rotate.c optional netgraph_vlan_rotate
|
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
|
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
|
2021-11-24 18:19:44 +00:00
|
|
|
netinet/in_cksum.c optional inet | inet6
|
2010-10-24 22:02:36 +00:00
|
|
|
netinet/in_debug.c optional inet ddb
|
2013-08-25 21:54:41 +00:00
|
|
|
netinet/in_kdtrace.c optional inet | inet6
|
2009-06-11 10:26:38 +00:00
|
|
|
netinet/ip_carp.c optional inet carp | inet6 carp
|
Merge helper fib* functions used for basic lookups.
Vast majority of rtalloc(9) users require only basic info from
route table (e.g. "does the rtentry interface match with the interface
I have?". "what is the MTU?", "Give me the IPv4 source address to use",
etc..).
Instead of hand-rolling lookups, checking if rtentry is up, valid,
dealing with IPv6 mtu, finding "address" ifp (almost never done right),
provide easy-to-use API hiding all the complexity and returning the
needed info into small on-stack structure.
This change also helps hiding route subsystem internals (locking, direct
rtentry accesses).
Additionaly, using this API improves lookup performance since rtentry is not
locked.
(This is safe, since all the rtentry changes happens under both radix WLOCK
and rtentry WLOCK).
Sponsored by: Yandex LLC
2015-12-08 10:50:03 +00:00
|
|
|
netinet/in_fib.c optional inet
|
Add modular fib lookup framework.
This change introduces framework that allows to dynamically
attach or detach longest prefix match (lpm) lookup algorithms
to speed up datapath route tables lookups.
Framework takes care of handling initial synchronisation,
route subscription, nhop/nhop groups reference and indexing,
dataplane attachments and fib instance algorithm setup/teardown.
Framework features automatic algorithm selection, allowing for
picking the best matching algorithm on-the-fly based on the
amount of routes in the routing table.
Currently framework code is guarded under FIB_ALGO config option.
An idea is to enable it by default in the next couple of weeks.
The following algorithms are provided by default:
IPv4:
* bsearch4 (lockless binary search in a special IP array), tailored for
small-fib (<16 routes)
* radix4_lockless (lockless immutable radix, re-created on every rtable change),
tailored for small-fib (<1000 routes)
* radix4 (base system radix backend)
* dpdk_lpm4 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized
for large-fib (D27412)
IPv6:
* radix6_lockless (lockless immutable radix, re-created on every rtable change),
tailed for small-fib (<1000 routes)
* radix6 (base system radix backend)
* dpdk_lpm6 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized
for large-fib (D27412)
Performance changes:
Micro benchmarks (I7-7660U, single-core lookups, 2048k dst, code in D27604):
IPv4:
8 routes:
radix4: ~20mpps
radix4_lockless: ~24.8mpps
bsearch4: ~69mpps
dpdk_lpm4: ~67 mpps
700k routes:
radix4_lockless: 3.3mpps
dpdk_lpm4: 46mpps
IPv6:
8 routes:
radix6_lockless: ~20mpps
dpdk_lpm6: ~70mpps
100k routes:
radix6_lockless: 13.9mpps
dpdk_lpm6: 57mpps
Forwarding benchmarks:
+ 10-15% IPv4 forwarding performance (small-fib, bsearch4)
+ 25% IPv4 forwarding performance (full-view, dpdk_lpm4)
+ 20% IPv6 forwarding performance (full-view, dpdk_lpm6)
Control:
Framwork adds the following runtime sysctls:
List algos
* net.route.algo.inet.algo_list: bsearch4, radix4_lockless, radix4
* net.route.algo.inet6.algo_list: radix6_lockless, radix6, dpdk_lpm6
Debug level (7=LOG_DEBUG, per-route)
net.route.algo.debug_level: 5
Algo selection (currently only for fib 0):
net.route.algo.inet.algo: bsearch4
net.route.algo.inet6.algo: radix6_lockless
Support for manually changing algos in non-default fib will be added
soon. Some sysctl names will be changed in the near future.
Differential Revision: https://reviews.freebsd.org/D27401
2020-12-25 10:39:52 +00:00
|
|
|
netinet/in_fib_algo.c optional inet fib_algo
|
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
|
2016-08-09 02:16:21 +00:00
|
|
|
netinet/in_jail.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
|
2016-07-27 20:34:09 +00:00
|
|
|
netinet/in_prot.c optional inet | inet6
|
2012-09-14 11:51:49 +00:00
|
|
|
netinet/in_proto.c optional inet | inet6
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/in_rmx.c optional inet
|
2015-01-18 18:06:40 +00:00
|
|
|
netinet/in_rss.c optional inet rss
|
2009-06-10 20:57:06 +00:00
|
|
|
netinet/ip_divert.c optional inet ipdivert ipfirewall
|
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
|
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
|
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
|
2015-04-10 06:02:37 +00:00
|
|
|
netinet/ip_reass.c optional inet
|
2011-04-30 12:07:31 +00:00
|
|
|
netinet/raw_ip.c optional inet | inet6
|
2021-11-11 11:28:18 +00:00
|
|
|
netinet/cc/cc.c optional cc_newreno inet | cc_vegas inet | \
|
|
|
|
cc_htcp inet | cc_hd inet | cc_dctcp inet | cc_cubic inet | \
|
|
|
|
cc_chd inet | cc_cdg inet | cc_newreno inet6 | cc_vegas inet6 | \
|
|
|
|
cc_htcp inet6 | cc_hd inet6 |cc_dctcp inet6 | cc_cubic inet6 | \
|
|
|
|
cc_chd inet6 | cc_cdg inet6
|
|
|
|
netinet/cc/cc_cdg.c optional inet cc_cdg tcp_hhook
|
|
|
|
netinet/cc/cc_chd.c optional inet cc_chd tcp_hhook
|
|
|
|
netinet/cc/cc_cubic.c optional inet cc_cubic | inet6 cc_cubic
|
|
|
|
netinet/cc/cc_dctcp.c optional inet cc_dctcp | inet6 cc_dctcp
|
|
|
|
netinet/cc/cc_hd.c optional inet cc_hd tcp_hhook
|
|
|
|
netinet/cc/cc_htcp.c optional inet cc_htcp | inet6 cc_htcp
|
|
|
|
netinet/cc/cc_newreno.c optional inet cc_newreno | inet6 cc_newreno
|
|
|
|
netinet/cc/cc_vegas.c optional inet cc_vegas tcp_hhook
|
|
|
|
netinet/khelp/h_ertt.c optional inet tcp_hhook
|
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
|
2017-12-26 12:35:02 +00:00
|
|
|
netinet/sctp_crc32.c optional inet | inet6
|
2011-04-30 12:39:47 +00:00
|
|
|
netinet/sctp_indata.c optional inet sctp | inet6 sctp
|
|
|
|
netinet/sctp_input.c optional inet sctp | inet6 sctp
|
2019-10-13 16:14:04 +00:00
|
|
|
netinet/sctp_kdtrace.c optional inet sctp | inet6 sctp
|
2011-04-30 12:39:47 +00:00
|
|
|
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
|
2014-10-09 15:16:52 +00:00
|
|
|
netinet/sctp_syscalls.c optional inet sctp | inet6 sctp
|
2011-04-30 12:39:47 +00:00
|
|
|
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
|
2015-04-29 12:37:45 +00:00
|
|
|
netinet/siftr.c optional inet siftr alq | inet6 siftr alq
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet/tcp_debug.c optional tcpdebug
|
2022-02-05 13:59:00 +00:00
|
|
|
netinet/tcp_ecn.c optional inet | inet6
|
2015-12-24 19:09:48 +00:00
|
|
|
netinet/tcp_fastopen.c optional inet tcp_rfc7413 | inet6 tcp_rfc7413
|
2011-04-30 11:21:29 +00:00
|
|
|
netinet/tcp_hostcache.c optional inet | inet6
|
|
|
|
netinet/tcp_input.c optional inet | inet6
|
2018-03-24 12:48:10 +00:00
|
|
|
netinet/tcp_log_buf.c optional tcp_blackbox inet | tcp_blackbox inet6
|
2011-04-30 11:21:29 +00:00
|
|
|
netinet/tcp_lro.c optional inet | inet6
|
|
|
|
netinet/tcp_output.c optional inet | inet6
|
2012-06-19 07:34:13 +00:00
|
|
|
netinet/tcp_offload.c optional tcp_offload inet | tcp_offload inet6
|
2019-09-24 21:41:19 +00:00
|
|
|
netinet/tcp_hpts.c optional tcphpts inet | tcphpts inet6
|
|
|
|
netinet/tcp_ratelimit.c optional ratelimit inet | ratelimit inet6
|
Add an external mbuf buffer type that holds multiple unmapped pages.
Unmapped mbufs allow sendfile to carry multiple pages of data in a
single mbuf, without mapping those pages. It is a requirement for
Netflix's in-kernel TLS, and provides a 5-10% CPU savings on heavy web
serving workloads when used by sendfile, due to effectively
compressing socket buffers by an order of magnitude, and hence
reducing cache misses.
For this new external mbuf buffer type (EXT_PGS), the ext_buf pointer
now points to a struct mbuf_ext_pgs structure instead of a data
buffer. This structure contains an array of physical addresses (this
reduces cache misses compared to an earlier version that stored an
array of vm_page_t pointers). It also stores additional fields needed
for in-kernel TLS such as the TLS header and trailer data that are
currently unused. To more easily detect these mbufs, the M_NOMAP flag
is set in m_flags in addition to M_EXT.
Various functions like m_copydata() have been updated to safely access
packet contents (using uiomove_fromphys()), to make things like BPF
safe.
NIC drivers advertise support for unmapped mbufs on transmit via a new
IFCAP_NOMAP capability. This capability can be toggled via the new
'nomap' and '-nomap' ifconfig(8) commands. For NIC drivers that only
transmit packet contents via DMA and use bus_dma, adding the
capability to if_capabilities and if_capenable should be all that is
required.
If a NIC does not support unmapped mbufs, they are converted to a
chain of mapped mbufs (using sf_bufs to provide the mapping) in
ip_output or ip6_output. If an unmapped mbuf requires software
checksums, it is also converted to a chain of mapped mbufs before
computing the checksum.
Submitted by: gallatin (earlier version)
Reviewed by: gallatin, hselasky, rrs
Discussed with: ae, kp (firewalls)
Relnotes: yes
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D20616
2019-06-29 00:48:33 +00:00
|
|
|
netinet/tcp_pcap.c optional inet tcppcap | inet6 tcppcap \
|
|
|
|
compile-with "${NORMAL_C} ${NO_WNONNULL}"
|
2011-04-30 11:21:29 +00:00
|
|
|
netinet/tcp_reass.c optional inet | inet6
|
|
|
|
netinet/tcp_sack.c optional inet | inet6
|
2019-12-02 20:58:04 +00:00
|
|
|
netinet/tcp_stats.c optional stats inet | stats inet6
|
2011-04-30 11:21:29 +00:00
|
|
|
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
|
2019-10-18 22:03:36 +00:00
|
|
|
netinet/netdump/netdump_client.c optional inet debugnet netdump
|
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
|
Merge helper fib* functions used for basic lookups.
Vast majority of rtalloc(9) users require only basic info from
route table (e.g. "does the rtentry interface match with the interface
I have?". "what is the MTU?", "Give me the IPv4 source address to use",
etc..).
Instead of hand-rolling lookups, checking if rtentry is up, valid,
dealing with IPv6 mtu, finding "address" ifp (almost never done right),
provide easy-to-use API hiding all the complexity and returning the
needed info into small on-stack structure.
This change also helps hiding route subsystem internals (locking, direct
rtentry accesses).
Additionaly, using this API improves lookup performance since rtentry is not
locked.
(This is safe, since all the rtentry changes happens under both radix WLOCK
and rtentry WLOCK).
Sponsored by: Yandex LLC
2015-12-08 10:50:03 +00:00
|
|
|
netinet6/in6_fib.c optional inet6
|
Add modular fib lookup framework.
This change introduces framework that allows to dynamically
attach or detach longest prefix match (lpm) lookup algorithms
to speed up datapath route tables lookups.
Framework takes care of handling initial synchronisation,
route subscription, nhop/nhop groups reference and indexing,
dataplane attachments and fib instance algorithm setup/teardown.
Framework features automatic algorithm selection, allowing for
picking the best matching algorithm on-the-fly based on the
amount of routes in the routing table.
Currently framework code is guarded under FIB_ALGO config option.
An idea is to enable it by default in the next couple of weeks.
The following algorithms are provided by default:
IPv4:
* bsearch4 (lockless binary search in a special IP array), tailored for
small-fib (<16 routes)
* radix4_lockless (lockless immutable radix, re-created on every rtable change),
tailored for small-fib (<1000 routes)
* radix4 (base system radix backend)
* dpdk_lpm4 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized
for large-fib (D27412)
IPv6:
* radix6_lockless (lockless immutable radix, re-created on every rtable change),
tailed for small-fib (<1000 routes)
* radix6 (base system radix backend)
* dpdk_lpm6 (DPDK DIR24-8-based lookups), lockless datastrucure, optimized
for large-fib (D27412)
Performance changes:
Micro benchmarks (I7-7660U, single-core lookups, 2048k dst, code in D27604):
IPv4:
8 routes:
radix4: ~20mpps
radix4_lockless: ~24.8mpps
bsearch4: ~69mpps
dpdk_lpm4: ~67 mpps
700k routes:
radix4_lockless: 3.3mpps
dpdk_lpm4: 46mpps
IPv6:
8 routes:
radix6_lockless: ~20mpps
dpdk_lpm6: ~70mpps
100k routes:
radix6_lockless: 13.9mpps
dpdk_lpm6: 57mpps
Forwarding benchmarks:
+ 10-15% IPv4 forwarding performance (small-fib, bsearch4)
+ 25% IPv4 forwarding performance (full-view, dpdk_lpm4)
+ 20% IPv6 forwarding performance (full-view, dpdk_lpm6)
Control:
Framwork adds the following runtime sysctls:
List algos
* net.route.algo.inet.algo_list: bsearch4, radix4_lockless, radix4
* net.route.algo.inet6.algo_list: radix6_lockless, radix6, dpdk_lpm6
Debug level (7=LOG_DEBUG, per-route)
net.route.algo.debug_level: 5
Algo selection (currently only for fib 0):
net.route.algo.inet.algo: bsearch4
net.route.algo.inet6.algo: radix6_lockless
Support for manually changing algos in non-default fib will be added
soon. Some sysctl names will be changed in the near future.
Differential Revision: https://reviews.freebsd.org/D27401
2020-12-25 10:39:52 +00:00
|
|
|
netinet6/in6_fib_algo.c optional inet6 fib_algo
|
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
|
2016-08-09 02:16:21 +00:00
|
|
|
netinet6/in6_jail.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
|
|
|
|
netinet6/in6_proto.c optional inet6
|
|
|
|
netinet6/in6_rmx.c optional inet6
|
2015-01-18 18:06:40 +00:00
|
|
|
netinet6/in6_rss.c optional inet6 rss
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet6/in6_src.c optional inet6
|
2016-12-12 10:57:32 +00:00
|
|
|
netinet6/ip6_fastfwd.c optional inet6
|
2005-01-04 06:07:25 +00:00
|
|
|
netinet6/ip6_forward.c optional inet6
|
2014-11-07 19:13:19 +00:00
|
|
|
netinet6/ip6_gre.c optional gre inet6
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
|
|
|
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
|
2017-02-06 08:49:57 +00:00
|
|
|
netipsec/ipsec_mod.c optional ipsec inet | ipsec inet6
|
2009-06-10 20:44:13 +00:00
|
|
|
netipsec/ipsec_output.c optional ipsec inet | ipsec inet6
|
2017-02-06 08:49:57 +00:00
|
|
|
netipsec/ipsec_pcb.c optional ipsec inet | ipsec inet6 | \
|
|
|
|
ipsec_support inet | ipsec_support inet6
|
|
|
|
netipsec/key.c optional ipsec inet | ipsec inet6 | \
|
|
|
|
ipsec_support inet | ipsec_support inet6
|
|
|
|
netipsec/key_debug.c optional ipsec inet | ipsec inet6 | \
|
|
|
|
ipsec_support inet | ipsec_support inet6
|
|
|
|
netipsec/keysock.c optional ipsec inet | ipsec inet6 | \
|
|
|
|
ipsec_support inet | ipsec_support inet6
|
|
|
|
netipsec/subr_ipsec.c optional ipsec inet | ipsec inet6 | \
|
|
|
|
ipsec_support inet | ipsec_support inet6
|
|
|
|
netipsec/udpencap.c optional ipsec inet
|
2009-06-10 20:44:13 +00:00
|
|
|
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_tcp.c optional ipsec inet tcp_signature | \
|
2017-02-06 08:49:57 +00:00
|
|
|
ipsec inet6 tcp_signature | ipsec_support inet tcp_signature | \
|
|
|
|
ipsec_support inet6 tcp_signature
|
2016-05-26 22:07:09 +00:00
|
|
|
netpfil/ipfw/dn_aqm_codel.c optional inet dummynet
|
2016-05-29 07:29:35 +00:00
|
|
|
netpfil/ipfw/dn_aqm_pie.c optional inet dummynet
|
2012-09-14 11:51:49 +00:00
|
|
|
netpfil/ipfw/dn_heap.c optional inet dummynet
|
|
|
|
netpfil/ipfw/dn_sched_fifo.c optional inet dummynet
|
2016-05-26 22:07:09 +00:00
|
|
|
netpfil/ipfw/dn_sched_fq_codel.c optional inet dummynet
|
2016-05-29 07:29:35 +00:00
|
|
|
netpfil/ipfw/dn_sched_fq_pie.c optional inet dummynet
|
2012-09-14 11:51:49 +00:00
|
|
|
netpfil/ipfw/dn_sched_prio.c optional inet dummynet
|
2012-11-13 06:07:13 +00:00
|
|
|
netpfil/ipfw/dn_sched_qfq.c optional inet dummynet
|
2012-09-14 11:51:49 +00:00
|
|
|
netpfil/ipfw/dn_sched_rr.c optional inet dummynet
|
2012-11-13 06:07:13 +00:00
|
|
|
netpfil/ipfw/dn_sched_wf2q.c optional inet dummynet
|
2012-09-14 11:51:49 +00:00
|
|
|
netpfil/ipfw/ip_dummynet.c optional inet dummynet
|
|
|
|
netpfil/ipfw/ip_dn_io.c optional inet dummynet
|
|
|
|
netpfil/ipfw/ip_dn_glue.c optional inet dummynet
|
|
|
|
netpfil/ipfw/ip_fw2.c optional inet ipfirewall
|
2016-08-13 15:41:04 +00:00
|
|
|
netpfil/ipfw/ip_fw_bpf.c optional inet ipfirewall
|
2018-02-07 18:59:54 +00:00
|
|
|
netpfil/ipfw/ip_fw_dynamic.c optional inet ipfirewall \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
2016-04-14 22:51:23 +00:00
|
|
|
netpfil/ipfw/ip_fw_eaction.c optional inet ipfirewall
|
2012-09-14 11:51:49 +00:00
|
|
|
netpfil/ipfw/ip_fw_log.c optional inet ipfirewall
|
|
|
|
netpfil/ipfw/ip_fw_pfil.c optional inet ipfirewall
|
|
|
|
netpfil/ipfw/ip_fw_sockopt.c optional inet ipfirewall
|
|
|
|
netpfil/ipfw/ip_fw_table.c optional inet ipfirewall
|
2014-06-14 10:58:39 +00:00
|
|
|
netpfil/ipfw/ip_fw_table_algo.c optional inet ipfirewall
|
Add support for multi-field values inside ipfw tables.
This is the last major change in given branch.
Kernel changes:
* Use 64-bytes structures to hold multi-value variables.
* Use shared array to hold values from all tables (assume
each table algo is capable of holding 32-byte variables).
* Add some placeholders to support per-table value arrays in future.
* Use simple eventhandler-style API to ease the process of adding new
table items. Currently table addition may required multiple UH drops/
acquires which is quite tricky due to atomic table modificatio/swap
support, shared array resize, etc. Deal with it by calling special
notifier capable of rolling back state before actually performing
swap/resize operations. Original operation then restarts itself after
acquiring UH lock.
* Bump all objhash users default values to at least 64
* Fix custom hashing inside objhash.
Userland changes:
* Add support for dumping shared value array via "vlist" internal cmd.
* Some small print/fill_flags dixes to support u32 values.
* valtype is now bitmask of
<skipto|pipe|fib|nat|dscp|tag|divert|netgraph|limit|ipv4|ipv6>.
New values can hold distinct values for each of this types.
* Provide special "legacy" type which assumes all values are the same.
* More helpers/docs following..
Some examples:
3:41 [1] zfscurr0# ipfw table mimimi create valtype skipto,limit,ipv4,ipv6
3:41 [1] zfscurr0# ipfw table mimimi info
+++ table(mimimi), set(0) +++
kindex: 2, type: addr
references: 0, valtype: skipto,limit,ipv4,ipv6
algorithm: addr:radix
items: 0, size: 296
3:42 [1] zfscurr0# ipfw table mimimi add 10.0.0.5 3000,10,10.0.0.1,2a02:978:2::1
added: 10.0.0.5/32 3000,10,10.0.0.1,2a02:978:2::1
3:42 [1] zfscurr0# ipfw table mimimi list
+++ table(mimimi), set(0) +++
10.0.0.5/32 3000,0,10.0.0.1,2a02:978:2::1
2014-08-31 23:51:09 +00:00
|
|
|
netpfil/ipfw/ip_fw_table_value.c optional inet ipfirewall
|
2014-07-28 19:01:25 +00:00
|
|
|
netpfil/ipfw/ip_fw_iface.c optional inet ipfirewall
|
2012-09-14 11:51:49 +00:00
|
|
|
netpfil/ipfw/ip_fw_nat.c optional inet ipfirewall_nat
|
2016-08-13 16:09:49 +00:00
|
|
|
netpfil/ipfw/nat64/ip_fw_nat64.c optional inet inet6 ipfirewall \
|
|
|
|
ipfirewall_nat64
|
2019-03-18 11:44:53 +00:00
|
|
|
netpfil/ipfw/nat64/nat64clat.c optional inet inet6 ipfirewall \
|
|
|
|
ipfirewall_nat64
|
|
|
|
netpfil/ipfw/nat64/nat64clat_control.c optional inet inet6 ipfirewall \
|
|
|
|
ipfirewall_nat64
|
2016-08-13 16:09:49 +00:00
|
|
|
netpfil/ipfw/nat64/nat64lsn.c optional inet inet6 ipfirewall \
|
2019-03-19 10:57:03 +00:00
|
|
|
ipfirewall_nat64 compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
2016-08-13 16:09:49 +00:00
|
|
|
netpfil/ipfw/nat64/nat64lsn_control.c optional inet inet6 ipfirewall \
|
2019-03-19 10:57:03 +00:00
|
|
|
ipfirewall_nat64 compile-with "${NORMAL_C} -I$S/contrib/ck/include"
|
2016-08-13 16:09:49 +00:00
|
|
|
netpfil/ipfw/nat64/nat64stl.c optional inet inet6 ipfirewall \
|
|
|
|
ipfirewall_nat64
|
|
|
|
netpfil/ipfw/nat64/nat64stl_control.c optional inet inet6 ipfirewall \
|
|
|
|
ipfirewall_nat64
|
|
|
|
netpfil/ipfw/nat64/nat64_translate.c optional inet inet6 ipfirewall \
|
|
|
|
ipfirewall_nat64
|
2016-07-18 19:46:31 +00:00
|
|
|
netpfil/ipfw/nptv6/ip_fw_nptv6.c optional inet inet6 ipfirewall \
|
|
|
|
ipfirewall_nptv6
|
|
|
|
netpfil/ipfw/nptv6/nptv6.c optional inet inet6 ipfirewall \
|
|
|
|
ipfirewall_nptv6
|
2017-04-03 03:07:48 +00:00
|
|
|
netpfil/ipfw/pmod/ip_fw_pmod.c optional inet ipfirewall_pmod
|
|
|
|
netpfil/ipfw/pmod/tcpmod.c optional inet ipfirewall_pmod
|
2012-09-14 11:51:49 +00:00
|
|
|
netpfil/pf/if_pflog.c optional pflog pf inet
|
|
|
|
netpfil/pf/if_pfsync.c optional pfsync pf inet
|
|
|
|
netpfil/pf/pf.c optional pf inet
|
|
|
|
netpfil/pf/pf_if.c optional pf inet
|
|
|
|
netpfil/pf/pf_ioctl.c optional pf inet
|
|
|
|
netpfil/pf/pf_lb.c optional pf inet
|
|
|
|
netpfil/pf/pf_norm.c optional pf inet
|
2021-03-11 15:21:23 +00:00
|
|
|
netpfil/pf/pf_nv.c optional pf inet
|
2012-09-14 11:51:49 +00:00
|
|
|
netpfil/pf/pf_osfp.c optional pf inet
|
|
|
|
netpfil/pf/pf_ruleset.c optional pf inet
|
2021-07-20 14:48:35 +00:00
|
|
|
netpfil/pf/pf_syncookies.c optional pf inet
|
2012-09-14 11:51:49 +00:00
|
|
|
netpfil/pf/pf_table.c optional pf inet
|
|
|
|
netpfil/pf/in4_cksum.c optional pf inet
|
2013-06-28 21:00:08 +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
|
2014-12-23 00:47:46 +00:00
|
|
|
nfs/bootp_subr.c optional bootp nfscl
|
|
|
|
nfs/krpc_subr.c optional bootp nfscl
|
|
|
|
nfs/nfs_diskless.c optional nfscl nfs_root
|
2020-04-09 14:44:46 +00:00
|
|
|
nfs/nfs_nfssvc.c optional nfscl | nfslockd | 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
|
|
|
|
2015-10-29 08:28:39 +00:00
|
|
|
# Linux Kernel Programming Interface
|
2021-12-26 18:52:51 +00:00
|
|
|
compat/linuxkpi/common/src/linux_80211.c optional compat_linuxkpi wlan \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
|
|
|
compat/linuxkpi/common/src/linux_80211_macops.c optional compat_linuxkpi wlan \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2015-10-29 08:28:39 +00:00
|
|
|
compat/linuxkpi/common/src/linux_kmod.c optional compat_linuxkpi \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${LINUXKPI_C}"
|
2020-11-09 13:20:14 +00:00
|
|
|
compat/linuxkpi/common/src/linux_acpi.c optional compat_linuxkpi acpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2015-10-29 08:28:39 +00:00
|
|
|
compat/linuxkpi/common/src/linux_compat.c optional compat_linuxkpi \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${LINUXKPI_C}"
|
2017-02-21 12:43:02 +00:00
|
|
|
compat/linuxkpi/common/src/linux_current.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2021-01-28 16:32:43 +00:00
|
|
|
compat/linuxkpi/common/src/linux_devres.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2020-10-02 18:28:00 +00:00
|
|
|
compat/linuxkpi/common/src/linux_dmi.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2021-03-05 11:44:06 +00:00
|
|
|
compat/linuxkpi/common/src/linux_domain.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2021-01-28 16:05:32 +00:00
|
|
|
compat/linuxkpi/common/src/linux_firmware.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2021-08-02 06:24:22 +00:00
|
|
|
compat/linuxkpi/common/src/linux_fpu.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2017-06-26 16:28:46 +00:00
|
|
|
compat/linuxkpi/common/src/linux_hrtimer.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2021-11-04 09:42:37 +00:00
|
|
|
compat/linuxkpi/common/src/linux_i2c.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
|
|
|
compat/linuxkpi/common/src/linux_i2cbb.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2021-09-29 20:12:36 +00:00
|
|
|
compat/linuxkpi/common/src/linux_interrupt.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2017-02-21 12:43:02 +00:00
|
|
|
compat/linuxkpi/common/src/linux_kthread.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2017-03-09 18:33:40 +00:00
|
|
|
compat/linuxkpi/common/src/linux_lock.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2021-12-26 18:29:29 +00:00
|
|
|
compat/linuxkpi/common/src/linux_netdev.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2017-02-22 19:39:54 +00:00
|
|
|
compat/linuxkpi/common/src/linux_page.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2015-10-29 08:28:39 +00:00
|
|
|
compat/linuxkpi/common/src/linux_pci.c optional compat_linuxkpi pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${LINUXKPI_C}"
|
2017-02-21 13:23:53 +00:00
|
|
|
compat/linuxkpi/common/src/linux_tasklet.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2015-10-29 08:28:39 +00:00
|
|
|
compat/linuxkpi/common/src/linux_idr.c optional compat_linuxkpi \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${LINUXKPI_C}"
|
2015-10-29 08:28:39 +00:00
|
|
|
compat/linuxkpi/common/src/linux_radix.c optional compat_linuxkpi \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${LINUXKPI_C}"
|
2017-02-21 18:04:21 +00:00
|
|
|
compat/linuxkpi/common/src/linux_rcu.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C} -I$S/contrib/ck/include"
|
2017-06-09 19:41:12 +00:00
|
|
|
compat/linuxkpi/common/src/linux_schedule.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2020-02-21 09:28:45 +00:00
|
|
|
compat/linuxkpi/common/src/linux_shmemfs.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2020-12-22 18:15:01 +00:00
|
|
|
compat/linuxkpi/common/src/linux_shrinker.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2021-12-26 18:26:26 +00:00
|
|
|
compat/linuxkpi/common/src/linux_skbuff.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2017-03-08 11:09:27 +00:00
|
|
|
compat/linuxkpi/common/src/linux_slab.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2015-10-29 08:28:39 +00:00
|
|
|
compat/linuxkpi/common/src/linux_usb.c optional compat_linuxkpi usb \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${LINUXKPI_C}"
|
2017-03-07 12:09:14 +00:00
|
|
|
compat/linuxkpi/common/src/linux_work.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2020-08-27 10:28:12 +00:00
|
|
|
compat/linuxkpi/common/src/linux_xarray.c optional compat_linuxkpi \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
2021-11-04 09:42:37 +00:00
|
|
|
compat/linuxkpi/common/src/lkpi_iic_if.m optional compat_linuxkpi
|
2015-10-29 08:28:39 +00:00
|
|
|
|
2019-02-23 21:14:00 +00:00
|
|
|
compat/linuxkpi/common/src/linux_seq_file.c optional compat_linuxkpi | lindebugfs \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
|
|
|
|
|
|
|
compat/lindebugfs/lindebugfs.c optional lindebugfs \
|
|
|
|
compile-with "${LINUXKPI_C}"
|
|
|
|
|
2011-03-21 09:40:01 +00:00
|
|
|
# OpenFabrics Enterprise Distribution (Infiniband)
|
2020-10-22 10:29:27 +00:00
|
|
|
net/if_infiniband.c optional ofed | lagg
|
2017-09-16 16:17:08 +00:00
|
|
|
ofed/drivers/infiniband/core/ib_addr.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_agent.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_cache.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_cm.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_cma.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2021-06-16 13:02:00 +00:00
|
|
|
ofed/drivers/infiniband/core/ib_core_uverbs.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-09-16 16:17:08 +00:00
|
|
|
ofed/drivers/infiniband/core/ib_cq.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_device.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_fmr_pool.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_iwcm.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_iwpm_msg.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_iwpm_util.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_mad.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_mad_rmpp.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_multicast.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_packer.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2021-06-16 13:02:00 +00:00
|
|
|
ofed/drivers/infiniband/core/ib_rdma_core.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-09-16 16:17:08 +00:00
|
|
|
ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_sa_query.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_smi.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_sysfs.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_ucm.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_ucma.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_ud_header.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_umem.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_user_mad.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_cmd.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2021-06-16 13:02:00 +00:00
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_ioctl.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-09-16 16:17:08 +00:00
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_main.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_marshall.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2021-06-16 13:02:00 +00:00
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_std_types.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_std_types_async_fd.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_std_types_counters.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_std_types_cq.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_std_types_device.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_std_types_dm.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_std_types_flow_action.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_std_types_mr.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
ofed/drivers/infiniband/core/ib_uverbs_uapi.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-09-16 16:17:08 +00:00
|
|
|
ofed/drivers/infiniband/core/ib_verbs.c optional ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c optional ipoib \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
#ofed/drivers/infiniband/ulp/ipoib/ipoib_fs.c optional ipoib \
|
|
|
|
# compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c optional ipoib \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c optional ipoib \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c optional ipoib \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
ofed/drivers/infiniband/ulp/ipoib/ipoib_verbs.c optional ipoib \
|
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
#ofed/drivers/infiniband/ulp/ipoib/ipoib_vlan.c optional ipoib \
|
|
|
|
# compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/ipoib/"
|
|
|
|
|
2012-04-12 14:01:06 +00:00
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_bcopy.c optional sdp inet \
|
2011-03-21 09:40:01 +00:00
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
2012-04-12 14:01:06 +00:00
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_main.c optional sdp inet \
|
2011-03-21 09:40:01 +00:00
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
2012-04-12 14:01:06 +00:00
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_rx.c optional sdp inet \
|
2011-03-21 09:40:01 +00:00
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
2012-04-12 14:01:06 +00:00
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_cma.c optional sdp inet \
|
2011-03-21 09:40:01 +00:00
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
2012-04-12 14:01:06 +00:00
|
|
|
ofed/drivers/infiniband/ulp/sdp/sdp_tx.c optional sdp inet \
|
2011-03-21 09:40:01 +00:00
|
|
|
compile-with "${OFED_C} -I$S/ofed/drivers/infiniband/ulp/sdp/"
|
|
|
|
|
2018-02-13 17:04:34 +00:00
|
|
|
dev/mthca/mthca_allocator.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_av.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_catas.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_cmd.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_cq.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_eq.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_mad.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_main.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_mcg.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_memfree.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_mr.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_pd.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_profile.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_provider.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_qp.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_reset.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_srq.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mthca/mthca_uar.c optional mthca pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
|
2016-09-30 08:23:06 +00:00
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_mcg.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_sysfs.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_cm.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_ah.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_cq.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_doorbell.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_mad.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_main.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_mr.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_qp.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_srq.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_ib/mlx4_ib_wc.c optional mlx4ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
|
2016-09-30 08:23:06 +00:00
|
|
|
dev/mlx4/mlx4_core/mlx4_alloc.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_catas.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_cmd.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_cq.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_eq.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_fw.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2017-11-15 11:14:39 +00:00
|
|
|
dev/mlx4/mlx4_core/mlx4_fw_qos.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2016-09-30 08:23:06 +00:00
|
|
|
dev/mlx4/mlx4_core/mlx4_icm.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_intf.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_main.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_mcg.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_mr.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_pd.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_port.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_profile.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_qp.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_reset.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_sense.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_srq.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_core/mlx4_resource_tracker.c optional mlx4 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
|
2016-09-30 08:23:06 +00:00
|
|
|
dev/mlx4/mlx4_en/mlx4_en_cq.c optional mlx4en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_en/mlx4_en_main.c optional mlx4en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_en/mlx4_en_netdev.c optional mlx4en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_en/mlx4_en_port.c optional mlx4en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_en/mlx4_en_resources.c optional mlx4en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_en/mlx4_en_rx.c optional mlx4en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx4/mlx4_en/mlx4_en_tx.c optional mlx4en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
2011-03-21 09:40:01 +00:00
|
|
|
|
2017-08-23 12:09:37 +00:00
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_ah.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2018-03-08 11:23:14 +00:00
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_cong.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-08-23 12:09:37 +00:00
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_cq.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2021-06-16 13:02:00 +00:00
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_devx.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-08-23 12:09:37 +00:00
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_doorbell.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-11-10 15:02:17 +00:00
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_gsi.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-08-23 12:09:37 +00:00
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_mad.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_main.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_mem.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_mr.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_qp.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_srq.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-11-10 15:02:17 +00:00
|
|
|
dev/mlx5/mlx5_ib/mlx5_ib_virt.c optional mlx5ib pci ofed \
|
|
|
|
compile-with "${OFED_C}"
|
2017-08-23 12:09:37 +00:00
|
|
|
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_alloc.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_cmd.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_cq.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2017-01-27 10:03:50 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_diagnostics.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_eq.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2020-03-19 00:53:31 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_eswitch.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2017-11-10 09:49:08 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_fs_cmd.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2022-02-01 15:20:13 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_fs_tcp.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2017-11-10 09:49:08 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_fs_tree.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_fw.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2018-03-08 15:21:56 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_fwdump.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_health.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_mad.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_main.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_mcg.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2019-10-02 09:22:22 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_mpfs.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_mr.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_pagealloc.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_pd.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_port.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_qp.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2018-05-29 14:04:57 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_rl.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_srq.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2019-12-05 15:16:19 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_tls.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_transobj.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_uar.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_vport.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2018-03-08 11:59:47 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_vsc.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_core/mlx5_wq.c optional mlx5 pci \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2018-12-05 15:42:31 +00:00
|
|
|
dev/mlx5/mlx5_lib/mlx5_gid.c optional mlx5 pci \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
|
2019-05-08 10:23:33 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_dim.c optional mlx5en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_ethtool.c optional mlx5en pci inet inet6 \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_main.c optional mlx5en pci inet inet6 \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_tx.c optional mlx5en pci inet inet6 \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_flow_table.c optional mlx5en pci inet inet6 \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2019-12-06 15:36:32 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_hw_tls.c optional mlx5en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
2022-02-01 15:20:16 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_hw_tls_rx.c optional mlx5en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
2022-02-01 15:20:09 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_iq.c optional mlx5en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_rx.c optional mlx5en pci inet inet6 \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2018-05-29 14:04:57 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_rl.c optional mlx5en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_txrx.c optional mlx5en pci inet inet6 \
|
2016-01-27 14:46:30 +00:00
|
|
|
compile-with "${OFED_C}"
|
2019-10-02 10:05:34 +00:00
|
|
|
dev/mlx5/mlx5_en/mlx5_en_port_buffer.c optional mlx5en pci inet inet6 \
|
|
|
|
compile-with "${OFED_C}"
|
2015-11-19 12:55:43 +00:00
|
|
|
|
2002-10-04 20:42:36 +00:00
|
|
|
# crypto support
|
2021-01-21 00:39:04 +00:00
|
|
|
opencrypto/cbc_mac.c optional crypto
|
2022-01-24 23:27:39 +00:00
|
|
|
opencrypto/criov.c optional crypto
|
|
|
|
opencrypto/crypto.c optional crypto
|
2002-10-04 20:42:36 +00:00
|
|
|
opencrypto/cryptodev.c optional cryptodev
|
2022-01-24 23:27:39 +00:00
|
|
|
opencrypto/cryptodev_if.m optional crypto
|
|
|
|
opencrypto/cryptosoft.c optional crypto
|
|
|
|
opencrypto/cryptodeflate.c optional crypto
|
|
|
|
opencrypto/gmac.c optional crypto
|
|
|
|
opencrypto/gfmult.c optional crypto
|
2021-05-25 23:59:19 +00:00
|
|
|
opencrypto/ktls_ocf.c optional kern_tls
|
2022-01-24 23:27:39 +00:00
|
|
|
opencrypto/rmd160.c optional crypto
|
2022-01-24 23:27:40 +00:00
|
|
|
opencrypto/xform_aes_cbc.c optional crypto
|
|
|
|
opencrypto/xform_aes_icm.c optional crypto
|
|
|
|
opencrypto/xform_aes_xts.c optional crypto
|
2021-01-21 00:39:04 +00:00
|
|
|
opencrypto/xform_cbc_mac.c optional crypto
|
2021-02-18 17:22:18 +00:00
|
|
|
opencrypto/xform_chacha20_poly1305.c optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include -I$S/crypto/libsodium"
|
2022-01-24 23:27:40 +00:00
|
|
|
opencrypto/xform_cml.c optional crypto
|
|
|
|
opencrypto/xform_deflate.c optional crypto
|
|
|
|
opencrypto/xform_gmac.c optional crypto
|
|
|
|
opencrypto/xform_null.c optional crypto
|
2018-08-17 00:30:04 +00:00
|
|
|
opencrypto/xform_poly1305.c optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include -I$S/crypto/libsodium"
|
2022-01-24 23:27:40 +00:00
|
|
|
opencrypto/xform_rmd160.c optional crypto
|
|
|
|
opencrypto/xform_sha1.c optional crypto
|
|
|
|
opencrypto/xform_sha2.c optional crypto
|
2022-01-24 23:27:39 +00:00
|
|
|
contrib/libsodium/src/libsodium/crypto_core/ed25519/ref10/ed25519_ref10.c \
|
|
|
|
optional crypto \
|
2022-02-02 20:25:16 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include/sodium -I$S/crypto/libsodium -Wno-unused-function"
|
2021-12-16 21:46:48 +00:00
|
|
|
contrib/libsodium/src/libsodium/crypto_core/hchacha20/core_hchacha20.c \
|
2018-08-17 00:30:04 +00:00
|
|
|
optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include/sodium -I$S/crypto/libsodium"
|
2021-12-16 21:46:48 +00:00
|
|
|
contrib/libsodium/src/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.c \
|
2020-02-16 00:03:09 +00:00
|
|
|
optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include/sodium -I$S/crypto/libsodium"
|
2021-12-16 21:46:48 +00:00
|
|
|
contrib/libsodium/src/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.c \
|
2020-02-16 00:03:09 +00:00
|
|
|
optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include/sodium -I$S/crypto/libsodium"
|
2022-01-24 23:27:39 +00:00
|
|
|
contrib/libsodium/src/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.c \
|
|
|
|
optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include/sodium -I$S/crypto/libsodium"
|
|
|
|
contrib/libsodium/src/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.c \
|
|
|
|
optional crypto \
|
2022-02-02 20:25:16 +00:00
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include/sodium -I$S/crypto/libsodium -Wno-unused-function"
|
2021-12-16 21:46:48 +00:00
|
|
|
contrib/libsodium/src/libsodium/crypto_stream/chacha20/stream_chacha20.c \
|
2020-02-16 00:03:09 +00:00
|
|
|
optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include/sodium -I$S/crypto/libsodium"
|
2021-12-16 21:46:48 +00:00
|
|
|
contrib/libsodium/src/libsodium/crypto_stream/chacha20/ref/chacha20_ref.c \
|
2020-02-16 00:03:09 +00:00
|
|
|
optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include/sodium -I$S/crypto/libsodium"
|
2021-12-16 21:46:48 +00:00
|
|
|
contrib/libsodium/src/libsodium/crypto_verify/sodium/verify.c \
|
2020-02-16 00:03:09 +00:00
|
|
|
optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include/sodium -I$S/crypto/libsodium"
|
2021-12-16 21:46:48 +00:00
|
|
|
crypto/libsodium/randombytes.c optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include -I$S/crypto/libsodium"
|
|
|
|
crypto/libsodium/utils.c optional crypto \
|
|
|
|
compile-with "${NORMAL_C} -I$S/contrib/libsodium/src/libsodium/include -I$S/crypto/libsodium"
|
2020-02-16 00:03:09 +00:00
|
|
|
|
2014-12-23 00:47:46 +00:00
|
|
|
rpc/auth_none.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/auth_unix.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/authunix_prot.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/clnt_bck.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/clnt_dg.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/clnt_rc.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/clnt_vc.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/getnetconfig.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/replay.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/rpc_callmsg.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/rpc_generic.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/rpc_prot.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/rpcb_clnt.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/rpcb_prot.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/svc.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/svc_auth.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/svc_auth_unix.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/svc_dg.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/svc_generic.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/svc_vc.c optional krpc | nfslockd | nfscl | nfsd
|
Add TLS support to the kernel RPC.
An internet draft titled "Towards Remote Procedure Call Encryption By Default"
describes how TLS is to be used for Sun RPC, with NFS as an intended use case.
This patch adds client and server support for this to the kernel RPC,
using KERN_TLS and upcalls to daemons for the handshake, peer reset and
other non-application data record cases.
The upcalls to the daemons use three fields to uniquely identify the
TCP connection. They are the time.tv_sec, time.tv_usec of the connection
establshment, plus a 64bit sequence number. The time fields avoid problems
with re-use of the sequence number after a daemon restart.
For the server side, once a Null RPC with AUTH_TLS is received, kernel
reception on the socket is blocked and an upcall to the rpctlssd(8) daemon
is done to perform the TLS handshake. Upon completion, the completion
status of the handshake is stored in xp_tls as flag bits and the reply to
the Null RPC is sent.
For the client, if CLSET_TLS has been set, a new TCP connection will
send the Null RPC with AUTH_TLS to initiate the handshake. The client
kernel RPC code will then block kernel I/O on the socket and do an upcall
to the rpctlscd(8) daemon to perform the handshake.
If the upcall is successful, ct_rcvstate will be maintained to indicate
if/when an upcall is being done.
If non-application data records are received, the code does an upcall to
the appropriate daemon, which will do a SSL_read() of 0 length to handle
the record(s).
When the socket is being shut down, upcalls are done to the daemons, so
that they can perform SSL_shutdown() calls to perform the "peer reset".
The rpctlssd(8) and rpctlscd(8) daemons require a patched version of the
openssl library and, as such, will not be committed to head at this time.
Although the changes done by this patch are fairly numerous, there should
be no semantics change to the kernel RPC at this time.
A future commit to the NFS code will optionally enable use of TLS for NFS.
2020-08-22 03:57:55 +00:00
|
|
|
#
|
|
|
|
# Kernel RPC-over-TLS
|
|
|
|
#
|
|
|
|
rpctlscd.h optional krpc | nfslockd | nfscl | nfsd \
|
|
|
|
dependency "$S/rpc/rpcsec_tls/rpctlscd.x" \
|
|
|
|
compile-with "RPCGEN_CPP='${CPP}' rpcgen -hM $S/rpc/rpcsec_tls/rpctlscd.x | grep -v pthread.h > rpctlscd.h" \
|
|
|
|
no-obj no-implicit-rule before-depend local \
|
|
|
|
clean "rpctlscd.h"
|
|
|
|
rpctlscd_xdr.c optional krpc | nfslockd | nfscl | nfsd \
|
|
|
|
dependency "$S/rpc/rpcsec_tls/rpctlscd.x rpctlscd.h" \
|
|
|
|
compile-with "RPCGEN_CPP='${CPP}' rpcgen -c $S/rpc/rpcsec_tls/rpctlscd.x -o rpctlscd_xdr.c" no-ctfconvert \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "rpctlscd_xdr.c"
|
|
|
|
rpctlscd_clnt.c optional krpc | nfslockd | nfscl | nfsd \
|
|
|
|
dependency "$S/rpc/rpcsec_tls/rpctlscd.x rpctlscd.h" \
|
|
|
|
compile-with "RPCGEN_CPP='${CPP}' rpcgen -lM $S/rpc/rpcsec_tls/rpctlscd.x | grep -v string.h > rpctlscd_clnt.c" no-ctfconvert \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "rpctlscd_clnt.c"
|
|
|
|
rpctlssd.h optional krpc | nfslockd | nfscl | nfsd \
|
|
|
|
dependency "$S/rpc/rpcsec_tls/rpctlssd.x" \
|
|
|
|
compile-with "RPCGEN_CPP='${CPP}' rpcgen -hM $S/rpc/rpcsec_tls/rpctlssd.x | grep -v pthread.h > rpctlssd.h" \
|
|
|
|
no-obj no-implicit-rule before-depend local \
|
|
|
|
clean "rpctlssd.h"
|
|
|
|
rpctlssd_xdr.c optional krpc | nfslockd | nfscl | nfsd \
|
|
|
|
dependency "$S/rpc/rpcsec_tls/rpctlssd.x rpctlssd.h" \
|
|
|
|
compile-with "RPCGEN_CPP='${CPP}' rpcgen -c $S/rpc/rpcsec_tls/rpctlssd.x -o rpctlssd_xdr.c" no-ctfconvert \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "rpctlssd_xdr.c"
|
|
|
|
rpctlssd_clnt.c optional krpc | nfslockd | nfscl | nfsd \
|
|
|
|
dependency "$S/rpc/rpcsec_tls/rpctlssd.x rpctlssd.h" \
|
|
|
|
compile-with "RPCGEN_CPP='${CPP}' rpcgen -lM $S/rpc/rpcsec_tls/rpctlssd.x | grep -v string.h > rpctlssd_clnt.c" no-ctfconvert \
|
|
|
|
no-implicit-rule before-depend local \
|
|
|
|
clean "rpctlssd_clnt.c"
|
|
|
|
rpc/rpcsec_tls/rpctls_impl.c optional krpc | nfslockd | nfscl | nfsd
|
|
|
|
rpc/rpcsec_tls/auth_tls.c optional krpc | nfslockd | nfscl | nfsd
|
2009-05-28 19:45:11 +00:00
|
|
|
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
|
2017-04-03 10:15:58 +00:00
|
|
|
security/audit/audit_bsm_db.c optional audit
|
2006-02-01 21:00:16 +00:00
|
|
|
security/audit/audit_bsm_klib.c optional audit
|
Add an experimental DTrace audit provider, which allows users of DTrace to
instrument security event auditing rather than relying on conventional BSM
trail files or audit pipes:
- Add a set of per-event 'commit' probes, which provide access to
particular auditable events at the time of commit in system-call return.
These probes gain access to audit data via the in-kernel audit_record
data structure, providing convenient access to system-call arguments and
return values in a single probe.
- Add a set of per-event 'bsm' probes, which provide access to particular
auditable events at the time of BSM record generation in the audit
worker thread. These probes have access to the in-kernel audit_record
data structure and BSM representation as would be written to a trail
file or audit pipe -- i.e., asynchronously in the audit worker thread.
DTrace probe arguments consist of the name of the audit event (to support
future mechanisms of instrumenting multiple events via a single probe --
e.g., using classes), a pointer to the in-kernel audit record, and an
optional pointer to the BSM data and its length. For human convenience,
upper-case audit event names (AUE_...) are converted to lower case in
DTrace.
DTrace scripts can now cause additional audit-based data to be collected
on system calls, and inspect internal and BSM representations of the data.
They do not affect data captured in the audit trail or audit pipes
configured in the system. auditd(8) must be configured and running in
order to provide a database of event information, as well as other audit
configuration parameters (e.g., to capture command-line arguments or
environmental variables) for the provider to operate.
Reviewed by: gnn, jonathan, markj
Sponsored by: DARPA, AFRL
MFC after: 3 weeks
Differential Revision: https://reviews.freebsd.org/D10149
2017-03-29 19:58:00 +00:00
|
|
|
security/audit/audit_dtrace.c optional dtaudit audit | dtraceall audit compile-with "${CDDL_C}"
|
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
|
2012-12-15 15:21:09 +00:00
|
|
|
security/audit/bsm_domain.c optional audit
|
|
|
|
security/audit/bsm_errno.c optional audit
|
|
|
|
security/audit/bsm_fcntl.c optional audit
|
|
|
|
security/audit/bsm_socket_type.c optional audit
|
|
|
|
security/audit/bsm_token.c optional audit
|
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
|
2012-11-13 06:07:13 +00:00
|
|
|
security/mac_bsdextended/mac_bsdextended.c optional mac_bsdextended
|
|
|
|
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
|
Make it possible to run ntpd as a non-root user, add ntpd uid and gid.
Code analysis and runtime analysis using truss(8) indicate that the only
privileged operations performed by ntpd are adjusting system time, and
(re-)binding to privileged UDP port 123. These changes add a new mac(4)
policy module, mac_ntpd(4), which grants just those privileges to any
process running with uid 123.
This also adds a new user and group, ntpd:ntpd, (uid:gid 123:123), and makes
them the owner of the /var/db/ntp directory, so that it can be used as a
location where the non-privileged daemon can write files such as the
driftfile, and any optional logfile or stats files.
Because there are so many ways to configure ntpd, the question of how to
configure it to run without root privs can be a bit complex, so that will be
addressed in a separate commit. These changes are just what's required to
grant the limited subset of privs to ntpd, and the small change to ntpd to
prevent it from exiting with an error if running as non-root.
Differential Revision: https://reviews.freebsd.org/D16281
2018-07-19 23:55:29 +00:00
|
|
|
security/mac_ntpd/mac_ntpd.c optional mac_ntpd
|
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
|
2021-12-04 16:17:29 +00:00
|
|
|
security/mac_priority/mac_priority.c optional mac_priority
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2019-04-03 03:57:37 +00:00
|
|
|
security/mac_veriexec/mac_veriexec.c optional mac_veriexec
|
|
|
|
security/mac_veriexec/veriexec_fingerprint.c optional mac_veriexec
|
|
|
|
security/mac_veriexec/veriexec_metadata.c optional mac_veriexec
|
|
|
|
security/mac_veriexec_parser/mac_veriexec_parser.c optional mac_veriexec mac_veriexec_parser
|
|
|
|
security/mac_veriexec/mac_veriexec_rmd160.c optional mac_veriexec_rmd160
|
|
|
|
security/mac_veriexec/mac_veriexec_sha1.c optional mac_veriexec_sha1
|
|
|
|
security/mac_veriexec/mac_veriexec_sha256.c optional mac_veriexec_sha256
|
|
|
|
security/mac_veriexec/mac_veriexec_sha384.c optional mac_veriexec_sha384
|
|
|
|
security/mac_veriexec/mac_veriexec_sha512.c optional mac_veriexec_sha512
|
2019-02-22 06:41:47 +00:00
|
|
|
teken/teken.c optional sc !SC_NO_TERM_TEKEN | vt
|
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
|
2018-02-03 09:15:13 +00:00
|
|
|
ufs/ffs/ffs_subr.c optional ffs | geom_label
|
|
|
|
ufs/ffs/ffs_tables.c optional ffs | geom_label
|
2005-01-04 06:07:25 +00:00
|
|
|
ufs/ffs/ffs_vfsops.c optional ffs
|
|
|
|
ufs/ffs/ffs_vnops.c optional ffs
|
2014-06-08 10:55:06 +00:00
|
|
|
ufs/ffs/ffs_rawread.c optional ffs directio
|
2012-11-18 18:57:19 +00:00
|
|
|
ufs/ffs/ffs_suspend.c optional ffs
|
2005-01-04 06:07:25 +00:00
|
|
|
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
|
2005-01-21 18:09:17 +00:00
|
|
|
vm/memguard.c optional DEBUG_MEMGUARD
|
2018-01-12 22:48:23 +00:00
|
|
|
vm/vm_domainset.c standard
|
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
|
Sync back vmcontention branch into HEAD:
Replace the per-object resident and cached pages splay tree with a
path-compressed multi-digit radix trie.
Along with this, switch also the x86-specific handling of idle page
tables to using the radix trie.
This change is supposed to do the following:
- Allowing the acquisition of read locking for lookup operations of the
resident/cached pages collections as the per-vm_page_t splay iterators
are now removed.
- Increase the scalability of the operations on the page collections.
The radix trie does rely on the consumers locking to ensure atomicity of
its operations. In order to avoid deadlocks the bisection nodes are
pre-allocated in the UMA zone. This can be done safely because the
algorithm needs at maximum one new node per insert which means the
maximum number of the desired nodes is the number of available physical
frames themselves. However, not all the times a new bisection node is
really needed.
The radix trie implements path-compression because UFS indirect blocks
can lead to several objects with a very sparse trie, increasing the number
of levels to usually scan. It also helps in the nodes pre-fetching by
introducing the single node per-insert property.
This code is not generalized (yet) because of the possible loss of
performance by having much of the sizes in play configurable.
However, efforts to make this code more general and then reusable in
further different consumers might be really done.
The only KPI change is the removal of the function vm_page_splay() which
is now reaped.
The only KBI change, instead, is the removal of the left/right iterators
from struct vm_page, which are now reaped.
Further technical notes broken into mealpieces can be retrieved from the
svn branch:
http://svn.freebsd.org/base/user/attilio/vmcontention/
Sponsored by: EMC / Isilon storage division
In collaboration with: alc, jeff
Tested by: flo, pho, jhb, davide
Tested by: ian (arm)
Tested by: andreast (powerpc)
2013-03-18 00:25:02 +00:00
|
|
|
vm/vm_radix.c standard
|
2007-12-29 19:53:04 +00:00
|
|
|
vm/vm_reserv.c standard
|
2017-10-20 09:10:49 +00:00
|
|
|
vm/vm_swapout.c optional !NO_SWAPPING
|
|
|
|
vm/vm_swapout_dummy.c optional NO_SWAPPING
|
2005-01-04 06:07:25 +00:00
|
|
|
vm/vm_unix.c standard
|
|
|
|
vm/vnode_pager.c standard
|
2015-04-30 15:48:48 +00:00
|
|
|
xen/features.c optional xenhvm
|
|
|
|
xen/xenbus/xenbus_if.m optional xenhvm
|
|
|
|
xen/xenbus/xenbus.c optional xenhvm
|
|
|
|
xen/xenbus/xenbusb_if.m optional xenhvm
|
|
|
|
xen/xenbus/xenbusb.c optional xenhvm
|
|
|
|
xen/xenbus/xenbusb_front.c optional xenhvm
|
|
|
|
xen/xenbus/xenbusb_back.c optional xenhvm
|
2015-05-08 14:48:40 +00:00
|
|
|
xen/xenmem/xenmem_if.m optional xenhvm
|
2020-04-17 06:04:20 +00:00
|
|
|
xdr/xdr.c optional xdr | krpc | nfslockd | nfscl | nfsd
|
|
|
|
xdr/xdr_array.c optional xdr | krpc | nfslockd | nfscl | nfsd
|
|
|
|
xdr/xdr_mbuf.c optional xdr | krpc | nfslockd | nfscl | nfsd
|
|
|
|
xdr/xdr_mem.c optional xdr | krpc | nfslockd | nfscl | nfsd
|
|
|
|
xdr/xdr_reference.c optional xdr | krpc | nfslockd | nfscl | nfsd
|
|
|
|
xdr/xdr_sizeof.c optional xdr | krpc | nfslockd | nfscl | nfsd
|