From 4d9d7b0fc155fd9c30784ec2b1896796086ba575 Mon Sep 17 00:00:00 2001 From: Anmol Date: Tue, 27 Jul 2021 22:15:00 +0200 Subject: meta-agl-jailhouse: Update the Jailhouse configuration files The current state and Information about the patch: - Updated Jailhouse root-cell(qemu-agl.c), apic-demo(agl-apic-demo.c), ivshmem-demo(agl-ivshmem-demo.c). - Jailhouse non-root cell(agl-linux-x86-demo.c) is also working, but need some more tweak for UART redirection. - Linux Kernel updated to the latest `queues/jailhouse` kernel branch. - Updated the `recipes-kernel` structure to a more custom one. - Updated conf/local.conf according to new `recipes-kernel` structure. - Removed the Linux Kernel patches from the `recipes-kernel` as updated kernel already contain those patches. This patch is the initial block for the virtio-blk support. v2 (Anmol): Add descriptive comments for serial in cell configuration files v3 (Anmol): Remove the ` IMAGE_INSTALL_append` and `EXTRA_IMAGE_FEATURES` from `50_local.conf.inc` v4 (Anmol): Minor changes in `50_local.conf.inc` v5 (jsmoeller): add meta-arm-toolchain to fix layer dependencies v6 (jsmoeller): remove linux-yocto_5.14%.bbappend v7 (Anmol): - Update the `SRCREV` for Jailhouse in `jailhous_git.bb` - Remove the patch `configs: arm64: Add support for RPi4 with more than 1G of memory` from `SRC_URI` in `jailhouse_git.bb` - Add the helper-scripts for the `runqemu-x86_64` and non-root linux cell. v8 (Anmol): Updated the `agl-ivshmem-demo.c`. v9 (Anmol): - Resolve build errors and update `jailhouse_git.bb`. - Add `PERF_forcevariable := "bash"` in `50_local.conf.inc`. v10 (Anmol): Disable perf build. v11 (jsmoeller): update qemu-agl.c to the 2G setup of runqemu after runtime test v12 (jsmoeller): add sample inmate tarball (to be used later) Change-Id: Idfa3e513488b5ecc8dfe9573f15c4b1c0edfd54f Signed-off-by: Anmol Signed-off-by: Jan-Simon Moeller --- .../feature/agl-jailhouse/50_bblayers.conf.inc | 4 +--- templates/feature/agl-jailhouse/50_local.conf.inc | 22 +++++++++++++++++++--- 2 files changed, 20 insertions(+), 6 deletions(-) (limited to 'templates') diff --git a/templates/feature/agl-jailhouse/50_bblayers.conf.inc b/templates/feature/agl-jailhouse/50_bblayers.conf.inc index d3ed39d5..c8963ac2 100644 --- a/templates/feature/agl-jailhouse/50_bblayers.conf.inc +++ b/templates/feature/agl-jailhouse/50_bblayers.conf.inc @@ -1,7 +1,5 @@ BBLAYERS =+ " \ ${METADIR}/meta-agl-devel/meta-agl-jailhouse \ ${METADIR}/bsp/meta-arm/meta-arm \ + ${METADIR}/bsp/meta-arm/meta-arm-toolchain \ " - -# Up-to-date meta-arm depends on meta-arm-toolchain -#BBLAYERS =+ "${METADIR}/bsp/meta-arm/meta-arm-toolchain" diff --git a/templates/feature/agl-jailhouse/50_local.conf.inc b/templates/feature/agl-jailhouse/50_local.conf.inc index 081c53fb..620c0a5f 100644 --- a/templates/feature/agl-jailhouse/50_local.conf.inc +++ b/templates/feature/agl-jailhouse/50_local.conf.inc @@ -6,8 +6,8 @@ RPI_KERNEL_DEVICETREE_OVERLAYS_append = " overlays/jailhouse-memory.dtbo" #Qemu Boot Config # qemu flags for jailhouse -QB_OPT_APPEND_append = " -device intel-iommu,intremap=on,x-buggy-eim=on -device intel-hda,addr=1b.0 -device hda-duplex" -QB_MEM = "-m 1G" +QB_OPT_APPEND_append = " -device intel-iommu,intremap=on,x-buggy-eim=on -device intel-hda,addr=1b.0 -device hda-duplex -serial none -serial stdio -serial telnet:localhost:4321,server,nowait -serial telnet:localhost:5432,server,nowait" +QB_MEM = "-m 2048" # use override with higher priority than x86-64 QB_MACHINE_qemux86-64 = "-machine q35,kernel_irqchip=split -smp 4" @@ -17,10 +17,26 @@ QB_CPU_KVM_qemux86-64 = "-cpu host,-kvm-pv-eoi,-kvm-pv-ipi,-kvm-asyncpf,-kvm-ste QB_KERNEL_CMDLINE_APPEND_append = " intel_iommu=off memmap=82M$0x22000000" QB_KERNEL_ROOT = "/dev/vda" -QB_SERIAL_OPT = "-serial none -serial stdio -serial telnet:localhost:4321,server,nowait" +QB_SERIAL_OPT = "-serial none -serial stdio -serial telnet:localhost:4321,server,nowait -serial telnet:localhost:5432,server,nowait -vga virtio" # jailhouse needs ttyS1 in the agl-qemu.cell as debug console. # restrict the SERIAL_CONSOLES to ttyS0 only SERIAL_CONSOLES = "115200;ttyS0" KERNEL_CONSOLE = "ttyS0" + +# For Kernel modules +MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "kernel-modules" + +# For a custom jailhouse kernel from git.kiszka.org +PREFERRED_PROVIDER_virtual/kernel = "linux-jailhouse-custom" + +# prevent most external kernel module from being built +MOST_DRIVERS = "" +LTTNGUST_forcevariable := "" +LTTNGTOOLS_forcevariable := "" +LTTNGMODULES_forcevariable := "" + +# Disable perf build +PERF_forcevariable := "" + -- cgit 1.2.3-korg