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