aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/debug-info-method.cpp
diff options
context:
space:
mode:
authorKevin Bowling <kbowling@FreeBSD.org>2026-08-26 10:32:34 +0000
committerKevin Bowling <kbowling@FreeBSD.org>2026-09-01 18:17:58 +0000
commitc0356f4cd02255419a4d4309f393998185c8de2d (patch)
tree2fb7833c1ee431083f94cfca01c0dd948ca3a63b /test/CodeGenCXX/debug-info-method.cpp
parent03a197128f9c70ddb0685a0825c9d37003c41c4e (diff)
tpm: Correct the TPM 1.2 suspend transactionHEADmain
The legacy driver wrote TPM_ORD_SaveState directly to the command FIFO, but used ordinal 156 instead of the TPM 1.2 ordinal 152 and never completed the transaction through the transport start and end methods. On a TIS device this omitted TPM_STS_GO, and the response read used the header length as flags instead of requesting the complete parameter size. The legacy Atmel reader would also dereference the null byte-count pointer. Send the header-only command through the normal transport lifecycle, validate the response header and TPM result, and retry TPM_WARN_RETRY for a bounded five seconds. Fail suspend rather than enter S3 after an unsuccessful state save. This follows the TPM 1.2 SaveState command definition and the bounded retry policy used by other TPM 1.2 implementations. The stock driver failed to resume a ThinkPad T440p with its STMicro TPM 1.2 Security Chip enabled; disabling the chip made S3 reliable. With this change and the following TIS resume restoration, the enabled TPM completed two consecutive S3 cycles. PCR 0 was readable with the same value before and after each cycle, and no TPM errors were logged. PR: 291067 Reviewed by: kevans MFC after: 2 weeks Sponsored by: BBOX.io Differential Revision: https://reviews.freebsd.org/D59192
Diffstat (limited to 'test/CodeGenCXX/debug-info-method.cpp')
0 files changed, 0 insertions, 0 deletions