summaryrefslogtreecommitdiffstats
path: root/sys/modules
Commit message (Collapse)AuthorAgeFilesLines
* First cut at GEOM based multipath. This is an active/passive{/passive...}mjacob2007-02-272-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | arrangement that has no intrinsic internal knowledge of whether devices it is given are truly multipath devices. As such, this is a simplistic approach, but still a useful one. The basic approach is to (at present- this will change soon) use camcontrol to find likely identical devices and and label the trailing sector of the first one. This label contains both a full UUID and a name. The name is what is presented in /dev/multipath, but the UUID is used as a true distinguishor at g_taste time, thus making sure we don't have chaos on a shared SAN where everyone names their data multipath as "Fred". The first of N identical devices (and N *may* be 1!) becomes the active path until a BIO request is failed with EIO or ENXIO. When this occurs, the active disk is ripped away and the next in a list is picked to (retry and) continue with. During g_taste events new disks that meet the match criteria for existing multipath geoms get added to the tail end of the list. Thus, this active/passive setup actually does work for devices which go away and come back, as do (now) mpt(4) and isp(4) SAN based disks. There is still a lot to do to improve this- like about 5 of the 12 recommendations I've received about it, but it's been functional enough for a while that it deserves a broader test base. Reviewed by: pjd Sponsored by: IronPort Systems MFC: 2 months
* Make IPv6 multicast forwarding dynamically loadable from a GENERIC kernel.bms2007-02-241-3/+16
| | | | | | It is built in the same module as IPv4 multicast forwarding, i.e. ip_mroute.ko, if and only if IPv6 support is enabled for loadable modules. Export IPv6 forwarding structs to userland netstat(1) via sysctl(9).
* Makefile changes to reflect moving sys/isofs/cd9660 to sys/fs/cd9660.rodrigc2007-02-112-2/+2
| | | | | Continue to install userland include files in /usr/include/isofs/cd9660 so as not to break userland applications such as libstand.
* Remove an unneeded define.bms2007-02-091-2/+0
|
* Don't recurse into geom_apple and geom_gpt. They have been movedmarcel2007-02-071-3/+1
| | | | into the g_part framework.
* Reflecting the removal of MSDOSFS_LARGE found in sys/conf/files:1.1173.avatar2007-02-011-2/+2
| | | | | | | | This should fix the run time bustage observed on recent -CURRENT whilst mounting a MSDOS filesystem with non-default locale/code page: link_elf: symbol msdosfs_fileno_free undefined KLD msdosfs_iconv.ko: depends on msdosfs - not available
* Remove the last vestige of opt_msdosfs.h.ru2007-01-301-1/+1
| | | | Submitted by: grep(1)
* ath and ath_rate_sample now have a compile-time dependency on the halsam2007-01-281-2/+10
| | | | | so we need to build them only on architectures where there's a released hal; this hack can be eliminated when an ia64 hal build is present
* Add support for serial communication with Windows CE based Handheld Computer.takawata2007-01-281-0/+9
| | | | Obtained from: NetBSD
* for newer hal's we need opt_ah.h as it specifies how the hal has beensam2007-01-281-1/+15
| | | | configured and that in turn controls the descriptor layout
* for newer hal's we need opt_ah.h as it specifies how the hal has beensam2007-01-281-1/+15
| | | | | | | configured and that in turn controls the descriptor layout; the rate control module has no business peeking inside the descriptor but until we can change the api so the driver records the tx rates and passes them deal with it
* Add front-ends for the 'lebuffer' variants found on some SBus cards.marius2007-01-201-2/+4
| | | | | | | | | These are shared-memory variants based on Am79C90-compatible chips that apart from the missing DMA engine are similar to the 'ledma' variant including using a (pseudo-)bus/device for the buffer that the actual LANCE device hangs off from. The performance of these is close to that of the 'ledma' one, like expected at a few times the CPU load though.
* Disable multichannel recording in snd_emu10kx module. Whith multichannelnetchild2007-01-071-1/+1
| | | | | | | | | | recording enabled some programs (audio/audacity from ports) can't correctly enumerate all /dev/dsp device. Note: previous commit did not enable some debugging stuff, my eyes did misread "#undef" as "#define". Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
* Extend the emu10kx driver. With the words of the author:netchild2007-01-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ---snip--- New features: 1. Optional multichannel recording (32 channels on Live!, 64 channels on Audigy). All channels are 16bit/48000Hz/mono, format is fixed. Half of them are copied from sound output, another half can be used to record any data from DSP. What should be recorded is hardcoded in DSP code. In this version it records dummy data, but can be used to record all DSP inputs, for example.. Because there are no support of more-than-stereo sound streams multichannell stream is presented as one 32(64)*48000 Hz 16bit mono stream. Channel map: SB Live! (4.0/5.1) offset (words) substream 0x00 Front L 0x01 Front R 0x02 Digital Front L 0x03 Digital Front R 0x04 Digital Center 0x05 Digital Sub 0x06 Headphones L 0x07 Headphones R 0x08 Rear L 0x09 Rear R 0x0A ADC (multi-rate recording) L 0x0B ADC (multi-rate recording) R 0x0C unused 0x0D unused 0x0E unused 0x0F unused 0x10 Analog Center (Live! 5.1) / dummy (Live! 4.0) 0x11 Analog Sub (Live! 5.1) / dummy (Live! 4.0) 0x12..-0x1F dummy Audigy / Audigy 2 / Audigy 2 Value / Audigy 4 offset (words) substream 0x00 Digital Front L 0x01 Digital Front R 0x02 Digital Center 0x03 Digital Sub 0x04 Digital Side L (7.1 cards) / Headphones L (5.1 cards) 0x05 Digital Side R (7.1 cards) / Headphones R (5.1 cards) 0x06 Digital Rear L 0x07 Digital Rear R 0x08 Front L 0x09 Front R 0x0A Center 0x0B Sub 0x0C Side L 0x0D Side R 0x0E Rear L 0x0F Rear R 0x10 output to AC97 input L (muted) 0x11 output to AC97 input R (muted) 0x12 unused 0x13 unused 0x14 unused 0x15 unused 0x16 ADC (multi-rate recording) L 0x17 ADC (multi-rate recording) R 0x18 unused 0x19 unused 0x1A unused 0x1B unused 0x1C unused 0x1D unused 0x1E unused 0x1F unused 0x20..0x3F dummy Fixes: 1. Do not assign negative values to variables used to index emu_cards array. This array was never accessed when index is negative, but Alexander (netchild@) told me that Coverity does not like it. After this change emu_cards[0] should never be used to identify valid sound card. 2. Fix off-by-one errors in interrupt manager. Add more checks there. 3. Fixes to sound buffering code now allows driver to use large playback buffers. 4. Fix memory allocation bug when multichannel recording is not enabled. 5. Fix interrupt timeout when recording with low bitrate (8kHz). Hardware: 1. Add one more known Audigy ZS card to list. Add two cards with PCI IDs betwen old known cards and new one. Other changes: 1. Do not use ALL CAPS in messages. Incomplete code: 1. Automute S/PDIF when S/PDIF signal is lost. Tested on i386 only, gcc 3.4.6 & gcc41/gcc42 (syntax only). ---snip--- This commits enables a little bit of debugging output when the driver is loaded as a module. I did a cross-build test for amd64. The code has some style issues, this will be addressed later. The multichannel recording part is some work in progress to allow playing around with it until the generic sound code is better able to handle multichannel streams. This is supposed to fix CID: 171187 Found by: Coverity Prevent Submitted by: Yuriy Tsibizov <Yuriy.Tsibizov@gfk.ru>
* Build bits for ng_deflate(4) and ng_pred1(4).glebius2006-12-293-0/+14
|
* Allow this module to get its options from the kernel build directoryyar2006-12-211-0/+2
| | | | | | | instead of always hard coding them in CFLAGS. POLA is kept here: The module file built with GENERIC stays the same. Tested with: md5(1)
* Remove stall comment.takawata2006-12-181-1/+1
| | | | Pointed out by:Ed Maste.
* Oops, I forget to add amd64 as ACPI arch.takawata2006-12-181-1/+1
|
* Hook acpi gadget driver modules to other acpi archs.takawata2006-12-182-7/+8
|
* Hook up msk(4) to the build.yongari2006-12-132-0/+10
|
* Remember to include isp_library.o when building an isp module.mjacob2006-12-101-1/+1
|
* Add the linux module to the amd64 build, all symbols can now be resolved.netchild2006-12-021-0/+1
|
* module glue for wlan_amrrsam2006-11-261-0/+8
| | | | MFC after: 1 month
* device-independent implementation of AMRR tx rate control algorithmsam2006-11-261-0/+1
| | | | | Obtained from: openbsd (w/ mods) MFC after: 1 month
* o Add uark(4), a driver for Arkmicro Technologies ARK3116 based serialmaxim2006-11-152-0/+9
| | | | | | | | | adapters. Submitted by: Alex Rodin Obtained from: OpenBSD Reviewed by: -usb MFC after: 6 weeks
* Re-enable module build for POSIX semaphores.trhodes2006-11-111-0/+1
| | | | | | Update the manual page describe loading the sem module. Approved by: silence on -arch and -standards
* Teach an IPv6 to ppp(4).ume2006-11-111-1/+11
| | | | | Obtained from: NetBSD MFC after: 1 week
* Clarify the error message when trying to build an ACPI module on amd64emaste2006-11-101-1/+1
| | | | | | | | | | or ia64. The old message implied to me that ACPI can't be compiled in on platforms other than amd64 and ia64. The amd64@ mailing list archive has messages from users with the same confusion. Approved by: scottl
* Remove no longer existing opt_bdg.h and opt_bge.h.ru2006-11-033-3/+3
|
* Hook up gjournal bits to the build.pjd2006-10-312-1/+2
| | | | Sponsored by: home.pl
* Add Makefile for geom_journal kernel module.pjd2006-10-311-0/+10
| | | | Sponsored by: home.pl
* Hook acpi_aiboost module to build.takawata2006-10-301-2/+2
|
* Driver for some ASUS desktop motherboard extras.takawata2006-10-301-0/+9
| | | | | | | | | | | Though it is named after overclocking tool for ASUS motherboards, it is not capable to change clock ratio or CPU core voltage. This driver exports Templature, Power output voltage, Fan RPM under dev.acpi_aiboost.0.*. Descriptions for these values are set to sysctl describe, which can be get by sysctl -d.
* Add missing headers.marius2006-10-291-0/+1
|
* Backout the linux aio stuff. Several problems where identified and thenetchild2006-10-291-1/+1
| | | | | | | | | | | | | | | dynamic nature (if no native aio code is available, the linux part returns ENOSYS because of missing requisites) should be solved differently than it is. All this will be done in P4. Not included in this commit is a backout of the changes to the native aio code (removing static in some places). Those changes (and some more) will also be needed when the reworked linux aio stuff will reenter the tree. Requested by: rwatson Discussed with: rwatson
* Loadable modules for mmc (the bus) amd mmcsd (the MMC and SD supportimp2006-10-202-0/+16
| | | | code). A little green, so not yet connected to the build.
* In sun4v, use the sparc64 version. We haven't used the serial port onjb2006-10-161-1/+6
| | | | sun4v yet, so this is a 'best-guess'.
* Add a .PATH entry to search for sources in the ${MACHINE}/${MACHINE}jb2006-10-161-0/+1
| | | | | | | | | | directory before the ${MACHINE_ARCH}/${MACHINE_ARCH} directory so that machine-specific files take precedence of architecture-specific ones. This fixes the build on sun4v which doesn't use the sparc64 version of mem.c. Tested by: make universe
* MFP4 (with some minor changes):netchild2006-10-152-5/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Implement the linux_io_* syscalls (AIO). They are only enabled if the native AIO code is available (either compiled in to the kernel or as a module) at the time the functions are used. If the AIO stuff is not available there will be a ENOSYS. From the submitter: ---snip--- DESIGN NOTES: 1. Linux permits a process to own multiple AIO queues (distinguished by "context"), but FreeBSD creates only one single AIO queue per process. My code maintains a request queue (STAILQ of queue(3)) per "context", and throws all AIO requests of all contexts owned by a process into the single FreeBSD per-process AIO queue. When the process calls io_destroy(2), io_getevents(2), io_submit(2) and io_cancel(2), my code can pick out requests owned by the specified context from the single FreeBSD per-process AIO queue according to the per-context request queues maintained by my code. 2. The request queue maintained by my code stores contrast information between Linux IO control blocks (struct linux_iocb) and FreeBSD IO control blocks (struct aiocb). FreeBSD IO control block actually exists in userland memory space, required by FreeBSD native aio_XXXXXX(2). 3. It is quite troubling that the function io_getevents() of libaio-0.3.105 needs to use Linux-specific "struct aio_ring", which is a partial mirror of context in user space. I would rather take the address of context in kernel as the context ID, but the io_getevents() of libaio forces me to take the address of the "ring" in user space as the context ID. To my surprise, one comment line in the file "io_getevents.c" of libaio-0.3.105 reads: Ben will hate me for this REFERENCE: 1. Linux kernel source code: http://www.kernel.org/pub/linux/kernel/v2.6/ (include/linux/aio_abi.h, fs/aio.c) 2. Linux manual pages: http://www.kernel.org/pub/linux/docs/manpages/ (io_setup(2), io_destroy(2), io_getevents(2), io_submit(2), io_cancel(2)) 3. Linux Scalability Effort: http://lse.sourceforge.net/io/aio.html The design notes: http://lse.sourceforge.net/io/aionotes.txt 4. The package libaio, both source and binary: http://rpmfind.net/linux/rpm2html/search.php?query=libaio Simple transparent interface to Linux AIO system calls. 5. Libaio-oracle: http://oss.oracle.com/projects/libaio-oracle/ POSIX AIO implementation based on Linux AIO system calls (depending on libaio). ---snip--- Submitted by: Li, Xiao <intron@intron.ac>
* A GEOM cache can speed up read performance by sending fixed sizeru2006-10-062-0/+9
| | | | | | | | | | read requests to its consumer. It has been developed to address the problem of a horrible read performance of a 64k blocksize FS residing on a RAID3 array with 8 data components, where a single disk component would only get 8k read requests, thus effectively killing disk performance under high load. Documentation will be provided later. I'd like to thank Vsevolod Lobko for his bright ideas, and Pawel Jakub Dawidek for helping me fix the nasty bug.
* Connect snd_hda(4) to build process...ariff2006-10-011-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Add support for Intel High Definition Audio Controller. This driver make a special guarantee that "playback" works on majority hardwares with minimal or without specific vendor quirk. This driver is a product of collaborative effort made by: Stephane E. Potvin <sepotvin@videotron.ca> Andrea Bittau <a.bittau@cs.ucl.ac.uk> Wesley Morgan <morganw@chemikals.org> Daniel Eischen <deischen@FreeBSD.org> Maxime Guillaud <bsd-ports@mguillaud.net> Ariff Abdullah <ariff@FreeBSD.org> ....and various people from freebsd-multimedia@FreeBSD.org Refer to snd_hda(4) for features and issues. Welcome To HDA. Sponsored by: Defenxis Sdn. Bhd.
* Add support for Intel High Definition Audio Controller.ariff2006-10-011-0/+9
| | | | | | | | | | | | | | | | | | | | | | | This driver make a special guarantee that "playback" works on majority hardwares with minimal or without specific vendor quirk. This driver is a product of collaborative effort made by: Stephane E. Potvin <sepotvin@videotron.ca> Andrea Bittau <a.bittau@cs.ucl.ac.uk> Wesley Morgan <morganw@chemikals.org> Daniel Eischen <deischen@FreeBSD.org> Maxime Guillaud <bsd-ports@mguillaud.net> Ariff Abdullah <ariff@FreeBSD.org> ....and various people from freebsd-multimedia@FreeBSD.org Refer to snd_hda(4) for features and issues. Welcome To HDA. Sponsored by: Defenxis Sdn. Bhd.
* Respect style.Makefile(5).netchild2006-09-303-12/+15
| | | | Cluebat waving by: ru
* Add the envy24ht driver to the build.netchild2006-09-302-2/+10
|
* Remove the ak452x module.netchild2006-09-301-8/+0
|
* Disconnect ak452x from the build, it is not needed anymore.netchild2006-09-301-1/+1
|
* We don't need the ISA interface.netchild2006-09-301-1/+1
| | | | Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
* Add the spicds module to the build.netchild2006-09-302-1/+9
| | | | Submitted by: "Konstantin Dimitrov" <kosio.dimitrov@gmail.com>
* Fix our ioctl(2) implementation when the argument is "int". Newru2006-09-276-4/+19
| | | | | | | | | | | | | ioctls passing integer arguments should use the _IOWINT() macro. This fixes a lot of ioctl's not working on sparc64, most notable being keyboard/syscons ioctls. Full ABI compatibility is provided, with the bonus of fixing the handling of old ioctls on sparc64. Reviewed by: bde (with contributions) Tested by: emax, marius MFC after: 1 week
* - Removed a copyright from makefile.ru2006-09-272-3/+3
| | | | | | | - Added ${.CURDIR} to .include "...". - Whitespace fixes. OK'ed by: piso
OpenPOWER on IntegriCloud