SConscript revision 14007
14120Sgblack@eecs.umich.edu# -*- mode:python -*-
24120Sgblack@eecs.umich.edu#
34120Sgblack@eecs.umich.edu# Copyright (c) 2018 ARM Limited
44120Sgblack@eecs.umich.edu# All rights reserved
54120Sgblack@eecs.umich.edu#
64120Sgblack@eecs.umich.edu# The license below extends only to copyright in the software and shall
74120Sgblack@eecs.umich.edu# not be construed as granting a license to any other intellectual
84120Sgblack@eecs.umich.edu# property including but not limited to intellectual property relating
94120Sgblack@eecs.umich.edu# to a hardware implementation of the functionality of the software
104120Sgblack@eecs.umich.edu# licensed hereunder.  You may use the software subject to the license
114120Sgblack@eecs.umich.edu# terms below provided that you ensure that this notice is replicated
124120Sgblack@eecs.umich.edu# unmodified and in its entirety in all distributions of the software,
134120Sgblack@eecs.umich.edu# modified or unmodified, in source code or in binary form.
144120Sgblack@eecs.umich.edu#
154120Sgblack@eecs.umich.edu# Copyright (c) 2006 The Regents of The University of Michigan
164120Sgblack@eecs.umich.edu# All rights reserved.
174120Sgblack@eecs.umich.edu#
184120Sgblack@eecs.umich.edu# Redistribution and use in source and binary forms, with or without
194120Sgblack@eecs.umich.edu# modification, are permitted provided that the following conditions are
204120Sgblack@eecs.umich.edu# met: redistributions of source code must retain the above copyright
214120Sgblack@eecs.umich.edu# notice, this list of conditions and the following disclaimer;
224120Sgblack@eecs.umich.edu# redistributions in binary form must reproduce the above copyright
234120Sgblack@eecs.umich.edu# notice, this list of conditions and the following disclaimer in the
244120Sgblack@eecs.umich.edu# documentation and/or other materials provided with the distribution;
254120Sgblack@eecs.umich.edu# neither the name of the copyright holders nor the names of its
264120Sgblack@eecs.umich.edu# contributors may be used to endorse or promote products derived from
274120Sgblack@eecs.umich.edu# this software without specific prior written permission.
284120Sgblack@eecs.umich.edu#
294120Sgblack@eecs.umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
304120Sgblack@eecs.umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
314120Sgblack@eecs.umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
324120Sgblack@eecs.umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
334120Sgblack@eecs.umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
344120Sgblack@eecs.umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
354120Sgblack@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
364120Sgblack@eecs.umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
374120Sgblack@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
384120Sgblack@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
394120Sgblack@eecs.umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
404120Sgblack@eecs.umich.edu#
414120Sgblack@eecs.umich.edu# Authors: Nathan Binkert
424120Sgblack@eecs.umich.edu
434120Sgblack@eecs.umich.eduImport('*')
444120Sgblack@eecs.umich.edu
454120Sgblack@eecs.umich.eduSimObject('CommMonitor.py')
464120Sgblack@eecs.umich.eduSource('comm_monitor.cc')
474120Sgblack@eecs.umich.edu
484120Sgblack@eecs.umich.eduSimObject('AbstractMemory.py')
494120Sgblack@eecs.umich.eduSimObject('AddrMapper.py')
504120Sgblack@eecs.umich.eduSimObject('Bridge.py')
514120Sgblack@eecs.umich.eduSimObject('DRAMCtrl.py')
524120Sgblack@eecs.umich.eduSimObject('ExternalMaster.py')
534120Sgblack@eecs.umich.eduSimObject('ExternalSlave.py')
544120Sgblack@eecs.umich.eduSimObject('MemObject.py')
554120Sgblack@eecs.umich.eduSimObject('SimpleMemory.py')
564120Sgblack@eecs.umich.eduSimObject('XBar.py')
574120Sgblack@eecs.umich.eduSimObject('HMCController.py')
584120Sgblack@eecs.umich.eduSimObject('SerialLink.py')
594120Sgblack@eecs.umich.eduSimObject('MemDelay.py')
604120Sgblack@eecs.umich.edu
614120Sgblack@eecs.umich.eduSource('abstract_mem.cc')
624120Sgblack@eecs.umich.eduSource('addr_mapper.cc')
634120Sgblack@eecs.umich.eduSource('bridge.cc')
644120Sgblack@eecs.umich.eduSource('coherent_xbar.cc')
654120Sgblack@eecs.umich.eduSource('drampower.cc')
664120Sgblack@eecs.umich.eduSource('dram_ctrl.cc')
674120Sgblack@eecs.umich.eduSource('external_master.cc')
684120Sgblack@eecs.umich.eduSource('external_slave.cc')
694120Sgblack@eecs.umich.eduSource('mem_object.cc')
704120Sgblack@eecs.umich.eduSource('mport.cc')
714120Sgblack@eecs.umich.eduSource('noncoherent_xbar.cc')
724120Sgblack@eecs.umich.eduSource('packet.cc')
734120Sgblack@eecs.umich.eduSource('port.cc')
744120Sgblack@eecs.umich.eduSource('packet_queue.cc')
754120Sgblack@eecs.umich.eduSource('port_proxy.cc')
764120Sgblack@eecs.umich.eduSource('physical.cc')
774120Sgblack@eecs.umich.eduSource('secure_port_proxy.cc')
784120Sgblack@eecs.umich.eduSource('simple_mem.cc')
794120Sgblack@eecs.umich.eduSource('snoop_filter.cc')
804120Sgblack@eecs.umich.eduSource('stack_dist_calc.cc')
814120Sgblack@eecs.umich.eduSource('tport.cc')
824120Sgblack@eecs.umich.eduSource('xbar.cc')
834120Sgblack@eecs.umich.eduSource('hmc_controller.cc')
844120Sgblack@eecs.umich.eduSource('serial_link.cc')
854120Sgblack@eecs.umich.eduSource('mem_delay.cc')
864202Sbinkertn@umich.edu
875069Sgblack@eecs.umich.eduif env['TARGET_ISA'] != 'null':
884202Sbinkertn@umich.edu    Source('fs_translating_port_proxy.cc')
894601Sgblack@eecs.umich.edu    Source('se_translating_port_proxy.cc')
904202Sbinkertn@umich.edu    Source('page_table.cc')
915083Sgblack@eecs.umich.edu
924679Sgblack@eecs.umich.eduif env['HAVE_DRAMSIM']:
935083Sgblack@eecs.umich.edu    SimObject('DRAMSim2.py')
944679Sgblack@eecs.umich.edu    Source('dramsim2_wrapper.cc')
954679Sgblack@eecs.umich.edu    Source('dramsim2.cc')
964202Sbinkertn@umich.edu
974202Sbinkertn@umich.eduSimObject('MemChecker.py')
984249Sgblack@eecs.umich.eduSource('mem_checker.cc')
994240Sgblack@eecs.umich.eduSource('mem_checker_monitor.cc')
1004202Sbinkertn@umich.edu
1014202Sbinkertn@umich.eduDebugFlag('AddrRanges')
1024997Sgblack@eecs.umich.eduDebugFlag('BaseXBar')
1034997Sgblack@eecs.umich.eduDebugFlag('CoherentXBar')
1044997Sgblack@eecs.umich.eduDebugFlag('NoncoherentXBar')
1054120Sgblack@eecs.umich.eduDebugFlag('SnoopFilter')
1064202Sbinkertn@umich.eduCompoundFlag('XBar', ['BaseXBar', 'CoherentXBar', 'NoncoherentXBar',
1074202Sbinkertn@umich.edu                      'SnoopFilter'])
1084202Sbinkertn@umich.edu
1094202Sbinkertn@umich.eduDebugFlag('Bridge')
1104202Sbinkertn@umich.eduDebugFlag('CommMonitor')
1114120Sgblack@eecs.umich.eduDebugFlag('DRAM')
1124202Sbinkertn@umich.eduDebugFlag('DRAMPower')
1134202Sbinkertn@umich.eduDebugFlag('DRAMState')
1144202Sbinkertn@umich.eduDebugFlag('ExternalPort')
1154120Sgblack@eecs.umich.eduDebugFlag('LLSC')
1165069Sgblack@eecs.umich.eduDebugFlag('MMU')
1175081Sgblack@eecs.umich.eduDebugFlag('MemoryAccess')
1185081Sgblack@eecs.umich.eduDebugFlag('PacketQueue')
1195081Sgblack@eecs.umich.eduDebugFlag('StackDist')
1205081Sgblack@eecs.umich.eduDebugFlag("DRAMSim2")
1215081Sgblack@eecs.umich.eduDebugFlag('HMCController')
1225081Sgblack@eecs.umich.eduDebugFlag('SerialLink')
1235081Sgblack@eecs.umich.edu
1245081Sgblack@eecs.umich.eduDebugFlag("MemChecker")
1255081Sgblack@eecs.umich.eduDebugFlag("MemCheckerMonitor")
1265081Sgblack@eecs.umich.eduDebugFlag("QOS")
1275081Sgblack@eecs.umich.edu