UEFI has become ubiquitous on the PC client systems and is coming up on servers and ARM-based systems, it is becoming the converged firmware infrastructure. UEFI Secure Boot feature has attracted a lot of attention from the Linux community. Linux distros and Linux Foundation have found solutions. This presentation provides a review of the motivations behind the creation of the UEFI technology, the history, the current status, and the future. It provides an update on the new significant developments since the publication of UEFI Spec v2.3.1C last June. It also serves as a venue for Q&A with the Linux community.
The main targeted audience of this presentation is the Linux OS loader and kernel developers dealing with the machine dependent interactions with the platforms.
The LLVM project is an extensive compiler technology suite which is becoming commonplace in many industries. Technology built with LLVM is already shipped in millions of Linux devices as a part of Android/Renderscript. Increasingly it is becoming a big part of the development process for embedded projects, all the way up through to high performance computing clusters. This session will provide an update on the status of the LLVMLinux project; a project which is cooperating with both the Linux kernel and LLVM communities to build the Linux kernel with Clang/LLVM.
The audience is any developers concerned about meeting real-time performance based specifications for their systems. Further, detailed timing measurements often play a significant role in debugging. Another use case involves CPU as designers often wish to compare algorithms across CPU architectures to help make their decisions, wherein clock cycle measurements may be used for direct “apples-to-apples” comparisons. These direct measurement techniques should benefit most real-time Linux based developments. This work is an easy to use open source development tool for the Linux ecosystem that adds to the already long list of other Linux tools that are useful in real-time Linux based applications.
There are a few flavors of real-time Linux out in the world. One of the most popular is the PREEMPT_RT kernel, which is slowly making its way into mainline Linux. In the past, I have given presentations describing what PREEMPT_RT does to Linux to make it real-time. But using PREEMPT_RT, you need to know a lot more than just the kernel. A real-time OS requires understanding everything from the hardware you use, the kernel, as well as the applications that sit on top. This talk will be a crash course into how to set up your environment using PREEMPT_RT Linux, explaining things like priorities for interrupts, how softirq's are done, using the priority inheritance mutexes, and other techniques required to avoid the gotcha's that real-time can get you with.
Support for page migration in IOMMU subsystem is presented. This is essential for usage of memory from Contiguous Memory Allocator by IOMMU enhanced hardware. Adding a support for migration requires extensions to DMA framework and fault handling to IOMMU domain API. Migration can be realized by using utilizing code for anonymous pages by introducing a fake mm_struct. Use migrate callback delivered by a new file system dedicated. Other method is introducing a new page type (besides file, anon, and kms). All kinds of mechanism are discussed in detail. Moreover, methods for handling from simultaneous faults from both IOMMU and CPU during migration are described.