SConscript revision 5554
14202Sbinkertn@umich.edu# -*- mode:python -*- 24202Sbinkertn@umich.edu 34202Sbinkertn@umich.edu# Copyright (c) 2006 The Regents of The University of Michigan 44202Sbinkertn@umich.edu# All rights reserved. 54202Sbinkertn@umich.edu# 64202Sbinkertn@umich.edu# Redistribution and use in source and binary forms, with or without 74202Sbinkertn@umich.edu# modification, are permitted provided that the following conditions are 84202Sbinkertn@umich.edu# met: redistributions of source code must retain the above copyright 94202Sbinkertn@umich.edu# notice, this list of conditions and the following disclaimer; 104202Sbinkertn@umich.edu# redistributions in binary form must reproduce the above copyright 114202Sbinkertn@umich.edu# notice, this list of conditions and the following disclaimer in the 124202Sbinkertn@umich.edu# documentation and/or other materials provided with the distribution; 134202Sbinkertn@umich.edu# neither the name of the copyright holders nor the names of its 144202Sbinkertn@umich.edu# contributors may be used to endorse or promote products derived from 154202Sbinkertn@umich.edu# this software without specific prior written permission. 164202Sbinkertn@umich.edu# 174202Sbinkertn@umich.edu# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 184202Sbinkertn@umich.edu# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 194202Sbinkertn@umich.edu# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 204202Sbinkertn@umich.edu# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 214202Sbinkertn@umich.edu# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 224202Sbinkertn@umich.edu# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 234202Sbinkertn@umich.edu# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 244202Sbinkertn@umich.edu# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 254202Sbinkertn@umich.edu# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 264202Sbinkertn@umich.edu# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 274202Sbinkertn@umich.edu# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 284202Sbinkertn@umich.edu# 294202Sbinkertn@umich.edu# Authors: Nathan Binkert 304202Sbinkertn@umich.edu 314202Sbinkertn@umich.eduimport sys 324202Sbinkertn@umich.edu 3310996Sandreas.sandberg@arm.comImport('*') 3410996Sandreas.sandberg@arm.com 359398Sandreas.hansson@arm.comif 'O3CPU' in env['CPU_MODELS'] or 'OzoneCPU' in env['CPU_MODELS']: 369850Sandreas.hansson@arm.com Source('2bit_local_pred.cc') 379259SAli.Saidi@ARM.com Source('btb.cc') 384486Sbinkertn@umich.edu Source('ras.cc') 3910146Sandreas.hansson@arm.com Source('tournament_pred.cc') 4010478SAndrew.Bardsley@arm.com 4110478SAndrew.Bardsley@arm.com TraceFlag('CommitRate') 426165Ssanchezd@stanford.edu TraceFlag('IEW') 439850Sandreas.hansson@arm.com TraceFlag('IQ') 4410405Sandreas.hansson@arm.com 456168Snate@binkert.orgif 'O3CPU' in env['CPU_MODELS']: 469850Sandreas.hansson@arm.com SimObject('FUPool.py') 479259SAli.Saidi@ARM.com SimObject('FuncUnitConfig.py') 484202Sbinkertn@umich.edu SimObject('O3CPU.py') 4910405Sandreas.hansson@arm.com 5010431SOmar.Naji@arm.com Source('base_dyn_inst.cc') 5110146Sandreas.hansson@arm.com Source('bpred_unit.cc') 5210478SAndrew.Bardsley@arm.com Source('commit.cc') 5310478SAndrew.Bardsley@arm.com Source('cpu.cc') 544202Sbinkertn@umich.edu Source('decode.cc') 558761Sgblack@eecs.umich.edu Source('fetch.cc') 5610405Sandreas.hansson@arm.com Source('free_list.cc') 574202Sbinkertn@umich.edu Source('fu_pool.cc') 584202Sbinkertn@umich.edu Source('iew.cc') 598914Sandreas.hansson@arm.com Source('inst_queue.cc') 6010405Sandreas.hansson@arm.com Source('lsq.cc') 6110405Sandreas.hansson@arm.com Source('lsq_unit.cc') 6210405Sandreas.hansson@arm.com Source('mem_dep_unit.cc') 6310405Sandreas.hansson@arm.com Source('rename.cc') 6410614Skanishk.sugand@arm.com Source('rename_map.cc') 654202Sbinkertn@umich.edu Source('rob.cc') 6610405Sandreas.hansson@arm.com Source('scoreboard.cc') 676168Snate@binkert.org Source('store_set.cc') 689850Sandreas.hansson@arm.com 699850Sandreas.hansson@arm.com TraceFlag('FreeList') 709850Sandreas.hansson@arm.com TraceFlag('LSQ') 718763Sgblack@eecs.umich.edu TraceFlag('LSQUnit') 7210299Salexandru.dutu@amd.com TraceFlag('MemDepUnit') 7310299Salexandru.dutu@amd.com TraceFlag('O3CPU') 747768SAli.Saidi@ARM.com TraceFlag('ROB') 7510131Sandreas.hansson@arm.com TraceFlag('Rename') 7610131Sandreas.hansson@arm.com TraceFlag('Scoreboard') 7710131Sandreas.hansson@arm.com TraceFlag('StoreSet') 7810131Sandreas.hansson@arm.com TraceFlag('Writeback') 7910066Sandreas.hansson@arm.com 8010612SMarco.Elver@ARM.com CompoundFlag('O3CPUAll', [ 'Fetch', 'Decode', 'Rename', 'IEW', 'Commit', 8110612SMarco.Elver@ARM.com 'IQ', 'ROB', 'FreeList', 'LSQ', 'LSQUnit', 'StoreSet', 'MemDepUnit', 8210612SMarco.Elver@ARM.com 'DynInst', 'O3CPU', 'Activity', 'Scoreboard', 'Writeback' ]) 8310612SMarco.Elver@ARM.com 8410405Sandreas.hansson@arm.com if env['TARGET_ISA'] == 'alpha': 8510405Sandreas.hansson@arm.com Source('alpha/cpu.cc') 8610405Sandreas.hansson@arm.com Source('alpha/cpu_builder.cc') 8710405Sandreas.hansson@arm.com Source('alpha/dyn_inst.cc') 8810399Sstephan.diestelhorst@arm.com Source('alpha/thread_context.cc') 8910405Sandreas.hansson@arm.com elif env['TARGET_ISA'] == 'mips': 9010405Sandreas.hansson@arm.com Source('mips/cpu.cc') 919036Sandreas.hansson@arm.com Source('mips/cpu_builder.cc') 929164Sandreas.hansson@arm.com Source('mips/dyn_inst.cc') 938981Sandreas.hansson@arm.com Source('mips/thread_context.cc') 949243Sandreas.hansson@arm.com elif env['TARGET_ISA'] == 'sparc': 9510247Sandreas.hansson@arm.com Source('sparc/cpu.cc') 9610208Sandreas.hansson@arm.com Source('sparc/cpu_builder.cc') 9710478SAndrew.Bardsley@arm.com Source('sparc/dyn_inst.cc') 988335Snate@binkert.org Source('sparc/thread_context.cc') 998335Snate@binkert.org else: 1008335Snate@binkert.org sys.exit('O3 CPU does not support the \'%s\' ISA' % env['TARGET_ISA']) 1018914Sandreas.hansson@arm.com 10210614Skanishk.sugand@arm.com if env['USE_CHECKER']: 10310066Sandreas.hansson@arm.com SimObject('O3Checker.py') 10410612SMarco.Elver@ARM.com Source('checker_builder.cc') 10510612SMarco.Elver@ARM.com