Add two more parameters to set spm_addr_dev0 & spm_addr_dev1
addresses. These two parameters configure the start SP
addresses for each device in test_hmm driver.
Consequently, this configures zone device type as coherent.

Signed-off-by: Alex Sierra <alex.sie...@amd.com>
---
v2:
Add more mknods for device coherent type. These are represented under
/dev/hmm_mirror2 and /dev/hmm_mirror3, only in case they have created
at probing the hmm-test driver.
---
 tools/testing/selftests/vm/test_hmm.sh | 24 +++++++++++++++++++++---
 1 file changed, 21 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/vm/test_hmm.sh 
b/tools/testing/selftests/vm/test_hmm.sh
index 0647b525a625..539c9371e592 100755
--- a/tools/testing/selftests/vm/test_hmm.sh
+++ b/tools/testing/selftests/vm/test_hmm.sh
@@ -40,11 +40,26 @@ check_test_requirements()
 
 load_driver()
 {
-       modprobe $DRIVER > /dev/null 2>&1
+       if [ $# -eq 0 ]; then
+               modprobe $DRIVER > /dev/null 2>&1
+       else
+               if [ $# -eq 2 ]; then
+                       modprobe $DRIVER spm_addr_dev0=$1 spm_addr_dev1=$2
+                               > /dev/null 2>&1
+               else
+                       echo "Missing module parameters. Make sure pass"\
+                       "spm_addr_dev0 and spm_addr_dev1"
+                       usage
+               fi
+       fi
        if [ $? == 0 ]; then
                major=$(awk "\$2==\"HMM_DMIRROR\" {print \$1}" /proc/devices)
                mknod /dev/hmm_dmirror0 c $major 0
                mknod /dev/hmm_dmirror1 c $major 1
+               if [ $# -eq 2 ]; then
+                       mknod /dev/hmm_dmirror2 c $major 2
+                       mknod /dev/hmm_dmirror3 c $major 3
+               fi
        fi
 }
 
@@ -58,7 +73,7 @@ run_smoke()
 {
        echo "Running smoke test. Note, this test provides basic coverage."
 
-       load_driver
+       load_driver $1 $2
        $(dirname "${BASH_SOURCE[0]}")/hmm-tests
        unload_driver
 }
@@ -75,6 +90,9 @@ usage()
        echo "# Smoke testing"
        echo "./${TEST_NAME}.sh smoke"
        echo
+       echo "# Smoke testing with SPM enabled"
+       echo "./${TEST_NAME}.sh smoke <spm_addr_dev0> <spm_addr_dev1>"
+       echo
        exit 0
 }
 
@@ -84,7 +102,7 @@ function run_test()
                usage
        else
                if [ "$1" = "smoke" ]; then
-                       run_smoke
+                       run_smoke $2 $3
                else
                        usage
                fi
-- 
2.32.0

Reply via email to