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