scons: Add sim_object and enums arguments to SimObject().

This will explicitly declare what SimObject and Enum types need to be set
up in C++, which will make importing all the SimObject modules during
the setup phase of SCons uneccessary.

Change-Id: Id2d7603daf33b236ceaa0789e2f089f589d34e62
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/49406
Reviewed-by: Gabe Black <gabe.black@gmail.com>
Maintainer: Gabe Black <gabe.black@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
This commit is contained in:
Gabe Black
2021-08-15 22:07:27 -07:00
parent 60e55ecef8
commit 1c233ee9d2
79 changed files with 416 additions and 262 deletions

View File

@@ -31,18 +31,18 @@ Import('*')
need_simple_base = False
if 'AtomicSimpleCPU' in env['CPU_MODELS']:
need_simple_base = True
SimObject('AtomicSimpleCPU.py')
SimObject('AtomicSimpleCPU.py', sim_objects=['AtomicSimpleCPU'])
Source('atomic.cc')
# The NonCachingSimpleCPU is really an atomic CPU in
# disguise. It's therefore always enabled when the atomic CPU is
# enabled.
SimObject('NonCachingSimpleCPU.py')
SimObject('NonCachingSimpleCPU.py', sim_objects=['NonCachingSimpleCPU'])
Source('noncaching.cc')
if 'TimingSimpleCPU' in env['CPU_MODELS']:
need_simple_base = True
SimObject('TimingSimpleCPU.py')
SimObject('TimingSimpleCPU.py', sim_objects=['TimingSimpleCPU'])
Source('timing.cc')
if 'AtomicSimpleCPU' in env['CPU_MODELS'] or \
@@ -51,4 +51,4 @@ if 'AtomicSimpleCPU' in env['CPU_MODELS'] or \
if need_simple_base:
Source('base.cc')
SimObject('BaseSimpleCPU.py')
SimObject('BaseSimpleCPU.py', sim_objects=['BaseSimpleCPU'])