mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
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:
1 parent
42ea8ddab8
commit
a6ce51ac3d
3 files changed
+53
No files matched your search
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||