From 3b760245f74ab2022b1aa4da842c4545228c2e83 Mon Sep 17 00:00:00 2001 From: Michal Orzel Date: Mon, 23 Jan 2023 14:10:23 +0100 Subject: [PATCH] automation: Modify static-mem check in qemu-smoke-dom0less-arm64.sh At the moment, the static-mem check relies on the way Xen exposes the memory banks in device tree. As this might change, the check should be modified to be generic and not to rely on device tree. In this case, let's use /proc/iomem which exposes the memory ranges in %08x format as follows: - : This way, we can grep in /proc/iomem for an entry containing memory region defined by the static-mem configuration with "System RAM" description. If it exists, mark the test as passed. Also, take the opportunity to add 0x prefix to domu_{base,size} definition rather than adding it in front of each occurence. Signed-off-by: Michal Orzel Reviewed-by: Xenia Ragiadakou Reviewed-by: Ayan Kumar Halder Acked-by: Stefano Stabellini --- automation/scripts/qemu-smoke-dom0less-arm64.sh | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/automation/scripts/qemu-smoke-dom0less-arm64.sh b/automation/scripts/qemu-smoke-dom0less-arm64.sh index 2b59346fdc..182a4b6c18 100755 --- a/automation/scripts/qemu-smoke-dom0less-arm64.sh +++ b/automation/scripts/qemu-smoke-dom0less-arm64.sh @@ -16,14 +16,13 @@ fi if [[ "${test_variant}" == "static-mem" ]]; then # Memory range that is statically allocated to DOM1 - domu_base="50000000" - domu_size="10000000" + domu_base="0x50000000" + domu_size="0x10000000" passed="${test_variant} test passed" domU_check=" -current=\$(hexdump -e '16/1 \"%02x\"' /proc/device-tree/memory@${domu_base}/reg 2>/dev/null) -expected=$(printf \"%016x%016x\" 0x${domu_base} 0x${domu_size}) -if [[ \"\${expected}\" == \"\${current}\" ]]; then - echo \"${passed}\" +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 @@ -126,7 +125,7 @@ UBOOT_SOURCE="boot.source" UBOOT_SCRIPT="boot.scr"' > binaries/config if [[ "${test_variant}" == "static-mem" ]]; then - echo -e "\nDOMU_STATIC_MEM[0]=\"0x${domu_base} 0x${domu_size}\"" >> binaries/config + echo -e "\nDOMU_STATIC_MEM[0]=\"${domu_base} ${domu_size}\"" >> binaries/config fi if [[ "${test_variant}" == "boot-cpupools" ]]; then