summaryrefslogtreecommitdiffstats
path: root/sys/conf/files
Commit message (Collapse)AuthorAgeFilesLines
* Implementation of the upcoming Wireless Mesh standard, 802.11s, on therpaulo2009-07-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Separate the parallel scsi knowledge out of the core of the XPT, andscottl2009-07-101-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* add missing bit of r195379sam2009-07-051-0/+1
| | | | Approved by: re (kensmith)
* Revamp 802.11 action frame handling:sam2009-07-051-0/+1
| | | | | | | | | | | | | | o add a new facility for components to register send+recv handlers o ieee80211_send_action and ieee80211_recv_action now use the registered handlers to dispatch operations o rev ieee80211_send_action api to enable passing arbitrary data o rev ieee80211_recv_action api to pass the 802.11 frame header as it may be difficult to locate o update existing IEEE80211_ACTION_CAT_BA and IEEE80211_ACTION_CAT_HT handling o update mwl for api rev Reviewed by: rpaulo Approved by: re (kensmith)
* Mark atanvidia depending on ataahci since rev.188846.mav2009-07-051-1/+2
| | | | Approved by: re (kib)
* Remove the old kernel RPC implementation and the NFS_LEGACYRPC option.dfr2009-06-301-4/+0
| | | | Approved by: re
* Make ata-{dma,sata}.c dependent on atacore build option.raj2009-06-251-2/+2
| | | | Discussed with: mav
* Move non-PCI prototypes from ata-pci.h -> ata-all.h.raj2009-06-241-2/+2
| | | | | | | | This removes unnecessary PCI #includes dependency for systems with ATA controllers living at non-PCI buses. Submitted by: Piotr Ziecik Obtained from: Semihalf
* - Initialize the ifnet structure, especially if_dname, before probingmarius2009-06-231-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the PHYs as some PHY drivers use it (but probably shouldn't). How gem(4) has worked with brgphy(4) on powerpc without this so far is unclear to me. - Introduce a dying flag which is set during detach and checked in gem_ioctl() in order to prevent active BPF listeners to clear promiscuous mode which may lead to the tick callout being restarted which will trigger a panic once it's actually gone. - In gem_stop() reset rather than just disable the transmitter and receiver in order to ensure we're not unloading DMA maps still in use by the hardware. [1] - The blanking time is specified in PCI clocks so we should use twice the value when operating at 66MHz. - Spell some 2 as ETHER_ALIGN and a 19 as GEM_STATUS_TX_COMPLETION_SHFT to make the actual intentions clear. - As we don't unload the peak attempts counter ignore its overflow interrupts. - Remove a stale setting of a variable to GEM_TD_INTERRUPT_ME which isn't used afterwards. - For optimum performance increment the TX kick register in multiples of 4 if possible as suggested by the documentation. - Partially revert r164931; drivers should only clear the watchdog timer if all outstanding TX descriptors are done. - Fix some debugging strings. - Add a missing BUS_DMASYNC_POSTWRITE in gem_rint(). - As the error paths in the interrupt handler are generally unlikely predict them as false. - Add support for the SBus version of the GEM controller. [2] - Add some lock assertions. - Improve some comments. - Fix some more or less cosmetic issues in the code of the PCI front-end. - Change some softc members to be unsigned where more appropriate and remove unused ones. Approved by: re (kib) Obtained from: NetBSD (partially) [2], OpenBSD [1] MFC after: 2 weeks
* Implement minimal set of changes suggested by bz to makegallatin2009-06-231-6/+6
| | | | mxge no longer depend on INET.
* * Driver for ACPI WMI (Windows Management Instrumentation)rpaulo2009-06-231-0/+2
| | | | | | | | | * Driver for ACPI HP extra functionations, which required ACPI WMI driver. Submitted by: Michael <freebsdusb at bindone.de> Approved by: re MFC after: 2 weeks
* Connect ng_pipe to the default build.zec2009-06-231-0/+1
| | | | Approved by: julian (mentor)
* Greatly simplify cxgb by removing almost all of the custom mbuf management logickmacy2009-06-191-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - remove mbuf iovec - useful, but adds too much complexity when isolated to the driver - remove driver private caching - insufficient benefit over UMA to justify the added complexity and maintenance overhead - remove separate logic for managing multiple transmit queues, with the new drbr routines the control flow can be made to much more closely resemble legacy drivers - remove dedicated service threads, with per-cpu callouts one can get the same benefit much more simply by registering a callout 1 tick in the future if there are still buffered packets - remove embedded mbuf usage - Jeffr's changes will (I hope) soon be integrated greatly reducing the overhead of using kernel APIs for reference counting clusters - add hysteresis to descriptor coalescing logic - add coalesce threshold sysctls to allow users to decide at run-time between optimizing for forwarding / UDP or optimizing for TCP - add once per second watchdog to effectively close the very rare races occurring from coalescing - incorporate Navdeep's changes to the initialization path required to convert port and adapter locks back to ordinary mutexes (silencing BPF LOR complaints) - enable prefetches in get_packet and tx cleaning Reviewed by: navdeep@ MFC after: 2 weeks
* Add cas(4), a driver for Sun Cassini/Cassini+ and National Semiconductormarius2009-06-151-0/+1
| | | | | | | | | | | | DP83065 Saturn Gigabit Ethernet controllers. These are the successors of the Sun GEM controllers and still have a similar but extended transmit logic. As such this driver is based on gem(4). Thanks to marcel@ for providing a Sun Quad GigaSwift Ethernet UTP (QGE) card which was vital for getting this driver to work on architectures not using Open Firmware. Approved by: re (kib) MFC after: 2 weeks
* Add support for labels derived from GPT metadata.ivoras2009-06-131-0/+1
| | | | | | | Approved by: gnn (mentor) Reviewed by: pjd PR: 128398 Submitted by: Marius Nuennerich < marius at nuenneri.ch >
* All these Ethernet NICs depend on INET, mostly for unconditionalbz2009-06-111-15/+15
| | | | | | | | cksum related function calls, sometimes related to offload features from what I could see.xi It would be good if the offload functionality would be properly #ifdefed but the other calls to cksum related functions are a more general problem also elswhere in the network stack.
* if_igb.c as well as ixgbe.c uncondtionally depend on INET specificbz2009-06-111-7/+7
| | | | functions, especially but not solely tcp_lro_*.
* As sys/kern/uipc_accf.c depends on inet, all three accf_*bz2009-06-111-3/+3
| | | | | implementations do as well for accept_filt_generic_mod_event(). In addition accf_http also needs inet for the sysctl mib path.
* ng_ipfw depends on inet and ipfirewall as well.bz2009-06-111-7/+7
| | | | | | ng_nat depends on inet and libalias and most of libalias depends on inet. Update dependencies to porperly reflect this.
* ip_dummynet.c depends on INET.bz2009-06-111-1/+1
| | | | Note: this may be more because of improper #ifdefs these days.
* netinet/if_ether.c (doing ARP) depends on INET as well.bz2009-06-111-1/+1
|
* if_enc(4) is only useful with ipsec and either inet or inet6.bz2009-06-111-1/+1
|
* stf(4) supports `6to4' IPv6 in IPv4 encapsulation accroding to RFC3056.bz2009-06-111-1/+1
| | | | It thus needs both INET and INET6 to do its duty.
* if_bridge(4) unfortunately is missing a lot of #ifdef INETs andbz2009-06-111-1/+1
| | | | thus INET is a mandatory dependency at the moment.
* carp(4) allows people to share a set of IP addresses and can onlybz2009-06-111-1/+1
| | | | | | | | | | | use IPv4/v6 for inter-node communication (according to my reading). Properly wrap the carp callouts in INET || INET6 and refelect this in sys/conf/files as well. While in theory this should be ok, it might be a bit optimistic to think that carp could build with inet6 only[1]. Discussed with: mlaier [1]
* pflog, pfsync depend on pf and pf depends on inet.bz2009-06-101-10/+10
| | | | | Actually it could/should be inet|inet6 but the code is not there and as long as our inet6 depends on inet this is fine.
* Unfortunately fs/nfsserver depends on INET at the moment. It seems tobz2009-06-101-7/+7
| | | | | | | | | | be nfs_nfsdport.c and nfs_nfsdcache.c are the problem only but we need to mark all or we will run into problems at link time. One is because of calling an INET specific function, the other is because of VIMAGE putting all tcp* into struct vnet_inet. Both are general problems throughout the entire stack and not a fault of the NFS implementation and will need to be addressed in the future.
* if_gre.c insists on INET:bz2009-06-101-1/+1
| | | | | | #error "Huh? if_gre without inet?" According to my reading we still only support encapsulating datagrams into IPv4 and not IPv6 so there is no optional | gre inet6 yet.
* ipfirewall insists on INET:bz2009-06-101-3/+3
| | | | | #error IPFIREWALL requires INET. Track it here to not build ipfirewall with no INET in the kernel.
* ip_divert.c requires both INET and IPFIREWALL to be present:bz2009-06-101-1/+1
| | | | | | #error "IPDIVERT requires INET." #error "IPDIVERT requires IPFIREWALL" so properly track those depencies here.
* IPsec depends on either IPv4 (inet) or IPv6 (inet6) so properlybz2009-06-101-13/+14
| | | | | track dependencies and automatically disable building ipsec if neither of the two is in the kernel config.
* Move all sound related scripts to its own 'sound' subdir.ariff2009-06-101-12/+12
| | | | Suggested by: jmallett
* Oops, fix directory name.yongari2009-06-101-1/+1
|
* Add alc(4), a driver for Atheros AR8131/AR8132 PCIe ethernetyongari2009-06-101-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | controller. These controllers are also known as L1C(AR8131) and L2C(AR8132) respectively. These controllers resembles the first generation controller L1 but usage of different descriptor format and new register mappings over L1 register space requires a new driver. There are a couple of registers I still don't understand but the driver seems to have no critical issues for performance and stability. Currently alc(4) supports the following hardware features. o MSI o TCP Segmentation offload o Hardware VLAN tag insertion/stripping o Tx/Rx interrupt moderation o Hardware statistics counters(dev.alc.%d.stats) o Jumbo frame o WOL AR8131/AR8132 also supports Tx checksum offloading but I disabled it due to stability issues. I'm not sure this comes from broken sample boards or hardware bugs. If you know your controller works without problems you can still enable it. The controller has a silicon bug for Rx checksum offloading, so the feature was not implemented. I'd like to say big thanks to Atheros. Atheros kindly sent sample boards to me and answered several questions I had. HW donated by: Atheros Communications, Inc.
* revert to opt-in flowtablekmacy2009-06-091-1/+1
|
* make flowtable opt-outkmacy2009-06-091-1/+1
|
* For now only compile flowtable.c if both options FLOWTABLE and INETbz2009-06-091-1/+1
| | | | | are given. This will also work when we add IPv6 support as for now INET6 depends on INET.
* Sound Mega-commit. Expect further cleanup until code freeze.ariff2009-06-071-5/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* move kernel ipfw-related sources to a separate directory,luigi2009-06-051-4/+4
| | | | | | | | | adjust conf/files and modules' Makefiles accordingly. No code or ABI changes so this and most of previous related changes can be easily MFC'ed MFC after: 5 days
* Import ACPICA 20090521.jkim2009-06-051-125/+128
|
* Remove clists from the kernel.ed2009-06-051-1/+0
| | | | | | | | | | | | | | | Clists were originally used by the TTY layer as a text buffer interface. The advantage of clists were that it would allocate a small set of additional buffers that could be shared between TTYs when needed. In the modern days we can just allocate some more KBs of memory to keep the TTYs satisfied. The global cfreelist also requires synchronisation, which may not be useful when trying to improve scalability. The MPSAFE TTY layer uses its own text buffers (ttyinq and ttyoutq). We had a small amount of drivers in the tree that still uses clists, like the old USB stack and some keyboard drivers. With the old USB stack gone and the keyboard drivers changed to use a circular buffer, we can safely remove clists from the kernel.
* Add a simple API to manage scatter/gather lists of phyiscal addresses.jhb2009-06-011-0/+1
| | | | | | | | | | | | | Each list describes a logical memory object that is backed by one or more physical address ranges. To minimize locking, the sglist objects themselves are immutable once they are shared. These objects may be used in the future to facilitate I/O requests using physically-addressed buffers. For the immediate future I plan to use them to implement a new type of VM object and pager. Reviewed by: jeff, scottl MFC after: 1 month
* driver for Marvell 88W8363 Wireless LAN controllersam2009-06-011-0/+27
|
* Add the kernel build glue for the experimental NFS subsystem thatrmacklem2009-05-281-34/+57
| | | | | | | | | | | | | includes support for NFSv4. The subsystem can optionally be linked into the kernel using the two options: NFSCL - the client NFSD - the server It is also built as three modules: nfscl - the client nfsd - the server nfscommon - functions shared by the client and server Approved by: kib (mentor)
* Hook ubt and ubtbcmfw back up to the build.thompsa2009-05-271-5/+2
|
* fail(9) support:zml2009-05-271-0/+1
| | | | | | | | Add support for kernel fault injection using KFAIL_POINT_* macros and fail_point_* infrastructure. Add example fail point in vfs_bio.c to simulate VM buf pressure. Approved by: dfr (mentor)
* Delete the old USB stack. The new stack has settled in and has all thethompsa2009-05-271-52/+2
| | | | drivers/functionality and then some.
* Add the ksyms(4) pseudo driver. The ksyms driver allows a process tosson2009-05-261-0/+1
| | | | | | | | | | | | | | get a quick snapshot of the kernel's symbol table including the symbols from any loaded modules (the symbols are all merged into one symbol table). Unlike like other implementations, this ksyms driver maps memory in the process memory space to store the snapshot at the time /dev/ksyms is opened. It also checks to see if the process has already a snapshot open and won't allow it to open /dev/ksyms it again until it closes first. This prevents kernel and process memory from being exhausted. Note that /dev/ksyms is used by the lockstat(1) command. Reviewed by: gallatin kib (freebsd-arch) Approved by: gnn (mentor)
* Add the OpenSolaris dtrace lockstat provider. The lockstat providersson2009-05-261-0/+1
| | | | | | | | | | adds probes for mutexes, reader/writer and shared/exclusive locks to gather contention statistics and other locking information for dtrace scripts, the lockstat(1M) command and other potential consumers. Reviewed by: attilio jhb jb Approved by: gnn (mentor)
* Complete move of SPX reassembly from spx_usrreq.c to spx_reass.c.rwatson2009-05-251-0/+1
| | | | MFC after: 1 month
OpenPOWER on IntegriCloud