[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH RFC 03/15] xen/arm: extend device tree based multiboot protocol



Extend the existing device tree based multiboot protocol to include
information regarding other domUs to boot.

Signed-off-by: Stefano Stabellini <stefanos@xxxxxxxxxx>
---
 docs/misc/arm/device-tree/booting.txt | 102 ++++++++++++++++++++++++++++++++++
 1 file changed, 102 insertions(+)

diff --git a/docs/misc/arm/device-tree/booting.txt 
b/docs/misc/arm/device-tree/booting.txt
index ce2d0dc..95255e5 100644
--- a/docs/misc/arm/device-tree/booting.txt
+++ b/docs/misc/arm/device-tree/booting.txt
@@ -119,3 +119,105 @@ 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 DomUs 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 DomU to be created there needs to be one node under /chosen
+with the following properties:
+
+- compatible
+
+    "xen,domU"
+
+- mem (optional)
+
+    A string specifying the amount of RAM to allocate to the guest. If
+    not specified it defaults to "64M". The format of the string is the same
+    as the one for the mem= parameter in xl config files.
+
+- cpus (optional)
+
+    A string specifying the number of vcpus to allocate to the guest. If
+    not specified it defaults to "1".
+
+- #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,domU" 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,domU-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,domU-ramdisk"
+
+- reg
+
+    Specifies the physical address of the ramdisk in RAM and its
+    length.
+
+
+Example
+=======
+
+domU1 {
+    compatible = "xen,domU";
+    #address-cells = <0x2>;
+    #size-cells = <0x1>;
+    mem = "128M";
+    cpus = "2";
+
+    module@0x4a000000 {
+        compatible = "multiboot,domU-kernel";
+        reg = <0x0 0x4a000000 0xffffff>;
+        bootargs = "console=ttyAMA0 init=/bin/sh";
+    };
+
+    module@0x4b000000 {
+        compatible = "multiboot,domU-ramdisk";
+        reg = <0x0 0x4b000000 0xffffff>;
+    };
+};
+
+domU2 {
+    compatible = "xen,domU";
+    #address-cells = <0x2>;
+    #size-cells = <0x1>;
+    mem = "64M";
+    cpus = "1";
+
+    module@0x4c000000 {
+        compatible = "multiboot,domU-kernel";
+        reg = <0x0 0x4c000000 0xffffff>;
+        bootargs = "console=ttyAMA0 init=/bin/sh";
+    };
+
+    module@0x4d000000 {
+        compatible = "multiboot,domU-ramdisk";
+        reg = <0x0 0x4d000000 0xffffff>;
+    };
+};
-- 
1.9.1


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxxx
https://lists.xenproject.org/mailman/listinfo/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.