A recent code commit has revealed an interesting feature in the upcoming Linux kernel 3.7 that will allow it to support multiple ARM platforms out of the box. This brings ARM more in line with x86 builds where multiple processors are supported on a single kernel build.
Previous kernels needed to be built for each ARM platform, but going forward development will move towards a “multiplatform” design where all the various ARM System on a Chip (SoC) processors are supported by a single kernel. The 3.7 kernel specifically brings support for a number of ARM SoCs including Calxeda’s Highbank server chips, CoreTile Express SoCs (used in Versatile Express development systems), Altera’s SoC FPGA chips that combine a dual core A9 with FPGA circuitry, and Picochip’s PicoXcell SoCs (used in femtocells). Version 3.7 will even support the Wii Balance board.
In order for multiplatform support to be possible, developers will have to change where the various ARM platforms store data, such as drivers, to a common location in
include/linux/platform_data as well as no longer using
Linux kernel developer Olof Johansson stated that the move to multiplatform will require one big push that will likely cause several merge conflicts. However, once multiplatform support is baked into version 3.7, adding additional ARM SoCs in the future should be much simpler.
Kernel verions 3.7′s additions are just a small taste of the ARM hardware market, but it is a good start. Being able to use one Linux kernel for varied platforms is a good thing, and should help to further Linux on ARM projects. Right now, it seems to primarily be organizations using specialized ARM cores in servers and embedded machines that will reap the benefits, but consumers will also benefit from this shift once additional consumer-focused SoCs are supported. As an example, I expect that multiplatform support will make installing a distribution like Arch Linux ARM easier for newcomers as they will have only a single kernel to contend with, and it may even be possible to skip building the kernel yourself in favor of it being baked in and ready to go, much like x86 distros offer.
Get all the details on the move to multiplatform.
View full post on ExtremeTech