commit | cb73fa7ecf332e8f04a9ae411c851ca9e0fff41a | [log] [tgz] |
---|---|---|
author | Edward Hill <ecgh@chromium.org> | Thu May 12 21:33:05 2022 +0000 |
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | Sun Jul 03 23:41:19 2022 +0000 |
tree | 2b4b267f0aeb1d51383a5742d6eb36af509e61f2 | |
parent | fc39c8b509da8a45869d7c0e44b263dd631c6fb4 [diff] |
pinweaver: Build for Ti50 Add Makefile, Cargo.toml, build.rs, etc to enable building the Pinweaver library for Ti50. Add bindings.rs (generated using bindgen) to allow the library to be called from Rust. BUG=b:165024054 TEST=pinweaver_client selftest Change-Id: Id332af73b99259f9c5267abdb707ec34591179d7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/pinweaver/+/3652226 Commit-Queue: Edward Hill <ecgh@chromium.org> Reviewed-by: Andrey Pronin <apronin@chromium.org> Tested-by: Edward Hill <ecgh@chromium.org>
This directory contains reference PinWeaver code that can be used across implementation platforms.
It consists of:
pinweaver.h
- PinWeaver embedded API definitionpinweaver.c
- implementationpinweaver_eal.h
- API for Environment Abstraction Layer (EAL) used by PinWeavereal/**/pinweaver_eal_types.h
pinweaver_types.h
- header that is shared by PinWeaver implementation and PinWeaver clients that call it through platform-specific interface.eal/
foldereal/cr50
- implementation for cr50pinweaver_eal_types.h
- cr50-specific EAL API typespinweaver_eal.c
- cr50 implementation of EALeal/tpm_storage
- implementation for platforms that use TPM as PinWeaver data storagepinweaver_eal_types.h
- TPM-storage-specific EAL API typespinweaver_eal_tpm.h
- additional EAL functions required by TPM storagepinweaver_eal_linux.c
- implementation of non-storage EAL methods for Linux casetpm_storage_stubs.c
- empty implementation of storage EAL methodstpm_storage.c
- implementation of storage EAL methods on top of TSSmini_trunks/
- mini-TSS (TPM client software stack) used by TPM storage implementationpinweaver_eal.h
+ pinweaver_eal_tpm.h
EAL methodstss.h
+ *authorization_delegate.h
A platform implementation that uses TPM storage EAL option needs to implement all EAL methods implemented in pinweaver_eal_linux.c
(or use it as-is, if Linux compatible).