Hi As of today can we possibly do this:
1. drivers/char/tpm (C code) 2. drivers/char/tpm/protocol (imported tpm2_protocol) ? And then build FFI from C to Rust for building commands that we need today etc. There's one particular challenge where this could help: early boot code for D-RTM (i.e., Trenchboot) as given my crate is just a thing in stack with no deps, it could be linked also to that payload. This would be much better integration step for TPM2 than having a separate driver on Rust side. We could start with tpm2-cmd1/cmd2, then move on to tpm2-space.c i.e. get all structural processing inside Rust. tpm2_protocol is light on definitions and should not need any kernel specific Rust shenanigans. Consider it as value like integer but just a bit more complex internaal represention but in the end it is just a value on stack. My goal with tpm2_protocol is to have ACPICA alike model of imports as the crate is driven by TCG spec updates and it is very likely to be also used by TPM-RS (also via import style process). BR, Jarkko