summaryrefslogtreecommitdiff
path: root/src/arch
diff options
context:
space:
mode:
authorAli Saidi <saidi@eecs.umich.edu>2006-05-26 17:03:47 -0400
committerAli Saidi <saidi@eecs.umich.edu>2006-05-26 17:03:47 -0400
commitf456360bbcd6e4e4fd1550e96658934affac3eb9 (patch)
tree8d0062cf6097b02e46dc98b05c3f230cd15670b7 /src/arch
parent28ea9729427d2c994d54f0548f80afaeb221b88f (diff)
parent53510f184452c46868a9e6ece9ccb7f30ab70843 (diff)
downloadgem5-f456360bbcd6e4e4fd1550e96658934affac3eb9.tar.xz
Merge zeep.pool:/z/saidi/work/m5.newmem
into zeep.pool:/z/saidi/work/m5.newmem.head --HG-- extra : convert_revision : 1344e6a30073a1091a904593e6d4733baf19d7e2
Diffstat (limited to 'src/arch')
-rw-r--r--src/arch/SConscript2
-rw-r--r--src/arch/sparc/isa/formats/nop.isa23
2 files changed, 16 insertions, 9 deletions
diff --git a/src/arch/SConscript b/src/arch/SConscript
index 06b8e8dde..9c193207f 100644
--- a/src/arch/SConscript
+++ b/src/arch/SConscript
@@ -132,7 +132,7 @@ def isa_desc_emitter(target, source, env):
return (isa_desc_gen_files, [isa_parser, cpu_models_file] + source)
# Pieces are in place, so create the builder.
-isa_desc_builder = Builder(action='python $SOURCES $TARGET.dir $CPU_MODELS',
+isa_desc_builder = Builder(action='python2.4 $SOURCES $TARGET.dir $CPU_MODELS',
emitter = isa_desc_emitter)
env.Append(BUILDERS = { 'ISADesc' : isa_desc_builder })
diff --git a/src/arch/sparc/isa/formats/nop.isa b/src/arch/sparc/isa/formats/nop.isa
index 7fd1a3b21..37ef2e8d0 100644
--- a/src/arch/sparc/isa/formats/nop.isa
+++ b/src/arch/sparc/isa/formats/nop.isa
@@ -32,6 +32,16 @@
// Nop instruction
//
+// Per-cpu-model nop execute method.
+def template NopExec {{
+
+ Fault execute(%(CPU_exec_context)s *xc, Trace::InstRecord *traceData) const
+ {
+ // Nothing to see here, move along
+ return NoFault;
+ }
+}};
+
output header {{
/**
* Nop class.
@@ -46,14 +56,11 @@ output header {{
}
// All Nop instructions do the same thing, so this can be
- // defined here. Nops can be defined directly, so there needs
- // to be a default implementation
- Fault execute(%(CPU_exec_context)s *xc,
- Trace::InstRecord *traceData) const
- {
- //Nothing to see here, move along
- return NoFault;
- }
+ // defined here. Nops can be defined directly, so there
+ // needs to be a default implementation. Interpolate via
+ // template so i gets expanded to a set of
+ // cpu-model-specific functions.
+ %(NopExec)s
std::string generateDisassembly(Addr pc,
const SymbolTable *symtab) const;