blob: 4afd848f4f104e51c211379bb708f995551e8233 [file] [log] [blame]
Manish V Badarkhe9e723342023-07-21 13:15:30 +01001#
2# Copyright (c) 2023, Arm Limited. All rights reserved.
3#
4# SPDX-License-Identifier: BSD-3-Clause
5#
6# Expect script for Linux/Buildroot using Measured Boot & fTPM
7#
8
9source [file join [file dirname [info script]] utils.inc]
10
11set uart_log_file [get_param uart_log_file]
12#Open file to read line by line
13set fh [open $uart_log_file r]
14set signer_id "signer_id"
15set signer_id_0_15 "- signer_id (\\s|\\w)*:(?!(\\s00){16})(\\s(\[0-9a-f\]){2}){16}"
16set signer_id_frag "(\\s|\\w)*:(\\s|\\w)*:(?!(\\s00){16})(\\s(\[0-9a-f\]){2}){16}"
17set non_zero_val 0
18set signer_id_detect 0
19set version_string "- version (\\s|\\w)*:"
20
21#Open file to read line by line
22set uart_log_file [get_param uart_log_file]
23set fh [open $uart_log_file r]
24
25# Loop to read and process line by line
26while {[gets $fh line] != -1} {
27
28 if {[regexp $signer_id $line]} {
29 incr signer_id_detect
30 }
31
32 if {[regexp $signer_id_0_15 $line] && $signer_id_detect == 1} {
33 send "signer_id(0:15) is non-zero\n"
34 incr non_zero_val
35 continue
36 }
37
38 if {[regexp $signer_id_frag $line] && $signer_id_detect == 1} {
39 send "signer_id fragment is non-zero\n"
40 incr non_zero_val
41 continue
42 }
43
44 if {[regexp $version_string $line]} {
45 if {$non_zero_val eq 0} {
46 send "either value is zero\n"
47 exit_uart -1
48 } else {
49 send "either value is non-zero\n"
50 set non_zero_val 0
51 }
52 set signer_id_detect 0
53 }
54
55 if {[string match "*Booting BL31*" $line]} {
56 send "Stop. BL31 booting"
57 }
58}
59
60close $fh