Imre Kis | e6d7341 | 2021-10-18 14:01:47 +0200 | [diff] [blame] | 1 | // SPDX-License-Identifier: BSD-3-Clause |
| 2 | /* |
Imre Kis | d47a145 | 2024-05-29 14:25:59 +0200 | [diff] [blame] | 3 | * Copyright (c) 2021-2024, Arm Limited and Contributors. All rights reserved. |
Imre Kis | e6d7341 | 2021-10-18 14:01:47 +0200 | [diff] [blame] | 4 | */ |
| 5 | |
| 6 | #include <stddef.h> |
| 7 | #include <stdint.h> |
| 8 | #include "compiler.h" |
Imre Kis | e6d7341 | 2021-10-18 14:01:47 +0200 | [diff] [blame] | 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); |
| 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 | |
Balint Dobszay | 4f9d8e3 | 2023-04-13 13:55:08 +0200 | [diff] [blame] | 26 | sp_main((union ffa_boot_info *)a0); |
Imre Kis | e6d7341 | 2021-10-18 14:01:47 +0200 | [diff] [blame] | 27 | } |