SConscript revision 5938
111730Sar4jc@virginia.edu# -*- mode:python -*-
211730Sar4jc@virginia.edu
311730Sar4jc@virginia.edu# Copyright (c) 2004-2005 The Regents of The University of Michigan
411730Sar4jc@virginia.edu# All rights reserved.
511730Sar4jc@virginia.edu#
611730Sar4jc@virginia.edu# Redistribution and use in source and binary forms, with or without
711730Sar4jc@virginia.edu# modification, are permitted provided that the following conditions are
811730Sar4jc@virginia.edu# met: redistributions of source code must retain the above copyright
911730Sar4jc@virginia.edu# notice, this list of conditions and the following disclaimer;
1011730Sar4jc@virginia.edu# redistributions in binary form must reproduce the above copyright
1111730Sar4jc@virginia.edu# notice, this list of conditions and the following disclaimer in the
1211730Sar4jc@virginia.edu# documentation and/or other materials provided with the distribution;
1311730Sar4jc@virginia.edu# neither the name of the copyright holders nor the names of its
1411730Sar4jc@virginia.edu# contributors may be used to endorse or promote products derived from
1511730Sar4jc@virginia.edu# this software without specific prior written permission.
1611730Sar4jc@virginia.edu#
1711730Sar4jc@virginia.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1811730Sar4jc@virginia.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1911730Sar4jc@virginia.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2011730Sar4jc@virginia.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2111730Sar4jc@virginia.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2211730Sar4jc@virginia.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2311730Sar4jc@virginia.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2411730Sar4jc@virginia.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2511730Sar4jc@virginia.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2611730Sar4jc@virginia.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2711730Sar4jc@virginia.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2811730Sar4jc@virginia.edu#
2911730Sar4jc@virginia.edu# Authors: Gabe Black
3011730Sar4jc@virginia.edu#          Steve Reinhardt
3111730Sar4jc@virginia.edu
3211730Sar4jc@virginia.eduImport('*')
3311730Sar4jc@virginia.edu
3411730Sar4jc@virginia.eduif env['TARGET_ISA'] == 'sparc':
3511730Sar4jc@virginia.edu    Source('asi.cc')
3611730Sar4jc@virginia.edu    Source('faults.cc')
3711730Sar4jc@virginia.edu    Source('floatregfile.cc')
3811730Sar4jc@virginia.edu    Source('intregfile.cc')
3911730Sar4jc@virginia.edu    Source('miscregfile.cc')
4011730Sar4jc@virginia.edu    Source('pagetable.cc')
4111730Sar4jc@virginia.edu    Source('regfile.cc')
4211730Sar4jc@virginia.edu    Source('remote_gdb.cc')
4311730Sar4jc@virginia.edu    Source('tlb.cc')
4411730Sar4jc@virginia.edu    Source('utility.cc')
4511730Sar4jc@virginia.edu
4611730Sar4jc@virginia.edu    SimObject('SparcTLB.py')
4711730Sar4jc@virginia.edu    TraceFlag('Sparc', "Generic SPARC ISA stuff")
4811730Sar4jc@virginia.edu    TraceFlag('RegisterWindows', "Register window manipulation")
4911730Sar4jc@virginia.edu
5011730Sar4jc@virginia.edu    if env['FULL_SYSTEM']:
5111730Sar4jc@virginia.edu        SimObject('SparcSystem.py')
5211730Sar4jc@virginia.edu        SimObject('SparcInterrupts.py')
5311730Sar4jc@virginia.edu
5411730Sar4jc@virginia.edu        Source('interrupts.cc')
5511730Sar4jc@virginia.edu        Source('stacktrace.cc')
5611730Sar4jc@virginia.edu        Source('system.cc')
5711730Sar4jc@virginia.edu        Source('ua2005.cc')
5811730Sar4jc@virginia.edu        Source('vtophys.cc')
5911730Sar4jc@virginia.edu    else:
6011730Sar4jc@virginia.edu        Source('process.cc')
6111730Sar4jc@virginia.edu
6211730Sar4jc@virginia.edu        Source('linux/linux.cc')
6311730Sar4jc@virginia.edu        Source('linux/process.cc')
6411730Sar4jc@virginia.edu        Source('linux/syscalls.cc')
6511730Sar4jc@virginia.edu
6611730Sar4jc@virginia.edu        Source('solaris/process.cc')
6711730Sar4jc@virginia.edu        Source('solaris/solaris.cc')
6811730Sar4jc@virginia.edu
6911730Sar4jc@virginia.edu    # Add in files generated by the ISA description.
7011730Sar4jc@virginia.edu    isa_desc_files = env.ISADesc('isa/main.isa')
7111730Sar4jc@virginia.edu    # Only non-header files need to be compiled.
7211730Sar4jc@virginia.edu    for f in isa_desc_files:
7311730Sar4jc@virginia.edu        if not f.path.endswith('.hh'):
7411730Sar4jc@virginia.edu            Source(f)
7511730Sar4jc@virginia.edu