SConscript (2670:9107b8bd08cd) SConscript (2733:e0eac8fc5774)
1# -*- mode:python -*-
2
3# Copyright (c) 2006 The Regents of The University of Michigan
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 78 unchanged lines hidden (view full) ---

87 return "Generating static_inst_exec_sigs.hh: " \
88 + ', '.join(env['CPU_MODELS'])
89
90# Add command to generate header to environment.
91env.Command('static_inst_exec_sigs.hh', models_db,
92 Action(gen_cpu_exec_signatures, gen_sigs_string,
93 varlist = ['CPU_MODELS']))
94
1# -*- mode:python -*-
2
3# Copyright (c) 2006 The Regents of The University of Michigan
4# All rights reserved.
5#
6# Redistribution and use in source and binary forms, with or without
7# modification, are permitted provided that the following conditions are
8# met: redistributions of source code must retain the above copyright

--- 78 unchanged lines hidden (view full) ---

87 return "Generating static_inst_exec_sigs.hh: " \
88 + ', '.join(env['CPU_MODELS'])
89
90# Add command to generate header to environment.
91env.Command('static_inst_exec_sigs.hh', models_db,
92 Action(gen_cpu_exec_signatures, gen_sigs_string,
93 varlist = ['CPU_MODELS']))
94
95# List of suppported CPUs by the Checker. Errors out if USE_CHECKER=True
96# and one of these are not being used.
97CheckerSupportedCPUList = ['AlphaO3CPU', 'OzoneCPU']
98
95#################################################################
96#
97# Include CPU-model-specific files based on set of models
98# specified in CPU_MODELS build option.
99#
100#################################################################
101
102sources = []

--- 8 unchanged lines hidden (view full) ---

111 sources += Split('simple/timing.cc')
112
113if need_simple_base:
114 sources += Split('simple/base.cc')
115
116if 'FastCPU' in env['CPU_MODELS']:
117 sources += Split('fast/cpu.cc')
118
99#################################################################
100#
101# Include CPU-model-specific files based on set of models
102# specified in CPU_MODELS build option.
103#
104#################################################################
105
106sources = []

--- 8 unchanged lines hidden (view full) ---

115 sources += Split('simple/timing.cc')
116
117if need_simple_base:
118 sources += Split('simple/base.cc')
119
120if 'FastCPU' in env['CPU_MODELS']:
121 sources += Split('fast/cpu.cc')
122
119if 'AlphaFullCPU' in env['CPU_MODELS']:
123if 'AlphaO3CPU' in env['CPU_MODELS']:
120 sources += Split('''
121 base_dyn_inst.cc
122 o3/2bit_local_pred.cc
123 o3/alpha_dyn_inst.cc
124 o3/alpha_cpu.cc
125 o3/alpha_cpu_builder.cc
126 o3/bpred_unit.cc
127 o3/btb.cc

--- 11 unchanged lines hidden (view full) ---

139 o3/ras.cc
140 o3/rename.cc
141 o3/rename_map.cc
142 o3/rob.cc
143 o3/scoreboard.cc
144 o3/store_set.cc
145 o3/tournament_pred.cc
146 ''')
124 sources += Split('''
125 base_dyn_inst.cc
126 o3/2bit_local_pred.cc
127 o3/alpha_dyn_inst.cc
128 o3/alpha_cpu.cc
129 o3/alpha_cpu_builder.cc
130 o3/bpred_unit.cc
131 o3/btb.cc

--- 11 unchanged lines hidden (view full) ---

143 o3/ras.cc
144 o3/rename.cc
145 o3/rename_map.cc
146 o3/rob.cc
147 o3/scoreboard.cc
148 o3/store_set.cc
149 o3/tournament_pred.cc
150 ''')
151 if 'CheckerCPU' in env['CPU_MODELS']:
152 sources += Split('checker/o3_builder.cc')
147
148if 'OzoneSimpleCPU' in env['CPU_MODELS']:
149 sources += Split('''
150 ozone/cpu.cc
151 ozone/cpu_builder.cc
152 ozone/dyn_inst.cc
153 ozone/front_end.cc
154 ozone/inorder_back_end.cc
155 ozone/inst_queue.cc
156 ozone/rename_table.cc
157 ''')
153
154if 'OzoneSimpleCPU' in env['CPU_MODELS']:
155 sources += Split('''
156 ozone/cpu.cc
157 ozone/cpu_builder.cc
158 ozone/dyn_inst.cc
159 ozone/front_end.cc
160 ozone/inorder_back_end.cc
161 ozone/inst_queue.cc
162 ozone/rename_table.cc
163 ''')
164 if 'CheckerCPU' in env['CPU_MODELS']:
165 sources += Split('checker/ozone_builder.cc')
158
159if 'OzoneCPU' in env['CPU_MODELS']:
160 sources += Split('''
161 ozone/lsq_unit.cc
162 ozone/lw_back_end.cc
163 ozone/lw_lsq.cc
164 ''')
165
166if 'CheckerCPU' in env['CPU_MODELS']:
166
167if 'OzoneCPU' in env['CPU_MODELS']:
168 sources += Split('''
169 ozone/lsq_unit.cc
170 ozone/lw_back_end.cc
171 ozone/lw_lsq.cc
172 ''')
173
174if 'CheckerCPU' in env['CPU_MODELS']:
167 sources += Split('''
168 checker/cpu.cc
169 checker/o3_cpu_builder.cc
170 ''')
175 sources += Split('checker/cpu.cc')
176 checker_supports = False
177 for i in CheckerSupportedCPUList:
178 if i in env['CPU_MODELS']:
179 checker_supports = True
180 if not checker_supports:
181 print "Checker only supports CPU models %s, please " \
182 "set USE_CHECKER=False or use one of those CPU models" \
183 % CheckerSupportedCPUList
184 Exit(1)
171
185
186
172# FullCPU sources are included from m5/SConscript since they're not
173# below this point in the file hierarchy.
174
175# Convert file names to SCons File objects. This takes care of the
176# path relative to the top of the directory tree.
177sources = [File(s) for s in sources]
178
179Return('sources')
180
187# FullCPU sources are included from m5/SConscript since they're not
188# below this point in the file hierarchy.
189
190# Convert file names to SCons File objects. This takes care of the
191# path relative to the top of the directory tree.
192sources = [File(s) for s in sources]
193
194Return('sources')
195