mardyk01 | 82389fb | 2023-09-25 16:34:56 -0500 | [diff] [blame] | 1 | /* |
mardyk01 | 7b51dbe | 2024-01-17 15:25:36 -0600 | [diff] [blame] | 2 | * Copyright (c) 2024, Arm Limited. All rights reserved. |
mardyk01 | 82389fb | 2023-09-25 16:34:56 -0500 | [diff] [blame] | 3 | * |
4 | * SPDX-License-Identifier: BSD-3-Clause | ||||
5 | */ | ||||
6 | |||||
Mark Dykes | 2b6c140 | 2025-03-06 10:01:19 -0600 | [diff] [blame^] | 7 | #include <arg_struct_def.h> |
mardyk01 | f5b4635 | 2023-10-24 16:23:23 -0500 | [diff] [blame] | 8 | #include <sdei_fuzz_helper.h> |
Mark Dykes | 5029797 | 2024-03-15 12:49:22 -0500 | [diff] [blame] | 9 | #include "smcmalloc.h" |
mardyk01 | f5b4635 | 2023-10-24 16:23:23 -0500 | [diff] [blame] | 10 | #include <tsp_fuzz_helper.h> |
mardyk01 | 82389fb | 2023-09-25 16:34:56 -0500 | [diff] [blame] | 11 | |
Alex Liang | 0fa7d21 | 2024-06-18 11:17:01 -0500 | [diff] [blame] | 12 | int cntid = 0; |
13 | |||||
Alex Liang | 1d40d72 | 2024-07-23 16:42:16 -0500 | [diff] [blame] | 14 | #include <vendor_fuzz_helper.h> |
15 | |||||
mardyk01 | 82389fb | 2023-09-25 16:34:56 -0500 | [diff] [blame] | 16 | /* |
17 | * Invoke the SMC call based on the function name specified. | ||||
18 | */ | ||||
Mark Dykes | 5029797 | 2024-03-15 12:49:22 -0500 | [diff] [blame] | 19 | void runtestfunction(int funcid, struct memmod *mmod) |
mardyk01 | 82389fb | 2023-09-25 16:34:56 -0500 | [diff] [blame] | 20 | { |
Alex Liang | 0fa7d21 | 2024-06-18 11:17:01 -0500 | [diff] [blame] | 21 | bool inrange = (cntid >= SMC_FUZZ_CALL_START) && (cntid < SMC_FUZZ_CALL_END); |
22 | inrange = inrange && (funcid != EXCLUDE_FUNCID); | ||||
Mark Dykes | 2b6c140 | 2025-03-06 10:01:19 -0600 | [diff] [blame^] | 23 | #ifdef SDEI_INCLUDE |
Alex Liang | 0fa7d21 | 2024-06-18 11:17:01 -0500 | [diff] [blame] | 24 | run_sdei_fuzz(funcid, mmod, inrange, cntid); |
Mark Dykes | 2b6c140 | 2025-03-06 10:01:19 -0600 | [diff] [blame^] | 25 | #endif |
mardyk01 | 7b51dbe | 2024-01-17 15:25:36 -0600 | [diff] [blame] | 26 | run_tsp_fuzz(funcid); |
Mark Dykes | 2b6c140 | 2025-03-06 10:01:19 -0600 | [diff] [blame^] | 27 | #ifdef VEN_INCLUDE |
Alex Liang | 1d40d72 | 2024-07-23 16:42:16 -0500 | [diff] [blame] | 28 | run_ven_el3_fuzz(funcid, mmod); |
Mark Dykes | 2b6c140 | 2025-03-06 10:01:19 -0600 | [diff] [blame^] | 29 | #endif |
Alex Liang | 0fa7d21 | 2024-06-18 11:17:01 -0500 | [diff] [blame] | 30 | |
31 | cntid++; | ||||
mardyk01 | 82389fb | 2023-09-25 16:34:56 -0500 | [diff] [blame] | 32 | } |