From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:53776) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrC0W-0007OD-1M for qemu-devel@nongnu.org; Wed, 10 Aug 2011 12:51:55 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QrC0P-0004G7-HU for qemu-devel@nongnu.org; Wed, 10 Aug 2011 12:51:52 -0400 Received: from e36.co.us.ibm.com ([32.97.110.154]:44154) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QrC0P-0004Fo-8h for qemu-devel@nongnu.org; Wed, 10 Aug 2011 12:51:45 -0400 Received: from d03relay02.boulder.ibm.com (d03relay02.boulder.ibm.com [9.17.195.227]) by e36.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p7AGjMVU015764 for ; Wed, 10 Aug 2011 10:45:22 -0600 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d03relay02.boulder.ibm.com (8.13.8/8.13.8/NCO v9.1) with ESMTP id p7AGpdF5094060 for ; Wed, 10 Aug 2011 10:51:42 -0600 Received: from d03av02.boulder.ibm.com (loopback [127.0.0.1]) by d03av02.boulder.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id p7AApBPD026421 for ; Wed, 10 Aug 2011 04:51:11 -0600 Message-Id: <20110810165122.639452836@linux.vnet.ibm.com> Date: Wed, 10 Aug 2011 12:51:22 -0400 From: Stefan Berger Subject: [Qemu-devel] [PATCH V6 0/9] Add TPM support to SeaBIOS List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: stefanb@linux.vnet.ibm.com, seabios@seabios.org Cc: qemu-devel@nongnu.org The following set of patches add TPM and Trusted Computing support to SeaBIOS. In particular the patches add: - a TPM driver for the Qemu's TPM TIS emulation (not yet in Qemu git) - ACPI support for the TPM device (SSDT table) - ACPI support for measurement logging (TCPA table) - Support for initialzation of the TPM - Support for the TCG BIOS extensions (1ah handler [ah = 0xbb]) (used by trusted grub; http://trousers.sourceforge.net/grub.html) - Static Root of Trusted for Measurement (SRTM) support - Support for S3 resume (sends command to TPM upon resume) - TPM-specific menu for controlling aspects of the TPM - [An optional test suite for the TIS interface] All implementations necessarily follow specifications. When all patches are applied the following services are available - SSDT ACPI table for TPM support - initialization of the TPM upon VM start and S3 resume - Static root of trust for measurements (SRTM) that measures (some) data of SeaBIOS in TCPA ACPI table - 1ah interrupt handler offering APIs for measuring and sending commands to the TPM (trusted grub uses them) - User menu for controlling aspects of the state of the TPM v6: - adapted patches to checkout of 8e30147 (Aug 9) - use timeouts/durations for commands as reported by TPM - following Andreas Niederl's suggestion regarding the ACPI SSDT v5: - adapted patches to checkout of 76b5e71 (June 21) - bugfixes (see individual patches) - added patch to support the transfer of Qemu-provided measurements via firmware interface v4: - if ! has_working_tpm() now returns error code everywhere - tis_test.c now also under LGPLv3 - in inthandler, pulled set_cf() out of switch and then only call it in the default case where we need to indicate that a function is not implemented v3: - some nits here and there - calling timer_setup now after S3 resume v2: - following Kevin's comment - refactoring code so that every patch compiles Regards, Stefan