| ################################################################################ |
| # 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.<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 |
| ADDITIONAL_KMI_SYMBOL_LISTS=" |
| android/abi_gki_aarch64_virtual_device |
| android/abi_gki_aarch64_virtual_device_removed |
| android/abi_gki_aarch64_db845c |
| android/abi_gki_aarch64_fips140 |
| android/abi_gki_aarch64_pixel |
| android/abi_gki_aarch64_mtktv |
| android/abi_gki_aarch64_qcom |
| " |
| KMI_SYMBOL_LIST_MODULE_GROUPING=0 |
| KMI_SYMBOL_LIST_ADD_ONLY=1 |
| KMI_ENFORCED=1 |
| |
| MAKE_GOALS="modules dtbs" |
| GKI_BUILD_CONFIG=common/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 |
| PREPARE_SYSTEM_DLKM=0 |
| if [ "${VARIANT}" = gki ]; then |
| TRIM_NONLISTED_KMI=1 |
| KMI_SYMBOL_LIST_STRICT_MODE=1 |
| fi |
| return |
| 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_BUILD_CONFIG_FRAGMENT=msm-kernel/build.config.gki_consolidate.aarch64 |
| # ABI comparison isn't applicable on consolidate variant |
| unset ABI_DEFINITION |
| apply_defconfig_fragment ${KERNEL_DIR}/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 |