diff options
author | Scott Murray <scott.murray@konsulko.com> | 2021-03-08 12:33:48 -0500 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2021-03-09 11:41:17 +0000 |
commit | 230f3b24c81353fb4fd43196d1fdcd6a8650da08 (patch) | |
tree | 6dd4931056ce312e179385346a1a1217b94d187c | |
parent | 63c1e80e2aa0878a73766f6b051a5b4d89747325 (diff) |
meta-agl-bsp: clean up Raspberry Pi Xen support
Changes:
- Rename bbappend for Xen support to work with 5.4 kernel.
- Drop one of the Xen support patches that no longer applies, as it
seems no longer required due to upstream changes.
- Move Xen kernel configuration fragment use to non-versioned kernel
bbappend to simplify future upgrades.
- Move ENABLE_UART definition to machine template inc files instead
of duplicating it in multiple bbappends. This is more in line with
how upstream indicates it be used.
Note that these changes have been compile tested with the agl-virt-xen
feature, but the resulting image has not yet been tested with Xen.
This is still an improvement, as agl-virt-xen would have silently not
affected kernel configuration previously. As well, some of the
reshuffling done here will simplify the kernel upgrade in the next
branch.
Bug-AGL: SPEC-3841
Signed-off-by: Scott Murray <scott.murray@konsulko.com>
Change-Id: I022cccef00fcd0a82ceef89d4aab1894004543a3
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26144
Tested-by: Jenkins Job builder account
ci-image-build: Jenkins Job builder account
ci-image-boot-test: Jenkins Job builder account
Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
7 files changed, 19 insertions, 54 deletions
diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi3.inc b/meta-agl-bsp/conf/include/agl_raspberrypi3.inc index a4989b79a..8b3d80d56 100644 --- a/meta-agl-bsp/conf/include/agl_raspberrypi3.inc +++ b/meta-agl-bsp/conf/include/agl_raspberrypi3.inc @@ -9,6 +9,9 @@ OSTREE_KERNEL_ARGS_sota_append = " cma=256M" # use u-boot always RPI_USE_U_BOOT = "1" +# Use UART for serial console +ENABLE_UART ?= "1" + #RPI_KERNEL_DEVICETREE_remove_raspberrypi3 = "bcm2708-rpi-0-w.dtb" #RPI_KERNEL_DEVICETREE_OVERLAYS_remove_raspberrypi3 = "overlays/lirc-rpi.dtbo" #RPI_KERNEL_DEVICETREE_OVERLAYS_append_raspberrypi3 = " overlays/vc4-fkms-v3d.dtbo" diff --git a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc index c44d44f8f..e590cb2f9 100644 --- a/meta-agl-bsp/conf/include/agl_raspberrypi4.inc +++ b/meta-agl-bsp/conf/include/agl_raspberrypi4.inc @@ -7,6 +7,9 @@ OSTREE_KERNEL_ARGS_sota_append = " cma=256M" # use u-boot always RPI_USE_U_BOOT = "1" +# Use UART for serial console +ENABLE_UART ?= "1" + # For libomxil #LICENSE_FLAGS_WHITELIST = "commercial" 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 bbab3df46..dc9df4ad8 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 @@ -48,6 +48,3 @@ do_deploy_append_raspberrypi4() { do_deploy_append_sota() { echo "device_tree_address=0x0c800000" >> ${DEPLOYDIR}/bootfiles/config.txt } - -ENABLE_UART_raspberrypi3 = "1" -ENABLE_UART_raspberrypi4 = "1" diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0003-Fix-PCIe-in-dom0-for-RPi4.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0003-Fix-PCIe-in-dom0-for-RPi4.patch deleted file mode 100644 index 835f36da3..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi/0003-Fix-PCIe-in-dom0-for-RPi4.patch +++ /dev/null @@ -1,31 +0,0 @@ -From 77765c2a47ce43911b8fe7b09f037c9bc13008ca Mon Sep 17 00:00:00 2001 -From: Jeff Kubascik <jeff.kubascik@dornerworks.com> -Date: Tue, 30 Jul 2019 08:49:56 -0400 -Subject: [PATCH 3/4] Fix PCIe in dom0 for RPi4 - -There is an issue where the Broadcom PCIe driver and Xen swiotlb layer -invoke each other's dma alloc function recursively until the stack blows -up. The cause appears to be due to arch_setup_dma_ops being called -more than once for the device, possibly through of_dma_configure, and -screwing up the dma_ops pointers. This patch adds a check to make sure -that the xen_dma_ops are applied only once for a device. ---- - arch/arm64/mm/dma-mapping.c | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c -index d3a5bb16f..243a3b9be 100644 ---- a/arch/arm64/mm/dma-mapping.c -+++ b/arch/arm64/mm/dma-mapping.c -@@ -895,7 +895,7 @@ void arch_setup_dma_ops(struct device *dev, u64 dma_base, u64 size, - __iommu_setup_dma_ops(dev, dma_base, size, iommu); - - #ifdef CONFIG_XEN -- if (xen_initial_domain()) { -+ if (!dev->archdata.dev_dma_ops && xen_initial_domain()) { - dev->archdata.dev_dma_ops = dev->dma_ops; - dev->dma_ops = xen_dma_ops; - } --- -2.17.1 - diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend index dd850669f..5069e1ee1 100644 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_%.bbappend @@ -6,16 +6,22 @@ SRC_URI_append = "\ ${@oe.utils.conditional('USE_FAYTECH_MONITOR', '1', 'file://0002-faytech-fix-rpi.patch', '', d)} \ file://0001-mconf-menuconfig.patch \ " + +# For Xen +SRC_URI_append = "\ + ${@bb.utils.contains('AGL_XEN_WANTED','1','file://xen-be.cfg','',d)} \ +" + #take in account that linux under xen should use the hvc0 console -SERIAL_OPTION = "${@bb.utils.contains('AGL_XEN_WANTED','1','hvc0','115200;ttyS0',d)}" +SERIAL_OPTION = "${@bb.utils.contains('AGL_XEN_WANTED','1','hvc0','ttyS0,115200',d)}" SERIAL = "${@oe.utils.conditional("ENABLE_UART", "1", "console=${SERIAL_OPTION}", "", d)}" CMDLINE_DEBUG = "" -#XEN related option +# XEN related option CMDLINE_append = ' ${@bb.utils.contains('AGL_XEN_WANTED','1','clk_ignore_unused','',d)}' -#workaround for crash during brcmfmac loading. Disable it at this moment +# Workaround for crash during brcmfmac loading. Disable it at this moment CMDLINE_append = ' ${@bb.utils.contains('AGL_XEN_WANTED','1','modprobe.blacklist=brcmfmac','',d)}' CMDLINE_append = " usbhid.mousepoll=0" diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend deleted file mode 100644 index 2d100cb43..000000000 --- a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.19.bbappend +++ /dev/null @@ -1,17 +0,0 @@ -require recipes-kernel/linux/linux-agl-4.19.inc - -ENABLE_UART_raspberrypi4 = "1" - -# For Xen - -SRC_URI_append =" \ - ${@bb.utils.contains('AGL_XEN_WANTED','1','file://0002-Disable-DMA-in-sdhci-driver.patch','',d)} \ -" - -SRC_URI_append =" \ - ${@bb.utils.contains('AGL_XEN_WANTED','1','file://0003-Fix-PCIe-in-dom0-for-RPi4.patch','',d)} \ -" - -SRC_URI_append = " \ - ${@bb.utils.contains('AGL_XEN_WANTED','1','file://xen-be.cfg','',d)} \ -" diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bbappend b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bbappend new file mode 100644 index 000000000..399aa1974 --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_5.4.bbappend @@ -0,0 +1,4 @@ +# For Xen +SRC_URI_append =" \ + ${@bb.utils.contains('AGL_XEN_WANTED','1','file://0002-Disable-DMA-in-sdhci-driver.patch','',d)} \ +" |