Re: [tpmdd-devel] tpm: read burstcount from TPM_STS in one 32-bit transaction
Michal Suchánek <[email protected]>
| Newsgroups | net.sourceforge.lists.tpmdd-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
On Tue, 25 Jul 2017 10:36:11 -0700 James Bottomley <[email protected]> wrote: > On Tue, 2017-07-25 at 15:04 +0200, Michal Suchánek wrote: > > Hello, > > > > in commit 9754d45e9970 ("tpm: read burstcount from TPM_STS in one > > 32-bit transaction") you change reading of two 8-bit values to one > > 32bit read. This is obviously wrong wrt endianess unless the > > underlying tpm_tis_read32 does endian conversion. > > Some of the bus read primitives do do endianness conversions. The > problem is with the SPI attachment, which has unclear endianness. A > standard PCI bus attachment uses ioread32() which automatically > transforms from a little endian bus to the cpu endianness, however SPI > is forced to transfer the bytes one at a time over the serial bus and > then transform. The assumption seems to be that the TIS TPM is > replying in little endian format when SPI connected. > Yes, that makes sense. Thanks for clarification. Michal