[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [PATCH 3/3] automation: Add arm64 test for running Xen with GICv3
At the moment, all the Arm64 Qemu tests use GICv2 which is the default GIC version used by Qemu. Improve the coverage by adding a new test in which Qemu will be configured to have GICv3. Rename host device tree name to "virt.dtb" to be GIC version agnostic. Use "gic-version" Qemu option to select the version to use. Unless the test variant is set to "gicv3", version 2 will be used. Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx> --- automation/gitlab-ci/test.yaml | 8 ++++++++ .../scripts/qemu-smoke-dom0less-arm64.sh | 19 ++++++++++++++----- 2 files changed, 22 insertions(+), 5 deletions(-) diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml index 1e5d86763f6c..ad249fa0a5d9 100644 --- a/automation/gitlab-ci/test.yaml +++ b/automation/gitlab-ci/test.yaml @@ -255,6 +255,14 @@ qemu-smoke-dom0less-arm64-gcc-debug: - *arm64-test-needs - alpine-3.18-gcc-debug-arm64 +qemu-smoke-dom0less-arm64-gcc-debug-gicv3: + extends: .qemu-arm64 + script: + - ./automation/scripts/qemu-smoke-dom0less-arm64.sh gicv3 2>&1 | tee ${LOGFILE} + needs: + - *arm64-test-needs + - alpine-3.18-gcc-debug-arm64 + qemu-smoke-dom0less-arm64-gcc-debug-staticmem: extends: .qemu-arm64 script: diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh index fc943a1a622c..292c38a56147 100755 --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh @@ -4,6 +4,9 @@ set -ex test_variant=$1 +# Default GIC version +gic_version="2" + if [ -z "${test_variant}" ]; then passed="ping test passed" domU_check=" @@ -66,16 +69,22 @@ if [[ "${test_variant}" == "earlyprintk" ]]; then passed="\- Ready \-" fi +if [[ "${test_variant}" == "gicv3" ]]; then + gic_version=3 + passed="${test_variant} test passed" + domU_check="echo \"${passed}\"" +fi + # XXX 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 ./binaries/qemu-system-aarch64 \ -machine virtualization=true \ - -cpu cortex-a57 -machine type=virt \ + -cpu cortex-a57 -machine type=virt,gic-version=$gic_version \ -m 2048 -smp 2 -display none \ - -machine dumpdtb=binaries/virt-gicv2.dtb + -machine dumpdtb=binaries/virt.dtb # XXX disable pl061 to avoid Linux crash -fdtput binaries/virt-gicv2.dtb -p -t s /pl061@9030000 status disabled +fdtput binaries/virt.dtb -p -t s /pl061@9030000 status disabled # Busybox mkdir -p initrd @@ -138,7 +147,7 @@ cd .. echo 'MEMORY_START="0x40000000" MEMORY_END="0x50000000" -DEVICE_TREE="virt-gicv2.dtb" +DEVICE_TREE="virt.dtb" XEN="xen" DOM0_KERNEL="Image" DOM0_RAMDISK="dom0-rootfs.cpio.gz" @@ -200,7 +209,7 @@ echo " virtio scan; dhcp; tftpb 0x40000000 boot.scr; source 0x40000000"| \ timeout -k 1 240 \ ./binaries/qemu-system-aarch64 \ -machine virtualization=true \ - -cpu cortex-a57 -machine type=virt \ + -cpu cortex-a57 -machine type=virt,gic-version=$gic_version \ -m 2048 -monitor none -serial stdio \ -smp 2 \ -no-reboot \ -- 2.25.1
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |