blob: 411cc9f2e7821bf2ceea8f3f347a6499523cdb9d [file] [log] [blame]
J-Alves9f6f0142020-06-17 15:37:59 +01001/*
2 * Copyright (c) 2018-2020, Arm Limited. All rights reserved.
3 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6#include <assert.h>
7#include <errno.h>
8#include <debug.h>
J-Alves5aecd982020-06-11 10:25:33 +01009#include <ffa_helpers.h>
J-Alves9f6f0142020-06-17 15:37:59 +010010#include <sp_helpers.h>
11
12/* FFA version test helpers */
13#define FFA_MAJOR 1U
14#define FFA_MINOR 0U
15
16void ffa_tests(void)
17{
18 const char *test_ffa = "FFA Interfaces";
19 const char *test_ffa_version = "FFA Version interface";
20
21 announce_test_section_start(test_ffa);
22
23 announce_test_start(test_ffa_version);
24
25 smc_ret_values ret = ffa_version(MAKE_FFA_VERSION(FFA_MAJOR, FFA_MINOR));
26 uint32_t spm_version = (uint32_t)(0xFFFFFFFF & ret.ret0);
27
28 bool ffa_version_compatible = ((spm_version >> FFA_VERSION_MAJOR_SHIFT) == FFA_MAJOR &&
J-Alves5aecd982020-06-11 10:25:33 +010029 (spm_version & FFA_VERSION_MINOR_MASK) >= FFA_MINOR);
J-Alves9f6f0142020-06-17 15:37:59 +010030
31 NOTICE("FFA_VERSION returned %u.%u; Compatible: %i\n",
32 spm_version >> FFA_VERSION_MAJOR_SHIFT,
33 spm_version & FFA_VERSION_MINOR_MASK,
34 (int)ffa_version_compatible);
35
36 expect((int)ffa_version_compatible, (int)true);
37
38 announce_test_end(test_ffa_version);
39
40 announce_test_section_end(test_ffa);
41}