commit | 3abfd77090d24ca8d2d7260d6ba6aaec2e4c35ae | [log] [tgz] |
---|---|---|
author | Alyssa Haroldsen <kupiakos@google.com> | Wed May 25 21:23:45 2022 +0000 |
committer | Chromeos LUCI <chromeos-scoped@luci-project-accounts.iam.gserviceaccount.com> | Wed Aug 10 06:18:20 2022 +0000 |
tree | 86f25a69ccb900fd0f5da1a8861df68696c36330 | |
parent | 8a276a6be1f23d6ae6bca3c23118e06bb5aee32b [diff] |
pinweaver: Generate bindings at build time This requires a particular set of flags and environment variables to work correctly with our system. BUG=b:165024054 TEST=cd src/platform/ti50/common; make build Co-authored-by: Edward Hill <ecgh@chromium.org> Change-Id: I82f9c2b2b8aa6609ec85fb2da2e218b53cab0721 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/pinweaver/+/3806905 Tested-by: Alyssa Haroldsen <kupiakos@google.com> Reviewed-by: Andrey Pronin <apronin@chromium.org> Auto-Submit: Alyssa Haroldsen <kupiakos@google.com> Reviewed-by: Edward Hill <ecgh@chromium.org> Commit-Queue: 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).