mbox series

[0/3] Add support for TPM devices over I2C bus

Message ID 20230323030119.2113570-1-ninad@linux.ibm.com (mailing list archive)
Headers show
Series Add support for TPM devices over I2C bus | expand

Message

Ninad Palsule March 23, 2023, 3:01 a.m. UTC
This drop adds support for the TPM devices attached to the I2C bus. It
only supports the TPM2 protocol. You need to run it with the external
TPM emulator like swtpm. I have tested it with swtpm.

I have refered to the work done by zhdaniel@meta.com but at the core
level out implementation is different.
https://github.com/theopolis/qemu/commit/2e2e57cde9e419c36af8071bb85392ad1ed70966

Based-on: $MESSAGE_ID
---
V2:
 Incorporated Stephan's comments.

Ninad Palsule (3):
  docs: Add support for TPM devices over I2C bus
  TPM TIS: Add support for TPM devices over I2C bus
  New I2C: Add support for TPM devices over I2C bus

 docs/specs/tpm.rst      |  20 +-
 hw/arm/Kconfig          |   1 +
 hw/tpm/Kconfig          |   7 +
 hw/tpm/meson.build      |   1 +
 hw/tpm/tpm_tis.h        |   3 +
 hw/tpm/tpm_tis_common.c |  32 +++
 hw/tpm/tpm_tis_i2c.c    | 440 ++++++++++++++++++++++++++++++++++++++++
 include/sysemu/tpm.h    |   3 +
 8 files changed, 506 insertions(+), 1 deletion(-)
 create mode 100644 hw/tpm/tpm_tis_i2c.c

Comments

Cédric Le Goater March 23, 2023, 7:23 a.m. UTC | #1
Hello Ninad,

On 3/23/23 04:01, Ninad Palsule wrote:
> This drop adds support for the TPM devices attached to the I2C bus. It
> only supports the TPM2 protocol. You need to run it with the external
> TPM emulator like swtpm. I have tested it with swtpm.
> 
> I have refered to the work done by zhdaniel@meta.com but at the core
> level out implementation is different.
> https://github.com/theopolis/qemu/commit/2e2e57cde9e419c36af8071bb85392ad1ed70966
> 
> Based-on: $MESSAGE_ID
> ---
> V2:
>   Incorporated Stephan's comments.

Please add a version to the patchsets you send :

   git format-patch -v 2 --cover-letter ....

it is better practice and easier to track in our mailboxes. The automated
tools patchew, patchwork, also track them.

> 
> Ninad Palsule (3):
>    docs: Add support for TPM devices over I2C bus

Generally we add the docs after support. No big deal.


>    TPM TIS: Add support for TPM devices over I2C bus
>    New I2C: Add support for TPM devices over I2C bus

Have you looked at adding tests ? qtest or avocado ?

We discussed offline about it with Stefan and the I2C qos framework in
qtest is a bit of a challenge for the TPM purpose. See the thread here :

   https://lore.kernel.org/qemu-devel/dd43ec84-51e4-11f7-e067-2fb57a567f09@linux.ibm.com/T/#u

Thanks,

C.


> 
>   docs/specs/tpm.rst      |  20 +-
>   hw/arm/Kconfig          |   1 +
>   hw/tpm/Kconfig          |   7 +
>   hw/tpm/meson.build      |   1 +
>   hw/tpm/tpm_tis.h        |   3 +
>   hw/tpm/tpm_tis_common.c |  32 +++
>   hw/tpm/tpm_tis_i2c.c    | 440 ++++++++++++++++++++++++++++++++++++++++
>   include/sysemu/tpm.h    |   3 +
>   8 files changed, 506 insertions(+), 1 deletion(-)
>   create mode 100644 hw/tpm/tpm_tis_i2c.c
>
Ninad Palsule March 23, 2023, 10:35 p.m. UTC | #2
On 3/23/23 2:23 AM, Cédric Le Goater wrote:
> Hello Ninad,
>
> On 3/23/23 04:01, Ninad Palsule wrote:
>> This drop adds support for the TPM devices attached to the I2C bus. It
>> only supports the TPM2 protocol. You need to run it with the external
>> TPM emulator like swtpm. I have tested it with swtpm.
>>
>> I have refered to the work done by zhdaniel@meta.com but at the core
>> level out implementation is different.
>> https://github.com/theopolis/qemu/commit/2e2e57cde9e419c36af8071bb85392ad1ed70966 
>>
>>
>> Based-on: $MESSAGE_ID
>> ---
>> V2:
>>   Incorporated Stephan's comments.
>
> Please add a version to the patchsets you send :
>
>   git format-patch -v 2 --cover-letter ....
>
> it is better practice and easier to track in our mailboxes. The automated
> tools patchew, patchwork, also track them.
>
Yes, I noted down. Sorry I missed that last time.


>>
>> Ninad Palsule (3):
>>    docs: Add support for TPM devices over I2C bus
>
> Generally we add the docs after support. No big deal.
Ok, I will remember this next time.
>
>
>>    TPM TIS: Add support for TPM devices over I2C bus
>>    New I2C: Add support for TPM devices over I2C bus
>
> Have you looked at adding tests ? qtest or avocado ?
>
> We discussed offline about it with Stefan and the I2C qos framework in
> qtest is a bit of a challenge for the TPM purpose. See the thread here :
>
> https://lore.kernel.org/qemu-devel/dd43ec84-51e4-11f7-e067-2fb57a567f09@linux.ibm.com/T/#u

Stefan has already created some tests. Thanks Stefan.


Thanks for the review!

Ninad

>
> Thanks,
>
> C.
>
>
>>
>>   docs/specs/tpm.rst      |  20 +-
>>   hw/arm/Kconfig          |   1 +
>>   hw/tpm/Kconfig          |   7 +
>>   hw/tpm/meson.build      |   1 +
>>   hw/tpm/tpm_tis.h        |   3 +
>>   hw/tpm/tpm_tis_common.c |  32 +++
>>   hw/tpm/tpm_tis_i2c.c    | 440 ++++++++++++++++++++++++++++++++++++++++
>>   include/sysemu/tpm.h    |   3 +
>>   8 files changed, 506 insertions(+), 1 deletion(-)
>>   create mode 100644 hw/tpm/tpm_tis_i2c.c
>>
>