summaryrefslogtreecommitdiff
path: root/src/arch/x86
diff options
context:
space:
mode:
Diffstat (limited to 'src/arch/x86')
-rw-r--r--src/arch/x86/decoder.hh13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/arch/x86/decoder.hh b/src/arch/x86/decoder.hh
index 6f55ab26f..ca7ef96fe 100644
--- a/src/arch/x86/decoder.hh
+++ b/src/arch/x86/decoder.hh
@@ -250,6 +250,19 @@ class Decoder
}
}
+ void takeOverFrom(Decoder *old)
+ {
+ mode = old->mode;
+ submode = old->submode;
+ emi.mode.mode = mode;
+ emi.mode.submode = submode;
+ altOp = old->altOp;
+ defOp = old->defOp;
+ altAddr = old->altAddr;
+ defAddr = old->defAddr;
+ stack = old->stack;
+ }
+
void reset()
{
state = ResetState;