Added stub implementations or prototypes for all the functions in this file.
authorGabe Black <gblack@eecs.umich.edu>
Mon, 5 Mar 2007 14:55:09 +0000 (14:55 +0000)
committerGabe Black <gblack@eecs.umich.edu>
Mon, 5 Mar 2007 14:55:09 +0000 (14:55 +0000)
--HG--
extra : convert_revision : c0170eae8aeae130f81618ae49a60f879c2b523f

src/arch/x86/utility.hh

index e898312ba36d3b15de7527ecf3769cb7c1f892ba..b110a1072a6dafd6d8ebff74605b459b96b63b02 100644 (file)
 #ifndef __ARCH_X86_UTILITY_HH__
 #define __ARCH_X86_UTILITY_HH__
 
-#error X86 is not yet supported!
+#include "arch/x86/types.hh"
+#include "base/misc.hh"
+
+class ThreadContext;
 
 namespace X86ISA
 {
+    static inline bool
+    inUserMode(ThreadContext *tc)
+    {
+        return false;
+    }
+
+    inline ExtMachInst
+    makeExtMI(MachInst inst, ThreadContext * xc) {
+        return inst;
+    }
+
+    inline bool isCallerSaveIntegerRegister(unsigned int reg) {
+        panic("register classification not implemented");
+        return false;
+    }
+
+    inline bool isCalleeSaveIntegerRegister(unsigned int reg) {
+        panic("register classification not implemented");
+        return false;
+    }
+
+    inline bool isCallerSaveFloatRegister(unsigned int reg) {
+        panic("register classification not implemented");
+        return false;
+    }
+
+    inline bool isCalleeSaveFloatRegister(unsigned int reg) {
+        panic("register classification not implemented");
+        return false;
+    }
+
+    // Instruction address compression hooks
+    inline Addr realPCToFetchPC(const Addr &addr)
+    {
+        return addr;
+    }
+
+    inline Addr fetchPCToRealPC(const Addr &addr)
+    {
+        return addr;
+    }
+
+    // the size of "fetched" instructions (not necessarily the size
+    // of real instructions for PISA)
+    inline size_t fetchInstSize()
+    {
+        return sizeof(MachInst);
+    }
+
+    /**
+     * Function to insure ISA semantics about 0 registers.
+     * @param tc The thread context.
+     */
+    template <class TC>
+    void zeroRegisters(TC *tc);
+
+    inline void initCPU(ThreadContext *tc, int cpuId)
+    {
+        panic("initCPU not implemented!\n");
+    }
 };
 
 #endif // __ARCH_X86_UTILITY_HH__