| /* |
| * Copyright (c) 2019 The Fuchsia Authors |
| * |
| * SPDX-License-Identifier: BSD-3-Clause |
| */ |
| |
| #include <common.h> |
| #include <libavb/libavb.h> |
| #include <libavb_atx/libavb_atx.h> |
| |
| #include <tee/ta_vx_helper.h> |
| #include <asm/arch-g12b/efuse.h> |
| #include <u-boot/sha256.h> |
| |
| static int read_permanent_attr_hash(uint8_t *hash, size_t size) |
| { |
| } |
| |
| AvbIOResult |
| avb_read_permanent_attributes(AvbAtxOps *atx_ops, |
| AvbAtxPermanentAttributes *attributes) |
| { |
| size_t size; |
| |
| int rc = ta_vx_read_perm_attr(attributes, sizeof(AvbAtxPermanentAttributes), |
| &size); |
| if (rc || size != sizeof(AvbAtxPermanentAttributes)) { |
| return AVB_IO_RESULT_ERROR_IO; |
| } |
| |
| return AVB_IO_RESULT_OK; |
| } |
| |
| AvbIOResult |
| avb_read_permanent_attributes_hash(AvbAtxOps *atx_ops, |
| uint8_t hash[AVB_SHA256_DIGEST_SIZE]) |
| { |
| if (hash == NULL) { |
| return AVB_IO_RESULT_ERROR_IO; |
| } |
| |
| int rc = ta_vx_read_perm_attr_hash(hash, AVB_SHA256_DIGEST_SIZE); |
| if (rc) { |
| return AVB_IO_RESULT_ERROR_IO; |
| } |
| |
| return AVB_IO_RESULT_OK; |
| } |