71e3b99f0af42b8fbc6024232dcf968e5cdc665a |
|
14-Aug-2015 |
Jocelyn Bohr <bohr@chromium.org> |
Allow compilation with -O2 flag, add -fPIC flag. CL:292945 introduces CFLAGS environment variable, which contains -O2 in emerge environment. This patch fixes compiler errors "warning: dereferencing type-punned pointer will break strict-aliasing rules" introduced by using -O2 flag. This flag also introduces -fPIC when compiling not for embedded. This is needed to link against libtpm2. TEST=$ sudo emerge tpm2 builds libtpm2.a with all compiler flags $ sudo emerge tpm2-simulator builds tpm2-simulator The simulator works as before with trunks (can run --startup, --clear, and partially --own --owner_password="") $ make EMBEDDED_MODE=1 ROOTDIR=1 builds libtpm2.a for embedded BUG=none Change-Id: Iacc821fb840b653af1466edfaa8e5615fd73b36e Signed-off-by: Jocelyn Bohr <bohr@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/293815 Reviewed-by: Utkarsh Sanghi <usanghi@chromium.org>
/external/tpm2/TpmFail.c
|
7878aefcd59699a343a5699b68a40187e8f878f2 |
|
12-Aug-2015 |
Vadim Bendebury <vbendeb@chromium.org> |
Introduce embedded mode conditional compilation When running on embedded targets software cryptography is often not available due to inadequate toolchain capabilities and limited hardware resources. Invoking make with EMBEDDED_MODE=1 ROOTDIR=1 will stub out cryptographic functions and will provide another -I preprocessor option to allow to pull in alternative .h files not available from the toolchain. NV Ram buffer size provisionally is being reduced to 8K. In final embedded implementation NVRam might be held in flash, in which case the required memory buffer could limited to one flash block size. Some big data objects not used in the code are also being compiled out when building for embedded mode of operation. BUG=chrome-os-partner:43025 TEST=with the rest of the changes in place the code compiles with the EC, and TPM startup sequence gets invoked. Change-Id: I71487570d2032c66b30c0bdf0b152dec6d0ece8a Signed-off-by: Vadim Bendebury <vbendeb@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/292945 Reviewed-by: Utkarsh Sanghi <usanghi@chromium.org> Commit-Queue: Vadim Bendebury <vbendeb@gmail.com>
/external/tpm2/TpmFail.c
|
32be40450906cd2c80dee4a83204931f7f3a2daa |
|
30-Jul-2015 |
Jocelyn Bohr <bohr@chromium.org> |
Remove instances of calling marshal functions with NULL pointer. In the code scraped from the TCG TPM2.0 Library specification, there are several instances where the intent is to marshal data into a buffer, but NULL pointer is passed in as size. Part 4 section 4.2.3.1 states: "If size is a NULL pointer, then no data is marshaled and the routine will compute the size of the memory required to marshal the indicated type." Implying these usages are bugs. This CL removes all instances of passing in NULL as size to a Marshal function when the intent is to marshal data. TEST=$ sudo emerge tpm2 builds libtpm2.a. Currently this is the only test we have for the scraped code. BUG=none Change-Id: If7b2a60f6a8e875b4a6eceab513dc22325bf4999 Reviewed-on: https://chromium-review.googlesource.com/289647 Reviewed-by: Utkarsh Sanghi <usanghi@chromium.org> Commit-Queue: Jocelyn Bohr <bohr@chromium.org> Tested-by: Jocelyn Bohr <bohr@chromium.org>
/external/tpm2/TpmFail.c
|
5679752bf24c21135884e987c4077e2f71848971 |
|
20-May-2015 |
Vadim Bendebury <vbendeb@chromium.org> |
Initial commit to seed TPM2.0 source code directory LICENSE file text copied from TCG library specification. README describes the procedure used to extract source code from parts 3 and 4 of the specification. The python scripts and part{34}.txt files will be removed in the following commits. Change-Id: Ie281e6e988481831f33483053455e8aff8f3f75f Signed-off-by: Vadim Bendebury <vbendeb@chromium.org>
/external/tpm2/TpmFail.c
|