summaryrefslogtreecommitdiffstats
path: root/sys/conf
Commit message (Collapse)AuthorAgeFilesLines
* 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-234-1/+6
| | | | | | | | | * 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-233-0/+3
| | | | Approved by: julian (mentor)
* Add cpufreq support on the PowerPC G5, along with a skeleton SMU drivernwhitehorn2009-06-231-4/+6
| | | | | in order to slew CPU voltage during frequency changes. The OpenBSD SMU driver was an extremely helpful reference for this.
* Keep file list sorted.raj2009-06-221-1/+1
|
* DS1553 RTC module driver. On the MPC8555CDS system it hangs off of the LBC bus.raj2009-06-221-0/+2
| | | | Obtained from: Semihalf
* Integrated I2C controller driver (found in MPC85xx and other SOC parts).raj2009-06-221-0/+1
| | | | Obtained from: Freescale, Semihalf
* 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
* Introduce support for adaptive spinning in lockmgr.attilio2009-06-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Actually, as it did receive few tuning, the support is disabled by default, but it can opt-in with the option ADAPTIVE_LOCKMGRS. Due to the nature of lockmgrs, adaptive spinning needs to be selectively enabled for any interested lockmgr. The support is bi-directional, or, in other ways, it will work in both cases if the lock is held in read or write way. In particular, the read path is passible of further tunning using the sysctls debug.lockmgr.retries and debug.lockmgr.loops . Ideally, such sysctls should be axed or compiled out before release. Addictionally note that adaptive spinning doesn't cope well with LK_SLEEPFAIL. The reason is that many (and probabilly all) consumers of LK_SLEEPFAIL are mainly interested in knowing if the interlock was dropped or not in order to reacquire it and re-test initial conditions. This directly interacts with adaptive spinning because lockmgr needs to drop the interlock while spinning in order to avoid a deadlock (further details in the comments inside the patch). Final note: finding someone willing to help on tuning this with relevant workloads would be either very important and appreciated. Tested by: jeff, pho Requested by: many
* Add cas(4), a driver for Sun Cassini/Cassini+ and National Semiconductormarius2009-06-152-0/+3
| | | | | | | | | | | | 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 >
* Added support for NAT-Traversal (RFC 3948) in IPsec stack.vanhu2009-06-122-0/+6
| | | | | | | | | | | | | | Thanks to (no special order) Emmanuel Dreyfus (manu@netbsd.org), Larry Baird (lab@gta.com), gnn, bz, and other FreeBSD devs, Julien Vanherzeele (julien.vanherzeele@netasq.com, for years of bug reporting), the PFSense team, and all people who used / tried the NAT-T patch for years and reported bugs, patches, etc... X-MFC: never Reviewed by: bz Approved by: gnn(mentor) Obtained from: NETASQ
* 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]
* Catch up with r193750 (OsdSynch.c locking changes):jkim2009-06-101-0/+1
| | | | | | | | | | - Preallocate some memory for ACPI tasks early enough. We cannot use malloc(9) any more because spin mutex may be held here. The reserved memory can be tuned via debug.acpi.max_tasks tunable or ACPI_MAX_TASKS in kernel configuration. The default is 32 tasks. - Implement a custom taskqueue_fast to wrap the new memory allocation. This implementation is not the fastest in the world but we are being conservative here.
* 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-102-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-092-2/+2
|
* make flowtable opt-outkmacy2009-06-092-2/+2
|
* 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.
* Rewrite OsdSynch.c to reflect the latest ACPICA more closely:jkim2009-06-081-1/+0
| | | | | | - Implement ACPI semaphore (ACPI_SEMAPHORE) with condvar(9) and mutex(9). - Implement ACPI mutex (ACPI_MUTEX) with mutex(9). - Implement ACPI lock (ACPI_SPINLOCK) with spin mutex(9).
* Code using COMPAT_ROUTE_FLAGS option, introduced with r187094,bz2009-06-081-1/+0
| | | | | was changed again in r187328, removing any use of the option from the kernel. The option was never in NOTES. Garbage collect.
* Add notes on various SND_* options.ariff2009-06-081-0/+36
|
* Sound Mega-commit. Expect further cleanup until code freeze.ariff2009-06-072-5/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Initial version of the sec(4) driver for the integrated security engine foundraj2009-06-061-0/+1
| | | | | | | | | | | in Freescale system-on-chip devices. The following algorithms and schemes are currently supported: - 3DES, AES, DES - MD5, SHA1, SHA256, SHA384, SHA512 Reviewed by: philip Obtained from: Freescale, Semihalf
* 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.
* Move "options MAC" from opt_mac.h to opt_global.h, as it's now in GENERICrwatson2009-06-051-1/+1
| | | | | | | | and used in a large number of files, but also because an increasing number of incorrect uses of MAC calls were sneaking in due to copy-and-paste of MAC-aware code without the associated opt_mac.h include. Discussed with: pjd
* 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-012-0/+35
|
* - Rename IP_NONLOCALOK IP socket option to IP_BINDANY, to be more consistentpjd2009-06-012-9/+0
| | | | | | | | | | | | | with OpenBSD (and BSD/OS originally). We can't easly do it SOL_SOCKET option as there is no more space for more SOL_SOCKET options, but this option also fits better as an IP socket option, it seems. - Implement this functionality also for IPv6 and RAW IP sockets. - Always compile it in (don't use additional kernel options). - Remove sysctl to turn this functionality on and off. - Introduce new privilege - PRIV_NETINET_BINDANY, which allows to use this functionality (currently only unjail root can use it). Discussed with: julian, adrian, jhb, rwatson, kmacy
* Introduce support for cpufreq on PowerPC with the dynamic frequencynwhitehorn2009-05-311-0/+3
| | | | switching capabilities of the MPC7447A and MPC7448.
OpenPOWER on IntegriCloud