[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v4 02/23] xen/arm: extend device tree based multiboot protocol
Extend the existing device tree based multiboot protocol to include information regarding multiple domains to boot. Signed-off-by: Stefano Stabellini <stefanos@xxxxxxxxxx> --- Changes in v4: - memory is 64bit Changes in v3: - remove "xen,initial-domain" for now - make vpl011 an empty property - memory in KBs Changes in v2: - lower case kernel - rename mem to memory - mandate cpus and memory - replace domU-kernel with kernel and domU-ramdisk with ramdisk - rename xen,domU with xen,domain - add info about dom0 - switch memory and cpus to integers - remove defaults - add vpl011 --- docs/misc/arm/device-tree/booting.txt | 107 ++++++++++++++++++++++++++++++++++ 1 file changed, 107 insertions(+) diff --git a/docs/misc/arm/device-tree/booting.txt b/docs/misc/arm/device-tree/booting.txt index ce2d0dc..317a9e9 100644 --- a/docs/misc/arm/device-tree/booting.txt +++ b/docs/misc/arm/device-tree/booting.txt @@ -119,3 +119,110 @@ For those you would hardcode the Xen commandline in the DTB under line by writing bootargs (as for native Linux). A Xen-aware bootloader would set xen,xen-bootargs for Xen, xen,dom0-bootargs for Dom0 and bootargs for native Linux. + + +Creating Multiple Domains directly from Xen +=========================================== + +It is possible to have Xen create other domains, in addition to dom0, +out of the information provided via device tree. A kernel and initrd +(optional) need to be specified for each guest. + +For each domain to be created there needs to be one node under /chosen +with the following properties: + +- compatible + + For domUs: "xen,domain" + +- memory + + A 64-bit integer specifying the amount of kilobytes of RAM to + allocate to the guest. + +- cpus + + An integer specifying the number of vcpus to allocate to the guest. + +- vpl011 + + An empty property to enable/disable a virtual pl011 for the guest to use. + +- #address-cells and #size-cells + + Both #address-cells and #size-cells need to be specified because + both sub-nodes (described shortly) have reg properties. + +Under the "xen,domain" compatible node, one or more sub-nodes are present +for the DomU kernel and ramdisk. + +The kernel sub-node has the following properties: + +- compatible + + "multiboot,kernel" + +- reg + + Specifies the physical address of the kernel in RAM and its + length. + +- bootargs (optional) + + Command line parameters for the guest kernel. + +The ramdisk sub-node has the following properties: + +- compatible + + "multiboot,ramdisk" + +- reg + + Specifies the physical address of the ramdisk in RAM and its + length. + + +Example +======= + +chosen { + domU1 { + compatible = "xen,domain"; + #address-cells = <0x2>; + #size-cells = <0x1>; + memory = <0 131072>; + cpus = <2>; + vpl011; + + module@0x4a000000 { + compatible = "multiboot,kernel"; + reg = <0x0 0x4a000000 0xffffff>; + bootargs = "console=ttyAMA0 init=/bin/sh"; + }; + + module@0x4b000000 { + compatible = "multiboot,ramdisk"; + reg = <0x0 0x4b000000 0xffffff>; + }; + }; + + domU2 { + compatible = "xen,domain"; + #address-cells = <0x2>; + #size-cells = <0x1>; + memory = <0 65536>; + cpus = <1>; + + module@0x4c000000 { + compatible = "multiboot,kernel"; + reg = <0x0 0x4c000000 0xffffff>; + bootargs = "console=ttyAMA0 init=/bin/sh"; + }; + + module@0x4d000000 { + compatible = "multiboot,ramdisk"; + reg = <0x0 0x4d000000 0xffffff>; + }; + }; +}; -- 1.9.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |