SConscript revision 7861
19397Sandreas.hansson@arm.com# -*- mode:python -*-
29397Sandreas.hansson@arm.com
39397Sandreas.hansson@arm.com# Copyright (c) 2006 The Regents of The University of Michigan
49397Sandreas.hansson@arm.com# All rights reserved.
59397Sandreas.hansson@arm.com#
69397Sandreas.hansson@arm.com# Redistribution and use in source and binary forms, with or without
79397Sandreas.hansson@arm.com# modification, are permitted provided that the following conditions are
89397Sandreas.hansson@arm.com# met: redistributions of source code must retain the above copyright
99397Sandreas.hansson@arm.com# notice, this list of conditions and the following disclaimer;
109397Sandreas.hansson@arm.com# redistributions in binary form must reproduce the above copyright
119397Sandreas.hansson@arm.com# notice, this list of conditions and the following disclaimer in the
129397Sandreas.hansson@arm.com# documentation and/or other materials provided with the distribution;
139397Sandreas.hansson@arm.com# neither the name of the copyright holders nor the names of its
149397Sandreas.hansson@arm.com# contributors may be used to endorse or promote products derived from
159397Sandreas.hansson@arm.com# this software without specific prior written permission.
169397Sandreas.hansson@arm.com#
179397Sandreas.hansson@arm.com# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
189397Sandreas.hansson@arm.com# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
199397Sandreas.hansson@arm.com# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
209397Sandreas.hansson@arm.com# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
219397Sandreas.hansson@arm.com# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
229397Sandreas.hansson@arm.com# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
239397Sandreas.hansson@arm.com# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
249397Sandreas.hansson@arm.com# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
259397Sandreas.hansson@arm.com# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
269397Sandreas.hansson@arm.com# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
279397Sandreas.hansson@arm.com# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
289397Sandreas.hansson@arm.com#
299397Sandreas.hansson@arm.com# Authors: Nathan Binkert
309397Sandreas.hansson@arm.com
319397Sandreas.hansson@arm.comimport sys
329397Sandreas.hansson@arm.com
339397Sandreas.hansson@arm.comImport('*')
349397Sandreas.hansson@arm.com
359397Sandreas.hansson@arm.comif 'O3CPU' in env['CPU_MODELS'] or 'OzoneCPU' in env['CPU_MODELS']:
369397Sandreas.hansson@arm.com    TraceFlag('CommitRate')
379397Sandreas.hansson@arm.com    TraceFlag('IEW')
389397Sandreas.hansson@arm.com    TraceFlag('IQ')
399397Sandreas.hansson@arm.com
409397Sandreas.hansson@arm.comif 'O3CPU' in env['CPU_MODELS']:
419397Sandreas.hansson@arm.com    SimObject('FUPool.py')
429397Sandreas.hansson@arm.com    SimObject('FuncUnitConfig.py')
439397Sandreas.hansson@arm.com    SimObject('O3CPU.py')
449398Sandreas.hansson@arm.com
4510695SAli.Saidi@ARM.com    Source('base_dyn_inst.cc')
469397Sandreas.hansson@arm.com    Source('bpred_unit.cc')
47    Source('commit.cc')
48    Source('cpu.cc')
49    Source('cpu_builder.cc')
50    Source('decode.cc')
51    Source('dyn_inst.cc')
52    Source('fetch.cc')
53    Source('free_list.cc')
54    Source('fu_pool.cc')
55    Source('iew.cc')
56    Source('inst_queue.cc')
57    Source('lsq.cc')
58    Source('lsq_unit.cc')
59    Source('mem_dep_unit.cc')
60    Source('rename.cc')
61    Source('rename_map.cc')
62    Source('rob.cc')
63    Source('scoreboard.cc')
64    Source('store_set.cc')
65    Source('thread_context.cc')
66
67    TraceFlag('LSQ')
68    TraceFlag('LSQUnit')
69    TraceFlag('MemDepUnit')
70    TraceFlag('O3CPU')
71    TraceFlag('ROB')
72    TraceFlag('Rename')
73    TraceFlag('Scoreboard')
74    TraceFlag('StoreSet')
75    TraceFlag('Writeback')
76
77    CompoundFlag('O3CPUAll', [ 'Fetch', 'Decode', 'Rename', 'IEW', 'Commit',
78        'IQ', 'ROB', 'FreeList', 'LSQ', 'LSQUnit', 'StoreSet', 'MemDepUnit',
79        'DynInst', 'O3CPU', 'Activity', 'Scoreboard', 'Writeback' ])
80
81    if env['USE_CHECKER']:
82        SimObject('O3Checker.py')
83        Source('checker_builder.cc')
84