################################################################################ # Common MSM configuration for building GKI-based kernels DEFCONFIG="gki_defconfig" # Configuration options to build images for MSM targets # Must be included AFTER build.config.msm. MODULES_LIST=${KERNEL_DIR}/modules.list.${CONFIG_TARGET} # boot image macros BUILD_BOOT_IMG=1 BUILD_INITRAMFS=1 ABI_DEFINITION=android/abi_gki_aarch64.xml KMI_SYMBOL_LIST=android/abi_gki_aarch64_qcom ADDITIONAL_KMI_SYMBOL_LISTS=" android/abi_gki_aarch64 android/abi_gki_aarch64_core android/abi_gki_aarch64_db845c android/abi_gki_aarch64_exynos android/abi_gki_aarch64_exynosauto android/abi_gki_aarch64_fips140 android/abi_gki_aarch64_galaxy android/abi_gki_aarch64_generic android/abi_gki_aarch64_hikey960 android/abi_gki_aarch64_imx android/abi_gki_aarch64_mtk android/abi_gki_aarch64_oplus android/abi_gki_aarch64_rockchip android/abi_gki_aarch64_unisoc android/abi_gki_aarch64_virtual_device android/abi_gki_aarch64_vivo android/abi_gki_aarch64_xiaomi " KMI_SYMBOL_LIST_MODULE_GROUPING=0 KMI_SYMBOL_LIST_ADD_ONLY=1 KMI_ENFORCED=1 MAKE_GOALS="modules dtbs" GKI_KERNEL_DIR=common GKI_BUILD_CONFIG=${GKI_KERNEL_DIR}/build.config.gki.aarch64 GKI_SKIP_IF_VERSION_MATCHES=1 GKI_SKIP_CP_KERNEL_HDR=1 function sanity_check_abi() { if [ -z "${GKI_BUILD_CONFIG}" ] ; then # When running build_abi.sh, mixed build is explicitly disabled # In that case, turn on some options for trimming and strict mode # which would normally be disabled because they conflict with # mixed build if [ "${VARIANT}" = gki ]; then TRIM_NONLISTED_KMI=1 KMI_SYMBOL_LIST_STRICT_MODE=1 fi return fi if ! diff -q "${ROOT_DIR}/${KERNEL_DIR}/android/abi_gki_aarch64.xml" \ "${ROOT_DIR}/${GKI_KERNEL_DIR}/android/abi_gki_aarch64.xml" ; then echo "Suspected ABI differences between ${BRANCH} and GKI kernel tree." echo "Are trees in sync?" exit 1 fi } append_cmd POST_DEFCONFIG_CMDS 'sanity_check_abi' function build_defconfig_fragments() { if [[ "${VARIANT}" =~ ^(gki|consolidate)$ ]]; then apply_defconfig_fragment ${KERNEL_DIR}/arch/${ARCH}/configs/vendor/${MSM_ARCH}_GKI.config vendor/${MSM_ARCH}-gki_defconfig if [ "${VARIANT}" = gki ]; then return fi GKI_BUILD_CONFIG=common/build.config.gki-debug.aarch64 GKI_GKI_DEFCONFIG_FRAGMENT=common/build.config.gki_consolidate.aarch64 # ABI comparison isn't applicable on consolidate variant unset ABI_DEFINITION apply_defconfig_fragment common/arch/${ARCH}/configs/consolidate.fragment consolidate_defconfig apply_defconfig_fragment ${KERNEL_DIR}/arch/${ARCH}/configs/vendor/${MSM_ARCH}_consolidate.config vendor/${MSM_ARCH}-consolidate_defconfig elif [ "${VARIANT}" = gki-ack ]; then # In gki-only, then using ACK's GKI config directly . ${KERNEL_DIR}/build.config.gki else echo "Variant '${VARIANT}' unsupported by gki" exit 1 fi } build_defconfig_fragments