lib: avb: add init ab metadata interface

Change-Id: Ifad6c8ca70568c2dc8eea0a4ead23e3e7a2a0e74
Signed-off-by: Jason Zhu <jason.zhu@rock-chips.com>
This commit is contained in:
Jason Zhu 2019-04-12 10:02:07 +08:00 committed by Jianhong Chen
parent 350f6a1836
commit 813227ad54
2 changed files with 32 additions and 0 deletions

View File

@ -306,6 +306,11 @@ int rk_avb_set_perm_attr_cer(uint8_t *cer, uint32_t size);
*/
int rk_avb_get_pub_key(struct rk_pub_key *pub_key);
/**
* init ab metadata
*/
int rk_avb_init_ab_metadata(void);
#ifdef __cplusplus
}
#endif

View File

@ -767,3 +767,30 @@ out:
return lastboot;
}
int rk_avb_init_ab_metadata(void)
{
AvbOps *ops;
AvbABData ab_data;
memset(&ab_data, 0, sizeof(AvbABData));
debug("sizeof(AvbABData) = %d\n", (int)(size_t)sizeof(AvbABData));
ops = avb_ops_user_new();
if (ops == NULL) {
printf("avb_ops_user_new() failed!\n");
return -1;
}
avb_ab_data_init(&ab_data);
if (ops->ab_ops->write_ab_metadata(ops->ab_ops, &ab_data) != 0) {
printf("do_avb_init_ab_metadata error!\n");
avb_ops_user_free(ops);
return -1;
}
printf("Initialize ab data to misc partition success.\n");
avb_ops_user_free(ops);
return 0;
}