SConscript revision 10553
16019Shines@cs.fsu.edu# -*- mode:python -*- 26019Shines@cs.fsu.edu 37100Sgblack@eecs.umich.edu# Copyright (c) 2006 The Regents of The University of Michigan 47100Sgblack@eecs.umich.edu# All rights reserved. 57100Sgblack@eecs.umich.edu# 67100Sgblack@eecs.umich.edu# Redistribution and use in source and binary forms, with or without 77100Sgblack@eecs.umich.edu# modification, are permitted provided that the following conditions are 87100Sgblack@eecs.umich.edu# met: redistributions of source code must retain the above copyright 97100Sgblack@eecs.umich.edu# notice, this list of conditions and the following disclaimer; 107100Sgblack@eecs.umich.edu# redistributions in binary form must reproduce the above copyright 117100Sgblack@eecs.umich.edu# notice, this list of conditions and the following disclaimer in the 127100Sgblack@eecs.umich.edu# documentation and/or other materials provided with the distribution; 137100Sgblack@eecs.umich.edu# neither the name of the copyright holders nor the names of its 147100Sgblack@eecs.umich.edu# contributors may be used to endorse or promote products derived from 156019Shines@cs.fsu.edu# this software without specific prior written permission. 166019Shines@cs.fsu.edu# 176019Shines@cs.fsu.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 186019Shines@cs.fsu.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 196019Shines@cs.fsu.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 206019Shines@cs.fsu.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 216019Shines@cs.fsu.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 226019Shines@cs.fsu.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 236019Shines@cs.fsu.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 246019Shines@cs.fsu.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 256019Shines@cs.fsu.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 266019Shines@cs.fsu.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 276019Shines@cs.fsu.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 286019Shines@cs.fsu.edu# 296019Shines@cs.fsu.edu# Authors: Steve Reinhardt 306019Shines@cs.fsu.edu 316019Shines@cs.fsu.eduImport('*') 326019Shines@cs.fsu.edu 336019Shines@cs.fsu.eduif env['TARGET_ISA'] == 'null': 346019Shines@cs.fsu.edu SimObject('IntrControl.py') 356019Shines@cs.fsu.edu Source('intr_control_noisa.cc') 366019Shines@cs.fsu.edu Return() 376019Shines@cs.fsu.edu 386019Shines@cs.fsu.eduSimObject('CheckerCPU.py') 396019Shines@cs.fsu.edu 406019Shines@cs.fsu.eduSimObject('BaseCPU.py') 416019Shines@cs.fsu.eduSimObject('FuncUnit.py') 426757SAli.Saidi@ARM.comSimObject('ExeTracer.py') 436019Shines@cs.fsu.eduSimObject('IntelTrace.py') 446019Shines@cs.fsu.eduSimObject('IntrControl.py') 456019Shines@cs.fsu.eduSimObject('NativeTrace.py') 466019Shines@cs.fsu.eduSimObject('TimingExpr.py') 476019Shines@cs.fsu.edu 486019Shines@cs.fsu.eduSource('activity.cc') 496019Shines@cs.fsu.eduSource('base.cc') 506019Shines@cs.fsu.eduSource('cpuevent.cc') 517170Sgblack@eecs.umich.eduSource('exetrace.cc') 526253Sgblack@eecs.umich.eduSource('exec_context.cc') 537202Sgblack@eecs.umich.eduSource('func_unit.cc') 546253Sgblack@eecs.umich.eduSource('inteltrace.cc') 556253Sgblack@eecs.umich.eduSource('intr_control.cc') 567396Sgblack@eecs.umich.eduSource('nativetrace.cc') 578745Sgblack@eecs.umich.eduSource('pc_event.cc') 587405SAli.Saidi@ARM.comSource('profile.cc') 598782Sgblack@eecs.umich.eduSource('quiesce_event.cc') 608782Sgblack@eecs.umich.eduSource('reg_class.cc') 618782Sgblack@eecs.umich.eduSource('static_inst.cc') 627259Sgblack@eecs.umich.eduSource('simple_thread.cc') 638757Sgblack@eecs.umich.eduSource('thread_context.cc') 647423Sgblack@eecs.umich.eduSource('thread_state.cc') 658782Sgblack@eecs.umich.eduSource('timing_expr.cc') 668757Sgblack@eecs.umich.edu 678777Sgblack@eecs.umich.eduif env['TARGET_ISA'] == 'sparc': 688782Sgblack@eecs.umich.edu SimObject('LegionTrace.py') 698756Sgblack@eecs.umich.edu Source('legiontrace.cc') 706019Shines@cs.fsu.edu 716757SAli.Saidi@ARM.comSimObject('DummyChecker.py') 728757Sgblack@eecs.umich.eduSimObject('StaticInstFlags.py') 736019Shines@cs.fsu.eduSource('checker/cpu.cc') 748745Sgblack@eecs.umich.eduSource('dummy_checker.cc') 756397Sgblack@eecs.umich.eduDebugFlag('Checker') 768782Sgblack@eecs.umich.edu 776019Shines@cs.fsu.eduDebugFlag('Activity') 786397Sgblack@eecs.umich.eduDebugFlag('Commit') 798335Snate@binkert.orgDebugFlag('Context') 808335Snate@binkert.orgDebugFlag('Decode') 818335Snate@binkert.orgDebugFlag('DynInst') 828335Snate@binkert.orgDebugFlag('ExecEnable', 'Filter: Enable exec tracing (no tracing without this)') 836019Shines@cs.fsu.eduDebugFlag('ExecCPSeq', 'Format: Instruction sequence number') 846019Shines@cs.fsu.eduDebugFlag('ExecEffAddr', 'Format: Include effective address') 856019Shines@cs.fsu.eduDebugFlag('ExecFaulting', 'Trace faulting instructions') 866019Shines@cs.fsu.eduDebugFlag('ExecFetchSeq', 'Format: Fetch sequence number') 876019Shines@cs.fsu.eduDebugFlag('ExecOpClass', 'Format: Include operand class') 886019Shines@cs.fsu.eduDebugFlag('ExecRegDelta') 896019Shines@cs.fsu.eduDebugFlag('ExecResult', 'Format: Include results from execution') 906019Shines@cs.fsu.eduDebugFlag('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('ExecFlags', 'Format: Include instruction flags in trace') 100DebugFlag('Fetch') 101DebugFlag('IntrControl') 102DebugFlag('O3PipeView') 103DebugFlag('PCEvent') 104DebugFlag('Quiesce') 105DebugFlag('Mwait') 106 107CompoundFlag('ExecAll', [ 'ExecEnable', 'ExecCPSeq', 'ExecEffAddr', 108 'ExecFaulting', 'ExecFetchSeq', 'ExecOpClass', 'ExecRegDelta', 109 'ExecResult', 'ExecSpeculative', 'ExecSymbol', 'ExecThread', 110 'ExecTicks', 'ExecMicro', 'ExecMacro', 'ExecUser', 'ExecKernel', 111 'ExecAsid', 'ExecFlags' ]) 112CompoundFlag('Exec', [ 'ExecEnable', 'ExecTicks', 'ExecOpClass', 'ExecThread', 113 'ExecEffAddr', 'ExecResult', 'ExecSymbol', 'ExecMicro', 'ExecFaulting', 114 'ExecUser', 'ExecKernel' ]) 115CompoundFlag('ExecNoTicks', [ 'ExecEnable', 'ExecOpClass', 'ExecThread', 116 'ExecEffAddr', 'ExecResult', 'ExecMicro', 'ExecFaulting', 117 'ExecUser', 'ExecKernel' ]) 118