Compile fixes for SPARC_FS.
authorGabe Black <gblack@eecs.umich.edu>
Mon, 19 Mar 2007 03:09:51 +0000 (23:09 -0400)
committerGabe Black <gblack@eecs.umich.edu>
Mon, 19 Mar 2007 03:09:51 +0000 (23:09 -0400)
src/arch/alpha/predecoder.hh:
src/arch/sparc/predecoder.hh:
    Put in a missing include
src/cpu/exetrace.cc:
    Convert the legion lockstep stuff from makeExtMI to the predecoder object.

--HG--
extra : convert_revision : 91bad4466f8db1447fff8608fa46a5f236dc3a89

src/arch/alpha/predecoder.hh
src/arch/sparc/predecoder.hh
src/cpu/exetrace.cc

index 4e89f53a6fcdd5d6270fb38bf126ae86eddf9f26..650f2bfa27f1732240327cb2a663d27cb8a15053 100644 (file)
@@ -33,6 +33,7 @@
 
 #include "arch/alpha/types.hh"
 #include "base/misc.hh"
+#include "config/full_system.hh"
 #include "sim/host.hh"
 
 class ThreadContext;
index 71b14b0201e4372613eb09a7cc976fa9636d711d..4a8c9dc4ad3d19b5189386e917d0ecc7d388cf53 100644 (file)
@@ -33,6 +33,7 @@
 
 #include "arch/sparc/types.hh"
 #include "base/misc.hh"
+#include "cpu/thread_context.hh"
 #include "sim/host.hh"
 
 class ThreadContext;
index 54d8c68faa960e4b9c7c46b98a40af83a23c4ab3..20694b38fb33ce2af60313914870de99c194f048 100644 (file)
@@ -36,6 +36,7 @@
 #include <sys/ipc.h>
 #include <sys/shm.h>
 
+#include "arch/predecoder.hh"
 #include "arch/regfile.hh"
 #include "arch/utility.hh"
 #include "base/loader/symtab.hh"
@@ -302,6 +303,7 @@ Trace::InstRecord::dump()
         outs << endl;
     }
 #if THE_ISA == SPARC_ISA && FULL_SYSTEM
+    static TheISA::Predecoder predecoder(NULL);
     // Compare
     if (IsOn(ExecLegion))
     {
@@ -556,9 +558,13 @@ Trace::InstRecord::dump()
                              << staticInst->disassemble(m5Pc, debugSymbolTable)
                              << endl;
 
+                        predecoder.setTC(thread);
+                        predecoder.moreBytes(m5Pc, 0, shared_data->instruction);
+
+                        assert(predecoder.extMachInstRead());
+
                         StaticInstPtr legionInst =
-                            StaticInst::decode(makeExtMI(shared_data->instruction,
-                                        thread));
+                            StaticInst::decode(predecoder.getExtMachInst());
                         outs << setfill(' ') << setw(15)
                              << " Legion Inst: "
                              << "0x" << setw(8) << setfill('0') << hex