The Core Development Group's mission is to help evolve key GNU/Linux upstream technologies across the kernel, power management, security, and virtualization fields. Our members benefit from an open, unified, and coordinated ecosystem that provides them the foundation on which to base their products.

We have long-standing experience submitting code upstream. We develop, improve, and maintain these open-source technologies in tight collaboration with the open-source software communities.


  • Coordinate Core Development engineering teams and provide management support.
  • Interface and coordinate with other Linaro groups and engineering teams.
  • Support Linaro Members at the engineer level (in our areas of expertise).
  • Execute through the Kernel, Power Management, Security and Virtualization engineering teams.

This blog

This blog is an opportunity to document interesting developments that the core development teams are involved in.

On the Performance of Arm Virtualization

Thursday, June 16, 2016

Abstract Arm servers are becoming increasingly common, making server technologies such as virtualization for Arm of growing importance. We present the first study(1) of Arm virtualization performance on server hardware,...

KVM PCIe/MSI Passthrough on Arm/Arm64

Monday, February 29, 2016

While PCIe passthrough (the process of assigning a PCIe device to a VM, also known as device assignment) is supported through a mostly architecture-agnostic subsystem called VFIO, there are intricate...

Crypto Engine Framework

Wednesday, February 24, 2016

Introduction Recently I got some patches introducing the crypto engine framework merged into the crypto layer for v4.6, which are applied in Herbert Xu’s git:  http://git.kernel.org/cgit/linux/kernel/git/herbert/cryptodev-2.6.git Background In crypto layer,...

Testing a Trusted Execution Environment

Wednesday, February 10, 2016

Background Linaro gets into the picture Software components Host application Test Trusted Applications What about the tests coming from GlobalPlatform? Licenses Shortcomings and future improvements Final words Why you need...

Energy Aware Scheduling (EAS) progress update

Friday, September 18, 2015

Authors:  Ian Rickards (Arm),  Amit Kucheria (Linaro) Today, power management on Linux is implemented by different subsystems that work in a largely un-coordinated manner. This makes platform adaptation difficult and...

U-Boot on Arm32, AArch64 and beyond

Thursday, August 20, 2015

U-Boot became the de facto bootloader on most Arm systems during the early 2000s. It grew out of an earlier flora of smaller and custom boot loaders such as RedBoot...

Twenty three years and counting down

Monday, July 13, 2015

For most of us, life keeps us busy enough that just planning for the weekend can be difficult, and plotting plans for anything past six months out is rarely more...

Evolution of a generic TEE kernel driver

Monday, July 13, 2015

What is TrustZone? A Trusted Execution Environment (TEE) is a hardware assisted tamperproof secure environment where you can run software that are isolated from the rest of the system, such...

Tricks for debugging QEMU — rr

Monday, June 22, 2015

Over the years I’ve picked up a few tricks for tracking down problems in QEMU, and it seemed worth writing them up. First on the list is a tool I’ve...

Debugging Arm kernels using NMI/FIQ

Sunday, February 8, 2015

Debugging Arm kernels using NMI/FIQ Daniel Thompson talks about how Linaro’s work to upstream a little known tool for Android evolved into an effort, in collaboration with other contributors, to...