Use the same technique as the other OpMem variants, and goto mem_common.

Signed-off-by: Avi Kivity <[email protected]>
---
 arch/x86/kvm/emulate.c |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c
index e46809b..1c95935 100644
--- a/arch/x86/kvm/emulate.c
+++ b/arch/x86/kvm/emulate.c
@@ -3361,11 +3361,7 @@ static int decode_operand(struct x86_emulate_ctxt *ctxt, 
struct operand *op,
                rc = decode_imm(ctxt, op, 1, false);
                break;
        case OpMem:
-       case OpMem64:
-               if (d == OpMem64)
-                       ctxt->memop.bytes = 8;
-               else
-                       ctxt->memop.bytes = (ctxt->d & ByteOp) ? 1 : 
ctxt->op_bytes;
+               ctxt->memop.bytes = (ctxt->d & ByteOp) ? 1 : ctxt->op_bytes;
        mem_common:
                *op = ctxt->memop;
                ctxt->memopp = op;
@@ -3373,6 +3369,9 @@ static int decode_operand(struct x86_emulate_ctxt *ctxt, 
struct operand *op,
                        fetch_bit_operand(ctxt);
                op->orig_val = op->val;
                break;
+       case OpMem64:
+               ctxt->memop.bytes = 8;
+               goto mem_common;
        case OpAcc:
                op->type = OP_REG;
                op->bytes = (ctxt->d & ByteOp) ? 1 : ctxt->op_bytes;
-- 
1.7.6.1

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to