summaryrefslogtreecommitdiffstats
path: root/sys/modules
Commit message (Collapse)AuthorAgeFilesLines
...
* Bring in USB4BSD, Hans Petter Selasky rework of the USB stackalfred2008-11-0460-0/+2315
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Implement support for RPCSEC_GSS authentication to both the NFS clientdfr2008-11-034-4/+80
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Add amr_cam module directory that was missed in the previous commit.scottl2008-11-032-3/+9
|
* Move the CAM passthrough code into a true module so that it doesn't have to bescottl2008-11-031-2/+3
| | | | | | compiled into the main AMR driver. It's code that is nice to have but not required for normal operation, and it is reported to cause problems for some people.
* Make RL_TWISTER_ENABLE a tunable/sysctl. Eliminate it as an option.imp2008-11-021-1/+1
| | | | | | Fix module build. Submitted by: Kostik Belousov
* Add RL_TWISTER_ENABLE option. This enables the magic bits to do longimp2008-10-311-1/+1
| | | | | | | | | cable tuning. This has helped in some installations for hardware deployed by a former employer. Made optional because the lists aren't full of complaints about these cards... even when they were wildly popular. Reviewed by: attilio@, jhb@, trhodes@ (all an older version of the patch)
* Break mac_bsdextended.c out into multiple .c files, with the base accessrwatson2008-10-271-1/+4
| | | | | | | control logic and policy registration remaining in that file, and access control checks broken out into other files by class of check. Obtained from: TrustedBSD Project
* After adding U3G_DEBUG to LINT we need to create the opt_u3g.h file whenn_hibma2008-10-241-1/+5
| | | | building the module.
* Import sdhci (PCI SD Host Controller) driver.mav2008-10-212-0/+11
| | | | | | | | | | Driver supports PCI devices with class 8 and subclass 5 according to SD Host Controller Specification. Update NOTES, enable module and static build. Enable related mmc and mmcsd modules build. Discussed on: mobile@, current@
* Say hello to the u3g driver, implementing support for 3G modems.n_hibma2008-10-092-0/+9
| | | | | | | | | | | | | | | | | | | | | This was located in the ubsa driver, but should be moved into a separate driver: - 3G modems provide multiple serial ports to allow AT commands while the PPP connection is up. - 3G modems do not provide baud rate or other serial port settings. - Huawei cards need specific initialisation. - ubsa is for Belkin adapters, an Linuxy choice for another device like 3G. Speeds achieved here with a weak signal at best is ~40kb/s (UMTS). No spooky STALLED messages as well. Next: Move over all entries for Sierra and Novatel cards once I have found testers, and implemented serial port enumeration for Sierra (or rather have Andrea Guzzo do it). They list all endpoints in 1 iface instead of 4 ifaces. Submitted by: aguzzo@anywi.com MFC after: 3 weeks
* Obfuscated by other diffs while committing r183728:n_hibma2008-10-091-5/+0
| | | | Remove the files for the HCI interfaces from the usb module.
* Add modules for the HCI part of USB. This is convenient when having a UHCIn_hibma2008-10-095-1/+46
| | | | controller in your laptop but inserting a (OHCI-based) Option Cardbus card.
* This is the roumored ATA modulerisation works, and it needs a little ↵sos2008-10-0931-4/+382
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* the 3945 firmware license does not require acknowledging the EULA,sam2008-10-071-1/+0
| | | | | | | | remove the sysctl ack requirement Pointed out by: Joerg Sonnenberger Reviewed by: thompsa Approved by: core
* - Add driver for Attansic L2 FastEthernet controller found onstas2008-10-032-0/+9
| | | | | | | | | Asus EeePC and some Asus mainboards. Reviewed by: yongari, rpaulo, jhb Tested by: many Approved by: kib (mentor) MFC after: 1 week
* - Remove default NIC dependency on ulp headerskmacy2008-09-241-4/+27
| | | | | | | - make toe module build dependent on kernel support Submitted by: Chelsio Inc. MFC after: 1 week
* Update cxgb include paths to not require prefixing with dev/cxgbkmacy2008-09-235-9/+14
| | | | Submitted by: Chelsio Inc.
* add ddb support (default to off unless built with the kernel)sam2008-09-151-4/+5
|
* Allow COMPAT_SVR4 to be built without COMPAT_43.ed2008-09-151-6/+1
| | | | | | | | | | | | | | It seems we only depend on COMPAT_43 to implement the send() and recv() routines. We can easily implement them using sendto() and recvfrom(), just like we do inside our very own C library. I wasn't able to really test it, apart from simple compilation testing. I've heard rumours that COMPAT_SVR4 is broken inside execve() anyway. It's still worth to fix this, because I suspect we'll get rid of COMPAT_43 somewhere in the future... Reviewed by: rdivacky Discussed with: jhb
* Connect ufoma(4) to build and,takawata2008-09-121-0/+1
| | | | disable handsfree interface that is not yet ported to newtty.
* Resurrect the sbni(4) driver. Someone finally tested the MPSAFE patches andjhb2008-09-102-1/+13
| | | | | | the driver worked ok with them. Tested by: friends of yar
* Build k8temp on i386.rpaulo2008-09-091-0/+1
|
* Per email to arch@ a little while ago (that was greeted with silence),imp2008-09-0137-66/+65
| | | | | prefer the more common > ${.TARGET} over > opt_foo.h in modules makefiles.
* opt_bus.h isn't needed here anymore. It never was really needed,imp2008-08-301-1/+1
| | | | since usb has no business including it like it did...
* Remove opt_wi.h from module and fix typo in pccarddevs.imp2008-08-271-6/+1
|
* Add uipaq. HTC smart phones use it, and it seems like a reasonableimp2008-08-241-0/+1
| | | | thing to have laying around.
* Add a very simple dpms(4) driver that uses the VESA BIOS DPMS calls tojhb2008-08-232-0/+11
| | | | | | | turn off the external display during suspend and restore it to its original state on resume. MFC after: 2 weeks
* Update drm kernel drivers.rnoland2008-08-231-1/+1
| | | | | | | | | | This is a sync to mesa/drm pre-gem, with a few fixes on top of that. It also contains one local patch supplied by kib@ that I can't apply to git.master shared code. Approved by: flz Obtained from: mesa/drm git.master MFC after: 2 weeks
* Integrate the new MPSAFE TTY layer to the FreeBSD operating system.ed2008-08-202-15/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* Move wb driver from sys/pci to sys/dev/wb.imp2008-08-141-1/+1
|
* Move pcn driver from sys/pci to sys/dev/pcn.imp2008-08-141-1/+1
|
* Move the ste driver from sys/pci to sys/dev/ste.imp2008-08-141-1/+1
|
* Move the tl driver form sys/pci to sys/dev/tl.imp2008-08-141-1/+1
|
* Remove cxgb private lro implementation and switch to using system ↵kmacy2008-08-121-1/+1
| | | | | | | implementation. Obtained from: Chelsio Inc. MFC after: 1 week
* Connect upgt(4) to the build.weongyo2008-08-111-0/+5
|
* Add Conexant/Intersil PrismGT SoftMAC wireless USB driver - upgt(4).weongyo2008-08-111-0/+10
| | | | | | | | This driver supports GW3887 based chipsets and works on x86/powerpc/sparc64. You need upgtfw kernel module before loading upgt(4). Please see the manpage. Obtained from: OpenBSD
* Move sis to sys/dev/sis for consistency.imp2008-08-101-1/+1
|
* Move the xl driver form sys/pci to sys/dev/xl for consistency.imp2008-08-101-1/+1
|
* Add glxsb(4) driver for the Security Block in AMD Geode LX processors (asphilip2008-08-092-0/+11
| | | | | | | | | | | | | | found in Soekris hardware, for instance). The hardware supports acceleration of AES-128-CBC accessible through crypto(4) and supplies entropy to random(4). TODO: o Implement rndtest(4) support o Performance enhancements Submitted by: Patrick Lamaizière <patfbsd -at- davenulle.org> Reviewed by: jhb, sam MFC after: 1 week
* - Add cpuctl(4) pseudo-device driver to provide access to some low-levelstas2008-08-082-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | features of CPUs like reading/writing machine-specific registers, retrieving cpuid data, and updating microcode. - Add cpucontrol(8) utility, that provides userland access to the features of cpuctl(4). - Add subsequent manpages. The cpuctl(4) device operates as follows. The pseudo-device node cpuctlX is created for each cpu present in the systems. The pseudo-device minor number corresponds to the cpu number in the system. The cpuctl(4) pseudo- device allows a number of ioctl to be preformed, namely RDMSR/WRMSR/CPUID and UPDATE. The first pair alows the caller to read/write machine-specific registers from the correspondent CPU. cpuid data could be retrieved using the CPUID call, and microcode updates are applied via UPDATE. The permissions are inforced based on the pseudo-device file permissions. RDMSR/CPUID will be allowed when the caller has read access to the device node, while WRMSR/UPDATE will be granted only when the node is opened for writing. There're also a number of priv(9) checks. The cpucontrol(8) utility is intened to provide userland access to the cpuctl(4) device features. The utility also allows one to apply cpu microcode updates. Currently only Intel and AMD cpus are supported and were tested. Approved by: kib Reviewed by: rpaulo, cokane, Peter Jeremy MFC after: 1 month
* Add card_if.h and pccarddevs.himp2008-08-071-1/+1
|
* Disconnect drivers that haven't been ported to MPSAFE TTY yet.ed2008-08-033-17/+0
| | | | | | | | | | | | | As clearly mentioned on the mailing lists, there is a list of drivers that have not been ported to the MPSAFE TTY layer yet. Remove them from the kernel configuration files. This means people can now still use these drivers if they explicitly put them in their kernel configuration file, which is good. People should keep in mind that after August 10, these drivers will not work anymore. Even though owners of the hardware are capable of getting these drivers working again, I will see if I can at least get them to a compilable state (if time permits).
* Unbreak the build by creating opt_nfs.hps2008-07-311-1/+1
|
* Hook up Bluetooth SCO sockets code to the buildemax2008-07-301-1/+2
| | | | MFC after: 3 months
* Change Makefile to reflect new directory structurejfv2008-07-301-3/+5
| | | | MFC after:ASAP
* Change to build module with new directory treejfv2008-07-301-10/+4
| | | | MFC after:ASAP
* Remove a file that is not used and does not exist.antoine2008-07-281-1/+1
|
* Prefer the opt_global.h from KERNBUILDDIR if existent so we obtain allmarius2008-07-241-0/+5
| | | | macros that might be relevant.
* For sun4v ensure there is an opt_global.h with SUN4V defined included,marius2008-07-221-0/+9
| | | | even for the stand-alone build.
* Add an accept filter for TCP based DNS requests. It waits until thedwmalone2008-07-182-0/+9
| | | | whole first request is present before returning from accept.
OpenPOWER on IntegriCloud