Linux - Xen Dom0

The pages describes the process for configuring Xen for Linux Dom0. 

Table of Contents

General Build Information (Linux Dom0)

Linux Configurations Requirements

Linux needs to be built with the following options enabled:
CONFIG_XEN
CONFIG_HVC_DRIVER
CONFIG_HVC_XEN
These options are all enabled by default in PetaLinux projects.

PetaLinux rootfs Configuration Requirements

Petalinux rootfs options that need to be enabled (these are enabled by default):
CONFIG_ROOTFS_COMPONENT_APPS_NAME_XENTOOLS
CONFIG_ROOTFS_COMPONENT_APPS_NAME_XEN
CONFIG_ROOTFS_COMPONENT_APPS_NAME_GETTYBAUD
These options are all enabled by default in PetaLinux projects.

XEN Device Tree Requirements

The DTB file for XEN, should be the same as for plain Linux, with a few entries added to the chosen node. A working XEN DTB will be created by PetaLinux.
The xen,dom0-bootargs corresponds to the Linux Kernel command line.
Here is an example:
chosen {
    #address-cells = <0x1>;
    #size-cells = <0x1>;
    bootargs = "console=ttyPS0,115200 earlyprintk=cdns,uart,0xFF000000 rdinit=/sbin/init";
    xen,xen-bootargs = "console=dtuart dtuart=serial0 dom0_mem=256M bootscrub=0 timer_slop=0";
    xen,dom0-bootargs = "rdinit=/bin/sh console=hvc0 earlycon=xen earlyprintk=xen";
    dom0 {
        compatible = "xen,linux-zimage", "xen,multiboot-module";
        reg = <0x00080000 0x3100000>;
    };
};
If editing the DTB is required, convert the xen.dtb to .dts and back to dtb, using the following:
dtc -I dtb -O dts -o xen.dts xen.dtb
dtc -I dts -O dtb -o xen.dtb xen.dts
For more details on running the Xen Hypervisor, please refer http://dornerworks.com/services/xilinxxen

Additional Commercial Support and Professional Services

For more complex Dom0 topics such as the introduction of alternative non-Linux Dom0 OS, or optimizations in Dom0 Linux to improve solution boot time, footprint or performance; Xilinx recommends our Premier Partner DornerWorks .

Related Links

Petalinux Tools Reference Guide
http://dornerworks.com/services/xilinxxen