From 042806431fafef0ce60ede76c66747e2ebe5d222 Mon Sep 17 00:00:00 2001 From: Anmol Date: Sat, 21 Aug 2021 00:39:46 +0200 Subject: [PATCH] meta-agl-jailhouse: Add support for virtio over IVSHMEM block This patch adds the support for the virtio over IVSHMEM block for AGL with Jailhouse. Current state of the Patchset: - Add PCI devices from (00:0c.0 - 00:0f.0), for various virtio devices(virtio-ivshmem-{block, console, NET, custom}), primarily for virtio-blk. - Add Common memory regions for virtio-blk in the Root-Cell and Non-Root-Linux-Cell configurations. - Add Documentation `meta-agl-jailhouse.md` for usage and Instructions. - Add `virtio-ivshmem-block` and `virtio-ivshmem-console` recipes for ott Kernel modules. v2 (Anmol): Update `agl-linux-x86-demo.c` and `qemu-agl.c` for PCI macros and small descriptions for IVSHMEM PCI devices. V3 (Anmol): - [RFC] Add packagegroup for the virtio-ivshmem-{block, console} applications. - Update the `meta-agl-jailhouse.md` for architecture specific information. v4 (Anmol): Update recipe files according to the new syntax(3.4-honister). v5 (Anmol): - Update recipe files for virtio-ivshmem binaries. - Update `50_local.conf.inc` for `packagegroup-agl-jailhouse`. v5 (Anmol): Update syntax for `50_local.conf.inc`. Signed-off-by: Anmol Change-Id: I1bed4c6f1d3d9b0792a18544ad18edca85a5f4f7 --- .../jailhouse/virtio-ivshmem-block.bb | 54 ++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-block.bb (limited to 'meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-block.bb') diff --git a/meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-block.bb b/meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-block.bb new file mode 100644 index 00000000..4ee6c98a --- /dev/null +++ b/meta-agl-jailhouse/recipes-extended/jailhouse/virtio-ivshmem-block.bb @@ -0,0 +1,54 @@ +SUMMARY = "virtio-ivshmem-block built out of the kernel tree" +DESCRIPTION = "virtio-ivshmem-block built out of the kernel tree." +HOMEPAGE = "https://kernel.org" + +LICENSE = "GPLv2" + +PR = "r1" + +DEPENDS = " \ + virtual/${MLPREFIX}libc \ + ${MLPREFIX}elfutils \ + ${MLPREFIX}binutils \ + bison-native flex-native xz \ +" + +do_configure[depends] += "virtual/kernel:do_shared_workdir" + +PROVIDES = "virtual/virtio-ivshmem-block" + +inherit linux-kernel-base kernel-arch + +#kernel 3.1+ supports WERROR to disable warnings as errors +export WERROR = "0" + +do_populate_lic[depends] += "virtual/kernel:do_shared_workdir" + +inherit kernelsrc + + +#PACKAGE_ARCH = "${MACHINE_ARCH}" + +S = "${WORKDIR}" + +RDEPENDS:${PN}-dev = "" + +EXTRA_OEMAKE = " CC="${CC} ${CFLAGS} ${LDFLAGS}" CPP="${CPP}"" + +do_configure() { + echo "configure" +} + +do_compile() { + + oe_runmake CC="${CC} -I${STAGING_DIR_TARGET}/usr/include/ " LD="${LD}" AR="${AR}" \ + -C ${STAGING_KERNEL_DIR}/tools/virtio/ O=${S} virtio-ivshmem-block + +} + +do_install(){ + + install -d ${D}${bindir}/ + install -m 0755 ${STAGING_KERNEL_DIR}/tools/virtio/virtio-ivshmem-block ${D}${bindir} + +} \ No newline at end of file -- cgit 1.2.3-korg