summaryrefslogtreecommitdiffstats
path: root/meta-agl-bsp/virtualization-layer
AgeCommit message (Collapse)AuthorFilesLines
2024-07-09Rework virtio-aarch64 machine definitionScott Murray5-45/+5
Start on potentially removing separate virtio-arch64 machine by simplifying it and moving as much of its virtio kernel configuration over to our generic kernel configuration scheme. From some experimentation, it is not obvious that genericarm64 or qemuarm64 are directly reusable as guest MACHINEs as is, so further investigation is required on whether maintaining our own machine and potentially custom kernel metadata cache is perhaps worthwhile. Changes: - Update virtio-aarch64 linux-yocto bbappend for new version in scarthgap, and drop its use of a custom kernel metadata cache for reusing qemuarm64's BSP as a starting point for now. - Move the various virtio-*.cfg kernel configuration fragments over to meta-agl-core, using a new "agl-virtio-guest" AGL_FEATURES flag to control whether they are used. The aim is to make it more obvious where any virtio kernel configuration comes from and hopefully make it more easily reusable. Bug-AGL: SPEC-5137, SPEC-5201 Change-Id: I861cd1f80643aca632a5ab103eae2cc46de3922e Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/30119 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-boot-test: Jenkins Job builder account
2024-07-09meta-agl-bsp: remove old Xen recipesScott Murray4-86/+0
Remove old Xen recipes and bbappends, as they have not been maintained in a long time, and are no longer buildable / relevant after the upgrade to YP scarthgap. Bug-AGL: SPEC-5202 Change-Id: I5ba07585213836ab8f4e1bd7358dc55e52a3c71e Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/30120 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>
2024-05-10meta-agl-bsp: refresh mesa virgl patchScott Murray1-5/+7
Refresh the mesa patch applied dynamically when meta-virtualization is being used so it applies cleanly. It is still unknown if the patch is required for the KVM demo, but fixing it up is required to have the IC EG container demos to build. Bug-AGL: SPEC-5123 Change-Id: Ib1c8b623d78ca0453d3418e565dbe86bdc344fb5 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29898 Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2024-05-02meta-agl-bsp: update meta-virtualization bbappendsScott Murray2-0/+0
Rename the meta-virtualization dynamically applied bbappends to handle the newer versions in YP 5.0 / scarthgap. To some degree these changes are placeholders to facilitate building the IC EG container demo images, as the configuration for that pulls in meta-virtualization. The virtio support related changes the bbappends apply here need to be reworked to be actually workable for the KVM demo images and potential downstream users. Bug-AGL: SPEC-5123 Change-Id: I473fa4a64837cedd704f8fb2e7cbd52fa2114d21 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/29879 ci-image-build: Jenkins Job builder account Reviewed-by: Naoto YAMAGUCHI <naoto.yamaguchi@aisin.co.jp> Tested-by: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> ci-image-boot-test: Jenkins Job builder account
2022-12-30virtualization-layer/recipes-graphics/mesa: Workaround for virglMarius Vlad2-0/+37
This is a just a workaround for the time being, to avoid some graphical artefacts seen only when booting up for the first time the image. Introduced with https://gitlab.freedesktop.org/mesa/mesa/-/commit/6f68cacf619f7f13bc870355709224c1f3e9bbd8. Bug-AGL: SPEC-4651 Change-Id: Ie2ac5d170790293dc5860d5f27f26ee811f4a4b5 Signed-off-by: Marius Vlad <marius.vlad@collabora.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28300 Reviewed-by: Scott Murray <scott.murray@konsulko.com> Tested-by: Jenkins Job builder account
2022-12-08linux-yocto: Rework virtio-aarch64 kernel configurationScott Murray3-1/+14
Changes: - Appending the virtio kernel metadata to SRC_URI in the linux-yocto bbappend was having the side-effect of overriding a lot of the changes from the other AGL configuration fragments. To avoid this, prepend the addition to AGL_KCONFIG_FRAGMENTS instead. - Add the HDA sound driver config fragment for virtio machines to allow using the QEMU emulation. - Add config fragment for the virtio kernel to ensure that CONFIG_DRM and the fbdev emulation are on. - Add config fragment for the virtio kernel to turn on CONFIG_PCI, as there are some peripherals that we may need to expose to guests with it. This and the DRM changes will be rationalized in the metadata repo once it's clear we do need them. Bug-AGL: SPEC-4618 Change-Id: I453b84d9840498772afd01404dd374f5c1d245da Signed-off-by: Scott Murray <scott.murray@konsulko.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28191 ci-image-build: Jenkins Job builder account Tested-by: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-09-22virtualization/linux-yocto: Support linux-yocto-dev for VIRTIO.Vasyl Vavrychuk1-0/+10
Bug-AGL: SPEC-4453 Change-Id: Id4dd3c3543dedf15cf09956414f32face685e498 Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27881 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>
2022-09-22virtualization/linux-yocto: For kernel metadata use git repository instead ↵Vasyl Vavrychuk14-245/+11
of local files. This will allow using branches for supporting multiple kernel versions more easily. Note, that BSP description root file virtio-aarch64-standard.scc has to be kept local withing a recipe. This is needed to add this scc file explicitly to SRC_URI to have AGL VIRTIO patches applied during kernel recipe build. As explained in [1, 2], Yocto kernel metadata is commonly used for two purposes: 1. To construct Yocto kernel git by committing patches listed in scc files. 2. To configure Yocto kernel during Yocto build. When scc file is not explicitly added to SRC_URI, then patch commands will be ignored during Yocto build because it is assumed that patches are already pre-applied during Yocto kernel git tree construction. But, there is not AGL Linux kernel tree, only a repository for AGL kernel metadata (this one). So, patches from this metadata repository have to be applied during kernel recipe build. On the other hand, to ignore patches from YP kernel metadata (which are already pre-applied), standard.scc is included with `nopatch` keyword. [1]: https://www.yoctoproject.org/pipermail/yocto/2019-October/046986.html [2]: https://docs.yoctoproject.org/kernel-dev/maint-appx.html Bug-AGL: SPEC-4452 Change-Id: Idde8e507eb18fa26e6a5b84ab8443576badb58bf Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27878 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2022-05-26virtio: Enable virtio-scmi and IIO SCMI drivers.Vasyl Vavrychuk6-0/+178
VIRTIO-SCMI device implements the Arm System Control and Management Interface (SCMI) [1]. This VIRTIO device is part of "Virtual I/O Device (VIRTIO) Version 1.2" specification [2]. The SCMI can be used for sensors, power state management, clock management and performance management among other things. Enable IIO-SCMI driver that works on top of VIRTIO-SCMI and supports SCMI sensors. [1]: https://developer.arm.com/Architectures/System%20Control%20and%20Management%20Interface [2]: https://docs.oasis-open.org/virtio/virtio/v1.2/csd01/virtio-v1.2-csd01.html Bug-AGL: SPEC-3865, SPEC-4365 Change-Id: Iaf2092d869d938d0b45029038d8eea36110d7e3e Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27473 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>
2022-05-10meta-agl-bsp: update virtio-aarch64Scott Murray14-4273/+1
Updates to get the virtio-aarch64 machine building after the upgrade to Yocto Project 4.0 / kirkstone: - Switch to the 5.15 linux-yocto kernel and drop the local backport of the 5.10 recipe. - Fix override syntax in the machine-specific linux-yocto bbappend. - Remove all the patches applied for the virtio and virtio-snd configuration fragments, they seem to have all been applied upstream. Bug-AGL: SPEC-4356 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I96d4bb9b04d74280d1a3767fe17284fe6049fcba Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/27465 Reviewed-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Tested-by: Jenkins Job builder account ci-image-build: Jenkins Job builder account ci-image-boot-test: Jenkins Job builder account
2022-03-30Update to SPDX license namesScott Murray1-1/+1
Apply updates from running the new convert-spdx-licenses script from upstream. This is not currently a hard requirement from upstream, but futureproofs for when the license name mapping is finally removed. Bug-AGL: SPEC-3819 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: I0af2a3ef75c999d447549127ae4cd2ed5c5b910f
2021-08-23Convert to new override syntaxScott Murray5-43/+43
This is mostly the result of running a slightly customized version of the convert-overrides.py script from poky with additional overrides added. A few minor fixups were done by hand afterwards during a review of the changes. The intent of these changes is to minimize the effort to keep the "next" branch that builds against poky master up to date and tested in preparation for the switch to the next Yocto LTS release in early 2022. Bug-AGL: SPEC-4052 Signed-off-by: Scott Murray <scott.murray@konsulko.com> Change-Id: Ia3bf63b7cb1aa1d95ada373d1a3ab56def0a125d Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26564 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>
2021-04-30virtio: Backport virtio sound driver.Vasyl Vavrychuk12-0/+4156
Added patch series is the latest implementation [1] of virtio sound device [2] driver. It was accepted [3] by sound maintainer for the next kernel version. virtio-snd.cfg snippet has been generated using menuconfig/diffconfig tasks by selecting SND_VIRTIO, other configs have been selected automatically. [1]: https://lore.kernel.org/alsa-devel/20210302164709.3142702-1-anton.yakovlev@opensynergy.com/ [2]: https://github.com/oasis-tcs/virtio-spec/blob/master/virtio-sound.tex [3]: https://lore.kernel.org/alsa-devel/s5hsg575q5z.wl-tiwai@suse.de/ Bug-AGL: SPEC-3894 Change-Id: Ide484b4a70e5d2aef0726f701f87d783e128c4d3 Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26291 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>
2021-04-30virtio: Bump virtio-aarch64 kernel to version v5.10.Vasyl Vavrychuk1-0/+58
There are a number of virtio drivers [1,2] developed on top of newer kernel version. To simplify their backporting it is better to have newest possible kernel version. Use v5.10 since at the moment it is latest available Linux Yocto kernel. As a sacrifice, some external kernel modules have to be disabled since they fail to compile with newer kernel. Recipe imported from repo: https://git.yoctoproject.org/cgit/cgit.cgi/poky/ branch: master commit: a870101 path: meta/recipes-kernel/linux/linux-yocto_5.10.bb [1]: https://lore.kernel.org/alsa-devel/20210302164709.3142702-1-anton.yakovlev@opensynergy.com/ [2]: https://lore.kernel.org/linux-arm-kernel/20201105212116.411422-1-peter.hilber@opensynergy.com/ Bug-AGL: SPEC-3894 Change-Id: I8ac793c1075bdeaa96d03252b97abcf983bb7ee0 Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26290 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-04-30virtualization/linux-yocto: Fix multitouch with virtio-input.Vasyl Vavrychuk2-0/+67
Multitouch support with virtio-input was broken which can be observed: * by running weston-simple-touch with weston compositor ( weston-simple-touch does not work with AGL compositor due to XDG shell issues) * by doing pinch to zoom in/out on navigation app map Change-Id: I3ec2a989a4217ebe22cee9cf1640190ca8e2bb81 Bug-AGL: SPEC-3893 Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26289 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-04-30virtualization/linux-yocto: Add virtio-aarch64-standard.scc to SRC_URI.Vasyl Vavrychuk2-1/+2
It allows to use patch command to apply patches via scc file. As explained in [1,2], Yocto kernel metadata is commonly used for two purposes: 1. To construct Yocto kernel git by committing patches listed in scc files. 2. To configure Yocto kernel during Yocto build. When scc file is not explicitly added to SRC_URI, then patch commands will be ignored during Yocto build because it is assumed that patches are already pre-applied during Yocto kernel git tree construction. On the other hand, nopatch should be added to standard.scc because patches from it are actually pre-applied. [1]: https://www.yoctoproject.org/pipermail/yocto/2019-October/046986.html [2]: https://docs.yoctoproject.org/kernel-dev/maint-appx.html Change-Id: Id238e79e1b354daaa23e83bef45fc93a216fbf92 Bug-AGL: SPEC-3893 Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26288 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-04-30virtualization/linux-yocto: Reorganize layout of linux-yocto kernel virtio ↵Vasyl Vavrychuk6-3/+3
metadata. Follow layout of yocto-kernel-cache, this makes code a little bit more understandable and familiar for one who worked with yocto-kernel-cache. Change-Id: I1ad65039a1738b928069d035d485e2728e8a55b2 Bug-AGL: SPEC-3893 Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/26287 Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org> Tested-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2021-01-16meta-agl-bsp, templates: Add virtio-aarch64 machineVasyl Vavrychuk6-0/+69
This machine is intended to run in ARMv8 virtualized environment that provides VirtIO devices. AGL machine configuration files are based on qemuarm64 machine from meta-agl branch master commit e1da0efcd2eece82b0326798cfeaeb8dd48797fc. Yocto machine configuration files are based on qemuarm64 machine from Poky branch dunfell commit 4e931b1d05018923dc145cd97f6f965f5cb6e1a5. Yocto Linux Kernel is used as recommended in [1]. Its metadata for the created machine are based on qemuarm64-standard.scc from yocto-kernel-cache branch yocto-5.4 commit 4aeda12f7f7eb84613ae1fe6e22cd9cd9790c20b. The rationale behind creating new machine is a wish to have a machine that could run on other hypervisor/virtual machine monitor that implements VirtIO, not necessary QEMU. For now, virtio-aarch64 machine runs under QEMU and OpenSynergy COQOS Hypervisor. virtio-aarch64 machine includes following changes comparing to qemuarm64: * use virtio-gpu instead of VGA display (to be upstreamed to work in conjunction with runqemu gl, sdl, etc. options) * use virtio-bus instead of PCI bus QEMU devices * remove unneeded configurations Changes are moved here from meta-agl-devel. [1]: https://www.yoctoproject.org/docs/3.1.2/bsp-guide/bsp-guide.html#released-bsp-recommendations Bug-AGL: SPEC-3668 Signed-off-by: Vasyl Vavrychuk <vasyl.vavrychuk@opensynergy.com> Change-Id: I653ca35fded3d3e38f25299f46629db1174b5008 Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/25915 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> Reviewed-by: Jan-Simon Moeller <jsmoeller@linuxfoundation.org>
2020-05-26Raspberry 4: XEN supportLeonid Lazarev4-3/+54
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>
2020-03-04meta-agl-bsp: Define Xen recipeJérémy Fanguède2-0/+35
Provide Xen support for Arm64 boards, tested with the R-Car M3 ulcb board. Xen v4.13.0 stable version is compiled. A new binary is deployed, named "xen-${MACHINE}.uImage" that can be loaded and run by U-Boot. v2: rework to split u-boot mkimage part a separate recipe so we can keep the diff of the xen recipe at a minimum. Bug-AGL: SPEC-2912 Change-Id: I68d2af74d31ee310686645c8a5ae11b0201448b2 Signed-off-by: Jérémy Fanguède <j.fanguede@virtualopensystems.com> Signed-off-by: Michele Paolino <m.paolino@virtualopensystems.com> Signed-off-by: Jan-Simon Möller <jsmoeller@linuxfoundation.org>