changeset f4de76601762 in /z/repo/m5
details: http://repo.m5sim.org/m5?cmd=changeset;node=f4de76601762
description:
arch: nuke arch/isa_specific.hh and move stuff to generated
config/the_isa.hh
diffstat:
125 files changed, 208 insertions(+), 163 deletions(-)
SConstruct | 11 ---
src/SConscript | 28 ++++++++--
src/arch/arm/stacktrace.hh | 1
src/arch/isa_specific.hh | 70 -------------------------
src/base/cp_annotate.cc | 1
src/base/cp_annotate.hh | 1
src/base/remote_gdb.cc | 2
src/cpu/base.hh | 1
src/cpu/base_dyn_inst.hh | 1
src/cpu/base_dyn_inst_impl.hh | 7 +-
src/cpu/checker/cpu_impl.hh | 1
src/cpu/checker/thread_context.hh | 1
src/cpu/exetrace.cc | 1
src/cpu/inorder/cpu.cc | 23 ++++----
src/cpu/inorder/cpu.hh | 1
src/cpu/inorder/inorder_dyn_inst.cc | 9 +--
src/cpu/inorder/inorder_dyn_inst.hh | 20 +++----
src/cpu/inorder/inorder_trace.cc | 1
src/cpu/inorder/pipeline_stage.cc | 1
src/cpu/inorder/reg_dep_map.cc | 1
src/cpu/inorder/reg_dep_map.hh | 1
src/cpu/inorder/resources/bpred_unit.cc | 1
src/cpu/inorder/resources/branch_predictor.cc | 1
src/cpu/inorder/resources/cache_unit.cc | 2
src/cpu/inorder/resources/cache_unit.hh | 10 +--
src/cpu/inorder/resources/decode_unit.cc | 1
src/cpu/inorder/resources/fetch_seq_unit.cc | 1
src/cpu/inorder/resources/fetch_seq_unit.hh | 1
src/cpu/inorder/resources/inst_buffer.cc | 2
src/cpu/inorder/resources/inst_buffer_new.cc | 2
src/cpu/inorder/resources/tlb_unit.cc | 2
src/cpu/inorder/resources/tlb_unit.hh | 1
src/cpu/inorder/resources/use_def.cc | 2
src/cpu/inorder/thread_context.cc | 1
src/cpu/inorder/thread_context.hh | 1
src/cpu/inteltrace.cc | 1
src/cpu/legiontrace.cc | 2
src/cpu/o3/bpred_unit_impl.hh | 6 +-
src/cpu/o3/commit_impl.hh | 1
src/cpu/o3/cpu.cc | 2
src/cpu/o3/cpu.hh | 1
src/cpu/o3/decode_impl.hh | 1
src/cpu/o3/dyn_inst.hh | 1
src/cpu/o3/fetch.hh | 1
src/cpu/o3/fetch_impl.hh | 1
src/cpu/o3/free_list.hh | 1
src/cpu/o3/iew_impl.hh | 1
src/cpu/o3/impl.hh | 2
src/cpu/o3/lsq_unit.hh | 1
src/cpu/o3/lsq_unit_impl.hh | 2
src/cpu/o3/regfile.hh | 5 +
src/cpu/o3/rename.hh | 1
src/cpu/o3/rename_impl.hh | 1
src/cpu/o3/rename_map.hh | 3 -
src/cpu/o3/rob.hh | 2
src/cpu/o3/scoreboard.cc | 2
src/cpu/o3/thread_context.hh | 1
src/cpu/o3/thread_context_impl.hh | 1
src/cpu/ozone/cpu.hh | 1
src/cpu/ozone/cpu_impl.hh | 1
src/cpu/ozone/dyn_inst.hh | 1
src/cpu/ozone/dyn_inst_impl.hh | 1
src/cpu/ozone/front_end.hh | 1
src/cpu/ozone/front_end_impl.hh | 4 -
src/cpu/ozone/inorder_back_end_impl.hh | 1
src/cpu/ozone/lsq_unit.hh | 1
src/cpu/ozone/lsq_unit_impl.hh | 1
src/cpu/ozone/lw_back_end_impl.hh | 2
src/cpu/ozone/lw_lsq.hh | 1
src/cpu/ozone/lw_lsq_impl.hh | 4 -
src/cpu/ozone/rename_table.hh | 1
src/cpu/ozone/rename_table_impl.hh | 2
src/cpu/ozone/simple_params.hh | 1
src/cpu/ozone/thread_state.hh | 5 +
src/cpu/profile.hh | 1
src/cpu/simple/atomic.cc | 1
src/cpu/simple/base.cc | 1
src/cpu/simple/base.hh | 1
src/cpu/simple/timing.cc | 1
src/cpu/simple_thread.cc | 1
src/cpu/simple_thread.hh | 1
src/cpu/static_inst.hh | 1
src/cpu/thread_context.cc | 1
src/cpu/thread_context.hh | 1
src/cpu/thread_state.hh | 1
src/dev/alpha/tsunami.cc | 1
src/dev/alpha/tsunami_cchip.cc | 1
src/dev/alpha/tsunami_io.cc | 1
src/dev/alpha/tsunami_pchip.cc | 1
src/dev/baddev.cc | 1
src/dev/ide_disk.cc | 1
src/dev/mips/malta.cc | 2
src/dev/mips/malta_cchip.cc | 3 -
src/dev/mips/malta_io.cc | 1
src/dev/mips/malta_pchip.cc | 1
src/dev/ns_gige.cc | 1
src/dev/platform.cc | 1
src/dev/sinic.cc | 1
src/dev/sparc/dtod.cc | 1
src/dev/sparc/t1000.cc | 1
src/dev/uart8250.cc | 1
src/dev/x86/pc.cc | 1
src/kern/linux/printk.hh | 2
src/kern/system_events.cc | 2
src/kern/tru64/dump_mbuf.cc | 1
src/kern/tru64/tru64.hh | 2
src/kern/tru64/tru64_events.cc | 1
src/mem/cache/builder.cc | 3 -
src/mem/cache/prefetch/base.cc | 4 +
src/mem/packet_access.hh | 1
src/mem/page_table.cc | 1
src/mem/page_table.hh | 1
src/mem/physical.cc | 1
src/mem/port_impl.hh | 3 -
src/mem/rubymem.cc | 1
src/mem/translating_port.cc | 2
src/mem/vport.cc | 1
src/sim/arguments.cc | 7 +-
src/sim/process.cc | 2
src/sim/process.hh | 8 +-
src/sim/pseudo_inst.cc | 4 -
src/sim/syscall_emul.cc | 2
src/sim/syscall_emul.hh | 1
src/sim/system.cc | 3 +
src/sim/system.hh | 8 +-
diffs (truncated from 1779 to 300 lines):
diff -r ef5fae93a3b2 -r f4de76601762 SConstruct
--- a/SConstruct Tue Sep 22 18:12:39 2009 -0700
+++ b/SConstruct Wed Sep 23 08:34:21 2009 -0700
@@ -742,17 +742,10 @@
# list of ISAs from env['ALL_ISA_LIST'].
def gen_switch_hdr(target, source, env):
fname = str(target[0])
- bname = basename(fname)
f = open(fname, 'w')
- f.write('#include "arch/isa_specific.hh"\n')
- cond = '#if'
- for isa in all_isa_list:
- f.write('%s THE_ISA == %s_ISA\n#include "%s/%s/%s"\n'
- % (cond, isa.upper(), dname, isa, bname))
- cond = '#elif'
- f.write('#else\n#error "THE_ISA not set"\n#endif\n')
+ isa = env['TARGET_ISA'].lower()
+ print >>f, '#include "%s/%s/%s"' % (dname, isa, basename(fname))
f.close()
- return 0
# String to print when generating header
def gen_switch_hdr_string(target, source, env):
diff -r ef5fae93a3b2 -r f4de76601762 src/SConscript
--- a/src/SConscript Tue Sep 22 18:12:39 2009 -0700
+++ b/src/SConscript Wed Sep 23 08:34:21 2009 -0700
@@ -228,9 +228,6 @@
for extra_dir in extras_dir_list:
env.Append(CPPPATH=Dir(extra_dir))
-# Add a flag defining what THE_ISA should be for all compilation
-env.Append(CPPDEFINES=[('THE_ISA','%s_ISA' % env['TARGET_ISA'].upper())])
-
# Workaround for bug in SCons version > 0.97d20071212
# Scons bug id: 2006 M5 Bug id: 308
for root, dirs, files in os.walk(base_dir, topdown=True):
@@ -261,6 +258,31 @@
for opt in export_vars:
env.ConfigFile(opt)
+def makeTheISA(source, target, env):
+ f = file(str(target[0]), 'w')
+
+ isas = [ src.get_contents() for src in source ]
+ target = env['TARGET_ISA']
+ def define(isa):
+ return isa.upper() + '_ISA'
+
+ def namespace(isa):
+ return isa[0].upper() + isa[1:].lower() + 'ISA'
+
+
+ print >>f, '#ifndef __CONFIG_THE_ISA_HH__'
+ print >>f, '#define __CONFIG_THE_ISA_HH__'
+ print >>f
+ for i,isa in enumerate(isas):
+ print >>f, '#define %s %d' % (define(isa), i + 1)
+ print >>f
+ print >>f, '#define THE_ISA %s' % (define(target))
+ print >>f, '#define TheISA %s' % (namespace(target))
+ print >>f
+ print >>f, '#endif // __CONFIG_THE_ISA_HH__'
+
+env.Command('config/the_isa.hh', map(Value, all_isa_list), makeTheISA)
+
########################################################################
#
# Prevent any SimObjects from being added after this point, they
diff -r ef5fae93a3b2 -r f4de76601762 src/arch/arm/stacktrace.hh
--- a/src/arch/arm/stacktrace.hh Tue Sep 22 18:12:39 2009 -0700
+++ b/src/arch/arm/stacktrace.hh Wed Sep 23 08:34:21 2009 -0700
@@ -34,6 +34,7 @@
#define __ARCH_ARM_STACKTRACE_HH__
#include "base/trace.hh"
+#include "config/the_isa.hh"
#include "cpu/static_inst.hh"
class ThreadContext;
diff -r ef5fae93a3b2 -r f4de76601762 src/arch/isa_specific.hh
--- a/src/arch/isa_specific.hh Tue Sep 22 18:12:39 2009 -0700
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 2003-2005 The Regents of The University of Michigan
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer;
- * redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution;
- * neither the name of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Authors: Gabe Black
- */
-
-#ifndef __ARCH_ISA_SPECIFIC_HH__
-#define __ARCH_ISA_SPECIFIC_HH__
-
-//This file provides a mechanism for other source code to bring in
-//files from the ISA being compiled in.
-
-//These are constants so you can selectively compile code based on the isa.
-//To use them, do something like:
-//
-//#if THE_ISA == YOUR_FAVORITE_ISA
-// conditional_code
-//#endif
-//
-//Note that this is how this file sets up the TheISA macro.
-
-//These macros have numerical values because otherwise the preprocessor
-//would treat them as 0 in comparisons.
-#define ALPHA_ISA 21064
-#define SPARC_ISA 42
-#define MIPS_ISA 34000
-#define X86_ISA 8086
-#define ARM_ISA 6
-
-//These tell the preprocessor where to find the files of a particular
-//ISA, and set the "TheISA" macro for use elsewhere.
-#if THE_ISA == ALPHA_ISA
- #define TheISA AlphaISA
-#elif THE_ISA == SPARC_ISA
- #define TheISA SparcISA
-#elif THE_ISA == MIPS_ISA
- #define TheISA MipsISA
-#elif THE_ISA == X86_ISA
- #define TheISA X86ISA
-#elif THE_ISA == ARM_ISA
- #define TheISA ArmISA
-#else
- #error "THE_ISA not set"
-#endif
-
-#endif
diff -r ef5fae93a3b2 -r f4de76601762 src/base/cp_annotate.cc
--- a/src/base/cp_annotate.cc Tue Sep 22 18:12:39 2009 -0700
+++ b/src/base/cp_annotate.cc Wed Sep 23 08:34:21 2009 -0700
@@ -35,6 +35,7 @@
#include "base/loader/object_file.hh"
#include "base/output.hh"
#include "base/trace.hh"
+#include "config/the_isa.hh"
#include "cpu/thread_context.hh"
#include "sim/arguments.hh"
#include "sim/core.hh"
diff -r ef5fae93a3b2 -r f4de76601762 src/base/cp_annotate.hh
--- a/src/base/cp_annotate.hh Tue Sep 22 18:12:39 2009 -0700
+++ b/src/base/cp_annotate.hh Wed Sep 23 08:34:21 2009 -0700
@@ -41,6 +41,7 @@
#include "base/trace.hh"
#include "base/types.hh"
#include "config/cp_annotate.hh"
+#include "config/the_isa.hh"
#include "sim/serialize.hh"
#include "sim/startup.hh"
#include "sim/system.hh"
diff -r ef5fae93a3b2 -r f4de76601762 src/base/remote_gdb.cc
--- a/src/base/remote_gdb.cc Tue Sep 22 18:12:39 2009 -0700
+++ b/src/base/remote_gdb.cc Wed Sep 23 08:34:21 2009 -0700
@@ -131,9 +131,9 @@
#include "base/remote_gdb.hh"
#include "base/socket.hh"
#include "base/trace.hh"
+#include "config/the_isa.hh"
#include "cpu/thread_context.hh"
#include "cpu/static_inst.hh"
-//#include "mem/physical.hh"
#include "mem/port.hh"
#include "mem/translating_port.hh"
#include "sim/system.hh"
diff -r ef5fae93a3b2 -r f4de76601762 src/cpu/base.hh
--- a/src/cpu/base.hh Tue Sep 22 18:12:39 2009 -0700
+++ b/src/cpu/base.hh Wed Sep 23 08:34:21 2009 -0700
@@ -38,6 +38,7 @@
#include "arch/microcode_rom.hh"
#include "base/statistics.hh"
#include "config/full_system.hh"
+#include "config/the_isa.hh"
#include "sim/eventq.hh"
#include "sim/insttracer.hh"
#include "mem/mem_object.hh"
diff -r ef5fae93a3b2 -r f4de76601762 src/cpu/base_dyn_inst.hh
--- a/src/cpu/base_dyn_inst.hh Tue Sep 22 18:12:39 2009 -0700
+++ b/src/cpu/base_dyn_inst.hh Wed Sep 23 08:34:21 2009 -0700
@@ -39,6 +39,7 @@
#include "base/fast_alloc.hh"
#include "base/trace.hh"
#include "config/full_system.hh"
+#include "config/the_isa.hh"
#include "cpu/o3/comm.hh"
#include "cpu/exetrace.hh"
#include "cpu/inst_seq.hh"
diff -r ef5fae93a3b2 -r f4de76601762 src/cpu/base_dyn_inst_impl.hh
--- a/src/cpu/base_dyn_inst_impl.hh Tue Sep 22 18:12:39 2009 -0700
+++ b/src/cpu/base_dyn_inst_impl.hh Wed Sep 23 08:34:21 2009 -0700
@@ -35,12 +35,11 @@
#include "base/cprintf.hh"
#include "base/trace.hh"
-
-#include "sim/faults.hh"
+#include "config/the_isa.hh"
+#include "cpu/base_dyn_inst.hh"
#include "cpu/exetrace.hh"
#include "mem/request.hh"
-
-#include "cpu/base_dyn_inst.hh"
+#include "sim/faults.hh"
#define NOHASH
#ifndef NOHASH
diff -r ef5fae93a3b2 -r f4de76601762 src/cpu/checker/cpu_impl.hh
--- a/src/cpu/checker/cpu_impl.hh Tue Sep 22 18:12:39 2009 -0700
+++ b/src/cpu/checker/cpu_impl.hh Wed Sep 23 08:34:21 2009 -0700
@@ -32,6 +32,7 @@
#include <string>
#include "base/refcnt.hh"
+#include "config/the_isa.hh"
#include "cpu/base_dyn_inst.hh"
#include "cpu/checker/cpu.hh"
#include "cpu/simple_thread.hh"
diff -r ef5fae93a3b2 -r f4de76601762 src/cpu/checker/thread_context.hh
--- a/src/cpu/checker/thread_context.hh Tue Sep 22 18:12:39 2009 -0700
+++ b/src/cpu/checker/thread_context.hh Wed Sep 23 08:34:21 2009 -0700
@@ -32,6 +32,7 @@
#define __CPU_CHECKER_THREAD_CONTEXT_HH__
#include "arch/types.hh"
+#include "config/the_isa.hh"
#include "cpu/checker/cpu.hh"
#include "cpu/simple_thread.hh"
#include "cpu/thread_context.hh"
diff -r ef5fae93a3b2 -r f4de76601762 src/cpu/exetrace.cc
--- a/src/cpu/exetrace.cc Tue Sep 22 18:12:39 2009 -0700
+++ b/src/cpu/exetrace.cc Wed Sep 23 08:34:21 2009 -0700
@@ -38,6 +38,7 @@
#include "cpu/exetrace.hh"
#include "cpu/static_inst.hh"
#include "cpu/thread_context.hh"
+#include "config/the_isa.hh"
#include "enums/OpClass.hh"
using namespace std;
diff -r ef5fae93a3b2 -r f4de76601762 src/cpu/inorder/cpu.cc
--- a/src/cpu/inorder/cpu.cc Tue Sep 22 18:12:39 2009 -0700
+++ b/src/cpu/inorder/cpu.cc Wed Sep 23 08:34:21 2009 -0700
@@ -33,21 +33,22 @@
#include "arch/utility.hh"
#include "config/full_system.hh"
+#include "config/the_isa.hh"
+#include "cpu/activity.hh"
+#include "cpu/base.hh"
#include "cpu/exetrace.hh"
-#include "cpu/activity.hh"
+#include "cpu/inorder/cpu.hh"
+#include "cpu/inorder/first_stage.hh"
+#include "cpu/inorder/inorder_dyn_inst.hh"
+#include "cpu/inorder/pipeline_traits.hh"
+#include "cpu/inorder/resource_pool.hh"
+#include "cpu/inorder/resources/resource_list.hh"
+#include "cpu/inorder/thread_context.hh"
+#include "cpu/inorder/thread_state.hh"
#include "cpu/simple_thread.hh"
#include "cpu/thread_context.hh"
-#include "cpu/base.hh"
-#include "cpu/inorder/inorder_dyn_inst.hh"
-#include "cpu/inorder/thread_context.hh"
-#include "cpu/inorder/thread_state.hh"
-#include "cpu/inorder/cpu.hh"
+#include "mem/translating_port.hh"
#include "params/InOrderCPU.hh"
-#include "cpu/inorder/pipeline_traits.hh"
-#include "cpu/inorder/first_stage.hh"
-#include "cpu/inorder/resources/resource_list.hh"
-#include "cpu/inorder/resource_pool.hh"
-#include "mem/translating_port.hh"
#include "sim/process.hh"
#include "sim/stat_control.hh"
_______________________________________________
m5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/m5-dev