configure: fix TPM logic

A non-native i386 or x86_64 emulator should not have TPM passthrough
support, since the TPM is only present for those hosts.

Reviewed-by: Andreas Färber <afaerber@suse.de>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Paolo Bonzini 2013-03-18 16:37:50 +01:00
parent e53339cf7c
commit 3b8acc11d3
4 changed files with 21 additions and 13 deletions

24
configure vendored
View File

@ -2336,6 +2336,15 @@ EOF
fi fi
fi fi
##########################################
# TPM passthrough is only on x86 Linux
if test "$targetos" = Linux && test "$cpu" = i386 -o "$cpu" = x86_64; then
tpm_passthrough=$tpm
else
tpm_passthrough=no
fi
########################################## ##########################################
# adjust virtio-blk-data-plane based on linux-aio # adjust virtio-blk-data-plane based on linux-aio
@ -3436,6 +3445,7 @@ echo "virtio-blk-data-plane $virtio_blk_data_plane"
echo "gcov $gcov_tool" echo "gcov $gcov_tool"
echo "gcov enabled $gcov" echo "gcov enabled $gcov"
echo "TPM support $tpm" echo "TPM support $tpm"
echo "TPM passthrough $tpm_passthrough"
if test "$sdl_too_old" = "yes"; then if test "$sdl_too_old" = "yes"; then
echo "-> Your SDL version is too old - please upgrade to have SDL support" echo "-> Your SDL version is too old - please upgrade to have SDL support"
@ -3811,6 +3821,14 @@ bsd)
;; ;;
esac esac
# TPM passthrough support?
if test "$tpm" = "yes"; then
echo 'CONFIG_TPM=$(CONFIG_SOFTMMU)' >> $config_host_mak
if test "$tpm_passthrough" = "yes"; then
echo "CONFIG_TPM_PASSTHROUGH=y" >> $config_host_mak
fi
fi
# use default implementation for tracing backend-specific routines # use default implementation for tracing backend-specific routines
trace_default=yes trace_default=yes
echo "TRACE_BACKEND=$trace_backend" >> $config_host_mak echo "TRACE_BACKEND=$trace_backend" >> $config_host_mak
@ -4338,12 +4356,6 @@ if test "$gprof" = "yes" ; then
fi fi
fi fi
if test "$tpm" = "yes"; then
if test "$target_softmmu" = "yes" ; then
echo "CONFIG_TPM=y" >> $config_host_mak
fi
fi
if test "$ARCH" = "tci"; then if test "$ARCH" = "tci"; then
linker_script="" linker_script=""
else else

View File

@ -27,8 +27,7 @@ CONFIG_HPET=y
CONFIG_APPLESMC=y CONFIG_APPLESMC=y
CONFIG_I8259=y CONFIG_I8259=y
CONFIG_PFLASH_CFI01=y CONFIG_PFLASH_CFI01=y
CONFIG_TPM_TIS=y CONFIG_TPM_TIS=$(CONFIG_TPM)
CONFIG_TPM_PASSTHROUGH=y
CONFIG_PCI_HOTPLUG=y CONFIG_PCI_HOTPLUG=y
CONFIG_MC146818RTC=y CONFIG_MC146818RTC=y
CONFIG_PAM=y CONFIG_PAM=y

View File

@ -27,8 +27,7 @@ CONFIG_HPET=y
CONFIG_APPLESMC=y CONFIG_APPLESMC=y
CONFIG_I8259=y CONFIG_I8259=y
CONFIG_PFLASH_CFI01=y CONFIG_PFLASH_CFI01=y
CONFIG_TPM_TIS=y CONFIG_TPM_TIS=$(CONFIG_TPM)
CONFIG_TPM_PASSTHROUGH=y
CONFIG_PCI_HOTPLUG=y CONFIG_PCI_HOTPLUG=y
CONFIG_MC146818RTC=y CONFIG_MC146818RTC=y
CONFIG_PAM=y CONFIG_PAM=y

View File

@ -1,6 +1,4 @@
common-obj-y = tpm.o common-obj-y = tpm.o
ifeq ($(CONFIG_TPM),y) common-obj-$(CONFIG_TPM) += tpm_backend.o
common-obj-y += tpm_backend.o
common-obj-$(CONFIG_TPM_TIS) += tpm_tis.o common-obj-$(CONFIG_TPM_TIS) += tpm_tis.o
common-obj-$(CONFIG_TPM_PASSTHROUGH) += tpm_passthrough.o common-obj-$(CONFIG_TPM_PASSTHROUGH) += tpm_passthrough.o
endif