aboutsummaryrefslogtreecommitdiff
path: root/platforms-fvp-test.sh
blob: 01c9e2ac03b460bd0b61f1292cebab9ccd4cf314 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
#!/bin/bash

arch=`uname -m`

if [ "$arch" != "x86_64" ]; then
	echo "ERROR: This script if for x86 machines only"
	exit 1
fi

function banner
{
	echo "********************************************************************************"
	echo "********************************************************************************"
	echo "****"
	echo "**** $1"
	echo "****"
	echo "**** After typing shutdown into the model's shell, press CTRL-C here to kill the"
	echo "**** model and run the next instance"
	echo "****"
	echo "********************************************************************************"
	echo "********************************************************************************"
}

function run_test
{
	aarch=$1
	dir=$2
	str="$*"

	if [ -e $dir ]; then
		banner "$str"
		modelscr=./model-scripts/run_model.sh
		if [ ! -e "$modelscr" ]; then
			modelscr=$dir/run_model.sh
			if [ ! -e "$modelscr" ]; then
				echo "ERROR: model script not found"
				exit 1
			fi
		fi
		cmd="$modelscr --${aarch} $dir"
		echo Using model command: $cmd
		export NET=1
		export MACADDR=00:02:F7:EF:67:E6
		export VARS=nor.fd
		$cmd
		if [ "$MODEL" == "$FOUNDATION_MODEL" ]; then
			str="foundation"
		else
			str="aemv8"
		fi
		log=$dir/${str}-`date +%s%N`.log
		echo Saving log to $log
		cp /home/ryan/logs/rtsm-5000.log $log
	fi
}

if [ "$1" == "flexlm" ] || [ "$1" == "-flexlm" ] || [ "$1" == "--flexlm" ]
then
	# Start the flexlm tunnel for the AEMv8 models
	echo "Starting the flexlm tunnel in a new window"
	gnome-terminal --title "flexlm tunnel" --geometry="40x6" -e "script -c \"ssh -L 8224:localhost:8224 -L 18224:localhost:18224 -N flexlm.linaro.org -v\"" &

	sleep 3
	echo "Now do some testing"
fi

echo "AEMV8_MODEL=${AEMV8_MODEL}"
echo "REVC_MODEL=${REVC_MODEL}"
echo "FOUNDATION_MODEL=${FOUNDATION_MODEL}"
echo "OEDISK=${OEDISK}"
echo "ANDROIDDISK=${ANDROIDDISK}"
echo "ALIPDISK=${ALIPDISK}"
echo "ANDROID32DISK=$ANDROID32DISK"

export CACHE_STATE_MODELLED=0

# Do foundation model tests first
export MODEL=$FOUNDATION_MODEL

if [[ "$MODEL" != "" ]] && [ -e $MODEL ]; then
	export DISK=
	run_test aarch64 aarch64 output/fvp-uefi/uefi             "Foundation Model - UEFI"
	run_test aarch64 fvp-uefi                                 "Foundation Model - UEFI"
	run_test aarch64 output/fvp/fvp-uefi/uefi                 "Foundation Model - UEFI"

	run_test aarch64 fvp-latest-busybox-uboot                 "Foundation Model - Latest - BusyBox - U-Boot"
	run_test aarch64 fvp-lsk-busybox-uboot                    "Foundation Model - LSK - BusyBox - U-Boot"
	run_test aarch64 output/fvp-busybox/uboot                 "Foundation Model - BusyBox - U-Boot"
	run_test aarch64 output/fvp/fvp-busybox/uboot             "Foundation Model - BusyBox - U-Boot"

	export DISK=$OEDISK
	if [[ "$DISK" != "" ]] && [ -e $DISK ]; then
		run_test aarch64 output/fvp-oe/uboot              "Foundation Model - OpenEmbedded - U-Boot"
		run_test aarch64 fvp-latest-oe-uboot              "Foundation Model - OpenEmbedded - U-Boot"
		run_test aarch64 output/fvp/fvp-oe/uboot          "Foundation Model - OpenEmbedded - U-Boot"
	else
		echo "WARNING: \$OEDISK=\"$OEDISK\" is not a valid disk image"
	fi
else
	echo "WARNING: \$FOUNDATION_MODEL="$FOUNDATION_MODEL" is not a valid model"
fi

model_list=($AEMV8_MODEL $REVC_MODEL)
for model in ${model_list[@]};
do
	echo model=$model
	export MODEL=$model
	if [[ "$MODEL" != "" ]] && [ -e $MODEL ]; then
		model_type=`$model --version | grep "Top component name"`
		if [ "$model_type" == "Top component name: FVP_Base_AEMv8A_AEMv8A" ]; then
			export DTB=fvp-base-aemv8a-aemv8a.dtb
			export CLUSTER0_NUM_CORES=1
			export CLUSTER1_NUM_CORES=1
		else
			export DTB=fvp-base-aemv8a-aemv8a-t1.dtb
			export CLUSTER0_NUM_CORES=4
			export CLUSTER1_NUM_CORES=4
		fi

		export DISK=
		run_test aarch64 output/fvp-uefi/uefi                     "AEMv8 Model Aarch64 - UEFI"
		run_test aarch64 fvp-uefi                                 "AEMv8 Model Aarch64 - UEFI"
		run_test aarch64 output/fvp/fvp-uefi/uefi                 "AEMv8 Model Aarch64 - UEFI"

		run_test aarch64 fvp-latest-busybox-uboot                 "AEMv8 Model Aarch64 - Latest - BusyBox - U-Boot"
		run_test aarch64 fvp-lsk-busybox-uboot                    "AEMv8 Model Aarch64 - LSK - BusyBox - U-Boot"
		run_test aarch64 output/fvp-busybox/uboot                 "AEMv8 Model Aarch64 - BusyBox - U-Boot"
		run_test aarch64 output/fvp/fvp-busybox/uboot             "AEMv8 Model Aarch64 - BusyBox - U-Boot"

		export DISK=$OEDISK
		if [[ "$DISK" != "" ]] && [ -e $DISK ]; then
			run_test aarch64 output/fvp-oe/uboot              "AEMv8 Model Aarch64 - OpenEmbedded - U-Boot"
			run_test aarch64 fvp-latest-oe-uboot              "AEMv8 Model Aarch64 - OpenEmbedded - U-Boot"
			run_test aarch64 output/fvp/fvp-oe/uboot          "AEMv8 Model Aarch64 - OpenEmbedded - U-Boot"
		else
			echo "WARNING: \$OEDISK=\"$OEDISK\" is not a valid disk image"
		fi

		export DISK=$ANDROIDDISK
		if [[ "$DISK" != "" ]] && [ -e $DISK ]; then
			run_test aarch64 fvp-lsk-android-uboot            "AEMv8 Model Aarch64 - Android - U-Boot"
			run_test aarch64 output/fvp-android/uboot         "AEMv8 Model Aarch64 - Android - U-Boot"
			run_test aarch64 output/fvp/fvp-android/uboot     "AEMv8 Model Aarch64 - Android - U-Boot"
		fi

		export DISK=
		run_test aarch32 output/fvp32-uefi/uefi                   "AEMv8 Model Aarch32 - UEFI"
		run_test aarch32 fvp32-uefi                               "AEMv8 Model Aarch32 - UEFI"
		run_test aarch32 output/fvp32/fvp32-uefi/uefi             "AEMv8 Model Aarch32 - UEFI"

		run_test aarch32 fvp32-latest-busybox-uboot               "AEMv8 Model Aarch32 - Latest - BusyBox - U-Boot"
		run_test aarch32 fvp32-lsk-busybox-uboot                  "AEMv8 Model Aarch32 - LSK - BusyBox - U-Boot"
		run_test aarch32 output/fvp32-busybox/uboot               "AEMv8 Model Aarch32 - BusyBox - U-Boot"
		run_test aarch32 output/fvp32/fvp32-busybox/uboot         "AEMv8 Model Aarch32 - BusyBox - U-Boot"

		export DISK=$ALIPDISK
		if [[ "$DISK" != "" ]] && [ -e $DISK ]; then
			run_test aarch32 output/fvp32-oe/uboot            "AEMv8 Model Aarch32 - ALIP - U-Boot"
			run_test aarch32 fvp32-latest-oe-uboot            "AEMv8 Model Aarch32 - ALIP - U-Boot"
			run_test aarch32 output/fvp32/fvp32-oe/uboot      "AEMv8 Model Aarch32 - ALIP - U-Boot"
		else
			echo "WARNING: \$ALIPDISK=\"$ALIPDISK\" is not a valid disk image"
		fi

		export DISK=$ANDROID32DISK
		if [[ "$DISK" != "" ]] && [ -e $DISK ]; then
			run_test aarch32 fvp32-lsk-android-uboot          "AEMv8 Model Aarch32 - Android - U-Boot"
			run_test aarch32 output/fvp32-android/uboot       "AEMv8 Model Aarch32 - Android - U-Boot"
			run_test aarch32 output/fvp32/fvp32-android/uboot "AEMv8 Model Aarch32 - Android - U-Boot"
		else
			echo "WARNING: \$ANDROIDDISK=\"$ANDROIDDISK\" is not a valid disk image"
		fi
	else
		echo "WARNING: "$MODEL" is not a valid model"
	fi
done