1 // SPDX-License-Identifier: BSD-3-Clause
2 /*
3 * Copyright (c) 2021-2024, Arm Limited and Contributors. All rights reserved.
4 */
5
6 #include <stddef.h>
7 #include <stdint.h>
8 #include "compiler.h"
9 #include "sp_api.h"
10
11 /*
12 * According to the FF-A specification an optional initialization descriptor can
13 * be passed to the SP in w0/x0-w3/x3 registers (a0-a3 parameters). As the exact
14 * register is implementation defined the first four registers are forwarded to
15 * the user code.
16 */
17 void __noreturn __sp_entry(uintptr_t a0, uintptr_t a1,
18 uintptr_t a2, uintptr_t a3);
__sp_entry(uintptr_t a0,uintptr_t a1,uintptr_t a2,uintptr_t a3)19 void __noreturn __sp_entry(uintptr_t a0, uintptr_t a1,
20 uintptr_t a2, uintptr_t a3)
21 {
22 (void)a1;
23 (void)a2;
24 (void)a3;
25
26 sp_main((union ffa_boot_info *)a0);
27 }
28