On 05.03.25 18:36, Stuart Yoder wrote:
Firmware Framework for Arm A-profile (FF-A) is a messaging framework
for Arm-based systems, and in the context of the TPM CRB driver is used
to signal 'start' to a CRB-based TPM service which is hosted in an
FF-A secure partition running in TrustZone.
These patches add support for the CRB FF-A start method defined
in the TCG ACPI specification v1.4 and the FF-A ABI defined
in the Arm TPM Service CRB over FF-A (DEN0138) specification:
https://developer.arm.com/documentation/den0138/latest/
[...]
Stuart Yoder (5):
tpm_crb: implement driver compliant to CRB over FF-A
tpm_crb: clean-up and refactor check for idle support
ACPICA: add start method for Arm FF-A
tpm_crb: add support for the Arm FF-A start method
Documentation: tpm: add documentation for the CRB FF-A interface
Documentation/security/tpm/tpm_ffa_crb.rst | 65 ++++
drivers/char/tpm/Kconfig | 9 +
drivers/char/tpm/Makefile | 1 +
drivers/char/tpm/tpm_crb.c | 105 +++++--
drivers/char/tpm/tpm_crb_ffa.c | 348 +++++++++++++++++++++
drivers/char/tpm/tpm_crb_ffa.h | 25 ++
include/acpi/actbl3.h | 1 +
[...]
My daily linux-next builds for Fedora failed building on ARM64 today. I did
not bisect, but from the error message I suspect it's du to patches in this
series touching drivers/char/tpm/tpm_crb.c :
ld: Unexpected GOT/PLT entries detected!
ld: Unexpected run-time procedure linkages detected!
ld: drivers/char/tpm/tpm_crb.o: in function `crb_cancel':
/builddir/foo//drivers/char/tpm/tpm_crb.c:496:(.text+0x2c0): undefined reference to `tpm_crb_ffa_start'
ld: drivers/char/tpm/tpm_crb.o: in function `__crb_request_locality':
/builddir/foo/drivers/char/tpm/tpm_crb.c:285:(.text+0x768): undefined reference to `tpm_crb_ffa_start'
ld: drivers/char/tpm/tpm_crb.o: in function `__crb_relinquish_locality':
/builddir/foo/drivers/char/tpm/tpm_crb.c:319:(.text+0x81c): undefined reference to `tpm_crb_ffa_start'
ld: drivers/char/tpm/tpm_crb.o: in function `__crb_request_locality':
/builddir/foo/drivers/char/tpm/tpm_crb.c:285:(.text+0x8bc): undefined reference to `tpm_crb_ffa_start'
ld: drivers/char/tpm/tpm_crb.o: in function `__crb_relinquish_locality':
/builddir/foo/drivers/char/tpm/tpm_crb.c:319:(.text+0x958): undefined reference to `tpm_crb_ffa_start'
ld: drivers/char/tpm/tpm_crb.o:/builddir/foo/drivers/char/tpm/tpm_crb.c:474: more undefined references to `tpm_crb_ffa_start' follow
ld: drivers/char/tpm/tpm_crb.o: in function `crb_acpi_add':
/builddir/foo/drivers/char/tpm/tpm_crb.c:830:(.text+0x1518): undefined reference to `tpm_crb_ffa_init'
make[2]: *** [scripts/Makefile.vmlinux:77: vmlinux] Error 1
make[1]: *** [/builddir/foo/Makefile:1242: vmlinux] Error 2
make: *** [Makefile:259: __sub-make] Error 2
Full log:
https://download.copr.fedorainfracloud.org/results/@kernel-vanilla/next/fedora-41-aarch64/08750241-next-next-all/builder-live.log.gz
Same problem on Fedora 40, 42 and 43.