[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [PATCH 2/3] automation: Add a static memory allocation test on arm32
On Mon, 13 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> > --- > 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 a053c5c7325d..166182bc595f 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-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-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 c81529cbbfd0..f89ee8b6464a 100755 > --- a/automation/scripts/qemu-smoke-dom0less-arm32.sh > +++ b/automation/scripts/qemu-smoke-dom0less-arm32.sh > @@ -17,6 +17,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 > + > # domU rootfs > mkdir rootfs > cd rootfs > @@ -62,6 +75,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 |