[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Viryaos-discuss] [ImageBuilder] [PATCH 2/2] uboot-script-gen: Enable direct mapping of statically allocated memory
(Resending mail, as the previous delivery failed) On 21/06/2022 12:34, Ayan Kumar Halder wrote: Hi, On 19/06/2022 13:43, Xenia Ragiadakou wrote:Direct mapping for dom0less VMs is disabled by default in XEN and can be enabled through the 'direct-map' property.Add a new config parameter DOMU_DIRECT_MAP to be able to enable or disabledirect mapping, i.e set to 1 for enabling and to 0 for disabling. This parameter is optional. Direct mapping is enabled by default for all dom0less VMs with static allocation.The property 'direct-map' is a boolean property. Boolean properties are trueif present and false if missing.Add a new data_type 'bool' in function dt_set() to setup a boolean property.Signed-off-by: Xenia Ragiadakou <burzalodowa@xxxxxxxxx> --- README.md | 4 ++++ scripts/uboot-script-gen | 18 ++++++++++++++++++ 2 files changed, 22 insertions(+) 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.Can't we just use $DOMU_STATIC_MEM to set "direct-map" in dts ?Is there a valid use-case for static allocation without direct mapping ? Sorry, it is not very clear to me.- Ayan+ - 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]}" thenadd_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 }
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |