From 43de96a70f00b631d0f4c658c232204079b2f2b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Marczykowski-G=C3=B3recki?= Date: Mon, 10 Jun 2024 15:32:09 +0200 Subject: [PATCH] automation: add a test for HVM domU on PVH dom0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This tests if QEMU works in PVH dom0. QEMU in dom0 requires enabling TUN in the kernel, so do that too. Add it to both x86 runners, similar to the PVH domU test. Signed-off-by: Marek Marczykowski-Górecki Release-Acked-By: Oleksii Kurochko Acked-by: Andrew Cooper --- automation/gitlab-ci/test.yaml | 16 ++++++++++++++++ automation/scripts/qubes-x86-64.sh | 19 ++++++++++++++++--- .../tests-artifacts/kernel/6.1.19.dockerfile | 1 + 3 files changed, 33 insertions(+), 3 deletions(-) diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index 902139e148..898d2adc8c 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -175,6 +175,14 @@ adl-smoke-x86-64-dom0pvh-gcc-debug: - *x86-64-test-needs - alpine-3.18-gcc-debug +adl-smoke-x86-64-dom0pvh-hvm-gcc-debug: + extends: .adl-x86-64 + script: + - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE} + needs: + - *x86-64-test-needs + - alpine-3.18-gcc-debug + adl-suspend-x86-64-gcc-debug: extends: .adl-x86-64 script: @@ -215,6 +223,14 @@ zen3p-smoke-x86-64-dom0pvh-gcc-debug: - *x86-64-test-needs - alpine-3.18-gcc-debug +zen3p-smoke-x86-64-dom0pvh-hvm-gcc-debug: + extends: .zen3p-x86-64 + script: + - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE} + needs: + - *x86-64-test-needs + - alpine-3.18-gcc-debug + zen3p-pci-hvm-x86-64-gcc-debug: extends: .zen3p-x86-64 script: diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh index d81ed7b931..bfa60c912a 100755 --- a/automation/scripts/qubes-x86-64.sh +++ b/automation/scripts/qubes-x86-64.sh @@ -19,8 +19,8 @@ vif = [ "bridge=xenbr0", ] disk = [ ] ' -### test: smoke test & smoke test PVH -if [ -z "${test_variant}" ] || [ "${test_variant}" = "dom0pvh" ]; then +### test: smoke test & smoke test PVH & smoke test HVM +if [ -z "${test_variant}" ] || [ "${test_variant}" = "dom0pvh" ] || [ "${test_variant}" = "dom0pvh-hvm" ]; then passed="ping test passed" domU_check=" ifconfig eth0 192.168.0.2 @@ -37,10 +37,23 @@ done set -x echo \"${passed}\" " -if [ "${test_variant}" = "dom0pvh" ]; then +if [ "${test_variant}" = "dom0pvh" ] || [ "${test_variant}" = "dom0pvh-hvm" ]; then extra_xen_opts="dom0=pvh" fi +if [ "${test_variant}" = "dom0pvh-hvm" ]; then + domU_config=' +type = "hvm" +name = "domU" +kernel = "/boot/vmlinuz" +ramdisk = "/boot/initrd-domU" +extra = "root=/dev/ram0 console=hvc0" +memory = 512 +vif = [ "bridge=xenbr0", ] +disk = [ ] +' +fi + ### test: S3 elif [ "${test_variant}" = "s3" ]; then passed="suspend test passed" diff --git a/automation/tests-artifacts/kernel/6.1.19.dockerfile b/automation/tests-artifacts/kernel/6.1.19.dockerfile index 3a4096780d..021bde26c7 100644 --- a/automation/tests-artifacts/kernel/6.1.19.dockerfile +++ b/automation/tests-artifacts/kernel/6.1.19.dockerfile @@ -32,6 +32,7 @@ RUN curl -fsSLO https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-"$LINUX_VERSI make xen.config && \ scripts/config --enable BRIDGE && \ scripts/config --enable IGC && \ + scripts/config --enable TUN && \ cp .config .config.orig && \ cat .config.orig | grep XEN | grep =m |sed 's/=m/=y/g' >> .config && \ make -j$(nproc) bzImage && \