diff options
| author | Sandrine Bailleux <sandrine.bailleux@arm.com> | 2023-02-08 11:48:14 +0100 |
|---|---|---|
| committer | TrustedFirmware Code Review <review@review.trustedfirmware.org> | 2023-02-08 11:48:14 +0100 |
| commit | c2ce57f51925dc2b2b730c9b9c732c89694a0deb (patch) | |
| tree | daac8903c6410e2bf8d3ab913aaeb64eb5259cd3 /lib | |
| parent | 6264643a0711faef346cbbb6e3d928a198aeaf31 (diff) | |
| parent | 8374508b00909cdffbe6233cf8fddcb49924faed (diff) | |
| download | arm-trusted-firmware-c2ce57f51925dc2b2b730c9b9c732c89694a0deb.tar.gz | |
Merge "feat(psa): interface with RSS for NV counters" into integration
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/psa/rss_platform.c | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/lib/psa/rss_platform.c b/lib/psa/rss_platform.c new file mode 100644 index 000000000..359f89499 --- /dev/null +++ b/lib/psa/rss_platform.c @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2023, Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + * + */ + +#include <stdint.h> + +#include <psa/client.h> +#include <psa_manifest/sid.h> +#include <rss_platform_api.h> + +psa_status_t +rss_platform_nv_counter_increment(uint32_t counter_id) +{ + struct psa_invec in_vec[1]; + + in_vec[0].base = &counter_id; + in_vec[0].len = sizeof(counter_id); + + return psa_call(RSS_PLATFORM_SERVICE_HANDLE, + RSS_PLATFORM_API_ID_NV_INCREMENT, + in_vec, 1, NULL, 0); +} + +psa_status_t +rss_platform_nv_counter_read(uint32_t counter_id, + uint32_t size, uint8_t *val) +{ + struct psa_invec in_vec[1]; + struct psa_outvec out_vec[1]; + + in_vec[0].base = &counter_id; + in_vec[0].len = sizeof(counter_id); + + out_vec[0].base = val; + out_vec[0].len = size; + + return psa_call(RSS_PLATFORM_SERVICE_HANDLE, + RSS_PLATFORM_API_ID_NV_READ, + in_vec, 1, out_vec, 1); +} |
