Message ID | 20230213142210.11728-3-michal.orzel@amd.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | automation: dom0less arm32 testing | expand |
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@amd.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> > --- > 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 >
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
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@amd.com> --- automation/gitlab-ci/build.yaml | 20 +++++++++++++++++++ automation/gitlab-ci/test.yaml | 16 +++++++++++++++ .../scripts/qemu-smoke-dom0less-arm32.sh | 17 ++++++++++++++++ 3 files changed, 53 insertions(+)