From e976d6ca63faa8c855045d18707f7de5b33fa003 Mon Sep 17 00:00:00 2001 From: Anant Goel Date: Wed, 14 Jun 2023 16:20:22 -0700 Subject: [PATCH] build.config.msm: Add a build config for the Auto Gunyah VM targets Add support for building a Gunyah based VM over Automotive targets. Change-Id: I62ead04e4c40b8d4e35d471c210c01d12e7c8bf1 Signed-off-by: Anant Goel --- build.config.msm.autoghgvm | 58 ++++++++++++++++++++ modules.list.msm.autoghgvm | 26 +++++++++ modules.systemdlkm_blocklist.msm.autoghgvm | 3 ++ modules.vendor_blocklist.msm.autoghgvm | 63 ++++++++++++++++++++++ 4 files changed, 150 insertions(+) create mode 100644 build.config.msm.autoghgvm create mode 100644 modules.list.msm.autoghgvm create mode 100644 modules.systemdlkm_blocklist.msm.autoghgvm create mode 100644 modules.vendor_blocklist.msm.autoghgvm diff --git a/build.config.msm.autoghgvm b/build.config.msm.autoghgvm new file mode 100644 index 000000000000..6df974c0880d --- /dev/null +++ b/build.config.msm.autoghgvm @@ -0,0 +1,58 @@ +################################################################################ +## Inheriting configs from ACK +. ${ROOT_DIR}/common/build.config.common +. ${ROOT_DIR}/common/build.config.aarch64 + +################################################################################ +## Variant setup +MSM_ARCH=autoghgvm +VARIANTS=(defconfig debug_defconfig) +[ -z "${VARIANT}" ] && VARIANT=debug_defconfig + +if [ -e "${ROOT_DIR}/msm-kernel" -a "${KERNEL_DIR}" = "common" ]; then + KERNEL_DIR="msm-kernel" +fi + +BOOT_IMAGE_HEADER_VERSION=2 +BASE_ADDRESS=0x80000000 +PAGE_SIZE=4096 +BUILD_VENDOR_DLKM=1 +SUPER_IMAGE_SIZE=0x10000000 +TRIM_UNUSED_MODULES=1 +BUILD_INIT_BOOT_IMG=1 + +[ -z "${DT_OVERLAY_SUPPORT}" ] && DT_OVERLAY_SUPPORT=1 + +if [ "${KERNEL_CMDLINE_CONSOLE_AUTO}" != "0" ]; then + KERNEL_VENDOR_CMDLINE+=' console=hvc0 androidboot.first_stage_console=1 ' +fi + +KERNEL_VENDOR_CMDLINE+=' bootconfig ' + +################################################################################ +## Inheriting MSM configs +. ${KERNEL_DIR}/build.config.msm.common + +# Common MSM configuration for using GKI defconfig as a fragment +DEFCONFIG="gki_defconfig" + +# boot image macros +BUILD_BOOT_IMG=1 +BUILD_INITRAMFS=1 + +# Apply the perf and debug fragments over the GKI defconfig for a hybrid approach +function build_defconfig_fragments() { + if [[ "${VARIANT}" =~ ^(defconfig|debug_defconfig)$ ]]; then + apply_defconfig_fragment ${KERNEL_DIR}/arch/${ARCH}/configs/vendor/${MSM_ARCH}.config vendor/${MSM_ARCH}_defconfig + + if [ "${VARIANT}" = perf_defconfig ]; then + return + fi + + apply_defconfig_fragment ${KERNEL_DIR}/arch/${ARCH}/configs/vendor/${MSM_ARCH}_debug.config vendor/${MSM_ARCH}-debug_defconfig + else + echo "Variant '${VARIANT}' unsupported" + exit 1 + fi +} +build_defconfig_fragments diff --git a/modules.list.msm.autoghgvm b/modules.list.msm.autoghgvm new file mode 100644 index 000000000000..8f11e877681d --- /dev/null +++ b/modules.list.msm.autoghgvm @@ -0,0 +1,26 @@ +gh_arm_drv.ko +qcom-scm.ko +pinctrl-msm.ko +clk-qcom.ko +clk-dummy.ko +mem_buf_dev.ko +mem_buf.ko +qcom_wdt_core.ko +virtio_mmio.ko +virtio_blk.ko +rename_devices.ko +virtio_input.ko +gh_msgq.ko +gh_dbl.ko +gh_rm_drv.ko +hvc_gunyah.ko +qcom_dma_heaps.ko +failover.ko +net_failover.ko +virtio_net.ko +gh_virt_wdt.ko +gh_ctrl.ko +gh_irq_lend.ko +gh_mem_notifier.ko +gh_guest_pops.ko +msm_hab.ko diff --git a/modules.systemdlkm_blocklist.msm.autoghgvm b/modules.systemdlkm_blocklist.msm.autoghgvm new file mode 100644 index 000000000000..c2a067991945 --- /dev/null +++ b/modules.systemdlkm_blocklist.msm.autoghgvm @@ -0,0 +1,3 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (c) 2023, Qualcomm Innovation Center, Inc. All rights reserved. + diff --git a/modules.vendor_blocklist.msm.autoghgvm b/modules.vendor_blocklist.msm.autoghgvm new file mode 100644 index 000000000000..da1235ad472f --- /dev/null +++ b/modules.vendor_blocklist.msm.autoghgvm @@ -0,0 +1,63 @@ +# SPDX-License-Identifier: GPL-2.0-only +# Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved. + +blocklist 8250_of +blocklist adc-tm +blocklist atomic64_test +blocklist can-bcm +blocklist can-gw +blocklist can-raw +blocklist dummy-cpufreq +blocklist dummy_hcd +blocklist dummy_hcd +blocklist e4000 +blocklist fc0011 +blocklist fc0012 +blocklist fc0013 +blocklist fc2580 +blocklist hsi2s +blocklist it913x +blocklist kheaders +blocklist lkdtm +blocklist llcc_perfmon +blocklist locktorture +blocklist m88rs6000t +blocklist max2165 +blocklist mc44s803 +blocklist mmrm_test_module +blocklist msi001 +blocklist mt2060 +blocklist mt2063 +blocklist mt20xx +blocklist mt2131 +blocklist mt2266 +blocklist mxl301rf +blocklist qm1d1b0004 +blocklist qm1d1c0042 +blocklist qt1010 +blocklist r820t +blocklist rcutorture +blocklist rtc-test +blocklist si2157 +blocklist tda18212 +blocklist tda18218 +blocklist tda18250 +blocklist tda18271 +blocklist tda827x +blocklist tda8290 +blocklist tda9887 +blocklist tea5761 +blocklist tea5767 +blocklist test_user_copy +blocklist torture +blocklist tua9001 +blocklist tuner-simple +blocklist tuner-types +blocklist tuner-xc2028 +blocklist vmw_vsock_virtio_transport +blocklist vmw_vsock_virtio_transport_common +blocklist vsock +blocklist vsock_diag +blocklist xc4000 +blocklist xc5000 +blocklist limits_stat