Based on the initial stubdomain test and existing PCI passthrough tests, add one that combines both. Schedule it on the AMD runner, as it has less tests right now.
Signed-off-by: Marek Marczykowski-Górecki <marma...@invisiblethingslab.com> --- automation/gitlab-ci/test.yaml | 8 ++++++++ automation/scripts/qubes-x86-64.sh | 30 +++++++++++++++++++++++++----- 2 files changed, 33 insertions(+), 5 deletions(-) diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index e3910f4c1a9f..76cc430ae00f 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -231,6 +231,14 @@ zen3p-pci-hvm-x86-64-gcc-debug: - *x86-64-test-needs - alpine-3.19-gcc-debug +zen3p-pci-stubdom-x86-64-gcc-debug: + extends: .zen3p-x86-64 + script: + - ./automation/scripts/qubes-x86-64.sh pci-stubdom 2>&1 | tee ${LOGFILE} + needs: + - *x86-64-test-needs + - alpine-3.19-gcc-debug + qemu-smoke-dom0-arm64-gcc: extends: .qemu-arm64 script: diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh index fc73403dbadf..816c16fbab3e 100755 --- a/automation/scripts/qubes-x86-64.sh +++ b/automation/scripts/qubes-x86-64.sh @@ -98,8 +98,8 @@ ping -c 10 192.168.0.2 || exit 1 echo \"${passed}\" " -### test: pci-pv, pci-hvm -elif [ "${test_variant}" = "pci-pv" ] || [ "${test_variant}" = "pci-hvm" ]; then +### test: pci-pv, pci-hvm, pci-stubdom +elif [ "${test_variant}" = "pci-pv" ] || [ "${test_variant}" = "pci-hvm" ] || [ "${test_variant}" = "pci-stubdom" ]; then if [ -z "$PCIDEV" ]; then echo "Please set 'PCIDEV' variable with BDF of test network adapter" >&2 @@ -109,15 +109,35 @@ elif [ "${test_variant}" = "pci-pv" ] || [ "${test_variant}" = "pci-hvm" ]; then passed="pci test passed" - domU_config=' + domain_type="${test_variant#pci-}" + if [ "$test_variant" = "pci-stubdom" ]; then + domain_type="hvm" + domU_config=' +type = "hvm" +disk = [ "/srv/disk.img,format=raw,vdev=xvda" ] +device_model_version = "qemu-xen" +device_model_stubdomain_override = 1 +on_reboot = "destroy" +# libxl configures vkb backend to be dom0 instead of the stubdomain, defer +# changing that until there is consensus what to do about VGA output (VNC) +vkb_device = 0 +' + domU_disk_path=/srv/disk.img + else + domU_config=' type = "'${test_variant#pci-}'" -name = "domU" kernel = "/boot/vmlinuz" ramdisk = "/boot/initrd-domU" extra = "root=/dev/ram0 console=hvc0 earlyprintk=xen" +disk = [ ] +' + fi + + # common part + domU_config="$domU_config"' +name = "domU" memory = 512 vif = [ ] -disk = [ ] pci = [ "'$PCIDEV',seize=1" ] on_reboot = "destroy" ' -- git-series 0.9.1