Re: [PATCH] automation: Modify static-mem check in qemu-smoke-dom0less-arm64.sh
On Mon, 23 Jan 2023, Michal Orzel wrote: > 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 Acked-by: Stefano Stabellini > --- > Patch made as part of the discussion: > https://lore.kernel.org/xen-devel/ba37ee02-c07c-2803-0867-149c77989...@amd.com/ > > CC: Julien, Ayan > --- > 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 2b59346fdcfd..182a4b6c18fc 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="5000" > -domu_size="1000" > +domu_base="0x5000" > +domu_size="0x1000" > 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 > -- > 2.25.1 >
Re: [PATCH] automation: Modify static-mem check in qemu-smoke-dom0less-arm64.sh
On 23/01/2023 14:30, Xenia Ragiadakou wrote: On 1/23/23 15:10, Michal Orzel wrote: 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 Also you fixed the hard tab. --- Patch made as part of the discussion: https://lore.kernel.org/xen-devel/ba37ee02-c07c-2803-0867-149c77989...@amd.com/ CC: Julien, Ayan --- 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 2b59346fdcfd..182a4b6c18fc 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="5000" - domu_size="1000" + domu_base="0x5000" + domu_size="0x1000" 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
Re: [PATCH] automation: Modify static-mem check in qemu-smoke-dom0less-arm64.sh
On 1/23/23 15:10, Michal Orzel wrote: 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 Also you fixed the hard tab. --- Patch made as part of the discussion: https://lore.kernel.org/xen-devel/ba37ee02-c07c-2803-0867-149c77989...@amd.com/ CC: Julien, Ayan --- 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 2b59346fdcfd..182a4b6c18fc 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="5000" -domu_size="1000" +domu_base="0x5000" +domu_size="0x1000" 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 -- Xenia