scons: Turn the ISA and GPU ISA lists into construction variables.

Change-Id: I4135709f5bceee959b5178a4700656aa782b1d6b
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/48965
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
Reviewed-by: Bobby R. Bruce <bbruce@ucdavis.edu>
This commit is contained in:
Gabe Black
2021-08-01 10:25:57 -07:00
parent a764139066
commit 64168fd4ea
16 changed files with 21 additions and 33 deletions

View File

@@ -709,7 +709,7 @@ for opt in export_vars:
env.ConfigFile(opt)
def makeTheISA(source, target, env):
isas = [ src.get_contents().decode('utf-8') for src in source ]
isas = sorted(set(env.Split('${ALL_ISAS}')))
target_isa = env['TARGET_ISA']
is_null_isa = '1' if (target_isa.lower() == 'null') else '0'
@@ -740,11 +740,11 @@ def makeTheISA(source, target, env):
code.write(str(target[0]))
env.Command('config/the_isa.hh', list(map(Value, all_isa_list)),
env.Command('config/the_isa.hh', [],
MakeAction(makeTheISA, Transform("CFG ISA", 0)))
def makeTheGPUISA(source, target, env):
isas = [ src.get_contents().decode('utf-8') for src in source ]
isas = sorted(set(env.Split('${ALL_ISAS}')))
target_gpu_isa = env['TARGET_GPU_ISA']
def define(isa):
return str(isa.upper()) + '_ISA'
@@ -782,7 +782,7 @@ def makeTheGPUISA(source, target, env):
code.write(str(target[0]))
env.Command('config/the_gpu_isa.hh', list(map(Value, all_gpu_isa_list)),
env.Command('config/the_gpu_isa.hh', [],
MakeAction(makeTheGPUISA, Transform("CFG ISA", 0)))
########################################################################

View File

@@ -25,18 +25,12 @@
Import('*')
# Define the universe of supported ISAs
all_isa_list = []
Export('all_isa_list')
all_gpu_isa_list = []
Export('all_gpu_isa_list')
def add_isa_lists():
sticky_vars.AddVariables(
EnumVariable('TARGET_ISA', 'Target ISA', 'null', sorted(all_isa_list)),
EnumVariable('TARGET_ISA', 'Target ISA', 'null',
sorted(set(main.Split('${ALL_ISAS}')))),
EnumVariable('TARGET_GPU_ISA', 'Target GPU ISA', 'gcn3',
sorted(all_gpu_isa_list)),
sorted(set(main.Split('${ALL_GPU_ISAS}')))),
)
AfterSConsopts(add_isa_lists)

View File

@@ -33,4 +33,4 @@
Import('*')
all_gpu_isa_list.append('gcn3')
main.Append(ALL_GPU_ISAS=['gcn3'])

View File

@@ -33,4 +33,4 @@
Import('*')
all_gpu_isa_list.append('vega')
main.Append(ALL_GPU_ISAS=['vega'])

View File

@@ -28,4 +28,4 @@
Import('*')
all_isa_list.append('arm')
main.Append(ALL_ISAS=['arm'])

View File

@@ -28,4 +28,4 @@
Import('*')
all_isa_list.append('mips')
main.Append(ALL_ISAS=['mips'])

View File

@@ -37,4 +37,4 @@
Import('*')
all_isa_list.append('null')
main.Append(ALL_ISAS=['null'])

View File

@@ -28,4 +28,4 @@
Import('*')
all_isa_list.append('power')
main.Append(ALL_ISAS=['power'])

View File

@@ -28,4 +28,4 @@
Import('*')
all_isa_list.append('riscv')
main.Append(ALL_ISAS=['riscv'])

View File

@@ -28,4 +28,4 @@
Import('*')
all_isa_list.append('sparc')
main.Append(ALL_ISAS=['sparc'])

View File

@@ -28,4 +28,4 @@
Import('*')
all_isa_list.append('x86')
main.Append(ALL_ISAS=['x86'])

View File

@@ -25,12 +25,7 @@
Import('*')
def CpuModel(name):
main.Append(ALL_CPU_MODELS=[name])
Export('CpuModel')
def add_cpu_models_var():
sticky_vars.Add(ListVariable('CPU_MODELS', 'CPU models', [],
set(main.get('ALL_CPU_MODELS', []))))
sorted(set(main.Split('${ALL_CPU_MODELS}')))))
AfterSConsopts(add_cpu_models_var)

View File

@@ -28,4 +28,4 @@
Import('*')
CpuModel('CheckerCPU')
main.Append(ALL_CPU_MODELS=['CheckerCPU'])

View File

@@ -37,4 +37,4 @@
Import('*')
CpuModel('MinorCPU')
main.Append(ALL_CPU_MODELS=['MinorCPU'])

View File

@@ -28,4 +28,4 @@
Import('*')
CpuModel('O3CPU')
main.Append(ALL_CPU_MODELS=['O3CPU'])

View File

@@ -28,5 +28,4 @@
Import('*')
CpuModel('AtomicSimpleCPU')
CpuModel('TimingSimpleCPU')
main.Append(ALL_CPU_MODELS=['AtomicSimpleCPU', 'TimingSimpleCPU'])