blob: 54f03b834f51bdf0ffcebaebd1f1105631861f5c [file] [log] [blame]
#!/bin/bash
exec_name=$0
set -o errtrace
trap 'echo Fatal error: script ${exec_name} aborting at line $LINENO, command \"$BASH_COMMAND\" returned $?; exit 1' ERR
KERNEL_ARCH=arm64
LOCAL_PATH=$(pwd)
CROSS_COMPILE=${LOCAL_PATH}/../prebuilt/toolchain/aarch64/bin/aarch64-cros-linux-gnu-
KDIR=${LOCAL_PATH}/../kernel
cpu_num=$(grep -c processor /proc/cpuinfo)
GPU_VERSION_BIFROST=r44p0
GPU_LOW_MEM=0
EXTRA_INCLUDE=-I${LOCAL_PATH}/bifrost/${GPU_VERSION_BIFROST}/kernel/include
echo "make mali module KERNEL_ARCH is ${KERNEL_ARCH}"
function usage(){
echo "Usage: ${exec_name} <product> [workspace path]"
echo "supported products: sabrina"
echo "Note: if [workspace path] is not set, it still builds"
}
function run_module_make(){
pushd .
echo "***** building $1 *****"
case $1 in
bifrost)
make -C ${KDIR} M=${LOCAL_PATH}/bifrost/${GPU_VERSION_BIFROST}/kernel/drivers/gpu/arm/midgard \
ARCH=${KERNEL_ARCH} CROSS_COMPILE=${CROSS_COMPILE} \
EXTRA_CFLAGS="-DCONFIG_MALI_LOW_MEM=${GPU_LOW_MEM} -DCONFIG_MALI_REAL_HW -DCONFIG_MALI_PLATFORM_DEVICETREE -DCONFIG_MALI_MIDGARD_DVFS -DCONFIG_MALI_BACKEND=gpu -DCONFIG_MALI_GATOR_SUPPORT " \
CONFIG_MALI_MIDGARD=m CONFIG_MALI_PLATFORM_DEVICETREE=y CONFIG_MALI_MIDGARD_DVFS=y CONFIG_MALI_BACKEND=gpu CONFIG_MALI_GATOR_SUPPORT=y CONFIG_MALI_PLATFORM_NAME="devicetree" CONFIG_MALI_REAL_HW=y \
EXTRA_CFLAGS+="-Wno-error=larger-than=16384 -DCONFIG_MALI_DMA_BUF_MAP_ON_DEMAND=1 -DCONFIG_MALI_DMA_BUF_LEGACY_COMPAT=0 ${EXTRA_INCLUDE}" \
EXTRA_LDFLAGS+="--strip-debug" \
-j$cpu_num modules
;;
esac
echo "***** completed building *****"
popd
}
if (( $# < 1 ))
then
usage
exit 2
fi
readonly product=$1
readonly workspace_path=$2
case $product in
sabrina)
run_module_make bifrost
if [ ! -z $workspace_path ]; then
prebuilt_path=${workspace_path}/device/google/sabrina-kernel
mali_ko_path=${prebuilt_path}/lib/modules
mkdir -p ${mali_ko_path}
cp -v ${LOCAL_PATH}/bifrost/${GPU_VERSION_BIFROST}/kernel/drivers/gpu/arm/midgard/mali_kbase.ko ${mali_ko_path}/mali.ko
fi
;;
*)
echo "unknown product: $product"
exit 1
esac