SConscript revision 10662:c3fd4c020e49
113454Spau.cabre@metempsy.com# -*- mode:python -*-
213454Spau.cabre@metempsy.com
313454Spau.cabre@metempsy.com# Copyright (c) 2006 The Regents of The University of Michigan
413454Spau.cabre@metempsy.com# All rights reserved.
513454Spau.cabre@metempsy.com#
613454Spau.cabre@metempsy.com# Redistribution and use in source and binary forms, with or without
713454Spau.cabre@metempsy.com# modification, are permitted provided that the following conditions are
813454Spau.cabre@metempsy.com# met: redistributions of source code must retain the above copyright
913454Spau.cabre@metempsy.com# notice, this list of conditions and the following disclaimer;
1013454Spau.cabre@metempsy.com# redistributions in binary form must reproduce the above copyright
1113454Spau.cabre@metempsy.com# notice, this list of conditions and the following disclaimer in the
1213454Spau.cabre@metempsy.com# documentation and/or other materials provided with the distribution;
1313454Spau.cabre@metempsy.com# neither the name of the copyright holders nor the names of its
1413454Spau.cabre@metempsy.com# contributors may be used to endorse or promote products derived from
1513454Spau.cabre@metempsy.com# this software without specific prior written permission.
1613454Spau.cabre@metempsy.com#
1713454Spau.cabre@metempsy.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1813454Spau.cabre@metempsy.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1913454Spau.cabre@metempsy.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
2013454Spau.cabre@metempsy.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
2113454Spau.cabre@metempsy.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2213454Spau.cabre@metempsy.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2313454Spau.cabre@metempsy.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2413454Spau.cabre@metempsy.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2513454Spau.cabre@metempsy.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2613454Spau.cabre@metempsy.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2713454Spau.cabre@metempsy.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2813454Spau.cabre@metempsy.com#
2913454Spau.cabre@metempsy.com# Authors: Steve Reinhardt
3013454Spau.cabre@metempsy.com
3113454Spau.cabre@metempsy.comImport('*')
3213454Spau.cabre@metempsy.com
3313454Spau.cabre@metempsy.comif env['TARGET_ISA'] == 'null':
3413454Spau.cabre@metempsy.com    SimObject('IntrControl.py')
3513454Spau.cabre@metempsy.com    Source('intr_control_noisa.cc')
3613454Spau.cabre@metempsy.com    Return()
3713454Spau.cabre@metempsy.com
3813454Spau.cabre@metempsy.comSimObject('CheckerCPU.py')
3913454Spau.cabre@metempsy.com
4013454Spau.cabre@metempsy.comSimObject('BaseCPU.py')
4113454Spau.cabre@metempsy.comSimObject('FuncUnit.py')
4213454Spau.cabre@metempsy.comSimObject('ExeTracer.py')
4313454Spau.cabre@metempsy.comSimObject('IntelTrace.py')
4413454Spau.cabre@metempsy.comSimObject('IntrControl.py')
4513454Spau.cabre@metempsy.comSimObject('NativeTrace.py')
4613454Spau.cabre@metempsy.comSimObject('TimingExpr.py')
4713454Spau.cabre@metempsy.com
4813454Spau.cabre@metempsy.comSource('activity.cc')
4913454Spau.cabre@metempsy.comSource('base.cc')
5013454Spau.cabre@metempsy.comSource('cpuevent.cc')
5113454Spau.cabre@metempsy.comSource('exetrace.cc')
5213454Spau.cabre@metempsy.comSource('exec_context.cc')
5313454Spau.cabre@metempsy.comSource('func_unit.cc')
5413454Spau.cabre@metempsy.comSource('inteltrace.cc')
5513454Spau.cabre@metempsy.comSource('intr_control.cc')
5613454Spau.cabre@metempsy.comSource('nativetrace.cc')
5713454Spau.cabre@metempsy.comSource('pc_event.cc')
5813626Sjairo.balart@metempsy.comSource('profile.cc')
5913454Spau.cabre@metempsy.comSource('quiesce_event.cc')
6013454Spau.cabre@metempsy.comSource('reg_class.cc')
6113454Spau.cabre@metempsy.comSource('static_inst.cc')
6213454Spau.cabre@metempsy.comSource('simple_thread.cc')
6313626Sjairo.balart@metempsy.comSource('thread_context.cc')
6413626Sjairo.balart@metempsy.comSource('thread_state.cc')
6513626Sjairo.balart@metempsy.comSource('timing_expr.cc')
6613626Sjairo.balart@metempsy.com
6713626Sjairo.balart@metempsy.comSimObject('DummyChecker.py')
6813626Sjairo.balart@metempsy.comSimObject('StaticInstFlags.py')
6913626Sjairo.balart@metempsy.comSource('checker/cpu.cc')
7013626Sjairo.balart@metempsy.comSource('dummy_checker.cc')
7113626Sjairo.balart@metempsy.comDebugFlag('Checker')
7213626Sjairo.balart@metempsy.com
7313626Sjairo.balart@metempsy.comDebugFlag('Activity')
7413626Sjairo.balart@metempsy.comDebugFlag('Commit')
7513626Sjairo.balart@metempsy.comDebugFlag('Context')
7613626Sjairo.balart@metempsy.comDebugFlag('Decode')
7713626Sjairo.balart@metempsy.comDebugFlag('DynInst')
7813626Sjairo.balart@metempsy.comDebugFlag('ExecEnable', 'Filter: Enable exec tracing (no tracing without this)')
7913626Sjairo.balart@metempsy.comDebugFlag('ExecCPSeq', 'Format: Instruction sequence number')
8013685Sjavier.bueno@metempsy.comDebugFlag('ExecEffAddr', 'Format: Include effective address')
8113454Spau.cabre@metempsy.comDebugFlag('ExecFaulting', 'Trace faulting instructions')
8213626Sjairo.balart@metempsy.comDebugFlag('ExecFetchSeq', 'Format: Fetch sequence number')
8313454Spau.cabre@metempsy.comDebugFlag('ExecOpClass', 'Format: Include operand class')
8413454Spau.cabre@metempsy.comDebugFlag('ExecRegDelta')
8513454Spau.cabre@metempsy.comDebugFlag('ExecResult', 'Format: Include results from execution')
8613454Spau.cabre@metempsy.comDebugFlag('ExecSpeculative', 'Format: Include a miss-/speculation flag (-/+)')
8713454Spau.cabre@metempsy.comDebugFlag('ExecSymbol', 'Format: Try to include symbol names')
8813454Spau.cabre@metempsy.comDebugFlag('ExecThread', 'Format: Include thread ID in trace')
8913454Spau.cabre@metempsy.comDebugFlag('ExecTicks', 'Format: Include tick count')
9013626Sjairo.balart@metempsy.comDebugFlag('ExecMicro', 'Filter: Include microops')
9113685Sjavier.bueno@metempsy.comDebugFlag('ExecMacro', 'Filter: Include macroops')
9213454Spau.cabre@metempsy.comDebugFlag('ExecUser', 'Filter: Trace user mode instructions')
9313454Spau.cabre@metempsy.comDebugFlag('ExecKernel', 'Filter: Trace kernel mode instructions')
9413454Spau.cabre@metempsy.comDebugFlag('ExecAsid', 'Format: Include ASID in trace')
9513454Spau.cabre@metempsy.comDebugFlag('ExecFlags', 'Format: Include instruction flags in trace')
96DebugFlag('Fetch')
97DebugFlag('IntrControl')
98DebugFlag('O3PipeView')
99DebugFlag('PCEvent')
100DebugFlag('Quiesce')
101DebugFlag('Mwait')
102
103CompoundFlag('ExecAll', [ 'ExecEnable', 'ExecCPSeq', 'ExecEffAddr',
104    'ExecFaulting', 'ExecFetchSeq', 'ExecOpClass', 'ExecRegDelta',
105    'ExecResult', 'ExecSpeculative', 'ExecSymbol', 'ExecThread',
106    'ExecTicks', 'ExecMicro', 'ExecMacro', 'ExecUser', 'ExecKernel',
107    'ExecAsid', 'ExecFlags' ])
108CompoundFlag('Exec', [ 'ExecEnable', 'ExecTicks', 'ExecOpClass', 'ExecThread',
109    'ExecEffAddr', 'ExecResult', 'ExecSymbol', 'ExecMicro', 'ExecFaulting',
110    'ExecUser', 'ExecKernel' ])
111CompoundFlag('ExecNoTicks', [ 'ExecEnable', 'ExecOpClass', 'ExecThread',
112    'ExecEffAddr', 'ExecResult', 'ExecMicro', 'ExecFaulting',
113    'ExecUser', 'ExecKernel' ])
114