projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
efi_loader: fix build error for freestanding.o
[oweals/u-boot.git]
/
lib
/
tpm-v1.c
diff --git
a/lib/tpm-v1.c
b/lib/tpm-v1.c
index 9d45c3d3bf66a163c86b29617c00dca8c9d0614f..b4498e6afc7ee6e38dd08617e6652e72f0c0e2b5 100644
(file)
--- a/
lib/tpm-v1.c
+++ b/
lib/tpm-v1.c
@@
-31,7
+31,7
@@
static struct session_data oiap_session = {0, };
#endif /* CONFIG_TPM_AUTH_SESSIONS */
#endif /* CONFIG_TPM_AUTH_SESSIONS */
-u32 tpm_startup(enum tpm_startup_type mode)
+u32 tpm_startup(
struct udevice *dev,
enum tpm_startup_type mode)
{
const u8 command[12] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x99, 0x0, 0x0,
{
const u8 command[12] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x0, 0x0, 0x0, 0x99, 0x0, 0x0,
@@
-44,59
+44,59
@@
u32 tpm_startup(enum tpm_startup_type mode)
mode_offset, mode))
return TPM_LIB_ERROR;
mode_offset, mode))
return TPM_LIB_ERROR;
- return tpm_sendrecv_command(buf, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
buf, NULL, NULL);
}
}
-u32 tpm_resume(
void
)
+u32 tpm_resume(
struct udevice *dev
)
{
{
- return tpm_startup(TPM_ST_STATE);
+ return tpm_startup(
dev,
TPM_ST_STATE);
}
}
-u32 tpm_self_test_full(
void
)
+u32 tpm_self_test_full(
struct udevice *dev
)
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x50,
};
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x50,
};
- return tpm_sendrecv_command(command, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
command, NULL, NULL);
}
}
-u32 tpm_continue_self_test(
void
)
+u32 tpm_continue_self_test(
struct udevice *dev
)
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x53,
};
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x53,
};
- return tpm_sendrecv_command(command, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
command, NULL, NULL);
}
}
-u32 tpm_clear_and_reenable(
void
)
+u32 tpm_clear_and_reenable(
struct udevice *dev
)
{
u32 ret;
log_info("TPM: Clear and re-enable\n");
{
u32 ret;
log_info("TPM: Clear and re-enable\n");
- ret = tpm_force_clear();
+ ret = tpm_force_clear(
dev
);
if (ret != TPM_SUCCESS) {
log_err("Can't initiate a force clear\n");
return ret;
}
if (ret != TPM_SUCCESS) {
log_err("Can't initiate a force clear\n");
return ret;
}
-#if IS_ENABLED(CONFIG_TPM_V1)
-
ret = tpm_physical_enable(
);
- if (ret != TPM_SUCCESS) {
- log_err("TPM: Can't set enabled state\n");
- return ret;
- }
+ if (tpm_get_version(dev) == TPM_V1) {
+
ret = tpm_physical_enable(dev
);
+
if (ret != TPM_SUCCESS) {
+
log_err("TPM: Can't set enabled state\n");
+
return ret;
+
}
- ret = tpm_physical_set_deactivated(0);
- if (ret != TPM_SUCCESS) {
- log_err("TPM: Can't set deactivated state\n");
- return ret;
+ ret = tpm_physical_set_deactivated(dev, 0);
+ if (ret != TPM_SUCCESS) {
+ log_err("TPM: Can't set deactivated state\n");
+ return ret;
+ }
}
}
-#endif
return TPM_SUCCESS;
}
return TPM_SUCCESS;
}
-u32 tpm_nv_define_space(u32 index, u32 perm, u32 size)
+u32 tpm_nv_define_space(
struct udevice *dev,
u32 index, u32 perm, u32 size)
{
const u8 command[101] = {
0x0, 0xc1, /* TPM_TAG */
{
const u8 command[101] = {
0x0, 0xc1, /* TPM_TAG */
@@
-136,15
+136,15
@@
u32 tpm_nv_define_space(u32 index, u32 perm, u32 size)
size_offset, size))
return TPM_LIB_ERROR;
size_offset, size))
return TPM_LIB_ERROR;
- return tpm_sendrecv_command(buf, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
buf, NULL, NULL);
}
}
-u32 tpm_nv_set_locked(
void
)
+u32 tpm_nv_set_locked(
struct udevice *dev
)
{
{
- return tpm_nv_define_space(TPM_NV_INDEX_LOCK, 0, 0);
+ return tpm_nv_define_space(
dev,
TPM_NV_INDEX_LOCK, 0, 0);
}
}
-u32 tpm_nv_read_value(u32 index, void *data, u32 count)
+u32 tpm_nv_read_value(
struct udevice *dev,
u32 index, void *data, u32 count)
{
const u8 command[22] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0xcf,
{
const u8 command[22] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0x16, 0x0, 0x0, 0x0, 0xcf,
@@
-163,7
+163,7
@@
u32 tpm_nv_read_value(u32 index, void *data, u32 count)
index_offset, index,
length_offset, count))
return TPM_LIB_ERROR;
index_offset, index,
length_offset, count))
return TPM_LIB_ERROR;
- err = tpm_sendrecv_command(buf, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
buf, response, &response_length);
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
@@
-178,7
+178,8
@@
u32 tpm_nv_read_value(u32 index, void *data, u32 count)
return 0;
}
return 0;
}
-u32 tpm_nv_write_value(u32 index, const void *data, u32 length)
+u32 tpm_nv_write_value(struct udevice *dev, u32 index, const void *data,
+ u32 length)
{
const u8 command[256] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcd,
{
const u8 command[256] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcd,
@@
-201,21
+202,20
@@
u32 tpm_nv_write_value(u32 index, const void *data, u32 length)
length_offset, length,
data_offset, data, length))
return TPM_LIB_ERROR;
length_offset, length,
data_offset, data, length))
return TPM_LIB_ERROR;
- err = tpm_sendrecv_command(buf, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
buf, response, &response_length);
if (err)
return err;
return 0;
}
if (err)
return err;
return 0;
}
-uint32_t tpm_set_global_lock(
void
)
+uint32_t tpm_set_global_lock(
struct udevice *dev
)
{
{
- u32 x;
-
- return tpm_nv_write_value(TPM_NV_INDEX_0, (uint8_t *)&x, 0);
+ return tpm_nv_write_value(dev, TPM_NV_INDEX_0, NULL, 0);
}
}
-u32 tpm_extend(u32 index, const void *in_digest, void *out_digest)
+u32 tpm_extend(struct udevice *dev, u32 index, const void *in_digest,
+ void *out_digest)
{
const u8 command[34] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x14,
{
const u8 command[34] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0x22, 0x0, 0x0, 0x0, 0x14,
@@
-234,7
+234,7
@@
u32 tpm_extend(u32 index, const void *in_digest, void *out_digest)
in_digest_offset, in_digest,
PCR_DIGEST_LENGTH))
return TPM_LIB_ERROR;
in_digest_offset, in_digest,
PCR_DIGEST_LENGTH))
return TPM_LIB_ERROR;
- err = tpm_sendrecv_command(buf, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
buf, response, &response_length);
if (err)
return err;
if (err)
return err;
@@
-246,7
+246,7
@@
u32 tpm_extend(u32 index, const void *in_digest, void *out_digest)
return 0;
}
return 0;
}
-u32 tpm_pcr_read(u32 index, void *data, size_t count)
+u32 tpm_pcr_read(
struct udevice *dev,
u32 index, void *data, size_t count)
{
const u8 command[14] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x15,
{
const u8 command[14] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xe, 0x0, 0x0, 0x0, 0x15,
@@
-264,7
+264,7
@@
u32 tpm_pcr_read(u32 index, void *data, size_t count)
0, command, sizeof(command),
index_offset, index))
return TPM_LIB_ERROR;
0, command, sizeof(command),
index_offset, index))
return TPM_LIB_ERROR;
- err = tpm_sendrecv_command(buf, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
buf, response, &response_length);
if (err)
return err;
if (unpack_byte_string(response, response_length, "s",
if (err)
return err;
if (unpack_byte_string(response, response_length, "s",
@@
-274,7
+274,7
@@
u32 tpm_pcr_read(u32 index, void *data, size_t count)
return 0;
}
return 0;
}
-u32 tpm_tsc_physical_presence(u16 presence)
+u32 tpm_tsc_physical_presence(
struct udevice *dev,
u16 presence)
{
const u8 command[12] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x0, 0x0,
{
const u8 command[12] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x0, 0x0,
@@
-287,19
+287,19
@@
u32 tpm_tsc_physical_presence(u16 presence)
presence_offset, presence))
return TPM_LIB_ERROR;
presence_offset, presence))
return TPM_LIB_ERROR;
- return tpm_sendrecv_command(buf, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
buf, NULL, NULL);
}
}
-u32 tpm_finalise_physical_presence(
void
)
+u32 tpm_finalise_physical_presence(
struct udevice *dev
)
{
const u8 command[12] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x2, 0xa0,
};
{
const u8 command[12] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xc, 0x40, 0x0, 0x0, 0xa, 0x2, 0xa0,
};
- return tpm_sendrecv_command(command, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
command, NULL, NULL);
}
}
-u32 tpm_read_pubek(void *data, size_t count)
+u32 tpm_read_pubek(
struct udevice *dev,
void *data, size_t count)
{
const u8 command[30] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x7c,
{
const u8 command[30] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0x1e, 0x0, 0x0, 0x0, 0x7c,
@@
-312,7
+312,7
@@
u32 tpm_read_pubek(void *data, size_t count)
u32 data_size;
u32 err;
u32 data_size;
u32 err;
- err = tpm_sendrecv_command(command, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
command, response, &response_length);
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
@@
-330,34
+330,34
@@
u32 tpm_read_pubek(void *data, size_t count)
return 0;
}
return 0;
}
-u32 tpm_force_clear(
void
)
+u32 tpm_force_clear(
struct udevice *dev
)
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x5d,
};
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x5d,
};
- return tpm_sendrecv_command(command, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
command, NULL, NULL);
}
}
-u32 tpm_physical_enable(
void
)
+u32 tpm_physical_enable(
struct udevice *dev
)
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x6f,
};
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x6f,
};
- return tpm_sendrecv_command(command, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
command, NULL, NULL);
}
}
-u32 tpm_physical_disable(
void
)
+u32 tpm_physical_disable(
struct udevice *dev
)
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x70,
};
{
const u8 command[10] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0x70,
};
- return tpm_sendrecv_command(command, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
command, NULL, NULL);
}
}
-u32 tpm_physical_set_deactivated(u8 state)
+u32 tpm_physical_set_deactivated(
struct udevice *dev,
u8 state)
{
const u8 command[11] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x72,
{
const u8 command[11] = {
0x0, 0xc1, 0x0, 0x0, 0x0, 0xb, 0x0, 0x0, 0x0, 0x72,
@@
-370,10
+370,11
@@
u32 tpm_physical_set_deactivated(u8 state)
state_offset, state))
return TPM_LIB_ERROR;
state_offset, state))
return TPM_LIB_ERROR;
- return tpm_sendrecv_command(buf, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
buf, NULL, NULL);
}
}
-u32 tpm_get_capability(u32 cap_area, u32 sub_cap, void *cap, size_t count)
+u32 tpm_get_capability(struct udevice *dev, u32 cap_area, u32 sub_cap,
+ void *cap, size_t count)
{
const u8 command[22] = {
0x0, 0xc1, /* TPM_TAG */
{
const u8 command[22] = {
0x0, 0xc1, /* TPM_TAG */
@@
-397,7
+398,7
@@
u32 tpm_get_capability(u32 cap_area, u32 sub_cap, void *cap, size_t count)
cap_area_offset, cap_area,
sub_cap_offset, sub_cap))
return TPM_LIB_ERROR;
cap_area_offset, cap_area,
sub_cap_offset, sub_cap))
return TPM_LIB_ERROR;
- err = tpm_sendrecv_command(buf, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
buf, response, &response_length);
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
@@
-412,7
+413,8
@@
u32 tpm_get_capability(u32 cap_area, u32 sub_cap, void *cap, size_t count)
return 0;
}
return 0;
}
-u32 tpm_get_permanent_flags(struct tpm_permanent_flags *pflags)
+u32 tpm_get_permanent_flags(struct udevice *dev,
+ struct tpm_permanent_flags *pflags)
{
const u8 command[22] = {
0x0, 0xc1, /* TPM_TAG */
{
const u8 command[22] = {
0x0, 0xc1, /* TPM_TAG */
@@
-429,7
+431,7
@@
u32 tpm_get_permanent_flags(struct tpm_permanent_flags *pflags)
u32 err;
u32 data_size;
u32 err;
u32 data_size;
- err = tpm_sendrecv_command(command, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
command, response, &response_length);
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
@@
-450,7
+452,7
@@
u32 tpm_get_permanent_flags(struct tpm_permanent_flags *pflags)
return 0;
}
return 0;
}
-u32 tpm_get_permissions(u32 index, u32 *perm)
+u32 tpm_get_permissions(
struct udevice *dev,
u32 index, u32 *perm)
{
const u8 command[22] = {
0x0, 0xc1, /* TPM_TAG */
{
const u8 command[22] = {
0x0, 0xc1, /* TPM_TAG */
@@
-468,7
+470,7
@@
u32 tpm_get_permissions(u32 index, u32 *perm)
if (pack_byte_string(buf, sizeof(buf), "d", 0, command, sizeof(command),
index_offset, index))
return TPM_LIB_ERROR;
if (pack_byte_string(buf, sizeof(buf), "d", 0, command, sizeof(command),
index_offset, index))
return TPM_LIB_ERROR;
- err = tpm_sendrecv_command(buf, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
buf, response, &response_length);
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
@@
-479,7
+481,7
@@
u32 tpm_get_permissions(u32 index, u32 *perm)
}
#ifdef CONFIG_TPM_FLUSH_RESOURCES
}
#ifdef CONFIG_TPM_FLUSH_RESOURCES
-u32 tpm_flush_specific(u32 key_handle, u32 resource_type)
+u32 tpm_flush_specific(
struct udevice *dev,
u32 key_handle, u32 resource_type)
{
const u8 command[18] = {
0x00, 0xc1, /* TPM_TAG */
{
const u8 command[18] = {
0x00, 0xc1, /* TPM_TAG */
@@
-500,7
+502,7
@@
u32 tpm_flush_specific(u32 key_handle, u32 resource_type)
resource_type_offset, resource_type))
return TPM_LIB_ERROR;
resource_type_offset, resource_type))
return TPM_LIB_ERROR;
- err = tpm_sendrecv_command(buf, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
buf, response, &response_length);
if (err)
return err;
return 0;
if (err)
return err;
return 0;
@@
-638,7
+640,7
@@
static u32 verify_response_auth(u32 command_code, const void *response,
return TPM_SUCCESS;
}
return TPM_SUCCESS;
}
-u32 tpm_terminate_auth_session(u32 auth_handle)
+u32 tpm_terminate_auth_session(
struct udevice *dev,
u32 auth_handle)
{
const u8 command[18] = {
0x00, 0xc1, /* TPM_TAG */
{
const u8 command[18] = {
0x00, 0xc1, /* TPM_TAG */
@@
-657,19
+659,19
@@
u32 tpm_terminate_auth_session(u32 auth_handle)
if (oiap_session.valid && oiap_session.handle == auth_handle)
oiap_session.valid = 0;
if (oiap_session.valid && oiap_session.handle == auth_handle)
oiap_session.valid = 0;
- return tpm_sendrecv_command(request, NULL, NULL);
+ return tpm_sendrecv_command(
dev,
request, NULL, NULL);
}
}
-u32 tpm_end_oiap(
void
)
+u32 tpm_end_oiap(
struct udevice *dev
)
{
u32 err = TPM_SUCCESS;
if (oiap_session.valid)
{
u32 err = TPM_SUCCESS;
if (oiap_session.valid)
- err = tpm_terminate_auth_session(oiap_session.handle);
+ err = tpm_terminate_auth_session(
dev,
oiap_session.handle);
return err;
}
return err;
}
-u32 tpm_oiap(u32 *auth_handle)
+u32 tpm_oiap(
struct udevice *dev,
u32 *auth_handle)
{
const u8 command[10] = {
0x00, 0xc1, /* TPM_TAG */
{
const u8 command[10] = {
0x00, 0xc1, /* TPM_TAG */
@@
-683,9
+685,9
@@
u32 tpm_oiap(u32 *auth_handle)
u32 err;
if (oiap_session.valid)
u32 err;
if (oiap_session.valid)
- tpm_terminate_auth_session(oiap_session.handle);
+ tpm_terminate_auth_session(
dev,
oiap_session.handle);
- err = tpm_sendrecv_command(command, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
command, response, &response_length);
if (err)
return err;
if (unpack_byte_string(response, response_length, "ds",
if (err)
return err;
if (unpack_byte_string(response, response_length, "ds",
@@
-699,8
+701,9
@@
u32 tpm_oiap(u32 *auth_handle)
return 0;
}
return 0;
}
-u32 tpm_load_key2_oiap(u32 parent_handle, const void *key, size_t key_length,
- const void *parent_key_usage_auth, u32 *key_handle)
+u32 tpm_load_key2_oiap(struct udevice *dev, u32 parent_handle, const void *key,
+ size_t key_length, const void *parent_key_usage_auth,
+ u32 *key_handle)
{
const u8 command[14] = {
0x00, 0xc2, /* TPM_TAG */
{
const u8 command[14] = {
0x00, 0xc2, /* TPM_TAG */
@@
-719,7
+722,7
@@
u32 tpm_load_key2_oiap(u32 parent_handle, const void *key, size_t key_length,
u32 err;
if (!oiap_session.valid) {
u32 err;
if (!oiap_session.valid) {
- err = tpm_oiap(NULL);
+ err = tpm_oiap(
dev,
NULL);
if (err)
return err;
}
if (err)
return err;
}
@@
-739,7
+742,7
@@
u32 tpm_load_key2_oiap(u32 parent_handle, const void *key, size_t key_length,
parent_key_usage_auth);
if (err)
return err;
parent_key_usage_auth);
if (err)
return err;
- err = tpm_sendrecv_command(request, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
request, response, &response_length);
if (err) {
if (err == TPM_AUTHFAIL)
oiap_session.valid = 0;
if (err) {
if (err == TPM_AUTHFAIL)
oiap_session.valid = 0;
@@
-764,7
+767,8
@@
u32 tpm_load_key2_oiap(u32 parent_handle, const void *key, size_t key_length,
return 0;
}
return 0;
}
-u32 tpm_get_pub_key_oiap(u32 key_handle, const void *usage_auth, void *pubkey,
+u32 tpm_get_pub_key_oiap(struct udevice *dev, u32 key_handle,
+ const void *usage_auth, void *pubkey,
size_t *pubkey_len)
{
const u8 command[14] = {
size_t *pubkey_len)
{
const u8 command[14] = {
@@
-783,7
+787,7
@@
u32 tpm_get_pub_key_oiap(u32 key_handle, const void *usage_auth, void *pubkey,
u32 err;
if (!oiap_session.valid) {
u32 err;
if (!oiap_session.valid) {
- err = tpm_oiap(NULL);
+ err = tpm_oiap(
dev,
NULL);
if (err)
return err;
}
if (err)
return err;
}
@@
-799,7
+803,7
@@
u32 tpm_get_pub_key_oiap(u32 key_handle, const void *usage_auth, void *pubkey,
request + sizeof(command), usage_auth);
if (err)
return err;
request + sizeof(command), usage_auth);
if (err)
return err;
- err = tpm_sendrecv_command(request, response, &response_length);
+ err = tpm_sendrecv_command(
dev,
request, response, &response_length);
if (err) {
if (err == TPM_AUTHFAIL)
oiap_session.valid = 0;
if (err) {
if (err == TPM_AUTHFAIL)
oiap_session.valid = 0;
@@
-829,8
+833,8
@@
u32 tpm_get_pub_key_oiap(u32 key_handle, const void *usage_auth, void *pubkey,
}
#ifdef CONFIG_TPM_LOAD_KEY_BY_SHA1
}
#ifdef CONFIG_TPM_LOAD_KEY_BY_SHA1
-u32 tpm_find_key_sha1(
const u8 auth[20], const u8 pubkey_digest
[20],
- u32 *handle)
+u32 tpm_find_key_sha1(
struct udevice *dev, const u8 auth
[20],
+
const u8 pubkey_digest[20],
u32 *handle)
{
u16 key_count;
u32 key_handles[10];
{
u16 key_count;
u32 key_handles[10];
@@
-842,7
+846,8
@@
u32 tpm_find_key_sha1(const u8 auth[20], const u8 pubkey_digest[20],
unsigned int i;
/* fetch list of already loaded keys in the TPM */
unsigned int i;
/* fetch list of already loaded keys in the TPM */
- err = tpm_get_capability(TPM_CAP_HANDLE, TPM_RT_KEY, buf, sizeof(buf));
+ err = tpm_get_capability(dev, TPM_CAP_HANDLE, TPM_RT_KEY, buf,
+ sizeof(buf));
if (err)
return -1;
key_count = get_unaligned_be16(buf);
if (err)
return -1;
key_count = get_unaligned_be16(buf);
@@
-870,7
+875,7
@@
u32 tpm_find_key_sha1(const u8 auth[20], const u8 pubkey_digest[20],
#endif /* CONFIG_TPM_AUTH_SESSIONS */
#endif /* CONFIG_TPM_AUTH_SESSIONS */
-u32 tpm_get_random(void *data, u32 count)
+u32 tpm_get_random(
struct udevice *dev,
void *data, u32 count)
{
const u8 command[14] = {
0x0, 0xc1, /* TPM_TAG */
{
const u8 command[14] = {
0x0, 0xc1, /* TPM_TAG */
@@
-894,7
+899,8
@@
u32 tpm_get_random(void *data, u32 count)
0, command, sizeof(command),
length_offset, this_bytes))
return TPM_LIB_ERROR;
0, command, sizeof(command),
length_offset, this_bytes))
return TPM_LIB_ERROR;
- err = tpm_sendrecv_command(buf, response, &response_length);
+ err = tpm_sendrecv_command(dev, buf, response,
+ &response_length);
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",
if (err)
return err;
if (unpack_byte_string(response, response_length, "d",