[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[xen staging] CI: Fix inconsistent use of x86-{64,32} vs x86_{64,32}



commit 66f59e7657d697a1c117808c6062fb0930423a0f
Author:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
AuthorDate: Fri Jun 12 22:23:16 2026 +0100
Commit:     Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
CommitDate: Mon Jun 15 18:04:20 2026 +0100

    CI: Fix inconsistent use of x86-{64,32} vs x86_{64,32}
    
    The configuration uses a mix of dashes and underscores, which is irritating 
to
    develop for.  Switch to using the underscore form consistently; it is the 
more
    common form and it has the benefit that it allows splitting on dashes to 
work
    sensibly.
    
    No functional change.
    
    Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
    Reviewed-by: Denis Mukhin <dmukhin@xxxxxxxx>
    Release-Acked-by: Oleksii Kurochko <oleksii.kurochko@xxxxxxxxx>
---
 automation/gitlab-ci/build.yaml                    | 154 +++++------
 automation/gitlab-ci/test.yaml                     | 280 +++++++++----------
 .../scripts/include/configs/xtf-x86-64-config      |   0
 .../scripts/include/configs/xtf-x86-64-efi-config  |   0
 .../scripts/include/configs/xtf-x86_64-config      |   0
 .../scripts/include/configs/xtf-x86_64-efi-config  |   0
 automation/scripts/include/xtf-x86-64              |  32 ---
 automation/scripts/include/xtf-x86-64-efi          |  59 ----
 automation/scripts/include/xtf-x86_64              |  32 +++
 automation/scripts/include/xtf-x86_64-efi          |  59 ++++
 automation/scripts/qubes-x86-64.sh                 | 302 ---------------------
 automation/scripts/qubes-x86_64.sh                 | 302 +++++++++++++++++++++
 12 files changed, 610 insertions(+), 610 deletions(-)

diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
index fa054a8280..d5929e34ec 100644
--- a/automation/gitlab-ci/build.yaml
+++ b/automation/gitlab-ci/build.yaml
@@ -36,77 +36,77 @@
     CXX: clang++
     clang: y
 
-.x86-64-build-tmpl:
+.x86_64-build-tmpl:
   <<: *build
   variables:
     XEN_TARGET_ARCH: x86_64
   tags:
     - x86_64
 
-.x86-64-build:
-  extends: .x86-64-build-tmpl
+.x86_64-build:
+  extends: .x86_64-build-tmpl
   variables:
     debug: n
 
-.x86-64-build-debug:
-  extends: .x86-64-build-tmpl
+.x86_64-build-debug:
+  extends: .x86_64-build-tmpl
   variables:
     debug: y
 
-.x86-32-build-tmpl:
+.x86_32-build-tmpl:
   <<: *build
   variables:
     XEN_TARGET_ARCH: x86_32
   tags:
     - x86_32
 
-.x86-32-build:
-  extends: .x86-32-build-tmpl
+.x86_32-build:
+  extends: .x86_32-build-tmpl
   variables:
     debug: n
 
-.x86-32-build-debug:
-  extends: .x86-32-build-tmpl
+.x86_32-build-debug:
+  extends: .x86_32-build-tmpl
   variables:
     debug: y
 
-.gcc-x86-64-build:
-  extends: .x86-64-build
+.gcc-x86_64-build:
+  extends: .x86_64-build
   variables:
     <<: *gcc
 
-.gcc-x86-64-build-debug:
-  extends: .x86-64-build-debug
+.gcc-x86_64-build-debug:
+  extends: .x86_64-build-debug
   variables:
     <<: *gcc
 
-.gcc-x86-32-build:
-  extends: .x86-32-build
+.gcc-x86_32-build:
+  extends: .x86_32-build
   variables:
     <<: *gcc
 
-.gcc-x86-32-build-debug:
-  extends: .x86-32-build-debug
+.gcc-x86_32-build-debug:
+  extends: .x86_32-build-debug
   variables:
     <<: *gcc
 
-.clang-x86-64-build:
-  extends: .x86-64-build
+.clang-x86_64-build:
+  extends: .x86_64-build
   variables:
     <<: *clang
 
-.clang-x86-64-build-debug:
-  extends: .x86-64-build-debug
+.clang-x86_64-build-debug:
+  extends: .x86_64-build-debug
   variables:
     <<: *clang
 
-.clang-x86-32-build:
-  extends: .x86-32-build
+.clang-x86_32-build:
+  extends: .x86_32-build
   variables:
     <<: *clang
 
-.clang-x86-32-build-debug:
-  extends: .x86-32-build-debug
+.clang-x86_32-build-debug:
+  extends: .x86_32-build-debug
   variables:
     <<: *clang
 
@@ -244,25 +244,25 @@
   tags:
     - arm64
 
-.yocto-test-x86-64:
+.yocto-test-x86_64:
   extends: .yocto-test
   tags:
     - x86_64
 
-.x86-64-cross-build-tmpl:
+.x86_64-cross-build-tmpl:
   <<: *build
   variables:
     XEN_TARGET_ARCH: x86_64
   tags:
     - arm64
 
-.x86-64-cross-build:
-  extends: .x86-64-cross-build-tmpl
+.x86_64-cross-build:
+  extends: .x86_64-cross-build-tmpl
   variables:
     debug: n
 
-.gcc-x86-64-cross-build:
-  extends: .x86-64-cross-build
+.gcc-x86_64-cross-build:
+  extends: .x86_64-cross-build
   variables:
     <<: *gcc
 
@@ -271,13 +271,13 @@
 # Build jobs needed for tests
 
 alpine-3.24-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   <<: *build-test
   variables:
     CONTAINER: alpine:3.24-x86_64
 
 alpine-3.24-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   <<: *build-test
   variables:
     CONTAINER: alpine:3.24-x86_64
@@ -292,13 +292,13 @@ alpine-3.24-x86_64-gcc-debug:
       CONFIG_XHCI=y
 
 debian-13-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   <<: *build-test
   variables:
     CONTAINER: debian:13-x86_64
 
 debian-13-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   <<: *build-test
   variables:
     CONTAINER: debian:13-x86_64
@@ -482,14 +482,14 @@ yocto-qemuarm:
     YOCTO_OUTPUT: --copy-output
 
 yocto-qemux86-64:
-  extends: .yocto-test-x86-64
+  extends: .yocto-test-x86_64
   variables:
     YOCTO_BOARD: qemux86-64
 
 # Cppcheck analysis jobs
 
 debian-12-x86_64-gcc-cppcheck:
-  extends: .gcc-x86-64-cross-build
+  extends: .gcc-x86_64-cross-build
   variables:
     CONTAINER: debian:12-arm64v8-cppcheck
     CROSS_COMPILE: /usr/bin/x86_64-linux-gnu-
@@ -514,29 +514,29 @@ debian-12-arm64-gcc-cppcheck:
 # Build jobs not needed for tests
 
 alpine-3.24-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: alpine:3.24-x86_64
 
 alpine-3.24-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: alpine:3.24-x86_64
 
 archlinux-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: archlinux:current-x86_64
   allow_failure: true
 
 archlinux-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: archlinux:current-x86_64
   allow_failure: true
 
 debian-12-x86_64-gcc-ibt:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: debian:12-x86_64-gcc-ibt
     RANDCONFIG: y
@@ -544,42 +544,42 @@ debian-12-x86_64-gcc-ibt:
       CONFIG_XEN_IBT=y
 
 debian-12-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: debian:12-x86_64
 
 debian-12-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: debian:12-x86_64
 
 debian-12-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: debian:12-x86_64
 
 debian-12-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: debian:12-x86_64
 
 debian-12-x86_32-clang-debug:
-  extends: .clang-x86-32-build-debug
+  extends: .clang-x86_32-build-debug
   variables:
     CONTAINER: debian:12-x86_32
 
 debian-12-x86_32-gcc-debug:
-  extends: .gcc-x86-32-build-debug
+  extends: .gcc-x86_32-build-debug
   variables:
     CONTAINER: debian:12-x86_32
 
 debian-13-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: debian:13-x86_64
 
 debian-13-x86_64-clang-randconfig:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: debian:13-x86_64
     RANDCONFIG: y
@@ -587,136 +587,136 @@ debian-13-x86_64-clang-randconfig:
       CONFIG_COVERAGE=n # Disable coverage otherwise build times out.
 
 debian-13-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: debian:13-x86_64
 
 debian-13-x86_64-gcc-randconfig:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: debian:13-x86_64
     RANDCONFIG: y
 
 debian-13-x86_32-clang-debug:
-  extends: .clang-x86-32-build-debug
+  extends: .clang-x86_32-build-debug
   variables:
     CONTAINER: debian:13-x86_32
 
 debian-13-x86_32-gcc-debug:
-  extends: .gcc-x86-32-build-debug
+  extends: .gcc-x86_32-build-debug
   variables:
     CONTAINER: debian:13-x86_32
 
 fedora-43-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: fedora:43-x86_64
 
 fedora-43-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: fedora:43-x86_64
 
 ubuntu-18.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:18.04-x86_64
 
 ubuntu-18.04-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: ubuntu:18.04-x86_64
 
 ubuntu-20.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:20.04-x86_64
 
 ubuntu-22.04-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: ubuntu:22.04-x86_64
 
 ubuntu-22.04-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: ubuntu:22.04-x86_64
 
 ubuntu-22.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:22.04-x86_64
 
 ubuntu-24.04-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: ubuntu:24.04-x86_64
 
 ubuntu-24.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:24.04-x86_64
 
 ubuntu-26.04-x86_64-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: ubuntu:26.04-x86_64
 
 ubuntu-26.04-x86_64-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: ubuntu:26.04-x86_64
 
 ubuntu-26.04-x86_64-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: ubuntu:26.04-x86_64
 
 ubuntu-26.04-x86_64-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: ubuntu:26.04-x86_64
 
 opensuse-leap-16.0-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: opensuse:leap-16.0-x86_64
 
 opensuse-leap-16.0-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: opensuse:leap-16.0-x86_64
 
 opensuse-leap-16.0-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: opensuse:leap-16.0-x86_64
 
 opensuse-leap-16.0-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: opensuse:leap-16.0-x86_64
 
 opensuse-tumbleweed-clang:
-  extends: .clang-x86-64-build
+  extends: .clang-x86_64-build
   variables:
     CONTAINER: opensuse:tumbleweed-x86_64
   allow_failure: true
 
 opensuse-tumbleweed-clang-debug:
-  extends: .clang-x86-64-build-debug
+  extends: .clang-x86_64-build-debug
   variables:
     CONTAINER: opensuse:tumbleweed-x86_64
   allow_failure: true
 
 opensuse-tumbleweed-gcc:
-  extends: .gcc-x86-64-build
+  extends: .gcc-x86_64-build
   variables:
     CONTAINER: opensuse:tumbleweed-x86_64
   allow_failure: true
 
 opensuse-tumbleweed-gcc-debug:
-  extends: .gcc-x86-64-build-debug
+  extends: .gcc-x86_64-build-debug
   variables:
     CONTAINER: opensuse:tumbleweed-x86_64
   allow_failure: true
diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index cae8dfe970..87b2018a29 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -21,7 +21,7 @@
     job: microcode-x86
     ref: $ARTIFACTS_BRANCH
 
-.x86-64-test-needs: &x86-64-test-needs
+.x86_64-test-needs: &x86_64-test-needs
   - project: $ARTIFACTS_REPO
     job: $LINUX_JOB_X86_64
     ref: $ARTIFACTS_BRANCH
@@ -58,11 +58,11 @@
   tags:
     - arm64
 
-.qemu-x86-64:
+.qemu-x86_64:
   extends: .test-jobs-common
   variables:
     CONTAINER: debian:13-x86_64
-    LOGFILE: qemu-smoke-x86-64.log
+    LOGFILE: qemu-smoke-x86_64.log
   artifacts:
     paths:
       - smoke.serial
@@ -71,8 +71,8 @@
   tags:
     - x86_64
 
-.qemu-smoke-x86-64:
-  extends: .qemu-x86-64
+.qemu-smoke-x86_64:
+  extends: .qemu-x86_64
   variables:
     TEST_TIMEOUT_OVERRIDE: 120
 
@@ -141,7 +141,7 @@
   tags:
     - xilinx-crater-001
 
-.adl-x86-64:
+.adl-x86_64:
   extends: .test-jobs-common
   variables:
     # the test controller runs on RPi4
@@ -164,9 +164,9 @@
   tags:
     - qubes-hw2
 
-.kbl-x86-64:
+.kbl-x86_64:
   # it's really similar to the ADL one
-  extends: .adl-x86-64
+  extends: .adl-x86_64
   variables:
     PCIDEV: "00:1f.6"
     PCIDEV_INTR: "MSI"
@@ -175,9 +175,9 @@
   tags:
     - qubes-hw3
 
-.zen2-x86-64:
+.zen2-x86_64:
   # it's really similar to the above
-  extends: .adl-x86-64
+  extends: .adl-x86_64
   variables:
     PCIDEV: "01:00.0"
     PCIDEV_INTR: "MSI-X"
@@ -186,9 +186,9 @@
   tags:
     - qubes-hw1
 
-.zen3p-x86-64:
+.zen3p-x86_64:
   # it's really similar to the above
-  extends: .adl-x86-64
+  extends: .adl-x86_64
   variables:
     PCIDEV: "01:00.0"
     PCIDEV_INTR: "MSI-X"
@@ -235,7 +235,7 @@ xilinx-smoke-dom0-x86_64-gcc-debug:
   script:
     - ./automation/scripts/xilinx-smoke-dom0-x86_64.sh ping 2>&1 | tee 
${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
 xilinx-smoke-dom0-x86_64-gcc-debug-argo:
@@ -254,238 +254,238 @@ xilinx-smoke-dom0-x86_64-gcc-debug-argo:
       job: microcode-x86
       ref: master
 
-adl-smoke-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-smoke-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-smoke-x86-64-dom0pvh-gcc-debug:
-  extends: .adl-x86-64
+adl-smoke-x86_64-dom0pvh-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
-  extends: .adl-x86-64
+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}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-suspend-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-suspend-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-pci-pv-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-pci-pv-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-pci-hvm-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-pci-hvm-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-pvshim-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-pvshim-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-tools-tests-pv-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-tools-tests-pv-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-adl-tools-tests-pvh-x86-64-gcc-debug:
-  extends: .adl-x86-64
+adl-tools-tests-pvh-x86_64-gcc-debug:
+  extends: .adl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pvh 2>&1 | tee 
${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pvh 2>&1 | tee 
${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-smoke-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-smoke-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-smoke-x86-64-dom0pvh-gcc-debug:
-  extends: .kbl-x86-64
+kbl-smoke-x86_64-dom0pvh-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-smoke-x86-64-dom0pvh-hvm-gcc-debug:
-  extends: .kbl-x86-64
+kbl-smoke-x86_64-dom0pvh-hvm-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-suspend-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-suspend-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-pci-pv-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-pci-pv-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-pci-hvm-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-pci-hvm-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-pvshim-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-pvshim-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-tools-tests-pv-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-tools-tests-pv-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-kbl-tools-tests-pvh-x86-64-gcc-debug:
-  extends: .kbl-x86-64
+kbl-tools-tests-pvh-x86_64-gcc-debug:
+  extends: .kbl-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pvh 2>&1 | tee 
${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pvh 2>&1 | tee 
${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen2-smoke-x86-64-gcc-debug:
-  extends: .zen2-x86-64
+zen2-smoke-x86_64-gcc-debug:
+  extends: .zen2-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen2-suspend-x86-64-gcc-debug:
-  extends: .zen2-x86-64
+zen2-suspend-x86_64-gcc-debug:
+  extends: .zen2-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh s3 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh s3 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-smoke-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-smoke-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pv 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-smoke-x86-64-dom0pvh-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-smoke-x86_64-dom0pvh-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh dom0pvh 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-smoke-x86-64-dom0pvh-hvm-gcc-debug:
-  extends: .zen3p-x86-64
+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}
+    - ./automation/scripts/qubes-x86_64.sh dom0pvh-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-pci-hvm-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-pci-hvm-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pci-hvm 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pci-hvm 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-pvshim-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-pvshim-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh pvshim 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh pvshim 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-tools-tests-pv-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-tools-tests-pv-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pv 2>&1 | tee ${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
-zen3p-tools-tests-pvh-x86-64-gcc-debug:
-  extends: .zen3p-x86-64
+zen3p-tools-tests-pvh-x86_64-gcc-debug:
+  extends: .zen3p-x86_64
   script:
-    - ./automation/scripts/qubes-x86-64.sh tools-tests-pvh 2>&1 | tee 
${LOGFILE}
+    - ./automation/scripts/qubes-x86_64.sh tools-tests-pvh 2>&1 | tee 
${LOGFILE}
   artifacts:
     reports:
       junit: tests-junit.xml
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc-debug
 
 qemu-smoke-dom0-arm64-gcc:
@@ -649,54 +649,54 @@ qemu-smoke-dom0less-arm32-gcc-debug-earlyprintk:
     - debian-12-arm32-gcc-debug-earlyprintk
 
 qemu-alpine-x86_64-gcc:
-  extends: .qemu-x86-64
+  extends: .qemu-x86_64
   script:
     - ./automation/scripts/qemu-alpine-x86_64.sh 2>&1 | tee ${LOGFILE}
   needs:
-    - *x86-64-test-needs
+    - *x86_64-test-needs
     - alpine-3.24-x86_64-gcc
 
-qemu-smoke-x86-64-gcc:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-gcc:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 pv64 example 2>&1 | tee 
${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 pv64 example 2>&1 | tee 
${LOGFILE}
   needs:
     - debian-13-x86_64-gcc-debug
 
-qemu-smoke-x86-64-clang:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-clang:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 pv64 example 2>&1 | tee 
${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 pv64 example 2>&1 | tee 
${LOGFILE}
   needs:
     - debian-13-x86_64-clang-debug
 
-qemu-smoke-x86-64-gcc-pvh:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-gcc-pvh:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 hvm64 example 2>&1 | tee 
${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 hvm64 example 2>&1 | tee 
${LOGFILE}
   needs:
     - debian-13-x86_64-gcc-debug
 
-qemu-smoke-x86-64-clang-pvh:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-clang-pvh:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 hvm64 example 2>&1 | tee 
${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 hvm64 example 2>&1 | tee 
${LOGFILE}
   needs:
     - debian-13-x86_64-clang-debug
 
-qemu-smoke-x86-64-gcc-efi:
-  extends: .qemu-smoke-x86-64
+qemu-smoke-x86_64-gcc-efi:
+  extends: .qemu-smoke-x86_64
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64-efi pv64 example 2>&1 | tee 
${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64-efi pv64 example 2>&1 | tee 
${LOGFILE}
   needs:
     - debian-13-x86_64-gcc-debug
 
 qemu-xtf-argo-x86_64-gcc-debug:
-  extends: .qemu-smoke-x86-64
+  extends: .qemu-smoke-x86_64
   variables:
     TEST_TIMEOUT_OVERRIDE: 60
   script:
-    - ./automation/scripts/qemu-xtf.sh x86-64 pv64 argo 2>&1 | tee ${LOGFILE}
+    - ./automation/scripts/qemu-xtf.sh x86_64 pv64 argo 2>&1 | tee ${LOGFILE}
   needs:
     - alpine-3.24-x86_64-gcc-debug
 
diff --git a/automation/scripts/include/configs/xtf-x86-64-config 
b/automation/scripts/include/configs/xtf-x86-64-config
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/automation/scripts/include/configs/xtf-x86-64-efi-config 
b/automation/scripts/include/configs/xtf-x86-64-efi-config
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/automation/scripts/include/configs/xtf-x86_64-config 
b/automation/scripts/include/configs/xtf-x86_64-config
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/automation/scripts/include/configs/xtf-x86_64-efi-config 
b/automation/scripts/include/configs/xtf-x86_64-efi-config
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/automation/scripts/include/xtf-x86-64 
b/automation/scripts/include/xtf-x86-64
deleted file mode 100644
index 186f074bd8..0000000000
--- a/automation/scripts/include/xtf-x86-64
+++ /dev/null
@@ -1,32 +0,0 @@
-#!/bin/bash
-#
-# XTF test utilities (x86_64).
-#
-
-# Arch-specific environment overrides.
-function xtf_arch_prepare()
-{
-    export FW_PREFIX="${FW_PREFIX:-}"
-    export QEMU_PREFIX="${QEMU_PREFIX:-}"
-    export XEN_BINARY="${XEN_BINARY:-${WORKDIR}/xen}"
-    export XEN_CMDLINE="${XEN_CMDLINE:-loglvl=all noreboot 
console_timestamps=boot console=com1}"
-    export XTF_SRC_BRANCH="${XTF_SRC_BRANCH:-master}"
-    export 
XTF_SRC_URI="${XTF_SRC_URI:-https://xenbits.xen.org/git-http/xtf.git}";
-    export XTF_SRC_VARIANTS="hvm64 pv64"
-}
-
-# Perform arch-specific XTF environment setup.
-function xtf_arch_setup()
-{
-    export TEST_CMD="${QEMU_PREFIX}qemu-system-x86_64 \
-        -no-reboot \
-        -nographic \
-        -monitor none \
-        -serial stdio \
-        -m 2048 \
-        -smp 2 \
-        -kernel ${XEN_BINARY} \
-        -initrd ${XTF_BINARY} \
-        -append \"${XEN_CMDLINE}\" \
-    "
-}
diff --git a/automation/scripts/include/xtf-x86-64-efi 
b/automation/scripts/include/xtf-x86-64-efi
deleted file mode 100644
index 15c6463dcd..0000000000
--- a/automation/scripts/include/xtf-x86-64-efi
+++ /dev/null
@@ -1,59 +0,0 @@
-#!/bin/bash
-#
-# XTF test utilities (x86_64, EFI).
-#
-
-# Arch-specific environment overrides.
-function xtf_arch_prepare()
-{
-    export FW_PREFIX="${FW_PREFIX:-/usr/share/OVMF/}"
-    export QEMU_PREFIX="${QEMU_PREFIX:-}"
-    export XEN_BINARY="${XEN_BINARY:-${WORKDIR}/xen.efi}"
-    export XEN_CMDLINE="${XEN_CMDLINE:-loglvl=all noreboot 
console_timestamps=boot console=com1}"
-    export XTF_SRC_BRANCH="${XTF_SRC_BRANCH:-master}"
-    export 
XTF_SRC_URI="${XTF_SRC_URI:-https://xenbits.xen.org/git-http/xtf.git}";
-    export XTF_SRC_VARIANTS="hvm64 pv64"
-}
-
-# Perform arch-specific XTF environment setup.
-function xtf_arch_setup()
-{
-    local esp_dir="${WORKDIR}/boot-esp"
-    local efi_dir="${esp_dir}/EFI/BOOT"
-    local suff=
-
-    # Generate EFI boot environment
-    mkdir -p ${efi_dir}
-    cp ${XEN_BINARY} ${efi_dir}/BOOTX64.EFI
-    cp ${XTF_BINARY} ${efi_dir}/kernel
-
-    cat > ${efi_dir}/BOOTX64.cfg <<EOF
-[global]
-default=test
-
-[test]
-options=${XEN_CMDLINE}
-kernel=kernel
-EOF
-
-    # Vs older versions, Debian Trixie names the OVMF files with a _4M suffix.
-    if [[ -e ${FW_PREFIX}/OVMF_VARS_4M.fd ]]; then
-        suff=_4M
-    fi
-
-    # NB: OVMF_CODE.fd is read-only, no need to copy
-    cp ${FW_PREFIX}OVMF_VARS${suff}.fd ${WORKDIR}
-
-    export TEST_CMD="${QEMU_PREFIX}qemu-system-x86_64 \
-        -no-reboot \
-        -nographic \
-        -monitor none \
-        -serial stdio \
-        -m 2048 \
-        -smp 2 \
-        -M q35,kernel-irqchip=split \
-        -drive 
if=pflash,format=raw,readonly=on,file=${FW_PREFIX}OVMF_CODE${suff}.fd \
-        -drive if=pflash,format=raw,file=${WORKDIR}/OVMF_VARS${suff}.fd \
-        -drive file=fat:rw:${esp_dir},media=disk,index=0,format=raw \
-    "
-}
diff --git a/automation/scripts/include/xtf-x86_64 
b/automation/scripts/include/xtf-x86_64
new file mode 100644
index 0000000000..186f074bd8
--- /dev/null
+++ b/automation/scripts/include/xtf-x86_64
@@ -0,0 +1,32 @@
+#!/bin/bash
+#
+# XTF test utilities (x86_64).
+#
+
+# Arch-specific environment overrides.
+function xtf_arch_prepare()
+{
+    export FW_PREFIX="${FW_PREFIX:-}"
+    export QEMU_PREFIX="${QEMU_PREFIX:-}"
+    export XEN_BINARY="${XEN_BINARY:-${WORKDIR}/xen}"
+    export XEN_CMDLINE="${XEN_CMDLINE:-loglvl=all noreboot 
console_timestamps=boot console=com1}"
+    export XTF_SRC_BRANCH="${XTF_SRC_BRANCH:-master}"
+    export 
XTF_SRC_URI="${XTF_SRC_URI:-https://xenbits.xen.org/git-http/xtf.git}";
+    export XTF_SRC_VARIANTS="hvm64 pv64"
+}
+
+# Perform arch-specific XTF environment setup.
+function xtf_arch_setup()
+{
+    export TEST_CMD="${QEMU_PREFIX}qemu-system-x86_64 \
+        -no-reboot \
+        -nographic \
+        -monitor none \
+        -serial stdio \
+        -m 2048 \
+        -smp 2 \
+        -kernel ${XEN_BINARY} \
+        -initrd ${XTF_BINARY} \
+        -append \"${XEN_CMDLINE}\" \
+    "
+}
diff --git a/automation/scripts/include/xtf-x86_64-efi 
b/automation/scripts/include/xtf-x86_64-efi
new file mode 100644
index 0000000000..15c6463dcd
--- /dev/null
+++ b/automation/scripts/include/xtf-x86_64-efi
@@ -0,0 +1,59 @@
+#!/bin/bash
+#
+# XTF test utilities (x86_64, EFI).
+#
+
+# Arch-specific environment overrides.
+function xtf_arch_prepare()
+{
+    export FW_PREFIX="${FW_PREFIX:-/usr/share/OVMF/}"
+    export QEMU_PREFIX="${QEMU_PREFIX:-}"
+    export XEN_BINARY="${XEN_BINARY:-${WORKDIR}/xen.efi}"
+    export XEN_CMDLINE="${XEN_CMDLINE:-loglvl=all noreboot 
console_timestamps=boot console=com1}"
+    export XTF_SRC_BRANCH="${XTF_SRC_BRANCH:-master}"
+    export 
XTF_SRC_URI="${XTF_SRC_URI:-https://xenbits.xen.org/git-http/xtf.git}";
+    export XTF_SRC_VARIANTS="hvm64 pv64"
+}
+
+# Perform arch-specific XTF environment setup.
+function xtf_arch_setup()
+{
+    local esp_dir="${WORKDIR}/boot-esp"
+    local efi_dir="${esp_dir}/EFI/BOOT"
+    local suff=
+
+    # Generate EFI boot environment
+    mkdir -p ${efi_dir}
+    cp ${XEN_BINARY} ${efi_dir}/BOOTX64.EFI
+    cp ${XTF_BINARY} ${efi_dir}/kernel
+
+    cat > ${efi_dir}/BOOTX64.cfg <<EOF
+[global]
+default=test
+
+[test]
+options=${XEN_CMDLINE}
+kernel=kernel
+EOF
+
+    # Vs older versions, Debian Trixie names the OVMF files with a _4M suffix.
+    if [[ -e ${FW_PREFIX}/OVMF_VARS_4M.fd ]]; then
+        suff=_4M
+    fi
+
+    # NB: OVMF_CODE.fd is read-only, no need to copy
+    cp ${FW_PREFIX}OVMF_VARS${suff}.fd ${WORKDIR}
+
+    export TEST_CMD="${QEMU_PREFIX}qemu-system-x86_64 \
+        -no-reboot \
+        -nographic \
+        -monitor none \
+        -serial stdio \
+        -m 2048 \
+        -smp 2 \
+        -M q35,kernel-irqchip=split \
+        -drive 
if=pflash,format=raw,readonly=on,file=${FW_PREFIX}OVMF_CODE${suff}.fd \
+        -drive if=pflash,format=raw,file=${WORKDIR}/OVMF_VARS${suff}.fd \
+        -drive file=fat:rw:${esp_dir},media=disk,index=0,format=raw \
+    "
+}
diff --git a/automation/scripts/qubes-x86-64.sh 
b/automation/scripts/qubes-x86-64.sh
deleted file mode 100755
index 7a59fa5f11..0000000000
--- a/automation/scripts/qubes-x86-64.sh
+++ /dev/null
@@ -1,302 +0,0 @@
-#!/bin/bash
-
-set -ex -o pipefail
-
-# One of:              dom0:   Testing:
-#  - dom0pv              PV      PVH domU
-#  - dom0pvh             PVH     PVH domU
-#  - dom0pvh-hvm         PVH     HVM domU
-#  - pci-hvm             PV      HVM domU + PCI Passthrough
-#  - pci-pv              PV      PV domU + PCI Passthrough
-#  - pvshim              PV      PVSHIM domU
-#  - s3                  PV      S3 suspend/resume
-#  - tools-tests-pv      PV      Run tests from tools/tests/*
-#  - tools-tests-pvh     PVH     Run tests from tools/tests/*
-test_variant=$1
-
-### defaults
-extra_xen_opts=
-wait_and_wakeup=
-timeout=120
-domU_type="pvh"
-domU_vif="'bridge=xenbr0',"
-domU_extra_config=
-retrieve_xml=
-dom0_rootfs_extra_comp=()
-dom0_rootfs_extra_uncomp=()
-
-case "${test_variant}" in
-    ### test: smoke test & smoke test PVH & smoke test HVM & smoke test PVSHIM
-    "dom0pv"|"dom0pvh"|"dom0pvh-hvm"|"pvshim")
-        passed="ping test passed"
-        domU_check="
-ifconfig eth0 192.168.0.2
-until ping -c 10 192.168.0.1; do
-    sleep 1
-done
-echo \"${passed}\"
-"
-        dom0_check="
-set +x
-until grep -q \"${passed}\" /var/log/xen/console/guest-domU.log; do
-    sleep 1
-done
-set -x
-echo \"${passed}\"
-"
-        if [ "${test_variant}" = "dom0pvh" ] || [ "${test_variant}" = 
"dom0pvh-hvm" ]; then
-            extra_xen_opts="dom0=pvh"
-        fi
-
-        if [ "${test_variant}" = "dom0pvh-hvm" ]; then
-            domU_type="hvm"
-        elif [ "${test_variant}" = "pvshim" ]; then
-            domU_type="pvh"
-            domU_extra_config='pvshim = 1'
-        fi
-        ;;
-
-    ### test: S3
-    "s3")
-        passed="suspend test passed"
-        wait_and_wakeup="started, suspending"
-        domU_check="
-ifconfig eth0 192.168.0.2
-echo domU started
-"
-        dom0_check="
-until grep 'domU started' /var/log/xen/console/guest-domU.log; do
-    sleep 1
-done
-echo \"${wait_and_wakeup}\"
-# let the above message flow to console, then suspend
-sync /dev/stdout
-sleep 5
-set -x
-echo deep > /sys/power/mem_sleep
-echo mem > /sys/power/state
-xl list
-xl dmesg | grep 'Finishing wakeup from ACPI S3 state' || exit 1
-# check if domU is still alive
-ping -c 10 192.168.0.2 || exit 1
-echo \"${passed}\"
-"
-        ;;
-
-    ### test: pci-pv, pci-hvm
-    "pci-pv"|"pci-hvm")
-
-        if [ -z "$PCIDEV" ]; then
-            echo "Please set 'PCIDEV' variable with BDF of test network 
adapter" >&2
-            echo "Optionally set also 'PCIDEV_INTR' to 'MSI' or 'MSI-X'" >&2
-            exit 1
-        fi
-
-        passed="pci test passed"
-
-        domU_type="${test_variant#pci-}"
-        domU_vif=""
-
-        domU_extra_config='
-extra = "earlyprintk=xen"
-pci = [ "'$PCIDEV',seize=1" ]
-on_reboot = "destroy"
-'
-
-        domU_check="
-set -x -e
-interface=eth0
-while ! [ -e \"/sys/class/net/\$interface\" ]; do sleep 1; done
-ip link set \"\$interface\" up
-timeout 30s udhcpc -i \"\$interface\"
-pingip=\$(ip -o -4 r show default|cut -f 3 -d ' ')
-ping -c 10 \"\$pingip\"
-echo domU started
-pcidevice=\$(realpath /sys/class/net/\$interface/device |
-             sed 's#.*pci0000:00/\\([^/]*\\).*#\\1#')
-lspci -vs \$pcidevice
-"
-        if [ -n "$PCIDEV_INTR" ]; then
-            domU_check="$domU_check
-lspci -vs \$pcidevice | fgrep '$PCIDEV_INTR: Enable+'
-"
-        fi
-        domU_check="$domU_check
-echo \"${passed}\"
-"
-
-        dom0_check="
-until grep -q \"^domU Welcome to Alpine Linux\" 
/var/log/xen/console/guest-domU.log; do
-    sleep 1
-done
-"
-        ;;
-
-    ### tests: tools-tests-pv, tools-tests-pvh
-    "tools-tests-pv"|"tools-tests-pvh")
-        retrieve_xml=1
-        passed="test passed"
-        domU_check=""
-        dom0_check="
-/root/run-tools-tests /usr/lib/xen/tests /tmp/tests-junit.xml && echo 
\"${passed}\"
-nc -l -p 8080 < /tmp/tests-junit.xml >/dev/null &
-"
-        if [ "${test_variant}" = "tools-tests-pvh" ]; then
-            extra_xen_opts="dom0=pvh"
-        fi
-
-        ;;
-
-    *)
-        echo "Unrecognised test_variant '${test_variant}'" >&2
-        exit 1
-        ;;
-esac
-
-domU_config="
-type = '${domU_type}'
-name = 'domU'
-kernel = '/boot/vmlinuz-domU'
-ramdisk = '/boot/initrd-domU'
-cmdline = 'root=/dev/ram0 console=hvc0'
-memory = 512
-vif = [ ${domU_vif} ]
-disk = [ ]
-${domU_extra_config}
-"
-
-if [ -n "$domU_check" ]; then
-    # DomU rootfs
-    cp binaries/rootfs.cpio.gz binaries/domU-rootfs.cpio.gz
-
-    # test-local configuration
-    mkdir -p rootfs
-    cd rootfs
-    mkdir -p etc/local.d
-    echo "#!/bin/sh
-
-echo 8 > /proc/sys/kernel/printk
-
-${domU_check}
-" > etc/local.d/xen.start
-    chmod +x etc/local.d/xen.start
-    echo "domU Welcome to Alpine Linux
-Kernel \r on an \m (\l)
-
-" > etc/issue
-    find . | cpio -R 0:0 -H newc -o | gzip >> ../binaries/domU-rootfs.cpio.gz
-    cd ..
-    rm -rf rootfs
-
-    # Package domU kernel+rootfs in /boot for dom0 (uncompressed)
-    mkdir -p rootfs/boot
-    cd rootfs
-    cp ../binaries/bzImage boot/vmlinuz-domU
-    cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
-    find . | cpio -R 0:0 -H newc -o > ../binaries/domU-in-dom0.cpio
-    cd ..
-    rm -rf rootfs
-
-    dom0_rootfs_extra_uncomp+=(binaries/domU-in-dom0.cpio)
-fi
-
-# Dom0 rootfs.  The order of concatenation is important; ucode wants to come
-# first, and all uncompressed must be ahead of compressed.
-dom0_rootfs_parts=(
-    binaries/ucode.cpio
-    "${dom0_rootfs_extra_uncomp[@]}"
-    binaries/rootfs.cpio.gz
-    binaries/xen-tools.cpio.gz
-    "${dom0_rootfs_extra_comp[@]}"
-)
-cat "${dom0_rootfs_parts[@]}" > binaries/dom0-rootfs.cpio.gz
-
-# test-local configuration
-mkdir -p rootfs
-cd rootfs
-mkdir -p boot etc/local.d root
-cp -a ../automation/scripts/run-tools-tests root/
-
-echo "#!/bin/bash
-
-bash /etc/init.d/xencommons start
-
-brctl addbr xenbr0
-brctl addif xenbr0 eth0
-ifconfig eth0 up
-ifconfig xenbr0 up
-ifconfig xenbr0 192.168.0.1
-
-" > etc/local.d/xen.start
-
-if [ -n "$retrieve_xml" ]; then
-    echo "timeout 30s udhcpc -i xenbr0" >> etc/local.d/xen.start
-fi
-
-if [ -n "$domU_check" ]; then
-    echo "
-# get domU console content into test log
-tail -F /var/log/xen/console/guest-domU.log 2>/dev/null | sed -e \"s/^/(domU) 
/\" &
-tail -F /var/log/xen/qemu-dm-domU.log 2>/dev/null | sed -e \"s/^/(qemu-dm) /\" 
&
-xl -vvv create /etc/xen/domU.cfg
-" >> etc/local.d/xen.start
-fi
-
-echo "${dom0_check}" >> etc/local.d/xen.start
-
-chmod +x etc/local.d/xen.start
-mkdir -p etc/xen
-echo "$domU_config" > etc/xen/domU.cfg
-
-mkdir -p etc/default
-echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
-echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
-mkdir -p var/log/xen/console
-find . | cpio -R 0:0 -H newc -o | gzip >> ../binaries/dom0-rootfs.cpio.gz
-cd ..
-
-
-TFTP=/scratch/gitlab-runner/tftp
-CONTROLLER=control@thor.testnet
-
-echo "
-multiboot2 (http)/gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all 
dom0_mem=4G console_timestamps=boot watchdog $extra_xen_opts
-module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen
-module2 --nounzip (http)/gitlab-ci/initrd-dom0
-" > $TFTP/grub.cfg
-
-echo "#!ipxe
-
-kernel /gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G 
console_timestamps=boot watchdog $extra_xen_opts || reboot
-module /gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen || reboot
-module /gitlab-ci/initrd-dom0 || reboot
-boot
-" > $TFTP/boot.ipxe
-
-cp -f binaries/xen $TFTP/xen
-cp -f binaries/bzImage $TFTP/vmlinuz
-cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
-
-# start the system pointing at gitlab-ci predefined config
-ssh $CONTROLLER gitlabci poweron
-trap "ssh $CONTROLLER poweroff" EXIT
-
-if [ -n "$wait_and_wakeup" ]; then
-    export SUSPEND_MSG="$wait_and_wakeup"
-    export WAKEUP_CMD="ssh $CONTROLLER wake"
-fi
-
-export PASSED="${passed}"
-export BOOT_MSG="Latest ChangeSet: "
-export LOG_MSG="\nWelcome to Alpine Linux"
-export TEST_CMD="ssh $CONTROLLER console"
-export TEST_LOG="smoke.serial"
-export TEST_TIMEOUT="$timeout"
-./automation/scripts/console.exp |& sed 's/\r\+$//'
-TEST_RESULT=$?
-
-if [ -n "$retrieve_xml" ]; then
-    nc -w 10 "$SUT_ADDR" 8080 > tests-junit.xml </dev/null
-fi
-
-exit "$TEST_RESULT"
diff --git a/automation/scripts/qubes-x86_64.sh 
b/automation/scripts/qubes-x86_64.sh
new file mode 100755
index 0000000000..7a59fa5f11
--- /dev/null
+++ b/automation/scripts/qubes-x86_64.sh
@@ -0,0 +1,302 @@
+#!/bin/bash
+
+set -ex -o pipefail
+
+# One of:              dom0:   Testing:
+#  - dom0pv              PV      PVH domU
+#  - dom0pvh             PVH     PVH domU
+#  - dom0pvh-hvm         PVH     HVM domU
+#  - pci-hvm             PV      HVM domU + PCI Passthrough
+#  - pci-pv              PV      PV domU + PCI Passthrough
+#  - pvshim              PV      PVSHIM domU
+#  - s3                  PV      S3 suspend/resume
+#  - tools-tests-pv      PV      Run tests from tools/tests/*
+#  - tools-tests-pvh     PVH     Run tests from tools/tests/*
+test_variant=$1
+
+### defaults
+extra_xen_opts=
+wait_and_wakeup=
+timeout=120
+domU_type="pvh"
+domU_vif="'bridge=xenbr0',"
+domU_extra_config=
+retrieve_xml=
+dom0_rootfs_extra_comp=()
+dom0_rootfs_extra_uncomp=()
+
+case "${test_variant}" in
+    ### test: smoke test & smoke test PVH & smoke test HVM & smoke test PVSHIM
+    "dom0pv"|"dom0pvh"|"dom0pvh-hvm"|"pvshim")
+        passed="ping test passed"
+        domU_check="
+ifconfig eth0 192.168.0.2
+until ping -c 10 192.168.0.1; do
+    sleep 1
+done
+echo \"${passed}\"
+"
+        dom0_check="
+set +x
+until grep -q \"${passed}\" /var/log/xen/console/guest-domU.log; do
+    sleep 1
+done
+set -x
+echo \"${passed}\"
+"
+        if [ "${test_variant}" = "dom0pvh" ] || [ "${test_variant}" = 
"dom0pvh-hvm" ]; then
+            extra_xen_opts="dom0=pvh"
+        fi
+
+        if [ "${test_variant}" = "dom0pvh-hvm" ]; then
+            domU_type="hvm"
+        elif [ "${test_variant}" = "pvshim" ]; then
+            domU_type="pvh"
+            domU_extra_config='pvshim = 1'
+        fi
+        ;;
+
+    ### test: S3
+    "s3")
+        passed="suspend test passed"
+        wait_and_wakeup="started, suspending"
+        domU_check="
+ifconfig eth0 192.168.0.2
+echo domU started
+"
+        dom0_check="
+until grep 'domU started' /var/log/xen/console/guest-domU.log; do
+    sleep 1
+done
+echo \"${wait_and_wakeup}\"
+# let the above message flow to console, then suspend
+sync /dev/stdout
+sleep 5
+set -x
+echo deep > /sys/power/mem_sleep
+echo mem > /sys/power/state
+xl list
+xl dmesg | grep 'Finishing wakeup from ACPI S3 state' || exit 1
+# check if domU is still alive
+ping -c 10 192.168.0.2 || exit 1
+echo \"${passed}\"
+"
+        ;;
+
+    ### test: pci-pv, pci-hvm
+    "pci-pv"|"pci-hvm")
+
+        if [ -z "$PCIDEV" ]; then
+            echo "Please set 'PCIDEV' variable with BDF of test network 
adapter" >&2
+            echo "Optionally set also 'PCIDEV_INTR' to 'MSI' or 'MSI-X'" >&2
+            exit 1
+        fi
+
+        passed="pci test passed"
+
+        domU_type="${test_variant#pci-}"
+        domU_vif=""
+
+        domU_extra_config='
+extra = "earlyprintk=xen"
+pci = [ "'$PCIDEV',seize=1" ]
+on_reboot = "destroy"
+'
+
+        domU_check="
+set -x -e
+interface=eth0
+while ! [ -e \"/sys/class/net/\$interface\" ]; do sleep 1; done
+ip link set \"\$interface\" up
+timeout 30s udhcpc -i \"\$interface\"
+pingip=\$(ip -o -4 r show default|cut -f 3 -d ' ')
+ping -c 10 \"\$pingip\"
+echo domU started
+pcidevice=\$(realpath /sys/class/net/\$interface/device |
+             sed 's#.*pci0000:00/\\([^/]*\\).*#\\1#')
+lspci -vs \$pcidevice
+"
+        if [ -n "$PCIDEV_INTR" ]; then
+            domU_check="$domU_check
+lspci -vs \$pcidevice | fgrep '$PCIDEV_INTR: Enable+'
+"
+        fi
+        domU_check="$domU_check
+echo \"${passed}\"
+"
+
+        dom0_check="
+until grep -q \"^domU Welcome to Alpine Linux\" 
/var/log/xen/console/guest-domU.log; do
+    sleep 1
+done
+"
+        ;;
+
+    ### tests: tools-tests-pv, tools-tests-pvh
+    "tools-tests-pv"|"tools-tests-pvh")
+        retrieve_xml=1
+        passed="test passed"
+        domU_check=""
+        dom0_check="
+/root/run-tools-tests /usr/lib/xen/tests /tmp/tests-junit.xml && echo 
\"${passed}\"
+nc -l -p 8080 < /tmp/tests-junit.xml >/dev/null &
+"
+        if [ "${test_variant}" = "tools-tests-pvh" ]; then
+            extra_xen_opts="dom0=pvh"
+        fi
+
+        ;;
+
+    *)
+        echo "Unrecognised test_variant '${test_variant}'" >&2
+        exit 1
+        ;;
+esac
+
+domU_config="
+type = '${domU_type}'
+name = 'domU'
+kernel = '/boot/vmlinuz-domU'
+ramdisk = '/boot/initrd-domU'
+cmdline = 'root=/dev/ram0 console=hvc0'
+memory = 512
+vif = [ ${domU_vif} ]
+disk = [ ]
+${domU_extra_config}
+"
+
+if [ -n "$domU_check" ]; then
+    # DomU rootfs
+    cp binaries/rootfs.cpio.gz binaries/domU-rootfs.cpio.gz
+
+    # test-local configuration
+    mkdir -p rootfs
+    cd rootfs
+    mkdir -p etc/local.d
+    echo "#!/bin/sh
+
+echo 8 > /proc/sys/kernel/printk
+
+${domU_check}
+" > etc/local.d/xen.start
+    chmod +x etc/local.d/xen.start
+    echo "domU Welcome to Alpine Linux
+Kernel \r on an \m (\l)
+
+" > etc/issue
+    find . | cpio -R 0:0 -H newc -o | gzip >> ../binaries/domU-rootfs.cpio.gz
+    cd ..
+    rm -rf rootfs
+
+    # Package domU kernel+rootfs in /boot for dom0 (uncompressed)
+    mkdir -p rootfs/boot
+    cd rootfs
+    cp ../binaries/bzImage boot/vmlinuz-domU
+    cp ../binaries/domU-rootfs.cpio.gz boot/initrd-domU
+    find . | cpio -R 0:0 -H newc -o > ../binaries/domU-in-dom0.cpio
+    cd ..
+    rm -rf rootfs
+
+    dom0_rootfs_extra_uncomp+=(binaries/domU-in-dom0.cpio)
+fi
+
+# Dom0 rootfs.  The order of concatenation is important; ucode wants to come
+# first, and all uncompressed must be ahead of compressed.
+dom0_rootfs_parts=(
+    binaries/ucode.cpio
+    "${dom0_rootfs_extra_uncomp[@]}"
+    binaries/rootfs.cpio.gz
+    binaries/xen-tools.cpio.gz
+    "${dom0_rootfs_extra_comp[@]}"
+)
+cat "${dom0_rootfs_parts[@]}" > binaries/dom0-rootfs.cpio.gz
+
+# test-local configuration
+mkdir -p rootfs
+cd rootfs
+mkdir -p boot etc/local.d root
+cp -a ../automation/scripts/run-tools-tests root/
+
+echo "#!/bin/bash
+
+bash /etc/init.d/xencommons start
+
+brctl addbr xenbr0
+brctl addif xenbr0 eth0
+ifconfig eth0 up
+ifconfig xenbr0 up
+ifconfig xenbr0 192.168.0.1
+
+" > etc/local.d/xen.start
+
+if [ -n "$retrieve_xml" ]; then
+    echo "timeout 30s udhcpc -i xenbr0" >> etc/local.d/xen.start
+fi
+
+if [ -n "$domU_check" ]; then
+    echo "
+# get domU console content into test log
+tail -F /var/log/xen/console/guest-domU.log 2>/dev/null | sed -e \"s/^/(domU) 
/\" &
+tail -F /var/log/xen/qemu-dm-domU.log 2>/dev/null | sed -e \"s/^/(qemu-dm) /\" 
&
+xl -vvv create /etc/xen/domU.cfg
+" >> etc/local.d/xen.start
+fi
+
+echo "${dom0_check}" >> etc/local.d/xen.start
+
+chmod +x etc/local.d/xen.start
+mkdir -p etc/xen
+echo "$domU_config" > etc/xen/domU.cfg
+
+mkdir -p etc/default
+echo "XENCONSOLED_TRACE=all" >> etc/default/xencommons
+echo "QEMU_XEN=/bin/false" >> etc/default/xencommons
+mkdir -p var/log/xen/console
+find . | cpio -R 0:0 -H newc -o | gzip >> ../binaries/dom0-rootfs.cpio.gz
+cd ..
+
+
+TFTP=/scratch/gitlab-runner/tftp
+CONTROLLER=control@thor.testnet
+
+echo "
+multiboot2 (http)/gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all 
dom0_mem=4G console_timestamps=boot watchdog $extra_xen_opts
+module2 (http)/gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen
+module2 --nounzip (http)/gitlab-ci/initrd-dom0
+" > $TFTP/grub.cfg
+
+echo "#!ipxe
+
+kernel /gitlab-ci/xen $CONSOLE_OPTS loglvl=all guest_loglvl=all dom0_mem=4G 
console_timestamps=boot watchdog $extra_xen_opts || reboot
+module /gitlab-ci/vmlinuz console=hvc0 root=/dev/ram0 earlyprintk=xen || reboot
+module /gitlab-ci/initrd-dom0 || reboot
+boot
+" > $TFTP/boot.ipxe
+
+cp -f binaries/xen $TFTP/xen
+cp -f binaries/bzImage $TFTP/vmlinuz
+cp -f binaries/dom0-rootfs.cpio.gz $TFTP/initrd-dom0
+
+# start the system pointing at gitlab-ci predefined config
+ssh $CONTROLLER gitlabci poweron
+trap "ssh $CONTROLLER poweroff" EXIT
+
+if [ -n "$wait_and_wakeup" ]; then
+    export SUSPEND_MSG="$wait_and_wakeup"
+    export WAKEUP_CMD="ssh $CONTROLLER wake"
+fi
+
+export PASSED="${passed}"
+export BOOT_MSG="Latest ChangeSet: "
+export LOG_MSG="\nWelcome to Alpine Linux"
+export TEST_CMD="ssh $CONTROLLER console"
+export TEST_LOG="smoke.serial"
+export TEST_TIMEOUT="$timeout"
+./automation/scripts/console.exp |& sed 's/\r\+$//'
+TEST_RESULT=$?
+
+if [ -n "$retrieve_xml" ]; then
+    nc -w 10 "$SUT_ADDR" 8080 > tests-junit.xml </dev/null
+fi
+
+exit "$TEST_RESULT"
--
generated by git-patchbot for /home/xen/git/xen.git#staging



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.