first pass at merging m5 with linux
[gem5.git] / arch / alpha / isa_traits.hh
index d775056517888c370da516c843e7385f73511759..05ab8997812583dbd8e74ca6cd619a3c6fce2074 100644 (file)
 #ifndef __ISA_TRAITS_HH__
 #define __ISA_TRAITS_HH__
 
-#include "host.hh"
-#include "faults.hh"
-#include "misc.hh"
+#include "sim/host.hh"
+#include "targetarch/faults.hh"
+#include "base/misc.hh"
 
-class CPU;
-class IniFile;
+class FullCPU;
+class Checkpoint;
 
 #define TARGET_ALPHA
 
@@ -124,7 +124,7 @@ class AlphaISA
 
     typedef uint64_t InternalProcReg;
 
-#include "isa_fullsys_traits.hh"
+#include "targetarch/isa_fullsys_traits.hh"
 
 #else
     enum {
@@ -158,6 +158,9 @@ class AlphaISA
 #endif // FULL_SYSTEM
         // Are these architectural, or just for convenience?
         uint8_t opcode, ra;            // current instruction details (for intr's)
+
+        void serialize(std::ostream &os);
+        void unserialize(Checkpoint *cp, const std::string &section);
     };
 
     static StaticInstPtr<AlphaISA> decodeInst(MachInst);
@@ -168,13 +171,6 @@ class AlphaISA
         ITOUCH_ANNOTE = 0xffffffff,
     };
 
-#if 0
-    static inline Addr
-    extractInstructionPrefetchTarget(const MachInst &IR, Addr PC) {
-        return(0);
-    }
-#endif
-
     static inline bool isCallerSaveIntegerRegister(unsigned int reg) {
         panic("register classification not implemented");
         return (reg >= 1 && reg <= 8 || reg >= 22 && reg <= 25 || reg == 27);
@@ -229,10 +225,10 @@ class AlphaISA
                                   int regnum);
 
 #if 0
-    static void serializeSpecialRegs(const Serializeable::Proxy &proxy,
+    static void serializeSpecialRegs(const Serializable::Proxy &proxy,
                                      const RegFile &regs);
 
-    static void unserializeSpecialRegs(IniFile &db,
+    static void unserializeSpecialRegs(const IniFile *db,
                                        const std::string &category,
                                        ConfigNode *node,
                                        RegFile &regs);
@@ -268,6 +264,7 @@ const int ReturnValueReg = TheISA::ReturnValueReg;
 const int ArgumentReg0 = TheISA::ArgumentReg0;
 const int ArgumentReg1 = TheISA::ArgumentReg1;
 const int BranchPredAddrShiftAmt = TheISA::BranchPredAddrShiftAmt;
+const int MaxAddr = (Addr)-1;
 
 #ifdef FULL_SYSTEM
 typedef TheISA::InternalProcReg InternalProcReg;
@@ -276,7 +273,7 @@ const int NumInterruptLevels = TheISA::NumInterruptLevels;
 
 // more stuff that should be imported here, but I'm too tired to do it
 // right now...
-#include "ev5.hh"
+#include "targetarch/ev5.hh"
 #endif
 
 #endif // __ALPHA_ISA_H__