Re: [PATCH] automation: Modify static-mem check in qemu-smoke-dom0less-arm64.sh

2023-01-23 Thread Stefano Stabellini
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

2023-01-23 Thread Ayan Kumar Halder



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

2023-01-23 Thread Xenia Ragiadakou



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