SConscript revision 9398
111856Sbrandon.potter@amd.com# -*- mode:python -*-
211856Sbrandon.potter@amd.com
311856Sbrandon.potter@amd.com# Copyright (c) 2006 The Regents of The University of Michigan
411856Sbrandon.potter@amd.com# All rights reserved.
511856Sbrandon.potter@amd.com#
611856Sbrandon.potter@amd.com# Redistribution and use in source and binary forms, with or without
711856Sbrandon.potter@amd.com# modification, are permitted provided that the following conditions are
811856Sbrandon.potter@amd.com# met: redistributions of source code must retain the above copyright
911856Sbrandon.potter@amd.com# notice, this list of conditions and the following disclaimer;
1011856Sbrandon.potter@amd.com# redistributions in binary form must reproduce the above copyright
1111856Sbrandon.potter@amd.com# notice, this list of conditions and the following disclaimer in the
1211856Sbrandon.potter@amd.com# documentation and/or other materials provided with the distribution;
1311856Sbrandon.potter@amd.com# neither the name of the copyright holders nor the names of its
1411856Sbrandon.potter@amd.com# contributors may be used to endorse or promote products derived from
1511856Sbrandon.potter@amd.com# this software without specific prior written permission.
1611856Sbrandon.potter@amd.com#
1711856Sbrandon.potter@amd.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1811856Sbrandon.potter@amd.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1911856Sbrandon.potter@amd.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2011856Sbrandon.potter@amd.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2111856Sbrandon.potter@amd.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2211856Sbrandon.potter@amd.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2311856Sbrandon.potter@amd.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2411856Sbrandon.potter@amd.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2511856Sbrandon.potter@amd.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2611856Sbrandon.potter@amd.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2711856Sbrandon.potter@amd.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2811856Sbrandon.potter@amd.com#
2911856Sbrandon.potter@amd.com# Authors: Nathan Binkert
3011856Sbrandon.potter@amd.com
3111856Sbrandon.potter@amd.comImport('*')
3211856Sbrandon.potter@amd.com
3312697Santhony.gutierrez@amd.com# Only build the communication if we have support for protobuf as the
3411856Sbrandon.potter@amd.com# tracing relies on it
3511856Sbrandon.potter@amd.comif env['HAVE_PROTOBUF']:
3611856Sbrandon.potter@amd.com    SimObject('CommMonitor.py')
3711856Sbrandon.potter@amd.com    Source('comm_monitor.cc')
3811856Sbrandon.potter@amd.com
3911856Sbrandon.potter@amd.comSimObject('AddrMapper.py')
4011856Sbrandon.potter@amd.comSimObject('Bridge.py')
4111856Sbrandon.potter@amd.comSimObject('Bus.py')
4211856Sbrandon.potter@amd.comSimObject('MemObject.py')
4311856Sbrandon.potter@amd.com
4411856Sbrandon.potter@amd.comSource('addr_mapper.cc')
4511856Sbrandon.potter@amd.comSource('bridge.cc')
4611856Sbrandon.potter@amd.comSource('bus.cc')
4711856Sbrandon.potter@amd.comSource('coherent_bus.cc')
4811856Sbrandon.potter@amd.comSource('mem_object.cc')
4911856Sbrandon.potter@amd.comSource('mport.cc')
5011856Sbrandon.potter@amd.comSource('noncoherent_bus.cc')
5111856Sbrandon.potter@amd.comSource('packet.cc')
5211856Sbrandon.potter@amd.comSource('port.cc')
5311856Sbrandon.potter@amd.comSource('packet_queue.cc')
5411856Sbrandon.potter@amd.comSource('tport.cc')
5511856Sbrandon.potter@amd.comSource('port_proxy.cc')
5611856Sbrandon.potter@amd.comSource('fs_translating_port_proxy.cc')
5711856Sbrandon.potter@amd.comSource('se_translating_port_proxy.cc')
5811856Sbrandon.potter@amd.com
5911856Sbrandon.potter@amd.comif env['TARGET_ISA'] != 'no':
6011856Sbrandon.potter@amd.com    SimObject('AbstractMemory.py')
6111856Sbrandon.potter@amd.com    SimObject('SimpleMemory.py')
6211856Sbrandon.potter@amd.com    SimObject('SimpleDRAM.py')
6311856Sbrandon.potter@amd.com    Source('abstract_mem.cc')
6411856Sbrandon.potter@amd.com    Source('simple_mem.cc')
6511856Sbrandon.potter@amd.com    Source('page_table.cc')
6611856Sbrandon.potter@amd.com    Source('physical.cc')
6711856Sbrandon.potter@amd.com    Source('simple_dram.cc')
6811856Sbrandon.potter@amd.com
6911856Sbrandon.potter@amd.comDebugFlag('BaseBus')
7011856Sbrandon.potter@amd.comDebugFlag('BusAddrRanges')
7111856Sbrandon.potter@amd.comDebugFlag('CoherentBus')
7213029Sbrandon.potter@amd.comDebugFlag('NoncoherentBus')
7313029Sbrandon.potter@amd.comCompoundFlag('Bus', ['BaseBus', 'BusAddrRanges', 'CoherentBus',
7413029Sbrandon.potter@amd.com                     'NoncoherentBus'])
7513029Sbrandon.potter@amd.com
7613029Sbrandon.potter@amd.comDebugFlag('Bridge')
7713029Sbrandon.potter@amd.comDebugFlag('CommMonitor')
7813029Sbrandon.potter@amd.comDebugFlag('DRAM')
7913029Sbrandon.potter@amd.comDebugFlag('DRAMWR')
8011856Sbrandon.potter@amd.comDebugFlag('LLSC')
8111856Sbrandon.potter@amd.comDebugFlag('MMU')
8211856Sbrandon.potter@amd.comDebugFlag('MemoryAccess')
8311856Sbrandon.potter@amd.comDebugFlag('PacketQueue')
8413029Sbrandon.potter@amd.com
8511856Sbrandon.potter@amd.comDebugFlag('ProtocolTrace')
8611856Sbrandon.potter@amd.comDebugFlag('RubyCache')
8711856Sbrandon.potter@amd.comDebugFlag('RubyCacheTrace')
8811856Sbrandon.potter@amd.comDebugFlag('RubyDma')
8911856Sbrandon.potter@amd.comDebugFlag('RubyGenerated')
9011856Sbrandon.potter@amd.comDebugFlag('RubyMemory')
9113029Sbrandon.potter@amd.comDebugFlag('RubyNetwork')
9213029Sbrandon.potter@amd.comDebugFlag('RubyPort')
9313029Sbrandon.potter@amd.comDebugFlag('RubyPrefetcher')
9413029Sbrandon.potter@amd.comDebugFlag('RubyQueue')
9513029Sbrandon.potter@amd.comDebugFlag('RubySequencer')
9611856Sbrandon.potter@amd.comDebugFlag('RubySlicc')
9711856Sbrandon.potter@amd.comDebugFlag('RubySystem')
9811856Sbrandon.potter@amd.comDebugFlag('RubyTester')
9911856Sbrandon.potter@amd.comDebugFlag('RubyStats')
10011856Sbrandon.potter@amd.comDebugFlag('RubyResourceStalls')
10111856Sbrandon.potter@amd.com
10211856Sbrandon.potter@amd.comCompoundFlag('Ruby', [ 'RubyQueue', 'RubyNetwork', 'RubyTester',
10311856Sbrandon.potter@amd.com    'RubyGenerated', 'RubySlicc', 'RubySystem', 'RubyCache',
10411856Sbrandon.potter@amd.com    'RubyMemory', 'RubyDma', 'RubyPort', 'RubySequencer', 'RubyCacheTrace',
10511856Sbrandon.potter@amd.com    'RubyPrefetcher'])
10611856Sbrandon.potter@amd.com