[Xen-devel] [PATCH v3] xen/doc: Improve Dom0-less documentation

Viktor Mitin posted 1 patch 4 years, 9 months ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/xen tags/patchew/20190710051823.29155-1-viktor.mitin.19@gmail.com
There is a newer version of this series
docs/features/dom0less.pandoc | 58 +++++++++++++++++++++++------------
1 file changed, 39 insertions(+), 19 deletions(-)
[Xen-devel] [PATCH v3] xen/doc: Improve Dom0-less documentation
Posted by Viktor Mitin 4 years, 9 months ago
- Changed unprintable characters with %s/\%xA0/ /g
  So all the spaces are 0x20 now.

- Added address-cells and size-cells to configuration example.
  This resolves the dom0less boot issue in case of arm64.

- Added some notes about xl tools usage in case of dom0less.

- Added extra 0x0 to memory property in configuration example.
  This matches the binding docs/misc/arm/device-tree/booting.txt
  which requires a 64-bit value.

Signed-off-by: Viktor Mitin <viktor_mitin@epam.com>
---

v3:
- Added extra 0x0 to memory property in configuration example.
  This matches the binding docs/misc/arm/device-tree/booting.txt
  which requires a 64-bit value.

---
 docs/features/dom0less.pandoc | 58 +++++++++++++++++++++++------------
 1 file changed, 39 insertions(+), 19 deletions(-)

diff --git a/docs/features/dom0less.pandoc b/docs/features/dom0less.pandoc
index e076e3739e..d4f44b5502 100644
--- a/docs/features/dom0less.pandoc
+++ b/docs/features/dom0less.pandoc
@@ -40,8 +40,8 @@ to boot. For example if this is the bootcmd for Xen and Dom0:

     bootm 0x1400000 0x9000000 0x1280000

-If we want to add one DomU with Image-DomU as the DomU kernel
-and ramdisk-DomU as DomU ramdisk:
+If we want to add one DomU with Image-DomU as the DomU kernel
+and ramdisk-DomU as DomU ramdisk:

     tftpb 0x1280000 xen.dtb
     tftpb 0x80000 xen-Image
@@ -61,25 +61,27 @@ the presence of the additional VM and its configuration. It is done via
 device tree adding a node under /chosen as follows:

     domU1 {
-        compatible = "xen,domain";
-        memory = <0x20000>;
-        cpus = 1;
-        vpl011;
-
-        module@2000000 {
-            compatible = "multiboot,kernel", "multiboot,module";
-            reg = <0x2000000 0xffffff>;
-            bootargs = "console=ttyAMA0";
-        };
-
-        module@30000000 {
-            compatible = "multiboot,ramdisk", "multiboot,module";
-            reg = <0x3000000 0xffffff>;
-        };
+        #address-cells = <0x00000001>;
+        #size-cells = <0x00000001>;
+        compatible = "xen,domain";
+        memory = <0x0 0x20000>;
+        cpus = 1;
+        vpl011;
+
+        module@2000000 {
+            compatible = "multiboot,kernel", "multiboot,module";
+            reg = <0x2000000 0xffffff>;
+            bootargs = "console=ttyAMA0";
+        };
+
+        module@30000000 {
+            compatible = "multiboot,ramdisk", "multiboot,module";
+            reg = <0x3000000 0xffffff>;
+        };
     };

-Where memory is the memory of the VM in KBs, cpus is the number of
-cpus. module@2000000 and module@3000000 advertise where the kernel and
+Where memory is the memory of the VM in KBs, cpus is the number of
+cpus. module@2000000 and module@3000000 advertise where the kernel and
 ramdisk are in memory.

 See docs/misc/arm/device-tree/booting.txt for more information.
@@ -111,3 +113,21 @@ limitations:
   the Xen command line. The NULL scheduler automatically assigns and
   pins vCPUs to pCPUs, but the vCPU-pCPU assignments cannot be
   configured.
+
+Notes
+-----
+
+- 'xl console' command will not attach to the domain's console in case
+  of dom0less. DomU are domains created by Xen (similar to Dom0) and
+  therefore they are all managed by Xen and some of the commands may not work.
+
+  A user is allowed to configure the key sequence to switch input.
+  Pressing the Xen "conswitch" (Ctrl-A by default) three times
+  switches input in case of dom0less mode.
+
+- Domains created by Xen will have no name at boot. Domain-0 has a name
+  thanks to the helper xen-init-dom0 called at boot by the initscript.
+  If you want to setup DomU name, then you will have to create the xenstore
+  node associated. By default DomU names are shown as '(null)' in the
+  xl domains list.
+
--
2.17.1


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH v3] xen/doc: Improve Dom0-less documentation
Posted by Julien Grall 4 years, 8 months ago
Hi Viktor,

On 7/10/19 6:18 AM, Viktor Mitin wrote:
> - Changed unprintable characters with %s/\%xA0/ /g
>    So all the spaces are 0x20 now.
> 
> - Added address-cells and size-cells to configuration example.
>    This resolves the dom0less boot issue in case of arm64.
> 
> - Added some notes about xl tools usage in case of dom0less.
> 
> - Added extra 0x0 to memory property in configuration example.
>    This matches the binding docs/misc/arm/device-tree/booting.txt
>    which requires a 64-bit value.
> 
> Signed-off-by: Viktor Mitin <viktor_mitin@epam.com>
> ---
> 
> v3:
> - Added extra 0x0 to memory property in configuration example.
>    This matches the binding docs/misc/arm/device-tree/booting.txt
>    which requires a 64-bit value.
> ---
>   docs/features/dom0less.pandoc | 58 +++++++++++++++++++++++------------
>   1 file changed, 39 insertions(+), 19 deletions(-)
> 
> diff --git a/docs/features/dom0less.pandoc b/docs/features/dom0less.pandoc
> index e076e3739e..d4f44b5502 100644
> --- a/docs/features/dom0less.pandoc
> +++ b/docs/features/dom0less.pandoc
> @@ -40,8 +40,8 @@ to boot. For example if this is the bootcmd for Xen and Dom0:
> 
>       bootm 0x1400000 0x9000000 0x1280000
> 
> -If we want to add one DomU with Image-DomU as the DomU kernel
> -and ramdisk-DomU as DomU ramdisk:
> +If we want to add one DomU with Image-DomU as the DomU kernel
> +and ramdisk-DomU as DomU ramdisk:
> 
>       tftpb 0x1280000 xen.dtb
>       tftpb 0x80000 xen-Image
> @@ -61,25 +61,27 @@ the presence of the additional VM and its configuration. It is done via
>   device tree adding a node under /chosen as follows:
> 
>       domU1 {
> -        compatible = "xen,domain";
> -        memory = <0x20000>;
> -        cpus = 1;
> -        vpl011;
> -
> -        module@2000000 {
> -            compatible = "multiboot,kernel", "multiboot,module";
> -            reg = <0x2000000 0xffffff>;
> -            bootargs = "console=ttyAMA0";
> -        };
> -
> -        module@30000000 {
> -            compatible = "multiboot,ramdisk", "multiboot,module";
> -            reg = <0x3000000 0xffffff>;
> -        };
> +        #address-cells = <0x00000001>;
> +        #size-cells = <0x00000001>;

DTC is can deal with decimal number. So I would prefer if we directly 
use 1 in the 2 properties above.

> +        compatible = "xen,domain";
> +        memory = <0x0 0x20000>;
> +        cpus = 1;

I think this should be cpus = <1>;

> +        vpl011;
> +
> +        module@2000000 {
> +            compatible = "multiboot,kernel", "multiboot,module";
> +            reg = <0x2000000 0xffffff>;
> +            bootargs = "console=ttyAMA0";
> +        };
> +
> +        module@30000000 {
> +            compatible = "multiboot,ramdisk", "multiboot,module";
> +            reg = <0x3000000 0xffffff>;
> +        };
>       };
> 
> -Where memory is the memory of the VM in KBs, cpus is the number of
> -cpus. module@2000000 and module@3000000 advertise where the kernel and
> +Where memory is the memory of the VM in KBs, cpus is the number of
> +cpus. module@2000000 and module@3000000 advertise where the kernel and
>   ramdisk are in memory.

As a side note, the size specified should exactly match the size of the 
Kernel/initramfs. Otherwise, they may be unusable in Xen (for instance 
if they are compressed).

> 
>   See docs/misc/arm/device-tree/booting.txt for more information.
> @@ -111,3 +113,21 @@ limitations:
>     the Xen command line. The NULL scheduler automatically assigns and
>     pins vCPUs to pCPUs, but the vCPU-pCPU assignments cannot be
>     configured.
> +
> +Notes
> +-----
> +
> +- 'xl console' command will not attach to the domain's console in case
> +  of dom0less. DomU are domains created by Xen (similar to Dom0) and
> +  therefore they are all managed by Xen and some of the commands may not work.
> +
> +  A user is allowed to configure the key sequence to switch input.
> +  Pressing the Xen "conswitch" (Ctrl-A by default) three times
> +  switches input in case of dom0less mode.
> +
> +- Domains created by Xen will have no name at boot. Domain-0 has a name
> +  thanks to the helper xen-init-dom0 called at boot by the initscript.
> +  If you want to setup DomU name, then you will have to create the xenstore
> +  node associated. By default DomU names are shown as '(null)' in the
> +  xl domains list.
> +

Except the few minors things above. The improvement looks good to me, 
although I would like another pair of eye. Stefano, can you look at it?

Cheers,

-- 
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel
Re: [Xen-devel] [PATCH v3] xen/doc: Improve Dom0-less documentation
Posted by Stefano Stabellini 4 years, 8 months ago
On Sat, 27 Jul 2019, Julien Grall wrote:
> Hi Viktor,
> 
> On 7/10/19 6:18 AM, Viktor Mitin wrote:
> > - Changed unprintable characters with %s/\%xA0/ /g
> >    So all the spaces are 0x20 now.
> > 
> > - Added address-cells and size-cells to configuration example.
> >    This resolves the dom0less boot issue in case of arm64.
> > 
> > - Added some notes about xl tools usage in case of dom0less.
> > 
> > - Added extra 0x0 to memory property in configuration example.
> >    This matches the binding docs/misc/arm/device-tree/booting.txt
> >    which requires a 64-bit value.
> > 
> > Signed-off-by: Viktor Mitin <viktor_mitin@epam.com>
> > ---
> > 
> > v3:
> > - Added extra 0x0 to memory property in configuration example.
> >    This matches the binding docs/misc/arm/device-tree/booting.txt
> >    which requires a 64-bit value.
> > ---
> >   docs/features/dom0less.pandoc | 58 +++++++++++++++++++++++------------
> >   1 file changed, 39 insertions(+), 19 deletions(-)
> > 
> > diff --git a/docs/features/dom0less.pandoc b/docs/features/dom0less.pandoc
> > index e076e3739e..d4f44b5502 100644
> > --- a/docs/features/dom0less.pandoc
> > +++ b/docs/features/dom0less.pandoc
> > @@ -40,8 +40,8 @@ to boot. For example if this is the bootcmd for Xen and
> > Dom0:
> > 
> >       bootm 0x1400000 0x9000000 0x1280000
> > 
> > -If we want to add one DomU with Image-DomU as the DomU kernel
> > -and ramdisk-DomU as DomU ramdisk:
> > +If we want to add one DomU with Image-DomU as the DomU kernel
> > +and ramdisk-DomU as DomU ramdisk:
> > 
> >       tftpb 0x1280000 xen.dtb
> >       tftpb 0x80000 xen-Image
> > @@ -61,25 +61,27 @@ the presence of the additional VM and its configuration.
> > It is done via
> >   device tree adding a node under /chosen as follows:
> > 
> >       domU1 {
> > -        compatible = "xen,domain";
> > -        memory = <0x20000>;
> > -        cpus = 1;
> > -        vpl011;
> > -
> > -        module@2000000 {
> > -            compatible = "multiboot,kernel", "multiboot,module";
> > -            reg = <0x2000000 0xffffff>;
> > -            bootargs = "console=ttyAMA0";
> > -        };
> > -
> > -        module@30000000 {
> > -            compatible = "multiboot,ramdisk", "multiboot,module";
> > -            reg = <0x3000000 0xffffff>;
> > -        };
> > +        #address-cells = <0x00000001>;
> > +        #size-cells = <0x00000001>;
> 
> DTC is can deal with decimal number. So I would prefer if we directly use 1 in
> the 2 properties above.

Agreed


> > +        compatible = "xen,domain";
> > +        memory = <0x0 0x20000>;
> > +        cpus = 1;
> 
> I think this should be cpus = <1>;

Yep


> > +        vpl011;
> > +
> > +        module@2000000 {
> > +            compatible = "multiboot,kernel", "multiboot,module";
> > +            reg = <0x2000000 0xffffff>;
> > +            bootargs = "console=ttyAMA0";
> > +        };
> > +
> > +        module@30000000 {
> > +            compatible = "multiboot,ramdisk", "multiboot,module";
> > +            reg = <0x3000000 0xffffff>;
> > +        };
> >       };
> > 
> > -Where memory is the memory of the VM in KBs, cpus is the number of
> > -cpus. module@2000000 and module@3000000 advertise where the kernel and
> > +Where memory is the memory of the VM in KBs, cpus is the number of
> > +cpus. module@2000000 and module@3000000 advertise where the kernel and
> >   ramdisk are in memory.
> 
> As a side note, the size specified should exactly match the size of the
> Kernel/initramfs. Otherwise, they may be unusable in Xen (for instance if they
> are compressed).
> 
> > 
> >   See docs/misc/arm/device-tree/booting.txt for more information.
> > @@ -111,3 +113,21 @@ limitations:
> >     the Xen command line. The NULL scheduler automatically assigns and
> >     pins vCPUs to pCPUs, but the vCPU-pCPU assignments cannot be
> >     configured.
> > +
> > +Notes
> > +-----
> > +
> > +- 'xl console' command will not attach to the domain's console in case
> > +  of dom0less. DomU are domains created by Xen (similar to Dom0) and
> > +  therefore they are all managed by Xen and some of the commands may not
> > work.
> > +
> > +  A user is allowed to configure the key sequence to switch input.
> > +  Pressing the Xen "conswitch" (Ctrl-A by default) three times
> > +  switches input in case of dom0less mode.
> > +
> > +- Domains created by Xen will have no name at boot. Domain-0 has a name
> > +  thanks to the helper xen-init-dom0 called at boot by the initscript.
> > +  If you want to setup DomU name, then you will have to create the xenstore
> > +  node associated. By default DomU names are shown as '(null)' in the
> > +  xl domains list.
> > +
> 
> Except the few minors things above. The improvement looks good to me, although
> I would like another pair of eye. Stefano, can you look at it?

It looks good aside for the two small points you have already raised._______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel