xref: /rkbin/scripts/checkpatch.sh (revision d4bf74445ad4b69141e0114bc7e548951edfb3dc)
124a8c2d6SJoseph Chen#!/bin/bash
224a8c2d6SJoseph Chenset -e
324a8c2d6SJoseph Chen
424a8c2d6SJoseph Chenpack_loader_image()
524a8c2d6SJoseph Chen{
624a8c2d6SJoseph Chen	local files ini
724a8c2d6SJoseph Chen
824a8c2d6SJoseph Chen	files=`ls ./RKBOOT/*MINIALL*.ini`
99d00b70aSJoseph Chen	for ini in ${files}
1024a8c2d6SJoseph Chen	do
119d00b70aSJoseph Chen		if [ -f "${ini}" ]; then
1224a8c2d6SJoseph Chen			# Ignore unused
139d00b70aSJoseph Chen			if [ "${ini}" = "./RKBOOT/RK302AMINIALL.ini" -o \
149d00b70aSJoseph Chen				 "${ini}" = "./RKBOOT/RK30BMINIALL.ini" -o \
159d00b70aSJoseph Chen				 "${ini}" = "./RKBOOT/RK30MINIALL.ini" -o \
169d00b70aSJoseph Chen				 "${ini}" = "./RKBOOT/RK310BMINIALL.ini" ]; then
1724a8c2d6SJoseph Chen				continue;
1824a8c2d6SJoseph Chen			fi
1924a8c2d6SJoseph Chen
209d00b70aSJoseph Chen			if grep  -q '^PATH=img/' ${ini}; then
2107c86261SJoseph Chen				continue;
2207c86261SJoseph Chen			fi
2307c86261SJoseph Chen
249d00b70aSJoseph Chen			echo "pack Input: ${ini}"
259d00b70aSJoseph Chen			./tools/boot_merger ${ini}
26f3822d68SJoseph Chen			rm -f *loader*.bin *download*.bin *idblock*.img
2724a8c2d6SJoseph Chen			echo
2824a8c2d6SJoseph Chen		fi
2924a8c2d6SJoseph Chen	done
3024a8c2d6SJoseph Chen}
3124a8c2d6SJoseph Chen
3224a8c2d6SJoseph Chenpack_trust_image()
3324a8c2d6SJoseph Chen{
3424a8c2d6SJoseph Chen	local files ini TOS TOS_TA
3524a8c2d6SJoseph Chen
3624a8c2d6SJoseph Chen# Pack 32-bit trust
3724a8c2d6SJoseph Chen	files=`ls ./RKTRUST/*TOS*.ini`
389d00b70aSJoseph Chen	for ini in ${files}
3924a8c2d6SJoseph Chen	do
40075296bdSJoseph Chen		if ! test -s ${ini}; then
41075296bdSJoseph Chen			continue;
42*d4bf7444SJoseph Chen		elif ! grep  -q '^TOS/' ${ini}; then
43*d4bf7444SJoseph Chen			continue;
44*d4bf7444SJoseph Chen		elif grep  -q '^PATH=img/' ${ini}; then
4507c86261SJoseph Chen			continue;
4607c86261SJoseph Chen		fi
4707c86261SJoseph Chen
489d00b70aSJoseph Chen		if [ -f "${ini}" ]; then
499d00b70aSJoseph Chen			echo "pack Input: ${ini}"
5024a8c2d6SJoseph Chen
5124a8c2d6SJoseph Chen			# Parse orignal path
529d00b70aSJoseph Chen			TOS=`sed -n "/TOS=/s/TOS=//p" ${ini}|tr -d '\r'`
539d00b70aSJoseph Chen			TOS_TA=`sed -n "/TOSTA=/s/TOSTA=//p" ${ini}|tr -d '\r'`
5424a8c2d6SJoseph Chen
5524a8c2d6SJoseph Chen			# replace "./tools/rk_tools/" with "./" to compatible legacy ini content of rkdevelop branch
5624a8c2d6SJoseph Chen			TOS=$(echo ${TOS} | sed "s/tools\/rk_tools\//\.\//g")
5724a8c2d6SJoseph Chen			TOS_TA=$(echo ${TOS_TA} | sed "s/tools\/rk_tools\//\.\//g")
5824a8c2d6SJoseph Chen
599d00b70aSJoseph Chen			if [ x${TOS_TA} != x -a x${TOS} != x ]; then
6024a8c2d6SJoseph Chen				./tools/loaderimage --pack --trustos ${TOS} ./trust.img 0x68400000
6124a8c2d6SJoseph Chen				./tools/loaderimage --pack --trustos ${TOS_TA} ./trust_with_ta.img 0x68400000
629d00b70aSJoseph Chen			elif [ ${TOS} ]; then
6324a8c2d6SJoseph Chen				./tools/loaderimage --pack --trustos ${TOS} ./trust.img 0x68400000
649d00b70aSJoseph Chen			elif [ ${TOS_TA} ]; then
6524a8c2d6SJoseph Chen				./tools/loaderimage --pack --trustos ${TOS_TA} ./trust.img 0x68400000
6624a8c2d6SJoseph Chen			else
6724a8c2d6SJoseph Chen				exit 1
6824a8c2d6SJoseph Chen			fi
69f3822d68SJoseph Chen			rm -f trust*.img
7024a8c2d6SJoseph Chen			echo
7124a8c2d6SJoseph Chen		fi
7224a8c2d6SJoseph Chen	done
7324a8c2d6SJoseph Chen
7424a8c2d6SJoseph Chen# Pack 64-bit trust
7524a8c2d6SJoseph Chen	files=`ls ./RKTRUST/*TRUST*.ini`
769d00b70aSJoseph Chen	for ini in ${files}
7724a8c2d6SJoseph Chen	do
789d00b70aSJoseph Chen		if grep  -q '^PATH=img/' ${ini}; then
7907c86261SJoseph Chen			continue;
8007c86261SJoseph Chen		fi
8107c86261SJoseph Chen
829d00b70aSJoseph Chen		if [ -f "${ini}" ]; then
839d00b70aSJoseph Chen			echo "pack Input: ${ini}"
849d00b70aSJoseph Chen			./tools/trust_merger ${ini}
8524a8c2d6SJoseph Chen			rm trust*.img
8624a8c2d6SJoseph Chen			echo
8724a8c2d6SJoseph Chen		fi
8824a8c2d6SJoseph Chen	done
8924a8c2d6SJoseph Chen}
9024a8c2d6SJoseph Chen
917448aaf2SJoseph Chencheck_dirty()
927448aaf2SJoseph Chen{
937448aaf2SJoseph Chen	for file in `find -name '*spl*.bin' -o -name '*tpl*.bin' -o -name '*usbplug*.bin'`; do
947448aaf2SJoseph Chen		if strings ${file} | grep '\-dirty ' ; then
957448aaf2SJoseph Chen			echo "ERROR: ${file} is dirty"
967448aaf2SJoseph Chen			exit 1
977448aaf2SJoseph Chen		fi
987448aaf2SJoseph Chen	done
997448aaf2SJoseph Chen}
1007448aaf2SJoseph Chen
101c0efc7efSJoseph Chencheck_stripped()
102c0efc7efSJoseph Chen{
103c0efc7efSJoseph Chen	for elf in `find -name '*bl31*.elf'`; do
104c0efc7efSJoseph Chen		info=`file ${elf}`
105c0efc7efSJoseph Chen		if echo ${info} | grep -q "not stripped" ; then
106c0efc7efSJoseph Chen			echo "ERROR: ${elf} is not stripped"
107c0efc7efSJoseph Chen			exit 1
108c0efc7efSJoseph Chen		fi
109c0efc7efSJoseph Chen	done
110c0efc7efSJoseph Chen}
111c0efc7efSJoseph Chen
11224a8c2d6SJoseph Chenfinish()
11324a8c2d6SJoseph Chen{
11424a8c2d6SJoseph Chen	echo "Packing loader and trust successfully."
11524a8c2d6SJoseph Chen	echo
11624a8c2d6SJoseph Chen}
11724a8c2d6SJoseph Chen
1187448aaf2SJoseph Chencheck_dirty
119c0efc7efSJoseph Chencheck_stripped
12024a8c2d6SJoseph Chenpack_loader_image
12124a8c2d6SJoseph Chenpack_trust_image
12224a8c2d6SJoseph Chenfinish
123