[QEMU]TPM 设备选项

TPM 设备选项的一般形式是:
-tpmdev backend,id=id[,options]
特定的后端类型将确定适用的选项。该选项创建 TPM 后端,并需要一个指定 TPM 前端接口模型的选项。
-tpmdev
-device
用于打印所有可用的 TPM 后端类型。
-tpmdev help
可用的后端包括:
-tpmdev passthrough,id=id,path=path,cancel-path=cancel-path
(仅限 Linux 主机)使用直通驱动程序启用对主机 TPM 的访问。
path
指定主机的 TPM 设备的路径,即在 Linux 主机上,这将是 。 是可选的,并且默认使用。/dev/tpm0
path
/dev/tpm0
cancel-path
指定主机 TPM 设备的 sysfs 条目的路径,允许取消正在进行的 TPM 命令。 是可选的,默认情况下 QEMU 将搜索要使用的 sysfs 条目。cancel-path
有关将主机的 TPM 与直通驱动程序配合使用的一些注意事项:
直通驱动程序访问的 TPM 设备不得由主机上的任何其他应用程序使用。
由于主机的固件 (BIOS/UEFI) 已初始化 TPM,因此 VM 的固件 (BIOS/UEFI) 将无法再次初始化 TPM,因此可能不会显示特定于 TPM 的菜单,否则该菜单将允许用户配置 TPM,例如,允许用户启用/禁用或激活/停用 TPM。此外,如果从 VM 中释放 TPM 所有权,则主机的 TPM 将被禁用并停用。若要在之后再次启用并激活 TPM,必须重新启动主机,并且用户需要进入固件的菜单以启用和激活 TPM。如果 TPM 处于禁用状态和/或停用状态,则大多数 TPM 命令都将失败。
若要创建直通 TPM,请使用以下两个选项:
-tpmdev passthrough,id=tpm0 -device tpm-tis,tpmdev=tpm0请注意,该 ID 在设备选项中被引用。
-tpmdev
tpm0
tpmdev=tpm0
-tpmdev emulator,id=id,chardev=dev
(仅限 Linux 主机)使用基于 Unix 域套接字的 chardev 后端启用对 TPM 模拟器的访问。
chardev
指定提供与软件 TPM 服务器的连接的字符设备后端的唯一 ID。若要使用 chardev 套接字后端创建 TPM 模拟器后端设备,请执行以下操作:
-chardev socket,id=chrtpm,path=/tmp/swtpm-sock -tpmdev emulator,id=tpm0,chardev=chrtpm -device tpm-tis,tpmdev=tpm0