qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V8 04/14] Add tpm_tis driver to build process


From: Stefan Berger
Subject: Re: [Qemu-devel] [PATCH V8 04/14] Add tpm_tis driver to build process
Date: Thu, 01 Sep 2011 21:16:15 -0400
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.18) Gecko/20110621 Fedora/3.1.11-1.fc14 Lightning/1.0b3pre Thunderbird/3.1.11

On 09/01/2011 01:23 PM, Michael S. Tsirkin wrote:
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.
Well, what above means is that one a ppc machine you can still build a qemu-system-x86_64 with tpm 'builtin' (libtpms) support if libtpms is found on the system. However, I am not building the arm, ppc, mips etc. emulators with TPM support simply because I only have code in hw/pc.c enabling a x86_64/i386 pc with a TPM. If someone wants to extend and test those other machines then this restriction would have to be opened up to those targets that they extended.

   Stefan

v3:
  - fixed and moved hunks in Makefile.target into right place

Signed-off-by: Stefan Berger<address@hidden>
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





reply via email to

[Prev in Thread] Current Thread [Next in Thread]