[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 >
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |