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
 }
 
 {
        echo "Running smoke test. Note, this test provides basic coverage."
 
-       load_driver
+       load_driver $1 $2
        $(dirname "${BASH_SOURCE[0]}")/hmm-tests
        unload_driver
 }
        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
 }
 
                usage
        else
                if [ "$1" = "smoke" ]; then
-                       run_smoke
+                       run_smoke $2 $3
                else
                        usage
                fi