SConscript revision 13038
12929Sktlim@umich.edu# -*- mode:python -*-
22929Sktlim@umich.edu
32932Sktlim@umich.edu# Copyright (c) 2006 The Regents of The University of Michigan
42929Sktlim@umich.edu# All rights reserved.
52929Sktlim@umich.edu#
62929Sktlim@umich.edu# Redistribution and use in source and binary forms, with or without
72929Sktlim@umich.edu# modification, are permitted provided that the following conditions are
82929Sktlim@umich.edu# met: redistributions of source code must retain the above copyright
92929Sktlim@umich.edu# notice, this list of conditions and the following disclaimer;
102929Sktlim@umich.edu# redistributions in binary form must reproduce the above copyright
112929Sktlim@umich.edu# notice, this list of conditions and the following disclaimer in the
122929Sktlim@umich.edu# documentation and/or other materials provided with the distribution;
132929Sktlim@umich.edu# neither the name of the copyright holders nor the names of its
142929Sktlim@umich.edu# contributors may be used to endorse or promote products derived from
152929Sktlim@umich.edu# this software without specific prior written permission.
162929Sktlim@umich.edu#
172929Sktlim@umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
182929Sktlim@umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
192929Sktlim@umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
202929Sktlim@umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
212929Sktlim@umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
222929Sktlim@umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
232929Sktlim@umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
242929Sktlim@umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
252929Sktlim@umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
262929Sktlim@umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
272929Sktlim@umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
282932Sktlim@umich.edu#
292932Sktlim@umich.edu# Authors: Steve Reinhardt
302932Sktlim@umich.edu
312929Sktlim@umich.eduImport('*')
322929Sktlim@umich.edu
332929Sktlim@umich.eduif env['TARGET_ISA'] == 'null':
342929Sktlim@umich.edu    SimObject('IntrControl.py')
352929Sktlim@umich.edu    Source('intr_control_noisa.cc')
362929Sktlim@umich.edu    Return()
372929Sktlim@umich.edu
382929Sktlim@umich.edu# Only build the protocol buffer instructions tracer if we have protobuf support
392929Sktlim@umich.eduif env['HAVE_PROTOBUF'] and env['TARGET_ISA'] != 'x86':
402929Sktlim@umich.edu    SimObject('InstPBTrace.py')
412929Sktlim@umich.edu    Source('inst_pb_trace.cc')
422929Sktlim@umich.edu
432929Sktlim@umich.eduSimObject('CheckerCPU.py')
442929Sktlim@umich.edu
452929Sktlim@umich.eduSimObject('BaseCPU.py')
462929Sktlim@umich.eduSimObject('CPUTracers.py')
472929Sktlim@umich.eduSimObject('FuncUnit.py')
482929Sktlim@umich.eduSimObject('IntrControl.py')
492929Sktlim@umich.eduSimObject('TimingExpr.py')
502929Sktlim@umich.edu
512929Sktlim@umich.eduSource('activity.cc')
522929Sktlim@umich.eduSource('base.cc')
532929Sktlim@umich.eduSource('cpuevent.cc')
542929Sktlim@umich.eduSource('exetrace.cc')
552929Sktlim@umich.eduSource('exec_context.cc')
562929Sktlim@umich.eduSource('func_unit.cc')
572929Sktlim@umich.eduSource('inteltrace.cc')
582929Sktlim@umich.eduSource('intr_control.cc')
592929Sktlim@umich.eduSource('nativetrace.cc')
602929Sktlim@umich.eduSource('pc_event.cc')
612929Sktlim@umich.eduSource('profile.cc')
622929Sktlim@umich.eduSource('quiesce_event.cc')
632929Sktlim@umich.eduSource('reg_class.cc')
643020Sstever@eecs.umich.eduSource('static_inst.cc')
653020Sstever@eecs.umich.eduSource('simple_thread.cc')
663020Sstever@eecs.umich.eduSource('thread_context.cc')
672929Sktlim@umich.eduSource('thread_state.cc')
682929Sktlim@umich.eduSource('timing_expr.cc')
693021Sstever@eecs.umich.edu
702929Sktlim@umich.eduSimObject('DummyChecker.py')
712929Sktlim@umich.eduSimObject('StaticInstFlags.py')
722929Sktlim@umich.eduSource('checker/cpu.cc')
732929Sktlim@umich.eduSource('dummy_checker.cc')
742929Sktlim@umich.eduDebugFlag('Checker')
752929Sktlim@umich.edu
762929Sktlim@umich.eduDebugFlag('Activity')
772929Sktlim@umich.eduDebugFlag('Commit')
782929Sktlim@umich.eduDebugFlag('Context')
792929Sktlim@umich.eduDebugFlag('Decode')
802929Sktlim@umich.eduDebugFlag('DynInst')
812929Sktlim@umich.eduDebugFlag('ExecEnable', 'Filter: Enable exec tracing (no tracing without this)')
822929Sktlim@umich.eduDebugFlag('ExecCPSeq', 'Format: Instruction sequence number')
832929Sktlim@umich.eduDebugFlag('ExecEffAddr', 'Format: Include effective address')
842929Sktlim@umich.eduDebugFlag('ExecFaulting', 'Trace faulting instructions')
852929Sktlim@umich.eduDebugFlag('ExecFetchSeq', 'Format: Fetch sequence number')
862929Sktlim@umich.eduDebugFlag('ExecOpClass', 'Format: Include operand class')
872929Sktlim@umich.eduDebugFlag('ExecRegDelta')
882929Sktlim@umich.eduDebugFlag('ExecResult', 'Format: Include results from execution')
892929Sktlim@umich.eduDebugFlag('ExecSymbol', 'Format: Try to include symbol names')
902929Sktlim@umich.eduDebugFlag('ExecThread', 'Format: Include thread ID in trace')
912929Sktlim@umich.eduDebugFlag('ExecTicks', 'Format: Include tick count')
922929Sktlim@umich.eduDebugFlag('ExecMicro', 'Filter: Include microops')
932929Sktlim@umich.eduDebugFlag('ExecMacro', 'Filter: Include macroops')
942929Sktlim@umich.eduDebugFlag('ExecUser', 'Filter: Trace user mode instructions')
952929Sktlim@umich.eduDebugFlag('ExecKernel', 'Filter: Trace kernel mode instructions')
962929Sktlim@umich.eduDebugFlag('ExecAsid', 'Format: Include ASID in trace')
972929Sktlim@umich.eduDebugFlag('ExecFlags', 'Format: Include instruction flags in trace')
982929Sktlim@umich.eduDebugFlag('Fetch')
992929Sktlim@umich.eduDebugFlag('IntrControl')
1002929Sktlim@umich.eduDebugFlag('O3PipeView')
1012929Sktlim@umich.eduDebugFlag('PCEvent')
1022929Sktlim@umich.eduDebugFlag('Quiesce')
1032929Sktlim@umich.eduDebugFlag('Mwait')
1042929Sktlim@umich.edu
1054937Sstever@gmail.comCompoundFlag('ExecAll', [ 'ExecEnable', 'ExecCPSeq', 'ExecEffAddr',
1064937Sstever@gmail.com    'ExecFaulting', 'ExecFetchSeq', 'ExecOpClass', 'ExecRegDelta',
1074937Sstever@gmail.com    'ExecResult', 'ExecSymbol', 'ExecThread',
1084937Sstever@gmail.com    'ExecTicks', 'ExecMicro', 'ExecMacro', 'ExecUser', 'ExecKernel',
1094937Sstever@gmail.com    'ExecAsid', 'ExecFlags' ])
1104937Sstever@gmail.comCompoundFlag('Exec', [ 'ExecEnable', 'ExecTicks', 'ExecOpClass', 'ExecThread',
1114937Sstever@gmail.com    'ExecEffAddr', 'ExecResult', 'ExecSymbol', 'ExecMicro', 'ExecMacro',
1124937Sstever@gmail.com    'ExecFaulting', 'ExecUser', 'ExecKernel' ])
1134937Sstever@gmail.comCompoundFlag('ExecNoTicks', [ 'ExecEnable', 'ExecOpClass', 'ExecThread',
1144937Sstever@gmail.com    'ExecEffAddr', 'ExecResult', 'ExecMicro', 'ExecMacro', 'ExecFaulting',
1154937Sstever@gmail.com    'ExecUser', 'ExecKernel' ])
1164937Sstever@gmail.com