aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md10
-rwxr-xr-xscripts/uboot-script-gen26
2 files changed, 35 insertions, 1 deletions
diff --git a/README.md b/README.md
index 876e46d..c52e4b9 100644
--- a/README.md
+++ b/README.md
@@ -49,6 +49,7 @@ DOMU_KERNEL[0]="zynqmp-dom1/Image-domU"
DOMU_PASSTHROUGH_PATHS[0]="/axi/ethernet@ff0e0000 /axi/serial@ff000000"
DOMU_CMD[0]="console=ttyPS0 earlycon console=ttyPS0,115200 clk_ignore_unused rdinit=/sbin/init root=/dev/ram0 init=/bin/sh"
DOMU_RAMDISK[0]="zynqmp-dom1/domU-ramdisk.cpio"
+DOMU_COLORS[0]="6-14"
DOMU_KERNEL[1]="zynqmp-dom2/Image-domU"
DOMU_CMD[1]="console=ttyAMA0 clk_ignore_unused rdinit=/sbin/init root=/dev/ram0 init=/bin/sh"
DOMU_RAMDISK[1]="zynqmp-dom2/domU-ramdisk.cpio"
@@ -86,6 +87,9 @@ Where:
- XEN specifies the Xen hypervisor binary to load. Note that it has to
be a regular Xen binary, not a u-boot binary.
+- XEN_COLORS specifies the colors (cache coloring) to be used for Xen
+ and is in the format startcolor-endcolor
+
- XEN_CMD specifies the command line arguments used for Xen. If not
set, the default one will be used.
@@ -103,6 +107,9 @@ Where:
- DOM0_VCPUS specifies the number of VCPUs for Dom0. The default is 1. This is
only applicable when XEN_CMD is not specified.
+- DOM0_COLORS specifies the colors (cache coloring) to be used for dom0
+ and is in the format startcolor-endcolor
+
- DOM0_CMD specifies the command line arguments for Dom0's Linux
kernel. If "root=" isn't set, imagebuilder will try to determine it.
If not set at all, the default one is used.
@@ -150,6 +157,9 @@ Where:
- DOMU_VCPUS[number] is the number of vcpus for the VM, default 1
+- DOMU_COLORS[number] specifies the colors (cache coloring) to be used
+ for the domain and is in the format startcolor-endcolor
+
- DOMU_NOBOOT[number]: if specified, the DomU is not started
automatically at boot as dom0-less guest. It can still be created
later from Dom0.
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