diff options
Diffstat (limited to 'meta-agl-bsp/meta-raspberrypi/recipes-bsp')
3 files changed, 68 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend index 5eecff6f1..9891fa200 100644 --- a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend +++ b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bbappend @@ -1,4 +1,5 @@ DISABLE_OVERSCAN = "1" +TOTAL_BOARD_MEM = "3072" do_deploy_append_raspberrypi4() { # ENABLE CAN @@ -17,6 +18,10 @@ do_deploy_append_raspberrypi4() { ;; esac fi + + if [ "${AGL_XEN_WANTED}" = "1" ]; then + echo "total_mem=${TOTAL_BOARD_MEM}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt + fi } do_deploy_append() { diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot_xen.cmd b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot_xen.cmd new file mode 100644 index 000000000..24cfb1658 --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot_xen.cmd @@ -0,0 +1,45 @@ +# +# SPDX-License-Identifier: MIT +# +# Copyright (c) 2020, MERA +# +# Author: Leonid Lazarev +# +# Xen Boot Script +# +# https://www.raspberrypi.org/documentation/configuration/device-tree.md +# We do not set fdt_addr, because device tree initially is loaded by raspberry pi firmware loader and the particular +# modification are performed. The prepared DTS is propagated to u-boot and this prepared device tree has to be reused. + +setenv kernel_addr_r 0x00480000 # 16M +setenv xen_addr_r 0x00200000 # 2M + +# Load xen to ${xen_addr_r}. +fatload mmc 0:1 ${xen_addr_r} /xen-@@MACHINE@@ + +#configure dom0 +fdt addr ${fdt_addr} + +#read prepared bootargs, rapsberry pi prepared initial list of the parameters for loading +fdt get value bootargs /chosen bootargs +fdt resize 8192 + +# add device type for raspberry +fdt set pcie0 device_type "pci" + +fdt chosen +fdt set /chosen \#address-cells <1> +fdt set /chosen \#size-cells <1> + +# Load Linux Image to ${kernel_addr_r} +fatload mmc 0:1 ${kernel_addr_r} /@@KERNEL_IMAGETYPE@@ + +# we load dom0 with 1512 MB of memory +fdt mknod /chosen dom0 +fdt set /chosen xen,xen-bootargs "console=dtuart dtuart=/soc/serial@7e215040 sync_console dom0_mem=1512M bootscrub=0" +fdt set /chosen xen,dom0-bootargs "${bootargs}" + +fdt set /chosen/dom0 compatible "xen,linux-zimage", "xen,multiboot-module" +fdt set /chosen/dom0 reg <${kernel_addr_r} 0x${filesize} > + +@@KERNEL_BOOTCMD@@ ${xen_addr_r} - ${fdt_addr} diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend new file mode 100644 index 000000000..2437d9a84 --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bbappend @@ -0,0 +1,18 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI_append =" \ + ${@bb.utils.contains('AGL_XEN_WANTED','1',' file://boot_xen.cmd','',d)} \ +" + +do_compile_append() { + + # if xen feature is activated we overwirte the boot script with xen specific one + if [ "${AGL_XEN_WANTED}" = "1" ]; then + sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \ + -e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \ + -e 's/@@MACHINE@@/${MACHINE}/' \ + "${WORKDIR}/boot_xen.cmd" > "${WORKDIR}/boot.cmd" + + mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr + fi +}
\ No newline at end of file |