summaryrefslogtreecommitdiffstats
path: root/sys/modules
Commit message (Collapse)AuthorAgeFilesLines
* - Reduce number of atomic operations needed to be implemented in asm bypjd2007-06-081-0/+5
| | | | | | | implementing some of them using existing ones. - Allow to compile ZFS on all archs and use atomic operations surrounded by global mutex on archs we don't have or can't have all atomic operations needed by ZFS.
* Fix a breakage with "MODULES_WITH_WORLD=true make buildworld".simokawa2007-06-011-2/+5
| | | | PR: kern/11320
* Last major commit and updates for RELENG_7:ariff2007-05-311-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - 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.
* When building cxgb as a module make include paths relative to the driver's root.kmacy2007-05-281-1/+1
| | | | | | This will make it possible to build the module out of tree against an older src tree. MFC after: 3 days
* (MFp4)kmacy2007-05-251-6/+8
| | | | | | | | | | - upgrade to reflect state of 1.0.0.86 - move from firmware rev 3.2 to 4.0.0 - import driver bits for offload functionality - remove binary distribution clause from top level files as it runs counter to the intent of purely supporting the hardware MFC after: 3 days
* FreeBSD's namecache works quite well with ZFS, so remove DNLC.pjd2007-05-231-1/+0
|
* Fix the dependency for the linux_support.s, explicitely add linux_assym.h.kib2007-05-231-1/+1
| | | | | | Reported by: rwatson In collaboration with: rdivacky Sponsored by: Google SoC 2007
* Move futex support code from <arch>/support.s into linux compat directory.kib2007-05-231-2/+10
| | | | | | | | | | Implement all futex atomic operations in assembler to not depend on the fuword() that does not allow to distinguish between -1 and failure return. Correctly return 0 from atomic operations on success. In collaboration with: rdivacky Tested by: Scot Hetzel <swhetzel gmail com>, Milos Vyletel <mvyletel mzm cz> Sponsored by: Google SoC 2007
* Hook mxge_lro.c to the build so that the if_mxge.ko modulegallatin2007-05-221-1/+1
| | | | will load.
* Add the 'mfip' sub-driver for gaining SCSI-passthrough access to devicesscottl2007-05-162-2/+14
| | | | on an MFI controller.
* A node that implements various traffic shaping and rate limiting algorithms.mav2007-05-152-0/+7
| | | | Approved by: glebius (mentor)
* Integrate the Camellia Block Cipher. For more information see RFC 4132gnn2007-05-091-1/+2
| | | | | | | and its bibliography. Submitted by: Tomoyuki Okazaki <okazaki at kick dot gr dot jp> MFC after: 1 month
* It turns out that the hptiop driver isn't portable after all. Confine it toscottl2007-05-091-1/+3
| | | | amd64 and i386 for now.
* Introduce a driver for the Highpoint RocketRAID 3xxx series of controllers.scottl2007-05-092-0/+11
| | | | | | The driver relies on CAM. Many thanks to Highpoint for providing this driver.
* Import version 3.60.03.006 of the TWA driver:scottl2007-05-091-29/+2
| | | | | | | | | | | | | | | | This patch does the following: - Remove un-necessary code that is not even compiling into the driver under TW_OSL_NON_DMA_MEM_ALLOC_PER_REQUEST defines. - Remove bundled firmware image and associated "files" entry for tw_cl_fwimg.c - Remove bundled firmware flashing routines. We now have tw_update userspace FreeBSD controller flash utility. - Fix driver crash on load due to shared interrupt. - Fix 2 lock leaks for Giant lock. - Fix CCB leak. - Add support for 9650SE controllers. Many thanks to 3Ware/AMCC for continuing to support FreeBSD.
* Fix kldloading if_em by compiling missing source file.le2007-05-071-1/+1
|
* Add support for Ralink Technology RT2501USB/RT2601USB devices.kevlo2007-05-062-0/+9
| | | | | Reviewed by: sam, sephe Obtained from: OpenBSD
* Place a '#' at the front of the line holding a $FreeBSD$ ID tag. Whilerwatson2007-05-041-1/+1
| | | | it actually compiles without this, it's still a good idea.
* Absolute pathname in the Makefile was broken, thisjfv2007-05-041-3/+1
| | | | version should work correctly.
* Merge in the new driver (6.5.0) of Intel. This has a newjfv2007-05-041-5/+19
| | | | | | | | | | | | | | | | shared code infrastructure that is family specific and modular. There is also support for our latest gigabit nic, the 82575 that is MSI/X and multiqueue capable. The new shared code changes some interfaces to the core code but testing at Intel has been going on for months, it is fairly stable. I have attempted to be careful in retaining any fixes that CURRENT had and we did not, I apologize in advance if any thing gets clobbered, I'm sure I'll hear about it :) Approved by pdeuskar
* MFp4: Now that ZFS can use FreeBSD's namecache, turn it off by default andpjd2007-04-241-0/+3
| | | | turn off DNLC, but don't remove DNLC yet just in case.
* Rename the trunk(4) driver to lagg(4) as it is too similar to vlan trunking.thompsa2007-04-172-3/+3
| | | | | | | | | | | The name trunk is misused as the networking term trunk means carrying multiple VLANs over a single connection. The IEEE standard for link aggregation (802.3 section 3) does not talk about 'trunk' at all while it is used throughout IEEE 802.1Q in describing vlans. The lagg(4) driver provides link aggregation, failover and fault tolerance. Discussed on: current@
* On i386 compile the back-end with EISA support as well as the EISAmarius2007-04-101-3/+23
| | | | | | | | | | front-end if the dpt(4) module is built along with a kernel that includes eisa(4) or when compiling it stand-alone (logic based on the corresponding ISA logic in sys/modules/sound/sound/Makefile). As as side-effect this fixes the stand-alone build of the dpt(4) module after dpt.h 1.17, dpt_eisa.c 1.22 and dpt_scsi.c 1.55. Breakage reported by: n_hibma
* Add trunk(4) module.thompsa2007-04-102-0/+20
|
* The old PacketAlias* API is not exported whenpiso2007-04-091-1/+1
| | | | libalias run in kernel land.
* MFp4: Synchronize with recent OpenSolaris changes.pjd2007-04-081-0/+1
|
* hook uipc_mvec.c into buildkmacy2007-04-081-1/+2
|
* Move atomic.S files to directories that better fit OpenSolaris directorypjd2007-04-071-1/+1
| | | | layout.
* Add the CAM 'SG' peripheral device. This device implements a subset of thescottl2007-04-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | Linux SCSI SG passthrough device API. The intention is to allow for both running of Linux apps that want to talk to /dev/sg* nodes, and to facilitate porting of apps from Linux to FreeBSD. As such, both native and linuxolator entry points and definitions are provided. Caveats: - This does not support the procfs and sysfs nodes that the Linux SG driver provides. Some Linux apps may rely on these for operation, others may only use them for informational purposes. - More ioctls need to be implemented. - Linux uses a naming scheme of "sg[a-z]" for devices, while FreeBSD uses a scheme of "sg[0-9]". Devfs aliasis (symlinks) are automatically created to link the two together. However, tools like camcontrol only see the native names. - Some operations were originally designed to return byte counts or other data directly as the syscall return value. The linuxolator doesn't appear to support this well, so this driver just punts for these cases. Now that the driver is in place, others are welcome to add missing functionality. Thanks to Roman Divacky for pushing this work along.
* Build ZFS on amd64 and pc98.des2007-04-071-3/+6
| | | | Approved by: pjd@
* back out last changekmacy2007-04-071-1/+1
| | | | Requested by: ru
* make modules compile without updating etckmacy2007-04-061-1/+1
|
* Connect ZFS to the build.pjd2007-04-061-0/+4
|
* Add Makefile for zfs.ko kernel module.pjd2007-04-061-0/+87
|
* oops, another missed file from crypto api changesam2007-03-311-0/+1
|
* Introduce a new toy interface, edsc(4). It's a discard interfaceyar2007-03-262-0/+9
| | | | | | | imitating an Ethernet device, so vlan(4) and if_bridge(4) can be attached to it for testing and benchmarking purposes. Its source can be an introduction to the anatomy of a network interface driver due to its simplicity as well as to a bunch of comments in it.
* Catch up with ACPI-CA 20070320 import.jkim2007-03-223-42/+40
|
* another missing change for recent crypto modssam2007-03-211-0/+1
|
* catchup w/ crypto changessam2007-03-211-2/+3
|
* Overhaul driver/subsystem api's:sam2007-03-213-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | o make all crypto drivers have a device_t; pseudo drivers like the s/w crypto driver synthesize one o change the api between the crypto subsystem and drivers to use kobj; cryptodev_if.m defines this api o use the fact that all crypto drivers now have a device_t to add support for specifying which of several potential devices to use when doing crypto operations o add new ioctls that allow user apps to select a specific crypto device to use (previous ioctls maintained for compatibility) o overhaul crypto subsystem code to eliminate lots of cruft and hide implementation details from drivers o bring in numerous fixes from Michale Richardson/hifn; mostly for 795x parts o add an optional mechanism for mmap'ing the hifn 795x public key h/w to user space for use by openssl (not enabled by default) o update crypto test tools to use new ioctl's and add cmd line options to specify a device to use for tests These changes will also enable much future work on improving the core crypto subsystem; including proper load balancing and interposing code between the core and drivers to dispatch small operations to the s/w driver as appropriate. These changes were instigated by the work of Michael Richardson. Reviewed by: pjd Approved by: re
* Remove firmware version flagskmacy2007-03-211-1/+0
| | | | MFC after: 3 days
* if_vlan no more depends on INET.yar2007-03-191-5/+0
|
* Disable linking in of firmware on ia64 to avoid build failures from akmacy2007-03-141-3/+6
| | | | broken ld.
* no-op cxgb_config.h for the module compilation casekmacy2007-03-141-1/+1
|
* add cxgb to modules Makefilekmacy2007-03-141-0/+1
|
* Add modules Makefile for cxgbkmacy2007-03-141-0/+22
|
* my(4) doesn't need miibus(4).brueffer2007-03-111-1/+1
| | | | | | Approved by: rwatson (mentor) Obtained from: DragonFly MFC after: 1 week
* - Add Intel firmwares for Intel PRO/Wireless LAN 2100/2200/2915 cards in aflz2007-03-029-0/+109
| | | | | | | | | | | | | uuencoded format along with their respective LICENSE files. - Add new share/doc/legal directory to BSD.usr.dist mtree file. This is the place we install LICENSE files for restricted firmwares. - Teach firmware(9) and kmod.mk about licensed firmwares. Restricted firmwares won't load properly unless legal.<name>.license_ack is set to 1, either via kenv(1) or /boot/loader.conf. Reviewed by: mlaier, sam Permitted by: Intel (via Andrew Wilson) MFC after: 1 month
* 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).
OpenPOWER on IntegriCloud