diff options
Diffstat (limited to 'src/arch/x86/predecoder.hh')
-rw-r--r-- | src/arch/x86/predecoder.hh | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/arch/x86/predecoder.hh b/src/arch/x86/predecoder.hh index a16ce6fb8..4893f1de9 100644 --- a/src/arch/x86/predecoder.hh +++ b/src/arch/x86/predecoder.hh @@ -61,6 +61,7 @@ #include <cassert> #include "arch/x86/types.hh" +#include "arch/x86/miscregs.hh" #include "base/bitfield.hh" #include "base/misc.hh" #include "base/trace.hh" @@ -91,10 +92,11 @@ namespace X86ISA int offset; //The extended machine instruction being generated ExtMachInst emi; + HandyM5Reg m5Reg; inline uint8_t getNextByte() { - return (fetchChunk >> (offset * 8)) & 0xff; + return ((uint8_t *)&fetchChunk)[offset]; } void getImmediate(int &collected, uint64_t ¤t, int size) @@ -182,6 +184,7 @@ namespace X86ISA { emi.mode.mode = LongMode; emi.mode.submode = SixtyFourBitMode; + m5Reg = 0; } void reset() |