Add a new xen-rpi-u-boot-scr recipe to PROVIDE u-boot-default-script
instead of using a bbappend to rpi-u-boot-scr.
This allows the new recipe to be selected by indicating it as
PREFERRED_PROVIDER of u-boot-default-script, and then do that in the
Xen on Raspberry Pi 4 config file, xen-raspberrypi4-64.inc.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Improve meta-virt-xen.inc by moving all the Raspberry Pi 4 config
settings to a new xen-raspberrypi4-64.inc file in the raspberrypi
dynamic layer.
The new .inc file is included only for the raspberrypi4-64 MACHINE,
so the config settings no longer need to be applied using overrides.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Apply update to the device tree to allow Xen 4.14 to boot.
Suggested-by: Bertrand Marquis <bertrand.marquis@arm.com>
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
fatload needs to read from mmc 1:1 to find the Xen hypervisor and Linux
kernel binaries with the current Yocto Linux 5.10 kernel.
Add boot messages to to the u-boot script to indicate the size of files
loaded for easier confirmation of load success.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Added to the raspberrypi dynamic layer for use with Xen as
preparation for switching to it as the default preference.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Since upstream Xen 4.14 and 4.15 have working default configs for Xen on
the Raspberry Pi 4, the defconfig and bbappend in the raspberrypi
dynamic layer can now be removed.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
This string has been preferred since 2014 -- ref: Xen commit a860dfeec
and also current documentation: docs/misc/arm/device-tree/booting.txt
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Switch to use ?= to set KBRANCH_raspberrypi4-64 to make it easier to
override elsewhere when needed for switching to a different kernel branch.
Also make the same change for KMACHINE_raspberrypi4-64 to match how it is
assigned in the meta-yocto-bsp layer.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Enable linux-yocto-dev as the Linux kernel for Xen on the
Raspberry Pi 4, with the bcm-2xxx-rpi4 KMACHINE and KBRANCH.
Set a Raspberry Pi SD card variable to increase the size of the boot
partition to accommodate both the kernel and the Xen hypervisor.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Retiring use of the downstream vendor kernel for use with Xen.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
The GIC that is needed by Xen can be enabled via the rpi-config recipe
variable. Fixes the build after the upstream recipe changed recently.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Replaces the prior use of earlyprintk which is an x86-specific option.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
Kernel patches are in process of Linux review and submission, and are
backported from the Linux Foundation's Eve Project kernel from 5.6 to 5.4
(some patches not needed for 5.4, hence gaps in the patch sequence number)
https://github.com/lf-edge/eve/tree/master/pkg/new-kernel/patches-5.6.x
A bbappend applies Xen overrides to the boot command line.
Since linux-raspberrypi depends on linux-yocto, and
linux-yocto_virtualization introduces a requirement for cfg/virtio.scc
obtain it from the yocto kernel cache.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>
A Xen-specific u-boot script is needed for launching Xen, and the GIC
(interrupt controller) needs to be enabled.
Since this is both Xen-specific and Raspberry Pi-specific, use a
dynamic layer to conditionally enable the recipes when both
meta-virtualization and meta-raspberrypi are in use together.
Signed-off-by: Christopher Clark <christopher.w.clark@gmail.com>
Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com>