Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 41ddf978 authored by Avi Kivity's avatar Avi Kivity
Browse files

KVM: x86 emulator: simplify OpMem64 decode



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

Signed-off-by: default avatarAvi Kivity <avi@redhat.com>
Signed-off-by: default avatarMarcelo Tosatti <mtosatti@redhat.com>
parent 0fe59128
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -3361,10 +3361,6 @@ 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;
	mem_common:
		*op = ctxt->memop;
@@ -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;