blob: 4afd848f4f104e51c211379bb708f995551e8233 [file] [log] [blame]
#
# Copyright (c) 2023, Arm Limited. All rights reserved.
#
# SPDX-License-Identifier: BSD-3-Clause
#
# Expect script for Linux/Buildroot using Measured Boot & fTPM
#
source [file join [file dirname [info script]] utils.inc]
set uart_log_file [get_param uart_log_file]
#Open file to read line by line
set fh [open $uart_log_file r]
set signer_id "signer_id"
set signer_id_0_15 "- signer_id (\\s|\\w)*:(?!(\\s00){16})(\\s(\[0-9a-f\]){2}){16}"
set signer_id_frag "(\\s|\\w)*:(\\s|\\w)*:(?!(\\s00){16})(\\s(\[0-9a-f\]){2}){16}"
set non_zero_val 0
set signer_id_detect 0
set version_string "- version (\\s|\\w)*:"
#Open file to read line by line
set uart_log_file [get_param uart_log_file]
set fh [open $uart_log_file r]
# Loop to read and process line by line
while {[gets $fh line] != -1} {
if {[regexp $signer_id $line]} {
incr signer_id_detect
}
if {[regexp $signer_id_0_15 $line] && $signer_id_detect == 1} {
send "signer_id(0:15) is non-zero\n"
incr non_zero_val
continue
}
if {[regexp $signer_id_frag $line] && $signer_id_detect == 1} {
send "signer_id fragment is non-zero\n"
incr non_zero_val
continue
}
if {[regexp $version_string $line]} {
if {$non_zero_val eq 0} {
send "either value is zero\n"
exit_uart -1
} else {
send "either value is non-zero\n"
set non_zero_val 0
}
set signer_id_detect 0
}
if {[string match "*Booting BL31*" $line]} {
send "Stop. BL31 booting"
}
}
close $fh