1 /*
2 * SPDX-License-Identifier: BSD-3-Clause
3 *
4 * SPDX-FileCopyrightText: Copyright TF-RMM Contributors.
5 */
6
7 #include <app.h>
8 #include <app_header.h>
9 #include <app_services.h>
10 #include <assert.h>
11 #include <debug.h>
12 #include <errno.h>
13 #include <unistd.h>
14
app_framework_setup(void)15 void app_framework_setup(void)
16 {
17 }
18
app_init_data(struct app_data_cfg * app_data,unsigned long app_id,uintptr_t granule_pas[],size_t granule_count,void * granule_va_start)19 int app_init_data(struct app_data_cfg *app_data,
20 unsigned long app_id,
21 uintptr_t granule_pas[],
22 size_t granule_count,
23 void *granule_va_start){
24 (void)app_data;
25 (void)app_id;
26 (void)granule_pas;
27 (void)granule_count;
28 (void)granule_va_start;
29 return 0;
30 }
31
app_run(struct app_data_cfg * app_data,unsigned long app_func_id,unsigned long arg0,unsigned long arg1,unsigned long arg2,unsigned long arg3)32 unsigned long app_run(struct app_data_cfg *app_data,
33 unsigned long app_func_id,
34 unsigned long arg0,
35 unsigned long arg1,
36 unsigned long arg2,
37 unsigned long arg3)
38 {
39 (void)app_data;
40 (void)app_func_id;
41 (void)arg0;
42 (void)arg1;
43 (void)arg2;
44 (void)arg3;
45 return 0;
46 }
47
app_resume(struct app_data_cfg * app_data)48 unsigned long app_resume(struct app_data_cfg *app_data)
49 {
50 (void)app_data;
51 return 0U;
52 }
53
app_abort(struct app_data_cfg * app_data)54 void app_abort(struct app_data_cfg *app_data)
55 {
56 (void)app_data;
57 }
58
app_map_shared_page(struct app_data_cfg * app_data)59 void app_map_shared_page(struct app_data_cfg *app_data)
60 {
61 (void)app_data;
62 }
63
app_unmap_shared_page(struct app_data_cfg * app_data)64 void app_unmap_shared_page(struct app_data_cfg *app_data)
65 {
66 (void)app_data;
67 }
68
69 /* Used by the Mbed TLS library in case EL3 token signing is active when
70 * emulating EL3 signing.
71 */
mbedtls_psa_external_get_random(void * context,uint8_t * output,size_t output_size,size_t * output_length)72 int32_t mbedtls_psa_external_get_random(
73 void *context,
74 uint8_t *output, size_t output_size, size_t *output_length)
75 {
76 static uint8_t val;
77 size_t i;
78
79 (void)context;
80
81 for (i = 0; i < output_size; ++i) {
82 output[i] = val;
83 }
84
85 *output_length = output_size;
86
87 return 0;
88 }
89
app_get_heap_ptr(struct app_data_cfg * app_data)90 void *app_get_heap_ptr(struct app_data_cfg *app_data)
91 {
92 (void)app_data;
93 return NULL;
94 }
95
app_get_required_granule_count(unsigned long app_id)96 size_t app_get_required_granule_count(unsigned long app_id)
97 {
98 (void)app_id;
99 return 0U;
100 }
101