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

@@ -36,9 +36,14 @@ Import('*')
if not env['BUILD_GPU']:
Return()
SimObject('GPU.py')
SimObject('GPUStaticInstFlags.py')
SimObject('LdsState.py')
SimObject('GPU.py', sim_objects=[
'PoolManager', 'SimplePoolManager', 'DynPoolManager', 'RegisterFile',
'ScalarRegisterFile', 'VectorRegisterFile', 'RegisterManager', 'Wavefront',
'ComputeUnit', 'Shader', 'GPUComputeDriver', 'GPURenderDriver',
'GPUDispatcher', 'GPUCommandProcessor'],
enums=['PrefetchType', 'GfxVersion', 'StorageClassType'])
SimObject('GPUStaticInstFlags.py', enums=['GPUStaticInstFlags'])
SimObject('LdsState.py', sim_objects=['LdsState'])
Source('comm.cc')
Source('compute_unit.cc')