fastmodel: follow .sgproj SIMGEN_COMMAND_LINE

ARM's .sgproj has SIMGEN_COMMAND_LINE to be fed into simgen when
running. However, simgen itself doesn't parse that option and apply. We
need to parse it by ourself and pass the arg to simgen when invoking.

Change-Id: I43b131a1ca9f98891ab390de583589a710e7c812
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/60369
Maintainer: Gabe Black <gabe.black@gmail.com>
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Earl Ou
2022-06-06 15:22:00 +08:00
committed by Bobby Bruce
parent c088af945e
commit 0260fe7da9

View File

@@ -318,6 +318,8 @@ class ArmFastModelComponent(object):
tlc = None
# Config name.
config_name = None
# simgen_arg
simgen_command_line = ''
# Scan for particular properties of the project.
for param in proj.params:
@@ -327,6 +329,12 @@ class ArmFastModelComponent(object):
elif param.name == 'ACTIVE_CONFIG_LINUX':
config_name = param.value
for param in proj.params:
if param.name == config_name:
for sub_param in param.params:
if sub_param.name == 'SIMGEN_COMMAND_LINE':
simgen_command_line = sub_param.value
assert tlc is not None and config_name is not None
simgen_dir = project_file_dir.Dir(config_name)
@@ -369,11 +377,12 @@ class ArmFastModelComponent(object):
self.rpaths = [simgen_dir, project_file_dir]
self.log = gen_dir.File('build_%s.log' % tlc)
self.simgen_cmd = env.subst('${CONF["SIMGEN"]} -p %s '
'--configuration %s -b --verbose off --num-build-cpus %d '
'--configuration %s -b --verbose off --num-build-cpus %d %s '
'--build-dir %s >%s') % \
(shlex.quote(project_file.srcnode().abspath),
shlex.quote(config_name),
GetOption('num_jobs'),
simgen_command_line,
shlex.quote(simgen_dir.abspath),
shlex.quote(self.log.abspath))