aboutsummaryrefslogtreecommitdiff
path: root/scripts
diff options
context:
space:
mode:
authorStefano Stabellini2022-06-17 18:19:33 -0700
committerStefano Stabellini2022-06-17 18:19:33 -0700
commit6f5ecb4a9d780378ed3733a7c838b10e5d0a832d (patch)
treede5974f42af4406abb348cafea950a785dd420c1 /scripts
parent66b9bd9f5e20c168ebcad4b08ac29cf6a90b666d (diff)
Add support for cache coloring
Generate the coloring information for Xen, dom0 and domUs based on information on the config file. Cache coloring is not upstreaming but it was published to xen-devel already. It is very useful to be able to provide a cache coloring configuration via config file instead of manually editing boot.source. Signed-off-by: Stefano Stabellini <stefano.stabellini@xilinx.com>
Diffstat (limited to 'scripts')
-rwxr-xr-xscripts/uboot-script-gen26
1 files changed, 25 insertions, 1 deletions
diff --git a/scripts/uboot-script-gen b/scripts/uboot-script-gen
index 001f6ed..48b36a3 100755
--- a/scripts/uboot-script-gen
+++ b/scripts/uboot-script-gen
@@ -203,6 +203,21 @@ function xen_device_tree_editing()
add_device_tree_static_mem "/chosen/domU$i" "${DOMU_STATIC_MEM[$i]}"
fi
dt_set "/chosen/domU$i" "vpl011" "hex" "0x1"
+
+ if test "${DOMU_COLORS[$i]}"
+ then
+ local startcolor=$(echo "${DOMU_COLORS[$i]}" | cut -d "-" -f 1)
+ local endcolor=$(echo "${DOMU_COLORS[$i]}" | cut -d "-" -f 2)
+ local bitcolors=0
+ local bit=$startcolor
+ while test $bit -le $endcolor
+ do
+ bitcolors=$(( $bitcolors | $(( 1 << $bit)) ))
+ bit=$(( $bit + 1 ))
+ done
+ dt_set "/chosen/domU$i" "colors" "hex" "$(printf "0x%x" $bitcolors)"
+ fi
+
add_device_tree_kernel "/chosen/domU$i" ${domU_kernel_addr[$i]} ${domU_kernel_size[$i]} "${DOMU_CMD[$i]}"
if test "${domU_ramdisk_addr[$i]}"
then
@@ -384,7 +399,16 @@ function xen_config()
DOM0_VCPUS="1"
fi
- XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=${DOM0_MEM}M dom0_max_vcpus=${DOM0_VCPUS} bootscrub=0 vwfi=native sched=null"
+ if test "$DOM0_COLORS"
+ then
+ DOM0_COLORS="dom0_colors=$DOM0_COLORS"
+ fi
+ if test "$XEN_COLORS"
+ then
+ XEN_COLORS="xen_colors=$XEN_COLORS"
+ fi
+
+ XEN_CMD="console=dtuart dtuart=serial0 dom0_mem=${DOM0_MEM}M dom0_max_vcpus=${DOM0_VCPUS} bootscrub=0 vwfi=native sched=null $XEN_COLORS $DOM0_COLORS"
else
if [ "$DOM0_MEM" ] || [ "$DOM0_VCPUS" ]
then