From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([140.186.70.92]:55263) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QeVOd-0001nD-EO for qemu-devel@nongnu.org; Wed, 06 Jul 2011 12:56:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1QeVOZ-0003jZ-PN for qemu-devel@nongnu.org; Wed, 06 Jul 2011 12:56:19 -0400 Received: from e4.ny.us.ibm.com ([32.97.182.144]:42931) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1QeVOZ-0003jM-Eo for qemu-devel@nongnu.org; Wed, 06 Jul 2011 12:56:15 -0400 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e4.ny.us.ibm.com (8.14.4/8.13.1) with ESMTP id p66GYCRH003695 for ; Wed, 6 Jul 2011 12:34:12 -0400 Received: from d03av02.boulder.ibm.com (d03av02.boulder.ibm.com [9.17.195.168]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id p66GuCLp160442 for ; Wed, 6 Jul 2011 12:56:13 -0400 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 p66AteTA029877 for ; Wed, 6 Jul 2011 04:55:43 -0600 Message-Id: <20110706163158.459850865@linux.vnet.ibm.com> Date: Wed, 06 Jul 2011 12:31:58 -0400 From: Stefan Berger Subject: [Qemu-devel] [PATCH V5 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 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