This session will cover new features and additions to QEMU that happened over the last year, ranging from new features for KVM support to Multi-Threaded TCG (MTTCG) and QEMU linux-user improvements. We will also discuss upcoming work to support LITE and IoT development and hope for a healthy discussion on requirements for members interested in these areas.

Read more

Cross compiling (building software for one machine type on another) is something that should be familiar to most ARM developers. While kernel cross-compilation is well supported the story for user space is more complex. There are dedicated build systems for creating an entire rootfs from scratch but the overhead of learning them is quite for a single program. The usual fall-back of a linux-user chroot can be quite fiddly to set up and is often unique to each developer's set-up. Virtualisation developer Alex Bennée offers some solutions that utilise Docker's container based approach, optionally with QEMU's linux-user emulation to do builds directly from the command line. In contrast to custom chroots Docker allows the creation of well specified, re-buildable containers that can be simply deployed by new developers. He will talk about the ongoing work to make building test binaries for foreign architectures in QEMU as simple as a make invocation.

Read more

Nested virtualization, the ability to run a virtual machine inside another virtual machine, is increasingly important because of the need to deploy virtual machines running software stacks on top of virtualized cloud infrastructure, as well as for prototyping and testing. As ARM servers make inroads in various deployment scenarios, being able to support nested virtualization on ARM is a key requirement, which has been met recently with the introduction of nested virtualization support in the latest ARMv8.3 revision of the architecture. I will present the initial effort to introduce ARM nested virtualization support to KVM/ARM, which involves adding significant logic to core KVM/ARM code, MMU support, timers, and the GIC emulation. I will also briefly discuss a paravirtualization approach we have used to prototype and evaluate the implementation on current ARMv8 hardware without hardware support for nested virtualization.

Read more

The Linaro Virtualization group will host several sessions at the upcoming Linaro Connect Budapest 2017 (BUD17) and has scheduled a wide array of interesting presentations. Linaro Connect is a great time for engineers interested opensource to get together and to learn more about what is going on not only with Linaro but within the opensource community. As part of this event the Linaro Virtualization team will host three sessions during the week, and Red Hat will host an additional session on their efforts on ARM virtualization.

Read more

Simplifying LAVA operations using Linux Containers (LXC)

Read more

KVM/ARM has grown up. While the initial implementation of virtualization support for ARM processors in Linux was a quality upstream software project, there were initial design decisions simply not suitable for a long-term maintained hypervisor code base. For example, the way KVM/ARM utilized the hardware support for virtualization, was by running a 'switching' layer of code in EL2, purely written in assembly. This was a reasonable design decision in the initial implementation, as the switching layer only had to do one thing: Switch between a VM and the host. But as we began to optimize the implementation, add support for ARMv8.1 and VHE, and added features such as debugging support, we had to move to a more integrated approach, writing the switching logic in C code as well. As another example, the support for virtual interrupts, famously known as the VGIC, was designed with a focus on optimizing MMIO operations. As it turns out, MMIO operations is a less important and infrequent operation on the GIC, and the design had some serious negative consequences for supporting other state transitions for virtual interrupts and had negative performance implications. Therefore, we completely redesigned the VGIC support, and implemented the whole thing from scratch as a team effort, with a very promising result, upstream since Linux v4.7. In this talk we will cover the evolution of this software project and give an overview of the state of the project as it is today.

Read more

The new LAVA dispatcher allows explicit control of starting/controlling guest. Walk through how to use V2 dispatcher for KVM and other VM testing and explore usage of libvirt etc. Share experiences in using V2 dispatcher in general. Plan support for migration and other advanced multinode tests.

Read more

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.

Read more

The need for standardization Hypervisor - VM Bootloader - Kernel interfaces (FDT, ACPI, …) VM Image format (GPT + UEFI + grub/kernel/…) PCIe support Hotplug Virtio and/or Xen drivers Graphics, keyboard, video, mouse?

Read more

- QEMU 64-bit support status - KVM Unit Tests - Cache issues - Defined tests - Performance monitoring - KVM Migration support - Guest debugging (KVM) - Device passthrough (Xen and KVM) - IOMMU Support in Xen - Short preview of ARM VM Standards work

Read more
Page 1 of 212