History log of /external/tpm2/TpmFail.c
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
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