The Kernel Consolidation 2.0 lead project aims to identify and work on reducing areas where vendors need to ship out of tree modifications and additions to kernel frameworks in order to deliver key functionality. In this session we will discuss how we are going to organize and coordinate this work in conjunction with other efforts in the community.
This session is a continuation of the Advanced Toolchain Usage series started at LCU14. These sessions will cover a variety of topics, such as: symbol-versioning how-to, what the compiler can’t know, search paths (LD_LIBRARY_PATH, RPATH, RUNPATH), versioning structures, ELF sections on ARM/Aarch64, addressing models and performance considerations (PIC, short branches, long branches, relative addressing, trampolines, relaxation, etc), data alignment performance considerations on ARM/Aarch64, Timers, Timestamps and the VDSO, branch prediction extensions vs hardware auto branch prediction. Out-of-order execution vs in-order execution performance considerations, and others.
At this session we will get more knowledge about the TEE driver that Linaro has been working on for the last couple of months. Questions to be answered are for example: What are the API’s? How does the TEE driver work as a communication channel. What will a developer need to think of when adding support for another TEE solution?
This session will go through the problems caused by decisions made in the early days of UEFI on ARM, how they are still hurting us - in expanding our validation as well as by providing poor examples for porters to new platforms. But also about projects underway to resolve this legacy once and for all. We will also cover changes to Linaro’s platform infrastructure, as well as our increasing involvement with EDK2 maintainership.
John’s bio: John Simmons is the visionary who inspired Microsoft to play a leadership role in the creation of international media standards. In a 2008 internal memo John envisioned a RESTful, interoperable commercial media stack, predicting its impact on the Web. His efforts resulted in Microsoft publishing specs for DRM-interoperable encoding and adaptive streaming, which in turn culminated in the ISO MPEG standards for Common Encryption and Dynamic Adaptive Streaming over HTTP (DASH). He led the creation of an OAuth 2.0 TV Everywhere authorization standard, initiated the Google-Microsoft-Netflix contributions to W3C for HTML5 Encrypted Media Extensions (EME) and Media Source Extensions (MSE) and authored an open spec to enable embedded browsers to implement EME without the use of proprietary software. At present John is the Media Platform Architect for Microsoft’s Operating System Group.
While QEMU has continued to be optimised for KVM to make use of the growing number of cores on modern systems TCG emulation has been stuck running in a single thread. This year there is another push to get a workable solution merged upstream. We shall present a review of the challenges that need to be addressed: locking, TLB and cache maintenance and generic solution for the various atomic/exclusive operations. We will discuss previous work that has been done in this field before presenting a design that addresses these requirements. Finally we shall look at the current proposed patches and the design decisions they have taken.
As part of Linaro CI v2 project, several improvements have been implemented and deployed in order to make CI at Linaro faster, more reliable and easier to use by the developers. The session will present the new workflow to setup and maintain CI loops, as well as the tools used by Linaro like Jenkins.
This session is an introductory course on Linux kernel upstreaming fundamentals. The course covers the definition the Linux mainline kernel tree as well as the maintainer hierarchy and processes used to contribute software into the mainline kernel. Special focus is given to understanding what documentation will help understand the process and mechanics in more detail while breaking the workflow into the various steps of upstreaming software patches. The target audience is both software engineers and engineering managers preparing to upstream software into the kernel. The topic requires a solid background in software configuration management terminology and the git SCM tool as well as a good technical understanding of the Linux kernel itself.