Created attachment 254980 [details] modified tpm_crb driver I'm using a system with TPM2.0 and acpi start method (2) TPM2: Length=56, Revision=3, Checksum=73, OEMID=INSYDE, OEM Table ID=Dibbler, OEM Revision=0x2, Creator ID=ACPI, Creator Revision=0x40000 ControlArea=fea10510 StartMethod=2 this not yet supported in freebsd. I've adapted tpm_crb driver to support it. I've tested only on my HW but previous implementation for TPM2_START_METHOD_CRB (7) should still work.
TPM 2.0 is supported via ACPI for TIS, but CRB might need some work. I don't have a CRB setup, but can review the driver. Can you post a diff against main, instead of a full driver?
StartMethod=2 (TPM2_START_METHOD_ACPI) is not implemented in tpm_tis.c either.
Looking at the Linux driver, what exactly is the difference between start method=2 and start method=8? Is it just that the ControlArea of the former is mapped outside of the memory region?
it' not only the mapping of the control-area, start method is using different method to activate tpm, only a subset of crb control registers are used. you could find all difference if you search in my code where crb_sc->acpi_startmethod is used
(In reply to Christian Nuber-Bertram from comment #4) Right, searching your code didn't help because we don't currently support startmethod=8 -- I'm trying to understand what the difference is between the startmethods labelled "ACPI Start" and "CRB with ACPI Start" since the Linux driver handles them both nearly identically in their CRB driver, AFAICT.