KernelNewbies:

TableOfContents()

Short overview (for news sites, etc)

Important things (AKA: ''the cool stuff'')

Dynamic kernel command-line

Current implementation stores a static command-line buffer allocated to COMMAND_LINE_SIZE size. Most architectures stores two copies of this buffer, one for future reference and one for parameter parsing. Current kernel command-line size for most architecture is much too small for module parameters, video settings, initramfs paramters and much more. The problem is that setting COMMAND_LINE_SIZE to a grater value, allocates static buffers. In order to allow a greater command-line size, these buffers should be dynamically allocated or marked as init disposable buffers, so unused memory can be released. This patch renames the static saved_command_line variable into boot_command_line adding initdata attribute, so that it can be disposed after initialization. This rename is required so applications that use saved_command_line will not be affected by this change. It reintroduces saved_command_line as dynamically allocated buffer to match the data in boot_command_line. It also mark secondary command-line buffer as initdata, and copies it to dynamically allocated static_command_line buffer components may hold reference to it after initialization. * Dynamic kernel command-line: m68k [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=187959f31e92cde16b274f0b61dfaca3a8b14089 (commit)] * Dynamic kernel command-line: um [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=19bf7e7a414711dec0058556feda778105798f99 (commit)] * Dynamic kernel command-line: common [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=30d7e0d466b3ac0b5ef77e4062bf9385f0d72270 (commit)] * Dynamic kernel command-line: m32r [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3561794d80843588ed8b47fffb20e2dcd9c40ff3 (commit)] * Dynamic kernel command-line: sparc64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=383464c0fb067f5beb96e28ff376d2280808dd54 (commit)] * Dynamic kernel command-line: alpha [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3c253ca0f0930b767a5d6ac0c1b3c6f5619e28f9 (commit)] * Dynamic kernel command-line: sh64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=3e42ff6c65cf40caa1f6ca51a4c3d552803e0957 (commit)] * Dynamic kernel command-line: mips [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=43cd34645d3bf35cbaa68f28b85d12d0b9e08ab9 (commit)] * Dynamic kernel command-line: i386 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=4e498b66104af914ef04d6e7fbbbc13a4f7c936e (commit)] * Dynamic kernel command-line: sh [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=53c82622c2db808c015953336faecefc0ebf29bc (commit)] * Dynamic kernel command-line: h8300 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=5ff625904cd4e41d70bc01e6683cbb58f312f709 (commit)] * Dynamic kernel command-line: arm26 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=64d5a70f956071f8434f403d44835a4895abb78e (commit)] * Dynamic kernel command-line: parisc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=668f9931c812224ab2a6d57cdf2f0ec3865b68d2 * Dynamic kernel command-line: v850 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=712f77b5659208b43c925e1b28c4f44891c4d94f (commit)] * Dynamic kernel command-line: fixups [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=7a3a06d0e158fc82a6bf13e18439285c7791d2b8 (commit)] * Dynamic kernel command-line: cris [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=87e1f9c6dcb4829fd8a68a3af87098cee8ef955b (commit)] * Dynamic kernel command-line: frv [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=9c00f7613249b3b42782a226308353a4033c11c3 (commit)] * Dynamic kernel command-line: ia64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a8d91b8477aa433ee0131b031d782411976e1726 (commit)] * Dynamic kernel command-line: x86_64 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=adf48856db47f4f0f661f2f4b7004890408135cf (commit)] * Dynamic kernel command-line: powerpc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=b8757b21f7628c57cb20e55be324fdef283a56e9 (commit)] * Dynamic kernel command-line: avr32 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf4352c0fc82e6dadfa7eea506c19dea0106baac (commit)] * Dynamic kernel command-line: ppc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=bf71cecbe4282fbb8ec035a7199fa4aca64db54c (commit)] * Dynamic kernel command-line: arm [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=cd81899a7d9e77ffd5280b10d0413fb241b18388 (commit)] * Dynamic kernel command-line: xtensa [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d3e9cceafd9c886561f602bcdcb03efd96e187ab (commit)] * Dynamic kernel command-line: s390 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=e06b1a3513bdd897e3c37c98ed7b16fa237dcb63 (commit)] * Dynamic kernel command-line: m68knommu [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=f2a09e19cae45b7dfa4b72d70182b5bc9afa2ddb (commit)] * Dynamic kernel command-line: sparc [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=08e7ca11eed86acde42ee97b9392faa10f9c70d1 (commit)]

Stuff

Various core changes

This adds a special MSR based hypercall API to KVM. This is to be used by paravirtual kernels and virtual drivers.

This will allow us to iterate over all vcpus and see which cpus they are running on.

Add the necessary callbacks to suspend and resume a host running kvm. This is just a repeat of the cpu hotplug/unplug work.

On hotplug, we execute the hardware extension enable sequence. On unplug, we decache any vcpus that last ran on the exiting cpu, and execute the hardware extension disable sequence.

Like the inline code it replaces, this function decaches the vmcs from the cpu it last executed on. in addition: - vcpu_clear() works if the last cpu is also the cpu we're running on - it is faster on larger smps by virtue of using smp_call_function_single() Includes fix from Ingo Molnar.

Architecture-specific changes

Filesystems

Networking

Various subsystems

Software suspend

Crypto

* Add the Camellia cipher algorithm. Camellia is a symmetric key block cipher developed jointly at NTT and Mitsubishi Electric Corporation [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=d64beac050914de6fe6565741b39905ecd5994b7 (commit 1], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=02ab5a7056bd8441ba6ae8ba8662d4296c202ecb 2], [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=04ac7db3f23d98abe5d3c91d21b0e45fc09e74ea 3)]

* [CRYPTO] tcrypt: Added test vectors for sha384/sha512 [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=a28091ae170cd06695bf461905c5b97a165633ba (commit)] This patch adds tests for SHA384 HMAC and SHA512 HMAC to the tcrypt module. Test data was taken from RFC4231. This patch is a follow-up to the discovery (bug 7646) that the kernel SHA384 HMAC implementation was not generating proper SHA384 HMACs.

* [CRYPTO] api: Allow multiple frontends per backend [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=27d2a3300755387d2fec231d37944907ff992ce8 (commit)] This patch adds support for multiple frontend types for each backend algorithm by passing the type and mask through to the backend type init function. * [CRYPTO] api: Use structs for cipher/compression [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=78a1fe4f242cbe6b4578e072b75e171b92745afa (commit)] Now that all cipher/compression users have switched over to the new allocation scheme, we can get rid of the compatility defines and use proper structs for them. * [CRYPTO] fcrypt: Add FCrypt from RxRPC [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=90831639a65592d6d3dc888dc3341f54ebf932e6 (commit)] Add a crypto module to provide FCrypt encryption as used by RxRPC. * [CRYPTO] pcbc: Add Propagated CBC template [http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=91652be5d1b901673a8e926455f0ed146cfaa588 (commit)] Add PCBC crypto template support as used by RxRPC.

Drivers

Graphics

KernelNewbies: Linux_2_6_21 (last edited 2007-03-20 18:39:58 by diegocalleja)