SConscript revision 10131
15081Sgblack@eecs.umich.edu# -*- mode:python -*- 25081Sgblack@eecs.umich.edu 35081Sgblack@eecs.umich.edu# Copyright (c) 2006 The Regents of The University of Michigan 47087Snate@binkert.org# All rights reserved. 57087Snate@binkert.org# 67087Snate@binkert.org# Redistribution and use in source and binary forms, with or without 77087Snate@binkert.org# modification, are permitted provided that the following conditions are 87087Snate@binkert.org# met: redistributions of source code must retain the above copyright 97087Snate@binkert.org# notice, this list of conditions and the following disclaimer; 107087Snate@binkert.org# redistributions in binary form must reproduce the above copyright 117087Snate@binkert.org# notice, this list of conditions and the following disclaimer in the 125081Sgblack@eecs.umich.edu# documentation and/or other materials provided with the distribution; 137087Snate@binkert.org# neither the name of the copyright holders nor the names of its 147087Snate@binkert.org# contributors may be used to endorse or promote products derived from 157087Snate@binkert.org# this software without specific prior written permission. 167087Snate@binkert.org# 177087Snate@binkert.org# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 187087Snate@binkert.org# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 197087Snate@binkert.org# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 207087Snate@binkert.org# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 215081Sgblack@eecs.umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 227087Snate@binkert.org# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 235081Sgblack@eecs.umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 245081Sgblack@eecs.umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 255081Sgblack@eecs.umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 265081Sgblack@eecs.umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 275081Sgblack@eecs.umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 285081Sgblack@eecs.umich.edu# 295081Sgblack@eecs.umich.edu# Authors: Nathan Binkert 305081Sgblack@eecs.umich.edu 315081Sgblack@eecs.umich.eduImport('*') 325081Sgblack@eecs.umich.edu 335081Sgblack@eecs.umich.edu# Only build the communication if we have support for protobuf as the 345081Sgblack@eecs.umich.edu# tracing relies on it 355081Sgblack@eecs.umich.eduif env['HAVE_PROTOBUF']: 365081Sgblack@eecs.umich.edu SimObject('CommMonitor.py') 375081Sgblack@eecs.umich.edu Source('comm_monitor.cc') 385081Sgblack@eecs.umich.edu 396580Sgblack@eecs.umich.eduSimObject('AbstractMemory.py') 406580Sgblack@eecs.umich.eduSimObject('AddrMapper.py') 416580Sgblack@eecs.umich.eduSimObject('Bridge.py') 426580Sgblack@eecs.umich.eduSimObject('Bus.py') 436580Sgblack@eecs.umich.eduSimObject('MemObject.py') 446580Sgblack@eecs.umich.eduSimObject('SimpleMemory.py') 456580Sgblack@eecs.umich.eduSimObject('SimpleDRAM.py') 466580Sgblack@eecs.umich.edu 476580Sgblack@eecs.umich.eduSource('abstract_mem.cc') 486580Sgblack@eecs.umich.eduSource('addr_mapper.cc') 496580Sgblack@eecs.umich.eduSource('bridge.cc') 506580Sgblack@eecs.umich.eduSource('bus.cc') 516580Sgblack@eecs.umich.eduSource('coherent_bus.cc') 526580Sgblack@eecs.umich.eduSource('mem_object.cc') 536580Sgblack@eecs.umich.eduSource('mport.cc') 546580Sgblack@eecs.umich.eduSource('noncoherent_bus.cc') 556580Sgblack@eecs.umich.eduSource('packet.cc') 566580Sgblack@eecs.umich.eduSource('port.cc') 576580Sgblack@eecs.umich.eduSource('packet_queue.cc') 586580Sgblack@eecs.umich.eduSource('tport.cc') 596580Sgblack@eecs.umich.eduSource('port_proxy.cc') 606580Sgblack@eecs.umich.eduSource('simple_mem.cc') 616580Sgblack@eecs.umich.eduSource('physical.cc') 626580Sgblack@eecs.umich.eduSource('simple_dram.cc') 636580Sgblack@eecs.umich.edu 646580Sgblack@eecs.umich.eduif env['TARGET_ISA'] != 'null': 656580Sgblack@eecs.umich.edu Source('fs_translating_port_proxy.cc') 666580Sgblack@eecs.umich.edu Source('se_translating_port_proxy.cc') 676580Sgblack@eecs.umich.edu Source('page_table.cc') 686580Sgblack@eecs.umich.edu 696580Sgblack@eecs.umich.eduif env['HAVE_DRAMSIM']: 706580Sgblack@eecs.umich.edu SimObject('DRAMSim2.py') 716580Sgblack@eecs.umich.edu Source('dramsim2_wrapper.cc') 726580Sgblack@eecs.umich.edu Source('dramsim2.cc') 736580Sgblack@eecs.umich.edu 746580Sgblack@eecs.umich.eduDebugFlag('BaseBus') 756580Sgblack@eecs.umich.eduDebugFlag('BusAddrRanges') 766580Sgblack@eecs.umich.eduDebugFlag('CoherentBus') 776580Sgblack@eecs.umich.eduDebugFlag('NoncoherentBus') 786580Sgblack@eecs.umich.eduCompoundFlag('Bus', ['BaseBus', 'BusAddrRanges', 'CoherentBus', 796580Sgblack@eecs.umich.edu 'NoncoherentBus']) 806580Sgblack@eecs.umich.edu 816580Sgblack@eecs.umich.eduDebugFlag('Bridge') 826580Sgblack@eecs.umich.eduDebugFlag('CommMonitor') 836580Sgblack@eecs.umich.eduDebugFlag('DRAM') 846580Sgblack@eecs.umich.eduDebugFlag('LLSC') 856580Sgblack@eecs.umich.eduDebugFlag('MMU') 866580Sgblack@eecs.umich.eduDebugFlag('MemoryAccess') 876580Sgblack@eecs.umich.eduDebugFlag('PacketQueue') 886580Sgblack@eecs.umich.edu 896580Sgblack@eecs.umich.eduDebugFlag("DRAMSim2") 906580Sgblack@eecs.umich.edu 916580Sgblack@eecs.umich.eduDebugFlag('ProtocolTrace') 926580Sgblack@eecs.umich.eduDebugFlag('RubyCache') 936580Sgblack@eecs.umich.eduDebugFlag('RubyCacheTrace') 946580Sgblack@eecs.umich.eduDebugFlag('RubyDma') 956580Sgblack@eecs.umich.eduDebugFlag('RubyGenerated') 966580Sgblack@eecs.umich.eduDebugFlag('RubyMemory') 976580Sgblack@eecs.umich.eduDebugFlag('RubyNetwork') 986580Sgblack@eecs.umich.eduDebugFlag('RubyPort') 996580Sgblack@eecs.umich.eduDebugFlag('RubyPrefetcher') 1006580Sgblack@eecs.umich.eduDebugFlag('RubyQueue') 1016580Sgblack@eecs.umich.eduDebugFlag('RubySequencer') 1026580Sgblack@eecs.umich.eduDebugFlag('RubySlicc') 1036580Sgblack@eecs.umich.eduDebugFlag('RubySystem') 1046580Sgblack@eecs.umich.eduDebugFlag('RubyTester') 1056580Sgblack@eecs.umich.eduDebugFlag('RubyStats') 1066580Sgblack@eecs.umich.eduDebugFlag('RubyResourceStalls') 1076580Sgblack@eecs.umich.edu 1086580Sgblack@eecs.umich.eduCompoundFlag('Ruby', [ 'RubyQueue', 'RubyNetwork', 'RubyTester', 1096580Sgblack@eecs.umich.edu 'RubyGenerated', 'RubySlicc', 'RubySystem', 'RubyCache', 1106580Sgblack@eecs.umich.edu 'RubyMemory', 'RubyDma', 'RubyPort', 'RubySequencer', 'RubyCacheTrace', 1116580Sgblack@eecs.umich.edu 'RubyPrefetcher']) 1126580Sgblack@eecs.umich.edu