Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751437AbaLEPBQ (ORCPT ); Fri, 5 Dec 2014 10:01:16 -0500 Received: from mout.gmx.net ([212.227.15.15]:52565 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751183AbaLEPBO (ORCPT ); Fri, 5 Dec 2014 10:01:14 -0500 MIME-Version: 1.0 Message-ID: From: "Peter Huewe" To: =?UTF-8?Q?=22Peter_H=C3=BCwe=22?= Cc: tpmdd-devel@lists.sourceforge.net, christophe.ricard@gmail.com, josh.triplett@intel.com, linux-api@vger.kernel.org, "Ashley Lai" , linux-kernel@vger.kernel.org, "Will Arthur" , jason.gunthorpe@obsidianresearch.com, trousers-tech@lists.sourceforge.net Subject: Aw: Re: [tpmdd-devel] [PATCH v9 8/8] tpm: TPM 2.0 FIFO Interface Content-Type: text/plain; charset=UTF-8 Date: Fri, 5 Dec 2014 16:01:01 +0100 Importance: normal Sensitivity: Normal In-Reply-To: <201412042328.29578.PeterHuewe@gmx.de> References: <1417672518-4530-1-git-send-email-jarkko.sakkinen@linux.intel.com> <1417672518-4530-9-git-send-email-jarkko.sakkinen@linux.intel.com> <201412042318.33889.PeterHuewe@gmx.de>, <201412042328.29578.PeterHuewe@gmx.de> X-UI-Message-Type: mail X-Priority: 3 X-Provags-ID: V03:K0:OQndjQNEKBcZNXyUGPytoLWEMDDBV4c5wF4wE1wLvHQ OwW505z4h9h084N6QiOgZ41vEC8qGcIG7A2Wkkj6sDhFu6YePL gTmFgwzjegH3AiJBp2CaBTvl/yuhxNQhkKLrutEbO32UaOFJJV sih5+Nkd7kr0GVeLP8y07tnTEzLNpcz6SuI4/AVPxw5XNkmm0m vda58eL2zU1eJ3jAZRG5l2+USDHAYoNpkPaJ6GxeifpBp61LBh xthCqhc0ntH5+4X5M+IgktJx40pF4VHDAPMQARRvE2W92iczra u6KrjU= X-UI-Out-Filterresults: notjunk:1; Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > > > Am Donnerstag, 4. Dezember 2014, 06:55:18 schrieb Jarkko Sakkinen: > > > From: Will Arthur > > > > > > Detect TPM 2.0 by using the extended STS (STS3) register. For TPM 2.0, > > > instead of calling tpm_get_timeouts(), assign duration and timeout > > > values defined in the TPM 2.0 PTP specification. > > > > > > Signed-off-by: Will Arthur > > > Signed-off-by: Jarkko Sakkinen > > > > > > > + sts3 = ioread8(chip->vendor.iobase + TPM_STS3(1)); > > > + if ((sts3 & TPM_STS3_TPM2_FAM) == TPM_STS3_TPM2_FAM) > > > + chip->flags = TPM_CHIP_FLAG_TPM2; > > > + > > > > > > > > When loading tpm_tis force=1 with my tpm1.2 chip on a machine without bios > > integration, it fets detected as a TPM2.0 chip :/ > > > > sudo rmmod tpm_tis > > # modprobe tpm_tis force=1 > > modprobe: ERROR: could not insert 'tpm_tis': No such device > > # dmesg > > [ 263.903828] tpm_tis tpm_tis: 2.0 TPM (device-id 0xB, rev-id 16) > > [ 263.948049] tpm_tis tpm_tis: A TPM error (10) occurred continue selftest > > [ 263.948120] tpm_tis tpm_tis: TPM self test failed > > > > > > sts3 is reported as 0xff from my TPM1.2 > > > > > Hmm, > my TPM2.0 chip also reports sts3 as 0xff (when loading with force=1 on a > machine without bios integration) > > [ 307.095344] sts3 ff > [ 307.095366] tpm_tis tpm_tis: 2.0 TPM (device-id 0x1A, rev-id 16) > [ 307.140047] tpm_tis tpm_tis: A TPM error (256) occurred continue selftest > [ 307.140056] tpm_tis tpm_tis: TPM self test failed You are reading "sts3" - before requesting the locality and thus it returns 0xff for a TPM20 chip as well. --> You have to have an active locality first. For a TPM2.0 0xFF is not a valid value (if active locality is set), since reading commandCancel and resetEstablishment bit always return 0 on reads (according to spec). --> 0xFF should be treated as a TPM1.2 (older tpms with TIS 1.2) --> 0x04 should be treated as TPM 2.0 --> 0x08 should be treated as TPM1.2 (newer tpms with TIS1.3 enhanced) Thanks, Peter -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/