• Immutable Page
  • Info
  • Attachments

Linux 2 6 16

2.6.16

  • Released 20 March, 2006 (full changelog)

  • Overview (useful for headlines):

    • OCFS2 (http://lwn.net/Articles/137278/, http://oss.oracle.com/projects/ocfs2/), a clustering filesystem contributed by Oracle (there's GFS from Red Hat who bought it from Sistina Software, shipped out-of-the-tree for now)

    • new unshare() ( http://lwn.net/Articles/135321/), pselect()/ppoll() and *at() system calls (http://lwn.net/Articles/164887/)

    • support the moving of the physical location of pages between nodes in NUMA systems

    • support for the Cell processor

    • cpufreq support for G5s plus thermal control for dualcore G5s

    • improved power management support for many devices and subsystems (libata, alsa...)

    • mutex locking primitive

    • high-resolution timers (http://lwn.net/Articles/167897)

    • per-mountpoint noatime/nodiratime

    • 64-to-32-bit ioctl compatibilty for the v4l2 subsystem

    • IPv6 support for DCCP

    • New TIPC protocol (Transparent Inter Process Communication, http://tipc.sourceforge.net/) used for intra-clustering communication

    • ACL support for CIFS filesystem

    • HFSX filesystem support

    • new configfs filesystem (which complements sysfs, not replaces it)

    • support for running executables from v9fs (plan9 9P distributed filesystem)

    • support for many new devices, improved support and features for others and lots of other changes.

  • Kernel Core changes

    • New features/frameworks

      • *at syscalls: introduce in total 13 new system calls which take a file descriptor/filename pair instead of a single file name. These functions (sys_openat, sys_mkdirat, sys_mknodat, sys_fchownat, sys_futimesat, sys_newfstatat, sys_unlinkat, sys_renameat, sys_linkat, sys_symlinkat, sys_readlinkat, sys_fchmodat, sys_faccessat) are needed to implement race-free filesystem traversal, they are necessary to implement a virtual per-thread current working directory (multi-threaded backup software, etc). Glibc today implements those interfaces using the /proc/self/fd magic, but this hack is rather expensive, and other operative systems like OpenSolaris already have some of them. In the GNU world, coreutils are already using them, and will have lots of other users too - every program which is walking the filesystem tree will benefit (commit).

      • Add pselect/ppoll system call implementation (LWN article) (commit).

      • Add unshare() system call. The linux kernel implements threads in a very simple and lightweight, handling them just as normal processes which happen to share resource with other threads (just like Windows and Solaris in recent Solaris versions). The clone() system call already allows to create new processes which can share different attributes (file descriptors, filesystem information, filesystem namespace, signal handlers, address space...). The unshare() system call adds a primitive to the Linux thread model that allows threads to selectively 'unshare' any resources that were being shared at the time of their creation. unshare() was conceptualized by Alexander Viro in August of 2000. unshare() augments the usefulness of Linux threads for applications that would like to control shared resources without creating a new process. unshare() is a natural addition to the set of available primitives on Linux that implement the concept of process/thread as a virtual machine. For more info check the Documentation. (commit), implementation for unsharing file descriptors (commit), vm structure (disabled in this release by default) (commit), filesystem namespace (commit), filesystem info (commit). (LWN article)

      • New 'mutex' locking primitive. Until now, there was two main types of locks: spinlocks and semaphores. Mutexes are like a spinlock, but you may block holding a mutex. If you can't lock a mutex, your task will suspend itself, and be woken up when the mutex is released. This means the CPU can do something else while you are waiting. There are many cases when you simply can't sleep and so have to use a spinlock instead. Semaphores can be and have been (ab)used for this same purpose, but mutexes are simpler than semaphores, and have some advantages. You cannot use mutexes the same way you can use semaphores though, e.g. they cannot be used from an interrupt context, nor can they be unlocked from a different context that which acquired it. Read the documentation, or (more interesting) kernel/mutex.c; it also features some extensive debugging facilities in kernel/mutex-debug.c (LWN article) (LWN article explaining the API) (commit)

      • High resolution timers (LWN article explaining the API). In contrast to the low-resolution timeout API implemented in kernel/timer.c, hrtimers provide finer resolution and accuracy depending on system configuration and capabilities. These timers are currently used for: itimers, POSIX timers, nanosleep and precise in-kernel timing. For more details read the documentation (commit)

      • Swap migration. (LWN article) Swap migration allows the moving of the physical location of pages between nodes in a NUMA system while the process is running, through swap. This means that the virtual addresses that the process sees do not change; however, the system rearranges the physical location of those pages (commit). Also, add "direct migration" support on top of the swap based page migration facility: This allows the direct migration of anonymous pages and the migration of file backed pages by dropping the associated buffers (requires writeout) and fall back to swap if necessary (commit)

      • Add /proc/sys/vm/drop_caches. Writing to this will cause the kernel to drop clean caches, dentries and inodes from memory, causing that memory to become free. This is mainly useful for benchmarking, for getting consistent results between filesystem benchmarks without rebooting. To free pagecache: "echo 1 > /proc/sys/vm/drop_caches", to free dentries and inodes: "echo 2 > /proc/sys/vm/drop_caches", to free pagecache, dentries and inodes: "echo 3 > /proc/sys/vm/drop_caches". As this is a non-destructive operation and dirty objects are not freeable, the user should run `sync' first (commit)

      • Implement madvise(MADV_REMOVE): This feature frees up a given range of pages and its associated backing store. Current implementation supports only shmfs/tmpfs and other filesystems return -ENOSYS (commit)

      • Per-mountpoint noatime/nodiratime flags (commit)

      • EDAC support. The EDAC goal is to detect and report errors that occur within the computer system (commit). Add drivers for Intel i82860, i82875 (commit), for AMD 76x and Intel E750x, E752x (commit) and Radisys 82600 (commit)

      • Tweaks to the NUMA policies in the slab allocator (commit)

      • Implement a generic dispatch queue for all the I/O schedulers (LWN article) (commit), (commit)

    • Process scheduler

      • Add a 'domain distance' function, which is used to cache measurement results for machines with several nodes (commit)

      • Filter affine wakeups (commit)

      • Add a new SCHED_BATCH (3) scheduling policy: such tasks are presumed CPU-intensive, and will acquire a constant +5 priority level penalty (commit)

    • Huge pages

      • Implement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be supported (commit)

      • Make hugepages obey cpusets (commit)

      • Add NUMA policy support for huge pages (commit)

    • Performance / size optimizations

      • Shrink struct page in some configurations using anonymous struct (commit)

      • Shrink back the dentry struct from 136 (RCU enlarged it) to 128 bytes, to keep it a multiple of memory cache lines. As dentry cache easily contains millions of entries, a size reduction is worth the extra complexity of the ugly C union (commit)

      • Add the SLOB allocator, a configurable replacement for slab allocator. SLOB is a traditional K&R/UNIX allocator with a SLAB emulation layer, similar to the original Linux kmalloc allocator that SLAB replaced. It's signicantly smaller code and is more memory efficient. But like all similar allocators, it scales poorly and suffers from fragmentation more than SLAB, so it's only appropriate for small systems who want to save some memory (commit)

      • Make vm86 support optional under CONFIG_EMBEDDED, to save about 5k of kernel size (commit)

      • configurable support for ELF core dumps, saves about 5K (commit)

      • Make x86 doublefault handling optional, saves about 13 KB (commit)

      • Make *[ug]id16 support optional, saves around 2 Kb (commit)

      • Add scripts/bloat-o-meter script (python) to measure size changes in the functions of a given file (commit)

    • Various changes

      • TTY layer buffering revamp, see the commit link (commit)

      • Abandon GCC 2.9x support. It doesn't support useful features already used by some drivers like anonymous unions. Plus, no new distros are shipping with 2.9x compilers. In other words, supporting it has more disadvantages than advantages. The minium required compiler version us GCC 3.2 (commit)

      • cpuset: Provide a simple per-cpuset metric of memory pressure so batch managers monitoring jobs can efficiently detect what level of memory pressure that job is causing (commit)

      • Make high and batch sizes of per_cpu_pagelists configurable, as recently there has been lot of traffic on the right values for batch and high water marks for per_cpu_pagelists. A new tunable /proc/sys/vm/percpu_pagelist_fraction is added. This entry controls the fraction of pages at most in each zone that are allocated for each per cpu page list (commit)

      • swsusp: remove the image encryption. The functionality it provides should really belong to the user space and will possibly be reimplemented after the swap-handling functionality of swsusp is moved to the user space (commit)

      • swsusp: make suspend image size limit tunable via /sys/power/image_size. It is necessary for systems on which there is a limited amount of swap available for suspend. It can also be useful for optimizing performance of swsusp on systems with 1 GB of RAM or more. The default size is set to 500 MB (commit).

      • Add list_for_each_entry_safe_reverse() (commit)

      • MD: Exposes and allow to set lots of parameters through sysfs

      • keys: Add a new keyctl function that allows the expiry time to be set on a key or removed from a key, provided the caller has attribute modification access (commit), and ake it possible for a running process (such as gssapid) to be able to instantiate a key. For more details, see the commit (commit)

      • SPI framework, implements the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top) (commit)

      • Export cpu topology in sysfs, /sys/devices/system/cpu/cpuX/topology/*, for more details see the commit (commit)

      • Suspend/Resume support for AMD64 GART (commit), ATI (commit) and Intel 945GM (commit)

  • Architecture-specific

    • x86

      • sparsemem for single node systems: Allows SPARSEMEM to be enabled on non-numa x86 systems. This is made dependant on EXPERIMENTAL also being set (commit)

      • A simple driver for the CS5535 and CS5536 that allows a user-space program to manipulate GPIO pins. The CS5535/CS5536 chips are Geode processor companion devices (commit)

      • x86: Basic support for the AMD Geode GX and LX processors (commit)

      • x86-32 / x86-64: mark rodata sections read only (commit), (commit), (commit)

      • kdump for x86-32/64: Add "elfcorehdr" command line option. "elfcorehdr" specifies the location of elf core header stored by the crashed kernel. This command line option will be passed by the kexec-tools to capture kernel (commit). Also, add memmmap command line option for x86-64, similar to i386. memmap=exactmap enables setting of an exact E820 memory map, as specified by the user (commit)

      • x86-64: Support constant TSC feature in future AMD CPUs (commit)

      • x86_64: Allow compilation on a 32bit biarch toolchain (commit)

      • x86-64: Inclusion of ScaleMP vSMP architecture (commit)

      • Adds the Intel ICH8 IDs (commit)

    • PPC

      • SPU file system. The SPU file system is used on PowerPC machines that implement the Cell Broadband Engine Architecture (aka: Cell processors) in order to access Synergistic Processor Units (SPUs). The file system provides a name space similar to posix shared memory or message queues. Users that have write permissions on the file system can use spu_create(2) to establish SPU contexts in the spufs root. Every SPU context is represented by a directory containing a predefined set of files. These files can be used for manipulating the state of the logical SPU. For more details, read the Documentation (commit)

      • Add back support for booting from BootX. ARCH=powerpc couldn't boot from BootX as it uses a "different" way of getting in the kernel. This patch adds the necessary trampolines, creating a flattened device-tree from the tree passed from MacOS, and initializing the btext engine early for really-early debugging (commit)

      • Add cpufreq support for all desktop G5. This patch adds cpufreq support for all desktop "tower" G5 models (commit)

      • Thermal control for dual core G5s ((commit)

      • Experimental support for new G5 Macs: This adds some very basic support for the new machines, including the Quad G5 (tested), and other new dual core based machines and iMac G5 iSight (untested). This is still experimental, there is no thermal control yet, there is no proper handing of MSIs, it just boots (commit)

      • PPC32 and PPC64 kexec implementations (commit)

      • ppc64: per cpu data optimisations (commit)

      • IBMEBUS bus support. This adds the necessary core bus support used by device drivers that sit on the IBM GX bus on modern pSeries machines like the Galaxy infiniband for example. It provide transparent DMA ops (the low level driver works with virtual addresses directly) along with a simple bus layer using the Open Firmware matching routines (commit)

      • G4+ oprofile support (commit)

      • powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults, thus reducing TLB space consumed for the kernel and improving performance (commit)

      • Make COFF zImages for old 32-bit powermacs (commit)

      • Remove powermac support from ARCH=ppc. This makes it possible to build kernels for PReP and/or CHRP with ARCH=ppc by removing the (non-building) powermac support. It's now also possible to select PReP and CHRP independently. Powermac users should now build with ARCH=powerpc instead of ARCH=ppc. (This does mean that it is no longer possible to build a 32-bit kernel for a G5) (commit). Also, make ARCH=powerpc the default for 32-bit ppc (commit)

      • Add platform functions interpreter along with the backends for UniN/U3/U4, mac-io, GPIOs and i2c. It adds the ability to execute those do-platform-* scripts in the device-tree (at least for most devices for which a backend is provided) (commit). Add support for add/remove/update properties in firmware device tree (commit), add add/remove/update properties in /proc/device-tree (commit), and add support for changing properties from userspace (commit)

      • Add FSL SOC library and setup code (commit)

      • Early debugging support for iSeries (commit)

      • Add "partitionable endpoint" support. New versions of firmware introduce a new method by which the "partitionable endpoint" (the point at which the pci bus is cut) should be located (commit)

      • PCI error recovery infrastructure for the PPC64 pSeries systems (commit)

      • Add TQM85xx (8540/8541/8555/8560) board support (commit)

      • Add MPC834x SYS board to arch/powerpc (commit)

      • Add support for the PowerPC MPC83xx watchdog. The MPC83xx has a simple watchdog that once enabled it can not be stopped, has some simple timeout range selection, and the ability to either reset the processor or take a machine check (commit)

    • s390

      • Add support for the hardware accelerated sha256 (commit) and aes (commit) crypto algorithms; also support cex2a crypto cards (commit)

      • qdio V=V pass-through. QDIO and Hiper Sockets processing in z/VM V=V guest environments (as well as V=R with z/VM running in LPAR mode) requires shadowing of all QDIO architecture queue elements. Especially the shadowing of SBALs and SLSBs structures in the hypervisor, and the need to issue SIGA SYNC operations to observe state changes, eventually causes significant CPU processing overhead in the hypervisor. The QDIO pass-through support for V=V guests avoids the shadowing of SBALs and SLSBs. This significantly reduces the hypervisor overhead for QDIO based I/O (commit)

    • ARM

      • Iomega NAS 100d network attached storage product. The NAS100D is a consumer device containing a 266MHz Intel IXP420 processor, 16MB of flash, 64MB of RAM, a 160Gb internal IDE hard disk, and 802.11b/g wireless on an Atheros mini-PCI card (commit)

      • Add pxa27x OHCI platform specific code to enable the ohci device on the pxa27x based Sharp Zaurus Cxx00 devices (commit)

      • Remove EPXA10DB machine support (commit)

      • Support for the Atmel AT91RM9200 processor: this adds support for the Cogent CSB337 and CSB637 boards (commit) and the Atmel's DK and EK boards (commit)

      • Add support for the serial device for machines with Atmel AT91RM9200 processors (commit)

    • MIPS:

      • Add oprofile support to 5K, 20K and 25K (commit)

      • SB1: Oprofile support (commit)

      • Add support for the built-in parallel port on SGI O2 (aka IP32) (commit)

    • UML

      • Add support for throttling and unthrottling input when the tty driver can't handle it (commit)

      • implement soft interrupts (commit)

    • FRV

      • Implement futex operations (commit)

      • Make futex code compilable on nommu (commit)

    • Sparc64:

      • Serial Console for E250 (commit)

      • Add support for *at(), ppoll, and pselect syscalls (commit)

    • SH:

      • kexec() support (commit)

      • Add support for the hp680 backlight, as found in the hp6xx series of sh devices (commit)

    • m32r

      • Support M32104UT target platform. The M32104UT is an eval board based on an uT-Engine specification. This board has an MMU-less M32R family processor, M32104. (commit)

    • Alpha

      • Convert to generic irq framework. This allows automatic SMP IRQ affinity assignment other than default "all interrupts on all CPUs" which is rather expensive. This might be useful if the hardware can be programmed to distribute interrupts among different CPUs, like Alpha does (commit)

    • MMU-less CPUs

      • Provide shared-writable mmap support on ramfs (commit). This made possible to use SYSV IPC SHM in MMU-less configurations (commit)

    • IA64

  • Filesystems

    • OCFS2: Clustering filesystem contributed by Oracle (Oracle-Cluster-File-System). It's general purpose extent based shared disk cluster filesystem with many similarities with ext3, support for 64 bit inode numbers, and has automatically extending metadata groups which may also make it attractive for non-clustered use. It includes a simple heartbeat implementation for monitoring which nodes come and go and a distributed lock manager called "dlm" (LWN article), (commit)

    • Configfs: It's a ram-based filesystem that provides the converse of sysfs's functionality. Where sysfs is a filesystem-based view of kernel objects, configfs is a filesystem-based manager of kernel objects, or config_items. With sysfs, an object is created in kernel (for example, when a device is discovered) and it is registered with sysfs. Its attributes then appear in sysfs, allowing userspace to read the attributes via readdir(3)/read(2). It may allow some attributes to be modified via write(2). The important point is that the object is created and destroyed in kernel, the kernel controls the lifecycle of the sysfs representation, and sysfs is merely a window on all this. Both sysfs and configfs can and should exist together on the same system. One is not a replacement for the other (commit)

    • FUSE: Make the maximum size of write data configurable by the filesystem. The previous fixed 4096 limit only worked on architectures where the page size is less or equal to this. This change make writing work on other architectures too, and also lets the filesystem receive bigger write requests in direct_io mode. Normal writes which go through the page cache are still limited to a page sized chunk per request (commit)

    • NFSv4: Allow user to set the port used by the NFSv4 callback channel with the nfs.callback_tcpport boot option (commit)

    • NFS: support large reads and writes on the wire. Most NFS server implementations allow up to 64KB reads and writes on the wire. The Solaris NFS server allows up to a megabyte, for instance. Now the Linux NFS client supports transfer sizes up to 1MB, too. This will help reduce protocol and context switch overhead on read/write intensive NFS workloads, and support larger atomic read and write operations on servers that support them (commit)

    • v9fs: add readpage support. v9fs mmap support was originally removed to make mergin easier, but there have been requests from folks who want readpage functionality (primarily to enable execution of files mounted via 9P). This patch adds readpage support (but not writepage which contained most of the objectionable code) (commit). Add new and more efficient multiplexer implementation (commit) and zero copy implementation to reduce the number of copies in the data and stat paths (commit)

    • ext3: external journal device as a mount option. The syntax is : "# mount -t ext3 -o journal_dev=0x0820 ...", where 0x0820 means major=8 and minor=32 (commit)

    • FAT: Support Direct I/O (commit)

    • RelayFS: Add support for global relay buffers. This can be used by clients to create a single global relayfs buffer instead of the default per-cpu buffers. This was suggested as being useful for certain debugging applications where it's more convenient to be able to get all the data from a single channel without having to go to the bother of dealing with per-cpu files (commit). Also, add support for relay files in other filesystems (commit)

    • XFS: make it work with SELinux (commit)

    • XFS: enable write barriers per default (commit)

    • Add tmpfs options for memory placement policies (commit)

    • HFS: add HFSX support which allows for case-sensitive filenames (commit)

    • CIFS: Kerberos and CIFS ACL support (commit), (commit); and add some performance improvements (commit), (commit)

    • NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes) (commit)

  • Networking

    • TIPC (Transparent Inter Process Communication). TIPC is a protocol designed for intra cluster communication. For more information see http://tipc.sourceforge.net (commit)

    • Netfilter x_tables, an abstraction layer for {ip,ip6,arp}_tables: This tries to do the best job for unifying the data structures and backend interfaces for the three evil clones ip_tables, ip6_tables and arp_tables (commit)

    • Add IFB (Intermediate Functional Block) network device: a new device to do intermediate functional block in a system shared manner. The new functionality can be grouped as: 1) qdiscs/policies that are per device as opposed to system wide. ifb allows for a device which can be redirected to thus providing an impression of sharing. 2) Allows for queueing incoming traffic for shaping instead of dropping. Packets are redirected to this device using tc/action mirred redirect construct (commit)

    • LSM-IPSec: Security association restriction: implement per packet access control via the extension of the Linux Security Modules (LSM) interface by hooks in the XFRM and pfkey subsystems that leverage IPSec security associations to label packets. Such access controls augment the existing ones based on network interface and IP address. The former are very coarse-grained, and the latter can be spoofed. By using IPSec, the system can control access to remote hosts based on cryptographic keys generated using the IPSec mechanism. This enables access control on a per-machine basis or per-application if the remote machine is running the same mechanism and trusted to enforce the access control policy. paper, (commit)

    • TCP BIC: CUBIC window growth (2.0). Replace existing BIC version 1.1 with new version 2.0. The main change is to replace the window growth function with a cubic function as described in http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/cubic-paper.pdf (commit)

    • Netfilter ip_tables: NUMA-aware allocation. Part of a performance problem with ip_tables is that memory allocation is not NUMA aware, but 'only' SMP aware (ie each CPU normally touch separate cache lines). Even with small iptables rules, the cost of this misplacement can be high on common workloads. Instead of using one vmalloc() area (located in the node of the iptables process), we now allocate an area for each possible CPU, using vmalloc_node() so that memory should be allocated in the CPU's node if possible (commit)

    • DCCPv6 (commit)

    • netem: packet corruption option. It adds the ability to randomly corrupt packets with netem, useful for testing hardware offload in devices (commit)

    • Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft (commit)

    • Add support for SCTP_DELAYED_ACK_TIME socket option. This option will get or set the delayed ack time (commit)

    • XFRM: IPsec tunnel wildcard address support (commit)

  • Drivers

    • DRM:

    • libata

      • Suspend support, and add support for the ata_piix drivers, other drivers will be ported in the future (commit)

      • Add JMicron JMB360 support (commit)

    • IDE devices

      • IDE: MODALIAS support for autoloading of ide-cd, ide-disk, ide-floppy and ide-tape to autoload these modules depending on the probed media type of the IDE device (commit)

      • piix: add Intel ICH8M device IDs (commit)

    • SCSI

      • megaraid: remove overlapping PCI ID's from the legacy driver (commit) and remove the restriction where the legacy driver could not be built alongside the newgen (commit). This means that some users of the legacy megaraid driver will find themselves unable to boot 2.6.16 until they switch to the newgen megaraid_mbox driver.

    • Input devices

      • Input: add MODALIAS input classes support (commit)

      • Add support for Geyser 2 touchpads used on post Oct 2005 Apple Powerbooks to the appletouch driver (commit)

      • Implement support for the fn key on Apple Powerbooks using USB based keyboards and makes them behave like their ADB counterparts (commit)

      • Add support for Cherry Cymotion keyboard (commit)

      • Driver for beeper found in Linksys NSLU2 boxes. It should work on any ixp4xx based platforms (commit)

    • USB devices

      • A driver for USB ADSL modems based on the ADI eagle chipset (Eagle and ADI 930 usb adsl modems (commit)

      • Add USB storage support for the Nikon Coolpix 2000 camera (commit)

      • Add USB storage support for devices based in the alauda chip, like the Olympus MAUSB-10 and Fujifilm DPC-R1 USB Card reader/writer devices, both support XD and Smartmedia cards (commit)

      • Add support for ATI/Philips USB RF remotes (eg. ATI Remote Wonder II) (commit)

      • Support for Posiflex PP-7000 retail USB printer (commit)

      • Support for Linksys USB200M devices (commit)

      • Add support for CA-42 clone cable (www.ca-42.com) (commit)

      • usb-storage support for SONY DSC-T5 still camera (commit) and Rio Karma (commit)

      • ftdi: Two new ATIK based USB astronomical CCD cameras, ATIK-ATK16C and ATIK-ATK16HRC. These devices are also USB Astronomical CCD cameras that work through an FTDI 245BM chip, share the same base hardware but, it has a colour CCD chip instead of a grayscale one (commit)

      • ftdi_sio: Support two POS printers made by Westrex International (Model 777 and Model 8900F) (commit)

    • Network devices

      • hostap: allow flashing firmware (commit)

      • New experimental driver for the Marvell Yukon2 Gigabit Ethernet chipset. This driver is based on the skge driver, but using the logic from the Syskonnect version of the sk98lin driver. It should support all the Yukon2 chipsets that are available in many current Intel and AMD motherboards (commit)

      • sky2: add hardware VLAN acceleration support (commit), MII ioctl interface (commit), add Yukon-EC ultra support (commit)

      • Add Wake on LAN support to sis900 (commit)

      • Implements the UFO (feature merged in 2.6.15) support in S2io driver (commit)

      • Intel ixp2000 network driver (commit)

      • ipw2100: support WEXT-18 enc_capa v3. This patch allows ipw2100 driver to advertise the WPA-related encryption options that it does really support. It's necessary to work correctly with Network Manager and other programs that actually check driver & card capabilities (commit)

      • Add support for the Intel IXDP2351 to the CS89x0 driver (commit)

      • mv643xx_eth: Add multicast support (commit)

      • e1000: Added hardware support for PCI express, 82546GB( Quad Copper) and 82571 Fiber (commit)

      • e1000: Added disable packet split capability (commit)

      • ieee80211: Fix some of the ieee80211 crypto related code so that instead of having the host fully do crypto operations, the host_build_iv flag works properly (for WEP in this patch) which, if turned on, requires the hardware to do all crypto operations, but the ieee80211 layer builds the IV. The hardware also has to build the ICV (commit)

    • Sound devices

      • Add power management support for ak4531 (commit), ens137x (commit), emu10k1 (commit), fm801 (commit), cmipci (commit), SB16/AWE (commit), als4000 (commit), es968 (commit), AD1848 (commit), als100 (commit), DT019x (commit), azt2320 (commit)

      • emu10k1: enable side surround channels for Audigy2 EX (commit), add support for Audigy 2 subsystem 2006 (commit), partial support for Creative emu1212m (commit), entry for SB Live 5.1 Digital OEM (SB0220) (commit)

      • via82xx: add dxs entry for MSI KT800 Delta-FSR (commit)

      • Add support for the CS5535 Audio device (commit)

      • hda-codec: add AD1988 support (commit), support of ALC262, ALC883, ALC885, ALC861 (commit), add the model entry (ALC880 6stack) for ASUS P5GD1-HVM (commit)

      • ice1724: add support of M-Audio Revolution 5.1 (commit)

      • Add Digigram PCXHR driver (commit)

      • via82xx: add dxs entry for P4m800/VIA8237R (commit)

      • hda-codec: Add support for the Sigmatel STAC927x HDA codec family (commit)

      • hda-codec: Add Sigmatel HDA support for the Intel D975XBK motherboard (commit)

      • hda-codec: Add support for Agere's variant of Si3054/5 based HDA modem (commit)

    • V4L/DVB

      • Add support for the remote control receiver inside the DViCO FusionHDTV DVB-T Dual Digital, and a keymap for the MCE remote bundled with it (commit)

      • Support for DVB reception on the PCI half of the DViCO DVB-T Dual Digital (commit)

      • Add support for Lifeview FlyDVB Trio (commit)

      • Added digital support for cx88 (cx88-alsa) (commit)

      • Add Kworld/Vstream Xpert DVB-T card with cx22702 tuner (commit)

      • Add support for DViCO FusionHDTV5 USB Gold (commit)

      • Added support for VP-3054 (aka Digitalnow DNTV Live! DVB-T Pro!) (commit)

      • Add remote for Compro Videomate Gold+ Pal version (commit)

      • Enable remote control on AVERTV STUDIO 303 (commit)

      • Adding support for the Hauppauge HVR1100 and HVR1100-LP products (commit)

      • Add support for KWorld DVB-S 100, based on the same chips as Hauppauge (commit)

      • Enable IR support for the Nova-S-Plus (commit)

      • Added Hauppauge ImpactVCB board (commit)

      • Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products (commit)

      • Added basic support (tv + radio) for Terratec Cinergy 250 PCI (commit)

      • Added SECAM L' video standard (commit)

      • Adds 32-bit compatibility for v4l2 framegrabber ioctls (commit)

      • Add support for DViCO FusionHDTV DVB-T USB devices (commit)

      • Add bttv card MagicTV (rebranded MachTV) (commit)

      • Added remote control support for pinnacle pctv (commit)

      • Add support for Samsung tuner TCPN 2121P30A, used in Hauppauge PVR-500 cards (commit)

      • Add support for Galaxis DVB-S rev1.3 (commit)

      • Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC (commit)

      • Add IR support to KWorld DVB-T (cx22702-based) (commit)

      • Add support to ET61X151 and ET61X251 PC Camera Controllers made by Etoms Electronics (commit)

    • Various

      • 8xx PCMCIA: support for MPC885ADS and MPC866ADS (commit)

      • Geode LX HW RNG Support: adds support to hw_random for the Geode LX HRNG device (commit)

      • i2c-nforce2 add nforce4 MCP-04 device ID (commit)

      • i2c: Add support for Barco LPT->DVI to i2c-parport (commit)

      • hwmon: New vt8231 driver (commit)

      • New character device driver for the Synclink GT and Synclink AC families of synchronous and asynchronous serial adapters (commit)

      • Add "bpp" boot option to nvidiafb to specify at what depth color the kernel must boot (commit)

      • Add support for the watchdog timer built into the EPX-C3 single board computer manufactured by Winsystems, Inc (commit)

      • Serial: make the number of UARTs registered configurable at compile time (commit)

      • Add 8250 support for Decision Computer International Co. PCCOM2 (commit)

      • Altix: Add driver support for a 2 port PCI IOC3-based serial card on Altix boxes (commit)

      • Add f71805f hwmon driver (commit)

Tell others about this page:

last edited 2007-09-01 16:43:43 by diegocalleja