blob: fbee707d3b031db5a14173bffd92e4c428d31813 [file] [log] [blame]
mardyk0182389fb2023-09-25 16:34:56 -05001/*
mardyk017b51dbe2024-01-17 15:25:36 -06002 * Copyright (c) 2024, Arm Limited. All rights reserved.
mardyk0182389fb2023-09-25 16:34:56 -05003 *
4 * SPDX-License-Identifier: BSD-3-Clause
5 */
6
Mark Dykes2b6c1402025-03-06 10:01:19 -06007#include <arg_struct_def.h>
mardyk01f5b46352023-10-24 16:23:23 -05008#include <sdei_fuzz_helper.h>
Mark Dykes50297972024-03-15 12:49:22 -05009#include "smcmalloc.h"
mardyk01f5b46352023-10-24 16:23:23 -050010#include <tsp_fuzz_helper.h>
mardyk0182389fb2023-09-25 16:34:56 -050011
Alex Liang0fa7d212024-06-18 11:17:01 -050012int cntid = 0;
13
Alex Liang1d40d722024-07-23 16:42:16 -050014#include <vendor_fuzz_helper.h>
15
mardyk0182389fb2023-09-25 16:34:56 -050016/*
17 * Invoke the SMC call based on the function name specified.
18 */
Mark Dykes50297972024-03-15 12:49:22 -050019void runtestfunction(int funcid, struct memmod *mmod)
mardyk0182389fb2023-09-25 16:34:56 -050020{
Alex Liang0fa7d212024-06-18 11:17:01 -050021 bool inrange = (cntid >= SMC_FUZZ_CALL_START) && (cntid < SMC_FUZZ_CALL_END);
22 inrange = inrange && (funcid != EXCLUDE_FUNCID);
Mark Dykes2b6c1402025-03-06 10:01:19 -060023#ifdef SDEI_INCLUDE
Alex Liang0fa7d212024-06-18 11:17:01 -050024 run_sdei_fuzz(funcid, mmod, inrange, cntid);
Mark Dykes2b6c1402025-03-06 10:01:19 -060025#endif
mardyk017b51dbe2024-01-17 15:25:36 -060026 run_tsp_fuzz(funcid);
Mark Dykes2b6c1402025-03-06 10:01:19 -060027#ifdef VEN_INCLUDE
Alex Liang1d40d722024-07-23 16:42:16 -050028 run_ven_el3_fuzz(funcid, mmod);
Mark Dykes2b6c1402025-03-06 10:01:19 -060029#endif
Alex Liang0fa7d212024-06-18 11:17:01 -050030
31 cntid++;
mardyk0182389fb2023-09-25 16:34:56 -050032}