mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-10 02:54:58 -06:00
Merge tpm 2023/04/20 v1
-----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEuBi5yt+QicLVzsZrda1lgCoLQhEFAmRBLgoACgkQda1lgCoL QhEPyQf/WfEg8k2hDLExobsSgup1IsnT+mHHTBOZVJvq2efg2YXUTHA56fmD9X6d crqTq68L5oaMES5iYEZhA7EAgfk3RvxDQGrlXBByPzrc6SSwEHHMR4Zzi5zrbCoW t6TmaKQrlQqYwkhhsbyqnG46bj0ugCDagkBLfJdVl96fjkYgTspcDxaNwqwy/DPn GTmQlvdRY09D1nylIdtcLBIfsM+sIkRslyngbUEIy+Bx8EWRy2a8Qw0BdY9g1XoE e0CaRaFMpju1KOIjq0YSIzt0LSQDFfPc1IlUAC0ZALhNmp+PPNtr4E7+4kFfO2ym 1sT2w25ho8dYDdm/m8tIauCdGoHw4A== =ML27 -----END PGP SIGNATURE----- Merge tag 'pull-tpm-2023-04-20-1' of https://github.com/stefanberger/qemu-tpm into staging Merge tpm 2023/04/20 v1 # -----BEGIN PGP SIGNATURE----- # # iQEzBAABCAAdFiEEuBi5yt+QicLVzsZrda1lgCoLQhEFAmRBLgoACgkQda1lgCoL # QhEPyQf/WfEg8k2hDLExobsSgup1IsnT+mHHTBOZVJvq2efg2YXUTHA56fmD9X6d # crqTq68L5oaMES5iYEZhA7EAgfk3RvxDQGrlXBByPzrc6SSwEHHMR4Zzi5zrbCoW # t6TmaKQrlQqYwkhhsbyqnG46bj0ugCDagkBLfJdVl96fjkYgTspcDxaNwqwy/DPn # GTmQlvdRY09D1nylIdtcLBIfsM+sIkRslyngbUEIy+Bx8EWRy2a8Qw0BdY9g1XoE # e0CaRaFMpju1KOIjq0YSIzt0LSQDFfPc1IlUAC0ZALhNmp+PPNtr4E7+4kFfO2ym # 1sT2w25ho8dYDdm/m8tIauCdGoHw4A== # =ML27 # -----END PGP SIGNATURE----- # gpg: Signature made Thu 20 Apr 2023 01:20:26 PM BST # gpg: using RSA key B818B9CADF9089C2D5CEC66B75AD65802A0B4211 # gpg: Good signature from "Stefan Berger <stefanb@linux.vnet.ibm.com>" [unknown] # gpg: WARNING: This key is not certified with a trusted signature! # gpg: There is no indication that the signature belongs to the owner. # Primary key fingerprint: B818 B9CA DF90 89C2 D5CE C66B 75AD 6580 2A0B 4211 * tag 'pull-tpm-2023-04-20-1' of https://github.com/stefanberger/qemu-tpm: qtest: Add a test case for TPM TIS I2C connected to Aspeed I2C controller qtest: Move tpm_util_tis_transmit() into tpm-tis-utils.c and rename it qtest: Add functions for accessing devices on Aspeed I2C controller tests/avocado/aspeed: Add TPM TIS I2C test tpm: Add support for TPM device over I2C bus tpm: Extend common APIs to support TPM TIS I2C docs: Add support for TPM devices over I2C bus Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
This commit is contained in:
commit
45608654aa
11 changed files with 722 additions and 10 deletions
|
@ -7,14 +7,18 @@
|
|||
|
||||
import time
|
||||
import os
|
||||
import tempfile
|
||||
import subprocess
|
||||
|
||||
from avocado_qemu import QemuSystemTest
|
||||
from avocado_qemu import wait_for_console_pattern
|
||||
from avocado_qemu import exec_command
|
||||
from avocado_qemu import exec_command_and_wait_for_pattern
|
||||
from avocado_qemu import interrupt_interactive_console_until_pattern
|
||||
from avocado_qemu import has_cmd
|
||||
from avocado.utils import archive
|
||||
from avocado import skipIf
|
||||
from avocado import skipUnless
|
||||
|
||||
|
||||
class AST1030Machine(QemuSystemTest):
|
||||
|
@ -132,7 +136,7 @@ class AST2x00Machine(QemuSystemTest):
|
|||
|
||||
self.do_test_arm_aspeed(image_path)
|
||||
|
||||
def do_test_arm_aspeed_buildroot_start(self, image, cpu_id):
|
||||
def do_test_arm_aspeed_buildroot_start(self, image, cpu_id, pattern='Aspeed EVB'):
|
||||
self.require_netdev('user')
|
||||
|
||||
self.vm.set_console()
|
||||
|
@ -146,7 +150,7 @@ class AST2x00Machine(QemuSystemTest):
|
|||
self.wait_for_console_pattern('Booting Linux on physical CPU ' + cpu_id)
|
||||
self.wait_for_console_pattern('lease of 10.0.2.15')
|
||||
# the line before login:
|
||||
self.wait_for_console_pattern('Aspeed EVB')
|
||||
self.wait_for_console_pattern(pattern)
|
||||
time.sleep(0.1)
|
||||
exec_command(self, 'root')
|
||||
time.sleep(0.1)
|
||||
|
@ -229,6 +233,40 @@ class AST2x00Machine(QemuSystemTest):
|
|||
'0000000 ffaa ffff ffff ffff ffff ffff ffff ffff');
|
||||
self.do_test_arm_aspeed_buildroot_poweroff()
|
||||
|
||||
@skipUnless(*has_cmd('swtpm'))
|
||||
def test_arm_ast2600_evb_buildroot_tpm(self):
|
||||
"""
|
||||
:avocado: tags=arch:arm
|
||||
:avocado: tags=machine:ast2600-evb
|
||||
"""
|
||||
|
||||
image_url = ('https://github.com/legoater/qemu-aspeed-boot/raw/master/'
|
||||
'images/ast2600-evb/buildroot-2023.02-tpm/flash.img')
|
||||
image_hash = ('a46009ae8a5403a0826d607215e731a8c68d27c14c41e55331706b8f9c7bd997')
|
||||
image_path = self.fetch_asset(image_url, asset_hash=image_hash,
|
||||
algorithm='sha256')
|
||||
|
||||
socket = os.path.join(self.vm.sock_dir, 'swtpm-socket')
|
||||
|
||||
subprocess.run(['swtpm', 'socket', '-d', '--tpm2',
|
||||
'--tpmstate', f'dir={self.vm.temp_dir}',
|
||||
'--ctrl', f'type=unixio,path={socket}'])
|
||||
|
||||
self.vm.add_args('-chardev', f'socket,id=chrtpm,path={socket}')
|
||||
self.vm.add_args('-tpmdev', 'emulator,id=tpm0,chardev=chrtpm')
|
||||
self.vm.add_args('-device',
|
||||
'tpm-tis-i2c,tpmdev=tpm0,bus=aspeed.i2c.bus.12,address=0x2e')
|
||||
self.do_test_arm_aspeed_buildroot_start(image_path, '0xf00', 'Aspeed AST2600 EVB')
|
||||
exec_command(self, "passw0rd")
|
||||
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'echo tpm_tis_i2c 0x2e > /sys/bus/i2c/devices/i2c-12/new_device',
|
||||
'tpm_tis_i2c 12-002e: 2.0 TPM (device-id 0x1, rev-id 1)');
|
||||
exec_command_and_wait_for_pattern(self,
|
||||
'cat /sys/class/tpm/tpm0/pcr-sha256/0',
|
||||
'B804724EA13F52A9072BA87FE8FDCC497DFC9DF9AA15B9088694639C431688E0');
|
||||
|
||||
self.do_test_arm_aspeed_buildroot_poweroff()
|
||||
|
||||
class AST2x00MachineSDK(QemuSystemTest):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue