blob: e5d255c4fe910e25704eea52f1c25775b4b7fa06 [file] [log] [blame]
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +01001#
Sandrine Bailleux0bcf4132022-03-31 11:15:51 +02002# Copyright (c) 2020-2022, Arm Limited. All rights reserved.
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +01003#
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]
10source [file join [file dirname [info script]] handle-arguments.inc]
11
12# File to store the event log from the ftpm service.
13set TFA_DIGEST [get_param tfa_digest "tfa_event_log"]
Harrison Mutai47751e02025-02-28 12:08:09 +000014set FTPM_DIGEST [get_param ftpm_digest "ftpm_event_log"]
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010015
16# regexp for non-zero PCR0
17set non_zero_pcr "(?!(\\s00){16})((\\s(\[0-9a-f\]){2}){16}\\s)"
Manish V Badarkhefc146c42021-11-24 15:34:00 +000018set zero_pcr "(\\s00){16}\\s+(00\\s){16}"
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010019
Harrison Mutai47751e02025-02-28 12:08:09 +000020capture_log $TFA_DIGEST "Booting BL31"
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010021
22expect {
23 "login" {
24 send "root\n"
25 }
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010026}
27
28expect {
29 "#" {
30 # Load the fTPM driver and retrieves PCR0
31 send "ftpm\n"
32 }
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010033}
34
35expect {
36 # Pass condition: PCR0 must not be all zeros.
37
38 -re $non_zero_pcr {
39 exp_continue
40 }
41
Manish V Badarkhefc146c42021-11-24 15:34:00 +000042 "#" {
43 # get PCR1 value
44 send "pcrread -ha 1\n"
45 }
Manish V Badarkhefc146c42021-11-24 15:34:00 +000046}
47
48expect {
49 # Pass condition: PCR1 must not be all zeros.
50
51 -re $non_zero_pcr {
52 exp_continue
53 }
54
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010055 "#" { }
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010056}
57
58# Iterate over the rest of PCRs and check that they all are zeros.
Manish V Badarkhefc146c42021-11-24 15:34:00 +000059for {set i 2} {$i < 11} {incr i} {
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010060 send "pcrread -ha $i\n"
61
62 expect {
Manish V Badarkhefc146c42021-11-24 15:34:00 +000063 -re $zero_pcr { }
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010064
65 -re $non_zero_pcr {
66 exit_uart -1
67 }
Javier Almansa Sobrino98de5032020-09-17 12:47:05 +010068 }
69}
70
Chris Kay07756bc2022-11-24 17:21:48 +000071expect_string "#" "finished reading PCRs"
72
Harrison Mutai47751e02025-02-28 12:08:09 +000073compare_log $TFA_DIGEST $FTPM_DIGEST