SConscript revision 11692:e772fdcd3809
16498Snate@binkert.org# -*- mode:python -*-
26498Snate@binkert.org
36498Snate@binkert.org#
46498Snate@binkert.org#  Copyright (c) 2015 Advanced Micro Devices, Inc.
56498Snate@binkert.org#  All rights reserved.
66498Snate@binkert.org#
76498Snate@binkert.org#  For use for simulation and test purposes only
86498Snate@binkert.org#
96498Snate@binkert.org#  Redistribution and use in source and binary forms, with or without
106498Snate@binkert.org#  modification, are permitted provided that the following conditions are met:
116498Snate@binkert.org#
126498Snate@binkert.org#  1. Redistributions of source code must retain the above copyright notice,
136498Snate@binkert.org#  this list of conditions and the following disclaimer.
146498Snate@binkert.org#
156498Snate@binkert.org#  2. Redistributions in binary form must reproduce the above copyright notice,
166498Snate@binkert.org#  this list of conditions and the following disclaimer in the documentation
176498Snate@binkert.org#  and/or other materials provided with the distribution.
186498Snate@binkert.org#
196498Snate@binkert.org#  3. Neither the name of the copyright holder nor the names of its contributors
206498Snate@binkert.org#  may be used to endorse or promote products derived from this software
216498Snate@binkert.org#  without specific prior written permission.
226498Snate@binkert.org#
236498Snate@binkert.org#  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
246498Snate@binkert.org#  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
256498Snate@binkert.org#  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
266498Snate@binkert.org#  ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
276498Snate@binkert.org#  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
286498Snate@binkert.org#  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
296498Snate@binkert.org#  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
306498Snate@binkert.org#  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
316498Snate@binkert.org#  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
326498Snate@binkert.org#  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
336498Snate@binkert.org#  POSSIBILITY OF SUCH DAMAGE.
346498Snate@binkert.org#
356498Snate@binkert.org#  Author: Anthony Gutierrez
366498Snate@binkert.org#
376498Snate@binkert.org
386498Snate@binkert.orgImport('*')
396498Snate@binkert.org
406498Snate@binkert.orgif not env['BUILD_GPU']:
416498Snate@binkert.org    Return()
426498Snate@binkert.org
436498Snate@binkert.orgSimObject('GPU.py')
446498Snate@binkert.orgSimObject('GPUStaticInstFlags.py')
456498Snate@binkert.orgSimObject('LdsState.py')
466498Snate@binkert.orgSimObject('X86GPUTLB.py')
476498Snate@binkert.org
486498Snate@binkert.orgif env['TARGET_GPU_ISA'] == 'hsail':
496498Snate@binkert.org    Source('brig_object.cc')
506498Snate@binkert.org    Source('hsail_code.cc')
516498Snate@binkert.org
526498Snate@binkert.orgSource('cl_driver.cc')
536498Snate@binkert.orgSource('compute_unit.cc')
546498Snate@binkert.orgSource('condition_register_state.cc')
556498Snate@binkert.orgSource('dispatcher.cc')
566498Snate@binkert.orgSource('exec_stage.cc')
576498Snate@binkert.orgSource('fetch_stage.cc')
586498Snate@binkert.orgSource('fetch_unit.cc')
596498Snate@binkert.orgSource('global_memory_pipeline.cc')
606498Snate@binkert.orgSource('gpu_dyn_inst.cc')
616498Snate@binkert.orgSource('gpu_exec_context.cc')
626498Snate@binkert.orgSource('gpu_static_inst.cc')
636498Snate@binkert.orgSource('gpu_tlb.cc')
646498Snate@binkert.orgSource('hsa_object.cc')
656498Snate@binkert.orgSource('kernel_cfg.cc')
666498Snate@binkert.orgSource('lds_state.cc')
676498Snate@binkert.orgSource('local_memory_pipeline.cc')
686498Snate@binkert.orgSource('of_scheduling_policy.cc')
696498Snate@binkert.orgSource('pool_manager.cc')
706498Snate@binkert.orgSource('rr_scheduling_policy.cc')
716498Snate@binkert.orgSource('schedule_stage.cc')
726498Snate@binkert.orgSource('scheduler.cc')
736498Snate@binkert.orgSource('scoreboard_check_stage.cc')
746498Snate@binkert.orgSource('shader.cc')
756498Snate@binkert.orgSource('simple_pool_manager.cc')
766498Snate@binkert.orgSource('tlb_coalescer.cc')
776498Snate@binkert.orgSource('vector_register_file.cc')
786498Snate@binkert.orgSource('vector_register_state.cc')
796498Snate@binkert.orgSource('wavefront.cc')
806498Snate@binkert.org
816498Snate@binkert.orgDebugFlag('BRIG')
826498Snate@binkert.orgDebugFlag('GPUCoalescer')
836498Snate@binkert.orgDebugFlag('GPUDisp')
846498Snate@binkert.orgDebugFlag('GPUExec')
856498Snate@binkert.orgDebugFlag('GPUFetch')
866498Snate@binkert.orgDebugFlag('GPUHsailCFInfo')
876498Snate@binkert.orgDebugFlag('GPUMem')
886498Snate@binkert.orgDebugFlag('GPUPort')
896498Snate@binkert.orgDebugFlag('GPUPrefetch')
906498Snate@binkert.orgDebugFlag('GPUReg')
916498Snate@binkert.orgDebugFlag('GPUSync')
926498Snate@binkert.orgDebugFlag('GPUTLB')
936498Snate@binkert.orgDebugFlag('GPUVRF')
946498Snate@binkert.orgDebugFlag('HSALoader')
956498Snate@binkert.orgDebugFlag('HSAIL')
966498Snate@binkert.orgDebugFlag('HSAILObject')
976498Snate@binkert.orgDebugFlag('Predictor')
986498Snate@binkert.orgDebugFlag('WavefrontStack')
996498Snate@binkert.org
1006498Snate@binkert.orgCompoundFlag('GPUALL', ['GPUCoalescer', 'GPUDisp', 'GPUExec', 'GPUFetch',
1016498Snate@binkert.org                        'GPUMem', 'GPUPort', 'GPUSync', 'GPUTLB', 'HSAIL',
1026498Snate@binkert.org                        'GPUVRF'])
1036498Snate@binkert.org