diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/common/test_helpers.h | 33 | ||||
-rw-r--r-- | include/runtime_services/ffa_helpers.h | 4 |
2 files changed, 33 insertions, 4 deletions
diff --git a/include/common/test_helpers.h b/include/common/test_helpers.h index a6ec07442..4be9aba93 100644 --- a/include/common/test_helpers.h +++ b/include/common/test_helpers.h @@ -4,8 +4,8 @@ * SPDX-License-Identifier: BSD-3-Clause */ -#ifndef __TEST_HELPERS_H__ -#define __TEST_HELPERS_H__ +#ifndef TEST_HELPERS_H__ +#define TEST_HELPERS_H__ #include <uuid.h> #include <arch_features.h> @@ -202,9 +202,8 @@ typedef test_result_t (*test_function_arg_t)(void *arg); } \ } while (0) -#define SKIP_TEST_IF_FFA_ENDPOINT_NOT_DEPLOYED(mb, uuid) \ +#define SKIP_TEST_IF_FFA_ENDPOINT_NOT_DEPLOYED(mb, ffa_uuid) \ do { \ - const uint32_t ffa_uuid[4] = uuid; \ smc_ret_values smc_ret = ffa_partition_info_get(ffa_uuid); \ ffa_rx_release(); \ if (smc_ret.ret0 == FFA_ERROR && \ @@ -217,6 +216,28 @@ typedef test_result_t (*test_function_arg_t)(void *arg); } \ } while (0) +#define GET_TFTF_MAILBOX(mb) \ + do { \ + if (!get_tftf_mailbox(&mb)) { \ + ERROR("Mailbox not configured!\nThis test relies on" \ + " test suite \"FF-A RXTX Mapping\" to map/configure" \ + " RXTX buffers\n"); \ + return TEST_RESULT_FAIL; \ + } \ + } while (false); + +#define CHECK_HAFNIUM_SPMC_TESTING_SETUP(ffa_major, ffa_minor, expected_uuids) \ + do { \ + const size_t expected_uuids_size = \ + sizeof(expected_uuids) / sizeof(struct ffa_uuid); \ + test_result_t ret = check_hafnium_spmc_testing_set_up( \ + ffa_major, ffa_minor, expected_uuids, \ + expected_uuids_size); \ + if (ret != TEST_RESULT_SUCCESS) { \ + return ret; \ + } \ + } while (false); + /* Helper macro to verify if system suspend API is supported */ #define is_psci_sys_susp_supported() \ (tftf_get_psci_feature_info(SMC_PSCI_SYSTEM_SUSPEND) \ @@ -282,4 +303,8 @@ void set_tftf_mailbox(const struct mailbox_buffers *mb); */ bool get_tftf_mailbox(struct mailbox_buffers *mb); +test_result_t check_hafnium_spmc_testing_set_up(uint32_t ffa_version_major, + uint32_t ffa_version_minor, const struct ffa_uuid *ffa_uuids, + size_t ffa_uuids_size); + #endif /* __TEST_HELPERS_H__ */ diff --git a/include/runtime_services/ffa_helpers.h b/include/runtime_services/ffa_helpers.h index c91ed5f09..e96787ee3 100644 --- a/include/runtime_services/ffa_helpers.h +++ b/include/runtime_services/ffa_helpers.h @@ -28,6 +28,10 @@ typedef uint64_t ffa_memory_handle_t; /** Flags to indicate properties of receivers during memory region retrieval. */ typedef uint8_t ffa_memory_receiver_flags_t; +struct ffa_uuid { + const uint32_t uuid[4]; +}; + #ifndef __ASSEMBLY__ #include <stdint.h> |