qemu-devel.nongnu.org archive mirror
 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).