Xen VT status and TODO lists for Xen-summit. Arun Sharma, Asit Mallick, Jun Nakajima, Sunil Saxena

Similar documents
Optimizing and Enhancing VM for the Cloud Computing Era. 20 November 2009 Jun Nakajima, Sheng Yang, and Eddie Dong

Intel Virtualization Technology Roadmap and VT-d Support in Xen

Development of I/O Pass-through: Current Status & the Future. Nov 21, 2008 Yuji Shimada NEC System Technologies, Ltd.

Xen is not just paravirtualization

Intel Graphics Virtualization on KVM. Aug KVM Forum 2011 Rev. 3

Introduction Construction State of the Art. Virtualization. Bernhard Kauer OS Group TU Dresden Dresden,

Linux Virtualization Update

Junhong Jiang, Kevin Tian, Chris Wright, Don Dugger

Nested Virtualization Update From Intel. Xiantao Zhang, Eddie Dong Intel Corporation

Virtualisation: The KVM Way. Amit Shah

Lecture 7. Xen and the Art of Virtualization. Paul Braham, Boris Dragovic, Keir Fraser et al. 16 November, Advanced Operating Systems


Cloud Computing Virtualization

Virtualization with XEN. Trusted Computing CS599 Spring 2007 Arun Viswanathan University of Southern California

Module 1: Virtualization. Types of Interfaces

VT-d Posted Interrupts. Feng Wu, Jun Nakajima <Speaker> Intel Corporation

Index. 3D support, 257. Boot firmware, 47 Boot trampoline, 40 Booting, 27 Borrowed virtual time scheduler, 219 Breakpoints, , 27

Xen and the Art of Virtualization. CSE-291 (Cloud Computing) Fall 2016

Virtualization. Pradipta De

CS-580K/480K Advanced Topics in Cloud Computing. VM Virtualization II

Xen. past, present and future. Stefano Stabellini

Xen and the Art of Virtualization

COSC6376 Cloud Computing Lecture 14: CPU and I/O Virtualization

Linux and Xen. Andrea Sarro. andrea.sarro(at)quadrics.it. Linux Kernel Hacking Free Course IV Edition

Xen on ARM ARMv7 with virtualization extensions

Virtual Machines. Part 2: starting 19 years ago. Operating Systems In Depth IX 1 Copyright 2018 Thomas W. Doeppner. All rights reserved.

Graphics Pass-through with VT-d

The Challenges of X86 Hardware Virtualization. GCC- Virtualization: Rajeev Wankar 36

Support for Smart NICs. Ian Pratt

Advanced Operating Systems (CS 202) Virtualization

Real Safe Times in the Jailhouse Hypervisor Unrestricted Siemens AG All rights reserved

Virtualization. Starting Point: A Physical Machine. What is a Virtual Machine? Virtualization Properties. Types of Virtualization

Virtualization. ! Physical Hardware Processors, memory, chipset, I/O devices, etc. Resources often grossly underutilized

Xen and the Art of Virtualization. Nikola Gvozdiev Georgian Mihaila

COMPUTER ARCHITECTURE. Virtualization and Memory Hierarchy

Virtualization. ...or how adding another layer of abstraction is changing the world. CIS 399: Unix Skills University of Pennsylvania.

CS 550 Operating Systems Spring Introduction to Virtual Machines

ACRN: A Big Little Hypervisor for IoT Development

KVM Weather Report. Red Hat Author Gleb Natapov May 29, 2013

I/O and virtualization

references Virtualization services Topics Virtualization

Mission-Critical Enterprise Linux. April 17, 2006

Nested Virtualization and Server Consolidation

Virtual Machine Security

Vhost and VIOMMU. Jason Wang (Wei Xu Peter Xu

Introduction to Oracle VM (Xen) Networking

Programmed I/O accesses: a threat to Virtual Machine Monitors?

Hypervisor security. Evgeny Yakovlev, DEFCON NN, 2017

CSC 5930/9010 Cloud S & P: Virtualization

Virtual Machine Monitors!

Spring 2017 :: CSE 506. Introduction to. Virtual Machines. Nima Honarmand

Managing your real hardware: Installation, Boot, Hardware changes. Olivier Crémel Staff Engineer

What is KVM? KVM patch. Modern hypervisors must do many things that are already done by OSs Scheduler, Memory management, I/O stacks

Virtualization, Xen and Denali

Background. IBM sold expensive mainframes to large organizations. Monitor sits between one or more OSes and HW

KVM for IA64. Anthony Xu

SUSE Linux Enterprise Server: Supported Virtualization Technologies

1 Virtualization Recap

Server Virtualization Approaches

Virtualization BOF. Isaku Yamahata

SCSI support improvement

Practical Xen Testing at Intel

System Virtual Machines

Virtualization and memory hierarchy

Lecture 5: February 3

Hardware Virtualization Trends

Virtualization. Operating Systems, 2016, Meni Adler, Danny Hendler & Amnon Meisels

Overview of System Virtualization: The most powerful platform for program analysis and system security. Zhiqiang Lin

The only open-source type-1 hypervisor

I/O virtualization. Jiang, Yunhong Yang, Xiaowei Software and Service Group 2009 虚拟化技术全国高校师资研讨班

CSE 120 Principles of Operating Systems

Xen on ARM. How fast is it, really? Stefano Stabellini. 18 August 2014

Xen Project 4.4: Features and Futures. Russell Pavlicek Xen Project Evangelist Citrix Systems

The Ongoing Evolution of Xen

Xen on ARM. Stefano Stabellini

Hardware assisted Virtualization in Embedded

VGA Assignment Using VFIO. Alex Williamson October 21 st, 2013

How virtualization makes power management different

Lecture 5. KVM for ARM. Christoffer Dall and Jason Nieh. 5 November, Operating Systems Practical. OSP Lecture 5, KVM for ARM 1/42

The Washington University Smart Port Card

Knut Omang Ifi/Oracle 20 Oct, Introduction to virtualization (Virtual machines) Aspects of network virtualization:

Enhancing pass through device support with IOMMU. Haitao Shan Yunhong Jiang Allen M Kay Eddie (Yaozu) Dong

Designing Interoperability into IA-64 Systems: DIG64 Guidelines

Dr. Song Fu 3/22/2010

Xen and the Art of Virtualiza2on

Pre-virtualization internals

Virtual Machines. Jinkyu Jeong Computer Systems Laboratory Sungkyunkwan University

Device I/O Programming

Introduction of AMD Advanced Virtual Interrupt Controller

KVM PV DEVICES.

evm for Windows* User Manual

Intel s Virtualization Extensions (VT-x) So you want to build a hypervisor?

KVM Weather Report. Amit Shah SCALE 14x

CSE543 - Computer and Network Security Module: Virtualization

System Virtual Machines

CSE543 - Computer and Network Security Module: Virtualization

OS Virtualization. Why Virtualize? Introduction. Virtualization Basics 12/10/2012. Motivation. Types of Virtualization.

for Kerrighed? February 1 st 2008 Kerrighed Summit, Paris Erich Focht NEC

Implementation of Xen PVHVM drivers in OpenBSD

VIRTUALIZATION: IBM VM/370 AND XEN

Transcription:

Xen VT status and TODO lists for Xen-summit Arun Sharma, Asit Mallick, Jun Nakajima, Sunil Saxena R

Outline VMX Guests Status Summary Status Domain0 restructuring PCI/IOAPIC X86-64 VMX guests enhancements Guest FW QEMU Device Models Paravirtualized drivers TODO list 2

VMX Guests Status Summary VMX: Full support of 32-bit unmodified Linux guests without FW on IA-32 platforms Includes support of standard PC platform devices 32-bit unmodified Linux guest support without FW added to EM64T Making Good progress on (Q2) Domain0 restructuring PCI/IOAPIC X86-64 support (64-bit unmodified guests) VMX guests enhancements Guest FW In plan (Q3) Device models, paravirtualized drivers SMP support for VMX guests, IPF VT guests, performance, installation 3

Domain0 restructuring PCI/IOAPIC Xen IO architecture today Xen enumerates PCI devices Xen partitions the devices among domains Adds complexity to Xen Complex PCI configurations, need for ACPI Many workarounds for PCI hardware bugs needed Proposed Solution Move all PCI device enumeration code to Domain0 Including full support of ACPI Also requires enabling PCI, Local and I/O APIC 4

Domain0 restructuring PCI/IOAPIC (cont.) Splitting of Resources and Device Enumeration Xen Domain0 Owns Local APIC, IOAPIC including assignment of interrupt vectors ACPI tables parsing only (no AML interpreter) Full ACPI support Need to map ACPI tables into domain0 Xen passes ACPI table pointer in shared_info_t Local APIC Stubs to satisfy MP parsing IO APIC Accessed by Domain0 using hypercalls Primarily to set interrupt redirection entry PCI Device Enumeration 5

Domain0 restructuring PCI/IOAPIC (Status) A patch against xeno-unstable.bk exists and boots on some machines Need to validate on a wider variety of machines Especially ones with complex PCI configurations Other outstanding works MSI support Need to covert Domain0 IRQ to vector (hypercall) Partitioning of devices between domains PCI Hotplug support Hotplug of I/O APICs? 6

X86-64 64 Status It s in unstable BK tree Stable and usable Multi-user mode, e.g. login from remote and build the kernel What s left DomU support. Tested to build 32-bit VMX domain SMP support, 32-bit binary support, IOMMU, writable page tables, NUMA support? Performance tuning Running on big machines (# of CPUs, memory, I/O) Need help from community Actively build, test, use. Finish what s left 7

X86-64 64 Restructuring Need to have common chipset/platform code among {x86-32, x86-64} x {Linux, XenoLinux} for better code maintenance No compelling reasons for them to be slightly different: time.c, smp.c, smpboot.c, several headers Shared files with x86 as much as possible, but not enough Timer, PCI, microcode, etc. We can use the same code for x86-32 and x86-64 more for xenolinux Initialization Chipset/platform support PCI, APIC, ACPI, interrupt management, most of trap handling, timer management Processor specific part CPU detection, most of context switching SMP support 8

X86-64 64 Status VMX guests 32-bit VMX guests are available on both 32-bit and 64-bit VT-x Xen Working on: 64-bit guests support 4-level/3-level shadow mode support Enhanced 32-bit support PAE, execute Disable (XD) support on 64-bit VT-x Xen Extend shadow code to support 4-level cleanly to support both types of guests SMP guest support Local and I/O APIC support Test more on MP systems 9

VMX Guests Enhancements: Device Models What we have today Bochs device models providing PS/2 kbd/mouse, CMOS/RTC, Timer (8254), Generic PCI bridge, EIDE, VGA, Serial ports, NMI Ports, Floppy, NIC NE2K (ISA), Local APIC, IOAPIC, CDROM, USB Gaps: SCSI, PCI NIC, IDE-DMA What we are planning to do: switch to QEMU Get PCI NIC and IDE-DMA for free Code written in C Need to implement some functionality (for eg: APIC) either from unstable or Bochs Status: Implementation complete, under regression/performance testing. 10

VMX Guests Enhancements: VBD/VNIC Domain 0 Xenolinux Domain N Guest VM (VMX domain) 3P 1P Control Panel (xm/xend) PCI Device (Virtual Event Channel) Native Device Drivers Device Models Backend Virtual driver Callback Req/Resp Ring Buffer VBD VNIC App Event Channel Driver Unmodified Linux FE Virtual Drivers Guest BIOS Virtual Platform VMExit 3D 0D 0P Control Interface Event channel Scheduler Processor Memory I/O: PIT, APIC, PIC PCI, ACPI Xen Hypervisor 11 Event Channel Hypercalls

VMX Guests Enhancements: VBD/VNIC Status Basic implementation complete Not integrated with PCI virtual event channel device model Testing/performance analysis in progress Work remaining Use of grant tables instead of mpa 12

Guest FW Architecture xm Web client Domain 0 Control Panel Physical Device Drivers 6 xend Device Models PIC IDE SCSI Net Send event - response packet 5 Dispatcher 4 a b Send event - request packet VMX domain Unmodified Linux Emulator/Execution Environment 2 Boot Loader ROM BIOS (Real Mode code @ 0xF000:0) VGA BIOS (Real Mode code @0xC000:0) BIOS Data (Generated by ROM BIOS) 1 c VMExit Arch -> request packet - Decode I/O - Creat request packet Control Interface Port x Scheduler Hypervisor 13 7 Resp ->Arch state Event Channel Processor Memory I/O: PIT, APIC, PIC PCI, ACPI 3 Hypercalls VMexit -> Port n

Guest FW Status Real Mode Emulator Implementation complete and integrated into Guest FW execution environment ROM BIOS Using BOCHS/Plex86 ROM BIOS Extended to E820 memory map to be dynamic Adding ACPI support VGA BIOS Using BOCHS/Plex86 VGA BIOS Control Panel Enhancements Enhanced to load Execution environment, ROM BIOS and VGA BIOS in a VMX domain 14

TODO > 4 Gig memory support for 32-bit Xen and 32-bit domains PAE support Discontigous memory support in Xen 32-bit/64-bit MP Guests Debugger / Crash dump Performance monitoring tools Scheduler enhancements for load balancing Power-management 15