On Wed, Aug 31, 2011 at 10:35:55AM -0400, Stefan Berger wrote: > The TPM interface (tpm_tis) needs to be explicitly enabled via > ./configure --enable-tpm. This patch also restricts the building of the > TPM support to i386 and x86_64 targets since only there it is currently > supported. This prevents that one will end up with support for a frontend > but no available backend.
This can happen anyway - just don't load the tpms driver :) Presumably if libtpms exists on the system, we should assume it's there for a reason. configure should test that IMO and not limit architectures artificially. > > v3: > - fixed and moved hunks in Makefile.target into right place > > Signed-off-by: Stefan Berger <stef...@linux.vnet.ibm.com> > Index:qemu/Makefile.target > =================================================================== > --- > Makefile.target | 1 + > configure | 20 ++++++++++++++++++++ > 2 files changed, 21 insertions(+) > > Index: qemu-git/Makefile.target > =================================================================== > --- qemu-git.orig/Makefile.target > +++ qemu-git/Makefile.target > @@ -233,6 +233,7 @@ obj-i386-y += debugcon.o multiboot.o > obj-i386-y += pc_piix.o > obj-i386-$(CONFIG_KVM) += kvmclock.o > obj-i386-$(CONFIG_SPICE) += qxl.o qxl-logger.o qxl-render.o > +obj-i386-$(CONFIG_TPM) += tpm_tis.o > > # shared objects > obj-ppc-y = ppc.o > Index: qemu-git/configure > =================================================================== > --- qemu-git.orig/configure > +++ qemu-git/configure > @@ -183,6 +183,7 @@ usb_redir="" > opengl="" > zlib="yes" > guest_agent="yes" > +tpm="no" > > # parse CC options first > for opt do > @@ -765,6 +766,8 @@ for opt do > ;; > --disable-guest-agent) guest_agent="no" > ;; > + --enable-tpm) tpm="yes" > + ;; > *) echo "ERROR: unknown option $opt"; show_help="yes" > ;; > esac > @@ -1044,6 +1047,7 @@ echo " --disable-usb-redir disable > echo " --enable-usb-redir enable usb network redirection support" > echo " --disable-guest-agent disable building of the QEMU Guest Agent" > echo " --enable-guest-agent enable building of the QEMU Guest Agent" > +echo " --enable-tpm enable an emulated TPM" > echo "" > echo "NOTE: The object files are built at the place where configure is > launched" > exit 1 > @@ -2731,6 +2735,7 @@ echo "nss used $smartcard_nss" > echo "usb net redir $usb_redir" > echo "OpenGL support $opengl" > echo "build guest agent $guest_agent" > +echo "TPM support $tpm" > > if test "$sdl_too_old" = "yes"; then > echo "-> Your SDL version is too old - please upgrade to have SDL support" > @@ -3555,6 +3560,21 @@ if test "$gprof" = "yes" ; then > fi > fi > > +if test "$tpm" = "yes"; then > + has_tpm=0 > + if test "$target_softmmu" = "yes" ; then > + case "$TARGET_BASE_ARCH" in > + i386) > + has_tpm=1 > + ;; > + esac > + fi > + > + if test "$has_tpm" = "1"; then > + echo "CONFIG_TPM=y" >> $config_host_mak > + fi > +fi > + > linker_script="-Wl,-T../config-host.ld -Wl,-T,\$(SRC_PATH)/\$(ARCH).ld" > if test "$target_linux_user" = "yes" -o "$target_bsd_user" = "yes" ; then > case "$ARCH" in >