SlideShare ist ein Scribd-Unternehmen logo
1 von 27
Downloaden Sie, um offline zu lesen
Xen on ARM
Stefano Stabellini
What is Xen?
● a type-1 hypervisor
● small footprint (less than 90K LOC)
Xen: Open Source
GPLv2 with DCO (like Linux)
Diverse contributor community
Xen: Open Source
source:
Mike Day
http://code.ncultra.org
Xen: the gears of the cloud
● large user base
more than 10 million individuals users

● power the largest clouds in
production
● not just for servers
Xen Architecture
Dom0

DomU

DomU

DomU

PV backends

PV Frontends

PV Frontends

PV Frontends

HW drivers

Xen
Hardware
Xen Architecture:
driver domains

Toolstack

Disk Driver
Domain

Network
Driver Domain

DomU

BlockBack

Dom0

NetBack

BlockFront

Disk Driver

Network Driver

NetFront

Xen
Hardware
Xen Architecture:
driver domains
● disaggregation and componentization
● security and isolation
● resilience
● hardware vendors can run their drivers in
separate VMs
○ could run in a RTOS environment
○ hidden from the user
■ media codecs, crypto keys, etc.
Xen on ARM: not just a port
● a lean and simple architecture
○
○
○
○
○

removed cruft accumulated during the years
no emulation, no QEMU
use PV drivers for IO as early as possible
one type of guest
exploit the hardware as much as possible

● a very good match for the hardware
● clean architecture = small code base
Xen on ARM architecture
Xen on ARM architecture
Code size
sometimes smaller is better
Common

ARMv7

ARMv8

Total

xen/arch/arm

5,122

1,969

821

7,912

C

5,023

406

344

5,773

99

1,563

477

2,139

2,315

563

666

3,544

2,532 1,487

11,456

ASM
xen/include/asm-arm

TOTAL

7,437

● X86_64-bit: ~120,000LOC (~4,000 ASM)
● ARM code ~= 1/10 x86_64 code
Achievements of one year
Xen support for ARM
upstream in Linux 3.7

Xen support for ARM64
upstream in Linux 3.11

Xen 64-bit
on ARM64

You are here
11/11

08/12 09/12

Part-time Xen ARM
hacking starts

11/12

Xen running on real
ARM hardware

First Xen on ARM talk at
Xen Summit 2012

01/13

03/13

Citrix announces
that will be joining
Linaro

06/13

07/13

Xen 4.3 released with
ARM and ARM64
support
A growing community
Xen-devel ARM traffic from August 2012:
● 4685 emails: 360 emails per month!
● 39% of which are not from Citrix
Hardware support
Upstream:
● Versatile Express Cortex A15
● Arndale board
● ARMv8 FVP
In progress:
●
●
●
●
●

Cubieboard2
Calxeda “Midway”
Applied Micro “Mustang”
Broadcom Brahma-B15
OMAP5
Porting Xen to a new board
● Xen only relies on GIC and GT
● platform specific code in Xen is reduced to:
○ secondary cpus bring up
○ UART drivers
○ any platform specific bootup quirks (ideally none)
Upstream features
Xen v4.3:
● basic lifecycle operations
● memory ballooning
● scheduler configurations and vcpu pinning
Linux v3.11:
● dom0 and domU support
● 32-bit and 64-bit support
● SMP support
● PV disk, network and console
Android on Xen on ARM
● Android is based on the Linux kernel
○ Jelly Bean uses Linux 3.4, when it updates to 3.7 will
get Xen on ARM support out of the box

● Additional work needed to support client
devices (compass, GPS, etc.) on multiple
VMs
○ easy to export 1 device to 1 VM
○ otherwise each type of device needs a PV drivers
pair
PV Protocols
Backend

Request Producer

Frontend

Request Consumer

Response
Consumer

Response Producer
PV Protocols
●
●
●
●
●

shared ring protocol
software interrupts AKA event channels
consensual memory sharing: grant table
easy to write
plenty of examples
○ network, block, console, PCI, keyboard, mouse,
framebuffer, sound, SCSI, USB, …
Porting other OSes to Xen
on ARM
● No invasive modifications needed
● only some new drivers:
○ grant table, xenbus and event channels
○ PV drivers for network, block, console, etc.

● BSD drivers already exist in NetBSD and
FreeBSD, can they be reused?
● FreeBSD port to Xen on ARM in progress
Coming in Xen 4.4
● 64-bit guest support
● live-migration
● SWIOTLB
A look into the future
●
●
●
●

IOMMU support in Xen
device assignment
UEFI booting
ACPI support
Xen for automotive: why?
● type-1
● small footprint
○ small codebase
○ no QEMU, no emulation

● driver domains / service VMs
○ componentization
○ security
○ support for legacy drivers

● supports Linux out of the box
● easy to port other OSes to Xen on ARM
More Information
● http://www.xenproject.org
● Xen on ARM @wiki.xenproject.org goo.
gl/FKNXe
● http://lists.xen.org/mailman/listinfo/xen-devel
Questions?
ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Stabellini, Citrix

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
Rootlinux17: Hypervisors on ARM - Overview and Design Choices by Julien Grall...
 
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
XPDS13: Xen in OSS based In–Vehicle Infotainment Systems - Artem Mygaiev, Glo...
 
LCA13: Xen on ARM
LCA13: Xen on ARMLCA13: Xen on ARM
LCA13: Xen on ARM
 
LFCollab14: Xen vs Xen Automotive
LFCollab14: Xen vs Xen AutomotiveLFCollab14: Xen vs Xen Automotive
LFCollab14: Xen vs Xen Automotive
 
Xen Hypervisor
Xen HypervisorXen Hypervisor
Xen Hypervisor
 
Bare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for InnovationBare-Metal Hypervisor as a Platform for Innovation
Bare-Metal Hypervisor as a Platform for Innovation
 
Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022Xen in Safety-Critical Systems - Critical Summit 2022
Xen in Safety-Critical Systems - Critical Summit 2022
 
Xen Memory Management
Xen Memory ManagementXen Memory Management
Xen Memory Management
 
GPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive SolutionsGPU Virtualization in Embedded Automotive Solutions
GPU Virtualization in Embedded Automotive Solutions
 
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVMHypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
Hypervisors and Virtualization - VMware, Hyper-V, XenServer, and KVM
 
RunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edgeRunX: deploy real-time OSes as containers at the edge
RunX: deploy real-time OSes as containers at the edge
 
Android Virtualization: Opportunity and Organization
Android Virtualization: Opportunity and OrganizationAndroid Virtualization: Opportunity and Organization
Android Virtualization: Opportunity and Organization
 
Kubernetes dealing with storage and persistence
Kubernetes  dealing with storage and persistenceKubernetes  dealing with storage and persistence
Kubernetes dealing with storage and persistence
 
Power Management from Linux Kernel to Android
Power Management from Linux Kernel to AndroidPower Management from Linux Kernel to Android
Power Management from Linux Kernel to Android
 
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime RipardKernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
 
Docker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and securityDocker, Linux Containers (LXC), and security
Docker, Linux Containers (LXC), and security
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
 
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
Simultaneously Leveraging Linux and Android in a GENIVI compliant IVI System
 
Function Level Analysis of Linux NVMe Driver
Function Level Analysis of Linux NVMe DriverFunction Level Analysis of Linux NVMe Driver
Function Level Analysis of Linux NVMe Driver
 

Ähnlich wie ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Stabellini, Citrix

Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
The Linux Foundation
 
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driverKernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Anne Nicolas
 

Ähnlich wie ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Stabellini, Citrix (20)

Linaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARMLinaro connect : Introduction to Xen on ARM
Linaro connect : Introduction to Xen on ARM
 
Improving Scalability of Xen: The 3,000 Domains Experiment
Improving Scalability of Xen: The 3,000 Domains ExperimentImproving Scalability of Xen: The 3,000 Domains Experiment
Improving Scalability of Xen: The 3,000 Domains Experiment
 
BKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack UpdateBKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack Update
 
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, CitrixLCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
 
BKK16-105 HALs for LITE
BKK16-105 HALs for LITEBKK16-105 HALs for LITE
BKK16-105 HALs for LITE
 
Container based android
Container based androidContainer based android
Container based android
 
OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training
 
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCPOscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
Oscon 2012 : From Datacenter to the Cloud - Featuring Xen and XCP
 
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) WinningKernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
Kernel Recipes 2016 - Upstream Kernel Graphics is (Finally) Winning
 
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
Android As a Server- Building Android for the Cloud (AnDevCon SF 2013)
 
Linux container & docker
Linux container & dockerLinux container & docker
Linux container & docker
 
Hacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on LinuxHacking with ARM Mobile devices on Linux
Hacking with ARM Mobile devices on Linux
 
RHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdfRHEL5 XEN HandOnTraining_v0.4.pdf
RHEL5 XEN HandOnTraining_v0.4.pdf
 
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driverKernel Recipes 2014 - The Linux graphics stack and Nouveau driver
Kernel Recipes 2014 - The Linux graphics stack and Nouveau driver
 
Porting Android
Porting AndroidPorting Android
Porting Android
 
SoC Idling for unconf COSCUP 2016
SoC Idling for unconf COSCUP 2016SoC Idling for unconf COSCUP 2016
SoC Idling for unconf COSCUP 2016
 
BKK16-410 SoC Idling & CPU Cluster PM
BKK16-410 SoC Idling & CPU Cluster PMBKK16-410 SoC Idling & CPU Cluster PM
BKK16-410 SoC Idling & CPU Cluster PM
 
Linux
LinuxLinux
Linux
 
Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3Leveraging Android's Linux Heritage at AnDevCon3
Leveraging Android's Linux Heritage at AnDevCon3
 
embedded-linux-120203.pdf
embedded-linux-120203.pdfembedded-linux-120203.pdf
embedded-linux-120203.pdf
 

Mehr von The Linux Foundation

Mehr von The Linux Foundation (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
 
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
 
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
 
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote:  Unikraft Weather ReportXPDDS19 Keynote:  Unikraft Weather Report
XPDDS19 Keynote: Unikraft Weather Report
 
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
 
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, XilinxXPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
 
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
 
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, BitdefenderXPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
 
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...OSSJP/ALS19:  The Road to Safety Certification: Overcoming Community Challeng...
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
 
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making... OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
 
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, CitrixXPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
 
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltdXPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
 
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
 
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&DXPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
 
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM SystemsXPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
 
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
 
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
 
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
 
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSEXPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
 

Kürzlich hochgeladen

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Kürzlich hochgeladen (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 

ALSF13: Xen on ARM - Virtualization for the Automotive Industry - Stefano Stabellini, Citrix

  • 1. Xen on ARM Stefano Stabellini
  • 2. What is Xen? ● a type-1 hypervisor ● small footprint (less than 90K LOC)
  • 3. Xen: Open Source GPLv2 with DCO (like Linux) Diverse contributor community
  • 4. Xen: Open Source source: Mike Day http://code.ncultra.org
  • 5. Xen: the gears of the cloud ● large user base more than 10 million individuals users ● power the largest clouds in production ● not just for servers
  • 6. Xen Architecture Dom0 DomU DomU DomU PV backends PV Frontends PV Frontends PV Frontends HW drivers Xen Hardware
  • 7. Xen Architecture: driver domains Toolstack Disk Driver Domain Network Driver Domain DomU BlockBack Dom0 NetBack BlockFront Disk Driver Network Driver NetFront Xen Hardware
  • 8. Xen Architecture: driver domains ● disaggregation and componentization ● security and isolation ● resilience ● hardware vendors can run their drivers in separate VMs ○ could run in a RTOS environment ○ hidden from the user ■ media codecs, crypto keys, etc.
  • 9. Xen on ARM: not just a port ● a lean and simple architecture ○ ○ ○ ○ ○ removed cruft accumulated during the years no emulation, no QEMU use PV drivers for IO as early as possible one type of guest exploit the hardware as much as possible ● a very good match for the hardware ● clean architecture = small code base
  • 10. Xen on ARM architecture
  • 11. Xen on ARM architecture
  • 12. Code size sometimes smaller is better Common ARMv7 ARMv8 Total xen/arch/arm 5,122 1,969 821 7,912 C 5,023 406 344 5,773 99 1,563 477 2,139 2,315 563 666 3,544 2,532 1,487 11,456 ASM xen/include/asm-arm TOTAL 7,437 ● X86_64-bit: ~120,000LOC (~4,000 ASM) ● ARM code ~= 1/10 x86_64 code
  • 13. Achievements of one year Xen support for ARM upstream in Linux 3.7 Xen support for ARM64 upstream in Linux 3.11 Xen 64-bit on ARM64 You are here 11/11 08/12 09/12 Part-time Xen ARM hacking starts 11/12 Xen running on real ARM hardware First Xen on ARM talk at Xen Summit 2012 01/13 03/13 Citrix announces that will be joining Linaro 06/13 07/13 Xen 4.3 released with ARM and ARM64 support
  • 14. A growing community Xen-devel ARM traffic from August 2012: ● 4685 emails: 360 emails per month! ● 39% of which are not from Citrix
  • 15. Hardware support Upstream: ● Versatile Express Cortex A15 ● Arndale board ● ARMv8 FVP In progress: ● ● ● ● ● Cubieboard2 Calxeda “Midway” Applied Micro “Mustang” Broadcom Brahma-B15 OMAP5
  • 16. Porting Xen to a new board ● Xen only relies on GIC and GT ● platform specific code in Xen is reduced to: ○ secondary cpus bring up ○ UART drivers ○ any platform specific bootup quirks (ideally none)
  • 17. Upstream features Xen v4.3: ● basic lifecycle operations ● memory ballooning ● scheduler configurations and vcpu pinning Linux v3.11: ● dom0 and domU support ● 32-bit and 64-bit support ● SMP support ● PV disk, network and console
  • 18. Android on Xen on ARM ● Android is based on the Linux kernel ○ Jelly Bean uses Linux 3.4, when it updates to 3.7 will get Xen on ARM support out of the box ● Additional work needed to support client devices (compass, GPS, etc.) on multiple VMs ○ easy to export 1 device to 1 VM ○ otherwise each type of device needs a PV drivers pair
  • 19. PV Protocols Backend Request Producer Frontend Request Consumer Response Consumer Response Producer
  • 20. PV Protocols ● ● ● ● ● shared ring protocol software interrupts AKA event channels consensual memory sharing: grant table easy to write plenty of examples ○ network, block, console, PCI, keyboard, mouse, framebuffer, sound, SCSI, USB, …
  • 21. Porting other OSes to Xen on ARM ● No invasive modifications needed ● only some new drivers: ○ grant table, xenbus and event channels ○ PV drivers for network, block, console, etc. ● BSD drivers already exist in NetBSD and FreeBSD, can they be reused? ● FreeBSD port to Xen on ARM in progress
  • 22. Coming in Xen 4.4 ● 64-bit guest support ● live-migration ● SWIOTLB
  • 23. A look into the future ● ● ● ● IOMMU support in Xen device assignment UEFI booting ACPI support
  • 24. Xen for automotive: why? ● type-1 ● small footprint ○ small codebase ○ no QEMU, no emulation ● driver domains / service VMs ○ componentization ○ security ○ support for legacy drivers ● supports Linux out of the box ● easy to port other OSes to Xen on ARM
  • 25. More Information ● http://www.xenproject.org ● Xen on ARM @wiki.xenproject.org goo. gl/FKNXe ● http://lists.xen.org/mailman/listinfo/xen-devel