Size: 66155
Comment:
|
Size: 1055
Comment: Linux 5.17 changelog
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Comprehensible changelog of the linux kernel. This page shows a summary of the important changes being added in each linux kernel release - support for new devices, new features (filesystems, subsystems), important internal changes, etc. While this text is aimed to be (unlike the full changelog) readable, it's obvious that some parts will not be comprehensible for those who don't know a lot about kernel internals, just like it happens in every software project. Other places to get news about the linux kernel are [http://lwn.net/Kernel/ LWN kernel status], [http://lwn.net/Articles/driver-porting/ LWN driver porting guide], [http://lwn.net/Articles/2.6-kernel-api/ LWN list of API changes in 2.6], or [http://www.lkml.org www.lkml.org]. If you're going to add something here look first at LinuxChangesRules! | #pragma keywords Linux, Kernel, Operating System, Linus Torvalds, Open Source, drivers, filesystems, network, memory management, scheduler, preemption, locking #pragma description Summary of the changes and new features merged in the Linux Kernel during the 2.6.x and 3.x development Changes done in each Linux kernel release. Other places to get news about the Linux kernel are [[http://lwn.net/Kernel/|LWN kernel status]] or the Linux Kernel mailing list (there is a web interface in [[http://www.lkml.org|www.lkml.org]] or [[https://lore.kernel.org/lkml/|lore.kernel.org/lkml]]). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use `nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel` for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules! |
Line 3: | Line 5: |
==== 2.6.15 and older ==== * See Linux26Changes, this page "only" tracks the current stable and development releases. |
You can discuss the latest Linux kernel changes on the [[http://forum.kernelnewbies.org/list.php?4|New Linux Kernel Features Forum]]. |
Line 6: | Line 7: |
==== 2.6.17 ==== * Still not released, see [http://wiki.kernelnewbies.org/Linux_2_6_17 the current changes] ==== Latest stable release: 2.6.16 ==== * Released 20 March, 2006 [http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.16 (full changelog)] * [http://72.14.207.104/search?q=cache:IT1X2f-H0yUJ:wiki.kernelnewbies.org/LinuxChanges+&hl=en&ct=clnk&cd=1 Google cache of this page] * Overview (useful for headlines): * OCFS2 (http://lwn.net/Articles/137278/, http://oss.oracle.com/projects/ocfs2/), a clustering filesystem contributed by Oracle (there's [http://sources.redhat.com/cluster/gfs/ 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 [http://docs.sun.com/app/docs/doc/816-0212/6m6nd4nc7?a=view 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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5590ff0d5528b60153c0b4e7b771472b5a95e297 (commit)]. * Add pselect/ppoll system call implementation [http://lwn.net/Articles/176911/ (LWN article)] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9f72949f679df06021c9e43886c9191494fdb007 (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 [http://marc.theaimsgroup.com/?l=linux-kernel&m=96753366711611&w=2 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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/unshare.txt Documentation]. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf2e340f4249b781b3d2beb41e891d08581f0e10 (commit)], implementation for unsharing file descriptors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a016f3389c06606dd80e687942ff3c71d41823c4 (commit)], vm structure (disabled in this release by default) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a0a7ec308f1be5957b20a1a535d21f683dfd83f0 (commit)], filesystem namespace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=741a295130606143edbf9fc740f633dbc1e6225f (commit)], filesystem info [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=99d1419d96d7df9cfa56bc977810be831bd5ef64 (commit)]. [http://lwn.net/Articles/135321/ (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 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/mutex-design.txt documentation], or (more interesting) [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex.c kernel/mutex.c]; it also features some extensive debugging facilities in [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=kernel/mutex-debug.c kernel/mutex-debug.c] [http://lwn.net/Articles/165039/ (LWN article)] [http://lwn.net/Articles/167034/ (LWN article explaining the API)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=6053ee3b32e3437e8c1e72687850f436e779bd49 (commit)] * High resolution timers ([http://lwn.net/Articles/167897 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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/hrtimers.txt documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c0a3132963db68f1fbbd0e316b73de100fee3f08 (commit)] * Swap migration. [http://lwn.net/Articles/157066/ (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=45b07ef31d1182d2cfde7711327e3afb268bb1ac (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a48d07afdf18212de22b959715b16793c5a6e57a (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d0243bca345d5ce25d3f4b74b7facb3a6df1232 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6b3ec238d12c8cc6cc71490c6e3127988460349 (commit)] * Per-mountpoint noatime/nodiratime flags [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc33a7bb9c6dd8f6e4a014976200f8fdabb3a45c (commit)] * EDAC support. The EDAC goal is to detect and report errors that occur within the computer system [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=da9bb1d27b21cb24cbb6a2efb5d3c464d357a01e (commit)]. Add drivers for Intel i82860, i82875 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0d88a10e566d46bffc214c974e5cf5abe38d8da8 (commit)], for AMD 76x and Intel E750x, E752x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=806c35f5057a64d3061ee4e2b1023bf6f6d328e2 (commit)] and Radisys 82600 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f768af73fea4c70f9046388a7ff648ad11f028e (commit)] * Tweaks to the NUMA policies in the slab allocator [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=dc85da15d42b0efc792b0f5eab774dc5dbc1ceec (commit)] * Implement a generic dispatch queue for all the I/O schedulers [http://lwn.net/Articles/157208/ (LWN article)] [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8922e16cf6269e668123acb1ae1fdc62b7a3a4fc (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b4878f245ec8e168cdd1f170f823a750b7dd4af5 (commit)] * Process scheduler * Add a 'domain distance' function, which is used to cache measurement results for machines with several nodes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=198e2f181163233b379dc7ce8a6d7516b84042e7 (commit)] * Filter affine wakeups [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7102e95b7b9c00277562c29aad421d2d521c5f6 (commit)] * Add a new SCHED_BATCH (3) scheduling policy: such tasks are presumed CPU-intensive, and will acquire a constant +5 priority level penalty [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0a9499c3dd50d333e2aedb7e894873c58da3785 (commit)] * Huge pages * Implement copy-on-write support for hugetlb mappings so MAP_PRIVATE can be supported [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e8f889b10d8d2223105719e36ce45688fedbd59 (commit)] * Make hugepages obey cpusets [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aea47ff363c15b0be5fc27ed991b1fdee338f0a7 (commit)] * Add NUMA policy support for huge pages [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5da7ca86078964cbfe6c83efc1205904587706fe (commit)] * Performance / size optimizations * Shrink struct page in some configurations using anonymous struct [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=349aef0bc4c7f07d685c977e12d0e2d0b5d0e6db (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5160ee6fc891a9ca114be0e90fa6655647bb64b2 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=10cef6029502915bdb3cf0821d425cf9dc30c817 (commit)] * Make vm86 support optional under CONFIG_EMBEDDED, to save about 5k of kernel size [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64ca9004b819ab87648dbfc78f3ef49ee491343e (commit)] * configurable support for ELF core dumps, saves about 5K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=708e9a794cf8822b760edaccd9053edb07c34d19 (commit)] * Make x86 doublefault handling optional, saves about 13 KB [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=22c4e3084eb8b88288a622a57d8b35c450a439f2 (commit)] * Make *[ug]id16 support optional, saves around 2 Kb [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e585e47031751f4e393e10ffd922885508b958dd (commit)] * Add scripts/bloat-o-meter script (python) to measure size changes in the functions of a given file [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d960600df3ce3588571e2c1adf1f5f6d8ca9eb5a (commit)] * Various changes * TTY layer buffering revamp, see the commit link [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=33f0f88f1c51ae5c2d593d26960c760ea154c2e2 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd285bb54d8a3e99810090ae88cfe8ed77d1da25 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e0d98b9f1eb757fc98efc84e74e54a08308aa73 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ad4b1fb8205340dba16b63467bb23efc27264d6 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2d97f02961e8b1f8a24befb88ab0e5c886586ff (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 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ca0aec0f7a94bf9f07fefa8bfd23282d4e8ceb8a (commit)]. * Add list_for_each_entry_safe_reverse() [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0ad42352c01788e41a33336577fdd270d8de55bb (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=017679c4d45783158dba1dd6f79e712c22bb3d9a (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b5f545c880a2a47947ba2118b2509644ab7a2969 (commit)] * SPI framework, implements the model of a queue of messages which complete asynchronously (with thin synchronous wrappers on top) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8ae12a0d85987dc138f8c944cb78a92bf466cea0 (commit)] * Export cpu topology in sysfs, /sys/devices/system/cpu/cpuX/topology/*, for more details see the commit [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69dcc99199fe29b0a29471a3488d39d9d33b25fc (commit)] * Suspend/Resume support for AMD64 GART [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90be4b49b8b54505772a6a766ac0891ec92b4c2d (commit)], ATI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5dda4986752b531d89d49c218682e42c63ef1d61 (commit)] and Intel 945GM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3b0e8eadc511eaceba6d6b8d0743359a34ee23c6 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=215c3409eed16c89b6d11ea1126bd9d4f36b9afd (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e329113ca437e44ec399b7ffe114ed36e84ccf5e (commit)] * x86: Basic support for the AMD Geode GX and LX processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f90b8116032f4216d260e31f966a3585319387ac (commit)] * x86-32 / x86-64: mark rodata sections read only [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=63aaf3086baea7b94c218053af8237f9dbac5d05 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67df197b1a07944c2e0e40ded3d4fd07d108e110 (commit)], [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=37b73c828185731f6236a6387c02d7b08c150810 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=aac04b32f3e4c63f461459d0e1d6aa01caac6e66 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=69cda7b1f06befb8d6a884b8a663d19dcaef590b (commit)] * x86-64: Support constant TSC feature in future AMD CPUs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=130951ccb14167c20b87e8bed52b60864ed53c2b (commit)] * x86_64: Allow compilation on a 32bit biarch toolchain [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bb33421dde79f9a36d5485c56335ff178ac7d268 (commit)] * x86-64: Inclusion of ScaleMP vSMP architecture [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=79f12614a6537cc3ac9ca4d1ea26f6e4f4a34aee (commit)] * Adds the Intel ICH8 IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6ebb2659065b6e03605e7f0c69449bda382261a (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 [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=blob;f=Documentation/filesystems/spufs.txt Documentation] [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=67207b9664a8d603138ef1556141e6d0a102bea7 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7f3945420b5d8114f2d4d85e90abe5063cc196a (commit)] * Add cpufreq support for all desktop G5. This patch adds cpufreq support for all desktop "tower" G5 models [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9a699aefa87cb0379a67741926820c9271d748a9 (commit)] * Thermal control for dual core G5s ([http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ac171c46667c1cb2ee9e22312291df6ed78e1b6e (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1beb6a7d6cbed3ac03500ce9b5b9bb632c512039 (commit)] * PPC32 and PPC64 kexec implementations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3d1229d6ae92ed1994f4411b8493327ef8f4b76f (commit)] * ppc64: per cpu data optimisations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a0268fa1a3613f2c526a9b3058701b277f6abe1 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d7a301033f1990188f65abf4fe8e5b90ef0e3888 (commit)] * G4+ oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=555d97ac87aef08bb55dff6f05e68fe2987d6f6d (commit)] * powerpc/8xx: Use 8MB D-TLB's for kernel static mapping faults, thus reducing TLB space consumed for the kernel and improving performance [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8f069b1a90bd97bf6d59a02ecabf0173d9175609 (commit)] * Make COFF zImages for old 32-bit powermacs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=66a45dd3620ee5f913ba1af3d2dca8b9bdfa2b96 (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) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7fdd90bc43e3e9cb08bc1b13650024d419b89e5 (commit)]. Also, make ARCH=powerpc the default for 32-bit ppc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=820a8ce7931d18338e5c089725ec083518da1644 (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) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5b9ca526917b7bc7d1da3beaccb2251a8f0b5fe2 (commit)]. Add support for add/remove/update properties in firmware device tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=088186ded490ced80758200cf8f906ed741df306 (commit)], add add/remove/update properties in /proc/device-tree [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=898b5395e915210f41223caa30312994d64cba1d (commit)], and add support for changing properties from userspace [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=610d91511f99f0a8325ad78fb7259c454b23e65a (commit)] * Add FSL SOC library and setup code [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed320010872a11f5255b3d076e5b4f142af553d (commit)] * Early debugging support for iSeries [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf6a7112bda99aadd6675526423a96be6b356a3d (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=25e591f6dd07365cbf0b1c2454386ce597dd5e05 (commit)] * PCI error recovery infrastructure for the PPC64 pSeries systems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=77bd741561016134d1761d6101c4f0361025062f (commit)] * Add TQM85xx (8540/8541/8555/8560) board support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a819f8ba76e81669fcc2665ac532cac650694b99 (commit)] * Add MPC834x SYS board to arch/powerpc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7d13d21ae85f64e35dcdae4d6a6286e62a38e0ab (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fabbfb9e8c53416eaa4f62b957430211376c9c82 (commit)] * s390 * Add support for the hardware accelerated sha256 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a497c17fee428604e06320272ff74415eacdc31 (commit)] and aes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf754ae8ef8bc443c067601d9401103e4001e7c5 (commit)] crypto algorithms; also support cex2a crypto cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=88fbf18399bde8f2900cf932acd40733dfa1effa (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8129ee164267dc030b8e1d541ee3643c0b9f2fa1 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3145d8a6cc83ee15adf18f598873e53a54cd1841 (commit)] * Add pxa27x OHCI platform specific code to enable the ohci device on the pxa27x based Sharp Zaurus Cxx00 devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3125c68d70e3433c21234431a9df9e7336efa29f (commit)] * Remove EPXA10DB machine support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fec53a24a5e5f7ba68d891b68f568b6aeafaca6 (commit)] * Support for the Atmel AT91RM9200 processor: this adds support for the Cogent CSB337 and CSB637 boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=49978db4f39950cdaaf967e1aad4a324bdc2e180 (commit)] and the Atmel's DK and EK boards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f0a13854be269357ff70022524ec503d3cba6a32 (commit)] * Add support for the serial device for machines with Atmel AT91RM9200 processors [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1e6c9c2878c9c1f301449c78551e0b7c5f3e3ae5 (commit)] * MIPS: * Add oprofile support to 5K, 20K and 25K [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2065988e9fb1628de7958b0f7f709b93302f7b97 (commit)] * SB1: Oprofile support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c03bc121212ecb36120b118a94c1b91a2e07b7b2 (commit)] * Add support for the built-in parallel port on SGI O2 (aka IP32) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=8e75f744289f0a1c38b669e39a489af460640881 (commit)] * UML * Add support for throttling and unthrottling input when the tty driver can't handle it [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e4dcee8099802c71437a15b940f66106d9f88b2f (commit)] * implement soft interrupts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d7173baf286c8b720f97f119ec92be43076ebde (commit)] * FRV * Implement futex operations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5c40f7f373889930d176a515ec375b60a70b5b49 (commit)] * Make futex code compilable on nommu [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ee1dd3fee22f15728f545d266403fc977e1eb99 (commit)] * Sparc64: * Serial Console for E250 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c126cf80d450a4d0aac3de7162d4c14b5c971b24 (commit)] * Add support for *at(), ppoll, and pselect syscalls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d7d5f05111a9d913131a2764d8b20157f8f758d (commit)] * SH: * kexec() support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9d44190eae97ad4c9ce30f1084e1b0dabd646df5 (commit)] * Add support for the hp680 backlight, as found in the hp6xx series of sh devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=06c6f90032e39d33d02ab20f32e3f3cd87f58d28 (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. [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9287d95ea194abf32fab24c6909f8ea55ab0292f (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eee45269b0f5979c70bc151c6c2f4e5f4f5ababe (commit)] * MMU-less CPUs * Provide shared-writable mmap support on ramfs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=642fb4d1f1dd2417aa69189fe5ceb81e4fb72900 (commit)]. This made possible to use SYSV IPC SHM in MMU-less configurations [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b0e15190ead07056ab0c3844a499ff35e66d27cc (commit)] * IA64 * Perfmon for Montecito [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9179cb65780def28770a895a4bc8fa60e903ab80 (commit)] * '''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" [http://lwn.net/Articles/137278/ (LWN article)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=29552b1462799afbe02af035b243e97579d63350 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7063fbf2261194f72ee75afca67b3b38b554b5fa (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3ec870d524c9150add120475c8ddcfa50574f98e (commit)] * NFSv4: Allow user to set the port used by the NFSv4 callback channel with the nfs.callback_tcpport boot option [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a72b44222d222749d54b3e370d825094352e389f (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=40859d7ee64ed6bfad8a4e93f9bb5c1074afadff (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) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=147b31cf09ee493aa71c87c0dd2eef74b6b2aeba (commit)]. Add new and more efficient multiplexer implementation [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cf6429a26da5c4d7b795e6d0f8f56ed2e4fdfc0 (commit)] and zero copy implementation to reduce the number of copies in the data and stat paths [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=531b1094b74365dcc55fa464d28a9a2497ae825d (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=71b9625744b7d4a6a2416389a5ba464bdf11f07f (commit)] * FAT: Support Direct I/O [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e5174baaea7585760f02eef23b225847d209a8db (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e6c08367b8fc6dce6dfd1106f53f6ef28215b313 (commit)]. Also, add support for relay files in other filesystems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08c541a7ade230883c48225f4ea406a0117e7c2f (commit)] * XFS: make it work with SELinux [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=446ada4a03808f128e8f28daa0f103dc69d22d5b (commit)] * XFS: enable write barriers per default [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4ef19dddbaf2f24e492c18112fd8a04ce116daca (commit)] * Add tmpfs options for memory placement policies [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7339ff8302fd70aabf5f1ae26e0c4905fa74a495 (commit)] * HFS: add HFSX support which allows for case-sensitive filenames [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2179d372d9f8b5fc5c189c89bc6a565a42151b23 (commit)] * CIFS: Kerberos and CIFS ACL support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf8206791750854bc6668266b694e8fe2cacb924 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0a4b92c05ed02ad7abdd165823eaf4bbcb33ae5c (commit)]; and add some performance improvements [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=84afc29b185334f489975a003b128e1b15e24a54 (commit)], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec637e3ffb6b978143652477c7c5f96c9519b691 (commit)] * NTFS: Implement support for sector sizes above 512 bytes (up to the maximum supported by NTFS which is 4096 bytes) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78af34f03d33d2ba179c9d35685860170b94a285 (commit)] * '''Networking''' * TIPC (Transparent Inter Process Communication). TIPC is a protocol designed for intra cluster communication. For more information see http://tipc.sourceforge.net [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b97bf3fd8f6a16966d4f18983b2c40993ff937d4 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2e4e6a17af35be359cc8f1c924f8f198fbd478cc (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=253af4235d24ddfcd9f5403485e9273b33d8fa5e (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. [http://www.selinux-symposium.org/2005/presentations/session2/2-3-jaeger.pdf paper], [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df3271f3361b61ce02da0026b4a53e63bc2720cb (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=318360646941d6f3d4c6e4ee99107392728a4079 (commit)] * DCCPv6 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3df80d9320bcaea72b1b4761a319c79cb3fdaf5f (commit)] * netem: packet corruption option. It adds the ability to randomly corrupt packets with netem, useful for testing hardware offload in devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c865e5d99e25a171e8262fc0f7ba608568633c64 (commit)] * Update SCTP_PEER_ADDR_PARAMS socket option to the latest api draft [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=52ccb8e90c0ace233b8b740f2fc5de0dbd706b27 (commit)] * Add support for SCTP_DELAYED_ACK_TIME socket option. This option will get or set the delayed ack time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7708610b1bff4a0ba8a73733d3c7c4bda9f94b21 (commit)] * XFRM: IPsec tunnel wildcard address support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ee51b1b6cece4dad408feeb0c3c9adb9cbd9f7d9 (commit)] * '''Drivers''' * DRM: * Add i945GM PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5457f38e01ae2d296ff49db42254679018f13fa9 (commit)] * Add X600 PCI ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2fed3bd7436e8988980989493c16b4983be1a800 (commit)] * libata * Suspend support, and add support for the ata_piix drivers, other drivers will be ported in the future [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b847548663ef1039dd49f0eb4463d001e596bc3 (commit)] * Add JMicron JMB360 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bd12097c7415c13aff53aed473eec92acd15712a (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=263756ec228f1cdd49fc50b1f87001a4cebdfe12 (commit)] * piix: add Intel ICH8M device IDs [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7bed9ec44cb282425f56033e5fb5448086cd758 (commit)] * SCSI * megaraid: remove overlapping PCI ID's from the legacy driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=3492b328834319c9503c0a34c50fb3f009556443 (commit)] and remove the restriction where the legacy driver could not be built alongside the newgen [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=ed7e8ef7f12f5c3c8bbb85eeb0a1ded91c7c5dbf (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d8f430c15b3a345db990e285742c67c2f52f9a6 (commit)] * Add support for Geyser 2 touchpads used on post Oct 2005 Apple Powerbooks to the appletouch driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e1e02c9f766e5cf20d951d35e6d2bc2683aa87ef (commit)] * Implement support for the fn key on Apple Powerbooks using USB based keyboards and makes them behave like their ADB counterparts [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eab9edd27f7ceaad6b57085817d63287bda15190 (commit)] * Add support for Cherry Cymotion keyboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=940824b0ac6661ff4f3b36e7bce17f681d0cbc23 (commit)] * Driver for beeper found in Linksys NSLU2 boxes. It should work on any ixp4xx based platforms [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=01387959022def72f95f4bc1341aa69e32a06b30 (commit)] * USB devices * A driver for USB ADSL modems based on the ADI eagle chipset (Eagle and ADI 930 usb adsl modems [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b72458a80c75cab832248f536412f386e20a93a0 (commit)] * Add USB storage support for the Nikon Coolpix 2000 camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=17fa6e552f2fc6bb06af767b0abf9cb642e13404 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e80b0fade09ef1ee67b0898d480d4c588f124d5f (commit)] * Add support for ATI/Philips USB RF remotes (eg. ATI Remote Wonder II) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=735b0cbb5bbb981d726a465c157f20976794aab0 (commit)] * Support for Posiflex PP-7000 retail USB printer [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effac8be4e46aabf22788d24caaa1ae9c295d26d (commit)] * Support for Linksys USB200M devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5e0f76c6bbc0d26cd9625876f7beeb7b002f39bf (commit)] * Add support for CA-42 clone cable (www.ca-42.com) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=838b42814c640ddcc378ba29cd31ffd64fb36bc5 (commit)] * usb-storage support for SONY DSC-T5 still camera [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ec7dc8d254985dc4a31858c2c7c7029290e223dd (commit)] and Rio Karma [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=abb02fdf83f981f2511b3772db6e106845c70ad9 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09c280a24650ff74e713742e94120fdf7765cda8 (commit)] * ftdi_sio: Support two POS printers made by Westrex International (Model 777 and Model 8900F) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a94b52ac84828e193d18c96c1334c9997b524a35 (commit)] * Network devices * hostap: allow flashing firmware [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a485cde662f5b6b2299ee01a7e9e2c11683f807b (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd28ab6a4e50a7601d22752aa7ce0c8197b10bdf (commit)] * sky2: add hardware VLAN acceleration support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d1f1370863f7fa3d76dc7d7779debdda854a5a60 (commit)], MII ioctl interface [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ef743d3359813795fb38c4308bff2311eb30651f (commit)], add Yukon-EC ultra support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5a5b1ea026572ac0e5e03d7322deb546d60f9e6e (commit)] * Add Wake on LAN support to sis900 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ea37ccea66e6bdd9f3571418b6461850088c114e (commit)] * Implements the UFO (feature merged in 2.6.15) support in S2io driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fed5eccdcf542742786701b2514b5cb7ab282b93 (commit)] * Intel ixp2000 network driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=15d014d13149aedd76cbff1b5c3bbfe839391457 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=166c3436d683cfe5316c7723ed746a93db053f12 (commit)] * Add support for the Intel IXDP2351 to the CS89x0 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c878967d32a10cb604718f7608efa0ea3d8b596 (commit)] * mv643xx_eth: Add multicast support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=16e0301831767ee1b8e5e022cc08e76f9f8a8938 (commit)] * e1000: Added hardware support for PCI express, 82546GB( Quad Copper) and 82571 Fiber [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7ee49db8b4b21dad3284d5507e7ea2946031f6e (commit)] * e1000: Added disable packet split capability [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=35ec56bb78fda9c88cd1ad30e048ce5b4398d33f (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a4bf26f30e398afa293b85103c885f03d4660a07 (commit)] * Sound devices * Add power management support for ak4531 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=11d3824ad7d6240d7ce44bdf1d9e81e62a903f72 (commit)], ens137x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fe8be10786c040bce53c18048d75b1b23aec64ae (commit)], emu10k1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=09668b441dacdf4640509b640ad73e24efd5204f (commit)], fm801 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b1e9ed26a9e472548a63a59014708fdae013b7a3 (commit)], cmipci [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cb60e5f5b2b19284479825cdaa6dd6b7078cf5d2 (commit)], SB16/AWE [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5bdb6a1629408f657f5f2c42b3c07c689c411499 (commit)], als4000 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=703529140cfb774366b839f38f027f283cb948b4 (commit)], es968 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a8fef1f95e563a93c7d70048b63c1ca20685a1b (commit)], AD1848 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c66d7f72569e304acc134b2561b148fe7c23c0f7 (commit)], als100 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=480615f33fa48e1a4db33e40b21d4009250f5b23 (commit)], DT019x [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e2fa213591518bb1387f6042b8572c76ecdc6c6e (commit)], azt2320 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b6cc25cae365bada36c9f006e314b998eb2c5e7c (commit)] * emu10k1: enable side surround channels for Audigy2 EX [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2f020aa71197eddef749ad6202ca5a66c0c6e382 (commit)], add support for Audigy 2 subsystem 2006 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f6f8bb642350dafc21676ccd4fab333282064b8d (commit)], partial support for Creative emu1212m [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19b99fbaed2e2971b756311435c67e84431d8515 (commit)], entry for SB Live 5.1 Digital OEM (SB0220) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8ee72952bd7bd21df944ef1512a1e582abe0528 (commit)] * via82xx: add dxs entry for MSI KT800 Delta-FSR [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c1b8f5f0e4aabd4b47648dd9465fb750e07da9fb (commit)] * Add support for the CS5535 Audio device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9b4ffa48ae855c8657a36014c5b0243ff69f4722 (commit)] * hda-codec: add AD1988 support [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fd66e0d0591dd12eb0bea1e9f3aa194bb93cebbd (commit)], support of ALC262, ALC883, ALC885, ALC861 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=df694daa3c0135202e4702cb2d11e68a43f6c51e (commit)], add the model entry (ALC880 6stack) for ASUS P5GD1-HVM [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7632c7b4443057e1294208a0d9a55d8558f2f6ca (commit)] * ice1724: add support of M-Audio Revolution 5.1 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=59acf76e0268e3f0156ef5113e89d838a8c02bb6 (commit)] * Add Digigram PCXHR driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e12229b4d2b7863b1baaeca759aa87703bf9fdf8 (commit)] * via82xx: add dxs entry for P4m800/VIA8237R [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=802c00f2f3700423df06a1149c23cd60dd59159c (commit)] * hda-codec: Add support for the Sigmatel STAC927x HDA codec family [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3cc08dc6ea677ed4e843120aa070e145b6781a4b (commit)] * hda-codec: Add Sigmatel HDA support for the Intel D975XBK motherboard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d62c40e04cfcec3cef8093bd79d72fe86c8f2195 (commit)] * hda-codec: Add support for Agere's variant of Si3054/5 based HDA modem [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e061bf1aa3af8a3f2ae7e1b5f8a110eae7936615 (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 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c239703a942117c3446ca06af537fc3ea12fb24 (commit)] * Support for DVB reception on the PCI half of the DViCO DVB-T Dual Digital [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43eabb4e2284146f8bfae8730ae41c218b724b7d (commit)] * Add support for Lifeview FlyDVB Trio [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4aa6ba513e28884b56bac529553a47a6b160c310 (commit)] * Added digital support for cx88 (cx88-alsa) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b7f355d23c34399ccfd54fd613c306ab4a788234 (commit)] * Add Kworld/Vstream Xpert DVB-T card with cx22702 tuner [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f39624fda00d2a30d31f0fa06153e9b460295676 (commit)] * Add support for DViCO FusionHDTV5 USB Gold [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=effee0333b6090ff4ff0463e8fb6084cf4406bbd (commit)] * Added support for VP-3054 (aka Digitalnow DNTV Live! DVB-T Pro!) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fc40b261db15d010455ad0a4e2ac59da2ced730f (commit)] * Add remote for Compro Videomate Gold+ Pal version [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2a9a9a84f2ac6e4481f564c42a9268477465c359 (commit)] * Enable remote control on AVERTV STUDIO 303 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=899ad11b55206c30db7e3667d14c8bdb167f51f8 (commit)] * Adding support for the Hauppauge HVR1100 and HVR1100-LP products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=611900c1858747a87657eb405ebab5b1e72bb57c (commit)] * Add support for KWorld DVB-S 100, based on the same chips as Hauppauge [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1c956a3ac087b7590296f5a0be2cdab2666158cd (commit)] * Enable IR support for the Nova-S-Plus [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=fb56cb65e4b737c93727ea296050e8d24eb7cb42 (commit)] * Added Hauppauge ImpactVCB board [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd1257d860f6ee09b589723a5d3888b1fed46487 (commit)] * Added V4L support for the Nova-S-Plus and Nova-SE2 DVB-S products [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0fa14aa6214823bb013b598add866e277a7efe28 (commit)] * Added basic support (tv + radio) for Terratec Cinergy 250 PCI [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f639c9b21b763441bd6bd76185be6d2504d83d54 (commit)] * Added SECAM L' video standard [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f3c5987a386300abea9854b32814d0eab7af7841 (commit)] * Adds 32-bit compatibility for v4l2 framegrabber ioctls [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cf664a6458b254ce665d129c0960cff4f32b91f3 (commit)] * Add support for DViCO FusionHDTV DVB-T USB devices [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f8bf134d5f697311c04e867b6733d047a4b55a12 (commit)] * Add bttv card MagicTV (rebranded MachTV) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d05ae6b5b77f063aa0f82cf0570f3e4b80b367c (commit)] * Added remote control support for pinnacle pctv [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=366cc64b0d9ac922ac4f0f54e06c13ec95249928 (commit)] * Add support for Samsung tuner TCPN 2121P30A, used in Hauppauge PVR-500 cards [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b3d37042d7d33baf0247d1df31031e64427f39b3 (commit)] * Add support for Galaxis DVB-S rev1.3 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9ead9bd1079b4b7ba45589f6495e79ec50237aed (commit)] * Add standard for South Korean NTSC-M using A2 audio, South Korea uses NTSC-M but with A2 audio instead of BTSC [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0dfd812d4b2afc797310943b451608d347854e76 (commit)] * Add IR support to KWorld DVB-T (cx22702-based) [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a77a922fcc56fe44fd8f65c041a52ff48474fafe (commit)] * Add support to ET61X151 and ET61X251 PC Camera Controllers made by Etoms Electronics [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7ce08c93e388922e25a96a7d9895784182e4c72c (commit)] * Various * 8xx PCMCIA: support for MPC885ADS and MPC866ADS [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1371d3be045a6a1a8b828b838069b5fe6e0ab4c6 (commit)] * Geode LX HW RNG Support: adds support to hw_random for the Geode LX HRNG device [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a7a4ad0998dcd682f4968e8ec5fc1259914a1c4a (commit)] * i2c-nforce2 add nforce4 MCP-04 device ID [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7c72ccf09b6debe55b8e049377ad3183ed4f4cb3 (commit)] * i2c: Add support for Barco LPT->DVI to i2c-parport [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1d26f455eb0db0bf4d4b7177547f4310b645a32a (commit)] * hwmon: New vt8231 driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=1de9e371b89e1cf4da123f0d92efa8eb134ca5e8 (commit)] * New character device driver for the Synclink GT and Synclink AC families of synchronous and asynchronous serial adapters [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=705b6c7b34f2621f95f606d0e683daa10cdb8eb9 (commit)] * Add "bpp" boot option to nvidiafb to specify at what depth color the kernel must boot [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=ade9185a39aa2bc51f95b4899836e59df671d844 (commit)] * Add support for the watchdog timer built into the EPX-C3 single board computer manufactured by Winsystems, Inc [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=eed6565f70ce3fc958e5a3483c48fc4a8e111bdc (commit)] * Serial: make the number of UARTs registered configurable at compile time [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a61c2d78ce61e67baf27c43f6721db87a27ac762 (commit)] * Add 8250 support for Decision Computer International Co. PCCOM2 [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d9004eb466d03b7900ed432fecec6819012b4ed3 (commit)] * Altix: Add driver support for a 2 port PCI IOC3-based serial card on Altix boxes [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2d0cfb527944c2cfee2cffab14f52d483e329fcf (commit)] * Add f71805f hwmon driver [http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e53004e20a58e9d28347e02adccb37a33e0d771a (commit)] |
<<Include(Linux_5.17)>> |
Changes done in each Linux kernel release. Other places to get news about the Linux kernel are LWN kernel status or the Linux Kernel mailing list (there is a web interface in www.lkml.org or lore.kernel.org/lkml). The lore.kernel.org/lkml/ archive is also available via NTTP if you prefer to use a newsreader: use nntp://nntp.lore.kernel.org/org.kernel.vger.linux-kernel for that. List of changes of older releases can be found at LinuxVersions. If you're going to add something here look first at LinuxChangesRules!
You can discuss the latest Linux kernel changes on the New Linux Kernel Features Forum.
Linux 5.17 was released on Sun, 20 Mar 2022.
Summary: Among other changes this release includes support for recursive id-mapped mounts; CO-RE support that makes compiled BPF programs more portable; a new P-state driver for modern AMD CPUs; the random number generator switched to BLAKE2s and got much faster; a new Real-Time Linux Analysis tool; the fscache networking caching backend was rewritten; new fanotify flag to replace some inotify patterns; support for giving names to anonymous memory mappings. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- Support recursive id-mapped mounts
- BPF CO-RE support and other improvements
- New P-State driver for modern AMD cpus
- Random number generator improvements
- Rewrite of the networking caching backend for networking file systems
- New Real-Time Linux Analysis (RTLA) tool
- New fanotify FAN_RENAME flag
- Support giving names to anonymous memory
- Mitigate straight-line speculation attacks
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Networking
- Architectures
-
Drivers
- Graphics
- Power management
- Storage
- Drivers in the Staging area
- Networking
- Audio
- Tablets, touch screens, keyboards, mouses
- TV tuners, webcams, video capturers
- Universal Serial Bus
- Serial Peripheral Interface (SPI)
- Watchdog
- CPU Frequency scaling
- Device Voltage and Frequency Scaling
- Voltage, current regulators, power capping, power supply
- Real Time Clock (RTC)
- Pin Controllers (pinctrl)
- Multi Media Card (MMC)
- Memory Technology Devices (MTD)
- Industrial I/O (iio)
- Multi Function Devices (MFD)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Cryptography hardware acceleration
- PCI
- Non-Transparent Bridge (NTB)
- Thunderbolt
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Support recursive id-mapped mounts
Linux 5.12 added support for id-mapped mounts, that is, creating a mount of an existing file system with the user and group IDs mapped to different ones. This is very useful for containers, where you might want to mount a directory with some random user ID as the user ID expected by the container. This feature, however, required that the base file system was a file system that was not id-mapped itself. This release supports recursive id-mapped mounts.
1.2. BPF CO-RE support and other improvements
The nature of BPF programs makes hard for them to be portable: The position of a member in a data structure can change depending from version to version and even on the same kernel depending on the compiler options. This requires compiling BPF programs in the target computer. In order to make BPF programs more portable, a few features are required; some have already been merged, like BTF, which was introduced in Linux 4.18 and provides type information of all kernel data structures. This release introduces "CO-RE" -Compile Once, Run Everywhere- support. Along with other pieces in the userspace BPF infrastructure, this helps to create BPF programs that can be run in different kernels without requiring compilation.
Recommended article: BPF CO-RE reference guide.
This release also adds the bpf_loop helper, which helps to move loop logic of BPF programs into the kernel and thereby guarantee that the loop will always terminate
Recommended article: A different approach to BPF loops
1.3. New P-State driver for modern AMD cpus
This release includes a new AMD P-State driver. AMD P-State is the AMD CPU performance scaling driver that introduces a new CPU frequency control mechanism on AMD Zen based CPU series in Linux kernel. The new mechanism is based on Collaborative Processor Performance Control (CPPC) which is finer grain frequency management than legacy ACPI hardware P-States. Current AMD CPU platforms are using the ACPI P-states driver to manage CPU frequency and clocks with switching only in three P-states. AMD P-State leverages the Linux kernel governors such as schedutil, ondemand, etc. to manage the performance hints which are provided by CPPC hardware functionality. AMD P-State is supported on recent AMD Zen base CPU series include some of Zen 2 and Zen 3 processors.
1.4. Random number generator improvements
This release switches the entropy extractor in the RNG from SHA-1 to BLAKE2s. This change improves the backtracking security from 80 bits to 128 bits. Some additional changes have also drastically improved performance.
Recommended post: Random number generator enhancements for Linux 5.17 and 5.18
1.5. Rewrite of the networking caching backend for networking file systems
Linux networking file systems (e.g. NFS) can optionally use a networking cache layer called fscache and cachefiles. This layer has been rewritten in this release, significantly simplifying the code compared to what's upstream, removing the complex operation scheduling and object state machine in favour of something much smaller and simpler
1.6. New Real-Time Linux Analysis (RTLA) tool
As part of the efforts to get PREEMPT_RT into mainline, this release includes a Real-Time Linux Analysis (RTLA) tool. rtla is a meta-tool that includes a set of commands that aims to analyze the real-time properties of Linux. But instead of testing Linux as a black box, rtla leverages kernel tracing capabilities to provide precise information about the properties and root causes of unexpected results, making it easier for users and developers to collect performance and trace data, and helping fine-tune their systems/algorithms.
Recommended blog: And now Linux has a Real-Time Linux Analysis (RTLA) tool!
1.7. New fanotify FAN_RENAME flag
This release adds a FAN_RENAME event to the fanotify interfaces to report extra info records about new and old parent+name details. This new event was designed as a replacement for the "inotify way" of joining the MOVED_FROM/MOVED_TO events using a cookie
1.8. Support giving names to anonymous memory
Anonymous memory (not backed by a file, e.g. malloc) is, as the name says, anonymous, and it's not easy to debug anonymous memory usage coming from various system components. This release allows to give a name to anonymous memory mappings. It adds a field to /proc/pid/maps and /proc/pid/smaps to show a userspace-provided name for anonymous vmas. The names of named anonymous vmas are shown as [anon:<name>]. Userspace can set the name for a region of memory by calling prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, start, len, (unsigned long)name);.
Recommended LWN article: Not-so-anonymous virtual memory areas
1.9. Mitigate straight-line speculation attacks
A new attack for CPUs has been found, called "Straight-line speculation"; this release adds some mitigations for it.
Recommended LWN article: Blocking straight-line speculation — eventually. commit, commit, commit, commit, commit, commit
2. Core (various)
(FEATURED) vfs: Extend the mapping infrastructure in order to support mapped mounts of mapped filesystems commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
(FEATURED) Add stright-line-speculation mitigations commit, commit, commit, commit, commit, commit
- fanotify
(FEATURED) Add FAN_RENAME event to report extra info records about new and old parent+name details. This new event was designed as a replacement for the "inotify way" of joining the MOVED_FROM/MOVED_TO events using a cookie commit, commit, commit, commit, commit, commit, commit, commit
Add a new FAN_REPORT_TARGET_FID flag, which supports reporting child info in directory fanotify events commit
devtmpfs: default mount with noexec and nosuid commit
fuse,virtiofs: support per-file DAX commit, commit, commit, commit, commit, commit, commit
- Task scheduler
- cgroup
signals: requeuing undeliverable signals commit, commit, commit
topology: only export used sysfs attributes commit, commit, commit
- io_uring
- RCU
Tasks updates commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
RCU no-CB CPUs updates, most notably the ability to offload CPUs that are in de-offloaded state at boot time commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove CONFIG_RCU_FAST_NO_HZ support commit, commit, commit, commit
Reference counting tracking infrastructure. Recommended LWN article: A reference-count tracking infrastructure.commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
module: add in-kernel support for decompressing for security purposes commit
Build: introduce debug.config for CI-like setup commit
Build: Add make mod2noconfig to disable module options commit
kunit tool: add --kconfig_add to allow easily tweaking kunitconfigs commit
kunit tool: Default --jobs to number of CPUs commit
Globally enable -Wcast-function-type commit
(FEATURED) fscache, cachefiles: Rewrite, significantly simplifying the code compared to what's upstream, removing the complex operation scheduling and object state machine in favour of something much smaller and simpler commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
irq: [PCI]MSI refactoring which aims to provide the ability of expanding MSI-X vectors after enabling MSI-X commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
3. File systems
- Btrfs
Speedup directory logging/fsync by copying index keys only. This reduces the amount of logged metadata by about half, and therefore the time spent logging or fsyncing large directories commit, commit
Enable adding of a device when balance is paused (i.e an fs is mounted with skip_balance options) commit, commit, commit
Allow defrag to be interruptible commit
free space tree entries get indexed and searched by size (latency -30%, search run time -30%) commit, commit, commit
Make send work with concurrent block group relocation commit
Remove reada infrastructure commit
- Ceph
- CIFS
- XFS
- ext4
- DLM
- EROFS
- F2FS
- FUSE
- KSMBD
- NFS
- UBIFS
Export filesystem error counters commit
4. Memory management
Convert much of the page cache to use folios, but still don't enable it commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Separate struct slab from struct page - an offshot of the page folio work. Struct page fields used by slab allocators are moved from struct page to a new struct slab, that uses the same physical storage. Similar to struct folio, it always is a head page. This brings better type safety, separation of large kmalloc allocations from true slabs, and cleanups commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Extend vmalloc support for constrained allocations commit, commit, commit, commit
(FEATURED) Support for anonymous VMA naming. It adds a field to /proc/pid/maps and /proc/pid/smaps to show a userspace-provided name for anonymous vmas. The names of named anonymous vmas are shown as [anon:<name>]. Userspace can set the name for a region of memory by calling prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, start, len, (unsigned long)name);. Recommended LWN article: Not-so-anonymous virtual memory areas. commit, commit, commit
- cgroup
kcsan: Support detecting a subset of missing memory barriers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- damon
Adds set_mempolicy_home_node syscall to set a home node for the MPOL_BIND and MPOL_PREFERRED_MANY memory policy. Users should use this syscall after setting up a memory policy for the specified range. The syscall allows specifying a home node/preferred node from which kernel will fulfill memory allocation requests first. This helps applications to hint at a memory allocation preference node and fallback to _only_ a set of nodes if the memory is not available on the preferred node. Fallback allocation is attempted from the node which is nearest to the preferred node commit, commit, commit
device-dax: Introduce compound pages in devmap in order to minimize 'struct page' overhead commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sysctl: change watermark_scale_factor max limit to 30% commit
vmstat: add events for THP max_ptes_* commit
Introduce PAGE_TABLE_CHECK debug option to check user page table entries at the time they are added and removed, in order to catch memory corruption issues related to double mapping commit, commit, commit, commit
Migration: support multiple target nodes demotion commit
5. Block layer
Memory folio support in block + iomap layers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
md: drop queue limitation for RAID1 and RAID10 commit
Remove the rsxx driver commit
6. Tracing, perf and BPF
Add rtla(1) tool, a meta-tool including a set of commands that aims to analyze the real-time properties of Linux. But instead of testing Linux as a black box, rtla leverages kernel tracing capabilities to provide precise information about the properties and root causes of unexpected results. In this release it presents an interface to the osnoise and timerlat tracers. In the future, it will also serve as home to the rtsl and other latency/noise tracers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- BPF
- New helpers
(FEATURED) Add bpf_loop helper. One of the complexities of using for loops in bpf programs is that the verifier needs to ensure that in every possibility of the loop logic, the loop will always terminate. As such, there is a limit on how many iterations the loop can do. The bpf_loop helper moves the loop logic into the kernel and can thereby guarantee that the loop will always terminate. The bpf_loop helper simplifies a lot of the complexity the verifier needs to check, as well as removes the constraint on the number of loops able to be run commit, commit, commit, commit
bpf_find_vma(), to find and inspect VMAs for profiling use cases commit, commit,
bpf_strncmp(), improve performance, avoid compiler flakiness commit, commit, commit, commit
bpf_get_func_arg(), bpf_get_func_ret(), bpf_get_func_arg_cnt() for tracing programs, all inlined by the verifier commit, commit, commit, commit, commit
- Adds unstable conntrack lookup helpers using BPF kfunc support
Sleepable local storage commit
Add helpers to access traced function arguments commit, commit, commit, commit, commit
Support BTF_KIND_TYPE_TAG for btf_type_tag attributes. The main motivation for btf_type_tag is to bring kernel annotations __user, __rcu etc. to btf. With such information available in btf, bpf verifier can detect mis-usages and reject the program. For example, for __user tagged pointer, developers can then use proper helper like bpf_probe_read_kernel() etc. to read the data commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
- libbpf
Deprecate bpf_prog_load_xattr() API commit, commit, commit, commit, commit, commit, commit, commit, commit
Enhance and rework logging controls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add runtime APIs to query libbpf version commit
Revamp and fix libbpf's feature-probing APIs commit, commit, commit
bpftool: Probes for bounded loops and instruction set extensions commit, commit, commit
bpftool: Enable libbpf's strict mode by default commit
bpftool: Add current libbpf_strict mode to version output commit
- tracing
7. Virtualization
iommu/virtio: Add identity domains commit, commit, commit, commit, commit
Allow for configuring max number of virtqueue pairs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
vdpa: add driver_override support and sysfs ABI documentation commit
8. Cryptography
(FEATURED) random: use BLAKE2s instead of SHA1 commit
Add SP800-108 KDF implementation to crypto API commit, commit, commit, commit
DRBG - improve 'nopr' reseeding commit, commit, commit, commit, commit, commit
jitter: add oversampling of noise source commit
keys: X.509 public key issuer lookup without AKID commit
9. Networking
TCP optimizations. The most notable change is in deferring the freeing of socket buffers after the socket lock is released, which improves performance in recvmsg and RX zerocopy commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow CAP_NET_RAW to setsockopt SO_PRIORITY commit
Allow SO_MARK with CAP_NET_RAW commit
Expose SO_RCVBUF/SO_SNDBUF through bpf_getsockopt() commit
Get ingress_ifindex in BPF_SK_LOOKUP prog type commit, commit
bridge: Allow base 16 inputs in sysfs commit
- Bonding
Add new hwtstamp flag HWTSTAMP_FLAG_BONDED_PHC_INDEX to get the bond active interface's PHC commit, commit
- Wireless
Add support for notifying association comeback commit, commit
Allow continuous radar monitoring on offchannel chain commit
Implement APIs for dedicated radar detection HW commit
Allow drivers to provide a destination device + info for flow offload. Only supported in combination with 802.3 encap offload commit
Indicate SA Query procedures offload for AP SME device commit, commit
- sysctl:
- ethtool
Allow user to offload tc action to net device commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
GRO: add ability to control gro max packet size commit
IPv4: support binding to nonlocal addresses commit
IPv6: ioam: Support for Queue depth data field commit
- MCTP
- MPTCP
More socket option support: IP_TOS, IP_FREEBIND, IP_TRANSPARENT, IPV6_FREEBIND, and IPV6_TRANSPARENT commit, commit, commit, commit
Adds socket support for a few socket options, ioctls, and one ancillary data type commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add mibs counter for ignored incoming options commit
Enforce HoL-blocking estimation commit
improve accept() and disconnect() commit, commit, commit, commit, commit, commit
- Netfilter
bridge: add support for pppoe filtering commit
Add register tracking infrastructure to skip redundant store-to-register operations, this includes support for payload, meta and bitwise expresssions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
nft_fwd_netdev: Support egress hook commit
sit: allow encapsulated IPv6 traffic to be delivered locally commit
- smc
xfrm: Add support for SM3 and SM4 secure hashes commit, commit
batman-adv: allow netlink usage in unprivileged containers commit
- Bluetooth
10. Architectures
10.1. ARM
- Device Tree Sources
New SoC: Qualcomm gets support for two newly announced platforms, both of hich can now work in production environments: the SDX65 5G modem that can run a minimal Linux on its Cortex-A7 core, and the Snapdragon 8 Gen 1, their latest high-end phone SoC commit
New SoC: Renesas adds support for R-Car S4-8, the most recent automotive Server/Communication SoC commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
New SoC: TI adds support for J721s2, a new automotive SoC in the K3 family commit, commit, commit, commit, commit
New SoC: Mediatek MT7986a/b is a SoC used in Wifi routers, the latest generation following their popular MT76xx series. Only basic support is added for now commit, commit
New SoC: NXP i.MX8 ULP8 is a new low-power variant of the widespread i.MX8 series commit, commit
New SoC: TI SPEAr320s is a minor variant of the old SPEAr320 SoC that we have supported for a long time commit
Aspeed AST2500/AST2600 BMCs in TYAN, Facebook and Yadro servers commit
AT91/SAMA5 based evaluation board commit
Intel IXP4xx now supports the final two machines in device tree that were previously only supported in old style board files commit
Mediatek MT6589, used in the Fairphone FP1 phone from 2013, while MT8183 is used in the Acer Chromebook 314 commit, commit
Qualcomm gains support for the reference machines using the two new SoCs, plus a number of Chromebook variants and phones based on the Snapdragon 7c, 845 and 888 SoCs, including Sony Xperia devices (Xperia XZ2 / XZ2C / XZ3 (Tama platform), Xperia 1 III / 5 III), Samsung J5, and the Microsoft Surface Duo 2 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ST STM32 now supports the Engicam i.Core STM32MP1 carrier board commit
Tegra now boots various older Android devices based on 32-bit chips out of the box, including a number of Asus Transformer tablets (Prime TF201, Pad TF701T, Pad TF300T, Infinity TF700T, EeePad TF101, Pad TF300TG). There is also a new Jetson AGX Orin developer kit commit, commit, commit, commit, commit, commit, commit, commit
Apple support adds the missing device trees for all the remaining M1 Macbook and iMac variants, though not yet the M1 Pro/Max versions commit
Allwinner now supports another version of the Tanix TX6 set-top box based on the H6 SoC commit
Broadcom gains support for the Netgear RAXE500 Wireless router based on BCM4908 commit
Adds support for the following modules: TQMa8Mx, TQMa8MxML, TQMa8MxNL. Each of the modules is available with different i.MX8M variants commit, commit, commit
tegra: Add device-tree for 1080p version of Nyan Big commit
Add Goramo MultiLink device tree commit
Add JOZ Access Point commit
aspeed: Adding Facebook Bletchley BMC commit
aspeed: add device tree for YADRO VEGMAN BMC commit
imx6: phytec: Add PEB-WLBT-05 support commit
imx6dl-yapp4: Add Y Soft IOTA Crux/Crux+ board commit
imx6qdl: add TQ-Systems MBa6x device trees commit
imx6qdl: phytec: Add support for optional PEB-EVAL-01 board commit
apple: Add t6000/t6001 MacBook Pro 14/16" compatibles commit
Enable KCSAN commit
Add support for Cortex-M55 processor commit
Add support for Cortex-M33 processor commit
Report Spectre v2 status through sysfs commit
arm64: Add two HWCAPs for Arm v8.7 FP behaviour commit, commit, commit
Xen: Add support of extended regions (safe ranges) on Arm commit, commit, commit, commit, commit, commit
Adds runtime PM support to Tegra drivers and enables core voltage scaling for Tegra20/30 SoCs, resolving overheating troubles commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- perf
Userspace counter access support commit, commit, commit, commit, commit
vendor events: Arm Neoverse N2 commit
arm-spe: Add SPE total latency as PERF_SAMPLE_WEIGHT commit
arm-spe: Synthesize SPE instruction events commit
Inject missing frames when using 'perf record --call-graph=fp' commit
Add LLC-TAD perf counter support commit
Arm CMN updates commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
smmuv3: Add devicetree support commit
coresight: syscfg: dynamic load commit, commit, commit, commit, commit, commit
coresight: trbe: Workaround Cortex-A510 erratas commit, commit, commit, commit
Apple SoC PMGR device power states driver commit, commit, commit, commit, commit, commit
samsung: Add USI driver commit
samsung: exynos-chipid: add Exynos7885 SoC support commit
xor: use EOR3 instructions when available commit
KVM: arm64: series implements an unshare hypercall at EL2 in nVHE protected mode, and makes use of it to unmmap guest-specific data-structures from EL2 stage-1 during guest tear-down commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
10.2. x86
- Platforms
Add Asus TF103C dock driver commit
Add intel_crystal_cove_charger driver commit
amd-pmc: Add support for AMD Smart Trace Buffer commit
asus-wmi: Add support for custom fan curves commit
int3472: Add board data for Surface Go 3 commit
lenovo-yogabook-wmi: Add driver for Lenovo Yoga Book commit
lenovo-yogabook-wmi: Add support for hall sensor on the back commit
Add device drivers for Siemens Industrial PCs commit, commit, commit, commit
system76_acpi: Guard System76 EC specific functionality commit
think-lmi: Opcode support commit
touchscreen_dmi: Add TrekStor SurfTab duo W1 touchscreen info commit
touchscreen_dmi: Enable pen support on the Chuwi Hi10 Plus and Pro commit
touchscreen_dmi: Remove the Glavey TM800A550L entry commit
pdx86: Add support for x86 Android tablets with broken DSDTs commit, commit, commit, commit, commit, commit, commit, commit, commit
x86-android-tablets: Add support for disabling ACPI _AEI handlers commit
x86-android-tablets: New driver for x86 Android tablets commit
- KVM
AMX support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
nVMX: Enlightened MSR Bitmap feature for Hyper-V, which allows L1 hypervisor to inform L0 when it changes MSR bitmap, this eliminates the need to examine L1's MSR bitmap for L2 every time when 'real' MSR bitmap for L2 gets constructed. When the feature is enabled for Win10+WSL2, it shaves off around 700 CPU cycles from a nested vmexit cost (tight cpuid loop test) commit, commit, commit
svm: Add module param to control PMU virtualization commit
Add the capability KVM_CAP_ENABLE_CAP to x86 so userspace can ensure KVM_ENABLE_CAP is available on a vcpu before using it commit
Export supported_xcr0 via UAPI commit, commit, commit, commit
Hyper-V: Add Hyper-V Isolation VM support commit, commit, commit, commit, commit
Security: easure initrd data loaded by the EFI stub commit, commit, commit, commit
perf: intel/lbr: Support LBR format V7 commit
AMD: mce_amd: Support non-uniform MCA bank type enumeration commit
Remove X86_USE_3DNOW commit
Basic recovery for machine checks inside SGX commit, commit, commit, commit, commit, commit, commit
sgx: Add an attribute for the amount of SGX memory in a NUMA node commit
xen: Add in-kernel Xen event channel delivery commit, commit, commit, commit, commit
10.3. PowerPC
Book3S HV P9: entry/exit optimisations. This reduces radix guest full entry/exit latency on POWER9 and POWER10 by 2x commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add BPF_PROBE_MEM JIT support commit, commit, commit, commit, commit, commit, commit, commit
Add KUAP support for BOOKE and 40x commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Make hash MMU code build configurable commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Implement livepatch on PPC32
ftrace: Activate HAVE_DYNAMIC_FTRACE_WITH_REGS on PPC32 commit
xive: Add a debugfs file to dump EQs commit, add a debugfs toggle for StoreEOI commit, add a debugfs toggle for save-restore commitadd a kernel parameter for StoreEOI commit
10.4. RISC-V
Introduce sv48 support without relocatable kernel commit, commit, commit, commit, commit, commit, commit, commit
Basic StarFive JH7100 RISC-V SoC support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add Supervisor Binary Interface v0.2 support for KVM commit, commit, commit, commit, commit
10.5. MIPS
BCM47XX: Add board entry for Linksys WRT320N v1 commit
BCM47XX: Add support for Netgear R6300 v1 commit
BCM47XX: Add support for Netgear WN2500RP v1 & v2 commit
Loongson64: Add Loongson-2K1000 reset platform driver commit
TXX9: Remove TX4939 SoC support commit, remove rbtx4938 board support commit,remove rbtx4939 board support commit
New Kconfig option ZBOOT_LOAD_ADDRESS commit
10.6. PA-RISC
Rewrite light-weight syscall and futex code commit
Add kgdb io_module to read chars via PDC commit
Enable TOC (transfer of contents) feature unconditionally commit
10.7. S390
Add new CPU-MF Counters for new IBM Z Hardware commit, commit
crypto: add SIMD implementation for ChaCha20 commit
10.8. UML
10.9. M68K
Enable memtest functionality commit
11. Drivers
11.1. Graphics
Add privacy-screen class and connector properties. It allows non KMS drivers to register a privacy-screen device, which the KMS drivers can then use to implement the standard privacy-screen properties. This is in order to support laptops that have the LCD panel with a builtin electronic privacy-screen commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Remove DMA_BUF_SET_NAME ioctl restrictions commit
sysfs: send hotplug event commit
Support XRGB2101010 source buffers commit
fourcc: Add packed 10bit YUV 4:2:0 format commit
- Intel
Support VESA panel backlights commit, commit, commit, commit, commit
Update ADL-P DMC fw to v2.14 commit
Enable runtime PM autosuspend by default commit
DP per-lane drive settings for icl+ commit
Remove CCS FB stride restrictions on ADL-P commit
VRR platform support for display 11 commit
add support for display audio codec keepalive commit
Improved eviction performance with async TTM moves commit
Enable pipe color support on D13 platform commit, commit, commit
Add support for moving fence waiting commit
- AMD
Add smart trace buffer (STB) for supported GPUs commit, commit, commit
Add Debugfs Entry to Force in SST Sequence commit
Add debugfs entry for ILR commit
PSR panel capability debugfs commit
Add new fields for Sienna Cichlid commit
Enable unique_id for Aldebaran commit
Add new query interface for umc block commit
Add support for SMU debug option commit
Support new mode-1 reset interface commit
amdkfd: Add sysfs bitfields and enums to uAPI commit
amdkfd: Make KFD support on Hawaii experimental commit
- tegra
NVDEC support commit
- panel
simple: Add Vivax TPC-9150 panel v6 commit
simple: Add support for the Innolux G070Y2-T02 panel commit
Add BOE BF060Y8M-AJ0 5.99" AMOLED panel driver commit
Add JDI R63452 MIPI DSI panel driver commit
Add Sony Tulip Truly NT35521 driver commit
Add driver for Novatek NT35950 DSI DriverIC panels commit
ilitek-ili9881d: add support for Wanchanglong W552946ABA panel commit
simple: Add Team Source Display TST043015CMHX panel commit
- simpledrm
- msm
- anx7625
- dw-hdmi
Allow interlace on bridge commit
- ps8640
- tx358768
Add pulse mode support commit
- ti-sn65dsi86
Add PWM support commit
- kmb
Enable fb console commit
- vc4
- vmwgfx
- omapdrm
- mediatek
backlight: lp855x: Add support ACPI enumeration commit
- host1x
Add initial runtime PM and OPP support commit
- rcar-du
R-Car DU: Add DSI encoder driver for V3U commit
Add Unisoc's drm kms module commit, commit, commit, commit, commit, commit
11.2. Power management
- ACPI
PCC: Implement OperationRegion handler for the PCC Type 3 subtype commit
Introduce Platform Firmware Runtime Update and Telemetry drivers. The PFRUT(Platform Firmware Runtime Update and Telemetry) kernel interface is designed to interact with the platform firmware interface defined in the Management Mode Firmware Runtime Update commit, commit, commit, commit
Add support for PCC Opregion special context data commit
iASL/Disassembler: Additional support for NHLT table commit
iASL/NHLT table: "Specific Data" field support commit
Add support for AGDI table commit
EFI: runtime: avoid EFIv2 runtime services on Apple x86 machines commit
hibernate: Allow ACPI hardware signature to be honoured commit
power: supply: core: add POWER_SUPPLY_HEALTH_NO_BATTERY commit
Add Thermal support for RZ/G2L commit
11.3. Storage
- SCSI
ufs: Implement polling support commit
mpi3mr: Add support for PCIe Managed Switch SES device commit
mpi3mr: Add Event acknowledgment logic commit
mpi3mr: Enhanced Task Management Support Reply handling commit
mpi3mr: Add io_uring interface support in I/O-polled mode commit
mpi3mr: Support Prepare for Reset event commit
ata: sata_sx4: add module parameter 'dimm_test' commit
ata: ahci: Add support for AMD A85 FCH (Hudson D4) commit
nvme: add 'iopolicy' module parameter commit
11.4. Drivers in the Staging area
media: atomisp: add Microsoft Surface 3 ACPI vars commit
media: max96712: Add basic support for MAX96712 GMSL2 deserializer commit
atomisp: add support for enum frame rate and sizes commit, commit
Add NVIDIA Tegra114 support to video decoder driver commit, commit, commit
media: cedrus: Add support for the D1 variant commit
fbtft: Remove fb_watterott driver commit
ralink-gdma: remove driver from tree commit
mt7621-dma: remove driver from tree commit
11.5. Networking
- Bluetooth
Add MT7921 SDIO Bluetooth support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
btmtksdio: add support of processing firmware coredump and log commit
btmtksdio: enable AOSP extension for MT7921 commit
btusb: Add one more Bluetooth part for WCN6855 commit
btusb: Add one more Bluetooth part for the Realtek RTL8852AE commit
btusb: Add support for Foxconn MT7922A commit
btusb: Add support for Foxconn QCA 0xe0d0 commit
btusb: Add support for queuing during polling interval commit
btusb: Add support using different nvm for variant WCN6855 controller commit
btusb: Add the new support IDs for WCN6855 commit
btusb: Add two more Bluetooth parts for WCN6855 commit
btusb: enable Mediatek to support AOSP extension commit
InfiniBand
iser: Remove deprecated pi_guard module param commit
hns: Remove support for HIP06 commit
hns: Support direct wqe of userspace commit
mlx5: Expose NDR speed through MAD commit
mlx5: Add support to multiple priorities for FDB rules commit
mlx5: Add misc5 flow table match parameters commit
DR, Add support for UPLINK destination type commit
DR, Add support for dumping steering info commit
DR, Add support for matching on geneve_tlv_option_0_exist field commit
DR, Improve steering for empty or RX/TX-only matchers commit
DR, Support matching on tunnel headers 0 and 1 commit
mlx5: E-switch, Create QoS on demand commit
mlx5: E-switch, Enable vport QoS on demand commit
mlx5: Introduce API for bulk request and release of IRQs commit
Parsing Infrastructure for TC actions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Provide knobs which will enable users to minimize memory consumption of mlx5 Functions (PF/VF/SF) commit, commit, commit, commit, commit, commit, commit
mlx5e: Expose FEC counters via ethtool commit
mlx5e: Support ethtool cq mode commit
mlxsw: Add Spectrum-4 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mlxsw: Add support for VxLAN with IPv6 underlay commit, commit, commit, commit, commit, commit, commit, commit
amd-xgbe: Add Support for Yellow Carp Ethernet device commit
- ath11k
Support MAC address randomization in scan commit
Add full monitor mode support for QCN9074 commit, commit, commit
Add 11d scan offload support for QCA6390/WCN6855 commit, commit, commit
Add regdb.bin download for regdb offload commit
Add signal report to mac80211 for QCA6390 and WCN6855 commit
Add spectral/CFR buffer validation support commit
Add support for BSS color change commit
Add support for WCN6855 hw2.1 commit
Add support for hardware rfkill for QCA6390 commit
Add support of firmware logging for WCN6855 commit
Enable 802.11 power save mode in station mode commit
ath: regdom: extend South Korea regulatory domain support commit
- bnxt_en
brcmfmac: Configure keep-alive packet on suspend commit
- can
- dsa
felix: add port fast age support commit
felix: psfp support on vsc9959 commit, commit, commit, commit, commit, commit, commit, commit
lan9303: add VLAN IDs to master device commit
qca8k: add LAG support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
sja1105: bring deferred xmit implementation in line with ocelot-8021q commit
rtl8365mb: add GMII as user port mode commit
ena: Add a new capabilities bitmask field to get indication of capabilities supported by the device. Use the capabilities field to query the device for ENI stats support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
gemini: allow any RGMII interface mode commit
gve: Supporting tx|rx-coalesce-usec for DQO, suspend/resume/shutdown, and optional metadata descriptors commit, commit, commit, commit, commit, commit, commit, commit
hns3: debugfs add drop packet statistics of multicast and broadcast for igu commit
- iavf
Add support in the iavf driver for communicating and using VIRTCHNL_VF_OFFLOAD_VLAN_V2. The new VIRTCHNL_VF_OFFLOAD_VLAN_V2 adds more granularity, flexibility, and support for 802.1ad offloads and filtering. This includes the VF negotiating which VLAN offloads/filtering it's allowed, where VLAN tags should be inserted and/or stripped into and from descriptors, and the supported VLAN protocols commit, commit, commit, commit, commit, commit
Enable setting RSS hash key commit
- ice
Add flow director support for channel mode commit
Configure iWARP or RoCEv2 protocol support for E800 devices commit, commit, commit
Add firmware features commit, commit, commit, commit, commit
Implement support for PTP on E822 hardware commit, commit, commit, commit, commit, commit, commit, commit, commit
ifb: support ethtools stats commit
- iwlwifi
Add new Qu-Hr device commit
Add new ax1650 killer device commit
Add support for BNJ HW commit
Add support for Bz-Z HW commit
mei: add debugfs hooks commit
Intel Management Engine communication over WLAN commit
mvm: Add support for a new version of scan request command commit
mvm: Increase the scan timeout guard to 30 seconds commit
mvm: add support for OCE scan commit
mvm: add support for PHY context command v4 commit
mvm: add support for statistics update version 15 commit
mvm: d3: support v12 wowlan status commit
mvm: support Bz TX checksum offload commit
mvm: support RLC configuration command commit
mvm: support revision 1 of WTAS table commit
mvm: synchronize with FW after multicast commands commit
pcie: add killer devices to the driver commit
pcie: support Bz suspend/resume trigger commit
rs: add support for TLC config command ver 4 commit
Support 4-bits in MAC step value commit
Support SAR GEO Offset Mapping override via BIOS commit
yoyo: support TLV-based firmware reset commit
ixgbevf: Introducing 1.5 API for mailbox communication commit, commit, commit, commit, commit
lan78xx: NAPI Performance Improvements commit, commit, commit, commit, commit, commit
- lan966x
lantiq_xrx200: add ingress SG DMA support commit
- mana
- marvell
mscc: ocelot: add gate and police action offload to PSFP commit
- mt76
mt7603: introduce SAR support commit
mt76x02: introduce SAR support commit
mt7915: add default calibrated data support commit
mt7915: add mu-mimo and ofdma debugfs knobs commit
mt7915: introduce SAR support commit
mt7921: add support for PCIe ID 0x0608/0x0616 commit
mt7921: introduce 160 MHz channel bandwidth support commit
mvneta: Add TC traffic shaping offload commit
netvsc: Add Isolation VM support for netvsc driver commit
- phy
phylink: Introduce generic phylink validation commit, commit, commit
- prestera
qed*: esl priv flag support through ethtool commit
- qmi_wwan
r8169: enable ASPM L1/L1.1 from RTL8168h commit
- rtw88
rtw89: add AXIDMA and TX FIFO dump in mac_mem_dump commit
- stmmac
tsnep: Add TSN endpoint Ethernet MAC driver commit
ax88179_178a: add TSO feature commit
vertexcom: Add MSE102x SPI support commit
wcn36xx: Implement beacon filtering commit
- wwan
11.6. Audio
hda/cs8409: Add new Warlock SKUs to patch_cs8409 commit
hda: Add AlderLake-N PCI ID commit
hda: Add new AlderLake-P variant PCI ID commit
hda: Add support for CS35L41 in HDA systems commit, commit, commit, commit, commit, commit, commit, commit, commit
hda: intel-dsp-config: add JasperLake support commit
hda: intel: More comprehensive PM runtime setup for controller driver commit
usb-audio: add mapping for MSI MPG X570S Carbon Max Wifi commit
soundwire: intel: remove PDM support commit
- ASoC
Add AK4375 support commit
Intel: add sof-nau8825 machine driver commit
Intel: boards: add max98390 2/4 speakers support commit
Intel: sof_sdw: add SKU for Dell Latitude 9520 commit
- SOF
Enable multicore with dynamic pipelines commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for Mediatek MT8195 commit, commit, commit, commit, commit, commit, commit, commit
Implement support for DMA trace free IPC command commit, commit, commit
Intel: power optimizations with HDaudio SPIB register commit, commit, commit, commit
Re-visit firmware state and panic tracking/handling commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Platform updates for AMD and Mediatek commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add PM support for i.MX8/i.MX8X/i.MX8M commit, commit, commit, commit, commit
amd: acp-config: Enable SOF audio for Google chrome boards commit
codec: tlv320adc3xxx: New codec driver commit
codecs: MBHC: Add support for special headset commit
codecs: tfa989x: Add support for tfa9897 optional rcv-gpios commit
Add low power hibernation support to cs35l41 commit, commit, commit, commit, commit, commit, commit, commit
cs35l41: DSP Support commit
cs42l42: Add control for audio slow-start switch commit
Add support for RT5682s headset codec in mt8195 machine drivers, and SOF support on card mt8195-mt6359-rt1019-rt5682 commit, commit, commit
qcom: Add support for ALC5682I-VS codec commit
rt5640: Add support for external GPIO jack-detect commit, commit, commit, commit, commit, commit, commit
sun8i-codec: Add AIF, ADC, and DAC volume controls commit
sunxi: sun4i-spdif: Implement IEC958 control commit
tegra: Add master volume/mute control support commit
Support BCLK input clock in tlv320aic31xx commit, commit, commit, commit, commit
11.7. Tablets, touch screens, keyboards, mouses
goodix: add pen support commit
silead: add pen support commit
silead: add support for EFI-embedded fw using different min/max coordinates commit
- HID
Add new Letsketch tablet driver commit
Add support for UGTABLET WP5540 commit
Add support for open wheel and no attachment to T300 commit
Add mapping for KEY_ALL_APPLICATIONS commit
Add mapping for KEY_DICTATE commit
apple: Add 2021 Magic Keyboard with fingerprint reader commit
apple: Add 2021 Magic Keyboard with number pad commit
apple: Add 2021 magic keyboard FN key mapping commit
apple: Add Magic Keyboard 2021 with fingerprint reader FN key mapping commit
apple: Report Magic Keyboard battery over USB commit
i2c-hid-of: Expose the touchscreen-inverted properties commit
logitech-dj: add new lightspeed receiver id commit
magicmouse: Report battery level over USB commit
11.8. TV tuners, webcams, video capturers
hantro: add Allwinner H6 support commit, commit, commit, commit, commit, commit, commit, commit, commit
VP9 codec V4L2 control interface commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
coda: V4L2_PIX_FMT_GREY for coda960 JPEG Encoder commit
Extensions to ov8865 driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
imx-pxp: Add rotation support commit
Add support for X86/ACPI camera sensor/PMIC setup with clk and regulator platform data commit, commit, commit, commit, commit, commit, commit, commit, commit
si2157: add ATV support for si2158 commit
si2157: add support for 1.7MHz and 6.1 MHz commit
si2157: add support for DVB-C Annex C commit
si2157: add support for ISDB-T and DTMB commit
Add support for DMA2D of STMicroelectronics STM32 Soc series commit, commit, commit, commit, commit, commit, commit
11.9. Universal Serial Bus
Introduce Xen pvUSB frontend (xen hcd) commit
dwc3: gadget: Support Multi-Stream Transfer commit
serial: ch341: add support for GW Instek USB2.0-Serial devices commit
serial: ftdi_sio: add support for Brainboxes US-159/235/320 commit
serial: option: add Telit LE910R1 compositions commit
serial: option: add ZTE MF286D modem commit
serial: option: add support for DW5829e commit
uhci: add aspeed ast2600 uhci support commit
11.10. Serial Peripheral Interface (SPI)
dw: Introduce Synopsys IP-core versions interface commit
11.11. Watchdog
Add Apple SoC watchdog driver commit
Add Realtek Otto watchdog timer commit
Add Watchdog Timer driver for RZ/G2L commit
f71808e_wdt: Add F81966 support commit
s3c2410: Add Exynos850 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.12. CPU Frequency scaling
(FEATURED) Introduce a new AMD CPU frequency control mechanism commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
11.13. Device Voltage and Frequency Scaling
devfreq: Add a driver for the sun8i/sun50i MBUS commit
11.14. Voltage, current regulators, power capping, power supply
- power
- regulator
11.15. Real Time Clock (RTC)
gamecube: Add a RTC driver for the GameCube, Wii and Wii U commit
Add driver for RTC in Sunplus SP7021 commit
rs5c372: Add RTC_VL_READ, RTC_VL_CLR ioctls commit
rv8803: Add support for the Epson RX8804 RTC commit
11.16. Pin Controllers (pinctrl)
Add Intel Thunder Bay pinctrl driver commit
freescale: Add i.MXRT1050 pinctrl driver support commit
ocelot: Extend support for lan966x commit
qcom-pmic-gpio: Add support for pm8019 commit
qcom: Add SDX65 pincontrol driver commit
qcom: Add SM8450 pinctrl driver commit
qcom: Add egpio feature support commit
qcom: sc7280: Add egpio support commit
renesas: rzg2l: Add support to get/set drive-strength and output-impedance-ohms commit
spmi-gpio: Add support for PM2250 commit
11.17. Multi Media Card (MMC)
mmci: add hs200 support for stm32 sdmmc commit
dw_mmc: Add driver callbacks for data read timeout commit
jz4740: Support using a bi-directional DMA channel commit
dw_mmc-exynos: Add support for ARTPEC-8 commit
sdhci-esdhc-imx: Add sdhc support for i.MXRT series commit
sdhci-pci: Add PCI ID for Intel ADL commit
mmci: Add support for sdmmc variant revision v2.2 commit
11.18. Memory Technology Devices (MTD)
rawnand: renesas: Add new NAND controller driver commit
Introduce an expert mode for forensics and debugging purposes commit
11.19. Industrial I/O (iio)
Add reading "raw" attribute commit
adc: Add Xilinx AMS driver commit
adc:axp20x: add support for NTC thermistor commit
dac: Add AD3552R driver support commit
dac:ad7293: add support for AD7293 commit
frequency: admv1013: add support for ADMV1013 commit
light: ltr501: Added ltr303 driver support commit
ltr501: Export near level property for proximity sensor commit
11.20. Multi Function Devices (MFD)
bd70528: Drop BD70528 support commit
da9062: Support SMBus and I2C mode commit
intel-lpss: Add Intel Lakefield PCH PCI IDs commit
11.21. Inter-Integrated Circuit (I2C + I3C)
exynos5: Add support for modern Exynos SoCs commit, commit, commit, commit, commit, commit
tegra: Add the ACPI support commit
Remove unused Netlogic/Sigma Designs XLR driver commit
i3c: svc: add runtime pm support commit
11.22. Hardware monitoring (hwmon)
Add driver for NZXT RGB&Fan Controller/Smart Device v2 commit
Driver for Texas Instruments INA238 commit
adm1021: Improve detection of LM84, MAX1617, and MAX1617A commit
asus_wmi_ec_sensors: Support B550 Asus WMI commit
asus_wmi_sensors: Support X370 Asus WMI commit
f71882fg: Add F81966 support commit
jc42: Add support for ONSEMI N34TS04 commit
k10temp: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh commit
k10temp: Support up to 12 CCDs on AMD Family of processors commit
nct6775: add ROG STRIX B550-A/X570-I GAMING commit
ntc_thermistor: Add Samsung 1404-001221 NTC commit
pmbus: Add Delta AHE-50DC fan control module driver commit
pmbus: Add support for MPS Multi-phase mp5023 commit
pmbus: ir38064 Add support for IR38060, IR38164 IR38263 commit
pmbus: ir38064 Expose a regulator commit
11.23. General Purpose I/O (gpio)
amdpt: add new device ID and 24-pin support commit
msc313: Add support for SSD201 and SSD202D commit
sim: new testing module commit
tegra186: Add support for Tegra234 commit
tegra186: Add support for Tegra241 commit
xlp: Remove Netlogic XLP variants commit
bd70528: Drop BD70528 support commit
11.24. Leds
11.25. DMA engines
jz4780: Add support for the MDMA and BDMA in the JZ4760(B) commit
idxd: add knob for enqcmds retries commit
rcar-dmac: Add support for R-Car S4-8 commit
ti: k3-psil: Add support for J721S2 commit
jz4780: Support bidirectional I/O on one channel commit
11.26. Cryptography hardware acceleration
qat: PFVF refactoring and improved GEN4 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
caam: save caam memory to support crypto engine retry mechanism commit
sun8i-ce - Add support for the D1 variant commit
11.27. PCI
PCI: brcmstb: Augment driver for MIPs SOCs commit, commit, commit, commit
hv: Add arm64 Hyper-V vPCI support commit
imx: Add the imx8mm pcie support commit
mvebu: Add support for compiling driver as module commit
switchtec: Add Gen4 automotive device IDs commit
vmd: Add DID 8086:A77F for all Intel Raptor Lake SKU's commit
11.28. Non-Transparent Bridge (NTB)
ntb_hw_amd: Add NTB PCI ID for new gen CPU commit
11.29. Thunderbolt
11.30. Clock
Introduce clk-tps68470 driver commit
clk-fch: Add support for newer family of AMD's SOC commit
mediatek: add mt7986 clock support commit
qcom: Add Pdc, GCC and RPMh clock support for SDX65 commit, commit, commit, commit, commit, commit, commit
qcom: Add clock driver for SM8450 commit
qcom: rpmh: add support for SM8450 rpmh clocks commit
renesas: r8a779a0: Add SDnH clock to V3U commit
renesas: rcar-gen3: Add SDnH clock commit
starfive: Add JH7100 clock generator driver commit
sunxi-ng: Add support for the D1 SoC clocks commit
Add write operation for clk_parent debugfs node commit
clocksource: renesas-ostm: Add RZ/G2L OSTM support commit
clocksource: msc313e: Add support for ssd20xd-based platforms commit
clocksource: Add MStar MSC313e timer support commit
11.31. PHY ("physical layer" framework)
Add lan966x ethernet serdes PHY driver commit
amlogic: Add a new driver for the HDMI TX PHY on Meson8/8b/8m2 commit
Add support for multilink configurations in Cadence Sierra PHY driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
freescale: pcie: Initialize the imx8 pcie standalone phy driver commit
intel: Add Thunder Bay eMMC PHY support commit
phy-mtk-tphy: add support efuse setting commit
qcom: add support for PCIe0 on SM8450 platform commit, commit, commit, commit, commit, commit, commit, commit
qcom: Introduce new eDP PHY driver commit
socionext: Introduce some features for UniPhier SoCs commit, commit, commit, commit, commit, commit, commit, commit
11.32. EDAC (Error Detection And Correction)
amd64: Add support for AMD Family 19h Models 10h-1Fh and A0h-AFh commit
synopsys: Add support for version 3 of the Synopsys EDAC DDR commit
mce_amd: Add new SMCA bank types commit
amd64: Add support for family 19h, models 50h-5fh commit
11.33. Various
bus: mhi: pci_generic: Add new device ID support for ! for UniPhieT99W175 commit
bus: mhi: pci_generic: Introduce Sierra EM919X support commit
eeprom: at24: Add support for 24c1025 EEPROM commit
firmware: cs_dsp: Add support for rev 2 coefficient files commit
firmware: xilinx: instantiate xilinx event manager driver commit
gnss: add USB support commit
gnss: usb: add support for Sierra Wireless XM1210 commit
- habanalabs
Add SOB information to signal submission uAPI commit
Add more info ioctls support during reset commit
Add new opcodes for INFO IOCTL commit
Add support for fetching historic errors commit
debugfs support for larger I2C transactions commit
Expand clock throttling information uAPI commit
Expose soft reset sysfs nodes for inference ASIC commit
Support hard-reset scheduling during soft-reset commit
sysfs support for two infineon versions commit
hwrng: cn10k - Add random number generator support commit
Add QCM2290 interconnect support commit, commit, commit, commit, commit
interconnect: qcom: Add EPSS L3 support on SC7280 commit
interconnect: qcom: Add MSM8996 interconnect provider driver commit
interconnect: qcom: Add SM8450 interconnect provider driver commit
iommu: arm-smmu-impl: Add SM8450 qcom iommu implementation commit
mailbox: qcom-ipcc: Support more IPCC instance commit
mei: bus: add client dma interface commit
memory: renesas-rpc-if: Add support for RZ/G2L commit
pcmcia: clean up dead drivers for CompuLab CM-X255/CM-X270 boards commit
powercap: intel_rapl: support new layout of Psys PowerLimit Register on SPR commit
remoteproc: Add Renesas rcar driver commit
reset: starfive-jh7100: Add StarFive JH7100 reset driver commit
spmi: mediatek: Add support for MT6873/8192 commit
spmi: mediatek: Add support for MT8195 commit
tpm: Add Upgrade/Reduced mode support for TPM2 modules commit
tty: Add support for Brainboxes UC cards commit
tty: serial: fsl_lpuart: Add i.MXRT1050 support commit
tty: serial: samsung: Enable console as module commit
12. List of Pull Requests
13. Other news sites
Phoronix's 5.17 feature overview