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

Re: [RFC PATCH] xen/arm: Rebranding dom0less feature



On Fri, 29 Jun 2023, Luca Fancellu wrote:
> The "dom0less" feature was intended to be the feature where a domU
> domain could be launched without the control domain (Dom0)
> intervention, however the name seems to suggest that Dom0 cannot
> be part of the configuration, while instead it's a possible use case.
> 
> To avoid that, rename the "dom0less" configuration with the name
> "hyperlaunch", that is less misleading.
> 
> Signed-off-by: Luca Fancellu <luca.fancellu@xxxxxxx>

I tested this patch on gitlab-ci and everything works as expected. I
also confirmed that there are no other mentions of "dom0less", except
for docs/designs/launch/hyperlaunch*.

I think this patch could go in as-is and
docs/designs/launch/hyperlaunch* could be fixed later, because the
changes here are mechanical, while docs/designs/launch/hyperlaunch* will
need rewording.

So:

Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>


> ---
> This is an RFC to get the feeling of the community about the name
> change, for now it's everything in one patch just to see how it
> will look like, if there is interest on proceeding into it, I can
> split in more commit.
> Please note that I've left intentionally "dom0less" into the
> docs/design/ and CHANGELOG.md
> ---
> ---
>  .gitignore                                    |  2 +-
>  CHANGELOG.md                                  |  2 +
>  SUPPORT.md                                    |  8 +-
>  automation/gitlab-ci/test.yaml                | 88 +++++++++----------
>  ...m32.sh => qemu-smoke-hyperlaunch-arm32.sh} |  0
>  ...m64.sh => qemu-smoke-hyperlaunch-arm64.sh} |  2 +-
>  ...arm64.sh => qemu-xtf-hyperlaunch-arm64.sh} |  0
>  ...4.sh => xilinx-smoke-hyperlaunch-arm64.sh} |  2 +-
>  docs/INDEX                                    |  2 +-
>  .../{dom0less.pandoc => hyperlaunch.pandoc}   | 33 +++----
>  docs/misc/arm/device-tree/booting.txt         |  4 +-
>  docs/misc/efi.pandoc                          | 14 +--
>  docs/misc/xen-command-line.pandoc             |  2 +-
>  docs/misc/xenstore-ring.txt                   |  6 +-
>  tools/helpers/Makefile                        | 20 ++---
>  ...t-dom0less.c => init-hyperlaunch-guests.c} |  4 +-
>  xen/arch/arm/Kconfig                          |  4 +-
>  xen/arch/arm/domain_build.c                   | 18 ++--
>  xen/arch/arm/efi/efi-boot.h                   |  9 +-
>  xen/arch/arm/include/asm/kernel.h             | 32 +++----
>  xen/arch/arm/setup.c                          |  8 +-
>  21 files changed, 132 insertions(+), 128 deletions(-)
>  rename automation/scripts/{qemu-smoke-dom0less-arm32.sh => 
> qemu-smoke-hyperlaunch-arm32.sh} (100%)
>  rename automation/scripts/{qemu-smoke-dom0less-arm64.sh => 
> qemu-smoke-hyperlaunch-arm64.sh} (99%)
>  rename automation/scripts/{qemu-xtf-dom0less-arm64.sh => 
> qemu-xtf-hyperlaunch-arm64.sh} (100%)
>  rename automation/scripts/{xilinx-smoke-dom0less-arm64.sh => 
> xilinx-smoke-hyperlaunch-arm64.sh} (98%)
>  rename docs/features/{dom0less.pandoc => hyperlaunch.pandoc} (84%)
>  rename tools/helpers/{init-dom0less.c => init-hyperlaunch-guests.c} (98%)
> 
> diff --git a/.gitignore b/.gitignore
> index c1b73b096893..c9d569247079 100644
> --- a/.gitignore
> +++ b/.gitignore
> @@ -167,7 +167,7 @@ tools/flask/utils/flask-loadpolicy
>  tools/flask/utils/flask-setenforce
>  tools/flask/utils/flask-set-bool
>  tools/flask/utils/flask-label-pci
> -tools/helpers/init-dom0less
> +tools/helpers/init-hyperlaunch-guests
>  tools/helpers/init-xenstore-domain
>  tools/helpers/xen-init-dom0
>  tools/hotplug/common/hotplugpath.sh
> diff --git a/CHANGELOG.md b/CHANGELOG.md
> index 7d7e0590f8c6..cf01e004b017 100644
> --- a/CHANGELOG.md
> +++ b/CHANGELOG.md
> @@ -13,6 +13,8 @@ The format is based on [Keep a 
> Changelog](https://keepachangelog.com/en/1.0.0/)
>     known user doesn't use it properly, leading to in-guest breakage.
>   - The "dom0" option is now supported on Arm and "sve=" sub-option can be 
> used
>     to enable dom0 guest to use SVE/SVE2 instructions.
> + - The "dom0less" feature, currently supported only on arm, is renamed to
> +   "hyperlaunch".
>  
>  ### Added
>   - On x86, support for features new in Intel Sapphire Rapids CPUs:
> diff --git a/SUPPORT.md b/SUPPORT.md
> index 35a6249e03b2..fe500652828c 100644
> --- a/SUPPORT.md
> +++ b/SUPPORT.md
> @@ -342,7 +342,7 @@ Allow sharing of identical pages between guests
>  
>  ### Static Memory Sharing
>  
> -Allow to statically set up shared memory on dom0less system,
> +Allow to statically set up shared memory on hyperlaunch system,
>  enabling domains to do shm-based communication
>  
>      Status, ARM: Tech Preview
> @@ -945,20 +945,20 @@ OVMF firmware implements the UEFI boot protocol.
>  
>      Status, qemu-xen: Supported
>  
> -## Dom0less
> +## Hyperlaunch
>  
>  Guest creation from the hypervisor at boot without Dom0 intervention.
>  
>      Status, ARM: Supported
>  
> -Memory of dom0less DomUs is not scrubbed at boot when bootscrub=on or
> +Memory of hyperlaunch DomUs is not scrubbed at boot when bootscrub=on or
>  bootscrub=off are passed as Xen command line parameters. (Memory should
>  be scrubbed with bootscrub=idle.) No XSAs will be issues due to
>  unscrubbed memory.
>  
>  ## Static Event Channel
>  
> -Allow to setup the static event channel on dom0less system, enabling domains
> +Allow to setup the static event channel on hyperlaunch system, enabling 
> domains
>  to send/receive notifications.
>  
>      Status, ARM: Tech Preview
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index d5cb238b0ad8..d309c784b643 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -136,18 +136,18 @@ build-each-commit-gcc:
>    tags:
>      - x86_64
>  
> -xilinx-smoke-dom0less-arm64-gcc:
> +xilinx-smoke-hyperlaunch-arm64-gcc:
>    extends: .xilinx-arm64
>    script:
> -    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh 2>&1 | tee 
> ${LOGFILE}
> +    - ./automation/scripts/xilinx-smoke-hyperlaunch-arm64.sh 2>&1 | tee 
> ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-arm64
>  
> -xilinx-smoke-dom0less-arm64-gcc-gem-passthrough:
> +xilinx-smoke-hyperlaunch-arm64-gcc-gem-passthrough:
>    extends: .xilinx-arm64
>    script:
> -    - ./automation/scripts/xilinx-smoke-dom0less-arm64.sh gem-passthrough 
> 2>&1 | tee ${LOGFILE}
> +    - ./automation/scripts/xilinx-smoke-hyperlaunch-arm64.sh gem-passthrough 
> 2>&1 | tee ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-arm64
> @@ -234,98 +234,98 @@ qemu-smoke-dom0-arm64-gcc-debug:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64
>  
> -qemu-smoke-dom0less-arm64-gcc:
> +qemu-smoke-hyperlaunch-arm64-gcc:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh 2>&1 | tee 
> ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-arm64
>  
> -qemu-smoke-dom0less-arm64-gcc-debug:
> +qemu-smoke-hyperlaunch-arm64-gcc-debug:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh 2>&1 | tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh 2>&1 | tee 
> ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64
>  
> -qemu-smoke-dom0less-arm64-gcc-staticmem:
> +qemu-smoke-hyperlaunch-arm64-gcc-staticmem:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh static-mem 2>&1 | 
> tee ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-arm64-staticmem
>  
> -qemu-smoke-dom0less-arm64-gcc-debug-staticmem:
> +qemu-smoke-hyperlaunch-arm64-gcc-debug-staticmem:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-mem 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh static-mem 2>&1 | 
> tee ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64-staticmem
>  
> -qemu-smoke-dom0less-arm64-gcc-staticheap:
> +qemu-smoke-hyperlaunch-arm64-gcc-staticheap:
>   extends: .qemu-arm64
>   script:
> -   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | 
> tee ${LOGFILE}
> +   - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh static-heap 2>&1 | 
> tee ${LOGFILE}
>   needs:
>     - *arm64-test-needs
>     - alpine-3.12-gcc-arm64
>  
> -qemu-smoke-dom0less-arm64-gcc-debug-staticheap:
> +qemu-smoke-hyperlaunch-arm64-gcc-debug-staticheap:
>   extends: .qemu-arm64
>   script:
> -   - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-heap 2>&1 | 
> tee ${LOGFILE}
> +   - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh static-heap 2>&1 | 
> tee ${LOGFILE}
>   needs:
>     - *arm64-test-needs
>     - alpine-3.12-gcc-debug-arm64
>  
> -qemu-smoke-dom0less-arm64-gcc-static-shared-mem:
> +qemu-smoke-hyperlaunch-arm64-gcc-static-shared-mem:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 
> 2>&1 | tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh static-shared-mem 
> 2>&1 | tee ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-arm64-static-shared-mem
>  
> -qemu-smoke-dom0less-arm64-gcc-debug-static-shared-mem:
> +qemu-smoke-hyperlaunch-arm64-gcc-debug-static-shared-mem:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh static-shared-mem 
> 2>&1 | tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh static-shared-mem 
> 2>&1 | tee ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64-static-shared-mem
>  
> -qemu-smoke-dom0less-arm64-gcc-boot-cpupools:
> +qemu-smoke-hyperlaunch-arm64-gcc-boot-cpupools:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh boot-cpupools 
> 2>&1 | tee ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-arm64-boot-cpupools
>  
> -qemu-smoke-dom0less-arm64-gcc-debug-boot-cpupools:
> +qemu-smoke-hyperlaunch-arm64-gcc-debug-boot-cpupools:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm64.sh boot-cpupools 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm64.sh boot-cpupools 
> 2>&1 | tee ${LOGFILE}
>    needs:
>      - *arm64-test-needs
>      - alpine-3.12-gcc-debug-arm64-boot-cpupools
>  
> -qemu-xtf-dom0less-arm64-gcc-hyp-xen-version:
> +qemu-xtf-hyperlaunch-arm64-gcc-hyp-xen-version:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-xtf-hyperlaunch-arm64.sh hyp-xen-version 
> 2>&1 | tee ${LOGFILE}
>    needs:
>      - alpine-3.12-gcc-arm64
>      - qemu-system-aarch64-6.0.0-arm64-export
>  
> -qemu-xtf-dom0less-arm64-gcc-debug-hyp-xen-version:
> +qemu-xtf-hyperlaunch-arm64-gcc-debug-hyp-xen-version:
>    extends: .qemu-arm64
>    script:
> -    - ./automation/scripts/qemu-xtf-dom0less-arm64.sh hyp-xen-version 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-xtf-hyperlaunch-arm64.sh hyp-xen-version 
> 2>&1 | tee ${LOGFILE}
>    needs:
>      - alpine-3.12-gcc-debug-arm64
>      - qemu-system-aarch64-6.0.0-arm64-export
> @@ -338,66 +338,66 @@ qemu-smoke-dom0-arm32-gcc:
>      - *arm32-test-needs
>      - yocto-qemuarm
>  
> -qemu-smoke-dom0less-arm32-gcc:
> +qemu-smoke-hyperlaunch-arm32-gcc:
>    extends: .qemu-arm32
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh 2>&1 | tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm32.sh 2>&1 | tee 
> ${LOGFILE}
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32
>  
> -qemu-smoke-dom0less-arm32-gcc-debug:
> +qemu-smoke-hyperlaunch-arm32-gcc-debug:
>    extends: .qemu-arm32
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh 2>&1 | tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm32.sh 2>&1 | tee 
> ${LOGFILE}
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32-debug
>  
> -qemu-smoke-dom0less-arm32-gcc-staticmem:
> +qemu-smoke-hyperlaunch-arm32-gcc-staticmem:
>    extends: .qemu-arm32
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm32.sh static-mem 2>&1 | 
> tee ${LOGFILE}
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32-staticmem
>  
> -qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
> +qemu-smoke-hyperlaunch-arm32-gcc-debug-staticmem:
>    extends: .qemu-arm32
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm32.sh static-mem 2>&1 | 
> tee ${LOGFILE}
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32-debug-staticmem
>  
> -qemu-smoke-dom0less-arm32-gcc-gzip:
> +qemu-smoke-hyperlaunch-arm32-gcc-gzip:
>    extends: .qemu-arm32
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh gzip 2>&1 | tee 
> ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm32.sh gzip 2>&1 | tee 
> ${LOGFILE}
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32
>  
> -qemu-smoke-dom0less-arm32-gcc-debug-gzip:
> +qemu-smoke-hyperlaunch-arm32-gcc-debug-gzip:
>    extends: .qemu-arm32
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh gzip 2>&1 | tee 
> ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm32.sh gzip 2>&1 | tee 
> ${LOGFILE}
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32-debug
>  
> -qemu-smoke-dom0less-arm32-gcc-without-dom0:
> +qemu-smoke-hyperlaunch-arm32-gcc-without-dom0:
>    extends: .qemu-arm32
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh without-dom0 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm32.sh without-dom0 2>&1 
> | tee ${LOGFILE}
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32
>  
> -qemu-smoke-dom0less-arm32-gcc-debug-without-dom0:
> +qemu-smoke-hyperlaunch-arm32-gcc-debug-without-dom0:
>    extends: .qemu-arm32
>    script:
> -    - ./automation/scripts/qemu-smoke-dom0less-arm32.sh without-dom0 2>&1 | 
> tee ${LOGFILE}
> +    - ./automation/scripts/qemu-smoke-hyperlaunch-arm32.sh without-dom0 2>&1 
> | tee ${LOGFILE}
>    needs:
>      - *arm32-test-needs
>      - debian-unstable-gcc-arm32-debug
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh 
> b/automation/scripts/qemu-smoke-hyperlaunch-arm32.sh
> similarity index 100%
> rename from automation/scripts/qemu-smoke-dom0less-arm32.sh
> rename to automation/scripts/qemu-smoke-hyperlaunch-arm32.sh
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh 
> b/automation/scripts/qemu-smoke-hyperlaunch-arm64.sh
> similarity index 99%
> rename from automation/scripts/qemu-smoke-dom0less-arm64.sh
> rename to automation/scripts/qemu-smoke-hyperlaunch-arm64.sh
> index 75f575424a4e..db22cfaa1fd6 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh
> +++ b/automation/scripts/qemu-smoke-hyperlaunch-arm64.sh
> @@ -113,7 +113,7 @@ echo "#!/bin/bash
>  export LD_LIBRARY_PATH=/usr/local/lib
>  bash /etc/init.d/xencommons start
>  
> -/usr/local/lib/xen/bin/init-dom0less
> +/usr/local/lib/xen/bin/init-hyperlaunch-guests
>  
>  brctl addbr xenbr0
>  brctl addif xenbr0 eth0
> diff --git a/automation/scripts/qemu-xtf-dom0less-arm64.sh 
> b/automation/scripts/qemu-xtf-hyperlaunch-arm64.sh
> similarity index 100%
> rename from automation/scripts/qemu-xtf-dom0less-arm64.sh
> rename to automation/scripts/qemu-xtf-hyperlaunch-arm64.sh
> diff --git a/automation/scripts/xilinx-smoke-dom0less-arm64.sh 
> b/automation/scripts/xilinx-smoke-hyperlaunch-arm64.sh
> similarity index 98%
> rename from automation/scripts/xilinx-smoke-dom0less-arm64.sh
> rename to automation/scripts/xilinx-smoke-hyperlaunch-arm64.sh
> index 075305241c8d..35b60720fe08 100755
> --- a/automation/scripts/xilinx-smoke-dom0less-arm64.sh
> +++ b/automation/scripts/xilinx-smoke-hyperlaunch-arm64.sh
> @@ -73,7 +73,7 @@ echo "#!/bin/bash
>  export LD_LIBRARY_PATH=/usr/local/lib
>  bash /etc/init.d/xencommons start
>  
> -/usr/local/lib/xen/bin/init-dom0less
> +/usr/local/lib/xen/bin/init-hyperlaunch-guests
>  
>  ${dom0_check}
>  " > etc/local.d/xen.start
> diff --git a/docs/INDEX b/docs/INDEX
> index e673edd75c31..ed3d2e6198ec 100644
> --- a/docs/INDEX
> +++ b/docs/INDEX
> @@ -25,4 +25,4 @@ misc/arm/early-printk               Enabling early printk 
> on ARM
>  misc/arm/passthrough         Passthrough a device described in the Device 
> Tree to a guest
>  misc/arm/device-tree/booting Device tree bindings to boot Xen
>  misc/arm/device-tree/passthrough     Device tree binding to passthrough a 
> device
> -features/dom0less.markdown   Boot multiple domains from Xen in parallel
> +features/hyperlaunch.markdown        Boot multiple domains from Xen in 
> parallel
> diff --git a/docs/features/dom0less.pandoc b/docs/features/hyperlaunch.pandoc
> similarity index 84%
> rename from docs/features/dom0less.pandoc
> rename to docs/features/hyperlaunch.pandoc
> index 725afa055838..a62d534696e3 100644
> --- a/docs/features/dom0less.pandoc
> +++ b/docs/features/hyperlaunch.pandoc
> @@ -1,7 +1,7 @@
> -Dom0less
> -========
> +Hyperlaunch
> +===========
>  
> -"Dom0less" is a set of Xen features that enable the deployment of a Xen
> +"Hyperlaunch" is a set of Xen features that enable the deployment of a Xen
>  system without an control domain (often referred to as "dom0"). Each
>  feature can be used independently from the others, unless otherwise
>  stated.
> @@ -93,26 +93,26 @@ See docs/misc/arm/device-tree/booting.txt for more 
> information.
>  PV Drivers
>  ----------
>  
> -It is possible to use PV drivers with dom0less guests with some
> +It is possible to use PV drivers with hyperlaunch started guests with some
>  restrictions:
>  
> -- dom0less domUs that want to use PV drivers support should have the
> +- hyperlaunch started domUs that want to use PV drivers support should have 
> the
>    "xen,enhanced" property set under their device tree nodes (see
>    docs/misc/arm/device-tree/booting.txt)
>  - a dom0 must be present (or another domain with enough privileges to
>    run the toolstack)
> -- after dom0 is booted, the utility "init-dom0less" must be run
> -- do not run "init-dom0less" while creating other guests with xl
> +- after dom0 is booted, the utility "init-hyperlaunch-guests" must be run
> +- do not run "init-hyperlaunch-guests" while creating other guests with xl
>  
> -After the execution of init-dom0less, it is possible to use "xl" to
> -hotplug PV drivers to dom0less guests. E.g. xl network-attach domU.
> +After the execution of init-hyperlaunch-guests, it is possible to use "xl" to
> +hotplug PV drivers to hyperlaunch started guests. E.g. xl network-attach 
> domU.
>  
>  The implementation works as follows:
> -- Xen allocates the xenstore event channel for each dom0less domU that
> -  has the "xen,enhanced" property, and sets HVM_PARAM_STORE_EVTCHN
> +- Xen allocates the xenstore event channel for each hyperlaunch started domU
> +  that has the "xen,enhanced" property, and sets HVM_PARAM_STORE_EVTCHN
>  - Xen does *not* allocate the xenstore page and sets HVM_PARAM_STORE_PFN
>    to ~0ULL (invalid)
> -- Dom0less domU kernels check that HVM_PARAM_STORE_PFN is set to invalid
> +- Hyperlaunch started domU kernels check that HVM_PARAM_STORE_PFN is set to 
> invalid
>      - Old kernels will continue without xenstore support (Note: some old
>        buggy kernels might crash because they don't check the validity of
>        HVM_PARAM_STORE_PFN before using it! Disable "xen,enhanced" in
> @@ -120,7 +120,7 @@ The implementation works as follows:
>      - New kernels will wait for a notification on the xenstore event
>        channel (HVM_PARAM_STORE_EVTCHN) before continuing with the
>        initialization
> -- Once dom0 is booted, init-dom0less is executed:
> +- Once dom0 is booted, init-hyperlaunch-guests is executed:
>      - it allocates the xenstore shared page and sets HVM_PARAM_STORE_PFN
>      - it calls xs_introduce_domain
>  - Xenstored notices the new domain, initializes interfaces as usual, and
> @@ -159,12 +159,13 @@ 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.
> +  of hyperlaunch started guests. 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.
> +  switches input in case of hyperlaunch 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.
> diff --git a/docs/misc/arm/device-tree/booting.txt 
> b/docs/misc/arm/device-tree/booting.txt
> index bbd955e9c2f6..10ec1910a75a 100644
> --- a/docs/misc/arm/device-tree/booting.txt
> +++ b/docs/misc/arm/device-tree/booting.txt
> @@ -572,8 +572,8 @@ Static Shared Memory
>  ====================
>  
>  The static shared memory device tree nodes allow users to statically set up
> -shared memory on dom0less system, enabling domains to do shm-based
> -communication.
> +shared memory on Hyperlaunch started guests system, enabling domains to do
> +shm-based communication.
>  
>  - compatible
>  
> diff --git a/docs/misc/efi.pandoc b/docs/misc/efi.pandoc
> index 11c1ac334600..d15cb87b49d1 100644
> --- a/docs/misc/efi.pandoc
> +++ b/docs/misc/efi.pandoc
> @@ -194,12 +194,12 @@ chosen {
>       };
>  }
>  
> -## UEFI boot and dom0less on ARM
> +## UEFI boot and Hyperlaunch on ARM
>  
> -Dom0less feature is supported by ARM and it is possible to use it when Xen is
> +Hyperlaunch feature is supported by ARM and it is possible to use it when 
> Xen is
>  started as an EFI application.
>  The way to specify the domU domains is by Device Tree as specified in the
> -[dom0less](dom0less.html) documentation page under the "Device Tree
> +[Hyperlaunch](hyperlaunch.html) documentation page under the "Device Tree
>  configuration" section, but instead of declaring the reg property in the boot
>  module, the user must specify the "xen,uefi-binary" property containing the 
> name
>  of the binary file that has to be loaded in memory.
> @@ -236,7 +236,7 @@ domU1 {
>  These are the different ways to boot a Xen system from UEFI:
>  
>   - Boot Xen and Dom0 (minimum required)
> - - Boot Xen and DomU(s) (true dom0less, only on ARM)
> + - Boot Xen and DomU(s) (only on ARM)
>   - Boot Xen, Dom0 and DomU(s) (only on ARM)
>  
>  ### Boot Xen and Dom0
> @@ -247,7 +247,7 @@ example above.
>  ### Boot Xen and DomU(s)
>  
>  This configuration needs the domU domain(s) specified in the /chosen node,
> -examples of how to do that are provided by the documentation about dom0less
> +examples of how to do that are provided by the documentation about 
> Hyperlaunch
>  and the example above shows how to use the "xen,uefi-binary" property to use 
> the
>  UEFI stub for module loading.
>  When adding DomU modules to device tree, also add the property
> @@ -258,7 +258,7 @@ can specify the Xen boot arguments in the configuration 
> file with the "options="
>  keyword or in the device tree with the "xen,xen-bootargs" property, but be
>  aware that the Xen configuration file value has a precedence over the DT 
> value.
>  
> -Example 1 of how to boot a true dom0less configuration:
> +Example 1 of how to boot an Hyperlaunch configuration with only domU(s):
>  
>  Xen configuration file: skipped.
>  
> @@ -301,7 +301,7 @@ chosen {
>  };
>  ```
>  
> -Example 2 of how to boot a true dom0less configuration:
> +Example 2 of how to boot an Hyperlaunch configuration with only domU(s):
>  
>  Xen configuration file:
>  
> diff --git a/docs/misc/xen-command-line.pandoc 
> b/docs/misc/xen-command-line.pandoc
> index 4060ebdc5d76..35d7c9821963 100644
> --- a/docs/misc/xen-command-line.pandoc
> +++ b/docs/misc/xen-command-line.pandoc
> @@ -1156,7 +1156,7 @@ to use the default.
>  > Default : `true`
>  
>  Flag to enable or disable support for extended regions for Dom0 and
> -Dom0less DomUs.
> +Hyperlaunch started DomUs.
>  
>  Extended regions are ranges of unused address space exposed to the guest
>  as "safe to use" for special memory mappings. Disable if your board
> diff --git a/docs/misc/xenstore-ring.txt b/docs/misc/xenstore-ring.txt
> index dbc7335e24b8..f84dedd8016e 100644
> --- a/docs/misc/xenstore-ring.txt
> +++ b/docs/misc/xenstore-ring.txt
> @@ -115,9 +115,9 @@ and reconnect is in progress") and signalling the event 
> channel.
>  The guest must now ignore all fields except the Connection state and
>  wait for it to be set to 0 ("Ring is connected").
>  
> -In certain circumstances (e.g. dom0less guests with PV drivers support)
> -it is possible for the guest to find the Connection state already set to
> -1 by someone else during xenstore initialization. In that case, like in
> +In certain circumstances (e.g. Hyperlaunch started guests with PV drivers
> +support) it is possible for the guest to find the Connection state already 
> set
> +to 1 by someone else during xenstore initialization. In that case, like in
>  the previous case, the guest must ignore all fields except the
>  Connection state and wait for it to be set to 0 before proceeding.
>  
> diff --git a/tools/helpers/Makefile b/tools/helpers/Makefile
> index 09590eb5b6f0..332ab47da318 100644
> --- a/tools/helpers/Makefile
> +++ b/tools/helpers/Makefile
> @@ -11,7 +11,7 @@ ifeq ($(CONFIG_X86),y)
>  TARGETS += init-xenstore-domain
>  endif
>  ifeq ($(CONFIG_ARM),y)
> -TARGETS += init-dom0less
> +TARGETS += init-hyperlaunch-guests
>  endif
>  endif
>  
> @@ -31,13 +31,13 @@ $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += 
> $(CFLAGS_libxenlight)
>  $(INIT_XENSTORE_DOMAIN_OBJS): CFLAGS += -include $(XEN_ROOT)/tools/config.h
>  init-xenstore-domain: LDLIBS += $(call xenlibs-ldlibs,toollog store ctrl 
> guest light)
>  
> -INIT_DOM0LESS_OBJS = init-dom0less.o init-dom-json.o
> -$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
> -$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenstore)
> -$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenlight)
> -$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
> -$(INIT_DOM0LESS_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
> -init-dom0less: LDLIBS += $(call xenlibs-ldlibs,ctrl evtchn toollog store 
> light guest foreignmemory)
> +INIT_HYPERLAUNCH_OBJS = init-hyperlaunch-guests.o init-dom-json.o
> +$(INIT_HYPERLAUNCH_OBJS): CFLAGS += $(CFLAGS_libxentoollog)
> +$(INIT_HYPERLAUNCH_OBJS): CFLAGS += $(CFLAGS_libxenstore)
> +$(INIT_HYPERLAUNCH_OBJS): CFLAGS += $(CFLAGS_libxenlight)
> +$(INIT_HYPERLAUNCH_OBJS): CFLAGS += $(CFLAGS_libxenctrl)
> +$(INIT_HYPERLAUNCH_OBJS): CFLAGS += $(CFLAGS_libxenevtchn)
> +init-hyperlaunch-guests: LDLIBS += $(call xenlibs-ldlibs,ctrl evtchn toollog 
> store light guest foreignmemory)
>  
>  .PHONY: all
>  all: $(TARGETS)
> @@ -48,8 +48,8 @@ xen-init-dom0: $(XEN_INIT_DOM0_OBJS)
>  init-xenstore-domain: $(INIT_XENSTORE_DOMAIN_OBJS)
>       $(CC) $(LDFLAGS) -o $@ $(INIT_XENSTORE_DOMAIN_OBJS) $(LDLIBS) 
> $(APPEND_LDFLAGS)
>  
> -init-dom0less: $(INIT_DOM0LESS_OBJS)
> -     $(CC) $(LDFLAGS) -o $@ $(INIT_DOM0LESS_OBJS) $(LDLIBS) $(APPEND_LDFLAGS)
> +init-hyperlaunch-guests: $(INIT_HYPERLAUNCH_OBJS)
> +     $(CC) $(LDFLAGS) -o $@ $(INIT_HYPERLAUNCH_OBJS) $(LDLIBS) 
> $(APPEND_LDFLAGS)
>  
>  .PHONY: install
>  install: all
> diff --git a/tools/helpers/init-dom0less.c 
> b/tools/helpers/init-hyperlaunch-guests.c
> similarity index 98%
> rename from tools/helpers/init-dom0less.c
> rename to tools/helpers/init-hyperlaunch-guests.c
> index fee93459c4b9..c786a5fd37b2 100644
> --- a/tools/helpers/init-dom0less.c
> +++ b/tools/helpers/init-hyperlaunch-guests.c
> @@ -129,7 +129,7 @@ static int create_xenstore(struct xs_handle *xsh,
>      rc = snprintf(id_str, STR_MAX_LENGTH, "%u", domid);
>      if (rc < 0 || rc >= STR_MAX_LENGTH)
>          return rc;
> -    rc = snprintf(dom_name_str, STR_MAX_LENGTH, "dom0less-%u", domid);
> +    rc = snprintf(dom_name_str, STR_MAX_LENGTH, "hyperlaunch-%u", domid);
>      if (rc < 0 || rc >= STR_MAX_LENGTH)
>          return rc;
>      rc = snprintf(uuid_str, STR_MAX_LENGTH, LIBXL_UUID_FMT, 
> LIBXL_UUID_BYTES(uuid));
> @@ -232,7 +232,7 @@ static int init_domain(struct xs_handle *xsh,
>      int rc;
>      struct xenstore_domain_interface *intf;
>  
> -    printf("Init dom0less domain: %u\n", info->domid);
> +    printf("Init hyperlaunch domain: %u\n", info->domid);
>  
>      rc = xc_hvm_param_get(xch, info->domid, HVM_PARAM_STORE_EVTCHN,
>                            &xenstore_evtchn);
> diff --git a/xen/arch/arm/Kconfig b/xen/arch/arm/Kconfig
> index 61e581b8c2b0..c5cb8f28011a 100644
> --- a/xen/arch/arm/Kconfig
> +++ b/xen/arch/arm/Kconfig
> @@ -179,10 +179,10 @@ config TEE
>  source "arch/arm/tee/Kconfig"
>  
>  config STATIC_SHM
> -     bool "Statically shared memory on a dom0less system" if UNSUPPORTED
> +     bool "Statically shared memory on an Hyperlaunch system" if UNSUPPORTED
>       depends on STATIC_MEMORY
>       help
> -       This option enables statically shared memory on a dom0less system.
> +       This option enables statically shared memory on an Hyperlaunch system.
>  
>  endmenu
>  
> diff --git a/xen/arch/arm/domain_build.c b/xen/arch/arm/domain_build.c
> index d0d6be922db1..897e1f2de39e 100644
> --- a/xen/arch/arm/domain_build.c
> +++ b/xen/arch/arm/domain_build.c
> @@ -42,7 +42,7 @@ integer_param("dom0_max_vcpus", opt_dom0_max_vcpus);
>  
>  /*
>   * If true, the extended regions support is enabled for dom0 and
> - * dom0less domUs.
> + * Hyperlaunch started domUs.
>   */
>  static bool __initdata opt_ext_regions = true;
>  boolean_param("ext_regions", opt_ext_regions);
> @@ -3347,7 +3347,7 @@ static int __init prepare_dtb_domU(struct domain *d, 
> struct kernel_info *kinfo)
>              goto err;
>      }
>  
> -    if ( kinfo->dom0less_feature & DOM0LESS_ENHANCED_NO_XS )
> +    if ( kinfo->hyperlaunch_feature & HYPERLAUNCH_ENHANCED_NO_XS )
>      {
>          ret = make_hypervisor_node(d, kinfo, addrcells, sizecells);
>          if ( ret )
> @@ -3810,7 +3810,7 @@ static int __init construct_domU(struct domain *d,
>                                   const struct dt_device_node *node)
>  {
>      struct kernel_info kinfo = {};
> -    const char *dom0less_enhanced;
> +    const char *hyperlaunch_enhanced;
>      int rc;
>      u64 mem;
>      u32 p2m_mem_mb;
> @@ -3841,18 +3841,18 @@ static int __init construct_domU(struct domain *d,
>  
>      kinfo.vpl011 = dt_property_read_bool(node, "vpl011");
>  
> -    rc = dt_property_read_string(node, "xen,enhanced", &dom0less_enhanced);
> +    rc = dt_property_read_string(node, "xen,enhanced", 
> &hyperlaunch_enhanced);
>      if ( rc == -EILSEQ ||
>           rc == -ENODATA ||
> -         (rc == 0 && !strcmp(dom0less_enhanced, "enabled")) )
> +         (rc == 0 && !strcmp(hyperlaunch_enhanced, "enabled")) )
>      {
>          if ( hardware_domain )
> -            kinfo.dom0less_feature = DOM0LESS_ENHANCED;
> +            kinfo.hyperlaunch_feature = HYPERLAUNCH_ENHANCED;
>          else
>              panic("At the moment, Xenstore support requires dom0 to be 
> present\n");
>      }
> -    else if ( rc == 0 && !strcmp(dom0less_enhanced, "no-xenstore") )
> -        kinfo.dom0less_feature = DOM0LESS_ENHANCED_NO_XS;
> +    else if ( rc == 0 && !strcmp(hyperlaunch_enhanced, "no-xenstore") )
> +        kinfo.hyperlaunch_feature = HYPERLAUNCH_ENHANCED_NO_XS;
>  
>      if ( vcpu_create(d, 0) == NULL )
>          return -ENOMEM;
> @@ -3902,7 +3902,7 @@ static int __init construct_domU(struct domain *d,
>      if ( rc < 0 )
>          return rc;
>  
> -    if ( kinfo.dom0less_feature & DOM0LESS_XENSTORE )
> +    if ( kinfo.hyperlaunch_feature & HYPERLAUNCH_XENSTORE )
>      {
>          ASSERT(hardware_domain);
>          rc = alloc_xenstore_evtchn(d);
> diff --git a/xen/arch/arm/efi/efi-boot.h b/xen/arch/arm/efi/efi-boot.h
> index bb64925d708c..cccf90817279 100644
> --- a/xen/arch/arm/efi/efi-boot.h
> +++ b/xen/arch/arm/efi/efi-boot.h
> @@ -807,9 +807,9 @@ static int __init handle_module_node(const 
> EFI_LOADED_IMAGE *loaded_image,
>   * in the DT.
>   * Returns number of multiboot,module found or negative number on error.
>   */
> -static int __init handle_dom0less_domain_node(const EFI_LOADED_IMAGE 
> *loaded_image,
> -                                              EFI_FILE_HANDLE *dir_handle,
> -                                              int domain_node)
> +static int __init
> +handle_hyperlaunch_domain_node(const EFI_LOADED_IMAGE *loaded_image,
> +                               EFI_FILE_HANDLE *dir_handle, int domain_node)
>  {
>      int module_node, addr_cells, size_cells, len;
>      const struct fdt_property *prop;
> @@ -879,7 +879,8 @@ static int __init efi_check_dt_boot(const 
> EFI_LOADED_IMAGE *loaded_image)
>          if ( !fdt_node_check_compatible(fdt, node, "xen,domain") )
>          {
>              /* Found a node with compatible xen,domain; handle this node. */
> -            ret = handle_dom0less_domain_node(loaded_image, &dir_handle, 
> node);
> +            ret = handle_hyperlaunch_domain_node(loaded_image, &dir_handle,
> +                                                 node);
>              if ( ret < 0 )
>                  return ERROR_DT_MODULE_DOMU;
>          }
> diff --git a/xen/arch/arm/include/asm/kernel.h 
> b/xen/arch/arm/include/asm/kernel.h
> index 4617cdc83bac..042e250e172a 100644
> --- a/xen/arch/arm/include/asm/kernel.h
> +++ b/xen/arch/arm/include/asm/kernel.h
> @@ -10,23 +10,23 @@
>  #include <asm/setup.h>
>  
>  /*
> - * List of possible features for dom0less domUs
> + * List of possible features for Hyperlaunch started domUs
>   *
> - * DOM0LESS_ENHANCED_NO_XS: Notify the OS it is running on top of Xen. All 
> the
> - *                          default features (excluding Xenstore) will be
> - *                          available. Note that an OS *must* not rely on the
> - *                          availability of Xen features if this is not set.
> - * DOM0LESS_XENSTORE:       Xenstore will be enabled for the VM. This feature
> - *                          can't be enabled without the
> - *                          DOM0LESS_ENHANCED_NO_XS.
> - * DOM0LESS_ENHANCED:       Notify the OS it is running on top of Xen. All 
> the
> - *                          default features (including Xenstore) will be
> - *                          available. Note that an OS *must* not rely on the
> - *                          availability of Xen features if this is not set.
> + * HYPERLAUNCH_ENHANCED_NO_XS: Notify the OS it is running on top of Xen. All
> + *                             the default features (excluding Xenstore) 
> will be
> + *                             available. Note that an OS *must* not rely on 
> the
> + *                             availability of Xen features if this is not 
> set.
> + * HYPERLAUNCH_XENSTORE:       Xenstore will be enabled for the VM. This 
> feature
> + *                             can't be enabled without the
> + *                             HYPERLAUNCH_ENHANCED_NO_XS.
> + * HYPERLAUNCH_ENHANCED:       Notify the OS it is running on top of Xen. All
> + *                             the default features (including Xenstore) 
> will be
> + *                             available. Note that an OS *must* not rely on 
> the
> + *                             availability of Xen features if this is not 
> set.
>   */
> -#define DOM0LESS_ENHANCED_NO_XS  BIT(0, U)
> -#define DOM0LESS_XENSTORE        BIT(1, U)
> -#define DOM0LESS_ENHANCED        (DOM0LESS_ENHANCED_NO_XS | 
> DOM0LESS_XENSTORE)
> +#define HYPERLAUNCH_ENHANCED_NO_XS  BIT(0, U)
> +#define HYPERLAUNCH_XENSTORE        BIT(1, U)
> +#define HYPERLAUNCH_ENHANCED        (HYPERLAUNCH_ENHANCED_NO_XS | 
> HYPERLAUNCH_XENSTORE)
>  
>  struct kernel_info {
>  #ifdef CONFIG_ARM_64
> @@ -57,7 +57,7 @@ struct kernel_info {
>      bool vpl011;
>  
>      /* Enable/Disable PV drivers interfaces */
> -    uint16_t dom0less_feature;
> +    uint16_t hyperlaunch_feature;
>  
>      /* GIC phandle */
>      uint32_t phandle_gic;
> diff --git a/xen/arch/arm/setup.c b/xen/arch/arm/setup.c
> index bbf72b69aae6..955c6b9e2e9e 100644
> --- a/xen/arch/arm/setup.c
> +++ b/xen/arch/arm/setup.c
> @@ -1041,7 +1041,7 @@ static void __init setup_mm(void)
>  }
>  #endif
>  
> -static bool __init is_dom0less_mode(void)
> +static bool __init is_hyperlaunch_mode(void)
>  {
>      struct bootmodules *mods = &bootinfo.modules;
>      struct bootmodule *mod;
> @@ -1068,7 +1068,7 @@ static bool __init is_dom0less_mode(void)
>  
>      /*
>       * If there is no dom0 kernel but at least one domU, then we are in
> -     * dom0less mode
> +     * Hyperlaunch mode
>       */
>      return ( !dom0found && domUfound );
>  }
> @@ -1242,10 +1242,10 @@ void __init start_xen(unsigned long boot_phys_offset,
>      enable_cpu_features();
>  
>      /* Create initial domain 0. */
> -    if ( !is_dom0less_mode() )
> +    if ( !is_hyperlaunch_mode() )
>          create_dom0();
>      else
> -        printk(XENLOG_INFO "Xen dom0less mode detected\n");
> +        printk(XENLOG_INFO "Xen Hyperlaunch mode detected\n");
>  
>      if ( acpi_disabled )
>      {
> -- 
> 2.34.1
> 



 


Rackspace

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