blob: 0770bd02de03571465cd43506bf60bc184ea1b67 [file] [log] [blame]
Antonio de Angelis2eeac642018-08-21 14:23:22 +01001/*
Hugues de Valonadf9f082019-02-19 14:26:20 +00002 * Copyright (c) 2018-2019, Arm Limited. All rights reserved.
Antonio de Angelis2eeac642018-08-21 14:23:22 +01003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 *
6 */
7
8#include "tfm_audit_veneers.h"
9#include "psa_audit_api.h"
10#include "tfm_ns_lock.h"
11#include "audit_wrappers.h"
12
13enum psa_audit_err psa_audit_retrieve_record(const uint32_t record_index,
14 const uint32_t buffer_size,
15 const uint8_t *token,
16 const uint32_t token_size,
17 uint8_t *buffer,
18 uint32_t *record_size)
19{
20 const struct audit_core_retrieve_input input_s =
21 {.record_index = record_index,
22 .buffer_size = buffer_size,
23 .token = token,
24 .token_size = token_size};
25
26 struct audit_core_retrieve_output output_s = {.buffer = buffer,
27 .record_size = record_size};
28
29 return tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_retrieve_record,
30 (uint32_t)&input_s,
31 (uint32_t)&output_s,
32 0,
33 0);
34}
35
36enum psa_audit_err psa_audit_get_info(uint32_t *num_records,
37 uint32_t *size)
38{
39 return tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_get_info,
40 (uint32_t)num_records,
41 (uint32_t)size,
42 0,
43 0);
44}
45
46enum psa_audit_err psa_audit_get_record_info(const uint32_t record_index,
47 uint32_t *size)
48{
49 return tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_get_record_info,
50 (uint32_t)record_index,
51 (uint32_t)size,
52 0,
53 0);
54}
55
56enum psa_audit_err psa_audit_delete_record(const uint32_t record_index,
57 const uint8_t *token,
58 const uint32_t token_size)
59{
60 return tfm_ns_lock_dispatch((veneer_fn)tfm_audit_veneer_delete_record,
61 (uint32_t)record_index,
62 (uint32_t)token,
63 (uint32_t)token_size,
64 0);
65}
66
67enum psa_audit_err psa_audit_add_record(const struct psa_audit_record *record)
68{
69 /* This API supports only Secure world calls. As this is the implementation
70 * of the Non-Secure interface, always directly return an error without
71 * routing the call to TF-M in the Secure world
72 */
Hugues de Valonadf9f082019-02-19 14:26:20 +000073 (void)record;
Antonio de Angelis2eeac642018-08-21 14:23:22 +010074 return PSA_AUDIT_ERR_NOT_SUPPORTED;
75}