automation: Add a static memory allocation test on arm32

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>
This commit is contained in:
Michal Orzel authored and Stefano Stabellini committed 2023-02-15 13:46:11 -08:00
1 parent 42ea8ddab8
commit a6ce51ac3d
3 files changed
+53

No files matched your search

+20
View File
@@ -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:
+16
View File
@@ -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:
@@ -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
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.