All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stefan Berger <stefanb@linux.vnet.ibm.com>
To: Blue Swirl <blauwirbel@gmail.com>
Cc: qemu-devel@nongnu.org, andreas.niederl@iaik.tugraz.at
Subject: Re: [Qemu-devel] [PATCH V2 4/9] Add tpm_tis driver to build process
Date: Fri, 01 Apr 2011 15:57:16 -0400	[thread overview]
Message-ID: <4D962E1C.2000203@linux.vnet.ibm.com> (raw)
In-Reply-To: <AANLkTintDvN_aJAuc5jMf=4RUYBQXbZ-hJ8twq5XGMBi@mail.gmail.com>

On 04/01/2011 02:14 PM, Blue Swirl wrote:
> On Wed, Mar 30, 2011 at 10:42 PM, Stefan Berger
> <stefanb@linux.vnet.ibm.com>  wrote:
>> The TPM interface (tpm_tis) needs to be explicitly enabled via
>> ./configure --enable-tpm. This restricts the building of the
>> TPM support to i386 and x86_64 targets since both backends I know
>> of, the Xen backend and the libtpms-based backend, will likely only
>> be available for these targets, at least initially. The list can be
>> easily extend. This measure prevents that one will end up with support
>> for a frontend but no available backend.
>>
>> Signed-off-by: Stefan Berger<stefanb@linux.vnet.ibm.com>
>>
>> Index:qemu/Makefile.target
>> ===================================================================
>> ---
>>   Makefile.target |    7 +++++++
>>   configure       |   20 ++++++++++++++++++++
>>   2 files changed, 27 insertions(+)
>>
>> Index: qemu-git/Makefile.target
>> ===================================================================
>> --- qemu-git.orig/Makefile.target
>> +++ qemu-git/Makefile.target
>> @@ -303,6 +303,13 @@ obj-sparc-y += cs4231.o eccmemctl.o sbi.
>>
>>   # GRLIB
>>   obj-sparc-y += grlib_gptimer.o grlib_irqmp.o grlib_apbuart.o
>> +
>> +ifeq ($(TARGET_ARCH),$(filter $(TARGET_ARCH),i386 x86_64))
> The ifeq above is not needed since the line below uses obj-i386.
>
Will remove.
>> +
>> +obj-i386-$(CONFIG_TPM) += tpm_tis.o
>> +
>> +endif
>> +
>>   endif
>>
>>   obj-arm-y = integratorcp.o versatilepb.o arm_pic.o arm_timer.o
>> Index: qemu-git/configure
>> ===================================================================
>> --- qemu-git.orig/configure
>> +++ qemu-git/configure
>> @@ -175,6 +175,7 @@ trace_backend="nop"
>>   trace_file="trace"
>>   spice=""
>>   rbd=""
>> +tpm="no"
>>
>>   # parse CC options first
>>   for opt do
>> @@ -708,6 +709,8 @@ for opt do
>>    ;;
>>    --kerneldir=*) kerneldir="$optarg"
>>    ;;
>> +  --enable-tpm) tpm="yes"
>> +  ;;
>>    --with-pkgversion=*) pkgversion=" ($optarg)"
>>    ;;
>>    --disable-docs) docs="no"
>> @@ -921,6 +924,7 @@ echo "                           Default
>>   echo "  --disable-spice          disable spice"
>>   echo "  --enable-spice           enable spice"
>>   echo "  --enable-rbd             enable building the rados block device (rbd)"
>> +echo "  --enable-tpm             enables an emulated TPM"
>>   echo ""
>>   echo "NOTE: The object files are built at the place where configure is launched"
>>   exit 1
>> @@ -2540,6 +2544,7 @@ echo "Trace output file $trace_file-<pid
>>   echo "spice support     $spice"
>>   echo "rbd support       $rbd"
>>   echo "xfsctl support    $xfs"
>> +echo "TPM support       $tpm"
>>
>>   if test $sdl_too_old = "yes"; then
>>   echo "->  Your SDL version is too old - please upgrade to have SDL support"
>> @@ -3324,6 +3329,21 @@ if test "$gprof" = "yes" ; then
>>    fi
>>   fi
>>
>> +if test "$linux" = "yes"&&  test "$tpm" = "yes"; then
>> +  has_tpm=0
>> +  if test "$target_softmmu" = "yes" ; then
>> +    case "$TARGET_BASE_ARCH" in
>> +    i386)
>> +      has_tpm=1
> This is not a real compile test, please try to build a dummy program
> that depends on TPM headers like for example preadv probe. Then it is
> not needed to check for Linux or i386 explicitly.
At this point there is no compile test needed since all code is 'there'. 
It's merely adding the front-end,i.e., the TPM TIS emulation to be 
compiled. The (libtpms-based) backend is then added later in patch 
[9/9]. There you then find this here:

    if test "$has_tpm" = "1"; then
+      if test -r /usr/include/libtpms/tpm_library.h ; then
+          echo "CONFIG_TPM_BUILTIN=y">>  $config_target_mak
+      fi
        echo "CONFIG_TPM=y">>  $config_host_mak
    fi
  fi


So this is then trying to test for the libtpms-devel package, and if 
found, adds the tpm_builtin.c to the build.
Now did it look wrong for patch 4 and it does make sense in combination 
with patch 9?

     Stefan

  reply	other threads:[~2011-04-01 19:57 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-30 19:42 [Qemu-devel] [PATCH V2 0/9] Qemu Trusted Platform Module (TPM) integration Stefan Berger
2011-03-30 19:42 ` [Qemu-devel] [PATCH V2 1/9] Support for TPM command line options Stefan Berger
2011-03-30 19:42 ` [Qemu-devel] [PATCH V2 2/9] Add TPM (frontend) hardware interface (TPM TIS) to Qemu Stefan Berger
2011-03-30 19:42 ` [Qemu-devel] [PATCH V2 3/9] Add persistent state handling to TPM TIS frontend driver Stefan Berger
2011-03-30 19:42 ` [Qemu-devel] [PATCH V2 4/9] Add tpm_tis driver to build process Stefan Berger
2011-04-01 18:14   ` Blue Swirl
2011-04-01 19:57     ` Stefan Berger [this message]
2011-04-03  9:20       ` Blue Swirl
2011-04-05  2:08         ` Stefan Berger
2011-04-05 17:45           ` Blue Swirl
2011-04-05 18:33             ` Stefan Berger
2011-04-05 18:55               ` Blue Swirl
2011-04-06  0:12                 ` Stefan Berger
2011-03-30 19:42 ` [Qemu-devel] [PATCH V2 5/9] Add a debug register Stefan Berger
2011-03-30 19:42 ` [Qemu-devel] [PATCH V2 6/9] Implement qemu_thread_join function Stefan Berger
2011-03-30 19:42 ` [Qemu-devel] [PATCH V2 7/9] Add a TPM backend skeleton implementation Stefan Berger
2011-03-30 19:42 ` [Qemu-devel] [PATCH V2 8/9] Implementation of the libtpms-based backend Stefan Berger
2011-03-30 19:42 ` [Qemu-devel] [PATCH V2 9/9] Add block storage support for libtpms based TPM backend Stefan Berger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4D962E1C.2000203@linux.vnet.ibm.com \
    --to=stefanb@linux.vnet.ibm.com \
    --cc=andreas.niederl@iaik.tugraz.at \
    --cc=blauwirbel@gmail.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.