From 7aaa6a163739b612666123cafa7dea25b3d672c8 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Wed, 23 Jan 2019 14:56:07 +0800 Subject: [PATCH] tpm: express dependencies with Kconfig This automatically removes the TPM backends from the binary altogether if no front-ends are selected. Signed-off-by: Paolo Bonzini --- configure | 24 ++++++++++++------------ hw/tpm/Kconfig | 10 +++++++++- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/configure b/configure index 6942b7bad4..f9177dc479 100755 --- a/configure +++ b/configure @@ -466,7 +466,7 @@ gcrypt_hmac="no" auth_pam="" vte="" virglrenderer="" -tpm="yes" +tpm="" libssh2="" live_block_migration="yes" numa="" @@ -3877,20 +3877,20 @@ EOF fi ########################################## -# TPM passthrough is only on x86 Linux +# TPM emulation is only on POSIX -if test "$targetos" = Linux && { test "$cpu" = i386 || test "$cpu" = x86_64; }; then - tpm_passthrough=$tpm -else - tpm_passthrough=no +if test "$tpm" = ""; then + if test "$mingw32" = "yes"; then + tpm=no + else + tpm=yes + fi +elif test "$tpm" = "yes"; then + if test "$mingw32" = "yes" ; then + error_exit "TPM emulation only available on POSIX systems" + fi fi -# TPM emulator is for all posix systems -if test "$mingw32" != "yes"; then - tpm_emulator=$tpm -else - tpm_emulator=no -fi ########################################## # attr probe diff --git a/hw/tpm/Kconfig b/hw/tpm/Kconfig index f654f0fbce..4c8ee87d67 100644 --- a/hw/tpm/Kconfig +++ b/hw/tpm/Kconfig @@ -1,16 +1,24 @@ -config TPM +config TPMDEV bool + depends on TPM config TPM_TIS bool depends on TPM && ISA_BUS + select TPMDEV config TPM_CRB bool depends on TPM && PC + select TPMDEV config TPM_PASSTHROUGH bool + default y + # FIXME: should check for x86 host as well + depends on TPMDEV && LINUX config TPM_EMULATOR bool + default y + depends on TPMDEV