PowerPC

From KVM
Revision as of 10:22, 11 March 2009 by Jeremy.perry@redhat.com (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

PowerPC

Introduction

Embedded system designers are becoming intensely interested in virtualization for a variety of reasons, including security, reliability, licensing, legacy software support (especially related to multicore processors), and flexibility in resource provisioning. The most prominent examples of embedded virtualization today are the Xbox 360 and PlayStation 3 game consoles, both of which ship with a hypervisor.

(IBM's Power System servers, which use server-architecture PowerPC processors, already ship with an integrated enterprise-class hypervisor, and we are not targeting those systems.)

Technical Overview

Current development is aimed at running 440 Linux kernels as guests on 440 Linux host. Since the 440 processor does not implement virtualization hardware support, this is done via "trap and emulate" of privileged instructions executed inside the guest.

In the future, guests may be optionally modified to exploit a paravirtualized interface to improve performance.

Future Hardware Support

Version 2.06 of the Power ISA defines the hardware virtualization acceleration architecture for Book E.

Freescale announed in June 2008 that the e500mc core, which will be found in the P4 QorIQ processors (such as the P4080), will implement the Book E 2.06 hypervisor architecture.

Code

There are three different components to build in a KVM system: the host kernel (which includes KVM), host userspace (which utilizes the interface exposed by the KVM kernel module), and the guest kernel (which runs inside the virtual machine).

Design and Implementation notes

Measurements

  • PowerPC_Exittimings - an overview of workload dependent overhead on non hardware assisted powerpc virtualization

Presentations