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 )
     {
