SConscript revision 10319
112837Sgabeblack@google.com# -*- mode:python -*- 212837Sgabeblack@google.com 312837Sgabeblack@google.com# Copyright (c) 2006 The Regents of The University of Michigan 412837Sgabeblack@google.com# All rights reserved. 512837Sgabeblack@google.com# 612837Sgabeblack@google.com# Redistribution and use in source and binary forms, with or without 712837Sgabeblack@google.com# modification, are permitted provided that the following conditions are 812837Sgabeblack@google.com# met: redistributions of source code must retain the above copyright 912837Sgabeblack@google.com# notice, this list of conditions and the following disclaimer; 1012837Sgabeblack@google.com# redistributions in binary form must reproduce the above copyright 1112837Sgabeblack@google.com# notice, this list of conditions and the following disclaimer in the 1212837Sgabeblack@google.com# documentation and/or other materials provided with the distribution; 1312837Sgabeblack@google.com# neither the name of the copyright holders nor the names of its 1412837Sgabeblack@google.com# contributors may be used to endorse or promote products derived from 1512837Sgabeblack@google.com# this software without specific prior written permission. 1612837Sgabeblack@google.com# 1712837Sgabeblack@google.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 1812837Sgabeblack@google.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 1912837Sgabeblack@google.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 2012837Sgabeblack@google.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 2112837Sgabeblack@google.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 2212837Sgabeblack@google.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 2312837Sgabeblack@google.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 2412837Sgabeblack@google.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 2512837Sgabeblack@google.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 2612837Sgabeblack@google.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 2712837Sgabeblack@google.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 2812837Sgabeblack@google.com# 2912837Sgabeblack@google.com# Authors: Steve Reinhardt 3012837Sgabeblack@google.com 3112837Sgabeblack@google.comImport('*') 3212837Sgabeblack@google.com 3312954Sgabeblack@google.comif env['TARGET_ISA'] == 'null': 3412955Sgabeblack@google.com SimObject('IntrControl.py') 3512837Sgabeblack@google.com Source('intr_control_noisa.cc') 3613317Sgabeblack@google.com Return() 3712863Sgabeblack@google.com 3812950Sgabeblack@google.comSimObject('CheckerCPU.py') 3913207Sgabeblack@google.com 4012952Sgabeblack@google.comSimObject('BaseCPU.py') 4113038Sgabeblack@google.comSimObject('FuncUnit.py') 4212953Sgabeblack@google.comSimObject('ExeTracer.py') 4313072Sgabeblack@google.comSimObject('IntelTrace.py') 4413206Sgabeblack@google.comSimObject('IntrControl.py') 4513252Sgabeblack@google.comSimObject('NativeTrace.py') 4612837Sgabeblack@google.comSimObject('TimingExpr.py') 4712837Sgabeblack@google.com 4812837Sgabeblack@google.comSource('activity.cc') 4912837Sgabeblack@google.comSource('base.cc') 5012837Sgabeblack@google.comSource('cpuevent.cc') 5112943Sgabeblack@google.comSource('exetrace.cc') 5212837Sgabeblack@google.comSource('exec_context.cc') 5313403Sgabeblack@google.comSource('func_unit.cc') 5412837Sgabeblack@google.comSource('inteltrace.cc') 5512837Sgabeblack@google.comSource('intr_control.cc') 5612837Sgabeblack@google.comSource('nativetrace.cc') 5712837Sgabeblack@google.comSource('pc_event.cc') 5812838Sgabeblack@google.comSource('profile.cc') 5912837Sgabeblack@google.comSource('quiesce_event.cc') 6012837Sgabeblack@google.comSource('reg_class.cc') 6112940Sgabeblack@google.comSource('static_inst.cc') 6212839Sgabeblack@google.comSource('simple_thread.cc') 6312837Sgabeblack@google.comSource('thread_context.cc') 6413404Sgabeblack@google.comSource('thread_state.cc') 6513404Sgabeblack@google.comSource('timing_expr.cc') 6613404Sgabeblack@google.com 67if env['TARGET_ISA'] == 'sparc': 68 SimObject('LegionTrace.py') 69 Source('legiontrace.cc') 70 71SimObject('DummyChecker.py') 72SimObject('StaticInstFlags.py') 73Source('checker/cpu.cc') 74Source('dummy_checker.cc') 75DebugFlag('Checker') 76 77DebugFlag('Activity') 78DebugFlag('Commit') 79DebugFlag('Context') 80DebugFlag('Decode') 81DebugFlag('DynInst') 82DebugFlag('ExecEnable', 'Filter: Enable exec tracing (no tracing without this)') 83DebugFlag('ExecCPSeq', 'Format: Instruction sequence number') 84DebugFlag('ExecEffAddr', 'Format: Include effective address') 85DebugFlag('ExecFaulting', 'Trace faulting instructions') 86DebugFlag('ExecFetchSeq', 'Format: Fetch sequence number') 87DebugFlag('ExecOpClass', 'Format: Include operand class') 88DebugFlag('ExecRegDelta') 89DebugFlag('ExecResult', 'Format: Include results from execution') 90DebugFlag('ExecSpeculative', 'Format: Include a miss-/speculation flag (-/+)') 91DebugFlag('ExecSymbol', 'Format: Try to include symbol names') 92DebugFlag('ExecThread', 'Format: Include thread ID in trace') 93DebugFlag('ExecTicks', 'Format: Include tick count') 94DebugFlag('ExecMicro', 'Filter: Include microops') 95DebugFlag('ExecMacro', 'Filter: Include macroops') 96DebugFlag('ExecUser', 'Filter: Trace user mode instructions') 97DebugFlag('ExecKernel', 'Filter: Trace kernel mode instructions') 98DebugFlag('ExecAsid', 'Format: Include ASID in trace') 99DebugFlag('Fetch') 100DebugFlag('IntrControl') 101DebugFlag('O3PipeView') 102DebugFlag('PCEvent') 103DebugFlag('Quiesce') 104 105CompoundFlag('ExecAll', [ 'ExecEnable', 'ExecCPSeq', 'ExecEffAddr', 106 'ExecFaulting', 'ExecFetchSeq', 'ExecOpClass', 'ExecRegDelta', 107 'ExecResult', 'ExecSpeculative', 'ExecSymbol', 'ExecThread', 108 'ExecTicks', 'ExecMicro', 'ExecMacro', 'ExecUser', 'ExecKernel', 109 'ExecAsid' ]) 110CompoundFlag('Exec', [ 'ExecEnable', 'ExecTicks', 'ExecOpClass', 'ExecThread', 111 'ExecEffAddr', 'ExecResult', 'ExecSymbol', 'ExecMicro', 'ExecFaulting', 112 'ExecUser', 'ExecKernel' ]) 113CompoundFlag('ExecNoTicks', [ 'ExecEnable', 'ExecOpClass', 'ExecThread', 114 'ExecEffAddr', 'ExecResult', 'ExecMicro', 'ExecFaulting', 115 'ExecUser', 'ExecKernel' ]) 116