|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH v2 3/5] automation: Add a static memory allocation test on arm32
On Tue, 14 Feb 2023, Michal Orzel wrote:
> Add a new test job qemu-smoke-dom0less-arm32-gcc-staticmem in debug
> and non-debug variant that will execute qemu-smoke-dom0less-arm32.sh
> script to test static memory allocation feature. The test case itself
> is directly taken from dom0less arm64 testing.
>
> Populate build jobs to compile Xen with config options necessary to
> enable static memory feature. Populate test jobs passing "static-mem"
> as a test variant. The test configures domU with a static memory region
> (direct-mapped) and adds a check using /proc/iomem to determine the
> memory region marked as "System RAM".
>
> Signed-off-by: Michal Orzel <michal.orzel@xxxxxxx>
Reviewed-by: Stefano Stabellini <sstabellini@xxxxxxxxxx>
> ---
> Changes in v2:
> - take into account new container for arm32 cross builds
> - drop Rb as a result of code changes
> ---
> automation/gitlab-ci/build.yaml | 20 +++++++++++++++++++
> automation/gitlab-ci/test.yaml | 16 +++++++++++++++
> .../scripts/qemu-smoke-dom0less-arm32.sh | 17 ++++++++++++++++
> 3 files changed, 53 insertions(+)
>
> diff --git a/automation/gitlab-ci/build.yaml b/automation/gitlab-ci/build.yaml
> index f8e156e0a994..079e9b73f659 100644
> --- a/automation/gitlab-ci/build.yaml
> +++ b/automation/gitlab-ci/build.yaml
> @@ -565,6 +565,26 @@ debian-unstable-gcc-arm32-debug-randconfig:
> HYPERVISOR_ONLY: y
> RANDCONFIG: y
>
> +debian-unstable-gcc-arm32-staticmem:
> + extends: .gcc-arm32-cross-build
> + variables:
> + CONTAINER: debian:unstable-arm64v8-arm32-gcc
> + HYPERVISOR_ONLY: y
> + EXTRA_XEN_CONFIG: |
> + CONFIG_EXPERT=y
> + CONFIG_UNSUPPORTED=y
> + CONFIG_STATIC_MEMORY=y
> +
> +debian-unstable-gcc-arm32-debug-staticmem:
> + extends: .gcc-arm32-cross-build-debug
> + variables:
> + CONTAINER: debian:unstable-arm64v8-arm32-gcc
> + HYPERVISOR_ONLY: y
> + EXTRA_XEN_CONFIG: |
> + CONFIG_EXPERT=y
> + CONFIG_UNSUPPORTED=y
> + CONFIG_STATIC_MEMORY=y
> +
> # Arm builds
>
> debian-unstable-gcc-arm64:
> diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
> index 84ab1fee50a4..c2bcc5d4d3e5 100644
> --- a/automation/gitlab-ci/test.yaml
> +++ b/automation/gitlab-ci/test.yaml
> @@ -226,6 +226,22 @@ qemu-smoke-dom0less-arm32-gcc-debug:
> - *arm32-test-needs
> - debian-unstable-gcc-arm32-debug
>
> +qemu-smoke-dom0less-arm32-gcc-staticmem:
> + extends: .qemu-arm32
> + script:
> + - ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 |
> tee ${LOGFILE}
> + needs:
> + - *arm32-test-needs
> + - debian-unstable-gcc-arm32-staticmem
> +
> +qemu-smoke-dom0less-arm32-gcc-debug-staticmem:
> + extends: .qemu-arm32
> + script:
> + - ./automation/scripts/qemu-smoke-dom0less-arm32.sh static-mem 2>&1 |
> tee ${LOGFILE}
> + needs:
> + - *arm32-test-needs
> + - debian-unstable-gcc-arm32-debug-staticmem
> +
> qemu-alpine-x86_64-gcc:
> extends: .qemu-x86-64
> script:
> diff --git a/automation/scripts/qemu-smoke-dom0less-arm32.sh
> b/automation/scripts/qemu-smoke-dom0less-arm32.sh
> index e3f2b28f3f89..bd89a3f8b45e 100755
> --- a/automation/scripts/qemu-smoke-dom0less-arm32.sh
> +++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh
> @@ -20,6 +20,19 @@ echo \"${passed}\"
> "
> fi
>
> +if [[ "${test_variant}" == "static-mem" ]]; then
> + # Memory range that is statically allocated to domU1
> + domu_base="0x50000000"
> + domu_size="0x20000000"
> + passed="${test_variant} test passed"
> + domU_check="
> +mem_range=$(printf \"%08x-%08x\" ${domu_base} $(( ${domu_base} +
> ${domu_size} - 1 )))
> +if grep -q -x \"\${mem_range} : System RAM\" /proc/iomem; then
> + echo \"${passed}\"
> +fi
> +"
> +fi
> +
> # dom0/domU rootfs
> # We are using the same rootfs for dom0 and domU. The only difference is
> # that for the former, we set explictly rdinit to /bin/sh, whereas for the
> @@ -72,6 +85,10 @@ BOOT_CMD="bootm"
> UBOOT_SOURCE="boot.source"
> UBOOT_SCRIPT="boot.scr"' > config
>
> +if [[ "${test_variant}" == "static-mem" ]]; then
> + echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> config
> +fi
> +
> rm -rf imagebuilder
> git clone https://gitlab.com/ViryaOS/imagebuilder
> bash imagebuilder/scripts/uboot-script-gen -t tftp -d . -c config
> --
> 2.25.1
>
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |