blob: f2dbf922a3e5534fcff1a21628523b9dc9ecbdf9 [file] [log] [blame]
Tamas Band2b2f092019-01-23 22:29:14 +00001/*
2 * Copyright (c) 2019, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#include "tfm_api.h"
9#include "tfm_secure_api.h"
10#include "attestation.h"
11#include "psa_initial_attestation_api.h"
12#include "bl2/include/tfm_boot_status.h"
13
14enum psa_attest_err_t
15attest_check_memory_access(void *addr,
16 uint32_t size,
17 enum attest_memory_access_t access)
18{
19 enum tfm_status_e tfm_res;
20 enum psa_attest_err_t attest_res = PSA_ATTEST_ERR_SUCCESS;
21
22 tfm_res = tfm_core_memory_permission_check(addr, size, access);
23 if (tfm_res) {
24 attest_res = PSA_ATTEST_ERR_INVALID_INPUT;
25 }
26
27 return attest_res;
28}
29
30enum psa_attest_err_t
31attest_get_caller_client_id(int32_t *caller_id)
32{
33 enum tfm_status_e tfm_res;
34 enum psa_attest_err_t attest_res = PSA_ATTEST_ERR_SUCCESS;
35
36 tfm_res = tfm_core_get_caller_client_id(caller_id);
37 if (tfm_res) {
38 attest_res = PSA_ATTEST_ERR_CLAIM_UNAVAILABLE;
39 }
40
41 return attest_res;
42}
43
44enum psa_attest_err_t
45attest_get_boot_data(uint8_t major_type, void *ptr, uint32_t len)
46{
47 enum tfm_status_e tfm_res;
48 enum psa_attest_err_t attest_res = PSA_ATTEST_ERR_SUCCESS;
49
50 tfm_res = tfm_core_get_boot_data(major_type, ptr, len);
51 if (tfm_res != TFM_SUCCESS) {
52 attest_res = PSA_ATTEST_ERR_INIT_FAILED;
53 }
54
55 return attest_res;
56}