This makes what are configuration and what are internal SCons variables explicit and separate, and makes it unnecessary to call out what variables to export to C++. These variables will also be plumbed into and out of kconfiglib in later changes. Change-Id: Iaf5e098d7404af06285c421dbdf8ef4171b3f001 Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/56892 Reviewed-by: Andreas Sandberg <andreas.sandberg@arm.com> Maintainer: Gabe Black <gabe.black@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
108 lines
3.8 KiB
Python
108 lines
3.8 KiB
Python
# -*- mode:python -*-
|
|
|
|
# Copyright (c) 2015-2018 Advanced Micro Devices, Inc.
|
|
# All rights reserved.
|
|
#
|
|
# Redistribution and use in source and binary forms, with or without
|
|
# modification, are permitted provided that the following conditions are met:
|
|
#
|
|
# 1. Redistributions of source code must retain the above copyright notice,
|
|
# this list of conditions and the following disclaimer.
|
|
#
|
|
# 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
# this list of conditions and the following disclaimer in the documentation
|
|
# and/or other materials provided with the distribution.
|
|
#
|
|
# 3. Neither the name of the copyright holder nor the names of its
|
|
# contributors may be used to endorse or promote products derived from this
|
|
# software without specific prior written permission.
|
|
#
|
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
|
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
|
# POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
Import('*')
|
|
|
|
if not env['CONF']['BUILD_GPU']:
|
|
Return()
|
|
|
|
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')
|
|
Source('dispatcher.cc')
|
|
Source('exec_stage.cc')
|
|
Source('fetch_stage.cc')
|
|
Source('fetch_unit.cc')
|
|
Source('global_memory_pipeline.cc')
|
|
Source('gpu_command_processor.cc')
|
|
Source('gpu_compute_driver.cc')
|
|
Source('gpu_dyn_inst.cc')
|
|
Source('gpu_exec_context.cc')
|
|
Source('gpu_render_driver.cc')
|
|
Source('gpu_static_inst.cc')
|
|
Source('lds_state.cc')
|
|
Source('local_memory_pipeline.cc')
|
|
Source('pool_manager.cc')
|
|
Source('register_file.cc')
|
|
Source('register_manager.cc')
|
|
Source('scalar_memory_pipeline.cc')
|
|
Source('scalar_register_file.cc')
|
|
Source('schedule_stage.cc')
|
|
Source('scheduler.cc')
|
|
Source('scoreboard_check_stage.cc')
|
|
Source('shader.cc')
|
|
Source('dyn_pool_manager.cc')
|
|
Source('simple_pool_manager.cc')
|
|
Source('static_register_manager_policy.cc')
|
|
Source('vector_register_file.cc')
|
|
Source('wavefront.cc')
|
|
|
|
DebugFlag('GPUAgentDisp')
|
|
DebugFlag('GPUCoalescer')
|
|
DebugFlag('GPUCommandProc')
|
|
DebugFlag('GPUDriver')
|
|
DebugFlag('GPUInitAbi')
|
|
DebugFlag('GPUDisp')
|
|
DebugFlag('GPUExec')
|
|
DebugFlag('GPUFetch')
|
|
DebugFlag('GPUInst')
|
|
DebugFlag('GPUKernelInfo')
|
|
DebugFlag('GPUMem')
|
|
DebugFlag('GPUPort')
|
|
DebugFlag('GPUPrefetch')
|
|
DebugFlag('GPUReg')
|
|
DebugFlag('GPURename')
|
|
DebugFlag('GPURF')
|
|
DebugFlag('GPURfState')
|
|
DebugFlag('GPUSched')
|
|
DebugFlag('GPUShader')
|
|
DebugFlag('GPUSRF')
|
|
DebugFlag('GPUSync')
|
|
DebugFlag('GPUTLB')
|
|
DebugFlag('GPUVRF')
|
|
DebugFlag('GPUVRFSched')
|
|
DebugFlag('GPUWgLatency')
|
|
DebugFlag('Predictor')
|
|
DebugFlag('WavefrontStack')
|
|
|
|
CompoundFlag('GPUALL', ['GPUCoalescer', 'GPUDisp', 'GPUExec', 'GPUFetch',
|
|
'GPUMem', 'GPUPort', 'GPUSched', 'GPUSRF', 'GPUSync',
|
|
'GPUTLB', 'GPUVRF', 'GPUWgLatency', 'GPUKernelInfo',
|
|
'GPUInitAbi'])
|