Re: [tpmdd-devel] [PATCH v8 6/8] tpm: TPM 2.0 baseline support
From: <hidden>
Date: 2014-12-08 16:18:25
Also in:
lkml
Hi On 8. Dezember 2014 14:56:15 MEZ, Jarkko Sakkinen [off-list ref] wrote:
On Fri, Dec 05, 2014 at 12:13:18AM +0100, Peter Hüwe wrote:quoted
Am Mittwoch, 3. Dezember 2014, 03:28:35 schrieb Stefan Berger:quoted
On 12/02/2014 05:31 PM, Jarkko Sakkinen wrote:quoted
+ +/** + * tpm2_startup() - send startup command to the TPM chip + * @chip: TPM chip to use. + * @startup_type startup type. The value is either + * TPM_SU_CLEAR or TPM_SU_STATE. + * + * 0 is returned when the operation is successful. If a negativenumberquoted
quoted
quoted
is + * returned it remarks a POSIX error code. If a positivenumber isquoted
quoted
quoted
returned + * it remarks a TPM error. + */ +int tpm2_startup(struct tpm_chip *chip, __be16 startup_type) +{ + struct tpm2_cmd cmd; + + cmd.header.in = tpm2_startup_header; + + cmd.params.startup_in.startup_type = startup_type; + return tpm_transmit_cmd(chip, &cmd, sizeof(cmd), + "attempting to start the TPM"); +}I suppose you need to send this command because your firmware doesnotquoted
quoted
do it ?Following TPM1.2 I guess the BIOS / UEFI should send thisinsteadquoted
quoted
and sending it later would actually be wrong. Hm, I don't find from where you are calling this... do you need it ? Can you remove it? StefanHi, I think it would be good to send a TPM2_Startup if the TPM sends a TPM_RC_INITIALIZE (0x100) - so it becomes atleast usable. Of course the BIOS/UEFI/Firmware should send the TPM2_Startup, but ifthere isquoted
no such thing, I would prefer Linux to do it, rather than nobody. (analog: This was done for embedded platforms with TPM1.2). In the current situation (v9) it is not possible to use the TPM2 on amachinequoted
without bios integration. :( (so I cannot test here :( )Should the place be if sending self-test fails? I think the type should be TPM2_SU_CLEAR. Do you agree?
Yes. If the first command returns "invalid post init" or whatever it is called in tpm20 speech the driver should send the startup clear. Not sure if we should send a startup state in the resume case (like on tpm1.2) And also it might make sense to send a tpm_shutdown? (If we aren't already) I think even on a machine with bios integration we have to send this?
All other issues are now fixed except this and STS3 bit issue that I look for next. In my github there is tpm2-v10 branch now with fixes on top. I squash the fixes right after these two remaining issues are fixed.quoted
Peter/Jarkko
Peter -- Sent from my mobile.