SConscript revision 10612
15584Snate@binkert.org# -*- mode:python -*- 25584Snate@binkert.org 35584Snate@binkert.org# Copyright (c) 2006 The Regents of The University of Michigan 45584Snate@binkert.org# All rights reserved. 55584Snate@binkert.org# 65584Snate@binkert.org# Redistribution and use in source and binary forms, with or without 75584Snate@binkert.org# modification, are permitted provided that the following conditions are 85584Snate@binkert.org# met: redistributions of source code must retain the above copyright 95584Snate@binkert.org# notice, this list of conditions and the following disclaimer; 105584Snate@binkert.org# redistributions in binary form must reproduce the above copyright 115584Snate@binkert.org# notice, this list of conditions and the following disclaimer in the 125584Snate@binkert.org# documentation and/or other materials provided with the distribution; 135584Snate@binkert.org# neither the name of the copyright holders nor the names of its 145584Snate@binkert.org# contributors may be used to endorse or promote products derived from 155584Snate@binkert.org# this software without specific prior written permission. 165584Snate@binkert.org# 175584Snate@binkert.org# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 185584Snate@binkert.org# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 195584Snate@binkert.org# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 205584Snate@binkert.org# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 215584Snate@binkert.org# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 225584Snate@binkert.org# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 235584Snate@binkert.org# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 245584Snate@binkert.org# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 255584Snate@binkert.org# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 265584Snate@binkert.org# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 275584Snate@binkert.org# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 285584Snate@binkert.org# 295584Snate@binkert.org# Authors: Nathan Binkert 305584Snate@binkert.org 315584Snate@binkert.orgImport('*') 325584Snate@binkert.org 335584Snate@binkert.org# Only build the communication if we have support for protobuf as the 345584Snate@binkert.org# tracing relies on it 355584Snate@binkert.orgif env['HAVE_PROTOBUF']: 365584Snate@binkert.org SimObject('CommMonitor.py') 375584Snate@binkert.org Source('comm_monitor.cc') 385584Snate@binkert.org 395584Snate@binkert.orgSimObject('AbstractMemory.py') 405584Snate@binkert.orgSimObject('AddrMapper.py') 415584Snate@binkert.orgSimObject('Bridge.py') 425584Snate@binkert.orgSimObject('DRAMCtrl.py') 435584Snate@binkert.orgSimObject('ExternalMaster.py') 445584Snate@binkert.orgSimObject('ExternalSlave.py') 455584Snate@binkert.orgSimObject('MemObject.py') 465584Snate@binkert.orgSimObject('SimpleMemory.py') 475584Snate@binkert.orgSimObject('XBar.py') 485584Snate@binkert.org 49Source('abstract_mem.cc') 50Source('addr_mapper.cc') 51Source('bridge.cc') 52Source('coherent_xbar.cc') 53Source('drampower.cc') 54Source('dram_ctrl.cc') 55Source('external_master.cc') 56Source('external_slave.cc') 57Source('mem_object.cc') 58Source('mport.cc') 59Source('noncoherent_xbar.cc') 60Source('packet.cc') 61Source('port.cc') 62Source('packet_queue.cc') 63Source('port_proxy.cc') 64Source('physical.cc') 65Source('simple_mem.cc') 66Source('snoop_filter.cc') 67Source('tport.cc') 68Source('xbar.cc') 69 70if env['TARGET_ISA'] != 'null': 71 Source('fs_translating_port_proxy.cc') 72 Source('se_translating_port_proxy.cc') 73 Source('page_table.cc') 74if env['TARGET_ISA'] == 'x86': 75 Source('multi_level_page_table.cc') 76 77if env['HAVE_DRAMSIM']: 78 SimObject('DRAMSim2.py') 79 Source('dramsim2_wrapper.cc') 80 Source('dramsim2.cc') 81 82SimObject('MemChecker.py') 83Source('mem_checker.cc') 84Source('mem_checker_monitor.cc') 85 86DebugFlag('AddrRanges') 87DebugFlag('BaseXBar') 88DebugFlag('CoherentXBar') 89DebugFlag('NoncoherentXBar') 90DebugFlag('SnoopFilter') 91CompoundFlag('XBar', ['BaseXBar', 'CoherentXBar', 'NoncoherentXBar', 92 'SnoopFilter']) 93 94DebugFlag('Bridge') 95DebugFlag('CommMonitor') 96DebugFlag('DRAM') 97DebugFlag('DRAMPower') 98DebugFlag('DRAMState') 99DebugFlag('ExternalPort') 100DebugFlag('LLSC') 101DebugFlag('MMU') 102DebugFlag('MemoryAccess') 103DebugFlag('PacketQueue') 104 105DebugFlag("DRAMSim2") 106 107DebugFlag("MemChecker") 108DebugFlag("MemCheckerMonitor") 109