+ All Categories
Home > Technology > LCA14: LCA14-101: ARM VM Standards

LCA14: LCA14-101: ARM VM Standards

Date post: 10-May-2015
Category:
Upload: linaro
View: 261 times
Download: 1 times
Share this document with a friend
Description:
Resource: LCA14 Name: LCA14-101: ARM VM Standards Date: 03-03-2014 Speaker: Christoffer Dall Video: https://www.youtube.com/watch?v=Qh3SX3p3B74
Popular Tags:
12
Mon-3-Mar, 10:05am, Christoffer Dall LCA14-101: ARM VM Standards
Transcript
Page 1: LCA14: LCA14-101: ARM VM Standards

Mon-3-Mar, 10:05am, Christoffer Dall

LCA14-101: ARM VM Standards

Page 2: LCA14: LCA14-101: ARM VM Standards

• Discussion at LCU13

• Trying to answer main question:

How do distribution vendors package and ship ARM VMs so that they can be expected to run on the

ARM hypervisors out there?

Background

Page 4: LCA14: LCA14-101: ARM VM Standards

• Build single image, run everywhere

• Valid recommendations for both aarch32 and aarch64

• The SBSA doesn’t cover it• Mandated EL2

• Mandates pl011

• aarch32 not supported

Goal

Page 5: LCA14: LCA14-101: ARM VM Standards

• Must be well-defined

• Must be GPT with EFI application in EFI System

Partition (ESP)

• Must use removable path (no preexisting UEFI config)

• Supports both KVM and Xen

• Example: Grub2 as EFI application loads Linux

Image Format

Page 6: LCA14: LCA14-101: ARM VM Standards

• Required: Must be able to boot EFI application in ESP

• Obvious recommendation is UEFI implementation• Linaro is already working on this

• Recommended to support persistent environment storage:• Supports adding disks later• Supports running installers later

• Firmware distributed as part of distribution, not with VM image

Virtual Firmware

Page 7: LCA14: LCA14-101: ARM VM Standards

• The Linux kernel boot protocol requires an FDT• Even when using ACPI and UEFI• FDT -> UEFI System Table -> ACPI root pointer

• Therefore:• ACPI is discoverable through FDT, or• the FDT describes the system directly

Hardware Description

Page 8: LCA14: LCA14-101: ARM VM Standards

• Must support at least one of:• (1) aarch32 on aarch32

• (2) aarch32 on aarch64

• (3) aarch64 on aarch64

• Mandatory peripherals:• Serial console (pl011, virtio-console, or Xen PV console)

• GICv2 or newer

• Architected Timer

• Hotpluggable bus (virtual PCIe or Xen PV bus)

VM Platform

Page 9: LCA14: LCA14-101: ARM VM Standards

• Must support GICv2 and newer. Maintaining backwards

compatibility.

• Strongly recommended to support all of:• block, network, console, balloon drivers, e.g.

• virtio-pci

• virtio-mmio

• Xen PV drivers

• Will leverage mach-virt kernel facilities, but these are loosely coupled concepts.

Guest OS Recommendations

Page 10: LCA14: LCA14-101: ARM VM Standards

• Mandate serial port (reduced pl011)

• Use cases for ACPI (device assignment, verification,

unification)

• Fixed memory map (UEFI)

• Issue concerning kernel comand line (console=?)

Open Questions

Page 11: LCA14: LCA14-101: ARM VM Standards

• RFC: http://lists.linaro.org/pipermail/cross-distro/2014-February/000589.html

• Questions?

Resources and Questions

Page 12: LCA14: LCA14-101: ARM VM Standards

More about Linaro Connect: http://connect.linaro.orgMore about Linaro: http://www.linaro.org/about/

More about Linaro engineering: http://www.linaro.org/engineering/Linaro members: www.linaro.org/members


Recommended