Antonio de Angelis | 2eeac64 | 2018-08-21 14:23:22 +0100 | [diff] [blame] | 1 | /* |
Hugues de Valon | 4bf875b | 2019-02-19 14:53:49 +0000 | [diff] [blame] | 2 | * Copyright (c) 2018-2019, Arm Limited. All rights reserved. |
Antonio de Angelis | 2eeac64 | 2018-08-21 14:23:22 +0100 | [diff] [blame] | 3 | * |
| 4 | * SPDX-License-Identifier: BSD-3-Clause |
| 5 | * |
| 6 | */ |
| 7 | |
| 8 | #include "tfm_audit_veneers.h" |
| 9 | #include "secure_fw/services/audit_logging/audit_core.h" |
| 10 | #include "tfm_secure_api.h" |
Antonio de Angelis | 2eeac64 | 2018-08-21 14:23:22 +0100 | [diff] [blame] | 11 | #include "spm_partition_defs.h" |
| 12 | #include "audit_wrappers.h" |
| 13 | |
| 14 | __tfm_secure_gateway_attributes__ |
| 15 | enum psa_audit_err tfm_audit_veneer_retrieve_record( |
| 16 | const struct audit_core_retrieve_input *input_s, |
| 17 | struct audit_core_retrieve_output *output_s) |
| 18 | { |
| 19 | TFM_CORE_SFN_REQUEST(TFM_SP_AUDIT_LOG_ID, |
TTornblom | c640e07 | 2019-06-14 14:33:51 +0200 | [diff] [blame^] | 20 | (void *) audit_core_retrieve_record_wrapper, |
Antonio de Angelis | 2eeac64 | 2018-08-21 14:23:22 +0100 | [diff] [blame] | 21 | input_s, output_s, 0, 0); |
| 22 | } |
| 23 | |
| 24 | __tfm_secure_gateway_attributes__ |
| 25 | enum psa_audit_err tfm_audit_veneer_add_record( |
| 26 | const struct psa_audit_record *record) |
| 27 | { |
TTornblom | c640e07 | 2019-06-14 14:33:51 +0200 | [diff] [blame^] | 28 | TFM_CORE_SFN_REQUEST(TFM_SP_AUDIT_LOG_ID, (void *) audit_core_add_record, |
Antonio de Angelis | 2eeac64 | 2018-08-21 14:23:22 +0100 | [diff] [blame] | 29 | record, 0, 0, 0); |
| 30 | } |
| 31 | |
| 32 | __tfm_secure_gateway_attributes__ |
| 33 | enum psa_audit_err tfm_audit_veneer_get_info(uint32_t *num_records, |
| 34 | uint32_t *size) |
| 35 | { |
TTornblom | c640e07 | 2019-06-14 14:33:51 +0200 | [diff] [blame^] | 36 | TFM_CORE_SFN_REQUEST(TFM_SP_AUDIT_LOG_ID, (void *) audit_core_get_info, |
Antonio de Angelis | 2eeac64 | 2018-08-21 14:23:22 +0100 | [diff] [blame] | 37 | num_records, size, 0, 0); |
| 38 | } |
| 39 | |
| 40 | __tfm_secure_gateway_attributes__ |
| 41 | enum psa_audit_err tfm_audit_veneer_get_record_info(const uint32_t record_index, |
| 42 | uint32_t *size) |
| 43 | { |
TTornblom | c640e07 | 2019-06-14 14:33:51 +0200 | [diff] [blame^] | 44 | TFM_CORE_SFN_REQUEST(TFM_SP_AUDIT_LOG_ID, (void *) audit_core_get_record_info, |
Antonio de Angelis | 2eeac64 | 2018-08-21 14:23:22 +0100 | [diff] [blame] | 45 | record_index, size, 0, 0); |
| 46 | } |
| 47 | |
| 48 | __tfm_secure_gateway_attributes__ |
| 49 | enum psa_audit_err tfm_audit_veneer_delete_record(const uint32_t record_index, |
| 50 | const uint8_t *token, |
| 51 | const uint32_t token_size) |
| 52 | { |
TTornblom | c640e07 | 2019-06-14 14:33:51 +0200 | [diff] [blame^] | 53 | TFM_CORE_SFN_REQUEST(TFM_SP_AUDIT_LOG_ID, (void *) audit_core_delete_record, |
Antonio de Angelis | 2eeac64 | 2018-08-21 14:23:22 +0100 | [diff] [blame] | 54 | record_index, token, token_size, 0); |
| 55 | } |