Kernel Log: Coming in 2.6.33 (Part 4) - Architecture and virtualisation
by Thorsten Leemhuis
Several changes to the X86 and KVM code are to speed up the kernel's own hypervisor. The kernel developers once again revised and considerably extended the still emerging tracing infrastructure. The Power and PowerPC code now also supports the Gamecube and Wii games consoles.
When releasing Linux 2.6.33-rc7 at the end of last week, Linus Torvalds expressed some dissatisfaction because the main development branch currently contains more flaws than he would like. He asked the developers to take another close look at the list of known bugs in the predecessor of 2.6.33 and indicated that he will probably release an eighth RC before finalising Linux 2.6.33.
The Kernel Log takes this opportunity to continue its report about the advancements of Linux 2.6.33, discussing what's new in terms of architecture support, kernel infrastructure, tracing and virtualisation in the following fourth part of the "Coming in 2.6.33" mini series. The first, second and third part of this series covered the most important changes concerning network support, file systems, the storage subsystem and graphics hardware.
Virtualisation
Numerous improvements have been made to the KVM (Kernel-based Virtual Machine) virtualisation solution, which is mainly developed by Red Hat. Some of these, for instance, have improved the kernel hypervisor's interaction with the Cpufreq framework responsible for changing the clock speed of modern processors. Various other changes to the KVM code, in combination with X86 code modifications, are to reduce the management effort required for context switches, which is designed to improve performance (1, 2). KVM no longer blocks the virtualisation functions of modern CPUs unless it actually needs them; this allows other virtualisation solutions to work without first having to unload the KVM's kernel modules when KVM is inactive. The KVM developers also improved the operation of paravirtualised Xen guest systems under Xen. Furthermore, the kernel can now shift memory areas that have been merged by the KSM (Kernel Shared Memory) feature, which was created in the KVM area and introduced in Linux 2.6.32, into swap memory if required.
Mainly developed by Novell, the KVM-related AlacrityVM hypervisor, designed specifically for High Performance Computing (HPC) and real-time applications, was submitted for inclusion in 2.6.33 but didn't make it, just like the distributed Ceph file system. According to Torvalds, this was both because of time issues and because too few of the kernel developers and distributors appear to have advocated it; several kernel hackers had previously accused the AlacrityVM developers of insufficient cooperation with the developers of the KVM project, sparking protracted discussions; an article on LWN.net summarises the respective background information.
Tracing
The developers have made further changes to the tracing infrastructure around Ftrace and to the performance events previously called performance counters (1, 2, 3). The new "kprobe-based event tracer" allows probe points to be added to almost any kernel area at run-time (documentation); users can access this infrastructure via the "perf" program, which is included in Linux and offers a new "probe" subcommand. Details of a previous developer version of the now added code can be found in an article released on LWN.net last summer. LWN.net also offers three articles by Steven Rostedt describing the Linux kernel's tracing options, which he co-developed – the most recent of them was released in January and explains several advanced uses of the tracing infrastructure, but it also contains references to two earlier articles describing the basics.
Several kernel changes allow processes to be monitored simultaneously or improve Big Kernel Lock (BKL) diagnostics. The analysed data can now be filtered via regular expressions; the kernel developers have also extended the Perf command's Perl script support (for example 1, 2, 3, documentation). Its "bench" subcommand, which is new in 2.6.33, offers several speed measuring functions (for example 1 2, 3, 4, documentation).
New are also Perf's "kmem" and "diff" subcommands as well as kernel module support improvements.
Linux on the Gamecube and Wii
The architecture code for Power and PowerPC CPUs now supports Nintendo's GameCube and Wii games consoles (for example 1, 2); further details can be found on the GC Linux project's web page, and via the commit links at the end of this article.
ARM, MIPS and x86 systems now allow the kernel and initial ramdisk (initrd) to be compressed via LZO; the commit comment states that, while LZO doesn't compress as efficiently as Gzip, it can be decompressed considerably faster on ARM systems (1, 2, 3, 4, 5). The ARM developers have integrated a large number of further improvements for dozens of different systems with ARM CPUs or ARM cores; one new addition, for example, supports the Dove (88AP510) SOC (System-on-a-Chip) made by Marvell. Not only the code for ARM hardware, but also that for other architectures has been extended to support new processors and systems even die-hard Linux fans may not have heard about – the MIPS code, for instance, will from now on support Cisco's MIPS 24Kc-based "Powertv cable settop box". Also new is the code to support the Loongson 2F.
The real-time developers made numerous changes to further reduce the use of the Big Kernel Lock (BKL). Currently inconsequential for users is a major renaming of the spinlocks used for locking critical internal kernel areas. These locking mechanisms, which work with active waiting and must not be interrupted, are now called arch_spinlock_t. The restructuring measures make the Linux real-time developers' job a lot easier and forms the basis for moving the "sleeping spinlocks" from the Realtime/RT tree into the official Linux kernel. They also make it possible to interrupt the majority of the spinlocks that have so far used active waiting to gain exclusive access to shared data structures in the fastest possible way – this is the last major component for proper real-time functionality still missing in the official Linux kernel. Details about the renaming measures can be found in a short message on LWN.net; two older articles provide more information about sleeping spinlocks and the RT tree's current state of development (1, 2).
ACPI, PCI and power management
In future, Sysfs files will show whether the BIOS is using ACPI to block the switch to maximum CPU frequency in certain device modes. Furthermore, Rafael J. Wysocki had submitted several patches that in certain devices make the kernel suspend or resume in parallel instead of sequentially when switching into or out of standby. This is intended to speed up suspending and resuming. Linus Torvalds, however, rejected the changes rather unequivocally; details about this and the patches can be found in an article on LWN.net. As a result, Wysocki has put the changes on hold and submitted several patches which, for instance, offer run-time improvements to the power saving infrastructure for I/O devices, which was reworked in 2.6.32. However, Wysocki has since readjusted the "asynchronous suspend and resume" code and is likely to resubmit it for 2.6.34.
In brief
- Mostly minor changes have been made to the scheduler this time round.
- Introduced in 2.6.32, HWPOISON received bux fixes and several improvements.
- Linux Security Modules (LSM), which is used by the kernel by default, can from now on be enabled during kernel configuration.
- SELinux now dynamically discovers class and permission values upon policy load ("Modify SELinux to dynamically discover class and permission values upon policy load [...]").
- The newly added support for the PCLMULQDQ instruction allows the kernel to delegate certain hash calculation tasks to Intel processors which support this instruction.
Minor gems
Many further minor, but by no means insignificant, changes can be found in the list below, which contains the commit headers referring to the respective change. Like many of the references in the text above, the links point to the relevant commit in the web front end of the Git branch for the kernel sources maintained by Linus Torvalds at kernel.org. The commit comments and the patches themselves provide extensive further information on the respective changes.
Crypto and Security
- crypto: hash - Remove legacy hash/digest code
- crypto: padlock-sha - Add import/export support
- LSM: Add security_path_chmod() and security_path_chown().
- LSM: Add security_path_chroot().
- remove CONFIG_SECURITY_FILE_CAPABILITIES compile option
- security/tomoyo: Add a special case to handle accesses through the internal proc mount.
- TOMOYO: Add recursive directory matching operator support.
Memory Management
- Documentation: ABI: /sys/devices/system/cpu/cpu#/node
- hugetlb: add nodemask arg to huge page alloc, free and surplus adjust functions
- hugetlb: add per node hstate attributes
- hugetlb: handle memory hot-plug events
- hugetlb: update hugetlb documentation for NUMA controls
- hugetlb: use only nodes with memory for huge pages
- HWPOISON: Add Andi Kleen as hwpoison maintainer to MAINTAINERS
- HWPOISON: add an interface to switch off/on all the page filters
- HWPOISON: add fs/device filters
- HWPOISON: add memory cgroup filter
- HWPOISON: add page flags filter
- HWPOISON: Add soft page offline support
- HWPOISON: Add unpoisoning support
- HWPOISON: limit hwpoison injector to known page types
- memcg: add mem_cgroup_cancel_charge()
- mm: add numa node symlink for cpu devices in sysfs
- mm: add numa node symlink for memory section in sysfs
- mm hugetlb: add hugepage support to pagemap
- nommu: fix malloc performance by adding uninitialized flag
- NOMMU: Optimise away the {dac_,}mmap_min_addr tests
- page-types: add standard GPL license header
- page-types: constify read only arrays
- page-types: learn to describe flags directly from command line
- page-types: unsigned cannot be less than 0 in add_page()
- page-types: whitespace alignment
- readahead: add blk_run_backing_dev
ACPI and PCI
- ACPI: add kernel tainting after overriding an ACPI control method
- ACPICA: Add more conversions to predefined name repair module
- ACPICA: Add repair for bad _BIF/_BIX packages
- ACPICA: Add repair for bad _FDE/_GTM buffers
- ACPICA: Add repair for bad _MAT buffers
- ACPICA: Add repair for predefined methods that must return sorted lists
- ACPI: enable C2 and Turbo-mode on Nehalem notebooks on A/C
- ACPI: introduce kernel parameter acpi_sleep=sci_force_enable
- ACPI: support customizing ACPI control methods at runtime
- dmar: support for parsing Remapping Hardware Static Affinity structure
- intr-remap: generic support for remapping HPET MSIs
- ipmi: add PNP discovery (ACPI namespace via PNPACPI)
- PCI: add debug output for DMA mask info
- PCI: PCIe AER: honor ACPI HEST FIRMWARE FIRST mode
- PCI: support device-specific reset methods
- pcmcia: add new CIS access helpers
- pcmcia: autoload module pcmcia
- pcmcia: convert net pcmcia drivers to use new CIS helpers
- pcmcia: Pass struct pcmcia_device to pcmcia_map_mem_page()
- pcmcia: pcmcia_request_window() doesn't need a pointer to a pointer
- pcmcia: remove deprecated handle_to_dev() macro
- pcmcia: rework the irq_req_t typedef
- pcmcia/staging: update comedi drivers
- pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (char)
- pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (isdn)
- pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (net)
- pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (ray-cs.c)
- pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (scsi)
- pcmcia: use dynamic debug infrastructure, deprecate CS_CHECK (wireless)
- pcmcia: use dynamic debug in PCMCIA socket drivers
- PNP: add interface to retrieve ACPI device from a PNPACPI device
- thermal: add sanity check for the passive attribute
Power Management
- [CPUFREQ] Documentation: ABI: /sys/devices/system/cpu/cpu#/cpufreq/
- [CPUFREQ] Document units for transition latency
- [CPUFREQ] powernow-k6: set transition latency value so ondemand governor can be used
- PCI/PM: Use per-device D3 delays
- PM: Add flag for devices capable of generating run-time wake-up events
- PM: Add initcall_debug style timing for suspend/resume
- PM: Make the initcall_debug style timing for suspend/resume complete
- PM: Measure device suspend and resume times
- PM / Runtime: Make documentation of runtime_idle() agree with the code
- PM: Runtime PM documentation update
- PM / Runtime: Use device type and device class callbacks
- PM: Use pm_runtime_put_sync in system resume
Scheduler
- sched: Add pre and post wakeup hooks
- sched: Add USER_SCHED to feature removal list
- sched, cpuacct: Fix niced guest time accounting
- sched: Fix missing sched tunable recalculation on cpu add/remove
- sched: Make tunable scaling style configurable
- sched: Rate-limit newidle
Tracing
- Add a tracepoint for block request remapping
- Documentation: Update ftrace-design.txt
- Documentation: Update mmiotrace.txt
- Documentation: Update tracepoint-analysis.txt
- ftrace: add kernel command line graph function filtering
- hw-breakpoints: Add two reserved fields for future extensions
- hw-breakpoints: ftrace plugin for kernel symbol tracing using HW Breakpoint interfaces
- hw-breakpoints: introducing generic hardware breakpoint handler interfaces
- hw-breakpoints: Rewrite the hw-breakpoints layer on top of perf events
- hw-breakpoints: sample HW breakpoint over kernel data address
- hw-breakpoints: x86 architecture implementation of Hardware Breakpoint interfaces
- lockstat: Fix min, max times in /proc/lock_stats
- oprofile/x86: add Xeon 7500 series support
- perf: Add kernel side syscall events support for breakpoints
- perf: Add perf-probe document
- perf bench: Add "all" pseudo subsystem and "all" pseudo suite
- perf bench: Add new directory and header for new subcommand 'bench'
- perf bench: Add subcommand 'bench' to the Makefile
- perf buildid-list: New plumbing command
- perf/core: Provide a kernel-internal interface to get to performance counters
- perf kmem: Add help file
- perf kmem: Add --sort hit and --sort frag
- perf probe: Add glob matching support on --del
- perf probe: Add perf probe command support without libdwarf
- perf/probes: Support function entry relative line number
- perf/probes: Update Documentation/perf-probe.txt
- perf probe: Support --del option
- perf probe: Support event name for --add option
- perf probe: Support vmlinux on cwd by default
- perf sched: Add -C option to measure on a specific CPU
- perf sched: Add max delay time snapshot
- perf stat: Add branch performance metric
- perf timechart: Add a process filter
- perf tools: Add debugfs utility routines for perf
- perf tools: Add for_each macros for strlist
- perf tools: Add ia64 support for tools/perf/
- perf tools: Add support for breakpoint events in perf tools
- perf tools: Add V=2 option to help debug config issues
- perf tools: Create util/sort.and use it
- perf tools: Introduce bitmask'ed additional headers
- perf top: Support userspace symbols too
- perf trace: Add a scripts/perl/bin for perf trace shell scripts
- perf trace: Add filter Suppport
- perf trace: Add scripting ops
- perf trace/scripting: Add Fedora libperl install note to doc
- perf trace/scripting: Add 'record' and 'report' options
- perf trace/scripting: Add support for script args
- perf trace/scripting: Don't display 'scripting unsupported' msg unnecessarily
- perf trace/scripting: List available scripts
- powerpc: tracing: Add hypervisor call tracepoints
- powerpc: tracing: Add powerpc tracepoints for interrupt entry and exit
- powerpc: tracing: Add powerpc tracepoints for timer entry and exit
- rcu: Update trace.txt documentation for blocked-tasks lists
- rcu: Update trace.txt documentation to reflect recent changes
- selinux: drop remapping of netlink classes
- trace-kprobe: Support delete probe syntax
- tracing: Add kprobes event profiling interface
- tracing: Add pipe_close interface
- tracing: Add stack trace to irqsoff tracer
- tracing: allow to change permissions for text with dynamic ftrace enabled
- tracing/documentation: Cover new frame pointer semantics
- tracing: Document HAVE_SYSCALL_TRACEPOINTS needs
- tracing/kprobes: Add argument name support
- tracing/kprobes: Add event profiling support
- tracing/kprobes: Add $ prefix to special variables
- tracing/kprobes: Add probe handler dispatcher to support perf and ftrace concurrent use
- tracing/kprobes: Disable kprobe events by default after creation
- tracing/kprobes: Make special variable names more self-explainable
- tracing/kprobes: Remove '$ra' special variable
- tracing/kprobes: Rename Kprobe-tracer to kprobe-event
- tracing/kprobes: Show event name in trace output
- tracing/kprobes: Support custom subsystem for each kprobe event
- tracing: Kprobe-tracer supports more than 6 arguments
- tracing/profile: Add filter support
Virtualization
- core, x86: Add user return notifiers
- KVM: allow userspace to adjust kvmclock offset
- KVM: Enable 32bit dirty log pointers on 64bit host
- KVM: SVM: Add tracepoint for injected #vmexit
- KVM: SVM: Add tracepoint for invlpga instruction
- KVM: SVM: Add tracepoint for nested #vmexit
- KVM: SVM: Add tracepoint for nested vmrun
- KVM: SVM: Add tracepoint for skinit instruction
- KVM: SVM: Add tracepoint for #vmexit because intr pending
- KVM: SVM: Support Pause Filter in AMD processors
- KVM: VMX: Add support for Pause-Loop Exiting
- KVM: x86: Add KVM_GET/SET_VCPU_EVENTS
- KVM: x86 emulator: Add pusha and popa instructions
- KVM: x86: Extend KVM_SET_VCPU_EVENTS with selective updates
- KVM: Xen PV-on-HVM guest support
Architecture Support
X86
- core, x86: Add user return notifiers
- cs5535: add a generic MFGPT driver
- cs5535: drop the Geode-specific MFGPT/GPIO code
- x86: Add a Kconfig option to turn the copy_from_user warnings into errors
- x86: Add Dell OptiPlex 760 reboot quirk
- x86: Add new Intel CPU cache size descriptors
- x86: Add quirk for Intel DG45FC board to avoid low memory corruption
- x86: Allow x86-32 instruction decoder selftest on x86-64
- x86: AMD Geode LX optimizations
- x86/amd-iommu: Remove support for domain sharing
- x86, apic: Enable lapic nmi watchdog on AMD Family 11h
- x86, apic: Explain show_lapic= in kernel parameters list
- x86, apic: Limit apic dumping, introduce new show_lapic= setup option
- x86, apic: Use apic noop driver
- x86: arch specific support for remapping HPET MSIs
- x86: ASUS P4S800 reboot=bios quirk
- x86, compress: Force i386 instructions for the decompressor
- x86: Disable HPET MSI on ATI SB700/SB800
- x86: Eliminate redundant/contradicting cache line size config options
- x86, hpet: Disable per-cpu hpet timer if ARAT is supported
- x86: Instruction decoder API
- x86, mce: Thermal monitoring depends on APIC being enabled
- x86, mm: Report state of NX protections during boot
- x86, msr: Add support for non-contiguous cpumasks
- x86: Prevent GCC 4.4.x (pentium-mmx et al) function prologue wreckage
- x86: Reenable TSC sync check at boot, even with NONSTOP_TSC
- x86: Regex support and known-movable symbols for relocs, fix _end
- x86: Relegate CONFIG_PAT and CONFIG_MTRR configurability to EMBEDDED
- x86: Remove usedac in feature-removal-schedule.txt
- x86: Remove "x86 CPU features in debugfs" (CONFIG_X86_CPU_DEBUG)
- x86, setup: Store the boot cursor state
- x86: UV RTC: Add clocksource only boot option
- x86: X86 instruction decoder build-time selftest
ARM
- add gpiolib support to ucb1x00
- Add KZM-ARM11-01 support
- ALSA: ARM: add Raumfeld audio support
- AM35xx: Add support for AM3517 EVM board
- ARM: 5770/1: Add DMA Engine support to at91sam9g45
- ARM: 5775/1: ep93xx: add keypad core support
- ARM: 5778/1: AT91: Add cpuidle support
- ARM: 5782/1: at91: support for eco920
- ARM: 5786/1: Introduce plat-nomadik, MTU code re-organization
- ARM: 5791/1: ARM: MM: use 64bytes of L1 cache on plat S5PC1xx
- ARM: 5813/1: SA1100: h3100/h3600: add htc-egpio driver
- ARM: 5823/1: SA1100: h3100/h3600: add support for gpio-keys
- ARM: 5831/1: ARM: U8500 core machine support
- ARM: 5834/1: ARM: U8500 integrate to ARM architecture
- ARM: 5841/1: a driver for on-chip ETM and ETB
- ARM: 5842/1: add spi resource support for nuc900
- ARM: 5843/1: OMAP3: add AMBA devices for ETM and ETB
- ARM: 5846/1: MAINTAINERS: Add arm Nomadik support
- ARM: Add an earlyprintk debug console
- ARM: Add Tauros2 L2 cache controller support
- Armadillo500 Add i2c second bus support.
- Armadillo500 Add support for onboard GPIO Buttons.
- Armadillo500 Add support for Seiko Instruments S-35390A rtc over i2c.
- ARM: H1940: add lcd/backlight device definition
- ARM: H1940: add mmc device
- ARM: H1940: Convert h1940 bluetooth driver to rfkill
- ARM: Kill CONFIG_CPU_32
- ARM: Kirkwood: Add LaCie Network Space v2 support
- ARM: Kirkwood: Add MPP36 for QNAP TS-11x/TS-21x
- ARM: Kirkwood: Add QNAP TS-110/TS-210 to Kconfig help text
- ARM: Kirkwood: Add support for QNAP TS-41x Turbo NAS
- ARM: MX3: add MMC/SDHC support to mx31lite-db.c
- ARM: MX3: add NOR flash support via physmap mtd driver
- ARM: MX3: Add pad config for MMC pins on lilly-db
- ARM: MX3: add SPI devices for mx31lite
- ARM: MX3: add SPI functions for lilly1131-db
- ARM: MX3: add support for GPIO LEDs on litekit db
- ARM: MX3: add support for mc13783 on lilly-db
- ARM: MX3: add USB functions for mx31litekit
- ARM OMAP3: RX-51 board - add initialization of gpio keys
- ARM: OMAP4: PM: Add init api for DPLL nodes
- ARM: OMAP4: PM: Adds PRM register defs for OMAP4
- ARM: OMAP4: PM: Adds PRM register shift and mask bits
- ARM: OMAP4: PM: Add support for OMAP4 dpll api's
- ARM: OMAP4: PM: OMAP4 clock tree and clkdev registration
- ARM: OSIRIS: DVS (Dynamic Voltage Scaling) supoort.
- ARM: pxa: add apmu clock support in mmp
- ARM: pxa: add missing irq events for pxa168
- ARM: pxa: add nand device and clock for pxa168/pxa910
- ARM: pxa: add nand support in aspensite board
- ARM: pxa: add onenand support for SAAR
- ARM: pxa: add onenand support for TTC-DKB
- ARM: pxa/cm-x300: add ac97 controller registration
- ARM: pxa/cm-x300: add da9030 support
- ARM: pxa/cm-x300: add PWM backlight support
- ARM: pxa/cm-x300: add PWM backlight support
- ARM: pxa/cm-x300: add support for PXA310 cpu
- ARM: pxa/cm-x300: add TDO35S lcd support
- ARM: pxa/cm-x300: add Wi2Wi chip (Bluetooth and WiFi) initialization
- ARM: pxa/cm-x300: enable USB port 2 for PXA300
- ARM: pxa/ezx: add camera support for A780 and A910 EZX phones
- ARM: pxa/ezx: add leds-lp3944 support for A910 EZX phone
- ARM: pxa: introduce CONFIG_MACH_ZYLONITE{300,320} for CPU_PXAremoving
- ARM: pxa: make CPU_PXAto be selectable hidden options
- ARM: pxa: re-order platforms in Kconfig and Makefile
- ARM: pxa/treo: add Palm Centro 685 support
- ARM: pxa/treo: generalisation of Treo680 code
- ARM: pxa/zeus: basic support for Arcom Zeus SBC
- ARM: S3C24XX: Add documentation for arch/arm/plat-s3c24xx/include/plat/mci.h
- ARM: S3C24XX: machine support for Simtec Audio
- ARM: S3C64XX: add HSMMC2 support
- ARM: S3C64XX: add support for all group 0 external interrupts
- ARM: S3C: Add NAND device platform data set call
- ARM: S5PC1XX: add cpu idle and system reset support
- ARM: S5PC1XX: add GPIO L banks to register definition
- ARM: S5PC1xx: add gpiolib and external/gpio interrupt support
- ARM: S5PC1xx: add platform helpers for i2c adapter devices
- ARM: S5PC1xx: add platform helpers for s3c-fb device
- ARM: S5PC1xx: add platform helpers for SDHCI host controllers
- ARM: SAMSUNG: Add plat-samsung as starting point for plat-s3cmoves
- AT91: add touchscreen support for at91sam9g45ekes
- at91: at91sam9g20ek modify dual slot evaluation kit
- collie: support pda_power driver
- da850/omap-l138: add callback to control LCD panel power
- DA8xx/OMAP-L1xx: Add high speed SD/MMC capabilities
- davinci: add CPU idle driver
- davinci: Add DA830/OMAP-L137 EVM specific pinmux setting for McASP1
- davinci: add generic CPUFreq driver for DaVinci
- davinci: Add LCD Graphics support for DA830/OMAP-L137 EVM
- davinci: Add MMC/SD support for DA830/OMAP-L137 EVM
- davinci: Add NAND support for DA830/OMAP-L137 EVM platform
- davinci: Add RTC support for DA8xx/OMAP-L13x SoC's
- davinci: Add support for Sharp LCD035Q3DG01 graphical LCD
- davinci: da830: add support for new silicon revisions
- davinci: DA830/OMAP-L137 EVM: use runtime detection for UI card
- davinci: DA850/OMAP-L138: add frequency scaling support
- davinci: DA850/OMAP-L138: add voltage regulation support
- davinci: DA850/OMAP-L138 EVM: add support for TPS65070 PMIC
- davinci: DA850/OMAP-L138 EVM: register for CPUFreq support
- davinci: DA850/OMAP-L138 EVM: register for cpuidle support
- davinci: DA8XX/OMAP-L1XX: add support for cpuidle driver register
- Davinci: DM365: Add platform device for McBSP
- Davinci: DM365: Enable DaVinci Key Scan support for DM365 EVM
- DaVinci: DM365: Enable DaVinci RTC support for DM365 EVM
- davinci: dm646x: Add support for 3.x silicon revision
- davinci: dm646x-evm: Add platform data for NAND
- davinci: DMx and da8xx defconfig updates
- davinci: fb: add cpufreq support
- davinci: Initial support for Neuros OSD2 platform.
- davinci: mmc: add cpufreq support
- davinci: RMII support for DA850/OMAP-L138 EVM
- davinci: support changing the clock rate in clock framework
- davinci: support re-parenting a clock in the clock framework
- iop: clockevent support
- iop: clocksource support
- iop: enable generic time
- IXP4xx: Extend PCI MMIO indirect address space to 1 GB.
- msm: add minimal board file for HTC Dream device
- mx25: add support for FEC on i.MX25
- mx27: Add basic support for Maxtrack i-MXT TD60
- mx27: mxt_td60: Add support to SD/MMC
- mx31moboard: camera support
- mx31moboard: SPI and MC13783 voltage regulator support
- mx31moboard: support for pin linked for battery presence check
- mx31moboard: support for usbh1 and usbh2
- mx35: add usb gadget support in mx35pdk.c
- mx3: Add SSI pins to iomux table
- mx3: add support for the mt9v022 camera sensor to pcm037 platform
- MXC: Add a digital audio multiplexer driver
- MXC: Add support for ULPI Viewports
- mxc: mx1/mx2 DMA: add a possibility to create an endless DMA transfer
- MXC NFC: Add the clock resource to support NFC in i.MX35
- omap1: Add board support and LCD for HTC Herald
- omap1: Add omap7xx USB support
- omap1: mmc: Add platform init for omap7xx
- omap1: omap_udc: Add clocking and disable vbus sense for omap7xx
- omap3630: Add HSMMC related checks
- omap: 3630sdp: introduce 3630 sdp board support
- omap3: Add CompuLab CM-T35 board support
- omap3: Add CompuLab CM-T35 defconfig
- omap3: Add minimal IGEP v2 support
- omap3: Allow EHCI to be built on OMAP3
- omap3: Board file of Always Innovating OMAP3-based Touch Book
- omap3evm: Add board revision function
- omap3evm: ehci: Update EHCI support on OMAP3EVM (Rev >= E)
- OMAP3 hwmod: Add automatic OCP_SYSCONFIG AUTOIDLE handling
- omap3: Introduce OMAP3630
- OMAP3: PM: CORE domain off-mode support
- OMAP3: PM: CPUidle: Add new lower-latency C1 state
- OMAP3: PM: CPUidle: base driver and support for C1-C2
- OMAP3: PM: CPUidle: support retention and off-mode C-states
- OMAP3: PM: MPU off-mode support
- OMAP3 PM: off-mode support for HS/EMU devices
- omap3: rx51: Add SDRAM init
- omap3: rx51: Add wl1251 wlan driver support
- omap3: zoom: Introduce zoom3 board support
- OMAP7XX: Clocks: Add ck_ref and armxor
- OMAP7XX: Clocks: Add omap850 support
- OMAP7XX: McBSP: Add omap850 support
- OMAP7XX: PM: Add omap850 support
- OMAP850: PM: Add an ARCH_OMAP850 check
- omap: Add OMAP4 L3 and L4 peripherals.
- omap: Add platform init code for EHCI driver
- OMAP: DSS2: Documentation for DSS2
- omap: introduce OMAP_LL_DEBUG_NONE DEBUG_LL config
- omap: mailbox: Add build specific changes to support omap mailbox
- omap: mailbox: Add resources and mailbox register base address for OMAP4 mailbox
- omap: mailbox: Adds code changes to support OMAP4 mailbox
- omap: mailbox: OMAP4 Mailbox-driver Patch to support tasklet implementation
- omap: mux: Add 36xx CBP package support
- omap: mux: Add new style pin multiplexing code for omap3
- omap: mux: Add new style pin multiplexing data for 34xx
- OMAP: Platform support for twl4030_codec MFD
- OMAP: Platform support for twl4030_codec MFD
- OMAP: PM: DMA context save/restore for off-mode support
- pxa3xx_nand: add new nand chip support
- pxa3xx_nand: update dependancy to support ARCH_MMP
- pxafb: add transparency field to pxafb_mode_info struct
- revert "ARM: pxa/cm-x300: add PWM backlight support"
- SMDKC100: add I2C0 and I2C1 buses support
- SMDKC100: add SDHCI controllers 0, 1 and 2 support
- SMDKC100: enable S3C FrameBuffer
Power
- collie: add battery driver
- Include Book3s_64 target in buildsystem
- MAINTAINERS: Add PowerPC patterns
- mpc52xx/wdt: OF property to enable the WDT on boot
- powerpc/44x: Extend Katmai dts for ADMA and RAID56 support
- powerpc/5200: add LocalPlus bus FIFO device driver
- powerpc/5200: Add mpc5200-spi (non-PSC) device driver
- powerpc/83xx: Add power management support for MPC83xx QE boards
- powerpc/85xx/86xx: Add suspend/resume support
- powerpc/85xx: Added P1020RDB Platform support.
- powerpc/85xx: Add power management support for MPC85xxMDS boards
- powerpc/86xx: Add power management support for MPC8610HPCD boards
- powerpc/86xx: Enable NVRAM on GE Fanuc's SBC610
- powerpc/86xx: Support for NVRAM on GE Fanuc's PPC9A
- powerpc/86xx: Support for NVRAM on GE Fanuc's SBC310
- powerpc: Add kdump support to Collaborative Memory Manager
- powerpc: broadway processor support
- powerpc/chrp: Use the same RTAS daemon as pSeries
- powerpc/fsl: Add PCI device ids for new QoirQ chips
- powerpc/fsl: try to explain why the interrupt numbers are off by 16
- powerpc: gamecube: bootwrapper bits
- powerpc: gamecube: device tree
- powerpc: gamecube: platform support
- powerpc: gamecube/wii: declare as non-coherent platforms
- powerpc: gamecube/wii: do not include PCI support
- powerpc: gamecube/wii: early debugging using usbgecko
- powerpc: gamecube/wii: flipper interrupt controller support
- powerpc: gamecube/wii: introduce GAMECUBE_COMMON
- powerpc: gamecube/wii: udbg support for usbgecko
- powerpc: gamecube/wii: usbgecko bootwrapper console support
- powerpc: Make it possible to select hibernation on all PowerPCs
- powerpc: Make NR_IRQS a CONFIG option
- powerpc/mm: Allow more flexible layouts for hugepage pagetables
- powerpc: Move /proc/ppc64 to /proc/powerpc and add symlink
- powerpc/p4080: Add basic support for p4080ds platform
- powerpc/pseries: Add hooks to put the CPU into an appropriate offline state
- powerpc/pseries: Kernel DLPAR Infrastructure
- powerpc/qe: Add qe_upload_firmware() stub for non-QE builds
- powerpc: wii: bootwrapper bits
- powerpc: wii: device tree
- powerpc: wii: hollywood interrupt controller support
- powerpc: wii: platform support
- powerpc/windfarm: Add detection for second cpu pump
- pseries/pseries: Add code to online/offline CPUs of a DLPAR node
- sysfs/cpu: Add probe/release files
Others
- alpha: Add minimal support for software performance events
- alpha: add myself as a maintainer, and drop mention of 2.4
- avr32: add support for ATNGW100 mkII board
- bfin-otp: add BF51x to the supported arch list
- Blackfin: add an example showing how to use the gptimers API
- Blackfin: add an uncompressed vmImage target
- Blackfin: add support for the Acvilon BF561 board
- Blackfin: bf537-stamp: add ADF702x network driver resources
- Blackfin: bf537-stamp: add ADP8870 resources
- Blackfin: bf537-stamp: add ADXL346 orientation sensing support
- Blackfin: bf537-stamp: add CAN resources
- Blackfin: bf538: add support for extended GPIO banks
- Blackfin/ipipe: introduce support for CONFIG_MPU
- Blackfin: MPU: support XIP in async flash memory
- Blackfin: punt cache lock documentation
- Blackfin: support smaller uncached DMA chunks for memory constrained systems
- ia64: convert to dynamic percpu allocator
- m68knommu: add uboot commandline argument passing support
- microblaze: Add IRQENTRY_TEXT to lds
- microblaze: Add PVR for Microblaze v7.30.a
- microblaze: Add TRACE_IRQFLAGS_SUPPORT
- microblaze: Core oprofile configs and hooks
- microblaze: Enable asm optimization only for HW with barrel-shifter
- microblaze: Enable DTC compilation
- microblaze: Extend cpuinfo for support write-back caches
- microblaze: ftrace: Add dynamic function graph tracer
- microblaze: ftrace: Add dynamic trace support
- microblaze: ftrace: add function graph support
- microblaze: ftrace: add static function tracer
- microblaze: Futex support
- microblaze: Lockdep support
- microblaze: preliminary enabling for LATENCYTOP support in Kconfig
- microblaze: Stack trace support
- microblaze: Support for WB cache
- microblaze: support U-BOOT image format
- MIPS: Add basic CPUFreq options.
- MIPS: Add support for GZIP / BZIP2 / LZMA compressed kernel images
- MIPS: Add support for uncached accelerated mappings.
- MIPS: eXcite: Remove platform.
- MIPS: Fix and enhance built-in kernel command line
- MIPS: Lemote 2F: Add a LEMOTE_MACH2F kernel option
- MIPS: Lemote 2F: Add basic CS5536 VSM support
- MIPS: Lemote 2F: Add cs5536 MFGPT timer support
- MIPS: Lemote 2F: Add IRQ support
- MIPS: Lemote 2F: Add Lynloong support
- MIPS: Lemote 2F: Add NAS support
- MIPS: Lemote 2F: Add PCI support
- MIPS: Lemote 2F: Add reset support
- MIPS: Lemote 2f: Enable legacy RTC driver
- MIPS: Loongson 2F: Add CPU frequency scaling support
- MIPS: Loongson 2F: Add suspend support framework
- MIPS: Loongson: Add serial port support
- MIPS: Move EARLY_PRINTK to Kconfig.debug
- MIPS: No longer hardwire CONFIG_EMBEDDED to y
- MIPS: Tracing: Add an endian argument to scripts/recordmcount.pl
- MIPS: Tracing: Add dynamic function graph tracer for MIPS
- MIPS: Tracing: Add dynamic function tracer support
- MIPS: Tracing: Add function graph tracer support for MIPS
- MIPS: Tracing: Add IRQENTRY_EXIT section for MIPS
- MIPS: Tracing: Add static function tracer support for MIPS
- MIPS: Yeeloong 2F: Add basic EC operations
- MIPS: Yeeloong 2F: Add board specific suspend support
- MIPS: Yeeloong 2F: Add LID open event as the wakeup event
- of/platform: Implement support for dev_pm_ops
- parisc: convert /proc/pdc/{lcd,led} to seq_file
- S390: cio: add per device initialization status flag
- S390: dasd: support DIAG access for read-only devices
- S390: Improve address space mode selection.
- S390: MAINTAINERS: Add s390 drivers block
- S390: zcrypt: add support for cex3 device types
- S390: zcrypt: special command support for cex3 exploitation
- sh: Add notifiers chains for cpu/board code
- sh: add SDHI1 support to ms7724se
- sh: Add SDHI power control support to Ecovec
- sh: add sleazy FPU optimization
- SH: add support for the RJ54N1CB0C camera for the kfr2r09 platform
- sh: dmaengine support for sh7724.
- sh: dmaengine support for SH7785
- sh: Don't default enable PMB support.
- sh: intc: dynamic IRQ support.
- sh: mach-ecevec24: Add SDHI support
- sh: mach-ecovec24: Add FSI sound support
- sh: mach-ecovec24: Add mt9t112 camera support
- sh: mach-ecovec24: Add tw9910 support
- sh: mach-ecovec24: Add USB1 gadget support
- sh: ms7724se: Add ak4642 support
- sh: ms7724se: Add runtime PM support for FSI
- sh: perf events: Add preliminary support for SH-4A counters.
- sh: perf events: Add support for SH7750-style counters.
- sh: perf events: Preliminary callchain support.
- sh: Prepare for dynamic PMB support
- sh: sh7724: Add SPU2 support
- sh: Support SCHED_MC for SH-X3 multi-cores.
- sparc64: Add syscall tracepoint support.
- sparc64: Faster early-boot framebuffer console.
- sparc64: Fully support both performance counters.
- sparc: Add alignment and emulation fault perf events.
- sparc,leon: Sparc-Leon SMP support
- sparc: Support for GRLIB APBUART serial port
For other articles on 2.6.33 and links to the rest of the "Coming in 2.6.33 " series, see The H's Kernel Log - 2.6.33 Tracking page. New editions of Kernel Logs are also mentioned on Identi.ca and Twitter via "@kernellog2". The Kernel Log author also posts updates about various topics on Identi.ca and Twitter via "@kernellogauthor".
(thl)
(crve)