SlideShare a Scribd company logo
© Copyright 2019 Xilinx
Stefano Stabellini – Xen Developer Summit July 2019
Xen Dom0-less
© Copyright 2019 Xilinx
Traditional Xen System Configuration and Boot
>> 2
U-Boot
Xen
Dom0
DomU 1 DomU 2
CPU0 CPU1 CPU2
boots
xl
© Copyright 2019 Xilinx
Traditional Xen System Configuration and Boot
>> 3
U-Boot
Xen
Dom0
DomU 1 DomU 2
CPU0 CPU1 CPU2
boots
xl
quit
© Copyright 2019 Xilinx
The problem
˃ Boot Time
total > xen + dom0_kernel + dom0_user
˃ Safety Certifications
Dom0 doesn’t have to be Linux but it typically is
non-Linux Dom0
exit Dom0 after boot
˃ Complexity
build-time complexity
‒ Yocto rootfs build
runtime flexibility
‒ Monitoring
‒ VMs restart
© Copyright 2019 Xilinx
Dom0-less
© Copyright 2019 Xilinx
Dom0-less System Configuration and Boot
>> 6
U-Boot
Xen
Dom0 DomU 1 DomU 2
CPU CPU CPU
loads into memoryloads into memory
© Copyright 2019 Xilinx
Dom0-less System Configuration and Boot
>> 7
U-Boot
Xen
Dom0 DomU 1 DomU 2
CPU CPU CPU
boots
boots
© Copyright 2019 Xilinx
Dom0-less System Configuration and Boot
>> 8
U-Boot
Xen
Dom0 DomU 1 DomU 2
CPU CPU CPU
Dom0DomU 3
CPU
xl
Frontend Backend
Dom0-less VMs
© Copyright 2019 Xilinx
U-Boot + Device Tree protocol
˃ Load all the required binaries via U-Boot commands
tftpb 0x4000000dom0less/mpsoc.dtb
tftpb 0x80000 dom0less/Image-dom0
tftpb 0x5000000dom0less/uXen
tftpb 0xd000000 dom0less/dom0-ramdisk.cpio.uboot
tftpb 0xa000000 dom0less/Image-domU
tftpb 0xb000000 dom0less/domU-ramdisk.cpio
bootm 0x5000000 0xd000000 0x4000000
© Copyright 2019 Xilinx
U-Boot + Device Tree protocol
˃ Advertise and configure Dom0-less VMs via Device Tree
domU1 {
compatible = "xen,domain";
memory = <0x20000>;
cpus = 1;
vpl011;
module@a000000 {
compatible = "multiboot,kernel", "multiboot,module";
reg = <0xa000000 0xffffff>;
bootargs = "console=ttyAMA0";
};
module@b0000000 {
compatible = "multiboot,ramdisk", "multiboot,module";
reg = <0xb000000 0xffffff>;
};
};
© Copyright 2019 Xilinx
Dom0-less Device Assignment
>> 11
U-Boot
Xen
Dom0 DomU 1 DomU 2
CPU CPU CPU
boots
boots
Network
Card
Other
Devices
© Copyright 2019 Xilinx
Dom0-less Device Assignment
˃ Configured via a nested device tree snippet
domU1 {
[…]
module@a000000 {
compatible = "multiboot,kernel", "multiboot,module";
reg = <0xa000000 0xffffff>;
bootargs = "console=ttyAMA0";
};
module@b0000000 {
compatible = "multiboot,ramdisk", "multiboot,module";
reg = <0xb000000 0xffffff>;
};
module@c000000 {
compatible = "multiboot,device-tree", "multiboot,module";
reg = <0xc0000000xffffff>;
};
};
© Copyright 2019 Xilinx
Dom0-less Device Assignment
˃ Configured via a nested device tree snippet
the device tree node of the device to assign
same as for regular DomUs
Special properties:
‒ interrupts: interrupts to remap
‒ interrupt-parent: special reference to GIC parent
(65000)
‒ xen,path: path to the device node in the main DT
‒ xen,reg: memory to remap
/dts-v1/;
/ {
#address-cells = <0x2>;
#size-cells = <0x1>;
passthrough {
compatible = "simple-bus";
ranges;
#address-cells = <0x2>;
#size-cells = <0x1>;
ethernet@ff0e0000 {
compatible = "cdns,zynqmp-gem";
status = "okay";
interrupt-parent = <0xfde8>;
interrupts = <0x0 0x3f 0x4 0x0 0x3f 0x4>;
xen,path = "/amba/ethernet@ff0e0000";
xen,reg= <0x0 0xff0e0000 0x1000 0x0 0xff0e0000>;
reg = <0x0 0xff0e0000 0x1000>;
clock-names = "pclk", "hclk", "tx_clk", "rx_clk";
#address-cells = <0x1>;
#size-cells = <0x0>;
[…]
© Copyright 2019 Xilinx
True Dom0-less
>> 14
U-Boot
Xen
DomU 1 DomU 2
CPU CPU
boots
boots
Network
Card
PL Block
boots
© Copyright 2019 Xilinx
Dom0-less and safety critical applications
>> 15
U-Boot
Xen
Dom0
DomU 1
Safety Critical
DomU 2
Safety Critical
CPU CPU CPU
boots
boots
DomU 3
Non-Critical
CPU
xl
Network
Card
© Copyright 2019 Xilinx
Dom0-less and PV drivers
>> 16
U-Boot
Xen
DomU 1 DomU 2
CPU CPU
boots
boots
Network
Card
Netfront
boots
Netback
Doesn’t
work
today!
© Copyright 2019 Xilinx
Dom0-less Pros & Cons
Pros:
˃ Much faster startup times
total ~= xen + domU
˃ Enable true Dom0-less configurations
Excellent for small systems
Easier to certify
˃ Lower Complexity
No need for the Xen tools
Does not require Yocto, just cross-build Xen
No need for Xen support in Dom0-less VMs, no need for CONFIG_XEN
Cons:
˃ No monitoring and restarting DomUs without Dom0
˃ No PV frontends/backends without Dom0
© Copyright 2019 Xilinx
Status & TODO
˃ DONE
basic Dom0-less booting upstream in Xen 4.12
device assignment implemented and sent to the list (not upstream)
˃ TODO
True Dom0-less
Shared memory and interrupts for VM-to-VM communications
PV frontends/backends drivers for Dom0-less VMs
© Copyright 2019 Xilinx
Demo
© Copyright 2019 Xilinx
Dom0-less and PVCalls
>> 20
U-Boot
Xen
Dom0
DomU 1 DomU 2
CPU CPU CPU
boots
boots
DomU 3
CPU
xl
Frontend Backend
Network
Card
© Copyright 2019 Xilinx
Dom0-less and PVCalls
>> 21
U-Boot
Xen
Dom0
DomU 1 DomU 2
CPU CPU CPU
boots
DomU 3
CPU
xl
Frontend Backend
Network
Card
Private Network
© Copyright 2019 Xilinx
Questions?
© Copyright 2019 Xilinx
Adaptable.
Intelligent.

More Related Content

What's hot

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...
The Linux Foundation
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
The Linux Foundation
 
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
The Linux Foundation
 
Linux kernel debugging
Linux kernel debuggingLinux kernel debugging
Linux kernel debugging
libfetion
 
Qemu device prototyping
Qemu device prototypingQemu device prototyping
Qemu device prototyping
Yan Vugenfirer
 
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
The Linux Foundation
 
SFO15-TR9: PSCI, ACPI (and UEFI to boot)
SFO15-TR9: PSCI, ACPI (and UEFI to boot)SFO15-TR9: PSCI, ACPI (and UEFI to boot)
SFO15-TR9: PSCI, ACPI (and UEFI to boot)
Linaro
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
Yi-Hsiu Hsu
 
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...
The Linux Foundation
 
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
The Linux Foundation
 
OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training
The Linux Foundation
 
vSAN Beyond The Basics
vSAN Beyond The BasicsvSAN Beyond The Basics
vSAN Beyond The Basics
Sumit Lahiri
 
Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - Vold
William Lee
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
Brendan Gregg
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
Alex Gonzalez
 
Reconnaissance of Virtio: What’s new and how it’s all connected?
Reconnaissance of Virtio: What’s new and how it’s all connected?Reconnaissance of Virtio: What’s new and how it’s all connected?
Reconnaissance of Virtio: What’s new and how it’s all connected?
Samsung Open Source Group
 
Linux PV on HVM
Linux PV on HVMLinux PV on HVM
Linux PV on HVM
The Linux Foundation
 
Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
Emertxe Information Technologies Pvt Ltd
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)
Stefano Stabellini
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and Monitoring
Georg Schönberger
 

What's hot (20)

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...
 
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARMXPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
 
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
 
Linux kernel debugging
Linux kernel debuggingLinux kernel debugging
Linux kernel debugging
 
Qemu device prototyping
Qemu device prototypingQemu device prototyping
Qemu device prototyping
 
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
 
SFO15-TR9: PSCI, ACPI (and UEFI to boot)
SFO15-TR9: PSCI, ACPI (and UEFI to boot)SFO15-TR9: PSCI, ACPI (and UEFI to boot)
SFO15-TR9: PSCI, ACPI (and UEFI to boot)
 
Yocto Project introduction
Yocto Project introductionYocto Project introduction
Yocto Project introduction
 
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...
 
ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)ALSS14: Xen Project Automotive Hypervisor (Demo)
ALSS14: Xen Project Automotive Hypervisor (Demo)
 
OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training OSSNA18: Xen Beginners Training
OSSNA18: Xen Beginners Training
 
vSAN Beyond The Basics
vSAN Beyond The BasicsvSAN Beyond The Basics
vSAN Beyond The Basics
 
Android Storage - Vold
Android Storage - VoldAndroid Storage - Vold
Android Storage - Vold
 
Velocity 2015 linux perf tools
Velocity 2015 linux perf toolsVelocity 2015 linux perf tools
Velocity 2015 linux perf tools
 
Introduction to yocto
Introduction to yoctoIntroduction to yocto
Introduction to yocto
 
Reconnaissance of Virtio: What’s new and how it’s all connected?
Reconnaissance of Virtio: What’s new and how it’s all connected?Reconnaissance of Virtio: What’s new and how it’s all connected?
Reconnaissance of Virtio: What’s new and how it’s all connected?
 
Linux PV on HVM
Linux PV on HVMLinux PV on HVM
Linux PV on HVM
 
Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)Embedded Android : System Development - Part III (Audio / Video HAL)
Embedded Android : System Development - Part III (Audio / Video HAL)
 
Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)Xen and the art of embedded virtualization (ELC 2017)
Xen and the art of embedded virtualization (ELC 2017)
 
Linux Performance Profiling and Monitoring
Linux Performance Profiling and MonitoringLinux Performance Profiling and Monitoring
Linux Performance Profiling and Monitoring
 

Similar to Dom0less - Xen Developer Summit 2019

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
The Linux Foundation
 
NFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsNFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center Operations
Cumulus Networks
 
OLUG_xen.ppt
OLUG_xen.pptOLUG_xen.ppt
OLUG_xen.ppt
webhostingguy
 
2015.10.05 Updated > Network Device Development - Part 1: Switch
2015.10.05 Updated > Network Device Development - Part 1: Switch2015.10.05 Updated > Network Device Development - Part 1: Switch
2015.10.05 Updated > Network Device Development - Part 1: Switch
Cheng-Yi Yu
 
RunX ELCE 2020
RunX ELCE 2020RunX ELCE 2020
RunX ELCE 2020
Stefano Stabellini
 
XPDDS18: Xenwatch Multithreading - Dongli Zhang, Oracle
XPDDS18: Xenwatch Multithreading - Dongli Zhang, OracleXPDDS18: Xenwatch Multithreading - Dongli Zhang, Oracle
XPDDS18: Xenwatch Multithreading - Dongli Zhang, Oracle
The Linux Foundation
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
Hisaki Ohara
 
Linux configer
Linux configerLinux configer
Linux configer
MD. AL AMIN
 
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/StableSR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
juet-y
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptop
Lorin Hochstein
 
NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)
Ryo ONODERA
 
Armboot process zeelogic
Armboot process zeelogicArmboot process zeelogic
Armboot process zeelogic
Aleem Shariff
 
Big Data in Container; Hadoop Spark in Docker and Mesos
Big Data in Container; Hadoop Spark in Docker and MesosBig Data in Container; Hadoop Spark in Docker and Mesos
Big Data in Container; Hadoop Spark in Docker and Mesos
Heiko Loewe
 
Learning kubernetes
Learning kubernetesLearning kubernetes
Learning kubernetes
Eueung Mulyana
 
the NML project
the NML projectthe NML project
the NML project
Lei Yang
 
Hacking the swisscom modem
Hacking the swisscom modemHacking the swisscom modem
Hacking the swisscom modem
Cyber Security Alliance
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawn
Gábor Nyers
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
The Linux Foundation
 
SR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/StableSR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/Stable
juet-y
 

Similar to Dom0less - Xen Developer Summit 2019 (20)

ELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made SimpleELC2019: Static Partitioning Made Simple
ELC2019: Static Partitioning Made Simple
 
NFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center OperationsNFD9 - Matt Peterson, Data Center Operations
NFD9 - Matt Peterson, Data Center Operations
 
OLUG_xen.ppt
OLUG_xen.pptOLUG_xen.ppt
OLUG_xen.ppt
 
2015.10.05 Updated > Network Device Development - Part 1: Switch
2015.10.05 Updated > Network Device Development - Part 1: Switch2015.10.05 Updated > Network Device Development - Part 1: Switch
2015.10.05 Updated > Network Device Development - Part 1: Switch
 
RunX ELCE 2020
RunX ELCE 2020RunX ELCE 2020
RunX ELCE 2020
 
XPDDS18: Xenwatch Multithreading - Dongli Zhang, Oracle
XPDDS18: Xenwatch Multithreading - Dongli Zhang, OracleXPDDS18: Xenwatch Multithreading - Dongli Zhang, Oracle
XPDDS18: Xenwatch Multithreading - Dongli Zhang, Oracle
 
Intel DPDK Step by Step instructions
Intel DPDK Step by Step instructionsIntel DPDK Step by Step instructions
Intel DPDK Step by Step instructions
 
Linux configer
Linux configerLinux configer
Linux configer
 
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/StableSR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
SR-IOV, KVM and Emulex OneConnect 10Gbps cards on Debian/Stable
 
Vagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptopVagrant, Ansible, and OpenStack on your laptop
Vagrant, Ansible, and OpenStack on your laptop
 
NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)NetBSD on Google Compute Engine (en)
NetBSD on Google Compute Engine (en)
 
Xen time machine
Xen time machineXen time machine
Xen time machine
 
Armboot process zeelogic
Armboot process zeelogicArmboot process zeelogic
Armboot process zeelogic
 
Big Data in Container; Hadoop Spark in Docker and Mesos
Big Data in Container; Hadoop Spark in Docker and MesosBig Data in Container; Hadoop Spark in Docker and Mesos
Big Data in Container; Hadoop Spark in Docker and Mesos
 
Learning kubernetes
Learning kubernetesLearning kubernetes
Learning kubernetes
 
the NML project
the NML projectthe NML project
the NML project
 
Hacking the swisscom modem
Hacking the swisscom modemHacking the swisscom modem
Hacking the swisscom modem
 
Containers with systemd-nspawn
Containers with systemd-nspawnContainers with systemd-nspawn
Containers with systemd-nspawn
 
Xen Debugging
Xen DebuggingXen Debugging
Xen Debugging
 
SR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/StableSR-IOV+KVM on Debian/Stable
SR-IOV+KVM on Debian/Stable
 

More from Stefano Stabellini

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Stefano Stabellini
 
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
Stefano Stabellini
 
System Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and LopperSystem Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and Lopper
Stefano Stabellini
 
Cache coloring Xen Summit 2020
Cache coloring Xen Summit 2020Cache coloring Xen Summit 2020
Cache coloring Xen Summit 2020
Stefano Stabellini
 
Xen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time SystemXen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time System
Stefano Stabellini
 
Xen Project for ARM Servers
Xen Project for ARM ServersXen Project for ARM Servers
Xen Project for ARM Servers
Stefano Stabellini
 
Xen and OpenStack
Xen and OpenStackXen and OpenStack
Xen and OpenStack
Stefano Stabellini
 
XDS15: Project Raisin
XDS15: Project RaisinXDS15: Project Raisin
XDS15: Project Raisin
Stefano Stabellini
 
OpenStack and Xen
OpenStack and XenOpenStack and Xen
OpenStack and Xen
Stefano Stabellini
 

More from Stefano Stabellini (9)

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
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
 
System Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and LopperSystem Device Tree update: Bus Firewalls and Lopper
System Device Tree update: Bus Firewalls and Lopper
 
Cache coloring Xen Summit 2020
Cache coloring Xen Summit 2020Cache coloring Xen Summit 2020
Cache coloring Xen Summit 2020
 
Xen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time SystemXen Cache Coloring: Interference-Free Real-Time System
Xen Cache Coloring: Interference-Free Real-Time System
 
Xen Project for ARM Servers
Xen Project for ARM ServersXen Project for ARM Servers
Xen Project for ARM Servers
 
Xen and OpenStack
Xen and OpenStackXen and OpenStack
Xen and OpenStack
 
XDS15: Project Raisin
XDS15: Project RaisinXDS15: Project Raisin
XDS15: Project Raisin
 
OpenStack and Xen
OpenStack and XenOpenStack and Xen
OpenStack and Xen
 

Recently uploaded

UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
Peter Muessig
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
Green Software Development
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
kalichargn70th171
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
dakas1
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
VALiNTRY360
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
Massimo Artizzu
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
TaghreedAltamimi
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
Karya Keeper
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
Bert Jan Schrijver
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
GohKiangHock
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
brainerhub1
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
ISH Technologies
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
gapen1
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
Remote DBA Services
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
YousufSait3
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
Rakesh Kumar R
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 

Recently uploaded (20)

UI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design SystemUI5con 2024 - Bring Your Own Design System
UI5con 2024 - Bring Your Own Design System
 
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, FactsALGIT - Assembly Line for Green IT - Numbers, Data, Facts
ALGIT - Assembly Line for Green IT - Numbers, Data, Facts
 
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
The Key to Digital Success_ A Comprehensive Guide to Continuous Testing Integ...
 
一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理一比一原版(USF毕业证)旧金山大学毕业证如何办理
一比一原版(USF毕业证)旧金山大学毕业证如何办理
 
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdfTop Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
Top Benefits of Using Salesforce Healthcare CRM for Patient Management.pdf
 
Liberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptxLiberarsi dai framework con i Web Component.pptx
Liberarsi dai framework con i Web Component.pptx
 
Lecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptxLecture 2 - software testing SE 412.pptx
Lecture 2 - software testing SE 412.pptx
 
Project Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdfProject Management: The Role of Project Dashboards.pdf
Project Management: The Role of Project Dashboards.pdf
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
J-Spring 2024 - Going serverless with Quarkus, GraalVM native images and AWS ...
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
SQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure MalaysiaSQL Accounting Software Brochure Malaysia
SQL Accounting Software Brochure Malaysia
 
Unveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdfUnveiling the Advantages of Agile Software Development.pdf
Unveiling the Advantages of Agile Software Development.pdf
 
Preparing Non - Technical Founders for Engaging a Tech Agency
Preparing Non - Technical Founders for Engaging  a  Tech AgencyPreparing Non - Technical Founders for Engaging  a  Tech Agency
Preparing Non - Technical Founders for Engaging a Tech Agency
 
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
如何办理(hull学位证书)英国赫尔大学毕业证硕士文凭原版一模一样
 
Oracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptxOracle 23c New Features For DBAs and Developers.pptx
Oracle 23c New Features For DBAs and Developers.pptx
 
zOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL DifferenceszOS Mainframe JES2-JES3 JCL-JECL Differences
zOS Mainframe JES2-JES3 JCL-JECL Differences
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 
How to write a program in any programming language
How to write a program in any programming languageHow to write a program in any programming language
How to write a program in any programming language
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 

Dom0less - Xen Developer Summit 2019

  • 1. © Copyright 2019 Xilinx Stefano Stabellini – Xen Developer Summit July 2019 Xen Dom0-less
  • 2. © Copyright 2019 Xilinx Traditional Xen System Configuration and Boot >> 2 U-Boot Xen Dom0 DomU 1 DomU 2 CPU0 CPU1 CPU2 boots xl
  • 3. © Copyright 2019 Xilinx Traditional Xen System Configuration and Boot >> 3 U-Boot Xen Dom0 DomU 1 DomU 2 CPU0 CPU1 CPU2 boots xl quit
  • 4. © Copyright 2019 Xilinx The problem ˃ Boot Time total > xen + dom0_kernel + dom0_user ˃ Safety Certifications Dom0 doesn’t have to be Linux but it typically is non-Linux Dom0 exit Dom0 after boot ˃ Complexity build-time complexity ‒ Yocto rootfs build runtime flexibility ‒ Monitoring ‒ VMs restart
  • 5. © Copyright 2019 Xilinx Dom0-less
  • 6. © Copyright 2019 Xilinx Dom0-less System Configuration and Boot >> 6 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU loads into memoryloads into memory
  • 7. © Copyright 2019 Xilinx Dom0-less System Configuration and Boot >> 7 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU boots boots
  • 8. © Copyright 2019 Xilinx Dom0-less System Configuration and Boot >> 8 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU Dom0DomU 3 CPU xl Frontend Backend Dom0-less VMs
  • 9. © Copyright 2019 Xilinx U-Boot + Device Tree protocol ˃ Load all the required binaries via U-Boot commands tftpb 0x4000000dom0less/mpsoc.dtb tftpb 0x80000 dom0less/Image-dom0 tftpb 0x5000000dom0less/uXen tftpb 0xd000000 dom0less/dom0-ramdisk.cpio.uboot tftpb 0xa000000 dom0less/Image-domU tftpb 0xb000000 dom0less/domU-ramdisk.cpio bootm 0x5000000 0xd000000 0x4000000
  • 10. © Copyright 2019 Xilinx U-Boot + Device Tree protocol ˃ Advertise and configure Dom0-less VMs via Device Tree domU1 { compatible = "xen,domain"; memory = <0x20000>; cpus = 1; vpl011; module@a000000 { compatible = "multiboot,kernel", "multiboot,module"; reg = <0xa000000 0xffffff>; bootargs = "console=ttyAMA0"; }; module@b0000000 { compatible = "multiboot,ramdisk", "multiboot,module"; reg = <0xb000000 0xffffff>; }; };
  • 11. © Copyright 2019 Xilinx Dom0-less Device Assignment >> 11 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU boots boots Network Card Other Devices
  • 12. © Copyright 2019 Xilinx Dom0-less Device Assignment ˃ Configured via a nested device tree snippet domU1 { […] module@a000000 { compatible = "multiboot,kernel", "multiboot,module"; reg = <0xa000000 0xffffff>; bootargs = "console=ttyAMA0"; }; module@b0000000 { compatible = "multiboot,ramdisk", "multiboot,module"; reg = <0xb000000 0xffffff>; }; module@c000000 { compatible = "multiboot,device-tree", "multiboot,module"; reg = <0xc0000000xffffff>; }; };
  • 13. © Copyright 2019 Xilinx Dom0-less Device Assignment ˃ Configured via a nested device tree snippet the device tree node of the device to assign same as for regular DomUs Special properties: ‒ interrupts: interrupts to remap ‒ interrupt-parent: special reference to GIC parent (65000) ‒ xen,path: path to the device node in the main DT ‒ xen,reg: memory to remap /dts-v1/; / { #address-cells = <0x2>; #size-cells = <0x1>; passthrough { compatible = "simple-bus"; ranges; #address-cells = <0x2>; #size-cells = <0x1>; ethernet@ff0e0000 { compatible = "cdns,zynqmp-gem"; status = "okay"; interrupt-parent = <0xfde8>; interrupts = <0x0 0x3f 0x4 0x0 0x3f 0x4>; xen,path = "/amba/ethernet@ff0e0000"; xen,reg= <0x0 0xff0e0000 0x1000 0x0 0xff0e0000>; reg = <0x0 0xff0e0000 0x1000>; clock-names = "pclk", "hclk", "tx_clk", "rx_clk"; #address-cells = <0x1>; #size-cells = <0x0>; […]
  • 14. © Copyright 2019 Xilinx True Dom0-less >> 14 U-Boot Xen DomU 1 DomU 2 CPU CPU boots boots Network Card PL Block boots
  • 15. © Copyright 2019 Xilinx Dom0-less and safety critical applications >> 15 U-Boot Xen Dom0 DomU 1 Safety Critical DomU 2 Safety Critical CPU CPU CPU boots boots DomU 3 Non-Critical CPU xl Network Card
  • 16. © Copyright 2019 Xilinx Dom0-less and PV drivers >> 16 U-Boot Xen DomU 1 DomU 2 CPU CPU boots boots Network Card Netfront boots Netback Doesn’t work today!
  • 17. © Copyright 2019 Xilinx Dom0-less Pros & Cons Pros: ˃ Much faster startup times total ~= xen + domU ˃ Enable true Dom0-less configurations Excellent for small systems Easier to certify ˃ Lower Complexity No need for the Xen tools Does not require Yocto, just cross-build Xen No need for Xen support in Dom0-less VMs, no need for CONFIG_XEN Cons: ˃ No monitoring and restarting DomUs without Dom0 ˃ No PV frontends/backends without Dom0
  • 18. © Copyright 2019 Xilinx Status & TODO ˃ DONE basic Dom0-less booting upstream in Xen 4.12 device assignment implemented and sent to the list (not upstream) ˃ TODO True Dom0-less Shared memory and interrupts for VM-to-VM communications PV frontends/backends drivers for Dom0-less VMs
  • 19. © Copyright 2019 Xilinx Demo
  • 20. © Copyright 2019 Xilinx Dom0-less and PVCalls >> 20 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU boots boots DomU 3 CPU xl Frontend Backend Network Card
  • 21. © Copyright 2019 Xilinx Dom0-less and PVCalls >> 21 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU boots DomU 3 CPU xl Frontend Backend Network Card Private Network
  • 22. © Copyright 2019 Xilinx Questions?
  • 23. © Copyright 2019 Xilinx Adaptable. Intelligent.