aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2019-01-23 14:56:07 +0800
committerPaolo Bonzini <pbonzini@redhat.com>2019-03-07 21:45:53 +0100
commit7aaa6a163739b612666123cafa7dea25b3d672c8 (patch)
tree78ae48392475dc934b881b2138431de4c85183a5
parentb42075bb77672616127c9452c0f836e757e9ce1a (diff)
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 <pbonzini@redhat.com>
-rwxr-xr-xconfigure24
-rw-r--r--hw/tpm/Kconfig10
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