Re: [tpmdd-devel] [PATCH] tpm, tpm_crb: Handle 64-bit resource in crb_check_resource()

From: Jarkko Sakkinen
Date: Tue Jan 03 2017 - 12:13:12 EST


On Tue, Dec 20, 2016 at 12:19:27AM -0600, Jiandi An wrote:
> The control area buffer is specified in the TPM2.0 static ACPI table. TPM
> CRB driver maps the control area address and reads out cmd and rsp buffer
> addresses and maps them. There is no requirement in the TCG TPM ACPI spec
> for specifying _CRS to describe the control area buffer. When I rebased
> the early prototype for CRB driver ARM64 enablement to the latest kernel,
> I hit this issue where I have to specify _CRS method. So in _CRS method
> I specify the same control area address that's in the TPM2.0 static ACPI table.
>
> I see the _CRS requirement in the CRB driver is for resource synchronization
> between the TIS and CRB drivers to support force mode in TIS. Could I get some
> background on that so I could be more careful not breaking TIS while making
> changes to CRB driver for ARM64 enablement?

At least couple of reasons:

- _CRS is required to access locality registers (check my patch set
that is waiting for review/testing).
- On x86 and PTT _CRS always exists and that's the only platform
where this driver has been used so far.

/Jarkko