SConscript revision 10664
111986Sandreas.sandberg@arm.com# -*- mode:python -*-
211986Sandreas.sandberg@arm.com
311986Sandreas.sandberg@arm.com# Copyright (c) 2006 The Regents of The University of Michigan
411986Sandreas.sandberg@arm.com# All rights reserved.
511986Sandreas.sandberg@arm.com#
611986Sandreas.sandberg@arm.com# Redistribution and use in source and binary forms, with or without
711986Sandreas.sandberg@arm.com# modification, are permitted provided that the following conditions are
811986Sandreas.sandberg@arm.com# met: redistributions of source code must retain the above copyright
911986Sandreas.sandberg@arm.com# notice, this list of conditions and the following disclaimer;
1011986Sandreas.sandberg@arm.com# redistributions in binary form must reproduce the above copyright
1111986Sandreas.sandberg@arm.com# notice, this list of conditions and the following disclaimer in the
1211986Sandreas.sandberg@arm.com# documentation and/or other materials provided with the distribution;
1311986Sandreas.sandberg@arm.com# neither the name of the copyright holders nor the names of its
1411986Sandreas.sandberg@arm.com# contributors may be used to endorse or promote products derived from
1511986Sandreas.sandberg@arm.com# this software without specific prior written permission.
1611986Sandreas.sandberg@arm.com#
1711986Sandreas.sandberg@arm.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1811986Sandreas.sandberg@arm.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1911986Sandreas.sandberg@arm.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2011986Sandreas.sandberg@arm.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2111986Sandreas.sandberg@arm.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2211986Sandreas.sandberg@arm.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2311986Sandreas.sandberg@arm.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2411986Sandreas.sandberg@arm.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2511986Sandreas.sandberg@arm.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2611986Sandreas.sandberg@arm.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2711986Sandreas.sandberg@arm.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2811986Sandreas.sandberg@arm.com#
2911986Sandreas.sandberg@arm.com# Authors: Steve Reinhardt
3011986Sandreas.sandberg@arm.com
3111986Sandreas.sandberg@arm.comImport('*')
3211986Sandreas.sandberg@arm.com
3311986Sandreas.sandberg@arm.comif env['TARGET_ISA'] == 'null':
3411986Sandreas.sandberg@arm.com    SimObject('IntrControl.py')
3511986Sandreas.sandberg@arm.com    Source('intr_control_noisa.cc')
3611986Sandreas.sandberg@arm.com    Return()
3711986Sandreas.sandberg@arm.com
3811986Sandreas.sandberg@arm.comSimObject('CheckerCPU.py')
3911986Sandreas.sandberg@arm.com
4011986Sandreas.sandberg@arm.comSimObject('BaseCPU.py')
4111986Sandreas.sandberg@arm.comSimObject('CPUTracers.py')
4212037Sandreas.sandberg@arm.comSimObject('FuncUnit.py')
4312037Sandreas.sandberg@arm.comSimObject('IntrControl.py')
4412037Sandreas.sandberg@arm.comSimObject('TimingExpr.py')
4511986Sandreas.sandberg@arm.com
4611986Sandreas.sandberg@arm.comSource('activity.cc')
4711986Sandreas.sandberg@arm.comSource('base.cc')
4811986Sandreas.sandberg@arm.comSource('cpuevent.cc')
4911986Sandreas.sandberg@arm.comSource('exetrace.cc')
5011986Sandreas.sandberg@arm.comSource('exec_context.cc')
5112037Sandreas.sandberg@arm.comSource('func_unit.cc')
5212037Sandreas.sandberg@arm.comSource('inteltrace.cc')
5311986Sandreas.sandberg@arm.comSource('intr_control.cc')
5412037Sandreas.sandberg@arm.comSource('nativetrace.cc')
5512037Sandreas.sandberg@arm.comSource('pc_event.cc')
5612037Sandreas.sandberg@arm.comSource('profile.cc')
5712037Sandreas.sandberg@arm.comSource('quiesce_event.cc')
5812037Sandreas.sandberg@arm.comSource('reg_class.cc')
5912037Sandreas.sandberg@arm.comSource('static_inst.cc')
6012037Sandreas.sandberg@arm.comSource('simple_thread.cc')
6112037Sandreas.sandberg@arm.comSource('thread_context.cc')
6212037Sandreas.sandberg@arm.comSource('thread_state.cc')
6312037Sandreas.sandberg@arm.comSource('timing_expr.cc')
6412037Sandreas.sandberg@arm.com
6512037Sandreas.sandberg@arm.comSimObject('DummyChecker.py')
6612037Sandreas.sandberg@arm.comSimObject('StaticInstFlags.py')
6712037Sandreas.sandberg@arm.comSource('checker/cpu.cc')
6812037Sandreas.sandberg@arm.comSource('dummy_checker.cc')
6912037Sandreas.sandberg@arm.comDebugFlag('Checker')
7012037Sandreas.sandberg@arm.com
7112037Sandreas.sandberg@arm.comDebugFlag('Activity')
7212037Sandreas.sandberg@arm.comDebugFlag('Commit')
7312037Sandreas.sandberg@arm.comDebugFlag('Context')
7412037Sandreas.sandberg@arm.comDebugFlag('Decode')
7512037Sandreas.sandberg@arm.comDebugFlag('DynInst')
7612037Sandreas.sandberg@arm.comDebugFlag('ExecEnable', 'Filter: Enable exec tracing (no tracing without this)')
7712037Sandreas.sandberg@arm.comDebugFlag('ExecCPSeq', 'Format: Instruction sequence number')
7812037Sandreas.sandberg@arm.comDebugFlag('ExecEffAddr', 'Format: Include effective address')
7912037Sandreas.sandberg@arm.comDebugFlag('ExecFaulting', 'Trace faulting instructions')
8012037Sandreas.sandberg@arm.comDebugFlag('ExecFetchSeq', 'Format: Fetch sequence number')
8112037Sandreas.sandberg@arm.comDebugFlag('ExecOpClass', 'Format: Include operand class')
8212037Sandreas.sandberg@arm.comDebugFlag('ExecRegDelta')
8312037Sandreas.sandberg@arm.comDebugFlag('ExecResult', 'Format: Include results from execution')
8412037Sandreas.sandberg@arm.comDebugFlag('ExecSymbol', 'Format: Try to include symbol names')
8512037Sandreas.sandberg@arm.comDebugFlag('ExecThread', 'Format: Include thread ID in trace')
8612037Sandreas.sandberg@arm.comDebugFlag('ExecTicks', 'Format: Include tick count')
8712037Sandreas.sandberg@arm.comDebugFlag('ExecMicro', 'Filter: Include microops')
8812037Sandreas.sandberg@arm.comDebugFlag('ExecMacro', 'Filter: Include macroops')
8912037Sandreas.sandberg@arm.comDebugFlag('ExecUser', 'Filter: Trace user mode instructions')
9012037Sandreas.sandberg@arm.comDebugFlag('ExecKernel', 'Filter: Trace kernel mode instructions')
9112037Sandreas.sandberg@arm.comDebugFlag('ExecAsid', 'Format: Include ASID in trace')
9212037Sandreas.sandberg@arm.comDebugFlag('ExecFlags', 'Format: Include instruction flags in trace')
9312037Sandreas.sandberg@arm.comDebugFlag('Fetch')
9412037Sandreas.sandberg@arm.comDebugFlag('IntrControl')
9512037Sandreas.sandberg@arm.comDebugFlag('O3PipeView')
9612037Sandreas.sandberg@arm.comDebugFlag('PCEvent')
9712037Sandreas.sandberg@arm.comDebugFlag('Quiesce')
9812037Sandreas.sandberg@arm.comDebugFlag('Mwait')
9912037Sandreas.sandberg@arm.com
10012037Sandreas.sandberg@arm.comCompoundFlag('ExecAll', [ 'ExecEnable', 'ExecCPSeq', 'ExecEffAddr',
10112037Sandreas.sandberg@arm.com    'ExecFaulting', 'ExecFetchSeq', 'ExecOpClass', 'ExecRegDelta',
10212037Sandreas.sandberg@arm.com    'ExecResult', 'ExecSymbol', 'ExecThread',
10312037Sandreas.sandberg@arm.com    'ExecTicks', 'ExecMicro', 'ExecMacro', 'ExecUser', 'ExecKernel',
10412037Sandreas.sandberg@arm.com    'ExecAsid', 'ExecFlags' ])
10512037Sandreas.sandberg@arm.comCompoundFlag('Exec', [ 'ExecEnable', 'ExecTicks', 'ExecOpClass', 'ExecThread',
10612037Sandreas.sandberg@arm.com    'ExecEffAddr', 'ExecResult', 'ExecSymbol', 'ExecMicro', 'ExecFaulting',
10712037Sandreas.sandberg@arm.com    'ExecUser', 'ExecKernel' ])
10812037Sandreas.sandberg@arm.comCompoundFlag('ExecNoTicks', [ 'ExecEnable', 'ExecOpClass', 'ExecThread',
10912037Sandreas.sandberg@arm.com    'ExecEffAddr', 'ExecResult', 'ExecMicro', 'ExecFaulting',
11012037Sandreas.sandberg@arm.com    'ExecUser', 'ExecKernel' ])
11112037Sandreas.sandberg@arm.com