Size: 70997
Comment: Move 2.6.17 to its own page. Small scrollbars when browsing scare people.
|
Size: 1055
Comment: Linux 5.18 released
|
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]. Before adding things here look at the [#rules RULES] section at the end of the page! | #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)] [[Anchor(rules)]] Rules and tips: * Name of the new feature/description of the change, including a small explanation (if possible). Add links to web pages (if available), papers, etc. Keep the structure of previous changelogs! * If there's a interesting email (benchmarks, announcements if there's no web page, etc) about it in the mailing lists, get a link in one of the list's archives (at http://marc.theaimsgroup.com/?l=linux-kernel please, just for coherence. There're also fsdev & netdev mailing lists, etc) and add it. * Add commit's link to the git's web interface if possible, using the "(commit)" word. * To find commit's links you can search in the [http://www.kernel.org/git git web interface]. Remember that there're two main GIT trees where you can search for commits: [http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git the one which has all the stuff committed after 2.6.12-rc2] (ie: current development) and [http://kernel.org/git/?p=linux/kernel/git/torvalds/old-2.6-bkcvs.git the one which has all the stuff BEFORE 2.6.12-rc2] * However, if you want to keep track in "realtime", do NOT use the git's web interface (or the RSS). The RSS gets overflowed when there's a big merge. And more importantly, the shortlog you find in git's web interface does NOT care when things were really "committed": If a developer writes a patch, merges it in his git repository and then Linus pulls and merges it a month after it was merged in the developer's repository , the commit data won't appear in the "todays shortlog", but in the one-month-old changes (this could be fixed in the future however). * IOW: To keep track of the linux merges in realtime, the best option is to [http://vger.kernel.org/vger-lists.html#git-commits-head subscribe to the git-commits-head] mailing list (or search in the archives). Commit IDs are in the X-Git-Commit mail header. Tell your mailer to show them (by default it will be hidden unless you activate the "see the whole mail" option), if your mailer is good enought you'll be able to add a script which gets the Commit ID out of the header and launch a browser with the "http://kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=" needed gitweb URL before it. * It may look too hard to review the thousands of emails you get from the git-commit-head list, get the commit ID, the URL, a description and format all of it to put it here: "Formatting" is what would take most of your time. But the fact is that you can avoid most of the hard job by using some tricks. First of all, most of the relevant commits will be merged (and sent to the git-commits-head list) in the first two weeks after a kernel is released. When the mailing list sends you the commit messages, use the "mark" feature of your mailer to mark important commits - this is a easy operation, since the subject tells you if the commit is important, you can review quite a lot of commit messages per minute. When you're done, create an action/filter/whatever which allows you to extract the commit id. My MUA (sylpheed) allows me to create an "action" which allows me to pass the selected message(s) to a command. This allows to me to order my messages by marked/umarked to make easier to select at the same time all the marked messages, the I tell sylpheed to execute the previous "action", which runs a scripts which "greps" the commit-id out of the email headers and appends it to a file. This way I get a file with a list of all the relevant commit IDs (Other MUAS could have another methods to achieve this same goal or not have any at all). Now, with a local linux git repository (updated to head) and with a bit of scripting you can get (with git) the changelog information of every commit ID, so you can parse that information and generate a wiki-compatible-syntax list of commits with descriptions, URLs to gitweb automatically generated, etc. You'll need to fix the descriptions, but you get a LOT of work done automatically. * The web interface will show "meta-commits". When Linus merges things from a remote repository, You'll see a "Merge git://git.domain.com/foo/bar" style of message commit. If you click it for details you'll see a huge merge, but then the git shortlog will also show the individual commits. So those "meta-commits" are useful to add links to big merges which do one thing but do not mean anything by themselves. Those "meta-commits" will not be mailed to the git-commits-head mailing list. Random related stuff: * [http://kernel.org/pub/linux/kernel/people/akpm/patches/2.6/2.6.14-rc5/2.6.14-rc5-mm1/broken-out/post-halloween-doc.patch davej's post halloween document], [http://kernelnewbies.org/status/latest.html Kernelnewbies status] * Todo: Find links to corresponding changesets for the untracked 2.5 releases (if you're really bored) |
<<Include(Linux_5.18)>> |
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.18 was released on Sunday, 22 May 2022.
Summary: This release includes support for user events, which allow processes to create and write to trace events that are isolated from kernel trace level events and will only provide trace information when the trace is enabled; support for Intel Indirect Branch Tracking on Intel CPUs, which helps to prevent some kinds of exploits; stricter memcpy() compile-time bounds checking, better process scheduling performance on AMD Zen processors; support for fprobe, which allows faster probing of function calls; some preparation work for header rearchitecting that will provide faster compilation times; support for Btrfs encoded I/O, cross-mount reflink/dedupe and performance improvements; and switch to the C11 standard. As always, there are many other features, new drivers, improvements and fixes.
Contents
-
Prominent features
- Support for Indirect Branch Tracking on Intel CPUs
- User events
- Better process scheduling performance on AMD Zen
- fprobe, for probing multiple functions with a single probe handler
- Headers rearchitecturing preparations for faster compilation times
- Btrfs: Encoded I/O, cross-mount reflink/dedupe and performance improvements
- Stricter memcpy() compile-time bounds checking
- Switch to C11
- Core (various)
- File systems
- Memory management
- Block layer
- Tracing, perf and BPF
- Virtualization
- Cryptography
- Security
- 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
- Serial
- CPU 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)
- Pulse-Width Modulation (PWM)
- Inter-Integrated Circuit (I2C + I3C)
- Hardware monitoring (hwmon)
- General Purpose I/O (gpio)
- Leds
- DMA engines
- Hardware Random Number Generator (hwrng)
- Cryptography hardware acceleration
- PCI
- FRU Support Interface (FSI)
- Clock
- PHY ("physical layer" framework)
- EDAC (Error Detection And Correction)
- Various
- List of Pull Requests
- Other news sites
1. Prominent features
1.1. Support for Indirect Branch Tracking on Intel CPUs
Indirect Branch Tracking is a feature found in Intel CPUs that attempts to improve security by forcing that functions called with indirect calls start with a specific ENDBR instruction. The instruction by itself does nothing, but if the code being called lacks it, the CPU will refuse to run it. The compiler inserts the required instructions where necessary to make this happen. This makes harder for a exploit (and proprietary modules) to call some random function.
Recommended LWN article: Indirect branch tracking for Intel CPUs
1.2. User events
Linux already has a method that allows tracing user space processes with the kernel tracing tools (uprobes). This release adds a new ABI that allow processes to create and write to trace events that are isolated from kernel trace level events. This enables a faster path for tracing from user mode data as well as opens managed code to participate in trace events, where stub locations are dynamic.
Processes often want to trace only when it's useful. A process can register an event describing the format of the event to the kernel. The kernel will create the event. The process will then receive a byte in a page mapping from a mapped tracefs file that it can check against. A privileged task can enable that event, which will change the mapped byte to true. The process can then start writing the event to the tracing buffer.
Links: Documentation, Example.
1.3. Better process scheduling performance on AMD Zen
Some CPUs, like AMD Zen, have multiple Last Level Caches per node with local memory channels and due to the allowed imbalance, it's far harder to tune some workloads to run optimally than it is on hardware that has 1 LLC per node. This release adjusts the imbalance on multi-LLC machines to allow an imbalance up to the point where LLCs should be balanced between nodes, which improves significantly the performance in some workloads.
1.4. fprobe, for probing multiple functions with a single probe handler
Linux already provices ways to probe function calls. This release includes a new one, fprobe, which is based on ftrace. The reasons why this new probe API exists is that it doesn't use the ftrace full features, it just provides a way to attach callbacks on function entry and exit. Unlike kprobes and kretprobes, fprobe gives faster+instrumentation for multiple functions with single handler.
Documentation: Fprobe - Function entry/exit probe
1.5. Headers rearchitecturing preparations for faster compilation times
A major rearchitecting of the kernel headers for significantly faster builds has been proposed; this release introduces some of these changes in the task scheduler.
1.6. Btrfs: Encoded I/O, cross-mount reflink/dedupe and performance improvements
The Btrfs file system supports transparent compression. When using send/receive, the sending side decompresses the data and the receiving side recompresses it before writing it out. This release lets user space tools avoid the extra decompression/compression by letting send/receive read and write compressed extents directly.
This release also adds support for cross-mount reflink/dedupe support, and several substantial performance improvements, especially for fsync-based workloads. There also are some preparations for the future extent tree v2 changes.
1.7. Stricter memcpy() compile-time bounds checking
This release implements stricter (no struct member overflows) bounds checking for memcpy(), memmove(), and memset() under CONFIG_FORTIFY_SOURCE. In order to eliminate a large class of common buffer overflow flaws that continue to persist in the kernel, these changes perform bounds checking of the destination struct member when they have a known size. This would have caught all of the memcpy()-related buffer write overflow flaws identified in at least the last three years
Recommended LWN article: Strict memcpy() bounds checking for the kernel
1.8. Switch to C11
The Linux kernel has relied until now on the C89 for various reasons. This release will switch to the C11 standard.
Recommended LWN article: https://lwn.net/Articles/885941/
2. Core (various)
locking: Enable RT_MUTEXES by default on PREEMPT_RT commit
Allow to collect all CPUs backtraces during a panic event and also to enable "panic_print" in a kdump event commit, commit, commit
- Scheduler
- io_uring
Add support for ring messages. A new IORING_OP_MSG_RING command allows an SQE to signal another ring. That allows either waking up someone waiting on the ring, or even passing a 64-bit value via the user_data field in the CQE commit, commit
Lots of workloads use multiple threads, in which case the file table is shared between them, getting and putting the ring file descriptor for each io_uring_enter(2) system call is more expensive, as it involves an atomic get and put for each call. Similarly to how io_uring allows registering normal file descriptors to avoid this overhead, this release adds support for an io_uring_register(2) API that allows to register the ring fds themselves (IORING_REGISTER_RING_FDS and IORING_UNREGISTER_RING_FDS commands) commit
Support for NAPI poll on sockets commit
Make statx API stable commit
rseq: Remove broken uapi field layout on 32-bit little endian commit
userfaultfd: provide unmasked address on page-fault commit
docs: add two texts covering regressions commit, commit, commit
- kbuild
Enable -Warray-bounds commit
Enable -Wzero-length-bounds commit
(FEATURED) Optimize scheduler build time commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Allow CONFIG_DEBUG_INFO_DWARF5=y + CONFIG_DEBUG_INFO_BTF=y commit, commit, commit, commit, commit
Enable -Werror by default on x86 commit
Remove '-mno-global-merge' from build flags as it causes warnings for UML, and it no longer appears to be necessary commit
Add --target to correctly cross-compile UAPI headers with Clang commit
objtool: Add --dry-run commit
Add new environment variables, USERCFLAGS and USERLDFLAGS to allow additional flags to be passed to user-space programs commit
3. File systems
- BTRFS
(FEATURED) Speedup directory logging/fsync, by avoiding logging dentries created in past transactions, which helps reducing a lot the amount of logged metadata, and therefore less IO as well for large directories (up to -90% run time) commit, commit, commit, commit
Speedup and avoid inode logging during rename/link (up to -60% run time) commit, commit, commit, commit, commit, commit
Prepare extents to be logged before locking a log tree path (throughput +7%) commit, commit, commit, commit, commit, commit
Stop copying old file extents when doing a full fsync commit, commit, commit, commit, commit, commit
(FEATURED) Encoded read/write ioctls, allows user space to read or write compressed raw data directly to extents, which avoids compression/recompression in some cases. Requires send tools that use the send/receive v2 ioctls commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Preparation for extent tree v2: global roots and block group root support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Implement metadata DUP for zoned mode commit, commit, commit, commit
checker: verify the transaction id of the to-be-written dirty extent buffer commit
- F2FS
Introduce F2FS_IPU_HONOR_OPU_WRITE ipu policy commit
Introduce F2FS_UNFAIR_RWSEM to support unfair rwsem commit
Support idmapped mounts commit
Add a sysfs entry to call checkpoint during fsync() in order to avoid long elapsed time to run roll-forward recovery when booting the device commit
Expose discard related parameters in sysfs commit
Introduce gc_urgent_mid mode commit
Remove obsolete whint_mode commit
- NFS
4.1 support for NFS4_RESULT_PRESERVER_UNLINKED, which tells the client that it does not need to do a silly rename of an opened file when it's being removed commit
Readdir improvements 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
Provide mount option to toggle discovery of trunking locations commit
Add support for the birth time attribute commit
- EXT4
- CEPH
- REISERFS
Deprecate reiserfs commit
4. Memory management
NUMA balancing: optimize memory placement for memory tiering system commit, commit, commit
Adds vmalloc tagging support for SW_TAGS and HW_TAGS KASAN modes 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
- kfence
- memcg
- DAMON
Memory management folio patches (get_user_pages, vmscan, start on the page cache, make readahead use large folios) 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, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Filesystem conversions to folio structures 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
Free the 2nd vmemmap page associated with each HugeTLB page commit, commit, commit, commit, commit
hwpoison-inject: support injecting hwpoison to free page commit
Rework of mlock+munlock page handling to massively reduce the contention on i_mmap_rwsem when many processes mlock the same file and exit commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
page_owner: Extend page_owner to show memcg information commit, commit, commit, commit
zswap: allow handling just same-value filled pages commit
Optimize list lru memory consumption commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
madvise: Add MADV_DONTNEED_LOCKED. Like DONTNEED, but drop locked pages too commit
Attempt to optimize and streamline the COW logic for ordinary anon pages and THP anon pages, fixing two remaining instances of CVE-2020-29374 in do_swap_page() and do_huge_pmd_wp_page(): information can leak from a parent process to a child process via anonymous pages shared during fork() commit, commit, commit, commit, commit, commit, commit, commit, commit
page_pool: Add stats counters commit, commit, commit, commit, commit
- tmpfs
- tools/vm/page_owner_sort.c
usercopy: Check valid lifetime via stack depth commit
5. Block layer
Add support for direct I/O with fscrypt using blk-crypto commit, commit, commit, commit, commit
Remove remaining parts of congestion tracking code commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for 64-bit data integrity in the block layer and in NVMe commit, commit, commit, commit, commit, commit, commit, commit
libnvdimm: Jettison block-aperture-window support commit, commit, commit, commit, commit, commit
scsi: target: Add iscsi/cpus_allowed_list in configfs commit
scsi_debug: Add no_rwlock parameter commit
scsi: Make "access_state" sysfs attribute always visible commit
Deprecate autoloading based on dev_t commit
- nvme
6. Tracing, perf and BPF
- perf
Add perf interface to expose nvdimm commit, commit, commit, commit
Introduce threaded trace streaming for basic perf record operation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
libperf: Add API for allocating new thread map array commit
ftrace latency: Add -n/--use-nsec option commit
perf lock: Add --synth=no option for record commit
perf lock: Add -F/--field option to control output commit
perf lock: Add -c/--combine-locks option commit
perf script: Add 'brstackinsnlen' for branch stacks commit
perf tools: Enhance the matching of sub-commands abbreviations commit
- BPF
Extend the interoperability with IMA, to give wider flexibility for the implementation of integrity-focused LSMs based on eBPF commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for transmitting packets using XDP in bpf_prog_run() commit, commit, commit, commit, commit
Add bpf_copy_from_user_task helper and sleepable bpf iterator programs commit, commit, commit, commit
Allow cgroup progs to export custom retval to userspace commit, commit, commit, commit
Adds new link type BPF_TRACE_KPROBE_MULTI that attaches kprobe program through fprobe API. The fprobe API allows to attach probe on multiple functions at once very fast, because it works on top of ftrace. On the other hand this limits the probe point to the function entry or return commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Light skeleton for the kernel that performs program loading and map creation tasks without libbpf commit, commit, commit, commit, commit
Enable non-atomic allocations in local storage commit
Batching iter for AF_UNIX sockets commit, commit, commit, commit, commit
Add __user tagging support in vmlinux BTF commit, commit, commit, commit, commit
Support BPF_PROG_QUERY for progs attached to sockmap commit
cgroup/bpf: fast path skb BPF filtering commit
- bpftool
Add BPF_TRACE_KPROBE_MULTI to attach type names table commit
Add C++-specific open/load/etc skeleton wrappers commit
Add bpf_cookie to link output commit
Implement BTFGen commit, commit, commit, commit, commit, commit, commit
Switch to new versioning scheme (align on libbpf's) commit, commit
Add support for subskeletons commit, commit, commit, commit, commit
Add support for BTF program names commit
Streamline netlink-based XDP APIs commit, commit, commit, commit
fprobe: Introduce fprobe function entry/exit probe commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- libbpf
- tracing
(FEATURED) New user_events interface. User space can register an event with the kernel describing the format of the event. Then it will receive a byte in a page mapping that it can check against. A privileged task can then enable that event like any other event, which will change the mapped byte to true, telling the user space application to start writing the event to the tracing buffer commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add new ftrace_boot_snapshot kernel command line parameter. When set, the tracing buffer will be saved in the snapshot buffer at boot up when the kernel hands things over to user space. This will keep the traces that happened at boot up available even if user space boot up has tracing as well commit
Allow custom events to be added to the tracefs directory commit
rtla: Improved tracing support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
7. Virtualization
vmgenid: notify RNG of VM fork and supply generation ID commit
Introduce akcipher service for virtio-crypto commit, commit, commit
KVM: mmu: Zap only obsolete roots on "reload" commit, commit, commit, commit, commit, commit
vdpa: add two ioctl commands to support generic vDPA commit, commit
hv: balloon: Support status report for larger page sizes commit
8. Cryptography
Introduce a new Linux kernel keyring containing the TPM's Machine Owner Keys (MOK) called machine. In the mok side, the MokListTrustedRT UEFI variable can be set, from which kernel knows that MOK keys are kernel trusted keys and they are populated to the machine keyring. This keyring linked to the secondary trusted keyring, which means that can be used like any kernel trusted keys. This keyring of course can be used to hold other MOK'ish keys in other platforms in future. See instructions here. commit, commit, commit, commit, commit, commit, commit, commit
dh: infrastructure for NVM in-band auth and FIPS conformance commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
KEYS: encrypted: Instantiate key with user-provided decrypted data commit
KEYS: remove support for asym_tpm keys commit
9. Security
- Random: Changes to the RNG's crypto, the intent for 5.18 has been to shore up the existing design as much as possible with modern cryptographic functions and proven constructions, rather than actually changing up anything fundamental to the RNG's design. So it's still the same old RNG at its core as before: it still counts entropy bits, and collects from the various sources with the same heuristics as before, and so forth. However, the cryptographic algorithms that transform that entropic data into safe random numbers have been modernized
Use RDSEED when we can rather than using RDRAND, and make sure RDRAND/RDSEED input always goes through the mixer rather than being xor'd into our state directly, in part in order to prevent ridiculous hypothetical cpu backdoors commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Use computational hash for entropy extraction commit, commit, commit, commit, commit
Treat bootloader trust toggle the same way as cpu trust toggle commit
Give sysctl_random_min_urandom_seed a more sensible value commit
Do not allow user to keep crng key around on stack commit
(FEATURED) Strict compile-time buffer size checking under FORTIFY_SOURCE for the memcpy()-family of functions commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
audit: log AUDIT_TIME_* records only from rules commit
overflow: Implement size_t saturating arithmetic helpers commit
usercopy: Disable CONFIG_HARDENED_USERCOPY_PAGESPAN (will be replaced) commit
10. Networking
Introduce XDP multi-buffer support, allowing the use of XDP with jumbo frame MTUs and combination with Rx coalescing offloads (LRO) commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- TCP
Make hash rethink configurable commit, commit, commit, commit, commit
Add new protocol attribute to IPv4 and IPv6 addresses. Inspiration was taken from the protocol attribute of routes. User space applications like iproute2 can set/get the protocol with the Netlink API. Scenarios where you want to distinguish between addresses coming from a specific protocol like DHCP and addresses that have been statically set commit
Allow SO_MARK with CAP_NET_RAW via cmsg commit
- bonding
- Bridge
ip6_tunnel: allow routing IPv4 traffic in NBMA mode commit
ip6mr: add support for passing full packet on wrong mif commit
Speedup namespace dismantles commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
IPv4: Namespaceify min_adv_mss sysctl knob commit
IPv4: Reject again rules with high DSCP values commit
IPv6: remove requirement about the netns loopback device being the last device being dismantled commit, commit, commit, commit
- Wireless
HW counters for soft devices commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
drop_monitor: support drop reason commit
- DSA
Replay and offload host VLAN entries commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Unicast filtering commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
FDB isolation commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
FDB entries on DSA LAG interfaces commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- ethtool
flow_dissector: Add support for High-availability Seamless Redundancy commit, commit
geneve: support IPv4/IPv6 as inner protocol commit
macvtap: advertise link netns via netlink commit
MCTP tag control interface commit, commit, commit, commit, commit
- mptcp
Add SO_SNDTIMEO socket option commit, commit, commit, commit, commit, commit, commit, commit
Improve set-flags command commit, commit, commit, commit, commit, commit, commit, commit, commit
Advertisement reliability improvement commit, commit, commit, commit, commit, commit, commit, commit, commit
Send ADD_ADDR echo before create subflows commit
- netfilter
Add unstable conntrack lookup helpers using BPF kfunc support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
conntrack: mark UDP zero checksum as CHECKSUM_UNNECESSARY commit
conntrack: revisit gc autotuning commit
exthdr: add support for tcp option removal commit
nfqueue: enable to get skb->priority commit
openvswitch: IPv6: Add IPv6 extension header support commit
ping6: support basic socket cmsgs commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
ping6: support setting basic SOL_IPV6 options via cmsg commit, commit, commit, commit, commit
rfkill: make new event layout opt-in commit
vxlan metadata device vnifiltering support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- Bluetooth
route: Generate netlink notification when default IPv6 route preference changes commit
SUNRPC: Teach server to recognize RPC_AUTH_TLS authentication commit
- sched
Set default rss queues num to physical cores / 2 commit
- SMC
tun: support NAPI for packets received from batched XDP buffs commit
Introduce xdp frags support to veth driver commit, commit, commit
vxcan: enable local echo for sent CAN frames commit
11. Architectures
11.1. ARM
- Device Tree Sources
New SoCs
Airoha (formerly Mediatek/EcoNet) EN7523 networking SoC and EVB commit, commit
Mediatek mt6582 tablet platform with the Prestigio PMT5008 3G tablet commit
Microchip Lan966 networking SoC and it evaluation board commit
Qualcomm Snapdragon 625/632 midrange phone SoCs, with the LG Nexus 5X and Fairphone FP3 phones commit, commit
Renesas RZ/G2LC and RZ/V2L general-purpose embedded SoCs, along with their evaluation boards commit, commit, commit, commit, commit
Samsung Exynos 850 phone SoC and reference board commit, commit
Samsung Exynos7885 with the Samsung Galaxy A8 (2018) phone commit
Tesla FSD (Fully Self-Driving), an automotive SoC loosely derived from the Samsung Exynos family commit, commit, commit, commit, commit, commit, commit, commit, commit
Add initial support for the i.MXRTxxxx SoC family commit
- New machines
Allwinner: A20-Marsboard development board commit
- Amlogic
Arm Juno: Separate DT depending on SCMI firmware version commit
- Aspeed
Broadcom: Raspberry Pi Zero 2 W commit
- Marvell MVEBU/Armada:
- Mstar
NXP i.MX: Numerous i.MX8M Mini based boards in even more variations: Protonic PRT8MM, emCON-MX8M Mini, Toradex Verdin, and Gateworks GW7903 commit, commit, commit, commit
- Qualcomm
TI OMAP: SanCloud BeagleBone Enhanced WiFi commit
- Rockchip
Add initial support for Prestigio PMT5008 3G tablet commit
arria5: add board compatible for SoCFPGA DK commit
Add support for the Wireless Tag IDO-SBC2D06-V1B-22W, an ultra-small SOM module based on SigmaStar SSD201/SSD202 SoC (ARM Cortex A7 core) commit
meson: add common SM1 ac2xx dtsi for Android STB devices based on the Amlogic S905X3 (AC213/AC214) and S905D3 (AC201/AC202) reference designscommit
- qcom
arria10: add board compatible for Mercury AA1 commit and FPGA DK commit
agilex: add board compatible for N5X DK commit and for SoCFPGA DK commit
stratix10: add board compatible for SoCFPGA DK commit
amd-seattle: remove Husky platform commit
Add QEMU virt machine compatible commit
Adds a basic driver for the PLL that generates the cpu clock on MStar/SigmaStar ARMv7 SoCs commit, commit, commit, commit, commit, commit, commit
ixp4xx: Delete Gateway 7001 boardfiles commit, delete the Goramo MLR boardfile commit, drop all common code commit
pxa: remove Intel Imote2 and Stargate 2 boards commit
Implementing IRQ stacks and vmap'ed stacks for all 32-bit ARM systems that are currently supported, including RiscPC and Footbridge 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
Remove support for NOMMU ARMv4/v5 commit
- ftrace
Add gcc Shadow Call Stack support commit
mte: Remove asymmetric mode from the prctl() interface commit
- soc
at91: add support in soc driver for new SAMA5D29 commit
drivers/perf: CPU PMU driver for Apple M1 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- firmware: arm_scmi
Introduce atomic support for SCMI transports commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add optee transport commit
Add SCMI Virtio & Clock atomic support commit, commit, commit, commit, commit, commit, commit
arm_scmi: Make virtio Version_1 compliance optional commit
xilinx: Add sysfs support for feature config commit
- ARM64
Support PREEMPT_DYNAMIC with static keys commit, commit, commit, commit, commit, commit, commit
Emulate the OS Lock commit, commit, commit, commit, commit, commit
mte: Asymmetric MTE support in userspace commit, commit, commit, commit
Add part number for Arm Cortex-A78AE commit
Support of PAuth QARMA3 architected algorithm commit, commit, commit
Import Arm Optimized Routines str{n}cmp functions commit, commit
Accelerate crc32_be commit
mte: add core dump support commit, commit, commit, commit, commit
random: implement arch_get_random_int/_long based on RNDR commit
Enable kfunc call commit
KVM: Improve PMU support on heterogeneous systems commit, commit, commit, commit, commit, commit
perf jevents: Add support for HiSilicon CPA PMU aliasing commit
perf: Expose some Armv9 common events under sysfs commit
11.2. X86
(FEATURED) Add support for Intel CET-IBT (Indirect Branch Tracking), a hardware support course-grain forward-edge Control Flow Integrity protection. It enforces that all indirect calls must land on an ENDBR instruction, as such, the compiler will instrument the code with them to make this happen 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
Re-enable ENQCMD and PASID (Process Address Space ID) MSR. See the documentation here commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
rethook: Replace kretprobe trampoline with rethook commit, commit, commit, commit
PPIN (Protected Processor Inventory Number) updates commit, commit, commit, commit, commit
- platform
chrome: Add driver for ChromeOS privacy-screen commit
uncore-freq: Enhance HW interface commit, commit, commit, commit
Add AMD system management interface commit
amd-pmc: Add support for AMD Spill to DRAM STB feature commit
gigabyte-wmi: added support for B660 GAMING X DDR4 motherboard commit
hp-wmi: support omen thermal profile policy v1 commit
Support Spi in i2c-multi-instantiate driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
think-lmi: Certificate authentication support commit
thinkpad_acpi: Add PSC mode support commit
thinkpad_acpi: Add dual fan probe commit
x86-android-tablets: Add Lenovo Yoga Tablet 2 830 / 1050 data commit
x86-android-tablets: Add Nextbook Ares 8 data commit
x86-android-tablets: Add battery swnode support commit
x86-android-tablets: Lenovo Yoga Tablet 2 830/1050 sound support commit
surface: gpe: Add support for Surface Pro 8 commit
- perf
Add Intel Raptor Lake support commit, commit, commit, commit
Add SAPPHIRERAPIDS_X CPU support commit
Add support for event tracing and TNT disabling 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
Update Intel events and metrics 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
- KVM
Allow SEV intra-host migration of VM with mirrors commit
SVM: nSVM: Implement Enlightened MSR-Bitmap for Hyper-V-on-KVM commit, commit, commit, commit
SVM: Allow AVIC support on system w/ physical APIC ID > 255 commit
Introduce KVM_CAP_DISABLE_QUIRKS2 commit
Provide per VM capability for disabling PMU virtualization commit, commit, commit
Disable HAVE_ARCH_HUGE_VMALLOC on 32-bit x86 commit
mce: Remove the tolerance level control, not needed commit
crypto: accelerated implementation for SM3 algorithm commit, commit, commit, commit, commit, commit
11.3. RISCV
Improve RISC-V Perf support using SBI PMU and sscofpmf extension commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for restartable sequence commit
CPU Idle Support commit, commit, commit, commit, commit, commit, commit, commit
Provide a framework for RISC-V ISA extensions commit, commit, commit, commit, commit, commit
SBI v0.3 support commit, commit, commit, commit, commit, commit
11.4. MIPS
Malta: Enable BLK_DEV_INITRD commit
ath79: add support for QCN550x commit
Remove TX39XX support commit
11.5. POWERPC
Implement livepatch on PPC32 and more commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
papr_scm: Implement initial support for injecting smart errors commit
Enable VAS and NX-GZIP support on powerVM commit, commit, commit, commit, commit, commit, commit, commit, commit
Add link stack flush mitigation status in debugfs commit
11.6. S390
KVM: Check keys when emulating instructions and let user space do key checked accesses. User space can do so via an extension of the MEMOP IOCTL commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable sysfs attribute scans to force AP bus rescan commit
nospec: add an option to use thunk-extern commit
- zcrypt
11.7. XTENSA
Add kernel ABI selection to Kconfig commit
Make secondary reset vector support conditional commit
Enable GCC plugin support commit
11.8. PARISC
Add vDSO support commit
11.9. UM
Allow setting path to port-helper using UML_PORT_HELPER envvar commit
11.10. NDS32
Remove architecture, no longer maintained commit
12. Drivers
12.1. Graphics
Add support for nomodeset to a lot of drm drivers commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- fbdev
- amdgpu
Enable freesync video mode by default commit
Expose benchmark tests via debugfs, drop benchmark and testing module parameter commit, commit, commit
Add a new CTX ioctl operation to set stable pstates for profiling commit
Improve VRAM access for debug using SDMA commit
- GC 10.3.7, SDMA 5.2.7, DCN 3.1.6 updates
Add module param to disable XGMI for testing commit
GPU reset debugfs register dumping support commit
Drop experimental flag on aldebaran commit
amdkfd CRIU support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Enable sysfs required by rocm-smi tool for One VF mode commit
Enable amdgpu_dc module parameter commit
- Intel
ADL-N platform enabling commit
DG2-G12 subplatform added commit
DG2 accelerated migration support commit
Prepare for Xe_HP compute engines commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Initial small BAR support commit, commit, commit, commit, commit, commit, commit
Drop fake LMEM support commit
ADL-N PCH support commit
Async flip optimisation for DG2 commit, commit, commit, commit
GuC 69.0.3 support commit
Register per-crtc debugfs files commit
opregion: add support for mailbox #5 EDID commit
Dump hw.enable and pipe_mode commit
- bridge
- panel
panel-edp: Add eDP sharp panel support commit
panel-edp: Allow querying the detected panel via debugfs commit
nt35560: Support also ACX424AKM commit
nt35560: Support more panel IDs commit
simple: add Multi-Inno Technology MI0700S4T-6 commit
panel-edp: Add panels planned for sc7180-trogdor-pazquel commit
- simpledrm
Add "panel orientation" property on non-upright mounted LCD panels commit
- msm
Add SET_PARAM ioctl commit
Add DisplayPort controller for SM8350 commit
dpu + dsi support for qcm2290 commit
10nm dsi phy tuning support commit
Gpu support for additional 7c3 SKUs commit
Add Add a way for userspace to specify the sequence number fence used to track completion of the submit commit
Add SYSPROF param (v2) commit
- ingenic
- ast
- vc4
Add CSC + full range support commit
- panfrost
Add initial dual-core GPU support commit
- stm
New revision support commit
- tegra
- rcar-du
LVDS support for M3-W+ (R8A77961) commit
- exynos
BGR pixel format for FIMD device commit
- mediatek
Allow commands to be sent during video mode commit
- edid
- nouveau
tiny: Add MIPI DBI compatible SPI driver commit, commit, commit, commit, commit
vkms: add support for multiple overlay planes commit, commit, commit
Add driver for Solomon SSD130x OLED displays commit, commit, commit, commit, commit, commit
12.2. Power Management
Thermal: Introduce the Hardware Feedback Interface for thermal and performance management commit, commit, commit, commit, commit, commit, commit
- ACPI
cpupower: Add AMD P-State Support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- thermal
Add tracer tool for AMD P-State driver commit, commit, commit, commit
- intel-speed-select
12.3. Storage
- nvmem
- scsi
pmcraid: Remove the PMCRAID_PASSTHROUGH_IOCTL ioctl implementation commit
ufs: ufs-pci: Add support for Intel MTL commit
mvsas: Add PCI ID of RocketRaid 2640 commit
qla2xxx: Add ql2xnvme_queues module param to configure number of NVMe queues commit
smartpqi: Add PCI IDs commit
smartpqi: Enable SATA NCQ priority in sysfs commit
smartpqi: Speed up RAID 10 sequential reads commit
12.4. Drivers in the Staging area
meson: vdec: add VP9 support to GXM commit
iio:adc:ad7280a: Move out of staging commit
media: hantro: Add support for i.MX8MM Hantro-G1 commit
media: hantro: jpeg: Various improvements commit, commit, commit, commit, commit, commit, commit
media: imx: imx7-media-csi: add support for imx8mq commit
media: staging: media: zoran: add debugfs commit, rename debug module parameter commit, remove procfs commit
media: staging: tegra-vde: De-stage driver commit, Remove legacy UAPI support commit, Support V4L stateless video decoder API commit
pi433: add debugfs interface commit
Remove ashmem commit
wfx: allow new PDS format commit
drop fpgaboot driver commit
12.5. Networking
Add dm9051 driver commit
- Bluetooth
hci_h5: btrtl: Add support for RTL8822CS hci_ver 0x08 commit, commit
btrtl: Add support for RTL8852B commit
btusb: Add a new PID/VID 13d3/3567 for MT7921 commit
btusb: Add another Realtek 8761BU commit
btusb: Add missing Chicony device for Realtek RTL8723BE commit
btusb: Add one more Bluetooth part for the Realtek RTL8852AE commit
btusb: Add support for Intel Madison Peak (MsP2) device commit
btusb: add support for LG LGSBWAC02 (MT7663BUN) commit
hci_bcm: Add the Asus TF103C to the bcm_broken_irq_dmi_table commit
hci_bcm: add BCM43430A0 & BCM43430A1 commit
mt7921s: Add WBS support commit
mt7921s: Enable SCO over I2S commit
mt7921s: Support wake on bluetooth commit
mt7921s: support bluetooth reset mechanism commit
RDMA: irdma: Add support for address handle re-use commit
- ath11k
ath6kl: add device ID for WLU5150-D81 commit
axienet: commit, commit, commit, commit, commit, commit, commit
bnxt_en: Add driver support to use Real Time Counter for PTP commit, commit
- brcmfmac
- can
gs_usb: add CAN-FD support commit
gs_usb: add VID/PID for ABE CAN Debugger devices commit
gs_usb: add VID/PID for CES CANext FD devices commit
gs_usb: support up to 3 channels per device commit
mcp251xfd: ethtool: add support commit
mcp251xfd: ram: coalescing support commit
mcp251xfd: ring: add support for runtime configurable RX/TX ring parameters commit, commit
rcar_canfd: Add support for r8a779a0 SoC commit
- dpaa2
Add support for software TSO commit, commit, commit, commit, commit, commit, commit
Add support for changing the protocol at runtime commit, commit, commit, commit, commit, commit, commit, commit
Mirroring for Ocelot switches commit, commit, commit, commit, commit, commit
lantiq_gswip: enable jumbo frames on GSWIP commit
microchip: add ksz8563 to ksz9477 I2C driver commit
microchip: ksz9477: implement MTU configuration commit
mv88e6xxx: Improve standalone port isolation commit, commit, commit, commit, commit
mv88e6xxx: Improve indirect addressing performance commit, commit
mv88e6xxx: make serdes SGMII/Fiber tx amplitude configurable commit
mv88e6xxx: support RMII cmode commit
Add support for qca8k mdio rw in Ethernet packet commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Basic QoS classification on Felix DSA switch using dcbnl commit, commit, commit
realtek: MDIO interface and RTL8367S,RTL8367RB-VB commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
realtek: rtl8365mb: add support for rtl8_4t tag commit, commit, commit
sja1105: support switching between SGMII and 2500BASE-X commit
enetc: report software timestamping via SO_TIMESTAMPING commit
fsl: xgmac_mdio: Preamble suppression and custom MDC frequencies commit, commit, commit, commit, commit
Add new Fungible Ethernet driver commit, commit, commit, commit, commit, commit, commit, commit
ice: GTP support in switchdev commit, commit, commit, commit, commit, commit, commit
hns3: add support for TX push mode commit
- i40e
iavf: Add support for 50G/100G in AIM algorithm commit
- ice
igb: zero hwtstamp by default commit
ionic: updates for stable FW recovery commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- iwlwifi
Configure FW debug preset via module param commit
Add support for BZ-U and BZ-L HW commit
Advertise support for HE - DCM BPSK RX/TX commit
Add support for 1K BA queue commit
Add support for CT-KILL notification version 2 commit
Add support for IMR based on platform commit
Remove cipher scheme support commit
Support new BAID allocation command commit
Support v3 of station HE context command commit
Add support for MS devices commit
Support new queue allocation command commit
yoyo: add IMR DRAM dump support commit
yoyo: support dump policy for the dump size commit
ixgbe: add the ability for the PF to disable VF link state commit
ixgbevf: add disable link state commit
- lan743x
PCI11010 / PCI11414 devices commit, commit, commit, commit, commit
PCI11010 / PCI11414 devices Enhancements commit, commit, commit, commit, commit
lan966x: Add PTP Hardward Clock support commit, commit, commit, commit, commit, commit, commit
lan966x: add support for mcast snooping commit, commit, commit
Improve the CPU TX bitrate commit
Allow offloading timestamp operations to the PHY commit
- mac80211_hwsim
macb: Cadence MACB/GEM support for ZynqMP SGMII commit, commit, commit
mana: Add XDP counters, reuse dropped pages commit, commit, commit
marvell: prestera: add basic routes offloading commit, commit, commit
mctp i2c: MCTP I2C binding driver commit
- mlx5
Add mlx5 live migration driver and v2 migration protocol commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Add command failures data to debugfs commit
Add debugfs counters for page commands failures commit
Add pages debugfs commit
Add support for configuring max device MTU commit
Add support for ConnectX-7 steering commit
Add support for matching on Internet Header Length (IHL) commit
mlx5e: XDP multi buffer support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- mlxsw:
mdio: mscc-miim: add lan966x internal phy reset support commit
- mt76
Improve signal strength reporting commit
mt7615: add support for LG LGSBWAC02 (MT7663BUN) commit
mt7615: introduce SAR support commit
Add mt7916 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
mt7915: add support for MT7986 commit
mt7915: add support for passing chip/firmware debug data to user space commit
mt7915: Introduce background radar support commit, commit, commit, commit, commit, commit
mt7915: introduce 802.11ax multi-bss support commit
mt7915: set bssinfo/starec command when adding interface commit
mt7915e: Add a hwmon attribute to get the actual throttle state commit
mt7915e: Enable thermal management by default commit
Introduce mt7921u driver commit, commit, commit, commit, commit, commit, commit, commit, commit
mt7921: toggle runtime-pm adding a monitor vif commit
mvneta: Add support for 98DX2530 Ethernet port commit
netdevsim: Introduce support for L3 offload xstats commit
- nfp
Add AF_XDP zero-copy support commit, commit, commit, commit, commit
flow-independent tc action hardware offload commit, commit, commit, commit, commit, commit
Support for NFP-3800 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Preliminary support for NFP-3800 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- octeontx2
- phy
prestera: acl: add multi-chain support offload commit
r8169: support L1.2 control on RTL8168h commit
rtlwifi: rtl8192cu: Add On Networks N150 commit
- rtw88
Switch WiFi to 1ss mode to get better experience with BT HID gaming device commit, commit, commit, commit, commit, commit
rtw8821c: enable rfe 6 devices commit
Support hw_scan and tx_wake firmware features commit, commit
Add RX counters of VHT MCS-10/11 to debugfs commit
Preparation of RFK helpers, 6G and 160M changes to support new chip commit, commit, commit, commit, commit, commit
Support AP mode commit, commit, commit, commit, commit, commit, commit
Get channel parameters of 160MHz bandwidth commit
sfc: set affinity hints in local NUMA node only commit
- sparx5
- stmmac
typhoon: implement ndo_features_check method commit
usb: ax88179_178a: add Allied Telesis AT-UMCs commit
wcn36xx: Add SNR reporting via get_survey() commit
wwan: iosm: Enable M.2 7360 WWAN card support commit
xpcs: add support for retrieving supported interface modes commit
12.6. Audio
- HDA
Adds new HW variants for Dell's Dolphin and Warlock commit, commit, commit, commit, commit, commit
Add HDMI codec VID for Raptorlake-P commit
Add keep-alive support for ADL-P and DG2 commit
realtek: Add mute and micmut LED support for Zbook Fury 17 G9 commit
realtek: Add quirk for Clevo NP70PNJ commit
realtek: Add support for HP Laptops commit
realtek: Enable headset mic on Lenovo P360 commit
tegra: Add Tegra234 hda driver support commit
Add AlderLake-PS variant PCI ID commit
Add PCI and HDMI IDs for Intel Raptor Lake commit
intel-dspconfig: add ES8336 support for CNL commit
scarlett2: Add "Standalone" switch commit
usb-audio: Add mute TLV for playback volumes on RODE NT-USB commit
soundwire: qcom: add pm runtime support commit, commit, commit
- ASoC
Intel: AVS - Audio DSP for cAVS commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Intel: add RT1308 I2S machine driver and HDMI-in capture via I2S support commit
Intel: cirrus-common: support cs35l41 amplifier commit
Intel: soc-acpi-byt: Add new WM5102 ACPI HID commit
Intel: improve support for ES8336-based platforms commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Intel: sof_rt5682: add two derivative options commit, commit
Make the SOF control, PCM and PM code IPC agnostic commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
Intel: pci-tgl: add RPL-S support commit
IPC client infrastructure commit, commit, commit, commit, commit, commit, commit, commit, commit
Add support for TAS5805M digital amplifier commit
amd: acp-legacy: Add legacy card support for new machines commit
amd: acp: Add generic PDM and PCI driver support for ACP commit, commit, commit, commit, commit, commit
amd: sof-mach: Add support for RT5682S and RT1019 card commit
Add Euro Headset support for wcd938x codec commit
codecs: Add Awinic AW8738 audio amplifier driver commit
Add power domains support for digital macro codecs commit
fsl_sai: implement 1:1 bclk:mclk ratio support commit
Add support for audio on SC7280 based targets commit, commit, commit, commit, commit, commit, commit, commit, commit
Machine driver to support LPASS SC7280 sound card registration commit, commit, commit
rk3399_gru_sound: Wire up DP jack detection commit
sun4i-i2s: Add support for the R329/D1 variant commit
tegra: Update AHUB driver for Tegra234 commit
tlv320adc3xxx: Add IIR filter configuration commit
12.7. Tablets, touch screens, keyboards, mouses
Add Imagis touchscreen driver commit
mt6779-keypad: add MediaTek keypad driver commit
mtk-pmic-keys: add support for MT6358 commit
soc_button_array: add support for Microsoft Surface 3 (MSHW0028) buttons commit, commit
synaptics: enable InterTouch on ThinkPad T14/P14s Gen 1 AMD commit
tsc200x: add axis inversion and swapping support commit
- HID
Add driver for Razer Blackwidow keyboards commit
Add SiGma Micro driver commit
apple: Add fn mapping for MacBook Pros with Touch Bar commit
apple: Add necessary IDs and configuration for T2 Macs commit
apple: Add support for keyboard backlight on certain T2 Macs commit
apple: Magic Keyboard first generation and 2015 FN key mapping commit, commit, commit
apple: Report Magic Keyboard 2021 battery over USB commit
apple: Report Magic Keyboard 2021 with fingerprint reader battery over USB commit
google: Add support for vivaldi to hid-hammer commit
uclogic: Support Huion 13th frame button commit
uclogic: Support Huion tilt reporting commit
uclogic: Support multiple frame input devices commit
12.8. TV tuners, webcams, video capturers
Add a driver for the og01a1b camera sensor commit
amphion video decoder/encoder driver commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
atmel: atmel-isc: implement media controller commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
CAMSS: Add SM8250 support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
hi847: Add support for Hi-847 sensor commit
i2c: Add ov08d10 camera sensor driver commit
i2c: dw9714: add optional regulator support commit
i2c: isl7998x: Add driver for Intersil ISL7998x commit
imx: De-stage imx7-mipi-csis commit, commit, commit, commit, commit, commit, commit
Support multi hardware decode using of_platform_populate commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
stkwebcam: add new Asus laptop to upside_down table commit
uvcvideo: Add support for Apple T2-attached FaceTime HD Camera commit
12.9. Universal Serial Bus
quirks: add a Realtek card reader commit
serial: cp210x: add PIDs for Kamstrup USB Meter Reader commit
serial: option: add Telit 0x1057, 0x1058, 0x1075 compositions commit
serial: option: add support for Cinterion MV32-WA/MV32-WB commit
serial: pl2303: add IBM device IDs commit
serial: simple: add Nokia phone driver commit
dwc3: drd: Add support for usb-conn-gpio based usb-role-switch commit
i.MX8MP: more USB3 glue layer feature support commit, commit, commit, commit
dwc3: pci: Add support for Intel Alder Lake commit
ehci: add pci device support for Aspeed platforms commit
- gadget: Add configfs HS/SS bInterval
gadget: f_uac2: Add HS/SS bInterval to configfs commit, commit, commit, commit
gadget: f_mass_storage: Make CD-ROM emulation work with Mac OS-X commit
gadget: audio: Multiple rates, notify commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
gadget: f_uac1: allow changing interface name via configfs commit
gadget: f_uac2: allow changing interface name via configfs commit
misc: eud: Add driver support for Embedded USB Debugger(EUD) commit
typec: Support the WUSB3801 port controller commit
typec: rt1719: Add support for Richtek RT1719 commit
ulpi: Add debugfs support commit
xhci-mtk: add support ip-sleep wakeup for mt8195 commit
xhci and hub features commit, commit, commit, commit, commit, commit, commit, commit, commit
serial: option: add Fibocom L610 modem commit
serial: option: add Fibocom MA510 modem commit
serial: qcserial: add support for Sierra Wireless EM7590 commit
serial: pl2303: add device id for HP LM930 Display commit
serial: pl2303: add device id for HP LM930 Display commit
12.10. Serial Peripheral Interface (SPI)
Add compatible for MT7986 commit
Add spi driver for Sunplus SP7021 commit
amd: Add support for version AMDI0062 commit
- auxdisplay: Add support for the Titanmec TM1628 7 segment display controller
intel: Add support for Raptor Lake-S SPI serial flash commit
mediatek: add ipm design support for MT7986 commit
External ECC engines & Macronix support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
pxa2xx: Add support for Intel Raptor Lake PCH-S commit
s3c64xx: Add spi port configuration for Tesla FSD SoC commit
spi-mtk-nor: add new soc mt8186 support commit
Tegra QUAD SPI combined sequence mode commit, commit, commit, commit
12.11. Watchdog
aspeed: add nowayout support commit
ixp4xx: Implement restart commit
max77620: Add support for the max77714 variant commit
orion_wdt: support pretimeout on Armada-XP commit
renesas_wdt: Add R-Car Gen4 support commit
sp5100_tco: Enable Family 17h+ CPUs commit
12.12. Serial
8250_bcm2835aux: Add ACPI support commit
mvebu-uart: Support for higher baudrates commit, commit, commit, commit, commit, commit
sunplus-uart: Add Sunplus SoC UART Driver commit
atmel: add earlycon support commit
samsung: Add ARTPEC-8 support commit
12.13. CPU Frequency scaling
qcom-hw: Add support for per-core-dcvs commit
12.14. Voltage, current regulators, power capping, power supply
Introduce "opp-microwatt" and Energy Model from DT commit, commit, commit, commit, commit
AB8500 charging commit, commit, commit, commit, commit, commit
Introduces bypass charge type property commit, commit, commit
power: supply: Add a driver for Injoinic power bank ICs commit
power: supply: bq24190 updates + new ug3105 driver commit, commit, commit, commit, commit, commit, commit, commit
power-suppy/i2c/extcon: Fix charger setup on Xiaomi Mi Pad 2 and Lenovo Yogabook commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
regulator: Add support for TPS6286x commit
Add Richtek RT5190A PMIC support commit
regulator: qcom-rpmh: Add support for SDX65 commit
12.15. Real Time Clock (RTC)
Add new RTC_FEATURE_ALARM_WAKEUP_ONLY feature commit
max77686: Add MAX77714 support commit
optee: add RTC driver for OP-TEE RTC PTA commit
sun6i: Add Allwinner H616 support commit
sun6i: Add support for broken-down alarm registers commit
sun6i: Add support for linear day storage commit
12.16. Pin Controllers (pinctrl)
Add driver for Sunplus SP7021 commit
Add pinctrl driver on mt8186 commit
alderlake: Add Intel Alder Lake-N pin controller support commit
alderlake: Add Raptor Lake-S ACPI ID commit
bcm: add driver for BCM4908 pinmux commit
icelake: Add Ice Lake-N PCH pin controller support commit
imx93: Add pinctrl driver support commit
nuvoton: Add driver for WPCM450 commit
ocelot: Add support for ServalT SoC commit
qcom-pmic-gpio: Add support for pm8450 commit
qcom: Introduce sc8280xp TLMM driver commit
qcom: sm8450: Add egpio support commit
qcom: spmi-mpp: Add PM8226 compatible commit
12.17. Multi Media Card (MMC)
Add driver for LiteX's LiteSDCard interface commit
sdhci-tegra: Enable wake on SD card event commit
sdhci_am654: Add Support for TI's AM62 SoC commit
sunxi-mmc: Add D1 MMC variant commit
12.18. Memory Technology Devices (MTD)
mchp23k256: Add SPI ID table commit
mchp48l640: Add SPI ID table commit
External ECC engines & Macronix 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
BCMA support for brcmnand commit, commit, commit, commit, commit, commit, commit, commit, commit
rawnand: stm32_fmc2: Add NAND Write Protect support commit
12.19. Industrial I/O (iio)
afe: add temperature rescaling support commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
accel: add ADXL367 driver commit
accel: adxl345: Add ACPI HID table commit
accel: st_accel: Add support for Silan SC7A20 commit
amplifiers: ada4250: add support for ADA4250 commit
dac: add support for ltc2688 commit
frequency: admv1014: add support for ADMV1014 commit
frequency: admv4420.c: Add support for ADMV4420 commit
humidity: hdc100x: Add ACPI HID table commit
potentiometer: ds1803: Add support for Maxim DS3502 commit
pressure: dps310: Add ACPI HID table commit
proximity:sx9324: Add SX9324 support commit
proximity:sx9360: Add sx9360 support commit
temperature: iqs620at-temp: Add support for V3 silicon commit
12.20. Multi Function Devices (MFD)
ab8500: Drop debugfs module commit
arizona-spi: Add Android board ACPI table handling commit
intel-lpss: Add Intel Raptor Lake PCH-S PCI IDs commit
max77714: Add driver for Maxim MAX77714 PMIC commit
rk808: Add reboot support to rk808.c commit
12.21. Pulse-Width Modulation (PWM)
jz4740: Add support for X1000 SoC commit
12.22. Inter-Integrated Circuit (I2C + I3C)
Introduce common module to instantiate CCGx UCSI commit
designware: Add AMD PSP I2C bus support commit
i3c: support dynamically added i2c devices commit
i801: Add support for Intel Raptor Lake PCH-S commit
i801: Add support for the Process Call command commit
mediatek: Add i2c compatible for Mediatek MT8168 commit
piix4: Enable EFCH MMIO for Family 17h+ commit
rcar: Add R-Car Gen4 support commit
12.23. Hardware monitoring (hwmon)
Add "label" attribute commit
adm1275: Add sample averaging binding support commit
aquacomputer_d5next: Add support for Aquacomputer Farbwerk 360 commit
asus-ec-sensors: add CPU core voltage commit
asus-ec-sensors: add driver for ASUS EC commit
asus_wmi_ec_sensors: Support T_Sensor on Prime X570-Pro commit
asus_wmi_sensors: add ASUS ROG STRIX B450-F GAMING II commit
sch5627: Add pwmX_auto_channels_temp attributes commit, commit
Add driver for Texas Instruments TMP464 and TMP468 commit
Deprecate asis_wmi_ec_sensors driver commit
sy7636a: Add temperature driver for sy7636a commit
lm70: Add ti,tmp125 support commit
max6639: Add regulator support commit
mlxreg-fan: Use pwm attribute for setting fan speed low limit commit
nct6775: add ASUS Pro B550M-C/PRIME B550M-A commit
nct6775: add ASUS ROG STRIX Z390/Z490/X570-* / PRIME X570-P commit
occ: Add various poll response data in sysfs commit, commit, commit, commit
pmbus/lm25066: Add regulator support commit
powr1220: Add support for Lattice's POWR1014 power manager IC commit
tc654: Add thermal_cooling device support commit
xdpe12284: Add regulator support commit
xdpe12284: Add support for xdpe11280 commit
12.24. General Purpose I/O (gpio)
12.25. Leds
pca955x: Allow zero LEDs to be specified commit
12.26. DMA engines
12.27. Hardware Random Number Generator (hwrng)
Introduce rng_quality sysfs attribute commit
12.28. Cryptography hardware acceleration
atmel: add support for AES and SHA IPs available on lan966x SoC commit
atmel-tdes: Add support for the TDES IP available on sama7g5 SoC commit
hisilicon/sec: add the register configuration for HW V3 commit
octeontx2: add synchronization between mailbox accesses commit
qat: enable power management for QAT GEN4 commit
xilinx: Add Xilinx SHA3 driver commit
12.29. PCI
P2PDMA: Add Intel 3rd Gen Intel Xeon Scalable Processors to whitelist commit
Support BAR sizes up to 8TB commit
aardvark: Add support for PME interrupts commit
aardvark: Enable MSI-X support commit
fu740: Force 2.5GT/s for initial device probe commit
Extends pci-bridge-emul driver to emulate PCI Subsystem Vendor ID capability and PCIe extended capabilities. And then implement in pci-mvebu.c driver support for PCI Subsystem Vendor IDs, PCIe AER registers, support for legacy INTx interrupts, configuration for X1/X4 mode and usage of new PCI child_ops API commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom: Add SM8450 PCIe support commit
Introduce UniPhier NX1 PCI endpoint controller support commit, commit
12.30. FRU Support Interface (FSI)
12.31. Clock
clk-apple-nco: Add driver for Apple NCO commit
clocksource: Add a Kconfig option for WATCHDOG_MAX_SKEW commit
cs2000-cp: add dynamic mode and more features commit, commit, commit, commit, commit, commit, commit, commit, commit
imx: Add imx8dxl clk driver commit
imx: Add initial support for i.MXRT1050 clock driver commit
Add i.MX93 clk bindings and driver commit, commit, commit, commit, commit
imx: pll14xx: Support dynamic rates commit, commit, commit, commit, commit, commit, commit, commit
microchip: Add driver for Microchip PolarFire SoC commit
qcom: Add GPU clock controller driver for SM6350 commit
qcom: Add MSM8226 Multimedia Clock Controller support commit
qcom: Add SDX65 APCS clock controller support commit
qcom: Add display clock controller driver for QCM2290 commit
qcom: Add display clock controller driver for SM6125 commit
qcom: Add display clock controller driver for SM6350 commit
qcom: gcc-ipq806x: add CryptoEngine clocks commit
qcom: rpmhcc: add sc8280xp support to the RPMh clock controller commit
renesas: rzg2l-cpg: Add support for RZ/V2L SoC commit
rs9: Add Renesas 9-series PCIe clock generator driver commit
samsung: fsd: Add initial clock support commit
starfive: Add JH7100 audio clock driver commit
sunxi-ng: Add support for the sun6i RTC clocks commit
sunxi-ng: sun6i-rtc: Add support for H6 commit
12.32. PHY ("physical layer" framework)
Add support for the Layerscape SerDes 28G commit
cadence: Add Cadence D-PHY Rx driver commit
cadence: Sierra: Add support for skipping configuration commit
qcom-qmp: add sc8280xp UFS PHY commit
qcom-qusb2: Add compatible for MSM8953 commit
qcom-snps: Add sc8280xp support commit
qcom: Add support for eDP PHY on sc7280 commit
rockchip: add naneng combo phy for RK3568 commit
sun4i-usb: Add D1 variant commit
usb: Add "wake on" functionality for newer Synopsis XHCI controllers commit
12.33. EDAC (Error Detection And Correction)
altera: Add SDRAM ECC check for U-Boot commit
Add new register offset support and related changes commit
12.34. Various
CXL.mem Topology Discovery and Hotplug 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
- habanalabs
vfio/hisilicon: add ACC live migration driver commit, commit, commit, commit, commit, commit, commit, commit, commit
iommu/ipmmu-vmsa: Add support for R-Car Gen4 commit
ipmi:ipmb: Add the ability to have a separate slave and master device commit
- irqchip
- mailbox
mei: me: add Alder Lake N device id commit
mfd: Add support for the MediaTek MT6366 PMIC commit
mfd: simple-mfd-i2c: Enable support for the silergy,sy7636a commit
misc: fastrpc: Add missing DSP FastRPC features commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
misc: open-dice: Add driver to expose DICE data to userspace commit
misc: rtsx: rts522a rts5228 rts5261 support Runtime PM commit
opp: Expose of-node's name in debugfs commit
Introduce PECI subsystem commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
- ptp
- remoteproc
K3 R5F & DSP IPC-only mode support commit, commit, commit, commit, commit
mediatek: Support mt8186 scp commit
soc: qcom: mdt_loader: Support Qualcomm SM8450 commit, commit, commit, commit, commit, commit, commit, commit, commit, commit, commit
qcom: q6v5: Add interconnect path proxy vote commit
Add support for sc7280 WPSS PIL loading commit
reset: Add Delta TN48M CPLD reset controller commit
Restructure the rpmsg_char driver and introduce rpmsg_ctrl driver commit, commit, commit, commit, commit, commit, commit, commit
vDPA/ifcvf: implement shared IRQ feature commit, commit, commit, commit, commit
w1: w1_therm: Add support for Maxim MAX31850 thermoelement IF commit
cn10k DDR Performance monitor support commit, commit, commit, commit
13. List of Pull Requests