X86: Implement the media floating point max instructions.
[gem5.git] / src / arch / x86 / emulenv.hh
index 66c56fb79a68c7ffe81dbbedf8b9e6c08bf8a0ed..bcefd4456992527d487d2fb1d4bd83ef3b05823d 100644 (file)
 #ifndef __ARCH_X86_EMULENV_HH__
 #define __ARCH_X86_EMULENV_HH__
 
-#include "arch/x86/types.hh"
 #include "arch/x86/intregs.hh"
+#include "arch/x86/segmentregs.hh"
+#include "arch/x86/registers.hh"
+#include "arch/x86/types.hh"
 
 namespace X86ISA
 {
@@ -67,6 +69,7 @@ namespace X86ISA
     {
         RegIndex reg;
         RegIndex regm;
+        SegmentRegIndex seg;
         uint8_t scale;
         RegIndex index;
         RegIndex base;
@@ -76,7 +79,7 @@ namespace X86ISA
 
         EmulEnv(RegIndex _reg, RegIndex _regm,
                 int _dataSize, int _addressSize, int _stackSize) :
-            reg(_reg), regm(_regm),
+            reg(_reg), regm(_regm), seg(SEGMENT_REG_DS),
             scale(0), index(NUM_INTREGS),
             base(NUM_INTREGS),
             dataSize(_dataSize), addressSize(_addressSize),
@@ -84,6 +87,7 @@ namespace X86ISA
         {;}
 
         void doModRM(const ExtMachInst & machInst);
+        void setSeg(const ExtMachInst & machInst);
     };
 };