Patchwork [V19,6/7] Introduce --enable-tpm-passthrough configure option

login
register
mail settings
Submitter Stefan Berger
Date June 4, 2012, 7:37 p.m.
Message ID <1338838668-7544-7-git-send-email-stefanb@linux.vnet.ibm.com>
Download mbox | patch
Permalink /patch/162868/
State New
Headers show

Comments

Stefan Berger - June 4, 2012, 7:37 p.m.
Introduce --enable-tpm-passthrough configure option.

Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
---
 configure |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)
Corey Bryant - Sept. 27, 2012, 2:29 p.m.
On 06/04/2012 03:37 PM, Stefan Berger wrote:
> Introduce --enable-tpm-passthrough configure option.
>
> Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com>
> ---
>   configure |   16 +++++++++++++++-
>   1 files changed, 15 insertions(+), 1 deletions(-)
>
> diff --git a/configure b/configure
> index 804d8c8..8d8bee8 100755
> --- a/configure
> +++ b/configure
> @@ -195,6 +195,7 @@ guest_agent="yes"
>   libiscsi=""
>   coroutine=""
>   tpm="no"
> +tpm_passthrough="no"
>
>   # parse CC options first
>   for opt do
> @@ -827,11 +828,20 @@ for opt do
>     ;;
>     --enable-tpm) tpm="yes"
>     ;;
> +  --enable-tpm-passthrough) tpm_passthrough="yes"
> +  ;;
>     *) echo "ERROR: unknown option $opt"; show_help="yes"
>     ;;
>     esac
>   done
>
> +if test "$tpm" = "no" ; then
> +    if test "$tpm_passthrough" = "yes"; then
> +        echo "ERROR: --enable-tpm-passthrough requires --enable-tpm"
> +        exit 1
> +    fi
> +fi
> +
>   #
>   # If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
>   # QEMU_CFLAGS/LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
> @@ -1114,6 +1124,7 @@ echo "  --enable-guest-agent     enable building of the QEMU Guest Agent"
>   echo "  --with-coroutine=BACKEND coroutine backend. Supported options:"
>   echo "                           gthread, ucontext, sigaltstack, windows"
>   echo "  --enable-tpm             enable TPM support"
> +echo "  --enable-tpm-passthrough enable TPM passthrough driver"
>   echo ""
>   echo "NOTE: The object files are built at the place where configure is launched"
>   exit 1
> @@ -3034,6 +3045,7 @@ echo "libiscsi support  $libiscsi"
>   echo "build guest agent $guest_agent"
>   echo "coroutine backend $coroutine_backend"
>   echo "TPM support       $tpm"
> +echo "TPM passthrough   $tpm_passthrough"
>
>   if test "$sdl_too_old" = "yes"; then
>   echo "-> Your SDL version is too old - please upgrade to have SDL support"
> @@ -3919,7 +3931,9 @@ fi
>   if test "$tpm" = "yes"; then
>     if test "$target_softmmu" = "yes" ; then
>       if test "$linux" = "yes" ; then
> -      echo "CONFIG_TPM_PASSTHROUGH=y" >> $config_host_mak
> +      if test "$tpm_passthrough" = "yes" ; then
> +        echo "CONFIG_TPM_PASSTHROUGH=y" >> $config_host_mak
> +      fi
>       fi
>       echo "CONFIG_TPM=y" >> $config_host_mak
>     fi
>

This patch looks okay to me.

Patch

diff --git a/configure b/configure
index 804d8c8..8d8bee8 100755
--- a/configure
+++ b/configure
@@ -195,6 +195,7 @@  guest_agent="yes"
 libiscsi=""
 coroutine=""
 tpm="no"
+tpm_passthrough="no"
 
 # parse CC options first
 for opt do
@@ -827,11 +828,20 @@  for opt do
   ;;
   --enable-tpm) tpm="yes"
   ;;
+  --enable-tpm-passthrough) tpm_passthrough="yes"
+  ;;
   *) echo "ERROR: unknown option $opt"; show_help="yes"
   ;;
   esac
 done
 
+if test "$tpm" = "no" ; then
+    if test "$tpm_passthrough" = "yes"; then
+        echo "ERROR: --enable-tpm-passthrough requires --enable-tpm"
+        exit 1
+    fi
+fi
+
 #
 # If cpu ~= sparc and  sparc_cpu hasn't been defined, plug in the right
 # QEMU_CFLAGS/LDFLAGS (assume sparc_v8plus for 32-bit and sparc_v9 for 64-bit)
@@ -1114,6 +1124,7 @@  echo "  --enable-guest-agent     enable building of the QEMU Guest Agent"
 echo "  --with-coroutine=BACKEND coroutine backend. Supported options:"
 echo "                           gthread, ucontext, sigaltstack, windows"
 echo "  --enable-tpm             enable TPM support"
+echo "  --enable-tpm-passthrough enable TPM passthrough driver"
 echo ""
 echo "NOTE: The object files are built at the place where configure is launched"
 exit 1
@@ -3034,6 +3045,7 @@  echo "libiscsi support  $libiscsi"
 echo "build guest agent $guest_agent"
 echo "coroutine backend $coroutine_backend"
 echo "TPM support       $tpm"
+echo "TPM passthrough   $tpm_passthrough"
 
 if test "$sdl_too_old" = "yes"; then
 echo "-> Your SDL version is too old - please upgrade to have SDL support"
@@ -3919,7 +3931,9 @@  fi
 if test "$tpm" = "yes"; then
   if test "$target_softmmu" = "yes" ; then
     if test "$linux" = "yes" ; then
-      echo "CONFIG_TPM_PASSTHROUGH=y" >> $config_host_mak
+      if test "$tpm_passthrough" = "yes" ; then
+        echo "CONFIG_TPM_PASSTHROUGH=y" >> $config_host_mak
+      fi
     fi
     echo "CONFIG_TPM=y" >> $config_host_mak
   fi