|
[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 |