From: Denis Mukhin Date: Tue, 22 Apr 2025 16:18:59 +0000 (+0000) Subject: CI: switch arm64 XTF test runner to qemu-xtf.sh X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=934fcfb17dbac059bfaabf0dc4277e32176a043e;p=xen.git CI: switch arm64 XTF test runner to qemu-xtf.sh Hook arm64 QEMU configuration to qemu-xtf.sh and use new script in arm64 CI jobs. Signed-off-by: Denis Mukhin Reviewed-by: Stefano Stabellini --- diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index 1d89575b24..a603d4039a 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -571,7 +571,7 @@ qemu-smoke-dom0less-arm64-gcc-debug-earlyprintk: qemu-xtf-dom0less-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.sh arm64 mmu64le hyp-xen-version 2>&1 | tee ${LOGFILE} needs: - alpine-3.18-gcc-arm64 - qemu-system-aarch64-6.0.0-arm64-export @@ -579,7 +579,7 @@ qemu-xtf-dom0less-arm64-gcc-hyp-xen-version: qemu-xtf-dom0less-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.sh arm64 mmu64le hyp-xen-version 2>&1 | tee ${LOGFILE} needs: - alpine-3.18-gcc-debug-arm64 - qemu-system-aarch64-6.0.0-arm64-export diff --git a/automation/scripts/.gitignore b/automation/scripts/.gitignore index 310a577bef..a01b533c60 100644 --- a/automation/scripts/.gitignore +++ b/automation/scripts/.gitignore @@ -1,3 +1,6 @@ /binaries/ +/imagebuilder/ /smoke.serial /xtf-*/ + +*.rom diff --git a/automation/scripts/include/configs/xtf-arm64-config b/automation/scripts/include/configs/xtf-arm64-config new file mode 100644 index 0000000000..9942740927 --- /dev/null +++ b/automation/scripts/include/configs/xtf-arm64-config @@ -0,0 +1,2 @@ +CONFIG_GICV2=y +CONFIG_SBSA_UART=y diff --git a/automation/scripts/include/xtf-arm64 b/automation/scripts/include/xtf-arm64 new file mode 100644 index 0000000000..1a318b7aa0 --- /dev/null +++ b/automation/scripts/include/xtf-arm64 @@ -0,0 +1,81 @@ +#!/bin/bash +# +# XTF test utilities (arm64). +# + +# Arch-specific environment overrides. +function xtf_arch_prepare() +{ + export FW_PREFIX="${FW_PREFIX:-/usr/lib/u-boot/qemu_arm64/}" + export QEMU_PREFIX="${QEMU_PREFIX:-${WORKDIR}/}" + export XEN_BINARY="${XEN_BINARY:-${WORKDIR}/xen}" + export XEN_CMDLINE="${XEN_CMDLINE:-loglvl=all noreboot console_timestamps=boot console=dtuart}" + export XTF_SRC_BRANCH="${XTF_SRC_BRANCH:-xtf-arm}" + export XTF_SRC_URI="${XTF_SRC_URI:-https://gitlab.com/xen-project/fusa/xtf.git}" + export XTF_SRC_VARIANTS="mmu64le" +} + +# Perform arch-specific XTF environment setup. +function xtf_arch_setup() +{ + # QEMU looks for "efi-virtio.rom" even if it is unneeded + curl -fsSLO https://github.com/qemu/qemu/raw/v5.2.0/pc-bios/efi-virtio.rom + + # Crude check for local testing + if [ ! -d imagebuilder ]; then + git clone --depth 1 https://gitlab.com/xen-project/imagebuilder.git + fi + + cat > ${WORKDIR}/config < binaries/config - -rm -rf imagebuilder -git clone --depth 1 https://gitlab.com/xen-project/imagebuilder.git -bash imagebuilder/scripts/uboot-script-gen -t tftp -d binaries/ -c binaries/config - -# Run the test -rm -f smoke.serial -export TEST_CMD="./binaries/qemu-system-aarch64 \ - -machine virtualization=true \ - -cpu cortex-a57 -machine type=virt \ - -m 2048 -monitor none -serial stdio \ - -smp 2 \ - -no-reboot \ - -device virtio-net-pci,netdev=n0 \ - -netdev user,id=n0,tftp=binaries \ - -bios /usr/lib/u-boot/qemu_arm64/u-boot.bin" - -export UBOOT_CMD="virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000" -export BOOT_MSG="Latest ChangeSet: " -export TEST_LOG="smoke.serial" -export PASSED="${passed}" - -./automation/scripts/console.exp | sed 's/\r\+$//'