| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * Copyright (c) 2021-2024, Arm Limited and Contributors. All rights reserved. |
| */ |
| |
| #include <stddef.h> |
| #include <stdint.h> |
| #include "compiler.h" |
| #include "sp_api.h" |
| |
| /* |
| * According to the FF-A specification an optional initialization descriptor can |
| * be passed to the SP in w0/x0-w3/x3 registers (a0-a3 parameters). As the exact |
| * register is implementation defined the first four registers are forwarded to |
| * the user code. |
| */ |
| void __noreturn __sp_entry(uintptr_t a0, uintptr_t a1, |
| uintptr_t a2, uintptr_t a3); |
| void __noreturn __sp_entry(uintptr_t a0, uintptr_t a1, |
| uintptr_t a2, uintptr_t a3) |
| { |
| (void)a1; |
| (void)a2; |
| (void)a3; |
| |
| sp_main((union ffa_boot_info *)a0); |
| } |