From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42690) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxMTz-0001v1-Fc for qemu-devel@nongnu.org; Tue, 26 May 2015 17:33:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YxMTv-0002OL-6m for qemu-devel@nongnu.org; Tue, 26 May 2015 17:33:55 -0400 Received: from e31.co.us.ibm.com ([32.97.110.149]:60737) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YxMTu-0002Np-VX for qemu-devel@nongnu.org; Tue, 26 May 2015 17:33:51 -0400 Received: from /spool/local by e31.co.us.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 26 May 2015 15:33:50 -0600 Received: from b03cxnp08028.gho.boulder.ibm.com (b03cxnp08028.gho.boulder.ibm.com [9.17.130.20]) by d03dlp01.boulder.ibm.com (Postfix) with ESMTP id 5DA091FF0049 for ; Tue, 26 May 2015 15:24:57 -0600 (MDT) Received: from d03av04.boulder.ibm.com (d03av04.boulder.ibm.com [9.17.195.170]) by b03cxnp08028.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id t4QLXHas41353420 for ; Tue, 26 May 2015 14:33:17 -0700 Received: from d03av04.boulder.ibm.com (loopback [127.0.0.1]) by d03av04.boulder.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id t4QLXk5u012802 for ; Tue, 26 May 2015 15:33:47 -0600 From: Stefan Berger Date: Tue, 26 May 2015 17:33:38 -0400 Message-Id: <1432676024-1046793-1-git-send-email-stefanb@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v3 0/6] Extend TPM support with a QEMU-external TPM List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: mst@redhat.com, qemu-devel@nongnu.org, imammedo@redhat.com Cc: quan.xu@intel.com, Stefan Berger The following series of patches extends TPM support with an external TPM that offers a Linux CUSE (character device in userspace) interface. This TPM lets each VM access its own private vTPM. The CUSE TPM supports suspend/resume and migration. Much out-of-band functionality necessary to control the CUSE TPM is implemented using ioctl's. The series extends the TPM support so far that most functionality of TPM support on a physical platform is now available to each x86 VM, this includes the Physical Presence Interface support that has its counter-part in the SeaBIOS and is implemented using ACPI. Stefan Berger (6): Provide support for the CUSE TPM Introduce RAM location in vendor specific area in TIS Support Physical Presence Interface Spec Introduce condition to notifiy waiters of completed command Introduce condition in TPM backend for notification Add support for VM suspend/resume for TPM TIS hmp.c | 6 + hw/i386/ssdt-tpm-common.dsl | 182 ++++++++++++++ hw/i386/ssdt-tpm.dsl | 1 + hw/i386/ssdt-tpm.hex.generated | 540 +++++++++++++++++++++++++++++++++++++++- hw/i386/ssdt-tpm2.dsl | 1 + hw/i386/ssdt-tpm2.hex.generated | 516 +++++++++++++++++++++++++++++++++++++- hw/tpm/tpm_int.h | 4 + hw/tpm/tpm_ioctl.h | 178 +++++++++++++ hw/tpm/tpm_passthrough.c | 423 ++++++++++++++++++++++++++++++- hw/tpm/tpm_tis.c | 180 +++++++++++++- hw/tpm/tpm_tis.h | 4 + hw/tpm/tpm_util.c | 206 +++++++++++++++ hw/tpm/tpm_util.h | 7 + include/hw/acpi/tpm.h | 19 ++ include/sysemu/tpm_backend.h | 12 + qapi-schema.json | 17 +- qemu-options.hx | 21 +- qmp-commands.hx | 2 +- tpm.c | 11 +- 19 files changed, 2298 insertions(+), 32 deletions(-) create mode 100644 hw/tpm/tpm_ioctl.h -- 1.9.3