#
467382ca |
|
14-Dec-2023 |
Tom Rini <trini@konsulko.com> |
lib: Remove <common.h> inclusion from these files After some header file cleanups to add missing include files, remove common.h from all files in the lib directory. This primarily means just dropping the line but in a few cases we need to add in other header files now. Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Tom Rini <trini@konsulko.com> |
#
a11be4c3 |
|
21-Feb-2023 |
Simon Glass <sjg@chromium.org> |
tpm: Implement tpm_auto_start() for TPMv1.2 Add an implementation of this, moving the common call to tpm_init() up into the common API implementation. Add a test. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
a595be3a |
|
24-Jan-2023 |
Ilias Apalodimas <ilias.apalodimas@linaro.org> |
tpm: add a function that performs selftest + startup As described in [0] if a command requires use of an untested algorithm or functional module, the TPM performs the test and then completes the command actions. Since we don't check for TPM_RC_NEEDS_TEST (which is the return code of the TPM in that case) and even if we would, it would complicate our TPM code for no apparent reason, add a wrapper function that performs both the selftest and the startup sequence of the TPM. It's worth noting that this is implemented on TPMv2.0. The code for 1.2 would look similar, but I don't have a device available to test. [0] https://trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-1-Architecture-01.07-2014-03-13.pdf §12.3 Self-test modes Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
a557d258 |
|
30-Aug-2022 |
Simon Glass <sjg@chromium.org> |
tpm: Require a digest source when extending the PCR This feature is used for measured boot, so we can add a log entry to the TCPA with some information about where the digest comes from. It is not currently supported in the TPM drivers, but add it to the API so that code which expects it can signal its request. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
e67ffb5a |
|
22-Jul-2022 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
tpm: rng: Add driver model interface for TPM RNG device The TPM device has a builtin random number generator(RNG) functionality. Expose the RNG functions of the TPM device to the driver model so that they can be used by the EFI_RNG_PROTOCOL if the protocol is installed. Also change the function arguments and return type of the random number functions to comply with the driver model api. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
5e593782 |
|
22-Jul-2022 |
Simon Glass <sjg@chromium.org> |
tpm: Export the TPM-version functions These functions should really be available outside the TPM code, so that other callers can find out which version the TPM is. Rename them to have a tpm_ prefix() and add them to the header file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
7785bc1d |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for write_lock Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
6719cbe3 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for read/write values Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
b8eb9210 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add a basic API implementation for TPMv2 Add support for TPMv2 versions of API functions. So far this is not complete as the standard is quite large, but it implements everything currently available for TPMv2 in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
bfe8fa26 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add an API that can support v1.2 and v2 There are two different TPM standards. U-Boot supports both but each has its own set of functions. We really need a single TPM API that can call one or the other. This is not always possible as there are some differences between the two standards, but it is mostly possible. Add an API to handle this. So far it is not plumbed into the build and only supports TPMv1. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
a11be4c3 |
|
21-Feb-2023 |
Simon Glass <sjg@chromium.org> |
tpm: Implement tpm_auto_start() for TPMv1.2 Add an implementation of this, moving the common call to tpm_init() up into the common API implementation. Add a test. Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
a595be3a |
|
24-Jan-2023 |
Ilias Apalodimas <ilias.apalodimas@linaro.org> |
tpm: add a function that performs selftest + startup As described in [0] if a command requires use of an untested algorithm or functional module, the TPM performs the test and then completes the command actions. Since we don't check for TPM_RC_NEEDS_TEST (which is the return code of the TPM in that case) and even if we would, it would complicate our TPM code for no apparent reason, add a wrapper function that performs both the selftest and the startup sequence of the TPM. It's worth noting that this is implemented on TPMv2.0. The code for 1.2 would look similar, but I don't have a device available to test. [0] https://trustedcomputinggroup.org/wp-content/uploads/TPM-Rev-2.0-Part-1-Architecture-01.07-2014-03-13.pdf §12.3 Self-test modes Reviewed-by: Simon Glass <sjg@chromium.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
a557d258 |
|
30-Aug-2022 |
Simon Glass <sjg@chromium.org> |
tpm: Require a digest source when extending the PCR This feature is used for measured boot, so we can add a log entry to the TCPA with some information about where the digest comes from. It is not currently supported in the TPM drivers, but add it to the API so that code which expects it can signal its request. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
e67ffb5a |
|
22-Jul-2022 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
tpm: rng: Add driver model interface for TPM RNG device The TPM device has a builtin random number generator(RNG) functionality. Expose the RNG functions of the TPM device to the driver model so that they can be used by the EFI_RNG_PROTOCOL if the protocol is installed. Also change the function arguments and return type of the random number functions to comply with the driver model api. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
5e593782 |
|
22-Jul-2022 |
Simon Glass <sjg@chromium.org> |
tpm: Export the TPM-version functions These functions should really be available outside the TPM code, so that other callers can find out which version the TPM is. Rename them to have a tpm_ prefix() and add them to the header file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
7785bc1d |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for write_lock Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
6719cbe3 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for read/write values Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
b8eb9210 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add a basic API implementation for TPMv2 Add support for TPMv2 versions of API functions. So far this is not complete as the standard is quite large, but it implements everything currently available for TPMv2 in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
bfe8fa26 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add an API that can support v1.2 and v2 There are two different TPM standards. U-Boot supports both but each has its own set of functions. We really need a single TPM API that can call one or the other. This is not always possible as there are some differences between the two standards, but it is mostly possible. Add an API to handle this. So far it is not plumbed into the build and only supports TPMv1. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
a557d258 |
|
30-Aug-2022 |
Simon Glass <sjg@chromium.org> |
tpm: Require a digest source when extending the PCR This feature is used for measured boot, so we can add a log entry to the TCPA with some information about where the digest comes from. It is not currently supported in the TPM drivers, but add it to the API so that code which expects it can signal its request. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
e67ffb5a |
|
22-Jul-2022 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
tpm: rng: Add driver model interface for TPM RNG device The TPM device has a builtin random number generator(RNG) functionality. Expose the RNG functions of the TPM device to the driver model so that they can be used by the EFI_RNG_PROTOCOL if the protocol is installed. Also change the function arguments and return type of the random number functions to comply with the driver model api. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
5e593782 |
|
22-Jul-2022 |
Simon Glass <sjg@chromium.org> |
tpm: Export the TPM-version functions These functions should really be available outside the TPM code, so that other callers can find out which version the TPM is. Rename them to have a tpm_ prefix() and add them to the header file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
7785bc1d |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for write_lock Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
6719cbe3 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for read/write values Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
b8eb9210 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add a basic API implementation for TPMv2 Add support for TPMv2 versions of API functions. So far this is not complete as the standard is quite large, but it implements everything currently available for TPMv2 in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
bfe8fa26 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add an API that can support v1.2 and v2 There are two different TPM standards. U-Boot supports both but each has its own set of functions. We really need a single TPM API that can call one or the other. This is not always possible as there are some differences between the two standards, but it is mostly possible. Add an API to handle this. So far it is not plumbed into the build and only supports TPMv1. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
e67ffb5a |
|
22-Jul-2022 |
Sughosh Ganu <sughosh.ganu@linaro.org> |
tpm: rng: Add driver model interface for TPM RNG device The TPM device has a builtin random number generator(RNG) functionality. Expose the RNG functions of the TPM device to the driver model so that they can be used by the EFI_RNG_PROTOCOL if the protocol is installed. Also change the function arguments and return type of the random number functions to comply with the driver model api. Signed-off-by: Sughosh Ganu <sughosh.ganu@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
5e593782 |
|
22-Jul-2022 |
Simon Glass <sjg@chromium.org> |
tpm: Export the TPM-version functions These functions should really be available outside the TPM code, so that other callers can find out which version the TPM is. Rename them to have a tpm_ prefix() and add them to the header file. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
7785bc1d |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for write_lock Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
6719cbe3 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for read/write values Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
b8eb9210 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add a basic API implementation for TPMv2 Add support for TPMv2 versions of API functions. So far this is not complete as the standard is quite large, but it implements everything currently available for TPMv2 in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
bfe8fa26 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add an API that can support v1.2 and v2 There are two different TPM standards. U-Boot supports both but each has its own set of functions. We really need a single TPM API that can call one or the other. This is not always possible as there are some differences between the two standards, but it is mostly possible. Add an API to handle this. So far it is not plumbed into the build and only supports TPMv1. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
7785bc1d |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for write_lock Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
6719cbe3 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add TPM2 support for read/write values Implement this API function for TPM2. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
b8eb9210 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add a basic API implementation for TPMv2 Add support for TPMv2 versions of API functions. So far this is not complete as the standard is quite large, but it implements everything currently available for TPMv2 in U-Boot. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |
#
bfe8fa26 |
|
06-Feb-2021 |
Simon Glass <sjg@chromium.org> |
tpm: Add an API that can support v1.2 and v2 There are two different TPM standards. U-Boot supports both but each has its own set of functions. We really need a single TPM API that can call one or the other. This is not always possible as there are some differences between the two standards, but it is mostly possible. Add an API to handle this. So far it is not plumbed into the build and only supports TPMv1. Signed-off-by: Simon Glass <sjg@chromium.org> Acked-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> |