From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:49521) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q9diB-0000pg-Dr for qemu-devel@nongnu.org; Tue, 12 Apr 2011 09:32:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Q9diA-0002s4-At for qemu-devel@nongnu.org; Tue, 12 Apr 2011 09:32:55 -0400 Received: from e34.co.us.ibm.com ([32.97.110.152]:58041) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Q9diA-0002rn-5L for qemu-devel@nongnu.org; Tue, 12 Apr 2011 09:32:54 -0400 Received: from d03relay02.boulder.ibm.com (d03relay02.boulder.ibm.com [9.17.195.227]) by e34.co.us.ibm.com (8.14.4/8.13.1) with ESMTP id p3CDKl1l012268 for ; Tue, 12 Apr 2011 07:20:47 -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 p3CDWpTM109444 for ; Tue, 12 Apr 2011 07:32:51 -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 p3CDWplF013171 for ; Tue, 12 Apr 2011 07:32:51 -0600 Message-Id: <20110412133234.861465124@linux.vnet.ibm.com> Date: Tue, 12 Apr 2011 09:32:34 -0400 From: Stefan Berger Subject: [Qemu-devel] [PATCH V4 0/8] 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 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