On 4/30/24 15:08, James Bottomley wrote:
> The requested feedback was to convert the tpmdev handler to being json
> based, which requires rethreading all the backends. The good news is
> this reduced quite a bit of code (especially as I converted it to
> error_fatal handling as well, which removes the return status
> threading). The bad news is I can't test any of the conversions.
> swtpm still isn't building on opensuse and, apparently, passthrough
It does build and packages are available:
-
https://app.travis-ci.com/github/stefanberger/swtpm-distro-compile/jobs/621150390
- https://software.opensuse.org/package/swtpm
> doesn't like my native TPM because it doesn't allow cancellation.
>
> v3 pulls out more unneeded code in the visitor conversion, makes
> migration work on external state preservation of the simulator and
> adds documentation
>
> v4 puts back the wrapper options (but doesn't add any for mssim since
> it post dates the necessity)
>
> v5 rebases to the latest master branch and adjusts for removed use_FOO ptrs
>
> v5 updates help to exit zero; does some checkpatch tidying
>
> v7 merge review feedback and add acks.
>
> v8 adds better error handling, more code tidies and adds command
> socket disconnection/reconnection (instead of trying to keep the
> socket open the whole time). This adds overhead, but makes
> debugging guest kernel TPM issues much easier.
>
> v9 Fix merge conflict with optarg->optstr conversion
>
> v10 Fix more merge conflicts and update API versions
>
> James
>
> ---
>
> James Bottomley (2):
> tpm: convert tpmdev options processing to new visitor format
> tpm: add backend for mssim
>
> MAINTAINERS | 6 +
> backends/tpm/Kconfig | 5 +
> backends/tpm/meson.build | 1 +
> backends/tpm/tpm_emulator.c | 25 ++-
> backends/tpm/tpm_mssim.c | 319 +++++++++++++++++++++++++++++++++
> backends/tpm/tpm_mssim.h | 44 +++++
> backends/tpm/tpm_passthrough.c | 23 +--
> docs/specs/tpm.rst | 39 ++++
> include/sysemu/tpm.h | 5 +-
> include/sysemu/tpm_backend.h | 2 +-
> qapi/tpm.json | 50 +++++-
> system/tpm-hmp-cmds.c | 9 +
> system/tpm.c | 91 ++++------
> system/vl.c | 19 +-
> 14 files changed, 530 insertions(+), 108 deletions(-)
> create mode 100644 backends/tpm/tpm_mssim.c
> create mode 100644 backends/tpm/tpm_mssim.h
>