Mark Dykes | 5029797 | 2024-03-15 12:49:22 -0500 | [diff] [blame^] | 1 | # !/usr/bin/env python |
| 2 | # |
| 3 | # Copyright (c) 2025 Arm Limited. All rights reserved. |
| 4 | # |
| 5 | # SPDX-License-Identifier: BSD-3-Clause |
| 6 | # |
| 7 | |
| 8 | |
| 9 | #python3 generate_smc.py -s smclist |
| 10 | #This script generated C files after the read of the SMC description/list file |
| 11 | import argparse |
| 12 | import readsmclist |
| 13 | import gen_arg_struct_def |
| 14 | import gen_field_specification |
| 15 | |
| 16 | parser = argparse.ArgumentParser( |
| 17 | prog='generate_smc.py', |
| 18 | description='Generates SMC code to add to fuzzer library', |
| 19 | epilog='one argument input') |
| 20 | |
| 21 | parser.add_argument('-s', '--smclist',help="SMC list file .") |
| 22 | |
| 23 | args = parser.parse_args() |
| 24 | |
| 25 | print("starting generate SMC") |
| 26 | |
| 27 | seq = 0 |
| 28 | |
| 29 | readsmclist.readsmclist(args.smclist,seq) |
| 30 | |
| 31 | arglst = readsmclist.arglst |
| 32 | argnumfield = readsmclist.argnumfield |
| 33 | argfieldname = readsmclist.argfieldname |
| 34 | argstartbit = readsmclist.argstartbit |
| 35 | argendbit = readsmclist.argendbit |
| 36 | argdefval = readsmclist.argdefval |
| 37 | smcname = readsmclist.smcname |
| 38 | argnum = readsmclist.argnum |
| 39 | argname = readsmclist.argname |
| 40 | |
| 41 | gen_arg_struct_def.gen_arg_struct_def("./include/arg_struct_def.h",argfieldname,arglst,argnumfield) |
| 42 | |
| 43 | gen_field_specification.gen_field_specification("./include/field_specification.h", |
| 44 | argfieldname,argendbit,argstartbit,argdefval,argnumfield) |
| 45 | |