diff options
author | Scott Murray <scott.murray@konsulko.com> | 2022-11-23 13:39:08 -0500 |
---|---|---|
committer | Jan-Simon Moeller <jsmoeller@linuxfoundation.org> | 2022-12-14 16:28:44 +0000 |
commit | 95fbe1535d21b7a1a1a0959602d2642ced198ab1 (patch) | |
tree | b6ec73a018e4d32f892375ffdd53b65e2f783d13 | |
parent | 89f3545d42b90e8b8ada5821e42134fd8beb5439 (diff) |
linux-yocto: Rework virtio-aarch64 kernel configuration
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>
(cherry picked from commit dff7de31ac2b32021df775898464266ef14cc13d)
Reviewed-on: https://gerrit.automotivelinux.org/gerrit/c/AGL/meta-agl/+/28254
4 files changed, 18 insertions, 1 deletions
diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg new file mode 100644 index 000000000..2facc345e --- /dev/null +++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-drm.cfg @@ -0,0 +1,3 @@ +CONFIG_DRM=y +CONFIG_FB=y +CONFIG_DRM_FBDEV_EMULATION=y diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg new file mode 100644 index 000000000..bbcaca312 --- /dev/null +++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto/virtio-pci.cfg @@ -0,0 +1,3 @@ +CONFIG_PCI=y +CONFIG_VIRTIO_PCI=y +CONFIG_PCI_HOST_GENERIC=y diff --git a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend index 3a278fa2a..6952436a3 100644 --- a/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend +++ b/meta-agl-bsp/virtualization-layer/recipes-kernel/linux/linux-yocto_5.15.bbappend @@ -1,10 +1,17 @@ FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" -SRC_URI:append:virtio-all = " \ +# Cannot just append to SRC_URI, as the metadata interferes with the +# AGL config fragment scheme +AGL_KERNEL_SRC:prepend:virtio-all = " \ git://gerrit.automotivelinux.org/gerrit/src/agl-yocto-kernel-meta.git;protocol=https;type=kmeta;name=agl-meta;destsuffix=agl-kernel-meta;branch=kernel-5.15 \ file://virtio-aarch64-${LINUX_KERNEL_TYPE}.scc \ " SRCREV_agl-meta = "4deb7357eab5962b0553a5ad1f11be5ac35f9da9" +AGL_KCONFIG_FRAGMENTS:append:virtio-all = " \ + virtio-drm.cfg \ + virtio-pci.cfg \ +" + COMPATIBLE_MACHINE:virtio-aarch64 = "virtio-aarch64" diff --git a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc index bdca5d424..80f7129c2 100644 --- a/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc +++ b/meta-agl-core/recipes-kernel/linux/linux-agl-config.inc @@ -67,6 +67,10 @@ AGL_KCONFIG_FRAGMENTS:append:qemuall = " \ qemu-drm.cfg \ " +AGL_KCONFIG_FRAGMENTS:append:virtio-all = " \ + sound-hda.cfg \ +" + # Configuration for using the ARM virt machine (and not versatilepb) AGL_KCONFIG_FRAGMENTS:append:qemuarm = " qemuarm.cfg" |