From 3be3ae07705af77ab1c87c2e442c7646c938ad25 Mon Sep 17 00:00:00 2001 From: Andrew Cooper Date: Mon, 21 Oct 2024 15:07:54 +0100 Subject: [PATCH] CI: Rework domU_config generation in qubes-x86-64.sh MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Right now, various blocks rewrite domU_config= as a whole, even though it is largely the same. * dom0pvh-hvm does nothing but change the domain type to hvm * *-pci sets the domain type, clears vif=[], appends earlyprintk=xen to the cmdline, and adds some PCI config. Refactor this to be domU_type (defaults to pvh), domU_vif (defaults to xenbr0), and domU_extra_config (defaults to empty) and use these variables to build domU_config= once. Of note, the default domU_config= now sets cmdline=, and extra= is intended for inclusion via domU_extra_config as necessary. No practical change. Signed-off-by: Andrew Cooper Reviewed-by: Stefano Stabellini Reviewed-by: Marek Marczykowski-Górecki --- automation/scripts/qubes-x86-64.sh | 50 +++++++++++++----------------- 1 file changed, 21 insertions(+), 29 deletions(-) diff --git a/automation/scripts/qubes-x86-64.sh b/automation/scripts/qubes-x86-64.sh index 306304e921..76fbafac84 100755 --- a/automation/scripts/qubes-x86-64.sh +++ b/automation/scripts/qubes-x86-64.sh @@ -15,16 +15,9 @@ test_variant=$1 extra_xen_opts= wait_and_wakeup= timeout=120 -domU_config=' -type = "pvh" -name = "domU" -kernel = "/boot/vmlinuz" -ramdisk = "/boot/initrd-domU" -extra = "root=/dev/ram0 console=hvc0" -memory = 512 -vif = [ "bridge=xenbr0", ] -disk = [ ] -' +domU_type="pvh" +domU_vif="'bridge=xenbr0'," +domU_extra_config= case "${test_variant}" in ### test: smoke test & smoke test PVH & smoke test HVM @@ -50,16 +43,7 @@ echo \"${passed}\" 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 = [ ] -' + domU_type="hvm" fi ;; @@ -101,15 +85,11 @@ echo \"${passed}\" passed="pci test passed" - domU_config=' -type = "'${test_variant#pci-}'" -name = "domU" -kernel = "/boot/vmlinuz" -ramdisk = "/boot/initrd-domU" -extra = "root=/dev/ram0 console=hvc0 earlyprintk=xen" -memory = 512 -vif = [ ] -disk = [ ] + domU_type="${test_variant#pci-}" + domU_vif="" + + domU_extra_config=' +extra = "earlyprintk=xen" pci = [ "'$PCIDEV',seize=1" ] on_reboot = "destroy" ' @@ -148,6 +128,18 @@ done ;; esac +domU_config=" +type = '${domU_type}' +name = 'domU' +kernel = '/boot/vmlinuz' +ramdisk = '/boot/initrd-domU' +cmdline = 'root=/dev/ram0 console=hvc0' +memory = 512 +vif = [ ${domU_vif} ] +disk = [ ] +${domU_extra_config} +" + # DomU mkdir -p rootfs cd rootfs -- 2.39.5