aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md4
-rwxr-xr-xscripts/uboot-script-gen18
2 files changed, 22 insertions, 0 deletions
diff --git a/README.md b/README.md
index c52e4b9..17ff206 100644
--- a/README.md
+++ b/README.md
@@ -168,6 +168,10 @@ Where:
if specified, indicates the host physical address regions
[baseaddr, baseaddr + size) to be reserved to the VM for static allocation.
+- DOMU_DIRECT_MAP[number] can be set to 1 or 0.
+ If set to 1, the VM is direct mapped. The default is 1.
+ This is only applicable when DOMU_STATIC_MEM is specified.
+
- LINUX is optional but specifies the Linux kernel for when Xen is NOT
used. To enable this set any LINUX\_\* variables and do NOT set the
XEN variable.
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index bdc8a6b..e85c6ec 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -27,6 +27,7 @@ function dt_mknode()
# hex
# str
# str_a
+# bool
function dt_set()
{
local path=$1
@@ -49,6 +50,12 @@ function dt_set()
array+=" \"$element\""
done
echo "fdt set $path $var $array" >> $UBOOT_SOURCE
+ elif test $data_type = "bool"
+ then
+ if test "$data" -eq 1
+ then
+ echo "fdt set $path $var" >> $UBOOT_SOURCE
+ fi
else
echo "fdt set $path $var \"$data\"" >> $UBOOT_SOURCE
fi
@@ -65,6 +72,12 @@ function dt_set()
elif test $data_type = "str_a"
then
fdtput $FDTEDIT -p -t s $path $var $data
+ elif test $data_type = "bool"
+ then
+ if test "$data" -eq 1
+ then
+ fdtput $FDTEDIT -p $path $var
+ fi
else
fdtput $FDTEDIT -p -t s $path $var "$data"
fi
@@ -206,6 +219,7 @@ function xen_device_tree_editing()
if test "${DOMU_STATIC_MEM[$i]}"
then
add_device_tree_static_mem "/chosen/domU$i" "${DOMU_STATIC_MEM[$i]}"
+ dt_set "/chosen/domU$i" "direct-map" "bool" "${DOMU_DIRECT_MAP[$i]}"
fi
dt_set "/chosen/domU$i" "vpl011" "hex" "0x1"
if test "$DOM0_KERNEL"
@@ -470,6 +484,10 @@ function xen_config()
then
DOMU_CMD[$i]="console=ttyAMA0"
fi
+ if test -z "${DOMU_DIRECT_MAP[$i]}"
+ then
+ DOMU_DIRECT_MAP[$i]=1
+ fi
i=$(( $i + 1 ))
done
}