SConscript revision 12839
1955SN/A# -*- mode:python -*-
2955SN/A
31762SN/A# Copyright (c) 2006 The Regents of The University of Michigan
4955SN/A# All rights reserved.
5955SN/A#
6955SN/A# Redistribution and use in source and binary forms, with or without
7955SN/A# modification, are permitted provided that the following conditions are
8955SN/A# met: redistributions of source code must retain the above copyright
9955SN/A# notice, this list of conditions and the following disclaimer;
10955SN/A# redistributions in binary form must reproduce the above copyright
11955SN/A# notice, this list of conditions and the following disclaimer in the
12955SN/A# documentation and/or other materials provided with the distribution;
13955SN/A# neither the name of the copyright holders nor the names of its
14955SN/A# contributors may be used to endorse or promote products derived from
15955SN/A# this software without specific prior written permission.
16955SN/A#
17955SN/A# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18955SN/A# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19955SN/A# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20955SN/A# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21955SN/A# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22955SN/A# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23955SN/A# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24955SN/A# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25955SN/A# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26955SN/A# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27955SN/A# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
282665Ssaidi@eecs.umich.edu#
294762Snate@binkert.org# Authors: Steve Reinhardt
30955SN/A
315522Snate@binkert.orgImport('*')
326143Snate@binkert.org
334762Snate@binkert.orgif env['TARGET_ISA'] == 'null':
345522Snate@binkert.org    SimObject('IntrControl.py')
35955SN/A    Source('intr_control_noisa.cc')
365522Snate@binkert.org    Return()
37955SN/A
385522Snate@binkert.org# Only build the protocol buffer instructions tracer if we have protobuf support
394202Sbinkertn@umich.eduif env['HAVE_PROTOBUF'] and env['TARGET_ISA'] != 'x86':
405742Snate@binkert.org    SimObject('InstPBTrace.py')
41955SN/A    Source('inst_pb_trace.cc')
424381Sbinkertn@umich.edu
434381Sbinkertn@umich.eduSimObject('CheckerCPU.py')
44955SN/A
45955SN/ASimObject('BaseCPU.py')
46955SN/ASimObject('CPUTracers.py')
474202Sbinkertn@umich.eduSimObject('FuncUnit.py')
48955SN/ASimObject('IntrControl.py')
494382Sbinkertn@umich.eduSimObject('TimingExpr.py')
504382Sbinkertn@umich.edu
514382Sbinkertn@umich.eduSource('activity.cc')
526654Snate@binkert.orgSource('base.cc')
535517Snate@binkert.orgSource('cpuevent.cc')
547674Snate@binkert.orgSource('exetrace.cc')
557674Snate@binkert.orgSource('exec_context.cc')
566143Snate@binkert.orgSource('func_unit.cc')
576143Snate@binkert.orgSource('inteltrace.cc')
586143Snate@binkert.orgSource('intr_control.cc')
596143Snate@binkert.orgSource('nativetrace.cc')
606143Snate@binkert.orgSource('pc_event.cc')
616143Snate@binkert.orgSource('profile.cc')
626143Snate@binkert.orgSource('quiesce_event.cc')
636143Snate@binkert.orgSource('reg_class.cc')
646143Snate@binkert.orgSource('static_inst.cc')
656143Snate@binkert.orgSource('simple_thread.cc')
666143Snate@binkert.orgSource('thread_context.cc')
676143Snate@binkert.orgSource('thread_state.cc')
686143Snate@binkert.orgSource('timing_expr.cc')
696143Snate@binkert.org
706143Snate@binkert.orgSimObject('DummyChecker.py')
714762Snate@binkert.orgSimObject('StaticInstFlags.py')
726143Snate@binkert.orgSource('checker/cpu.cc')
736143Snate@binkert.orgSource('dummy_checker.cc')
746143Snate@binkert.orgDebugFlag('Checker')
756143Snate@binkert.org
766143Snate@binkert.orgDebugFlag('Activity')
776143Snate@binkert.orgDebugFlag('Commit')
786143Snate@binkert.orgDebugFlag('Context')
796143Snate@binkert.orgDebugFlag('Decode')
806143Snate@binkert.orgDebugFlag('DynInst')
816143Snate@binkert.orgDebugFlag('ExecEnable', 'Filter: Enable exec tracing (no tracing without this)')
826143Snate@binkert.orgDebugFlag('ExecCPSeq', 'Format: Instruction sequence number')
836143Snate@binkert.orgDebugFlag('ExecEffAddr', 'Format: Include effective address')
846143Snate@binkert.orgDebugFlag('ExecFaulting', 'Trace faulting instructions')
856143Snate@binkert.orgDebugFlag('ExecFetchSeq', 'Format: Fetch sequence number')
866143Snate@binkert.orgDebugFlag('ExecOpClass', 'Format: Include operand class')
876143Snate@binkert.orgDebugFlag('ExecRegDelta')
886143Snate@binkert.orgDebugFlag('ExecResult', 'Format: Include results from execution')
896143Snate@binkert.orgDebugFlag('ExecSymbol', 'Format: Try to include symbol names')
906143Snate@binkert.orgDebugFlag('ExecThread', 'Format: Include thread ID in trace')
916143Snate@binkert.orgDebugFlag('ExecTicks', 'Format: Include tick count')
926143Snate@binkert.orgDebugFlag('ExecMicro', 'Filter: Include microops')
937065Snate@binkert.orgDebugFlag('ExecMacro', 'Filter: Include macroops')
946143Snate@binkert.orgDebugFlag('ExecUser', 'Filter: Trace user mode instructions')
956143Snate@binkert.orgDebugFlag('ExecKernel', 'Filter: Trace kernel mode instructions')
966143Snate@binkert.orgDebugFlag('ExecAsid', 'Format: Include ASID in trace')
976143Snate@binkert.orgDebugFlag('ExecFlags', 'Format: Include instruction flags in trace')
986143Snate@binkert.orgDebugFlag('Fetch')
996143Snate@binkert.orgDebugFlag('IntrControl')
1006143Snate@binkert.orgDebugFlag('O3PipeView')
1016143Snate@binkert.orgDebugFlag('PCEvent')
1026143Snate@binkert.orgDebugFlag('Quiesce')
1036143Snate@binkert.orgDebugFlag('Mwait')
1046143Snate@binkert.org
1056143Snate@binkert.orgCompoundFlag('ExecAll', [ 'ExecEnable', 'ExecCPSeq', 'ExecEffAddr',
1066143Snate@binkert.org    'ExecFaulting', 'ExecFetchSeq', 'ExecOpClass', 'ExecRegDelta',
1076143Snate@binkert.org    'ExecResult', 'ExecSymbol', 'ExecThread',
1086143Snate@binkert.org    'ExecTicks', 'ExecMicro', 'ExecMacro', 'ExecUser', 'ExecKernel',
1096143Snate@binkert.org    'ExecAsid', 'ExecFlags' ])
1106143Snate@binkert.orgCompoundFlag('Exec', [ 'ExecEnable', 'ExecTicks', 'ExecOpClass', 'ExecThread',
1116143Snate@binkert.org    'ExecEffAddr', 'ExecResult', 'ExecSymbol', 'ExecMicro', 'ExecMacro',
1126143Snate@binkert.org    'ExecFaulting', 'ExecUser', 'ExecKernel' ])
1136143Snate@binkert.orgCompoundFlag('ExecNoTicks', [ 'ExecEnable', 'ExecOpClass', 'ExecThread',
1146143Snate@binkert.org    'ExecEffAddr', 'ExecResult', 'ExecMicro', 'ExecMacro', 'ExecFaulting',
1155522Snate@binkert.org    'ExecUser', 'ExecKernel' ])
1166143Snate@binkert.org