bazel: support for bazel build in the new kernel [1/1]

PD#SWPL-122095

Problem:
unable to use bazel build in the new kernel

Solution:
support for bazel build in the new kernel

Verify:
local

Change-Id: I6ee258cc46c839e000c6cc35769fa8104b14436c
Signed-off-by: Wanwei Jiang <wanwei.jiang@amlogic.com>
diff --git a/amlogic.bzl b/amlogic.bzl
index b6b851f..607a950 100644
--- a/amlogic.bzl
+++ b/amlogic.bzl
@@ -63,7 +63,6 @@
     "common_drivers/drivers/media/aml_media.ko",
     "common_drivers/drivers/media/camera/amlogic-camera.ko",
     "common_drivers/drivers/memory_debug/amlogic-memory-debug.ko",
-    "common_drivers/drivers/memory_ext/page_trace.ko",
     "common_drivers/drivers/mmc/host/amlogic-mmc.ko",
     "common_drivers/drivers/net/ethernet/stmicro/stmmac/amlogic-phy-debug.ko",
     "common_drivers/drivers/net/mdio/amlogic-mdio-g12a.ko",
@@ -120,7 +119,7 @@
         outs = _AMLOGIC_OUTS,
         dtbo_srcs = _AMLOGIC_DTBOS,
         define_abi_targets = True,
-        kmi_symbol_list = "//common:android/abi_gki_aarch64_db845c",
+        kmi_symbol_list = "//common:android/abi_gki_aarch64_amlogic",
         kmi_symbol_list_add_only = True,
         build_config = "common_drivers/build.config.amlogic.bazel",
         module_outs = _AMLOGIC_MODULES,
diff --git a/amlogic_utils.sh b/amlogic_utils.sh
index 56b98ce..bae3e8e 100644
--- a/amlogic_utils.sh
+++ b/amlogic_utils.sh
@@ -650,18 +650,26 @@
 			fi
 		done
 
-		for module in `find ${DIST_DIR} -type f -name "*.ko"`; do
+		while read module
+		do
 			module_name=`echo ${module} | rev | cut -d '/' -f 1 | rev`
-			if [[ `grep ${module_name} ${DIST_DIR}/modules.load` ]]; then
-				cp ${module} ${OUT_AMLOGIC_DIR}/modules
+			if [[ `echo ${module} | grep "^kernel\/"` ]]; then
+				if [[ -f ${DIST_DIR}/${module_name} ]]; then
+					cp ${DIST_DIR}/${module_name} ${OUT_AMLOGIC_DIR}/modules
+				else
+					module=`find ${digit_output}/execroot/ -name ${module_name} | grep "amlogic"`
+					cp ${module} ${OUT_AMLOGIC_DIR}/modules
+				fi
+			elif [[ `echo ${module} | grep "^extra\/"` ]]; then
+				cp ${DIST_DIR}/${module_name} ${OUT_AMLOGIC_DIR}/ext_modules
 			else
-				cp ${module} ${OUT_AMLOGIC_DIR}/ext_modules
+				echo "warning unrecognized module: ${module}"
 			fi
-		done
+		done < ${DIST_DIR}/modules.load
 
 		dep_file=`find ${digit_output}/execroot/ -name *.dep | grep "amlogic"`
 		cp ${dep_file} ${OUT_AMLOGIC_DIR}/modules/full_modules.dep
-		grep -E "^kernel\/|^${common_drivers}\/" ${dep_file} > ${OUT_AMLOGIC_DIR}/modules/modules.dep
+		grep -E "^kernel\/" ${dep_file} > ${OUT_AMLOGIC_DIR}/modules/modules.dep
 		touch ${module} ${OUT_AMLOGIC_DIR}/ext_modules/ext_modules.order
 		for order_file in `find ${digit_output}/execroot/ -name "modules.order.*" | grep "amlogic"`; do
 			echo "# ${order_file}" >> ${OUT_AMLOGIC_DIR}/ext_modules/ext_modules.order
diff --git a/android/abi_gki_aarch64_amlogic b/android/abi_gki_aarch64_amlogic
index 3c2cf60..10e80ed 100644
--- a/android/abi_gki_aarch64_amlogic
+++ b/android/abi_gki_aarch64_amlogic
@@ -1,3 +1,13 @@
-# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-
-[abi_symbol_list]
+  dmabuf_page_pool_get_size
+  unregister_kprobe
+  unregister_kretprobe
+  __traceiter_android_rvh_arm64_serror_panic
+  __traceiter_android_rvh_do_sea
+  __traceiter_android_vh_cma_drain_all_pages_bypass
+  __traceiter_android_vh_mem_cgroup_alloc
+  __tracepoint_android_rvh_arm64_serror_panic
+  __tracepoint_android_rvh_do_sea
+  __tracepoint_android_vh_cma_drain_all_pages_bypass
+  __tracepoint_android_vh_mem_cgroup_alloc
+  css_next_descendant_pre
+  memory_cgrp_subsys_enabled_key
diff --git a/android/abi_gki_aarch64_amlogic.10 b/android/abi_gki_aarch64_amlogic.10
index ee1a02a..e69de29 100644
--- a/android/abi_gki_aarch64_amlogic.10
+++ b/android/abi_gki_aarch64_amlogic.10
@@ -1,3 +0,0 @@
-# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-
-[abi_symbol_list]
\ No newline at end of file
diff --git a/android/abi_gki_aarch64_amlogic.debug b/android/abi_gki_aarch64_amlogic.debug
index 3c2cf60..e69de29 100644
--- a/android/abi_gki_aarch64_amlogic.debug
+++ b/android/abi_gki_aarch64_amlogic.debug
@@ -1,3 +0,0 @@
-# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-
-[abi_symbol_list]
diff --git a/android/abi_gki_aarch64_amlogic.external b/android/abi_gki_aarch64_amlogic.external
index aa553aa..e69de29 100644
--- a/android/abi_gki_aarch64_amlogic.external
+++ b/android/abi_gki_aarch64_amlogic.external
@@ -1,119 +0,0 @@
-# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-
-[abi_symbol_list]
-# wlan
-  cfg80211_ft_event
-  cfg80211_rx_unprot_mlme_mgmt
-  cfg80211_pmksa_candidate_notify
-  cfg80211_gtk_rekey_notify
-  cfg80211_assoc_failure
-  cfg80211_tdls_oper_request
-  cfg80211_ft_event
-  cfg80211_rx_unprot_mlme_mgmt
-  cfg80211_pmksa_candidate_notify
-  cfg80211_gtk_rekey_notify
-  cfg80211_assoc_failure
-  cfg80211_tdls_oper_request
-  cfg80211_put_bss
-  cfg80211_disconnected
-  ieee80211_get_channel_khz
-  cfg80211_roamed
-  cfg80211_ibss_joined
-  ieee80211_channel_to_freq_khz
-  cfg80211_new_sta
-  cfg80211_del_sta_sinfo
-  cfg80211_michael_mic_failure
-  wiphy_unregister
-  wiphy_free
-  cfg80211_chandef_create
-  cfg80211_ch_switch_notify
-  __cfg80211_alloc_event_skb
-  __cfg80211_send_event_skb
-  ieee80211_hdrlen
-  cfg80211_get_bss
-  regulatory_hint
-  cfg80211_connect_done
-  ieee80211_freq_khz_to_channel
-  cfg80211_vendor_cmd_reply
-  __cfg80211_alloc_reply_skb
-  wiphy_register
-  cfg80211_unlink_bss
-  cfg80211_scan_done
-  cfg80211_calculate_bitrate
-  wiphy_new_nm
-  cfg80211_inform_bss_frame_data
-  cfg80211_sched_scan_results
-  cfg80211_ready_on_channel
-  cfg80211_remain_on_channel_expired
-  cfg80211_rx_mgmt_ext
-  cfg80211_mgmt_tx_status_ext
-  regulatory_set_wiphy_regd_sync
-  cfg80211_put_bss
-  cfg80211_disconnected
-  ieee80211_get_channel_khz
-  cfg80211_roamed
-  cfg80211_ibss_joined
-  ieee80211_channel_to_freq_khz
-  cfg80211_new_sta
-  cfg80211_del_sta_sinfo
-  cfg80211_michael_mic_failure
-  wiphy_unregister
-  wiphy_free
-  cfg80211_chandef_create
-  cfg80211_ch_switch_notify
-  __cfg80211_alloc_event_skb
-  __cfg80211_send_event_skb
-  ieee80211_hdrlen
-  cfg80211_get_bss
-  regulatory_hint
-  cfg80211_connect_done
-  ieee80211_freq_khz_to_channel
-  cfg80211_vendor_cmd_reply
-  __cfg80211_alloc_reply_skb
-  wiphy_register
-  cfg80211_unlink_bss
-  cfg80211_scan_done
-  cfg80211_calculate_bitrate
-  wiphy_new_nm
-  cfg80211_inform_bss_frame_data
-  cfg80211_sched_scan_results
-  cfg80211_ready_on_channel
-  cfg80211_remain_on_channel_expired
-  cfg80211_rx_mgmt_ext
-  cfg80211_mgmt_tx_status_ext
-  regulatory_set_wiphy_regd_sync
-  cfg80211_put_bss
-  cfg80211_disconnected
-  ieee80211_get_channel_khz
-  cfg80211_roamed
-  cfg80211_ibss_joined
-  ieee80211_channel_to_freq_khz
-  cfg80211_new_sta
-  cfg80211_del_sta_sinfo
-  cfg80211_michael_mic_failure
-  wiphy_unregister
-  wiphy_free
-  cfg80211_chandef_create
-  cfg80211_ch_switch_notify
-  __cfg80211_alloc_event_skb
-  __cfg80211_send_event_skb
-  ieee80211_hdrlen
-  cfg80211_get_bss
-  regulatory_hint
-  cfg80211_connect_done
-  ieee80211_freq_khz_to_channel
-  cfg80211_vendor_cmd_reply
-  __cfg80211_alloc_reply_skb
-  wiphy_register
-  cfg80211_unlink_bss
-  cfg80211_scan_done
-  cfg80211_calculate_bitrate
-  wiphy_new_nm
-  cfg80211_inform_bss_frame_data
-  cfg80211_sched_scan_results
-  cfg80211_ready_on_channel
-  cfg80211_remain_on_channel_expired
-  cfg80211_rx_mgmt_ext
-  cfg80211_mgmt_tx_status_ext
-  regulatory_set_wiphy_regd_sync
-  cfg80211_ch_switch_started_notify
diff --git a/android/abi_gki_aarch64_amlogic.illegal b/android/abi_gki_aarch64_amlogic.illegal
index ee1a02a..e69de29 100644
--- a/android/abi_gki_aarch64_amlogic.illegal
+++ b/android/abi_gki_aarch64_amlogic.illegal
@@ -1,3 +0,0 @@
-# SPDX-License-Identifier: (GPL-2.0+ OR MIT)
-
-[abi_symbol_list]
\ No newline at end of file
diff --git a/build.config.amlogic.bazel b/build.config.amlogic.bazel
index ed99b8b..9d4fe34 100644
--- a/build.config.amlogic.bazel
+++ b/build.config.amlogic.bazel
@@ -20,7 +20,11 @@
 		echo "CONFIG_DEVTMPFS=y" >> ${temp_file}
 	fi
 
-	KCONFIG_CONFIG=${KCONFIG_DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/common_drivers/arch/arm64/configs/amlogic_gki.fragment ${temp_file}
+	if [[ ${GKI_CONFIG} == gki_20 ]]; then
+		KCONFIG_CONFIG=${KCONFIG_DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/arch/arm64/configs/amlogic_gki.fragment ${temp_file}
+	else
+		KCONFIG_CONFIG=${KCONFIG_DEFCONFIG} ${ROOT_DIR}/${KERNEL_DIR}/scripts/kconfig/merge_config.sh -m -r ${ROOT_DIR}/${KERNEL_DIR}/arch/arm64/configs/gki_defconfig ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/arch/arm64/configs/amlogic_gki.fragment ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/arch/arm64/configs/amlogic_gki.10 ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/arch/arm64/configs/amlogic_gki.debug ${temp_file}
+	fi
 
 	rm ${temp_file}
 }
@@ -34,4 +38,5 @@
 android_overlay_dt.dtbo
 "
 
+KMI_SYMBOL_LIST=android/abi_gki_aarch64_amlogic
 GKI_MODULES_LIST=android/gki_aarch64_modules
diff --git a/mk.sh b/mk.sh
index 954bc90..aa2abe3 100755
--- a/mk.sh
+++ b/mk.sh
@@ -307,10 +307,19 @@
 else
 	if [[ "${FULL_KERNEL_VERSION}" != "common13-5.15" && "${ARCH}" = "arm64" ]]; then
 		if [[ ${BAZEL} == 1 ]]; then
-			args="$@ --lto=${LTO}"
+			args="$@ --lto=${LTO} --allow_undeclared_modules"
 			PROJECT_DIR=${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/project
 			[[ -d ${PROJECT_DIR} ]] || mkdir -p ${PROJECT_DIR}
 
+			pushd ${ROOT_DIR}/${KERNEL_DIR}
+			git checkout android/abi_gki_aarch64_amlogic
+			cat ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/android/abi_gki_aarch64_amlogic >> android/abi_gki_aarch64_amlogic
+			cat ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/android/abi_gki_aarch64_amlogic.10 >> android/abi_gki_aarch64_amlogic
+			cat ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/android/abi_gki_aarch64_amlogic.debug >> android/abi_gki_aarch64_amlogic
+			cat ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/android/abi_gki_aarch64_amlogic.external >> android/abi_gki_aarch64_amlogic
+			cat ${ROOT_DIR}/${KERNEL_DIR}/${COMMON_DRIVERS_DIR}/android/abi_gki_aarch64_amlogic.illegal >> android/abi_gki_aarch64_amlogic
+			popd
+
 			if [[ ! -f ${PROJECT_DIR}/build.config.project ]]; then
 				touch ${PROJECT_DIR}/build.config.project
 				echo "# SPDX-License-Identifier: GPL-2.0" 	>  ${PROJECT_DIR}/build.config.project
@@ -327,8 +336,6 @@
 
 			if [[ ${GKI_CONFIG} == gki_20 ]]; then
 				[[ -n ${ANDROID_PROJECT} ]] && sed -i "/GKI_BUILD_CONFIG_FRAGMENT/d" ${PROJECT_DIR}/build.config.gki10
-			else
-				args="${args} --allow_undeclared_modules"
 			fi
 
 			if [[ ! -f ${PROJECT_DIR}/project.bzl ]]; then
@@ -365,6 +372,8 @@
 
 			sed -i "/GKI_BUILD_CONFIG_FRAGMENT/d" ${PROJECT_DIR}/build.config.gki10
 
+			echo "========================================================"
+			echo "after compiling with bazel and organizing the document"
 			source ${KERNEL_DIR}/build.config.constants
 			export COMMON_OUT_DIR=$(readlink -m ${OUT_DIR:-${ROOT_DIR}/out${OUT_DIR_SUFFIX}/${BRANCH}})
 			export DIST_DIR=$(readlink -m ${DIST_DIR:-${COMMON_OUT_DIR}/dist})