diff options
author | Leonid Lazarev <leonid.lazarev@mera.com> | 2020-05-15 11:51:48 +0300 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2020-05-26 17:12:19 +0000 |
commit | 4028c726be78adc1f1df3708dbe99f9eb2303790 (patch) | |
tree | a612c618ec8689bd785e816582116c4cf81cc681 /meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch | |
parent | 30063de420b4f6c993dd3f2021ab84f622d69320 (diff) |
Raspberry 4: XEN support
Added the support for DOM0 in raspberry pi4. The feature agl-virt-xen should be enabled to activate this code.
1512 MB of memory is used for DOM0 machine.
There are limitations:
- brcmfmac module disabled (bluethooth and Wifi) due to the crash
- total_memory is set to the 3Gb, as it impacts the USB ports on rasbperry pi4 on Linux kernel 4.19
v2 (jsmoeller): make changes in virtualization-layer conditional to raspberrypi4
Bug-AGL: SPEC-3259
Change-Id: I873fbf1f5498e31ae5f468407502f16e1873f7fc
Signed-off-by: Leonid Lazarev <leonid.lazarev@mera.com>
Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/24522
Tested-by: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
ci-image-build: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
ci-image-boot-test: Jenkins Job builder account <agl-jobbuilder@automotivelinux.org>
Diffstat (limited to 'meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch')
-rw-r--r-- | meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch new file mode 100644 index 000000000..835f36da3 --- /dev/null +++ b/meta-agl-bsp/meta-raspberrypi/recipes-kernel/linux/files/0003-Fix-PCIe-in-dom0-for-RPi4.patch @@ -0,0 +1,31 @@ +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 + |