|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 3/3] automation: Add arm64 test for running Xen with GICv3
On Tue, 23 Apr 2024, Michal Orzel wrote:
> 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>
Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> ---
> 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 |