SlideShare a Scribd company logo
© Copyright 2019 Xilinx
Stefano Stabellini – ELC August 2019
Static Partitioning with Xen
Dom0-less Xen configurations
© Copyright 2019 Xilinx
Static Partitioning
© Copyright 2019 Xilinx
Static Partitioning
© Copyright 2019 Xilinx
Static Partitioning
© Copyright 2019 Xilinx
Static Partitioning: the use-case
˃ Mixed Criticality
˃ Safety
˃ Security
˃ Real-Time
˃ Fault isolation
˃ Compartmentalization
˃ Multiple OSes
© Copyright 2019 Xilinx
Static Partitioning with Xen: the goal
U-Boot
Xen
DomU DomU DomU
Hardware Partition
CPU + Devices
Hardware Partition
CPU + Devices
Hardware Partition
CPU + Devices
DomU
Hardware Partition
CPU + Devices
© Copyright 2019 Xilinx
Static Partitioning with Xen: the goal
U-Boot
Xen
DomU DomU DomU
Hardware Partition
CPU + Devices
Hardware Partition
CPU + Devices
Hardware Partition
CPU + Devices
DomU
Hardware Partition
CPU + Devices
Type1 hypervisor
A great match to setup
static partitions
© Copyright 2019 Xilinx
© Copyright 2019 Xilinx
Traditional Xen System: Configuration and Boot
>> 9
U-Boot
Xen
Dom0
DomU 1 DomU 2
CPU0 CPU1 CPU2
boots
xl
© Copyright 2019 Xilinx
The problem
˃ Requires Dom0
Dom0 is privileged
Dom0 is typically Linux
˃ Boot Time
total > xen + dom0_kernel + dom0_user
˃ Safety Certifications
non-Linux Dom0
exit Dom0 after boot
˃ Complexity
build-time complexity
‒ Yocto rootfs build
runtime flexibility
‒ Monitoring
‒ VMs restart
© Copyright 2019 Xilinx
Introducing Dom0-less
© Copyright 2019 Xilinx
Dom0-less System Configuration and Boot
>> 12
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
>> 13
U-Boot
Xen
Dom0 DomU 1 DomU 2
CPU CPU CPU
boots
boots
© Copyright 2019 Xilinx
Dom0-less System Configuration and Boot
>> 14
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 0x4000000 dom0less/mpsoc.dtb
tftpb 0x80000 dom0less/Image-dom0
tftpb 0x5000000 dom0less/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 = <0x0 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
>> 17
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 = <0xc000000 0xffffff>;
};
};
© 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:
‒ 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";
xen,path= "/amba/ethernet@ff0e0000";
xen,reg= <0x0 0xff0e00000x10000x0 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
>> 20
U-Boot
Xen
DomU 1 DomU 2
CPU CPU
boots
boots
Network
Card
PL Block
boots
© Copyright 2019 Xilinx
Static Partitioning with Xen
U-Boot
Xen
DomU DomU DomU
Hardware Partition
CPU + Devices
Hardware Partition
CPU + Devices
Hardware Partition
CPU + Devices
DomU
Hardware Partition
CPU + Devices
Type1 hypervisor
A great match to setup
static partitions
© Copyright 2019 Xilinx
More than static partitioning
>> 22
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
PL Block
© Copyright 2019 Xilinx
Dom0-less Pros & Cons
Pros:
˃ Much faster startup times
total ~= xen + domU
˃ Enable static partitioning 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
Dom0-less and PV drivers
>> 24
U-Boot
Xen
DomU 1 DomU 2
CPU CPU
boots
boots
Network
Card
Netfront
boots
Netback
Doesn’t
work
today!
© 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
Demos
© Copyright 2019 Xilinx
True Dom0-less
>> 27
U-Boot
Xen
DomU 1 DomU 2
CPU CPU
boots
boots
Network
Card
UART
TTC
boots
© Copyright 2019 Xilinx
Dom0-less and PVCalls
>> 28
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
>> 29
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.
© Copyright 2019 Xilinx
Slides Parking Lot
© Copyright 2019 Xilinx
Traditional Xen System Configuration and Boot
>> 33
U-Boot
Xen
Dom0
DomU 1 DomU 2
CPU0 CPU1 CPU2
boots
xl
quit

More Related Content

PDF
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
PDF
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
PDF
Linux introduction
PDF
Lcu14 107- op-tee on ar mv8
PDF
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
PDF
Let's trace Linux Lernel with KGDB @ COSCUP 2021
PDF
SFO15-200: Linux kernel generic TEE driver
PDF
New Ways to Find Latency in Linux Using Tracing
XPDS16: Porting Xen on ARM to a new SOC - Julien Grall, ARM
Static Partitioning with Xen, LinuxRT, and Zephyr: A Concrete End-to-end Exam...
Linux introduction
Lcu14 107- op-tee on ar mv8
Embedded Recipes 2017 - Introduction to Yocto Project/OpenEmbedded - Mylène J...
Let's trace Linux Lernel with KGDB @ COSCUP 2021
SFO15-200: Linux kernel generic TEE driver
New Ways to Find Latency in Linux Using Tracing

What's hot (20)

PDF
QEMU Disk IO Which performs Better: Native or threads?
PDF
Device Tree for Dummies (ELC 2014)
PDF
Xen and the art of embedded virtualization (ELC 2017)
PDF
An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)
PDF
Scheduling in Android
PDF
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
PDF
UM2019 Extended BPF: A New Type of Software
PPT
Linux
PDF
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
PDF
U-Boot - An universal bootloader
PDF
Introduction to systemd
PDF
LCU13: An Introduction to ARM Trusted Firmware
PPTX
Linux Mint - Visão Geral
PDF
Explore Android Internals
PDF
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
PDF
Xen in Safety-Critical Systems - Critical Summit 2022
PDF
Jagan Teki - U-boot from scratch
PPT
Hardware accelerated Virtualization in the ARM Cortex™ Processors
PDF
OSSNA18: Xen Beginners Training
PDF
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
QEMU Disk IO Which performs Better: Native or threads?
Device Tree for Dummies (ELC 2014)
Xen and the art of embedded virtualization (ELC 2017)
An introduction to the linux kernel and device drivers (NTU CSIE 2016.03)
Scheduling in Android
Customizing AOSP For Different Embedded Devices And Integration at Applicatio...
UM2019 Extended BPF: A New Type of Software
Linux
Kernel Recipes 2017 - An introduction to the Linux DRM subsystem - Maxime Ripard
U-Boot - An universal bootloader
Introduction to systemd
LCU13: An Introduction to ARM Trusted Firmware
Linux Mint - Visão Geral
Explore Android Internals
XPDDS18: Design and Implementation of Automotive: Virtualization Based on Xen...
Xen in Safety-Critical Systems - Critical Summit 2022
Jagan Teki - U-boot from scratch
Hardware accelerated Virtualization in the ARM Cortex™ Processors
OSSNA18: Xen Beginners Training
Diving into SWUpdate: adding new platform support in 30minutes with Yocto/OE !
Ad

Similar to ELC2019: Static Partitioning Made Simple (20)

PDF
Dom0less - Xen Developer Summit 2019
PDF
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
PDF
Introduction to Modern U-Boot
PDF
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
PDF
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
PDF
ELC21: VM-to-VM Communication Mechanisms for Embedded
PDF
XPDDS17: Xen-lite for ARM: Adapting Xen for a Samsung Exynos MicroServer with...
PDF
Hands on with embedded linux using zero hardware
PDF
Qemu device prototyping
PDF
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
PDF
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
PDF
A million ways to provision embedded linux devices
PDF
Develop Your Own Operating Systems using Cheap ARM Boards
PDF
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
PDF
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
KEY
Cis222 2
PDF
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
PDF
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
PDF
Project ACRN configuration scenarios and config tool
PPTX
Xen Project Update LinuxCon Brazil
Dom0less - Xen Developer Summit 2019
XPDDS19 Keynote: Xen Dom0-less - Stefano Stabellini, Principal Engineer, Xilinx
Introduction to Modern U-Boot
XPDS16: Xenbedded: Xen-based client virtualization for phones and tablets - ...
XDF18: Heterogeneous Real-Time SoC Software Architecture - Stefano Stabellini...
ELC21: VM-to-VM Communication Mechanisms for Embedded
XPDDS17: Xen-lite for ARM: Adapting Xen for a Samsung Exynos MicroServer with...
Hands on with embedded linux using zero hardware
Qemu device prototyping
XPDDS17: Keynote: Shared Coprocessor Framework on ARM - Oleksandr Andrushchen...
Xen on ARM for embedded and IoT: from secure containers to dom0less systems
A million ways to provision embedded linux devices
Develop Your Own Operating Systems using Cheap ARM Boards
2022-05-03 SoC Interest Group Meeting - Deploying and testing firmware-softwa...
Developing for Industrial IoT with Linux OS on DragonBoard™ 410c: Session 1
Cis222 2
LCC17 - Securing Embedded Systems with the Hypervisor - Lars Kurth, Citrix
XPDS14: Porting FreeRTOS to Xen on the ARM Cortex A15 - Jonathan Daugherty, G...
Project ACRN configuration scenarios and config tool
Xen Project Update LinuxCon Brazil
Ad

More from The Linux Foundation (20)

PDF
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
PDF
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
PDF
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
PDF
XPDDS19 Keynote: Unikraft Weather Report
PDF
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
PDF
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
PDF
XPDDS19: Memories of a VM Funk - Mihai Donțu, Bitdefender
PPTX
OSSJP/ALS19: The Road to Safety Certification: Overcoming Community Challeng...
PPTX
OSSJP/ALS19: The Road to Safety Certification: How the Xen Project is Making...
PDF
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
PDF
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
PDF
XPDDS19: QEMU PV Backend 'qdevification'... What Does it Mean? - Paul Durrant...
PDF
XPDDS19: Status of PCI Emulation in Xen - Roger Pau Monné, Citrix Systems R&D
PDF
XPDDS19: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
PDF
XPDDS19: Bringing Xen to the Masses: The Story of Building a Community-driven...
PDF
XPDDS19: Will Robots Automate Your Job Away? Streamlining Xen Project Contrib...
PDF
XPDDS19: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
PDF
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
PDF
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
PDF
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE
XPDDS19: How TrenchBoot is Enabling Measured Launch for Open-Source Platform ...
XPDDS19 Keynote: Xen in Automotive - Artem Mygaiev, Director, Technology Solu...
XPDDS19 Keynote: Xen Project Weather Report 2019 - Lars Kurth, Director of Op...
XPDDS19 Keynote: Unikraft Weather Report
XPDDS19 Keynote: Secret-free Hypervisor: Now and Future - Wei Liu, Software E...
XPDDS19 Keynote: Patch Review for Non-maintainers - George Dunlap, Citrix Sys...
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: How the Xen Project is Making...
XPDDS19: Speculative Sidechannels and Mitigations - Andrew Cooper, Citrix
XPDDS19: Keeping Coherency on Arm: Reborn - Julien Grall, Arm ltd
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: [ARM] OP-TEE Mediator in Xen - Volodymyr Babchuk, EPAM Systems
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: Client Virtualization Toolstack in Go - Nick Rosbrook & Brendan Kerr...
XPDDS19: Core Scheduling in Xen - Jürgen Groß, SUSE
XPDDS19: Implementing AMD MxGPU - Jonathan Farrell, Assured Information Security
XPDDS19: Support of PV Devices in Nested Xen - Jürgen Groß, SUSE

Recently uploaded (20)

PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
PPTX
ai tools demonstartion for schools and inter college
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
System and Network Administration Chapter 2
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
CHAPTER 2 - PM Management and IT Context
PPT
Introduction Database Management System for Course Database
PPTX
Introduction to Artificial Intelligence
PTS Company Brochure 2025 (1).pdf.......
Internet Downloader Manager (IDM) Crack 6.42 Build 41
ManageIQ - Sprint 268 Review - Slide Deck
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
ai tools demonstartion for schools and inter college
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
System and Network Administration Chapter 2
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Operating system designcfffgfgggggggvggggggggg
Odoo POS Development Services by CandidRoot Solutions
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
Wondershare Filmora 15 Crack With Activation Key [2025
Understanding Forklifts - TECH EHS Solution
Design an Analysis of Algorithms II-SECS-1021-03
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
CHAPTER 2 - PM Management and IT Context
Introduction Database Management System for Course Database
Introduction to Artificial Intelligence

ELC2019: Static Partitioning Made Simple

  • 1. © Copyright 2019 Xilinx Stefano Stabellini – ELC August 2019 Static Partitioning with Xen Dom0-less Xen configurations
  • 2. © Copyright 2019 Xilinx Static Partitioning
  • 3. © Copyright 2019 Xilinx Static Partitioning
  • 4. © Copyright 2019 Xilinx Static Partitioning
  • 5. © Copyright 2019 Xilinx Static Partitioning: the use-case ˃ Mixed Criticality ˃ Safety ˃ Security ˃ Real-Time ˃ Fault isolation ˃ Compartmentalization ˃ Multiple OSes
  • 6. © Copyright 2019 Xilinx Static Partitioning with Xen: the goal U-Boot Xen DomU DomU DomU Hardware Partition CPU + Devices Hardware Partition CPU + Devices Hardware Partition CPU + Devices DomU Hardware Partition CPU + Devices
  • 7. © Copyright 2019 Xilinx Static Partitioning with Xen: the goal U-Boot Xen DomU DomU DomU Hardware Partition CPU + Devices Hardware Partition CPU + Devices Hardware Partition CPU + Devices DomU Hardware Partition CPU + Devices Type1 hypervisor A great match to setup static partitions
  • 9. © Copyright 2019 Xilinx Traditional Xen System: Configuration and Boot >> 9 U-Boot Xen Dom0 DomU 1 DomU 2 CPU0 CPU1 CPU2 boots xl
  • 10. © Copyright 2019 Xilinx The problem ˃ Requires Dom0 Dom0 is privileged Dom0 is typically Linux ˃ Boot Time total > xen + dom0_kernel + dom0_user ˃ Safety Certifications non-Linux Dom0 exit Dom0 after boot ˃ Complexity build-time complexity ‒ Yocto rootfs build runtime flexibility ‒ Monitoring ‒ VMs restart
  • 11. © Copyright 2019 Xilinx Introducing Dom0-less
  • 12. © Copyright 2019 Xilinx Dom0-less System Configuration and Boot >> 12 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU loads into memoryloads into memory
  • 13. © Copyright 2019 Xilinx Dom0-less System Configuration and Boot >> 13 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU boots boots
  • 14. © Copyright 2019 Xilinx Dom0-less System Configuration and Boot >> 14 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU Dom0DomU 3 CPU xl Frontend Backend Dom0-less VMs
  • 15. © Copyright 2019 Xilinx U-Boot + Device Tree protocol ˃ Load all the required binaries via U-Boot commands tftpb 0x4000000 dom0less/mpsoc.dtb tftpb 0x80000 dom0less/Image-dom0 tftpb 0x5000000 dom0less/uXen tftpb 0xd000000 dom0less/dom0-ramdisk.cpio.uboot tftpb 0xa000000 dom0less/Image-domU tftpb 0xb000000 dom0less/domU-ramdisk.cpio bootm 0x5000000 0xd000000 0x4000000
  • 16. © Copyright 2019 Xilinx U-Boot + Device Tree protocol ˃ Advertise and configure Dom0-less VMs via Device Tree domU1 { compatible = "xen,domain"; memory = <0x0 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>; }; };
  • 17. © Copyright 2019 Xilinx Dom0-less Device Assignment >> 17 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU boots boots Network Card Other Devices
  • 18. © 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 = <0xc000000 0xffffff>; }; };
  • 19. © 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: ‒ 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"; xen,path= "/amba/ethernet@ff0e0000"; xen,reg= <0x0 0xff0e00000x10000x0 0xff0e0000>; reg = <0x0 0xff0e0000 0x1000>; clock-names = "pclk","hclk", "tx_clk", "rx_clk"; #address-cells = <0x1>; #size-cells = <0x0>; […]
  • 20. © Copyright 2019 Xilinx True Dom0-less >> 20 U-Boot Xen DomU 1 DomU 2 CPU CPU boots boots Network Card PL Block boots
  • 21. © Copyright 2019 Xilinx Static Partitioning with Xen U-Boot Xen DomU DomU DomU Hardware Partition CPU + Devices Hardware Partition CPU + Devices Hardware Partition CPU + Devices DomU Hardware Partition CPU + Devices Type1 hypervisor A great match to setup static partitions
  • 22. © Copyright 2019 Xilinx More than static partitioning >> 22 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 PL Block
  • 23. © Copyright 2019 Xilinx Dom0-less Pros & Cons Pros: ˃ Much faster startup times total ~= xen + domU ˃ Enable static partitioning 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
  • 24. © Copyright 2019 Xilinx Dom0-less and PV drivers >> 24 U-Boot Xen DomU 1 DomU 2 CPU CPU boots boots Network Card Netfront boots Netback Doesn’t work today!
  • 25. © 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
  • 26. © Copyright 2019 Xilinx Demos
  • 27. © Copyright 2019 Xilinx True Dom0-less >> 27 U-Boot Xen DomU 1 DomU 2 CPU CPU boots boots Network Card UART TTC boots
  • 28. © Copyright 2019 Xilinx Dom0-less and PVCalls >> 28 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU boots boots DomU 3 CPU xl Frontend Backend Network Card
  • 29. © Copyright 2019 Xilinx Dom0-less and PVCalls >> 29 U-Boot Xen Dom0 DomU 1 DomU 2 CPU CPU CPU boots DomU 3 CPU xl Frontend Backend Network Card Private Network
  • 30. © Copyright 2019 Xilinx Questions?
  • 31. © Copyright 2019 Xilinx Adaptable. Intelligent.
  • 32. © Copyright 2019 Xilinx Slides Parking Lot
  • 33. © Copyright 2019 Xilinx Traditional Xen System Configuration and Boot >> 33 U-Boot Xen Dom0 DomU 1 DomU 2 CPU0 CPU1 CPU2 boots xl quit